]> git.openfabrics.org - ~shefty/rdma-dev.git/commitdiff
MX27ADS: setup all pins at once in one table
authorVladimir Barinov <vova.barinov@gmail.com>
Wed, 29 Apr 2009 00:00:48 +0000 (04:00 +0400)
committerSascha Hauer <s.hauer@pengutronix.de>
Thu, 7 May 2009 14:18:44 +0000 (16:18 +0200)
Setup all pins at once in one table

Signed-off-by: Vladimir Barinov <vbarinov@embeddedalley.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
arch/arm/mach-mx2/mx27ads.c

index ab389c22f4dd5c15d58d153d1291c09d90e3729a..13accbed8886347656903ebbe8107c91fc82b8c4 100644 (file)
 
 #include "devices.h"
 
-/* ADS's NOR flash */
-static struct physmap_flash_data mx27ads_flash_data = {
-       .width = 2,
-};
-
-static struct resource mx27ads_flash_resource = {
-       .start = 0xc0000000,
-       .end = 0xc0000000 + 0x02000000 - 1,
-       .flags = IORESOURCE_MEM,
-
-};
-
-static struct platform_device mx27ads_nor_mtd_device = {
-       .name = "physmap-flash",
-       .id = 0,
-       .dev = {
-               .platform_data = &mx27ads_flash_data,
-       },
-       .num_resources = 1,
-       .resource = &mx27ads_flash_resource,
-};
-
-static int mxc_uart0_pins[] = {
+static unsigned int mx27ads_pins[] = {
+       /* UART0 */
        PE12_PF_UART1_TXD,
        PE13_PF_UART1_RXD,
        PE14_PF_UART1_CTS,
-       PE15_PF_UART1_RTS
-};
-
-static int uart_mxc_port0_init(struct platform_device *pdev)
-{
-       return mxc_gpio_setup_multiple_pins(mxc_uart0_pins,
-                       ARRAY_SIZE(mxc_uart0_pins), "UART0");
-}
-
-static void uart_mxc_port0_exit(struct platform_device *pdev)
-{
-       mxc_gpio_release_multiple_pins(mxc_uart0_pins,
-                       ARRAY_SIZE(mxc_uart0_pins));
-}
-
-static int mxc_uart1_pins[] = {
+       PE15_PF_UART1_RTS,
+       /* UART1 */
        PE3_PF_UART2_CTS,
        PE4_PF_UART2_RTS,
        PE6_PF_UART2_TXD,
-       PE7_PF_UART2_RXD
-};
-
-static int uart_mxc_port1_init(struct platform_device *pdev)
-{
-       return mxc_gpio_setup_multiple_pins(mxc_uart1_pins,
-                       ARRAY_SIZE(mxc_uart1_pins), "UART1");
-}
-
-static void uart_mxc_port1_exit(struct platform_device *pdev)
-{
-       mxc_gpio_release_multiple_pins(mxc_uart1_pins,
-                       ARRAY_SIZE(mxc_uart1_pins));
-}
-
-static int mxc_uart2_pins[] = {
+       PE7_PF_UART2_RXD,
+       /* UART2 */
        PE8_PF_UART3_TXD,
        PE9_PF_UART3_RXD,
        PE10_PF_UART3_CTS,
-       PE11_PF_UART3_RTS
-};
-
-static int uart_mxc_port2_init(struct platform_device *pdev)
-{
-       return mxc_gpio_setup_multiple_pins(mxc_uart2_pins,
-                       ARRAY_SIZE(mxc_uart2_pins), "UART2");
-}
-
-static void uart_mxc_port2_exit(struct platform_device *pdev)
-{
-       mxc_gpio_release_multiple_pins(mxc_uart2_pins,
-                       ARRAY_SIZE(mxc_uart2_pins));
-}
-
-static int mxc_uart3_pins[] = {
+       PE11_PF_UART3_RTS,
+       /* UART3 */
        PB26_AF_UART4_RTS,
        PB28_AF_UART4_TXD,
        PB29_AF_UART4_CTS,
-       PB31_AF_UART4_RXD
-};
-
-static int uart_mxc_port3_init(struct platform_device *pdev)
-{
-       return mxc_gpio_setup_multiple_pins(mxc_uart3_pins,
-                       ARRAY_SIZE(mxc_uart3_pins), "UART3");
-}
-
-static void uart_mxc_port3_exit(struct platform_device *pdev)
-{
-       mxc_gpio_release_multiple_pins(mxc_uart3_pins,
-                       ARRAY_SIZE(mxc_uart3_pins));
-}
-
-static int mxc_uart4_pins[] = {
+       PB31_AF_UART4_RXD,
+       /* UART4 */
        PB18_AF_UART5_TXD,
        PB19_AF_UART5_RXD,
        PB20_AF_UART5_CTS,
-       PB21_AF_UART5_RTS
-};
-
-static int uart_mxc_port4_init(struct platform_device *pdev)
-{
-       return mxc_gpio_setup_multiple_pins(mxc_uart4_pins,
-                       ARRAY_SIZE(mxc_uart4_pins), "UART4");
-}
-
-static void uart_mxc_port4_exit(struct platform_device *pdev)
-{
-       mxc_gpio_release_multiple_pins(mxc_uart4_pins,
-                       ARRAY_SIZE(mxc_uart4_pins));
-}
-
-static int mxc_uart5_pins[] = {
+       PB21_AF_UART5_RTS,
+       /* UART5 */
        PB10_AF_UART6_TXD,
        PB12_AF_UART6_CTS,
        PB11_AF_UART6_RXD,
-       PB13_AF_UART6_RTS
-};
-
-static int uart_mxc_port5_init(struct platform_device *pdev)
-{
-       return mxc_gpio_setup_multiple_pins(mxc_uart5_pins,
-                       ARRAY_SIZE(mxc_uart5_pins), "UART5");
-}
-
-static void uart_mxc_port5_exit(struct platform_device *pdev)
-{
-       mxc_gpio_release_multiple_pins(mxc_uart5_pins,
-                       ARRAY_SIZE(mxc_uart5_pins));
-}
-
-static struct platform_device *platform_devices[] __initdata = {
-       &mx27ads_nor_mtd_device,
-       &mxc_fec_device,
-};
-
-static int mxc_fec_pins[] = {
+       PB13_AF_UART6_RTS,
+       /* FEC */
        PD0_AIN_FEC_TXD0,
        PD1_AIN_FEC_TXD1,
        PD2_AIN_FEC_TXD2,
@@ -195,46 +85,56 @@ static int mxc_fec_pins[] = {
        PD14_AOUT_FEC_RX_CLK,
        PD15_AOUT_FEC_COL,
        PD16_AIN_FEC_TX_ER,
-       PF23_AIN_FEC_TX_EN
+       PF23_AIN_FEC_TX_EN,
 };
 
-static void gpio_fec_active(void)
-{
-       mxc_gpio_setup_multiple_pins(mxc_fec_pins,
-                       ARRAY_SIZE(mxc_fec_pins), "FEC");
-}
+/* ADS's NOR flash */
+static struct physmap_flash_data mx27ads_flash_data = {
+       .width = 2,
+};
+
+static struct resource mx27ads_flash_resource = {
+       .start = 0xc0000000,
+       .end = 0xc0000000 + 0x02000000 - 1,
+       .flags = IORESOURCE_MEM,
+
+};
+
+static struct platform_device mx27ads_nor_mtd_device = {
+       .name = "physmap-flash",
+       .id = 0,
+       .dev = {
+               .platform_data = &mx27ads_flash_data,
+       },
+       .num_resources = 1,
+       .resource = &mx27ads_flash_resource,
+};
+
+static struct platform_device *platform_devices[] __initdata = {
+       &mx27ads_nor_mtd_device,
+       &mxc_fec_device,
+};
 
 static struct imxuart_platform_data uart_pdata[] = {
        {
-               .init = uart_mxc_port0_init,
-               .exit = uart_mxc_port0_exit,
                .flags = IMXUART_HAVE_RTSCTS,
        }, {
-               .init = uart_mxc_port1_init,
-               .exit = uart_mxc_port1_exit,
                .flags = IMXUART_HAVE_RTSCTS,
        }, {
-               .init = uart_mxc_port2_init,
-               .exit = uart_mxc_port2_exit,
                .flags = IMXUART_HAVE_RTSCTS,
        }, {
-               .init = uart_mxc_port3_init,
-               .exit = uart_mxc_port3_exit,
                .flags = IMXUART_HAVE_RTSCTS,
        }, {
-               .init = uart_mxc_port4_init,
-               .exit = uart_mxc_port4_exit,
                .flags = IMXUART_HAVE_RTSCTS,
        }, {
-               .init = uart_mxc_port5_init,
-               .exit = uart_mxc_port5_exit,
                .flags = IMXUART_HAVE_RTSCTS,
        },
 };
 
 static void __init mx27ads_board_init(void)
 {
-       gpio_fec_active();
+       mxc_gpio_setup_multiple_pins(mx27ads_pins, ARRAY_SIZE(mx27ads_pins),
+                       "mx27ads");
 
        mxc_register_device(&mxc_uart_device0, &uart_pdata[0]);
        mxc_register_device(&mxc_uart_device1, &uart_pdata[1]);