Commit f375e5d525647031da28843d6a93f836e34a6f69

Authored by Patil, Rachna
Committed by Afzal Mohammed
1 parent b73951930a
Exists in master

ARM: OMAP: AM335x: Add support for Beta GP EVM.

This patch adds support for BETA EVM.
BETA EVM is set as the default configuration.
Since the peripherals were supported only in profile 0 for
alpha EVM, It makes use of the exisiting GP EVM structure.

This patch adds support for BETA EVM.
BETA EVM is set as the default configuration.
Since the peripherals were supported only in profile 0 for
alpha EVM, It makes use of the exisiting GP EVM structure.

Changes have been made to MMC and audio.

Flag gp_evm_revision can be used to differentiate between the
revisions of the GP EVM.

Signed-off-by: Patil, Rachna <rachna@ti.com>

Showing 1 changed file with 19 additions and 36 deletions Side-by-side Diff

arch/arm/mach-omap2/board-am335xevm.c
... ... @@ -293,6 +293,11 @@
293 293 static struct am335x_evm_eeprom_config config;
294 294 static bool daughter_brd_detected;
295 295  
  296 +#define GP_EVM_REV_IS_1_0A 0x1
  297 +#define GP_EVM_REV_IS_1_1A 0x2
  298 +#define GP_EVM_REV_IS_UNKNOWN 0xFF
  299 +static unsigned int gp_evm_revision = GP_EVM_REV_IS_UNKNOWN;
  300 +
296 301 #define EEPROM_MAC_ADDRESS_OFFSET 60 /* 4+8+4+12+32 */
297 302 #define EEPROM_NO_OF_MAC_ADDR 3
298 303 static char am335x_mac_addr[EEPROM_NO_OF_MAC_ADDR][ETH_ALEN];
299 304  
... ... @@ -549,28 +554,11 @@
549 554 {"gpmc_ad0.mmc1_dat0", OMAP_MUX_MODE1 | AM33XX_PIN_INPUT_PULLUP},
550 555 {"gpmc_csn1.mmc1_clk", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLUP},
551 556 {"gpmc_csn2.mmc1_cmd", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLUP},
552   - {"uart1_rxd.mmc1_sdwp", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT_PULLUP},
553   - {"mcasp0_fsx.mmc1_sdcd", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT_PULLUP},
  557 + {"gpmc_csn0.mmc1_sdwp", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT_PULLUP},
  558 + {"gpmc_advn_ale.mmc1_sdcd", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT_PULLUP},
554 559 {NULL, 0},
555 560 };
556 561  
557   -/* Module pin mux for mmc2 */
558   -static struct pinmux_config mmc2_pin_mux[] = {
559   - {"gpmc_ad11.mmc2_dat7", OMAP_MUX_MODE3 | AM33XX_PIN_INPUT_PULLUP},
560   - {"gpmc_ad10.mmc2_dat6", OMAP_MUX_MODE3 | AM33XX_PIN_INPUT_PULLUP},
561   - {"gpmc_ad9.mmc2_dat5", OMAP_MUX_MODE3 | AM33XX_PIN_INPUT_PULLUP},
562   - {"gpmc_ad8.mmc2_dat4", OMAP_MUX_MODE3 | AM33XX_PIN_INPUT_PULLUP},
563   - {"gpmc_ad15.mmc2_dat3", OMAP_MUX_MODE3 | AM33XX_PIN_INPUT_PULLUP},
564   - {"gpmc_ad14.mmc2_dat2", OMAP_MUX_MODE3 | AM33XX_PIN_INPUT_PULLUP},
565   - {"gpmc_ad13.mmc2_dat1", OMAP_MUX_MODE3 | AM33XX_PIN_INPUT_PULLUP},
566   - {"gpmc_ad12.mmc2_dat0", OMAP_MUX_MODE3 | AM33XX_PIN_INPUT_PULLUP},
567   - {"gpmc_clk.mmc2_clk", OMAP_MUX_MODE3 | AM33XX_PIN_INPUT_PULLUP},
568   - {"gpmc_csn3.mmc2_cmd", OMAP_MUX_MODE3 | AM33XX_PIN_INPUT_PULLUP},
569   - {"spi0_cs0.mmc2_sdwp", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT_PULLUP},
570   - {"mcasp0_axr0.mmc2_sdcd", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT_PULLUP},
571   - {NULL, 0},
572   -};
573   -
574 562 /* Module pin mux for uart3 */
575 563 static struct pinmux_config uart3_pin_mux[] = {
576 564 {"spi0_cs1.uart3_rxd", AM33XX_PIN_INPUT_PULLUP},
... ... @@ -957,20 +945,6 @@
957 945 return;
958 946 }
959 947  
960   -static void mmc2_init(int evm_id, int profile)
961   -{
962   - setup_pin_mux(mmc2_pin_mux);
963   -
964   - am335x_mmc[1].mmc = 3;
965   - am335x_mmc[1].caps = MMC_CAP_4_BIT_DATA;
966   - am335x_mmc[1].gpio_cd = GPIO_TO_PIN(3, 16);
967   - am335x_mmc[1].gpio_wp = GPIO_TO_PIN(0, 5);
968   - am335x_mmc[1].ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34; /* 3V3 */
969   -
970   - /* mmc will be initialized when mmc0_init is called */
971   - return;
972   -}
973   -
974 948 static void mmc2_wl12xx_init(int evm_id, int profile)
975 949 {
976 950 setup_pin_mux(mmc2_wl12xx_pin_mux);
977 951  
... ... @@ -1180,9 +1154,8 @@
1180 1154 {evm_nand_init, DEV_ON_DGHTR_BRD,
1181 1155 (PROFILE_ALL & ~PROFILE_2 & ~PROFILE_3)},
1182 1156 {i2c1_init, DEV_ON_DGHTR_BRD, (PROFILE_0 | PROFILE_3 | PROFILE_7)},
1183   - {mcasp1_init, DEV_ON_DGHTR_BRD, (PROFILE_0 | PROFILE_3) },
  1157 + {mcasp1_init, DEV_ON_DGHTR_BRD, (PROFILE_0 | PROFILE_3 | PROFILE_7) },
1184 1158 {mmc1_init, DEV_ON_DGHTR_BRD, PROFILE_2},
1185   - {mmc2_init, DEV_ON_DGHTR_BRD, PROFILE_4},
1186 1159 {mmc2_wl12xx_init, DEV_ON_BASEBOARD, (PROFILE_0 | PROFILE_3 |
1187 1160 PROFILE_5)},
1188 1161 {mmc0_init, DEV_ON_BASEBOARD, (PROFILE_ALL & ~PROFILE_5)},
1189 1162  
... ... @@ -1249,8 +1222,18 @@
1249 1222 static void setup_general_purpose_evm(void)
1250 1223 {
1251 1224 u32 prof_sel = am335x_get_profile_selection();
1252   -
1253 1225 pr_info("The board is general purpose EVM in profile %d\n", prof_sel);
  1226 +
  1227 + if (!strncmp("1.1A", config.version, 4)) {
  1228 + pr_info("EVM version is %s\n", config.version);
  1229 + gp_evm_revision = GP_EVM_REV_IS_1_1A;
  1230 + } else if (!strncmp("1.0A", config.version, 4)) {
  1231 + pr_info("EVM version is %s\n", config.version);
  1232 + gp_evm_revision = GP_EVM_REV_IS_1_0A;
  1233 + } else {
  1234 + pr_err("EVM version read fail, falling back to Rev1.1A");
  1235 + gp_evm_revision = GP_EVM_REV_IS_1_1A;
  1236 + }
1254 1237  
1255 1238 _configure_device(GEN_PURP_EVM, gen_purp_evm_dev_cfg, (1L << prof_sel));
1256 1239 }