@ -30,21 +30,21 @@ DECLARE_GLOBAL_DATA_PTR;
# define GPMI_PAD_CTRL2 (GPMI_PAD_CTRL0 | GPMI_PAD_CTRL1)
static iomux_v3_cfg_t const nand_pads [ ] = {
MX6 _PAD_NAND_DATA00__RAWNAND_DATA00 | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ,
MX6 _PAD_NAND_DATA01__RAWNAND_DATA01 | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ,
MX6 _PAD_NAND_DATA02__RAWNAND_DATA02 | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ,
MX6 _PAD_NAND_DATA03__RAWNAND_DATA03 | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ,
MX6 _PAD_NAND_DATA04__RAWNAND_DATA04 | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ,
MX6 _PAD_NAND_DATA05__RAWNAND_DATA05 | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ,
MX6 _PAD_NAND_DATA06__RAWNAND_DATA06 | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ,
MX6 _PAD_NAND_DATA07__RAWNAND_DATA07 | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ,
MX6 _PAD_NAND_CLE__RAWNAND_CLE | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ,
MX6 _PAD_NAND_ALE__RAWNAND_ALE | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ,
MX6 _PAD_NAND_CE0_B__RAWNAND_CE0_B | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ,
MX6 _PAD_NAND_RE_B__RAWNAND_RE_B | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ,
MX6 _PAD_NAND_WE_B__RAWNAND_WE_B | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ,
MX6 _PAD_NAND_WP_B__RAWNAND_WP_B | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ,
MX6 _PAD_NAND_READY_B__RAWNAND_READY_B | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ,
IO MU X_PADS ( PAD_NAND_DATA00__RAWNAND_DATA00 | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ) ,
IO MU X_PADS ( PAD_NAND_DATA01__RAWNAND_DATA01 | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ) ,
IO MU X_PADS ( PAD_NAND_DATA02__RAWNAND_DATA02 | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ) ,
IO MU X_PADS ( PAD_NAND_DATA03__RAWNAND_DATA03 | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ) ,
IO MU X_PADS ( PAD_NAND_DATA04__RAWNAND_DATA04 | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ) ,
IO MU X_PADS ( PAD_NAND_DATA05__RAWNAND_DATA05 | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ) ,
IO MU X_PADS ( PAD_NAND_DATA06__RAWNAND_DATA06 | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ) ,
IO MU X_PADS ( PAD_NAND_DATA07__RAWNAND_DATA07 | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ) ,
IO MU X_PADS ( PAD_NAND_CLE__RAWNAND_CLE | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ) ,
IO MU X_PADS ( PAD_NAND_ALE__RAWNAND_ALE | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ) ,
IO MU X_PADS ( PAD_NAND_CE0_B__RAWNAND_CE0_B | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ) ,
IO MU X_PADS ( PAD_NAND_RE_B__RAWNAND_RE_B | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ) ,
IO MU X_PADS ( PAD_NAND_WE_B__RAWNAND_WE_B | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ) ,
IO MU X_PADS ( PAD_NAND_WP_B__RAWNAND_WP_B | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ) ,
IO MU X_PADS ( PAD_NAND_READY_B__RAWNAND_READY_B | MUX_PAD_CTRL ( GPMI_PAD_CTRL2 ) ) ,
} ;
static void setup_gpmi_nand ( void )
@ -52,7 +52,7 @@ static void setup_gpmi_nand(void)
struct mxc_ccm_reg * mxc_ccm = ( struct mxc_ccm_reg * ) CCM_BASE_ADDR ;
/* config gpmi nand iomux */
imx_iomux_v3_setup_multiple_pads ( nand_pads , ARRAY_SIZE ( nand_pads ) ) ;
SETUP_IOMUX_PADS ( nand_pads ) ;
clrbits_le32 ( & mxc_ccm - > CCGR4 ,
MXC_CCM_CCGR4_RAWNAND_U_BCH_INPUT_APB_MASK |
@ -174,8 +174,8 @@ int dram_init(void)
PAD_CTL_DSE_40ohm | PAD_CTL_SRE_FAST | PAD_CTL_HYS )
static iomux_v3_cfg_t const uart1_pads [ ] = {
MX6 _PAD_UART1_TX_DATA__UART1_DCE_TX | MUX_PAD_CTRL ( UART_PAD_CTRL ) ,
MX6 _PAD_UART1_RX_DATA__UART1_DCE_RX | MUX_PAD_CTRL ( UART_PAD_CTRL ) ,
IO MU X_PADS ( PAD_UART1_TX_DATA__UART1_DCE_TX | MUX_PAD_CTRL ( UART_PAD_CTRL ) ) ,
IO MU X_PADS ( PAD_UART1_RX_DATA__UART1_DCE_RX | MUX_PAD_CTRL ( UART_PAD_CTRL ) ) ,
} ;
/* MMC board initialization is needed till adding DM support in SPL */
@ -188,31 +188,31 @@ static iomux_v3_cfg_t const uart1_pads[] = {
PAD_CTL_DSE_80ohm | PAD_CTL_SRE_FAST | PAD_CTL_HYS )
static iomux_v3_cfg_t const usdhc1_pads [ ] = {
MX6 _PAD_SD1_CLK__USDHC1_CLK | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ,
MX6 _PAD_SD1_CMD__USDHC1_CMD | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ,
MX6 _PAD_SD1_DATA0__USDHC1_DATA0 | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ,
MX6 _PAD_SD1_DATA1__USDHC1_DATA1 | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ,
MX6 _PAD_SD1_DATA2__USDHC1_DATA2 | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ,
MX6 _PAD_SD1_DATA3__USDHC1_DATA3 | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ,
IO MU X_PADS ( PAD_SD1_CLK__USDHC1_CLK | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ) ,
IO MU X_PADS ( PAD_SD1_CMD__USDHC1_CMD | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ) ,
IO MU X_PADS ( PAD_SD1_DATA0__USDHC1_DATA0 | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ) ,
IO MU X_PADS ( PAD_SD1_DATA1__USDHC1_DATA1 | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ) ,
IO MU X_PADS ( PAD_SD1_DATA2__USDHC1_DATA2 | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ) ,
IO MU X_PADS ( PAD_SD1_DATA3__USDHC1_DATA3 | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ) ,
/* VSELECT */
MX6 _PAD_GPIO1_IO05__USDHC1_VSELECT | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ,
IO MU X_PADS ( PAD_GPIO1_IO05__USDHC1_VSELECT | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ) ,
/* CD */
MX6 _PAD_UART1_RTS_B__GPIO1_IO19 | MUX_PAD_CTRL ( NO_PAD_CTRL ) ,
IO MU X_PADS ( PAD_UART1_RTS_B__GPIO1_IO19 | MUX_PAD_CTRL ( NO_PAD_CTRL ) ) ,
/* RST_B */
MX6 _PAD_GPIO1_IO09__GPIO1_IO09 | MUX_PAD_CTRL ( NO_PAD_CTRL ) ,
IO MU X_PADS ( PAD_GPIO1_IO09__GPIO1_IO09 | MUX_PAD_CTRL ( NO_PAD_CTRL ) ) ,
} ;
static iomux_v3_cfg_t const usdhc2_pads [ ] = {
MX6 _PAD_NAND_ALE__USDHC2_RESET_B | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ,
MX6 _PAD_NAND_RE_B__USDHC2_CLK | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ,
MX6 _PAD_NAND_WE_B__USDHC2_CMD | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ,
MX6 _PAD_NAND_DATA00__USDHC2_DATA0 | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ,
MX6 _PAD_NAND_DATA01__USDHC2_DATA1 | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ,
MX6 _PAD_NAND_DATA02__USDHC2_DATA2 | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ,
MX6 _PAD_NAND_DATA03__USDHC2_DATA3 | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ,
MX6 _PAD_NAND_DATA04__USDHC2_DATA4 | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ,
MX6 _PAD_NAND_DATA05__USDHC2_DATA5 | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ,
IO MU X_PADS ( PAD_NAND_ALE__USDHC2_RESET_B | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ) ,
IO MU X_PADS ( PAD_NAND_RE_B__USDHC2_CLK | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ) ,
IO MU X_PADS ( PAD_NAND_WE_B__USDHC2_CMD | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ) ,
IO MU X_PADS ( PAD_NAND_DATA00__USDHC2_DATA0 | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ) ,
IO MU X_PADS ( PAD_NAND_DATA01__USDHC2_DATA1 | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ) ,
IO MU X_PADS ( PAD_NAND_DATA02__USDHC2_DATA2 | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ) ,
IO MU X_PADS ( PAD_NAND_DATA03__USDHC2_DATA3 | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ) ,
IO MU X_PADS ( PAD_NAND_DATA04__USDHC2_DATA4 | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ) ,
IO MU X_PADS ( PAD_NAND_DATA05__USDHC2_DATA5 | MUX_PAD_CTRL ( USDHC_PAD_CTRL ) ) ,
} ;
# define USDHC1_CD_GPIO IMX_GPIO_NR(1, 19)
@ -253,14 +253,12 @@ int board_mmc_init(bd_t *bis)
for ( i = 0 ; i < CONFIG_SYS_FSL_USDHC_NUM ; i + + ) {
switch ( i ) {
case 0 :
imx_iomux_v3_setup_multiple_pads (
usdhc1_pads , ARRAY_SIZE ( usdhc1_pads ) ) ;
SETUP_IOMUX_PADS ( usdhc1_pads ) ;
gpio_direction_input ( USDHC1_CD_GPIO ) ;
usdhc_cfg [ i ] . sdhc_clk = mxc_get_clock ( MXC_ESDHC_CLK ) ;
break ;
case 1 :
imx_iomux_v3_setup_multiple_pads (
usdhc2_pads , ARRAY_SIZE ( usdhc2_pads ) ) ;
SETUP_IOMUX_PADS ( usdhc2_pads ) ;
gpio_direction_input ( USDHC2_CD_GPIO ) ;
usdhc_cfg [ i ] . sdhc_clk = mxc_get_clock ( MXC_ESDHC2_CLK ) ;
break ;
@ -395,7 +393,7 @@ void board_init_f(ulong dummy)
ccgr_init ( ) ;
/* iomux and setup of i2c */
imx_iomux_v3_setup_multiple_pads ( uart1_pads , ARRAY_SIZE ( uart1_pads ) ) ;
SETUP_IOMUX_PADS ( uart1_pads ) ;
/* setup GP timer */
timer_init ( ) ;