summaryrefslogtreecommitdiff
path: root/board/freescale/mx7dsabresd/mx7dsabresd.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/freescale/mx7dsabresd/mx7dsabresd.c')
-rw-r--r--board/freescale/mx7dsabresd/mx7dsabresd.c17
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