diff options
author | Peng Fan <peng.fan@nxp.com> | 2016-05-16 16:53:19 +0800 |
---|---|---|
committer | Peng Fan <peng.fan@nxp.com> | 2016-05-16 17:08:52 +0800 |
commit | e28beed75d8c501777f6eeadd127b1cb601115f8 (patch) | |
tree | e2c8ad43614c2c4c430c952d3373c1e3e3ec1e36 /board | |
parent | ef3d8525785af09e30218af0f3b6e4485634e348 (diff) | |
download | u-boot-imx-e28beed75d8c501777f6eeadd127b1cb601115f8.zip u-boot-imx-e28beed75d8c501777f6eeadd127b1cb601115f8.tar.gz u-boot-imx-e28beed75d8c501777f6eeadd127b1cb601115f8.tar.bz2 |
MLK-12800 imx: mx7dsabresd: support revC
Add revC board support.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 1f0bb3940876c9b0be6f3c5fc320dde81ced4d97)
Diffstat (limited to 'board')
-rw-r--r-- | board/freescale/mx7dsabresd/mx7dsabresd.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/board/freescale/mx7dsabresd/mx7dsabresd.c b/board/freescale/mx7dsabresd/mx7dsabresd.c index 42ca8c5..57a388e 100644 --- a/board/freescale/mx7dsabresd/mx7dsabresd.c +++ b/board/freescale/mx7dsabresd/mx7dsabresd.c @@ -277,6 +277,7 @@ void iox74lv_set(int index) gpio_direction_output(IOX_STCP, 1); }; +#define BOARD_REV_C 0x300 #define BOARD_REV_B 0x200 #define BOARD_REV_A 0x100 @@ -294,6 +295,9 @@ static int mx7sabre_rev(void) if (reg != 0) { switch (reg >> 8 & 0x0F) { + case 0x3: + ret = BOARD_REV_C; + break; case 0x02: ret = BOARD_REV_B; break; @@ -306,8 +310,10 @@ static int mx7sabre_rev(void) /* If the gp1 fuse is not burn, we have to use TO rev for the board rev */ if (0 == is_soc_rev(CHIP_REV_1_0)) ret = BOARD_REV_A; - else + else if (0 == is_soc_rev(CHIP_REV_1_1)) ret = BOARD_REV_B; + else + ret = BOARD_REV_C; } return ret; @@ -683,7 +689,7 @@ static void setup_iomux_fec(void) if (0 == CONFIG_FEC_ENET_DEV) { imx_iomux_v3_setup_multiple_pads(fec1_pads, ARRAY_SIZE(fec1_pads)); } else { - if (mx7sabre_rev() == BOARD_REV_B) { + if (mx7sabre_rev() >= BOARD_REV_B) { /* On RevB, GPIO1_IO04 is used for ENET2 EN, * so set its output to low to enable ENET2 signals */ @@ -990,7 +996,7 @@ int board_init(void) #endif #ifdef CONFIG_MXC_EPDC - if (mx7sabre_rev() == BOARD_REV_B) { + if (mx7sabre_rev() >= BOARD_REV_B) { /* On RevB, GPIO1_IO04 is used for ENET2 EN, * so set its output to high to isolate the ENET2 signals for EPDC */ @@ -1087,6 +1093,9 @@ int checkboard(void) char *revname; switch (rev) { + case BOARD_REV_C: + revname = "C"; + break; case BOARD_REV_B: revname = "B"; break; @@ -1123,7 +1132,7 @@ int board_ehci_hcd_init(int port) ARRAY_SIZE(usb_otg1_pads)); break; case 1: - if (mx7sabre_rev() == BOARD_REV_B) + if (mx7sabre_rev() >= BOARD_REV_B) imx_iomux_v3_setup_multiple_pads(usb_otg2_revB_pads, ARRAY_SIZE(usb_otg2_revB_pads)); else |