diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2009-04-07 12:00:47 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2009-05-19 12:30:42 +0200 |
commit | 36581777756c25cf5a63de19d88d832f946602bb (patch) | |
tree | 5493f88e8e25dd11bb84094050270ce3bda9f646 /board | |
parent | aec91d05374bd4a0babc0d6ad2e4e78252304cd0 (diff) | |
download | barebox-36581777756c25cf5a63de19d88d832f946602bb.tar.gz barebox-36581777756c25cf5a63de19d88d832f946602bb.tar.xz |
i.MX35: Add iomux support from kernel
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'board')
-rw-r--r-- | board/freescale-mx35-3-stack/3stack.c | 49 | ||||
-rw-r--r-- | board/pcm043/pcm043.c | 59 |
2 files changed, 61 insertions, 47 deletions
diff --git a/board/freescale-mx35-3-stack/3stack.c b/board/freescale-mx35-3-stack/3stack.c index 269b24195e..3fe5193b50 100644 --- a/board/freescale-mx35-3-stack/3stack.c +++ b/board/freescale-mx35-3-stack/3stack.c @@ -36,6 +36,7 @@ #include <spi/spi.h> #include <asm/io.h> #include <asm/arch/imx-nand.h> +#include <asm/arch/iomux-mx35.h> static struct device_d cfi_dev = { .name = "cfi_flash", @@ -80,25 +81,6 @@ static struct device_d smc911x_dev = { static int f3s_devices_init(void) { - imx_gpio_mode(MUX_FEC_TX_CLK_FEC_TX_CLK); - imx_gpio_mode(MUX_FEC_RX_CLK_FEC_RX_CLK); - imx_gpio_mode(MUX_FEC_RX_DV_FEC_RX_DV); - imx_gpio_mode(MUX_FEC_COL_FEC_COL); - imx_gpio_mode(MUX_FEC_TX_EN_FEC_TX_EN); - imx_gpio_mode(MUX_FEC_MDC_FEC_MDC); - imx_gpio_mode(MUX_FEC_MDIO_FEC_MDIO); - imx_gpio_mode(MUX_FEC_TX_ERR_FEC_TX_ERR); - imx_gpio_mode(MUX_FEC_RX_ERR_FEC_RX_ERR); - imx_gpio_mode(MUX_FEC_CRS_FEC_CRS); - imx_gpio_mode(MUX_FEC_RDATA0_FEC_RDATA0); - imx_gpio_mode(MUX_FEC_TDATA0_FEC_TDATA0); - imx_gpio_mode(MUX_FEC_RDATA1_FEC_RDATA1); - imx_gpio_mode(MUX_FEC_TDATA1_FEC_TDATA1); - imx_gpio_mode(MUX_FEC_RDATA2_FEC_RDATA2); - imx_gpio_mode(MUX_FEC_TDATA2_FEC_TDATA2); - imx_gpio_mode(MUX_FEC_RDATA3_FEC_RDATA3); - imx_gpio_mode(MUX_FEC_TDATA3_FEC_TDATA3); - register_device(&cfi_dev); register_device(&sdram_dev); register_device(&smc911x_dev); @@ -133,8 +115,37 @@ static struct device_d f3s_serial_device = { .type = DEVICE_TYPE_CONSOLE, }; +static struct pad_desc f3s_pads[] = { + MX35_PAD_FEC_TX_CLK__FEC_TX_CLK, + MX35_PAD_FEC_RX_CLK__FEC_RX_CLK, + MX35_PAD_FEC_RX_DV__FEC_RX_DV, + MX35_PAD_FEC_COL__FEC_COL, + MX35_PAD_FEC_RDATA0__FEC_RDATA_0, + MX35_PAD_FEC_TDATA0__FEC_TDATA_0, + MX35_PAD_FEC_TX_EN__FEC_TX_EN, + MX35_PAD_FEC_MDC__FEC_MDC, + MX35_PAD_FEC_MDIO__FEC_MDIO, + MX35_PAD_FEC_TX_ERR__FEC_TX_ERR, + MX35_PAD_FEC_RX_ERR__FEC_RX_ERR, + MX35_PAD_FEC_CRS__FEC_CRS, + MX35_PAD_FEC_RDATA0__FEC_RDATA_0, + MX35_PAD_FEC_TDATA0__FEC_TDATA_0, + MX35_PAD_FEC_RDATA1__FEC_RDATA_1, + MX35_PAD_FEC_TDATA1__FEC_TDATA_1, + MX35_PAD_FEC_RDATA2__FEC_RDATA_2, + MX35_PAD_FEC_TDATA2__FEC_TDATA_2, + MX35_PAD_FEC_RDATA3__FEC_RDATA_3, + MX35_PAD_FEC_TDATA3__FEC_TDATA_3, + MX35_PAD_RXD1__UART1_RXD_MUX, + MX35_PAD_TXD1__UART1_TXD_MUX, + MX35_PAD_RTS1__UART1_RTS, + MX35_PAD_CTS1__UART1_CTS, +}; + static int f3s_console_init(void) { + mxc_iomux_v3_setup_multiple_pads(f3s_pads, ARRAY_SIZE(f3s_pads)); + register_device(&f3s_serial_device); return 0; } diff --git a/board/pcm043/pcm043.c b/board/pcm043/pcm043.c index c8f267d11a..007a0dbad7 100644 --- a/board/pcm043/pcm043.c +++ b/board/pcm043/pcm043.c @@ -36,6 +36,7 @@ #include <asm/arch/imx-nand.h> #include <fec.h> #include <asm/arch/imx-pll.h> +#include <asm/arch/iomux-mx35.h> #define CYG_MACRO_START #define CYG_MACRO_END @@ -94,10 +95,6 @@ static int imx35_devices_init(void) writel(0x10000d03, CSCR_L(0)); writel(0x00720900, CSCR_A(0)); - /* setup pins for I2C1 (for EEPROM, RTC) */ - imx_gpio_mode(MUX_I2C1_CLK_I2C1_SLC); - imx_gpio_mode(MUX_I2C1_DAT_I2C1_SDA); - register_device(&cfi_dev); /* @@ -111,25 +108,6 @@ static int imx35_devices_init(void) dev_protect(&cfi_dev, 0x20000, 0, 1); register_device(&nand_dev); - - imx_gpio_mode(MUX_FEC_TX_CLK_FEC_TX_CLK); - imx_gpio_mode(MUX_FEC_RX_CLK_FEC_RX_CLK); - imx_gpio_mode(MUX_FEC_RX_DV_FEC_RX_DV); - imx_gpio_mode(MUX_FEC_COL_FEC_COL); - imx_gpio_mode(MUX_FEC_TX_EN_FEC_TX_EN); - imx_gpio_mode(MUX_FEC_MDC_FEC_MDC); - imx_gpio_mode(MUX_FEC_MDIO_FEC_MDIO); - imx_gpio_mode(MUX_FEC_TX_ERR_FEC_TX_ERR); - imx_gpio_mode(MUX_FEC_RX_ERR_FEC_RX_ERR); - imx_gpio_mode(MUX_FEC_CRS_FEC_CRS); - imx_gpio_mode(MUX_FEC_RDATA0_FEC_RDATA0); - imx_gpio_mode(MUX_FEC_TDATA0_FEC_TDATA0); - imx_gpio_mode(MUX_FEC_RDATA1_FEC_RDATA1); - imx_gpio_mode(MUX_FEC_TDATA1_FEC_TDATA1); - imx_gpio_mode(MUX_FEC_RDATA2_FEC_RDATA2); - imx_gpio_mode(MUX_FEC_TDATA2_FEC_TDATA2); - imx_gpio_mode(MUX_FEC_RDATA3_FEC_RDATA3); - imx_gpio_mode(MUX_FEC_TDATA3_FEC_TDATA3); register_device(&fec_dev); @@ -151,13 +129,38 @@ static struct device_d imx35_serial_device = { .type = DEVICE_TYPE_CONSOLE, }; +static struct pad_desc pcm043_pads[] = { + MX35_PAD_FEC_TX_CLK__FEC_TX_CLK, + MX35_PAD_FEC_RX_CLK__FEC_RX_CLK, + MX35_PAD_FEC_RX_DV__FEC_RX_DV, + MX35_PAD_FEC_COL__FEC_COL, + MX35_PAD_FEC_RDATA0__FEC_RDATA_0, + MX35_PAD_FEC_TDATA0__FEC_TDATA_0, + MX35_PAD_FEC_TX_EN__FEC_TX_EN, + MX35_PAD_FEC_MDC__FEC_MDC, + MX35_PAD_FEC_MDIO__FEC_MDIO, + MX35_PAD_FEC_TX_ERR__FEC_TX_ERR, + MX35_PAD_FEC_RX_ERR__FEC_RX_ERR, + MX35_PAD_FEC_CRS__FEC_CRS, + MX35_PAD_FEC_RDATA0__FEC_RDATA_0, + MX35_PAD_FEC_TDATA0__FEC_TDATA_0, + MX35_PAD_FEC_RDATA1__FEC_RDATA_1, + MX35_PAD_FEC_TDATA1__FEC_TDATA_1, + MX35_PAD_FEC_RDATA2__FEC_RDATA_2, + MX35_PAD_FEC_TDATA2__FEC_TDATA_2, + MX35_PAD_FEC_RDATA3__FEC_RDATA_3, + MX35_PAD_FEC_TDATA3__FEC_TDATA_3, + MX35_PAD_RXD1__UART1_RXD_MUX, + MX35_PAD_TXD1__UART1_TXD_MUX, + MX35_PAD_RTS1__UART1_RTS, + MX35_PAD_CTS1__UART1_CTS, + MX35_PAD_I2C1_CLK__I2C1_SCL, + MX35_PAD_I2C1_DAT__I2C1_SDA +}; + static int imx35_console_init(void) { - /* init gpios for serial port */ - imx_gpio_mode(MUX_RXD1_UART1_RXD_MUX); - imx_gpio_mode(MUX_TXD1_UART1_TXD_MUX); - imx_gpio_mode(MUX_RTS1_UART1_RTS_B); - imx_gpio_mode(MUX_RTS1_UART1_CTS_B); + mxc_iomux_v3_setup_multiple_pads(pcm043_pads, ARRAY_SIZE(pcm043_pads)); register_device(&imx35_serial_device); return 0; |