imx: ventana: make SD3_VSELECT board specific

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
This commit is contained in:
Tim Harvey 2017-03-13 08:51:08 -07:00 committed by Stefano Babic
parent f938500f2c
commit f3a8546b8f
2 changed files with 18 additions and 14 deletions

View File

@ -143,12 +143,6 @@ void setup_ventana_i2c(void)
* Baseboard specific GPIO * Baseboard specific GPIO
*/ */
/* common to add baseboards */
static iomux_v3_cfg_t const gw_gpio_pads[] = {
/* SD3_VSELECT */
IOMUX_PADS(PAD_NANDF_CS1__GPIO6_IO14 | DIO_PAD_CFG),
};
/* prototype */ /* prototype */
static iomux_v3_cfg_t const gwproto_gpio_pads[] = { static iomux_v3_cfg_t const gwproto_gpio_pads[] = {
/* RS232_EN# */ /* RS232_EN# */
@ -196,6 +190,8 @@ static iomux_v3_cfg_t const gw51xx_gpio_pads[] = {
}; };
static iomux_v3_cfg_t const gw52xx_gpio_pads[] = { static iomux_v3_cfg_t const gw52xx_gpio_pads[] = {
/* SD3_VSELECT */
IOMUX_PADS(PAD_NANDF_CS1__GPIO6_IO14 | DIO_PAD_CFG),
/* RS232_EN# */ /* RS232_EN# */
IOMUX_PADS(PAD_SD4_DAT3__GPIO2_IO11 | DIO_PAD_CFG), IOMUX_PADS(PAD_SD4_DAT3__GPIO2_IO11 | DIO_PAD_CFG),
/* MSATA_EN */ /* MSATA_EN */
@ -229,6 +225,8 @@ static iomux_v3_cfg_t const gw52xx_gpio_pads[] = {
}; };
static iomux_v3_cfg_t const gw53xx_gpio_pads[] = { static iomux_v3_cfg_t const gw53xx_gpio_pads[] = {
/* SD3_VSELECT */
IOMUX_PADS(PAD_NANDF_CS1__GPIO6_IO14 | DIO_PAD_CFG),
/* RS232_EN# */ /* RS232_EN# */
IOMUX_PADS(PAD_SD4_DAT3__GPIO2_IO11 | DIO_PAD_CFG), IOMUX_PADS(PAD_SD4_DAT3__GPIO2_IO11 | DIO_PAD_CFG),
/* MSATA_EN */ /* MSATA_EN */
@ -262,6 +260,8 @@ static iomux_v3_cfg_t const gw53xx_gpio_pads[] = {
}; };
static iomux_v3_cfg_t const gw54xx_gpio_pads[] = { static iomux_v3_cfg_t const gw54xx_gpio_pads[] = {
/* SD3_VSELECT */
IOMUX_PADS(PAD_NANDF_CS1__GPIO6_IO14 | DIO_PAD_CFG),
/* RS232_EN# */ /* RS232_EN# */
IOMUX_PADS(PAD_SD4_DAT3__GPIO2_IO11 | DIO_PAD_CFG), IOMUX_PADS(PAD_SD4_DAT3__GPIO2_IO11 | DIO_PAD_CFG),
/* MSATA_EN */ /* MSATA_EN */
@ -338,11 +338,12 @@ static iomux_v3_cfg_t const gw552x_gpio_pads[] = {
}; };
static iomux_v3_cfg_t const gw553x_gpio_pads[] = { static iomux_v3_cfg_t const gw553x_gpio_pads[] = {
/* SD3_VSELECT */
IOMUX_PADS(PAD_NANDF_CS1__GPIO6_IO14 | DIO_PAD_CFG),
/* PANLEDG# */ /* PANLEDG# */
IOMUX_PADS(PAD_KEY_COL2__GPIO4_IO10 | DIO_PAD_CFG), IOMUX_PADS(PAD_KEY_COL2__GPIO4_IO10 | DIO_PAD_CFG),
/* PANLEDR# */ /* PANLEDR# */
IOMUX_PADS(PAD_KEY_ROW2__GPIO4_IO11 | DIO_PAD_CFG), IOMUX_PADS(PAD_KEY_ROW2__GPIO4_IO11 | DIO_PAD_CFG),
/* VID_PWR */ /* VID_PWR */
IOMUX_PADS(PAD_CSI0_DATA_EN__GPIO5_IO20 | DIO_PAD_CFG), IOMUX_PADS(PAD_CSI0_DATA_EN__GPIO5_IO20 | DIO_PAD_CFG),
/* PCI_RST# */ /* PCI_RST# */
@ -629,6 +630,7 @@ struct ventana gpio_cfg[GW_UNKNOWN] = {
.msata_en = GP_MSATA_SEL, .msata_en = GP_MSATA_SEL,
.rs232_en = GP_RS232_EN, .rs232_en = GP_RS232_EN,
.otgpwr_en = IMX_GPIO_NR(3, 22), .otgpwr_en = IMX_GPIO_NR(3, 22),
.vsel_pin = IMX_GPIO_NR(6, 14),
}, },
/* GW53xx */ /* GW53xx */
@ -651,6 +653,7 @@ struct ventana gpio_cfg[GW_UNKNOWN] = {
.msata_en = GP_MSATA_SEL, .msata_en = GP_MSATA_SEL,
.rs232_en = GP_RS232_EN, .rs232_en = GP_RS232_EN,
.otgpwr_en = IMX_GPIO_NR(3, 22), .otgpwr_en = IMX_GPIO_NR(3, 22),
.vsel_pin = IMX_GPIO_NR(6, 14),
}, },
/* GW54xx */ /* GW54xx */
@ -675,6 +678,7 @@ struct ventana gpio_cfg[GW_UNKNOWN] = {
.msata_en = GP_MSATA_SEL, .msata_en = GP_MSATA_SEL,
.rs232_en = GP_RS232_EN, .rs232_en = GP_RS232_EN,
.otgpwr_en = IMX_GPIO_NR(3, 22), .otgpwr_en = IMX_GPIO_NR(3, 22),
.vsel_pin = IMX_GPIO_NR(6, 14),
}, },
/* GW551x */ /* GW551x */
@ -721,6 +725,7 @@ struct ventana gpio_cfg[GW_UNKNOWN] = {
.vidin_en = IMX_GPIO_NR(5, 20), .vidin_en = IMX_GPIO_NR(5, 20),
.wdis = IMX_GPIO_NR(7, 12), .wdis = IMX_GPIO_NR(7, 12),
.otgpwr_en = IMX_GPIO_NR(3, 22), .otgpwr_en = IMX_GPIO_NR(3, 22),
.vsel_pin = IMX_GPIO_NR(6, 14),
}, },
}; };
@ -728,9 +733,6 @@ void setup_iomux_gpio(int board, struct ventana_board_info *info)
{ {
int i; int i;
/* iomux common to all Ventana boards */
SETUP_IOMUX_PADS(gw_gpio_pads);
if (board >= GW_UNKNOWN) if (board >= GW_UNKNOWN)
return; return;
@ -827,9 +829,11 @@ void setup_iomux_gpio(int board, struct ventana_board_info *info)
} }
/* sense vselect pin to see if we support uhs-i */ /* sense vselect pin to see if we support uhs-i */
gpio_request(GP_SD3_VSELECT, "sd3_vselect"); if (gpio_cfg[board].vsel_pin) {
gpio_direction_input(GP_SD3_VSELECT); gpio_request(gpio_cfg[board].vsel_pin, "sd3_vselect");
gpio_cfg[board].usd_vsel = !gpio_get_value(GP_SD3_VSELECT); gpio_direction_input(gpio_cfg[board].vsel_pin);
gpio_cfg[board].usd_vsel = !gpio_get_value(gpio_cfg[board].vsel_pin);
}
} }
/* setup GPIO pinmux and default configuration per baseboard and env */ /* setup GPIO pinmux and default configuration per baseboard and env */

View File

@ -16,7 +16,6 @@
#define GP_SD3_CD IMX_GPIO_NR(7, 0) #define GP_SD3_CD IMX_GPIO_NR(7, 0)
#define GP_RS232_EN IMX_GPIO_NR(2, 11) #define GP_RS232_EN IMX_GPIO_NR(2, 11)
#define GP_MSATA_SEL IMX_GPIO_NR(2, 8) #define GP_MSATA_SEL IMX_GPIO_NR(2, 8)
#define GP_SD3_VSELECT IMX_GPIO_NR(6, 14)
#define UART_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_PUE | \ #define UART_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_PUE | \
PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \ PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \
@ -79,6 +78,7 @@ struct ventana {
int msata_en; int msata_en;
int rs232_en; int rs232_en;
int otgpwr_en; int otgpwr_en;
int vsel_pin;
/* various features */ /* various features */
bool usd_vsel; bool usd_vsel;
}; };