Loading arch/arm/mach-mx5/devices-imx51.h +4 −0 Original line number Diff line number Diff line Loading @@ -52,3 +52,7 @@ extern const struct imx_mxc_pwm_data imx51_mxc_pwm_data[]; extern const struct imx_imx_keypad_data imx51_imx_keypad_data; #define imx51_add_imx_keypad(pdata) \ imx_add_imx_keypad(&imx51_imx_keypad_data, pdata) extern const struct imx_pata_imx_data imx51_pata_imx_data; #define imx51_add_pata_imx() \ imx_add_pata_imx(&imx51_pata_imx_data) arch/arm/plat-mxc/devices/Kconfig +3 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,9 @@ config IMX_HAVE_PLATFORM_IMX_I2C config IMX_HAVE_PLATFORM_IMX_KEYPAD bool config IMX_HAVE_PLATFORM_PATA_IMX bool config IMX_HAVE_PLATFORM_IMX_SSI bool Loading arch/arm/plat-mxc/devices/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ obj-y += platform-imx-dma.o obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_FB) += platform-imx-fb.o obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_I2C) += platform-imx-i2c.o obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_KEYPAD) += platform-imx-keypad.o obj-$(CONFIG_IMX_HAVE_PLATFORM_PATA_IMX) += platform-pata_imx.o obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_SSI) += platform-imx-ssi.o obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_UART) += platform-imx-uart.o obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_UDC) += platform-imx_udc.o Loading arch/arm/plat-mxc/devices/platform-pata_imx.c 0 → 100644 +38 −0 Original line number Diff line number Diff line /* * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License version 2 as published by the * Free Software Foundation. */ #include <mach/hardware.h> #include <mach/devices-common.h> #define imx_pata_imx_data_entry_single(soc) \ { \ .iobase = soc ## _ATA_BASE_ADDR, \ .irq = soc ## _MXC_INT_ATA, \ } #ifdef CONFIG_SOC_IMX51 const struct imx_pata_imx_data imx51_pata_imx_data __initconst = imx_pata_imx_data_entry_single(MX51); #endif /* ifdef CONFIG_SOC_IMX51 */ struct platform_device *__init imx_add_pata_imx( const struct imx_pata_imx_data *data) { struct resource res[] = { { .start = data->iobase, .end = data->iobase + SZ_16K - 1, .flags = IORESOURCE_MEM, }, { .start = data->irq, .end = data->irq, .flags = IORESOURCE_IRQ, }, }; return imx_add_platform_device("pata_imx", -1, res, ARRAY_SIZE(res), NULL, 0); } arch/arm/plat-mxc/include/mach/devices-common.h +7 −0 Original line number Diff line number Diff line Loading @@ -251,6 +251,13 @@ struct platform_device *__init imx_add_mxc_nand( const struct imx_mxc_nand_data *data, const struct mxc_nand_platform_data *pdata); struct imx_pata_imx_data { resource_size_t iobase; resource_size_t irq; }; struct platform_device *__init imx_add_pata_imx( const struct imx_pata_imx_data *data); struct imx_mxc_pwm_data { int id; resource_size_t iobase; Loading Loading
arch/arm/mach-mx5/devices-imx51.h +4 −0 Original line number Diff line number Diff line Loading @@ -52,3 +52,7 @@ extern const struct imx_mxc_pwm_data imx51_mxc_pwm_data[]; extern const struct imx_imx_keypad_data imx51_imx_keypad_data; #define imx51_add_imx_keypad(pdata) \ imx_add_imx_keypad(&imx51_imx_keypad_data, pdata) extern const struct imx_pata_imx_data imx51_pata_imx_data; #define imx51_add_pata_imx() \ imx_add_pata_imx(&imx51_pata_imx_data)
arch/arm/plat-mxc/devices/Kconfig +3 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,9 @@ config IMX_HAVE_PLATFORM_IMX_I2C config IMX_HAVE_PLATFORM_IMX_KEYPAD bool config IMX_HAVE_PLATFORM_PATA_IMX bool config IMX_HAVE_PLATFORM_IMX_SSI bool Loading
arch/arm/plat-mxc/devices/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ obj-y += platform-imx-dma.o obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_FB) += platform-imx-fb.o obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_I2C) += platform-imx-i2c.o obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_KEYPAD) += platform-imx-keypad.o obj-$(CONFIG_IMX_HAVE_PLATFORM_PATA_IMX) += platform-pata_imx.o obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_SSI) += platform-imx-ssi.o obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_UART) += platform-imx-uart.o obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_UDC) += platform-imx_udc.o Loading
arch/arm/plat-mxc/devices/platform-pata_imx.c 0 → 100644 +38 −0 Original line number Diff line number Diff line /* * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License version 2 as published by the * Free Software Foundation. */ #include <mach/hardware.h> #include <mach/devices-common.h> #define imx_pata_imx_data_entry_single(soc) \ { \ .iobase = soc ## _ATA_BASE_ADDR, \ .irq = soc ## _MXC_INT_ATA, \ } #ifdef CONFIG_SOC_IMX51 const struct imx_pata_imx_data imx51_pata_imx_data __initconst = imx_pata_imx_data_entry_single(MX51); #endif /* ifdef CONFIG_SOC_IMX51 */ struct platform_device *__init imx_add_pata_imx( const struct imx_pata_imx_data *data) { struct resource res[] = { { .start = data->iobase, .end = data->iobase + SZ_16K - 1, .flags = IORESOURCE_MEM, }, { .start = data->irq, .end = data->irq, .flags = IORESOURCE_IRQ, }, }; return imx_add_platform_device("pata_imx", -1, res, ARRAY_SIZE(res), NULL, 0); }
arch/arm/plat-mxc/include/mach/devices-common.h +7 −0 Original line number Diff line number Diff line Loading @@ -251,6 +251,13 @@ struct platform_device *__init imx_add_mxc_nand( const struct imx_mxc_nand_data *data, const struct mxc_nand_platform_data *pdata); struct imx_pata_imx_data { resource_size_t iobase; resource_size_t irq; }; struct platform_device *__init imx_add_pata_imx( const struct imx_pata_imx_data *data); struct imx_mxc_pwm_data { int id; resource_size_t iobase; Loading