@ -41,6 +41,9 @@ DECLARE_GLOBAL_DATA_PTR;
# define I2C_PAD_CTRL (PAD_CTL_DSE_3P3V_32OHM | PAD_CTL_SRE_SLOW | \
PAD_CTL_HYS | PAD_CTL_PUE | PAD_CTL_PUS_PU100KOHM )
# define LCD_PAD_CTRL (PAD_CTL_HYS | PAD_CTL_PUS_PU100KOHM | \
PAD_CTL_DSE_3P3V_49OHM )
# ifdef CONFIG_SYS_I2C_MXC
# define PC MUX_PAD_CTRL(I2C_PAD_CTRL)
/* I2C1 for PMIC */
@ -190,6 +193,63 @@ static void iox74lv_init(void)
gpio_direction_output ( IOX_STCP , 1 ) ;
} ;
# ifdef CONFIG_VIDEO_MXS
static iomux_v3_cfg_t const lcd_pads [ ] = {
MX7D_PAD_LCD_CLK__LCD_CLK | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_ENABLE__LCD_ENABLE | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_HSYNC__LCD_HSYNC | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_VSYNC__LCD_VSYNC | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_DATA00__LCD_DATA0 | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_DATA01__LCD_DATA1 | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_DATA02__LCD_DATA2 | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_DATA03__LCD_DATA3 | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_DATA04__LCD_DATA4 | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_DATA05__LCD_DATA5 | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_DATA06__LCD_DATA6 | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_DATA07__LCD_DATA7 | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_DATA08__LCD_DATA8 | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_DATA09__LCD_DATA9 | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_DATA10__LCD_DATA10 | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_DATA11__LCD_DATA11 | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_DATA12__LCD_DATA12 | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_DATA13__LCD_DATA13 | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_DATA14__LCD_DATA14 | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_DATA15__LCD_DATA15 | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_DATA16__LCD_DATA16 | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_DATA17__LCD_DATA17 | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_DATA18__LCD_DATA18 | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_DATA19__LCD_DATA19 | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_DATA20__LCD_DATA20 | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_DATA21__LCD_DATA21 | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_DATA22__LCD_DATA22 | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_DATA23__LCD_DATA23 | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
MX7D_PAD_LCD_RESET__GPIO3_IO4 | MUX_PAD_CTRL ( LCD_PAD_CTRL ) ,
} ;
static iomux_v3_cfg_t const pwm_pads [ ] = {
/* Use GPIO for Brightness adjustment, duty cycle = period */
MX7D_PAD_GPIO1_IO01__GPIO1_IO1 | MUX_PAD_CTRL ( NO_PAD_CTRL ) ,
} ;
static int setup_lcd ( void )
{
imx_iomux_v3_setup_multiple_pads ( lcd_pads , ARRAY_SIZE ( lcd_pads ) ) ;
imx_iomux_v3_setup_multiple_pads ( pwm_pads , ARRAY_SIZE ( pwm_pads ) ) ;
/* Reset LCD */
gpio_direction_output ( IMX_GPIO_NR ( 3 , 4 ) , 0 ) ;
udelay ( 500 ) ;
gpio_direction_output ( IMX_GPIO_NR ( 3 , 4 ) , 1 ) ;
/* Set Brightness to high */
gpio_direction_output ( IMX_GPIO_NR ( 1 , 1 ) , 1 ) ;
return 0 ;
}
# endif
# ifdef CONFIG_FEC_MXC
static iomux_v3_cfg_t const fec1_pads [ ] = {
MX7D_PAD_ENET1_RGMII_RX_CTL__ENET1_RGMII_RX_CTL | MUX_PAD_CTRL ( ENET_RX_PAD_CTRL ) ,
@ -417,6 +477,10 @@ int board_init(void)
setup_fec ( ) ;
# endif
# ifdef CONFIG_VIDEO_MXS
setup_lcd ( ) ;
# endif
return 0 ;
}