@ -400,7 +400,7 @@ int board_eth_init(bd_t *bis)
setup_iomux_enet ( ) ;
# ifdef CONFIG_FEC_MXC
if ( board_type ! = GW552x )
if ( board_type ! = GW551x & & board_type ! = GW55 2x )
cpu_eth_init ( bis ) ;
# endif
@ -679,6 +679,15 @@ static iomux_v3_cfg_t const gw54xx_gpio_pads[] = {
IOMUX_PADS ( PAD_DISP0_DAT23__GPIO5_IO17 | DIO_PAD_CFG ) ,
} ;
static iomux_v3_cfg_t const gw551x_gpio_pads [ ] = {
/* PANLED# */
IOMUX_PADS ( PAD_KEY_ROW0__GPIO4_IO07 | DIO_PAD_CFG ) ,
/* PCI_RST# */
IOMUX_PADS ( PAD_GPIO_0__GPIO1_IO00 | DIO_PAD_CFG ) ,
/* PCIESKT_WDIS# */
IOMUX_PADS ( PAD_GPIO_17__GPIO7_IO12 | DIO_PAD_CFG ) ,
} ;
static iomux_v3_cfg_t const gw552x_gpio_pads [ ] = {
/* PANLEDG# */
IOMUX_PADS ( PAD_KEY_COL0__GPIO4_IO06 | DIO_PAD_CFG ) ,
@ -720,6 +729,7 @@ struct ventana {
int num_pads ;
/* DIO pinmux/val */
struct dio_cfg dio_cfg [ 4 ] ;
int num_gpios ;
/* various gpios (0 if non-existent) */
int leds [ 3 ] ;
int pcie_rst ;
@ -765,6 +775,7 @@ static struct ventana gpio_cfg[] = {
4
} ,
} ,
. num_gpios = 4 ,
. leds = {
IMX_GPIO_NR ( 4 , 6 ) ,
IMX_GPIO_NR ( 4 , 10 ) ,
@ -808,6 +819,7 @@ static struct ventana gpio_cfg[] = {
4
} ,
} ,
. num_gpios = 4 ,
. leds = {
IMX_GPIO_NR ( 4 , 6 ) ,
IMX_GPIO_NR ( 4 , 10 ) ,
@ -850,6 +862,7 @@ static struct ventana gpio_cfg[] = {
0
} ,
} ,
. num_gpios = 4 ,
. leds = {
IMX_GPIO_NR ( 4 , 6 ) ,
IMX_GPIO_NR ( 4 , 7 ) ,
@ -894,6 +907,7 @@ static struct ventana gpio_cfg[] = {
0
} ,
} ,
. num_gpios = 4 ,
. leds = {
IMX_GPIO_NR ( 4 , 6 ) ,
IMX_GPIO_NR ( 4 , 7 ) ,
@ -937,6 +951,7 @@ static struct ventana gpio_cfg[] = {
4
} ,
} ,
. num_gpios = 4 ,
. leds = {
IMX_GPIO_NR ( 4 , 6 ) ,
IMX_GPIO_NR ( 4 , 7 ) ,
@ -952,10 +967,10 @@ static struct ventana gpio_cfg[] = {
. wdis = IMX_GPIO_NR ( 5 , 17 ) ,
} ,
/* GW552 x */
/* GW551 x */
{
. gpio_pads = gw552 x_gpio_pads ,
. num_pads = ARRAY_SIZE ( gw552 x_gpio_pads ) / 2 ,
. gpio_pads = gw551 x_gpio_pads ,
. num_pads = ARRAY_SIZE ( gw551 x_gpio_pads ) / 2 ,
. dio_cfg = {
{
{ IOMUX_PADS ( PAD_SD1_DAT0__GPIO1_IO16 ) } ,
@ -976,12 +991,39 @@ static struct ventana gpio_cfg[] = {
3
} ,
{
{ IOMUX_PADS ( PAD_SD1_CLK__GPIO1_IO20 ) } ,
IMX_GPIO_NR ( 2 , 10 ) ,
{ 0 , 0 } ,
0
{ IOMUX_PADS ( PAD_SD1_CMD__GPIO1_IO18 ) } ,
IMX_GPIO_NR ( 1 , 18 ) ,
{ IOMUX_PADS ( PAD_SD1_CMD__PWM4_OUT ) } ,
4
} ,
} ,
. num_gpios = 2 ,
. 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 = {
{
{ IOMUX_PADS ( PAD_SD1_DAT2__GPIO1_IO19 ) } ,
IMX_GPIO_NR ( 1 , 19 ) ,
{ IOMUX_PADS ( PAD_SD1_DAT2__PWM2_OUT ) } ,
2
} ,
{
{ IOMUX_PADS ( PAD_SD1_DAT1__GPIO1_IO17 ) } ,
IMX_GPIO_NR ( 1 , 17 ) ,
{ IOMUX_PADS ( PAD_SD1_DAT1__PWM3_OUT ) } ,
3
} ,
} ,
. num_gpios = 4 ,
. leds = {
IMX_GPIO_NR ( 4 , 6 ) ,
IMX_GPIO_NR ( 4 , 7 ) ,
@ -1138,6 +1180,8 @@ static void setup_board_gpio(int board)
iomux_v3_cfg_t ctrl = DIO_PAD_CFG ;
unsigned cputype = is_cpu_type ( MXC_CPU_MX6Q ) ? 0 : 1 ;
if ( ! cfg - > gpio_padmux [ 0 ] & & ! cfg - > gpio_padmux [ 1 ] )
continue ;
sprintf ( arg , " dio%d " , i ) ;
if ( ! hwconfig ( arg ) )
continue ;
@ -1430,7 +1474,7 @@ int misc_init_r(void)
sprintf ( fdt , " %s-%s.dtb " , cputype , str ) ;
setenv ( " fdt_file1 " , fdt ) ;
}
if ( board_type ! = GW552x )
if ( board_type ! = GW551x & & board_type ! = GW55 2x )
str [ 4 ] = ' x ' ;
str [ 5 ] = ' x ' ;
str [ 6 ] = 0 ;