Commit f375e5d525647031da28843d6a93f836e34a6f69
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 | } |