[ARM] 3857/2: pnx4008: add devices' registration
authorVitaly Wool <vwool@com.rmk.(none)>
Tue, 17 Oct 2006 10:16:22 +0000 (11:16 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 9 Nov 2006 15:38:44 +0000 (15:38 +0000)
This patch adds platform devices' registration for the devices which drivers
either have been added to the mainline or on the way to.

 arch/arm/mach-pnx4008/core.c |   69 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 69 insertions(+)

Signed-off-by: Vitaly Wool <vitalywool@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-pnx4008/core.c

index 3d73c1e..429c796 100644 (file)
@@ -133,10 +133,79 @@ static struct platform_device serial_device = {
        },
 };
 
+static struct platform_device nand_flash_device = {
+       .name = "pnx4008-flash",
+       .id = -1,
+       .dev = {
+               .coherent_dma_mask = 0xFFFFFFFF,
+       },
+};
+
+/* The dmamask must be set for OHCI to work */
+static u64 ohci_dmamask = ~(u32) 0;
+
+static struct resource ohci_resources[] = {
+       {
+               .start = IO_ADDRESS(PNX4008_USB_CONFIG_BASE),
+               .end = IO_ADDRESS(PNX4008_USB_CONFIG_BASE + 0x100),
+               .flags = IORESOURCE_MEM,
+       }, {
+               .start = USB_HOST_INT,
+               .flags = IORESOURCE_IRQ,
+       },
+};
+
+static struct platform_device ohci_device = {
+       .name = "pnx4008-usb-ohci",
+       .id = -1,
+       .dev = {
+               .dma_mask = &ohci_dmamask,
+               .coherent_dma_mask = 0xffffffff,
+               },
+       .num_resources = ARRAY_SIZE(ohci_resources),
+       .resource = ohci_resources,
+};
+
+static struct platform_device sdum_device = {
+       .name = "pnx4008-sdum",
+       .id = 0,
+       .dev = {
+               .coherent_dma_mask = 0xffffffff,
+       },
+};
+
+static struct platform_device rgbfb_device = {
+       .name = "pnx4008-rgbfb",
+       .id = 0,
+       .dev = {
+               .coherent_dma_mask = 0xffffffff,
+       }
+};
+
+struct resource watchdog_resources[] = {
+       {
+               .start = PNX4008_WDOG_BASE,
+               .end = PNX4008_WDOG_BASE + SZ_4K - 1,
+               .flags = IORESOURCE_MEM,
+       },
+};
+
+static struct platform_device watchdog_device = {
+       .name = "pnx4008-watchdog",
+       .id = -1,
+       .num_resources = ARRAY_SIZE(watchdog_resources),
+       .resource = watchdog_resources,
+};
+
 static struct platform_device *devices[] __initdata = {
        &spipnx_1,
        &spipnx_2,
        &serial_device,
+       &ohci_device,
+       &nand_flash_device,
+       &sdum_device,
+       &rgbfb_device,
+       &watchdog_device,
 };