imx: ventana: make number of digital I/O's dynamic
Replace the static list of board-specific digital I/O's with a dynamic list. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
This commit is contained in:
parent
e49621b357
commit
1800ffa83e
|
@ -338,60 +338,8 @@ static iomux_v3_cfg_t const gw553x_gpio_pads[] = {
|
||||||
IOMUX_PADS(PAD_GPIO_17__GPIO7_IO12 | DIO_PAD_CFG),
|
IOMUX_PADS(PAD_GPIO_17__GPIO7_IO12 | DIO_PAD_CFG),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Digital I/O */
|
||||||
/*
|
struct dio_cfg gw51xx_dio[] = {
|
||||||
* Board Specific GPIO
|
|
||||||
*/
|
|
||||||
struct ventana gpio_cfg[GW_UNKNOWN] = {
|
|
||||||
/* GW5400proto */
|
|
||||||
{
|
|
||||||
.gpio_pads = gw54xx_gpio_pads,
|
|
||||||
.num_pads = ARRAY_SIZE(gw54xx_gpio_pads)/2,
|
|
||||||
.dio_cfg = {
|
|
||||||
{
|
|
||||||
{ IOMUX_PADS(PAD_GPIO_9__GPIO1_IO09) },
|
|
||||||
IMX_GPIO_NR(1, 9),
|
|
||||||
{ IOMUX_PADS(PAD_GPIO_9__PWM1_OUT) },
|
|
||||||
1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
{ IOMUX_PADS(PAD_SD1_DAT2__GPIO1_IO19) },
|
|
||||||
IMX_GPIO_NR(1, 19),
|
|
||||||
{ IOMUX_PADS(PAD_SD1_DAT2__PWM2_OUT) },
|
|
||||||
2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
{ IOMUX_PADS(PAD_SD4_DAT1__GPIO2_IO09) },
|
|
||||||
IMX_GPIO_NR(2, 9),
|
|
||||||
{ IOMUX_PADS(PAD_SD4_DAT1__PWM3_OUT) },
|
|
||||||
3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
{ IOMUX_PADS(PAD_SD4_DAT2__GPIO2_IO10) },
|
|
||||||
IMX_GPIO_NR(2, 10),
|
|
||||||
{ IOMUX_PADS(PAD_SD4_DAT2__PWM4_OUT) },
|
|
||||||
4
|
|
||||||
},
|
|
||||||
},
|
|
||||||
.num_gpios = 4,
|
|
||||||
.leds = {
|
|
||||||
IMX_GPIO_NR(4, 6),
|
|
||||||
IMX_GPIO_NR(4, 10),
|
|
||||||
IMX_GPIO_NR(4, 15),
|
|
||||||
},
|
|
||||||
.pcie_rst = IMX_GPIO_NR(1, 29),
|
|
||||||
.mezz_pwren = IMX_GPIO_NR(4, 7),
|
|
||||||
.mezz_irq = IMX_GPIO_NR(4, 9),
|
|
||||||
.rs485en = IMX_GPIO_NR(3, 24),
|
|
||||||
.dioi2c_en = IMX_GPIO_NR(4, 5),
|
|
||||||
.pcie_sson = IMX_GPIO_NR(1, 20),
|
|
||||||
},
|
|
||||||
|
|
||||||
/* GW51xx */
|
|
||||||
{
|
|
||||||
.gpio_pads = gw51xx_gpio_pads,
|
|
||||||
.num_pads = ARRAY_SIZE(gw51xx_gpio_pads)/2,
|
|
||||||
.dio_cfg = {
|
|
||||||
{
|
{
|
||||||
{ IOMUX_PADS(PAD_SD1_DAT0__GPIO1_IO16) },
|
{ IOMUX_PADS(PAD_SD1_DAT0__GPIO1_IO16) },
|
||||||
IMX_GPIO_NR(1, 16),
|
IMX_GPIO_NR(1, 16),
|
||||||
|
@ -416,25 +364,9 @@ struct ventana gpio_cfg[GW_UNKNOWN] = {
|
||||||
{ IOMUX_PADS(PAD_SD1_CMD__PWM4_OUT) },
|
{ IOMUX_PADS(PAD_SD1_CMD__PWM4_OUT) },
|
||||||
4
|
4
|
||||||
},
|
},
|
||||||
},
|
};
|
||||||
.num_gpios = 4,
|
|
||||||
.leds = {
|
|
||||||
IMX_GPIO_NR(4, 6),
|
|
||||||
IMX_GPIO_NR(4, 10),
|
|
||||||
},
|
|
||||||
.pcie_rst = IMX_GPIO_NR(1, 0),
|
|
||||||
.mezz_pwren = IMX_GPIO_NR(2, 19),
|
|
||||||
.mezz_irq = IMX_GPIO_NR(2, 18),
|
|
||||||
.gps_shdn = IMX_GPIO_NR(1, 2),
|
|
||||||
.vidin_en = IMX_GPIO_NR(5, 20),
|
|
||||||
.wdis = IMX_GPIO_NR(7, 12),
|
|
||||||
},
|
|
||||||
|
|
||||||
/* GW52xx */
|
struct dio_cfg gw52xx_dio[] = {
|
||||||
{
|
|
||||||
.gpio_pads = gw52xx_gpio_pads,
|
|
||||||
.num_pads = ARRAY_SIZE(gw52xx_gpio_pads)/2,
|
|
||||||
.dio_cfg = {
|
|
||||||
{
|
{
|
||||||
{ IOMUX_PADS(PAD_SD1_DAT0__GPIO1_IO16) },
|
{ IOMUX_PADS(PAD_SD1_DAT0__GPIO1_IO16) },
|
||||||
IMX_GPIO_NR(1, 16),
|
IMX_GPIO_NR(1, 16),
|
||||||
|
@ -459,29 +391,9 @@ struct ventana gpio_cfg[GW_UNKNOWN] = {
|
||||||
{ 0, 0 },
|
{ 0, 0 },
|
||||||
0
|
0
|
||||||
},
|
},
|
||||||
},
|
};
|
||||||
.num_gpios = 4,
|
|
||||||
.leds = {
|
|
||||||
IMX_GPIO_NR(4, 6),
|
|
||||||
IMX_GPIO_NR(4, 7),
|
|
||||||
IMX_GPIO_NR(4, 15),
|
|
||||||
},
|
|
||||||
.pcie_rst = IMX_GPIO_NR(1, 29),
|
|
||||||
.mezz_pwren = IMX_GPIO_NR(2, 19),
|
|
||||||
.mezz_irq = IMX_GPIO_NR(2, 18),
|
|
||||||
.gps_shdn = IMX_GPIO_NR(1, 27),
|
|
||||||
.vidin_en = IMX_GPIO_NR(3, 31),
|
|
||||||
.usb_sel = IMX_GPIO_NR(1, 2),
|
|
||||||
.wdis = IMX_GPIO_NR(7, 12),
|
|
||||||
.msata_en = GP_MSATA_SEL,
|
|
||||||
.rs232_en = GP_RS232_EN,
|
|
||||||
},
|
|
||||||
|
|
||||||
/* GW53xx */
|
struct dio_cfg gw53xx_dio[] = {
|
||||||
{
|
|
||||||
.gpio_pads = gw53xx_gpio_pads,
|
|
||||||
.num_pads = ARRAY_SIZE(gw53xx_gpio_pads)/2,
|
|
||||||
.dio_cfg = {
|
|
||||||
{
|
{
|
||||||
{ IOMUX_PADS(PAD_SD1_DAT0__GPIO1_IO16) },
|
{ IOMUX_PADS(PAD_SD1_DAT0__GPIO1_IO16) },
|
||||||
IMX_GPIO_NR(1, 16),
|
IMX_GPIO_NR(1, 16),
|
||||||
|
@ -506,28 +418,9 @@ struct ventana gpio_cfg[GW_UNKNOWN] = {
|
||||||
{ 0, 0 },
|
{ 0, 0 },
|
||||||
0
|
0
|
||||||
},
|
},
|
||||||
},
|
};
|
||||||
.num_gpios = 4,
|
|
||||||
.leds = {
|
|
||||||
IMX_GPIO_NR(4, 6),
|
|
||||||
IMX_GPIO_NR(4, 7),
|
|
||||||
IMX_GPIO_NR(4, 15),
|
|
||||||
},
|
|
||||||
.pcie_rst = IMX_GPIO_NR(1, 29),
|
|
||||||
.mezz_pwren = IMX_GPIO_NR(2, 19),
|
|
||||||
.mezz_irq = IMX_GPIO_NR(2, 18),
|
|
||||||
.gps_shdn = IMX_GPIO_NR(1, 27),
|
|
||||||
.vidin_en = IMX_GPIO_NR(3, 31),
|
|
||||||
.wdis = IMX_GPIO_NR(7, 12),
|
|
||||||
.msata_en = GP_MSATA_SEL,
|
|
||||||
.rs232_en = GP_RS232_EN,
|
|
||||||
},
|
|
||||||
|
|
||||||
/* GW54xx */
|
struct dio_cfg gw54xx_dio[] = {
|
||||||
{
|
|
||||||
.gpio_pads = gw54xx_gpio_pads,
|
|
||||||
.num_pads = ARRAY_SIZE(gw54xx_gpio_pads)/2,
|
|
||||||
.dio_cfg = {
|
|
||||||
{
|
{
|
||||||
{ IOMUX_PADS(PAD_GPIO_9__GPIO1_IO09) },
|
{ IOMUX_PADS(PAD_GPIO_9__GPIO1_IO09) },
|
||||||
IMX_GPIO_NR(1, 9),
|
IMX_GPIO_NR(1, 9),
|
||||||
|
@ -552,30 +445,9 @@ struct ventana gpio_cfg[GW_UNKNOWN] = {
|
||||||
{ IOMUX_PADS(PAD_SD4_DAT2__PWM4_OUT) },
|
{ IOMUX_PADS(PAD_SD4_DAT2__PWM4_OUT) },
|
||||||
4
|
4
|
||||||
},
|
},
|
||||||
},
|
};
|
||||||
.num_gpios = 4,
|
|
||||||
.leds = {
|
|
||||||
IMX_GPIO_NR(4, 6),
|
|
||||||
IMX_GPIO_NR(4, 7),
|
|
||||||
IMX_GPIO_NR(4, 15),
|
|
||||||
},
|
|
||||||
.pcie_rst = IMX_GPIO_NR(1, 29),
|
|
||||||
.mezz_pwren = IMX_GPIO_NR(2, 19),
|
|
||||||
.mezz_irq = IMX_GPIO_NR(2, 18),
|
|
||||||
.rs485en = IMX_GPIO_NR(7, 1),
|
|
||||||
.vidin_en = IMX_GPIO_NR(3, 31),
|
|
||||||
.dioi2c_en = IMX_GPIO_NR(4, 5),
|
|
||||||
.pcie_sson = IMX_GPIO_NR(1, 20),
|
|
||||||
.wdis = IMX_GPIO_NR(5, 17),
|
|
||||||
.msata_en = GP_MSATA_SEL,
|
|
||||||
.rs232_en = GP_RS232_EN,
|
|
||||||
},
|
|
||||||
|
|
||||||
/* GW551x */
|
struct dio_cfg gw551x_dio[] = {
|
||||||
{
|
|
||||||
.gpio_pads = gw551x_gpio_pads,
|
|
||||||
.num_pads = ARRAY_SIZE(gw551x_gpio_pads)/2,
|
|
||||||
.dio_cfg = {
|
|
||||||
{
|
{
|
||||||
{ IOMUX_PADS(PAD_SD1_DAT2__GPIO1_IO19) },
|
{ IOMUX_PADS(PAD_SD1_DAT2__GPIO1_IO19) },
|
||||||
IMX_GPIO_NR(1, 19),
|
IMX_GPIO_NR(1, 19),
|
||||||
|
@ -588,20 +460,9 @@ struct ventana gpio_cfg[GW_UNKNOWN] = {
|
||||||
{ IOMUX_PADS(PAD_SD1_DAT1__PWM3_OUT) },
|
{ IOMUX_PADS(PAD_SD1_DAT1__PWM3_OUT) },
|
||||||
3
|
3
|
||||||
},
|
},
|
||||||
},
|
};
|
||||||
.num_gpios = 2,
|
|
||||||
.leds = {
|
|
||||||
IMX_GPIO_NR(4, 7),
|
|
||||||
},
|
|
||||||
.pcie_rst = IMX_GPIO_NR(1, 0),
|
|
||||||
.wdis = IMX_GPIO_NR(7, 12),
|
|
||||||
},
|
|
||||||
|
|
||||||
/* GW552x */
|
struct dio_cfg gw552x_dio[] = {
|
||||||
{
|
|
||||||
.gpio_pads = gw552x_gpio_pads,
|
|
||||||
.num_pads = ARRAY_SIZE(gw552x_gpio_pads)/2,
|
|
||||||
.dio_cfg = {
|
|
||||||
{
|
{
|
||||||
{ IOMUX_PADS(PAD_SD1_DAT0__GPIO1_IO16) },
|
{ IOMUX_PADS(PAD_SD1_DAT0__GPIO1_IO16) },
|
||||||
IMX_GPIO_NR(1, 16),
|
IMX_GPIO_NR(1, 16),
|
||||||
|
@ -626,24 +487,9 @@ struct ventana gpio_cfg[GW_UNKNOWN] = {
|
||||||
{ 0, 0 },
|
{ 0, 0 },
|
||||||
0
|
0
|
||||||
},
|
},
|
||||||
},
|
};
|
||||||
.num_gpios = 4,
|
|
||||||
.leds = {
|
|
||||||
IMX_GPIO_NR(4, 6),
|
|
||||||
IMX_GPIO_NR(4, 7),
|
|
||||||
IMX_GPIO_NR(4, 15),
|
|
||||||
},
|
|
||||||
.pcie_rst = IMX_GPIO_NR(1, 29),
|
|
||||||
.usb_sel = IMX_GPIO_NR(1, 7),
|
|
||||||
.wdis = IMX_GPIO_NR(7, 12),
|
|
||||||
.msata_en = GP_MSATA_SEL,
|
|
||||||
},
|
|
||||||
|
|
||||||
/* GW553x */
|
struct dio_cfg gw553x_dio[] = {
|
||||||
{
|
|
||||||
.gpio_pads = gw553x_gpio_pads,
|
|
||||||
.num_pads = ARRAY_SIZE(gw553x_gpio_pads)/2,
|
|
||||||
.dio_cfg = {
|
|
||||||
{
|
{
|
||||||
{ IOMUX_PADS(PAD_SD1_DAT0__GPIO1_IO16) },
|
{ IOMUX_PADS(PAD_SD1_DAT0__GPIO1_IO16) },
|
||||||
IMX_GPIO_NR(1, 16),
|
IMX_GPIO_NR(1, 16),
|
||||||
|
@ -668,8 +514,151 @@ struct ventana gpio_cfg[GW_UNKNOWN] = {
|
||||||
{ IOMUX_PADS(PAD_SD1_CMD__PWM4_OUT) },
|
{ IOMUX_PADS(PAD_SD1_CMD__PWM4_OUT) },
|
||||||
4
|
4
|
||||||
},
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Board Specific GPIO
|
||||||
|
*/
|
||||||
|
struct ventana gpio_cfg[GW_UNKNOWN] = {
|
||||||
|
/* GW5400proto */
|
||||||
|
{
|
||||||
|
.gpio_pads = gw54xx_gpio_pads,
|
||||||
|
.num_pads = ARRAY_SIZE(gw54xx_gpio_pads)/2,
|
||||||
|
.dio_cfg = gw54xx_dio,
|
||||||
|
.dio_num = ARRAY_SIZE(gw54xx_dio),
|
||||||
|
.leds = {
|
||||||
|
IMX_GPIO_NR(4, 6),
|
||||||
|
IMX_GPIO_NR(4, 10),
|
||||||
|
IMX_GPIO_NR(4, 15),
|
||||||
},
|
},
|
||||||
.num_gpios = 4,
|
.pcie_rst = IMX_GPIO_NR(1, 29),
|
||||||
|
.mezz_pwren = IMX_GPIO_NR(4, 7),
|
||||||
|
.mezz_irq = IMX_GPIO_NR(4, 9),
|
||||||
|
.rs485en = IMX_GPIO_NR(3, 24),
|
||||||
|
.dioi2c_en = IMX_GPIO_NR(4, 5),
|
||||||
|
.pcie_sson = IMX_GPIO_NR(1, 20),
|
||||||
|
},
|
||||||
|
|
||||||
|
/* GW51xx */
|
||||||
|
{
|
||||||
|
.gpio_pads = gw51xx_gpio_pads,
|
||||||
|
.num_pads = ARRAY_SIZE(gw51xx_gpio_pads)/2,
|
||||||
|
.dio_cfg = gw51xx_dio,
|
||||||
|
.dio_num = ARRAY_SIZE(gw51xx_dio),
|
||||||
|
.leds = {
|
||||||
|
IMX_GPIO_NR(4, 6),
|
||||||
|
IMX_GPIO_NR(4, 10),
|
||||||
|
},
|
||||||
|
.pcie_rst = IMX_GPIO_NR(1, 0),
|
||||||
|
.mezz_pwren = IMX_GPIO_NR(2, 19),
|
||||||
|
.mezz_irq = IMX_GPIO_NR(2, 18),
|
||||||
|
.gps_shdn = IMX_GPIO_NR(1, 2),
|
||||||
|
.vidin_en = IMX_GPIO_NR(5, 20),
|
||||||
|
.wdis = IMX_GPIO_NR(7, 12),
|
||||||
|
},
|
||||||
|
|
||||||
|
/* GW52xx */
|
||||||
|
{
|
||||||
|
.gpio_pads = gw52xx_gpio_pads,
|
||||||
|
.num_pads = ARRAY_SIZE(gw52xx_gpio_pads)/2,
|
||||||
|
.dio_cfg = gw52xx_dio,
|
||||||
|
.dio_num = ARRAY_SIZE(gw52xx_dio),
|
||||||
|
.leds = {
|
||||||
|
IMX_GPIO_NR(4, 6),
|
||||||
|
IMX_GPIO_NR(4, 7),
|
||||||
|
IMX_GPIO_NR(4, 15),
|
||||||
|
},
|
||||||
|
.pcie_rst = IMX_GPIO_NR(1, 29),
|
||||||
|
.mezz_pwren = IMX_GPIO_NR(2, 19),
|
||||||
|
.mezz_irq = IMX_GPIO_NR(2, 18),
|
||||||
|
.gps_shdn = IMX_GPIO_NR(1, 27),
|
||||||
|
.vidin_en = IMX_GPIO_NR(3, 31),
|
||||||
|
.usb_sel = IMX_GPIO_NR(1, 2),
|
||||||
|
.wdis = IMX_GPIO_NR(7, 12),
|
||||||
|
.msata_en = GP_MSATA_SEL,
|
||||||
|
.rs232_en = GP_RS232_EN,
|
||||||
|
},
|
||||||
|
|
||||||
|
/* GW53xx */
|
||||||
|
{
|
||||||
|
.gpio_pads = gw53xx_gpio_pads,
|
||||||
|
.num_pads = ARRAY_SIZE(gw53xx_gpio_pads)/2,
|
||||||
|
.dio_cfg = gw53xx_dio,
|
||||||
|
.dio_num = ARRAY_SIZE(gw53xx_dio),
|
||||||
|
.leds = {
|
||||||
|
IMX_GPIO_NR(4, 6),
|
||||||
|
IMX_GPIO_NR(4, 7),
|
||||||
|
IMX_GPIO_NR(4, 15),
|
||||||
|
},
|
||||||
|
.pcie_rst = IMX_GPIO_NR(1, 29),
|
||||||
|
.mezz_pwren = IMX_GPIO_NR(2, 19),
|
||||||
|
.mezz_irq = IMX_GPIO_NR(2, 18),
|
||||||
|
.gps_shdn = IMX_GPIO_NR(1, 27),
|
||||||
|
.vidin_en = IMX_GPIO_NR(3, 31),
|
||||||
|
.wdis = IMX_GPIO_NR(7, 12),
|
||||||
|
.msata_en = GP_MSATA_SEL,
|
||||||
|
.rs232_en = GP_RS232_EN,
|
||||||
|
},
|
||||||
|
|
||||||
|
/* GW54xx */
|
||||||
|
{
|
||||||
|
.gpio_pads = gw54xx_gpio_pads,
|
||||||
|
.num_pads = ARRAY_SIZE(gw54xx_gpio_pads)/2,
|
||||||
|
.dio_cfg = gw54xx_dio,
|
||||||
|
.dio_num = ARRAY_SIZE(gw54xx_dio),
|
||||||
|
.leds = {
|
||||||
|
IMX_GPIO_NR(4, 6),
|
||||||
|
IMX_GPIO_NR(4, 7),
|
||||||
|
IMX_GPIO_NR(4, 15),
|
||||||
|
},
|
||||||
|
.pcie_rst = IMX_GPIO_NR(1, 29),
|
||||||
|
.mezz_pwren = IMX_GPIO_NR(2, 19),
|
||||||
|
.mezz_irq = IMX_GPIO_NR(2, 18),
|
||||||
|
.rs485en = IMX_GPIO_NR(7, 1),
|
||||||
|
.vidin_en = IMX_GPIO_NR(3, 31),
|
||||||
|
.dioi2c_en = IMX_GPIO_NR(4, 5),
|
||||||
|
.pcie_sson = IMX_GPIO_NR(1, 20),
|
||||||
|
.wdis = IMX_GPIO_NR(5, 17),
|
||||||
|
.msata_en = GP_MSATA_SEL,
|
||||||
|
.rs232_en = GP_RS232_EN,
|
||||||
|
},
|
||||||
|
|
||||||
|
/* GW551x */
|
||||||
|
{
|
||||||
|
.gpio_pads = gw551x_gpio_pads,
|
||||||
|
.num_pads = ARRAY_SIZE(gw551x_gpio_pads)/2,
|
||||||
|
.dio_cfg = gw551x_dio,
|
||||||
|
.dio_num = ARRAY_SIZE(gw551x_dio),
|
||||||
|
.leds = {
|
||||||
|
IMX_GPIO_NR(4, 7),
|
||||||
|
},
|
||||||
|
.pcie_rst = IMX_GPIO_NR(1, 0),
|
||||||
|
.wdis = IMX_GPIO_NR(7, 12),
|
||||||
|
},
|
||||||
|
|
||||||
|
/* GW552x */
|
||||||
|
{
|
||||||
|
.gpio_pads = gw552x_gpio_pads,
|
||||||
|
.num_pads = ARRAY_SIZE(gw552x_gpio_pads)/2,
|
||||||
|
.dio_cfg = gw552x_dio,
|
||||||
|
.dio_num = ARRAY_SIZE(gw552x_dio),
|
||||||
|
.leds = {
|
||||||
|
IMX_GPIO_NR(4, 6),
|
||||||
|
IMX_GPIO_NR(4, 7),
|
||||||
|
IMX_GPIO_NR(4, 15),
|
||||||
|
},
|
||||||
|
.pcie_rst = IMX_GPIO_NR(1, 29),
|
||||||
|
.usb_sel = IMX_GPIO_NR(1, 7),
|
||||||
|
.wdis = IMX_GPIO_NR(7, 12),
|
||||||
|
.msata_en = GP_MSATA_SEL,
|
||||||
|
},
|
||||||
|
|
||||||
|
/* GW553x */
|
||||||
|
{
|
||||||
|
.gpio_pads = gw553x_gpio_pads,
|
||||||
|
.num_pads = ARRAY_SIZE(gw553x_gpio_pads)/2,
|
||||||
|
.dio_cfg = gw553x_dio,
|
||||||
|
.dio_num = ARRAY_SIZE(gw553x_dio),
|
||||||
.leds = {
|
.leds = {
|
||||||
IMX_GPIO_NR(4, 10),
|
IMX_GPIO_NR(4, 10),
|
||||||
IMX_GPIO_NR(4, 11),
|
IMX_GPIO_NR(4, 11),
|
||||||
|
@ -820,7 +809,7 @@ void setup_board_gpio(int board, struct ventana_board_info *info)
|
||||||
* Configure DIO pinmux/padctl registers
|
* Configure DIO pinmux/padctl registers
|
||||||
* see IMX6DQRM/IMX6SDLRM IOMUXC_SW_PAD_CTL_PAD_* register definitions
|
* see IMX6DQRM/IMX6SDLRM IOMUXC_SW_PAD_CTL_PAD_* register definitions
|
||||||
*/
|
*/
|
||||||
for (i = 0; i < gpio_cfg[board].num_gpios; i++) {
|
for (i = 0; i < gpio_cfg[board].dio_num; i++) {
|
||||||
struct dio_cfg *cfg = &gpio_cfg[board].dio_cfg[i];
|
struct dio_cfg *cfg = &gpio_cfg[board].dio_cfg[i];
|
||||||
iomux_v3_cfg_t ctrl = DIO_PAD_CFG;
|
iomux_v3_cfg_t ctrl = DIO_PAD_CFG;
|
||||||
unsigned cputype = is_cpu_type(MXC_CPU_MX6Q) ? 0 : 1;
|
unsigned cputype = is_cpu_type(MXC_CPU_MX6Q) ? 0 : 1;
|
||||||
|
|
|
@ -48,8 +48,8 @@
|
||||||
#define PC MUX_PAD_CTRL(I2C_PAD_CTRL)
|
#define PC MUX_PAD_CTRL(I2C_PAD_CTRL)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* each baseboard has 4 user configurable Digital IO lines which can
|
* each baseboard has an optional set user configurable Digital IO lines which
|
||||||
* be pinmuxed as a GPIO or in some cases a PWM
|
* can be pinmuxed as a GPIO or in some cases a PWM
|
||||||
*/
|
*/
|
||||||
struct dio_cfg {
|
struct dio_cfg {
|
||||||
iomux_v3_cfg_t gpio_padmux[2];
|
iomux_v3_cfg_t gpio_padmux[2];
|
||||||
|
@ -63,8 +63,8 @@ struct ventana {
|
||||||
iomux_v3_cfg_t const *gpio_pads;
|
iomux_v3_cfg_t const *gpio_pads;
|
||||||
int num_pads;
|
int num_pads;
|
||||||
/* DIO pinmux/val */
|
/* DIO pinmux/val */
|
||||||
struct dio_cfg dio_cfg[4];
|
struct dio_cfg *dio_cfg;
|
||||||
int num_gpios;
|
int dio_num;
|
||||||
/* various gpios (0 if non-existent) */
|
/* various gpios (0 if non-existent) */
|
||||||
int leds[3];
|
int leds[3];
|
||||||
int pcie_rst;
|
int pcie_rst;
|
||||||
|
|
|
@ -1209,7 +1209,7 @@ int ft_board_setup(void *blob, bd_t *bd)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Configure DIO */
|
/* Configure DIO */
|
||||||
for (i = 0; i < gpio_cfg[board_type].num_gpios; i++) {
|
for (i = 0; i < gpio_cfg[board_type].dio_num; i++) {
|
||||||
struct dio_cfg *cfg = &gpio_cfg[board_type].dio_cfg[i];
|
struct dio_cfg *cfg = &gpio_cfg[board_type].dio_cfg[i];
|
||||||
char arg[10];
|
char arg[10];
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue