diff --git a/arch/arm/include/asm/arch-mx5/iomux-mx51.h b/arch/arm/include/asm/arch-mx5/iomux-mx51.h index 0090ee7ab12f3a10f470b86c6b304781a583a124..cdbf4f0c19a3a018f7aae4c469884fabbffeb72c 100644 --- a/arch/arm/include/asm/arch-mx5/iomux-mx51.h +++ b/arch/arm/include/asm/arch-mx5/iomux-mx51.h @@ -16,6 +16,8 @@ #include <asm/mach-imx/iomux-v3.h> /* Pad control groupings */ +#define MX51_AUD_PAD_CTRL (PAD_CTL_PUS_100K_UP | PAD_CTL_DSE_HIGH | \ + PAD_CTL_HYS | PAD_CTL_SRE_FAST) #define MX51_UART_PAD_CTRL (PAD_CTL_PUS_100K_DOWN | PAD_CTL_DSE_HIGH | \ PAD_CTL_HYS | PAD_CTL_SRE_FAST) #define MX51_I2C_PAD_CTRL (PAD_CTL_SRE_FAST | PAD_CTL_ODE | \ @@ -42,6 +44,10 @@ * See also iomux-v3.h */ +#define IOMUX_P(mux_ctrl_ofs, pad_ctrl_ofs, sel_input_ofs, \ + mux_mode, sel_input, pad_ctrl) \ + IOMUX_PAD(pad_ctrl_ofs, mux_ctrl_ofs, mux_mode, \ + sel_input_ofs, sel_input, pad_ctrl) /* PAD MUX ALT INPSE PATH PADCTRL */ enum { MX51_PAD_EIM_D16__GPIO2_0 = IOMUX_PAD(0x3f0, 0x05c, 1, __NA_, 0, MX51_GPIO_PAD_CTRL), @@ -161,12 +167,58 @@ enum { MX51_PAD_NANDF_D2__PATA_DATA2 = IOMUX_PAD(0x570, 0x188, 1, __NA_, 0, NO_PAD_CTRL), MX51_PAD_NANDF_D1__PATA_DATA1 = IOMUX_PAD(0x574, 0x18c, 1, __NA_, 0, NO_PAD_CTRL), MX51_PAD_NANDF_D0__PATA_DATA0 = IOMUX_PAD(0x578, 0x190, 1, __NA_, 0, NO_PAD_CTRL), - MX51_PAD_CSI2_D12__GPIO4_9 = IOMUX_PAD(0x5bc, 0x1cc, 3, __NA_, 0, MX51_GPIO_PAD_CTRL), - MX51_PAD_CSI2_D13__GPIO4_10 = IOMUX_PAD(0x5c0, 0x1d0, 3, __NA_, 0, MX51_GPIO_PAD_CTRL), + MX51_PAD_CSI1_D8__CSI1_D8 = IOMUX_P(0x194, 0x57c, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI1_D8__GPIO3_12 = IOMUX_P(0x194, 0x57c, 0x998, 0x3, 0x1, MX51_GPIO_PAD_CTRL), + MX51_PAD_CSI1_D9__CSI1_D9 = IOMUX_P(0x198, 0x580, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI1_D9__GPIO3_13 = IOMUX_P(0x198, 0x580, __NA_, 0x3, 0x0, MX51_GPIO_PAD_CTRL), + MX51_PAD_CSI1_D10__CSI1_D10 = IOMUX_P(0x19c, 0x584, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI1_D11__CSI1_D11 = IOMUX_P(0x1a0, 0x588, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI1_D12__CSI1_D12 = IOMUX_P(0x1a4, 0x58c, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI1_D13__CSI1_D13 = IOMUX_P(0x1a8, 0x590, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI1_D14__CSI1_D14 = IOMUX_P(0x1ac, 0x594, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI1_D15__CSI1_D15 = IOMUX_P(0x1b0, 0x598, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI1_D16__CSI1_D16 = IOMUX_P(0x1b4, 0x59c, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI1_D17__CSI1_D17 = IOMUX_P(0x1b8, 0x5a0, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI1_D18__CSI1_D18 = IOMUX_P(0x1bc, 0x5a4, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI1_D19__CSI1_D19 = IOMUX_P(0x1c0, 0x5a8, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI1_VSYNC__CSI1_VSYNC = IOMUX_P(0x1c4, 0x5ac, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI1_VSYNC__GPIO3_14 = IOMUX_P(0x1c4, 0x5ac, __NA_, 0x3, 0x0, 0x0), + MX51_PAD_CSI1_HSYNC__CSI1_HSYNC = IOMUX_P(0x1c8, 0x5b0, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI1_HSYNC__GPIO3_15 = IOMUX_P(0x1c8, 0x5b0, __NA_, 0x3, 0x0, 0x0), + MX51_PAD_CSI1_PIXCLK__CSI1_PIXCLK = IOMUX_P(__NA_, 0x5b4, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI1_MCLK__CSI1_MCLK = IOMUX_P(__NA_, 0x5b8, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI2_D12__CSI2_D12 = IOMUX_P(0x1cc, 0x5bc, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI2_D12__GPIO4_9 = IOMUX_P(0x1cc, 0x5bc, __NA_, 0x3, 0x0, MX51_GPIO_PAD_CTRL), + MX51_PAD_CSI2_D13__CSI2_D13 = IOMUX_P(0x1d0, 0x5c0, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI2_D13__GPIO4_10 = IOMUX_P(0x1d0, 0x5c0, __NA_, 0x3, 0x0, MX51_GPIO_PAD_CTRL), + MX51_PAD_CSI2_D14__CSI2_D14 = IOMUX_P(0x1d4, 0x5c4, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI2_D15__CSI2_D15 = IOMUX_P(0x1d8, 0x5c8, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI2_D16__CSI2_D16 = IOMUX_P(0x1dc, 0x5cc, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI2_D17__CSI2_D17 = IOMUX_P(0x1e0, 0x5d0, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI2_D18__CSI2_D18 = IOMUX_P(0x1e4, 0x5d4, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI2_D18__GPIO4_11 = IOMUX_P(0x1e4, 0x5d4, __NA_, 0x3, 0x0, MX51_GPIO_PAD_CTRL), + MX51_PAD_CSI2_D19__CSI2_D19 = IOMUX_P(0x1e8, 0x5d8, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI2_D19__GPIO4_12 = IOMUX_P(0x1e8, 0x5d8, __NA_, 0x3, 0x0, MX51_GPIO_PAD_CTRL), + MX51_PAD_CSI2_VSYNC__CSI2_VSYNC = IOMUX_P(0x1ec, 0x5dc, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI2_VSYNC__GPIO4_13 = IOMUX_P(0x1ec, 0x5dc, __NA_, 0x3, 0x0, 0x0), + MX51_PAD_CSI2_HSYNC__CSI2_HSYNC = IOMUX_P(0x1f0, 0x5e0, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI2_HSYNC__GPIO4_14 = IOMUX_P(0x1f0, 0x5e0, __NA_, 0x3, 0x0, 0x0), + MX51_PAD_CSI2_PIXCLK__CSI2_PIXCLK = IOMUX_P(0x1f4, 0x5e4, __NA_, 0x0, 0x0, 0x0), + MX51_PAD_CSI2_PIXCLK__GPIO4_15 = IOMUX_P(0x1f4, 0x5e4, __NA_, 0x3, 0x0, 0x0), MX51_PAD_I2C1_CLK__I2C1_CLK = IOMUX_PAD(0x5e8, 0x1f8, 0x10, __NA_, 0, MX51_I2C_PAD_CTRL), MX51_PAD_I2C1_CLK__GPIO4_16 = IOMUX_PAD(0x5e8, 0x1f8, 3, __NA_, 0, MX51_GPIO_PAD_CTRL), MX51_PAD_I2C1_DAT__I2C1_DAT = IOMUX_PAD(0x5ec, 0x1fc, 0x10, __NA_, 0, MX51_I2C_PAD_CTRL), MX51_PAD_I2C1_DAT__GPIO4_17 = IOMUX_PAD(0x5ec, 0x1fc, 3, __NA_, 0, MX51_GPIO_PAD_CTRL), + MX51_PAD_AUD3_BB_TXD__AUD3_TXD = IOMUX_P(0x200, 0x5f0, __NA_, 0x0, 0x0, MX51_AUD_PAD_CTRL), + MX51_PAD_AUD3_BB_TXD__GPIO4_18 = IOMUX_P(0x200, 0x5f0, __NA_, 0x3, 0x0, MX51_GPIO_PAD_CTRL), + MX51_PAD_AUD3_BB_RXD__AUD3_RXD = IOMUX_P(0x204, 0x5f4, __NA_, 0x0, 0x0, MX51_AUD_PAD_CTRL), + MX51_PAD_AUD3_BB_RXD__GPIO4_19 = IOMUX_P(0x204, 0x5f4, __NA_, 0x3, 0x0, MX51_GPIO_PAD_CTRL), + MX51_PAD_AUD3_BB_RXD__UART3_RXD = IOMUX_P(0x204, 0x5f4, 0x9f4, 0x1, 0x2, MX51_UART_PAD_CTRL), + MX51_PAD_AUD3_BB_CK__AUD3_TXC = IOMUX_P(0x208, 0x5f8, __NA_, 0x0, 0x0, MX51_AUD_PAD_CTRL), + MX51_PAD_AUD3_BB_CK__GPIO4_20 = IOMUX_P(0x208, 0x5f8, __NA_, 0x3, 0x0, MX51_GPIO_PAD_CTRL), + MX51_PAD_AUD3_BB_FS__AUD3_TXFS = IOMUX_P(0x20c, 0x5fc, __NA_, 0x0, 0x0, MX51_AUD_PAD_CTRL), + MX51_PAD_AUD3_BB_FS__GPIO4_21 = IOMUX_P(0x20c, 0x5fc, __NA_, 0x3, 0x0, MX51_GPIO_PAD_CTRL), + MX51_PAD_AUD3_BB_FS__UART3_TXD = IOMUX_P(0x20c, 0x5fc, __NA_, 0x1, 0x0, MX51_UART_PAD_CTRL), MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI = IOMUX_PAD(0x600, 0x210, 0, __NA_, 0, MX51_ECSPI_PAD_CTRL), MX51_PAD_CSPI1_MISO__ECSPI1_MISO = IOMUX_PAD(0x604, 0x214, 0, __NA_, 0, MX51_ECSPI_PAD_CTRL), MX51_PAD_CSPI1_SS0__ECSPI1_SS0 = IOMUX_PAD(0x608, 0x218, 0, __NA_, 0, MX51_ECSPI_PAD_CTRL), @@ -177,7 +229,9 @@ enum { MX51_PAD_CSPI1_RDY__GPIO4_26 = IOMUX_PAD(0x610, 0x220, 3, __NA_, 0, MX51_GPIO_PAD_CTRL), MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK = IOMUX_PAD(0x614, 0x224, 0, __NA_, 0, MX51_ECSPI_PAD_CTRL), MX51_PAD_UART1_RXD__UART1_RXD = IOMUX_PAD(0x618, 0x228, 0, 0x9e4, 0, MX51_UART_PAD_CTRL), + MX51_PAD_UART1_RXD__GPIO4_28 = IOMUX_P(0x228, 0x618, __NA_, 0x3, 0x0, MX51_UART_PAD_CTRL), MX51_PAD_UART1_TXD__UART1_TXD = IOMUX_PAD(0x61c, 0x22c, 0, __NA_, 0, MX51_UART_PAD_CTRL), + MX51_PAD_UART1_TXD__GPIO4_29 = IOMUX_P(0x22c, 0x61c, __NA_, 0x3, 0x0, MX51_GPIO_PAD_CTRL), MX51_PAD_UART1_RTS__UART1_RTS = IOMUX_PAD(0x620, 0x230, 0, 0x9e0, 0, MX51_UART_PAD_CTRL), MX51_PAD_UART1_RTS__GPIO4_30 = IOMUX_PAD(0x620, 0x230, 3, __NA_, 0, MX51_GPIO_PAD_CTRL), MX51_PAD_UART1_CTS__UART1_CTS = IOMUX_PAD(0x624, 0x234, 0, __NA_, 0, MX51_UART_PAD_CTRL), @@ -200,6 +254,7 @@ enum { MX51_PAD_USBH1_DATA6__USBH1_DATA6 = IOMUX_PAD(0x6a0, 0x2a0, 0, __NA_, 0, MX51_USBH_PAD_CTRL), MX51_PAD_USBH1_DATA7__USBH1_DATA7 = IOMUX_PAD(0x6a4, 0x2a4, 0, __NA_, 0, MX51_USBH_PAD_CTRL), MX51_PAD_DI1_PIN11__ECSPI1_SS2 = IOMUX_PAD(0x6a8, 0x2a8, 7, __NA_, 0, MX51_ECSPI_PAD_CTRL), + MX51_PAD_DI1_PIN11__GPIO3_0 = IOMUX_P(0x2a8, 0x6a8, __NA_, 0x4, 0x0, MX51_GPIO_PAD_CTRL), MX51_PAD_DI1_PIN12__GPIO3_1 = IOMUX_PAD(0x6ac, 0x2ac, 4, 0x978, 1, MX51_GPIO_PAD_CTRL), MX51_PAD_DI1_PIN13__GPIO3_2 = IOMUX_PAD(0x6b0, 0x2b0, 4, 0x97c, 1, MX51_GPIO_PAD_CTRL), MX51_PAD_DI1_D0_CS__GPIO3_3 = IOMUX_PAD(0x6b4, 0x2b4, 4, 0x980, 1, MX51_GPIO_PAD_CTRL), @@ -289,6 +344,7 @@ enum { MX51_PAD_GPIO1_7__SD2_WP = IOMUX_PAD(0x810, 0x3e4, 6, __NA_, 0, MX51_ESDHC_PAD_CTRL), MX51_PAD_GPIO1_8__GPIO1_8 = IOMUX_PAD(0x814, 0x3e8, 0, __NA_, 0, MX51_GPIO_PAD_CTRL), MX51_PAD_GPIO1_8__SD2_CD = IOMUX_PAD(0x814, 0x3e8, 6, __NA_, 0, MX51_ESDHC_PAD_CTRL), + MX51_PAD_GPIO1_9__GPIO1_9 = IOMUX_P(0x3ec, 0x818, __NA_, 0x0, 0x0, MX51_GPIO_PAD_CTRL), MX51_GRP_DDRPKS = IOMUX_PAD(0x820, __NA_, 0, __NA_, 0, NO_PAD_CTRL), MX51_GRP_DRAM_B4 = IOMUX_PAD(0x82c, __NA_, 0, __NA_, 0, NO_PAD_CTRL), MX51_GRP_PKEDDR = IOMUX_PAD(0x838, __NA_, 0, __NA_, 0, NO_PAD_CTRL),