ARM: 5682/1: Add cpu.c and dev.c and modify some files of w90p910 platform
[safe/jmp/linux-2.6] / arch / arm / mach-w90x900 / mach-w90p910evb.c
diff --git a/arch/arm/mach-w90x900/mach-w90p910evb.c b/arch/arm/mach-w90x900/mach-w90p910evb.c
deleted file mode 100644 (file)
index 117578a..0000000
+++ /dev/null
@@ -1,407 +0,0 @@
-/*
- * linux/arch/arm/mach-w90x900/mach-w90p910evb.c
- *
- * Based on mach-s3c2410/mach-smdk2410.c by Jonas Dietsche
- *
- * Copyright (C) 2008 Nuvoton technology corporation.
- *
- * Wan ZongShun <mcuos.com@gmail.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation;version 2 of the License.
- *
- */
-
-#include <linux/kernel.h>
-#include <linux/types.h>
-#include <linux/interrupt.h>
-#include <linux/list.h>
-#include <linux/timer.h>
-#include <linux/init.h>
-#include <linux/platform_device.h>
-
-#include <linux/mtd/physmap.h>
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-
-#include <linux/spi/spi.h>
-#include <linux/spi/flash.h>
-
-#include <asm/mach/arch.h>
-#include <asm/mach/map.h>
-#include <asm/mach/irq.h>
-#include <asm/mach-types.h>
-
-#include <mach/regs-serial.h>
-#include <mach/map.h>
-
-#include "cpu.h"
-/*w90p910 evb norflash driver data */
-
-#define W90P910_FLASH_BASE     0xA0000000
-#define W90P910_FLASH_SIZE     0x400000
-#define SPIOFFSET              0x200
-#define SPIOREG_SIZE           0x100
-
-static struct mtd_partition w90p910_flash_partitions[] = {
-       {
-               .name   =       "NOR Partition 1 for kernel (960K)",
-               .size   =       0xF0000,
-               .offset =       0x10000,
-       },
-       {
-               .name   =       "NOR Partition 2 for image (1M)",
-               .size   =       0x100000,
-               .offset =       0x100000,
-       },
-       {
-               .name   =       "NOR Partition 3 for user (2M)",
-               .size   =       0x200000,
-               .offset =       0x00200000,
-       }
-};
-
-static struct physmap_flash_data w90p910_flash_data = {
-       .width          =       2,
-       .parts          =       w90p910_flash_partitions,
-       .nr_parts       =       ARRAY_SIZE(w90p910_flash_partitions),
-};
-
-static struct resource w90p910_flash_resources[] = {
-       {
-               .start  =       W90P910_FLASH_BASE,
-               .end    =       W90P910_FLASH_BASE + W90P910_FLASH_SIZE - 1,
-               .flags  =       IORESOURCE_MEM,
-       }
-};
-
-static struct platform_device w90p910_flash_device = {
-       .name           =       "physmap-flash",
-       .id             =       0,
-       .dev            = {
-                               .platform_data = &w90p910_flash_data,
-                       },
-       .resource       =       w90p910_flash_resources,
-       .num_resources  =       ARRAY_SIZE(w90p910_flash_resources),
-};
-
-/* USB EHCI Host Controller */
-
-static struct resource w90x900_usb_ehci_resource[] = {
-       [0] = {
-               .start = W90X900_PA_USBEHCIHOST,
-               .end   = W90X900_PA_USBEHCIHOST + W90X900_SZ_USBEHCIHOST - 1,
-               .flags = IORESOURCE_MEM,
-       },
-       [1] = {
-               .start = IRQ_USBH,
-               .end   = IRQ_USBH,
-               .flags = IORESOURCE_IRQ,
-       }
-};
-
-static u64 w90x900_device_usb_ehci_dmamask = 0xffffffffUL;
-
-struct platform_device w90x900_device_usb_ehci = {
-       .name             = "w90x900-ehci",
-       .id               = -1,
-       .num_resources    = ARRAY_SIZE(w90x900_usb_ehci_resource),
-       .resource         = w90x900_usb_ehci_resource,
-       .dev              = {
-               .dma_mask = &w90x900_device_usb_ehci_dmamask,
-               .coherent_dma_mask = 0xffffffffUL
-       }
-};
-EXPORT_SYMBOL(w90x900_device_usb_ehci);
-
-/* USB OHCI Host Controller */
-
-static struct resource w90x900_usb_ohci_resource[] = {
-       [0] = {
-               .start = W90X900_PA_USBOHCIHOST,
-               .end   = W90X900_PA_USBOHCIHOST + W90X900_SZ_USBOHCIHOST - 1,
-               .flags = IORESOURCE_MEM,
-       },
-       [1] = {
-               .start = IRQ_USBH,
-               .end   = IRQ_USBH,
-               .flags = IORESOURCE_IRQ,
-       }
-};
-
-static u64 w90x900_device_usb_ohci_dmamask = 0xffffffffUL;
-struct platform_device w90x900_device_usb_ohci = {
-       .name             = "w90x900-ohci",
-       .id               = -1,
-       .num_resources    = ARRAY_SIZE(w90x900_usb_ohci_resource),
-       .resource         = w90x900_usb_ohci_resource,
-       .dev              = {
-               .dma_mask = &w90x900_device_usb_ohci_dmamask,
-               .coherent_dma_mask = 0xffffffffUL
-       }
-};
-EXPORT_SYMBOL(w90x900_device_usb_ohci);
-
-/*TouchScreen controller*/
-
-static struct resource w90x900_ts_resource[] = {
-       [0] = {
-               .start = W90X900_PA_ADC,
-               .end   = W90X900_PA_ADC + W90X900_SZ_ADC-1,
-               .flags = IORESOURCE_MEM,
-       },
-       [1] = {
-               .start = IRQ_ADC,
-               .end   = IRQ_ADC,
-               .flags = IORESOURCE_IRQ,
-       },
-};
-
-struct platform_device w90x900_device_ts = {
-       .name           = "w90x900-ts",
-       .id             = -1,
-       .resource       = w90x900_ts_resource,
-       .num_resources  = ARRAY_SIZE(w90x900_ts_resource),
-};
-EXPORT_SYMBOL(w90x900_device_ts);
-
-/* RTC controller*/
-
-static struct resource w90x900_rtc_resource[] = {
-       [0] = {
-               .start = W90X900_PA_RTC,
-               .end   = W90X900_PA_RTC + 0xff,
-               .flags = IORESOURCE_MEM,
-       },
-       [1] = {
-               .start = IRQ_RTC,
-               .end   = IRQ_RTC,
-               .flags = IORESOURCE_IRQ,
-       },
-};
-
-struct platform_device w90x900_device_rtc = {
-       .name           = "w90x900-rtc",
-       .id             = -1,
-       .num_resources  = ARRAY_SIZE(w90x900_rtc_resource),
-       .resource       = w90x900_rtc_resource,
-};
-EXPORT_SYMBOL(w90x900_device_rtc);
-
-/* KPI controller*/
-
-static struct resource w90x900_kpi_resource[] = {
-       [0] = {
-               .start = W90X900_PA_KPI,
-               .end   = W90X900_PA_KPI + W90X900_SZ_KPI - 1,
-               .flags = IORESOURCE_MEM,
-       },
-       [1] = {
-               .start = IRQ_KPI,
-               .end   = IRQ_KPI,
-               .flags = IORESOURCE_IRQ,
-       }
-
-};
-
-struct platform_device w90x900_device_kpi = {
-       .name           = "w90x900-kpi",
-       .id             = -1,
-       .num_resources  = ARRAY_SIZE(w90x900_kpi_resource),
-       .resource       = w90x900_kpi_resource,
-};
-EXPORT_SYMBOL(w90x900_device_kpi);
-
-/* USB Device (Gadget)*/
-
-static struct resource w90x900_usbgadget_resource[] = {
-       [0] = {
-               .start = W90X900_PA_USBDEV,
-               .end   = W90X900_PA_USBDEV + W90X900_SZ_USBDEV - 1,
-               .flags = IORESOURCE_MEM,
-       },
-       [1] = {
-               .start = IRQ_USBD,
-               .end   = IRQ_USBD,
-               .flags = IORESOURCE_IRQ,
-       }
-};
-
-struct platform_device w90x900_device_usbgadget = {
-       .name           = "w90x900-usbgadget",
-       .id             = -1,
-       .num_resources  = ARRAY_SIZE(w90x900_usbgadget_resource),
-       .resource       = w90x900_usbgadget_resource,
-};
-EXPORT_SYMBOL(w90x900_device_usbgadget);
-
-/* FMI Device */
-
-static struct resource w90p910_fmi_resource[] = {
-       [0] = {
-               .start = W90X900_PA_FMI,
-               .end   = W90X900_PA_FMI + W90X900_SZ_FMI - 1,
-               .flags = IORESOURCE_MEM,
-       },
-       [1] = {
-               .start = IRQ_FMI,
-               .end   = IRQ_FMI,
-               .flags = IORESOURCE_IRQ,
-       }
-};
-
-static struct platform_device w90p910_device_fmi = {
-       .name           = "w90p910-fmi",
-       .id             = -1,
-       .num_resources  = ARRAY_SIZE(w90p910_fmi_resource),
-       .resource       = w90p910_fmi_resource,
-};
-
-/* MAC device */
-
-static struct resource w90x900_emc_resource[] = {
-       [0] = {
-               .start = W90X900_PA_EMC,
-               .end   = W90X900_PA_EMC + W90X900_SZ_EMC - 1,
-               .flags = IORESOURCE_MEM,
-       },
-       [1] = {
-               .start = IRQ_EMCTX,
-               .end   = IRQ_EMCTX,
-               .flags = IORESOURCE_IRQ,
-       },
-       [2] = {
-               .start = IRQ_EMCRX,
-               .end   = IRQ_EMCRX,
-               .flags = IORESOURCE_IRQ,
-       }
-};
-
-static u64 w90x900_device_emc_dmamask = 0xffffffffUL;
-static struct platform_device w90p910_device_emc = {
-       .name           = "w90p910-emc",
-       .id             = -1,
-       .num_resources  = ARRAY_SIZE(w90x900_emc_resource),
-       .resource       = w90x900_emc_resource,
-       .dev              = {
-               .dma_mask = &w90x900_device_emc_dmamask,
-               .coherent_dma_mask = 0xffffffffUL
-       }
-};
-
-/* SPI device */
-
-static struct resource w90p910_spi_resource[] = {
-       [0] = {
-               .start = W90X900_PA_I2C + SPIOFFSET,
-               .end   = W90X900_PA_I2C + SPIOFFSET + SPIOREG_SIZE - 1,
-               .flags = IORESOURCE_MEM,
-       },
-       [1] = {
-               .start = IRQ_SSP,
-               .end   = IRQ_SSP,
-               .flags = IORESOURCE_IRQ,
-       }
-};
-
-static struct platform_device w90p910_device_spi = {
-       .name           = "w90p910-spi",
-       .id             = -1,
-       .num_resources  = ARRAY_SIZE(w90p910_spi_resource),
-       .resource       = w90p910_spi_resource,
-};
-
-/* spi device, spi flash info */
-
-static struct mtd_partition w90p910_spi_flash_partitions[] = {
-       {
-               .name = "bootloader(spi)",
-               .size = 0x0100000,
-               .offset = 0,
-       },
-};
-
-static struct flash_platform_data w90p910_spi_flash_data = {
-       .name = "m25p80",
-       .parts =  w90p910_spi_flash_partitions,
-       .nr_parts = ARRAY_SIZE(w90p910_spi_flash_partitions),
-       .type = "w25x16",
-};
-
-static struct spi_board_info w90p910_spi_board_info[] __initdata = {
-       {
-               .modalias = "m25p80",
-               .max_speed_hz = 20000000,
-               .bus_num = 0,
-               .chip_select = 1,
-               .platform_data = &w90p910_spi_flash_data,
-               .mode = SPI_MODE_0,
-       },
-};
-
-/* WDT Device */
-
-static struct resource w90p910_wdt_resource[] = {
-       [0] = {
-               .start = W90X900_PA_TIMER,
-               .end   = W90X900_PA_TIMER + W90X900_SZ_TIMER - 1,
-               .flags = IORESOURCE_MEM,
-       },
-       [1] = {
-               .start = IRQ_WDT,
-               .end   = IRQ_WDT,
-               .flags = IORESOURCE_IRQ,
-       }
-};
-
-static struct platform_device w90p910_device_wdt = {
-       .name           = "w90p910-wdt",
-       .id             = -1,
-       .num_resources  = ARRAY_SIZE(w90p910_wdt_resource),
-       .resource       = w90p910_wdt_resource,
-};
-
-static struct map_desc w90p910_iodesc[] __initdata = {
-};
-
-/*Here should be your evb resourse,such as LCD*/
-
-static struct platform_device *w90p910evb_dev[] __initdata = {
-       &w90p910_serial_device,
-       &w90p910_flash_device,
-       &w90x900_device_usb_ehci,
-       &w90x900_device_usb_ohci,
-       &w90x900_device_ts,
-       &w90x900_device_rtc,
-       &w90x900_device_kpi,
-       &w90x900_device_usbgadget,
-       &w90p910_device_fmi,
-       &w90p910_device_emc,
-       &w90p910_device_spi,
-       &w90p910_device_wdt,
-};
-
-static void __init w90p910evb_map_io(void)
-{
-       w90p910_map_io(w90p910_iodesc, ARRAY_SIZE(w90p910_iodesc));
-       w90p910_init_clocks();
-}
-
-static void __init w90p910evb_init(void)
-{
-       platform_add_devices(w90p910evb_dev, ARRAY_SIZE(w90p910evb_dev));
-       spi_register_board_info(w90p910_spi_board_info,
-                                       ARRAY_SIZE(w90p910_spi_board_info));
-}
-
-MACHINE_START(W90P910EVB, "W90P910EVB")
-       /* Maintainer: Wan ZongShun */
-       .phys_io        = W90X900_PA_UART,
-       .io_pg_offst    = (((u32)W90X900_VA_UART) >> 18) & 0xfffc,
-       .boot_params    = 0,
-       .map_io         = w90p910evb_map_io,
-       .init_irq       = w90x900_init_irq,
-       .init_machine   = w90p910evb_init,
-       .timer          = &w90x900_timer,
-MACHINE_END