From 31bf90634e9cfdfddfc7402fc435030e56d8cbd4 Mon Sep 17 00:00:00 2001 From: Ben Dooks Date: Thu, 19 Mar 2009 15:02:33 +0000 Subject: [PATCH] --- yaml --- r: 149263 b: refs/heads/master c: 5a9eb8da8b95fce21eb2dd39fe71b2b7882ce89a h: refs/heads/master i: 149261: 37cbdd92b7cb7512dc9cab0b2a332174356a1299 149259: 89f442ea0de595dd682815ccaef023bedf2fb9b7 149255: c1487ef0edc8cf45233dd58b202f50285fcfa86c 149247: 234735ab26cf1f3c80233fc18d062a1c756018da v: v3 --- [refs] | 2 +- trunk/arch/arm/common/Kconfig | 7 - trunk/arch/arm/common/vic.c | 221 +--------- trunk/arch/arm/include/asm/hardware/vic.h | 2 +- trunk/arch/arm/mach-ep93xx/core.c | 4 +- trunk/arch/arm/mach-netx/generic.c | 2 +- trunk/arch/arm/mach-s3c2410/Kconfig | 8 - trunk/arch/arm/mach-s3c2410/dma.c | 2 +- .../arch/arm/mach-s3c2410/include/mach/map.h | 2 +- .../mach-s3c2410/include/mach/system-reset.h | 36 +- trunk/arch/arm/mach-s3c2412/Kconfig | 3 - trunk/arch/arm/mach-s3c2412/dma.c | 2 +- trunk/arch/arm/mach-s3c2440/Kconfig | 5 - trunk/arch/arm/mach-s3c2440/dma.c | 2 +- trunk/arch/arm/mach-s3c2443/dma.c | 2 +- trunk/arch/arm/mach-s3c6400/Kconfig | 25 +- trunk/arch/arm/mach-s3c6400/Makefile | 10 +- .../arch/arm/mach-s3c6400/include/mach/map.h | 6 - .../mach-s3c6400/include/mach/regs-clock.h | 16 - .../arm/mach-s3c6400/include/mach/system.h | 8 +- trunk/arch/arm/mach-s3c6400/mach-smdk6400.c | 96 ----- trunk/arch/arm/mach-s3c6400/s3c6400.c | 89 ---- trunk/arch/arm/mach-s3c6400/setup-sdhci.c | 63 --- trunk/arch/arm/mach-s3c6410/Kconfig | 37 -- trunk/arch/arm/mach-s3c6410/Makefile | 4 - trunk/arch/arm/mach-s3c6410/cpu.c | 3 +- trunk/arch/arm/mach-s3c6410/mach-anw6410.c | 245 ----------- trunk/arch/arm/mach-s3c6410/mach-ncp.c | 107 ----- trunk/arch/arm/mach-s3c6410/mach-smdk6410.c | 198 --------- trunk/arch/arm/mach-s3c6410/setup-sdhci.c | 34 ++ trunk/arch/arm/mach-versatile/core.c | 2 +- trunk/arch/arm/plat-s3c/Kconfig | 19 - trunk/arch/arm/plat-s3c/Makefile | 3 - trunk/arch/arm/plat-s3c/dev-usb-hsotg.c | 41 -- trunk/arch/arm/plat-s3c/dev-usb.c | 50 --- trunk/arch/arm/plat-s3c/gpio.c | 11 +- trunk/arch/arm/plat-s3c/include/plat/adc.h | 10 +- trunk/arch/arm/plat-s3c/include/plat/clock.h | 1 - trunk/arch/arm/plat-s3c/include/plat/cpu.h | 3 - trunk/arch/arm/plat-s3c/include/plat/devs.h | 1 - .../arm/plat-s3c/include/plat/gpio-core.h | 30 -- trunk/arch/arm/plat-s3c/include/plat/pm.h | 15 - .../arm/plat-s3c/include/plat/regs-serial.h | 5 - trunk/arch/arm/plat-s3c/include/plat/sdhci.h | 50 +-- trunk/arch/arm/plat-s3c/include/plat/udc-hs.h | 29 -- .../plat-s3c/include/plat/watchdog-reset.h | 49 --- trunk/arch/arm/plat-s3c/pm-gpio.c | 380 ------------------ trunk/arch/arm/plat-s3c/pm.c | 19 +- trunk/arch/arm/plat-s3c24xx/adc.c | 11 +- trunk/arch/arm/plat-s3c24xx/devs.c | 30 ++ trunk/arch/arm/plat-s3c24xx/dma.c | 2 +- trunk/arch/arm/plat-s3c24xx/gpiolib.c | 8 - .../include/plat/{dma.h => dma-plat.h} | 2 +- .../arch/arm/plat-s3c24xx/include/plat/map.h | 1 + .../arm/plat-s3c24xx/include/plat/pm-core.h | 5 - trunk/arch/arm/plat-s3c24xx/pm.c | 213 ++++++++++ trunk/arch/arm/plat-s3c64xx/Kconfig | 6 - trunk/arch/arm/plat-s3c64xx/Makefile | 7 - trunk/arch/arm/plat-s3c64xx/clock.c | 19 - trunk/arch/arm/plat-s3c64xx/cpu.c | 32 -- trunk/arch/arm/plat-s3c64xx/gpiolib.c | 10 +- .../arch/arm/plat-s3c64xx/include/plat/irqs.h | 1 - .../arm/plat-s3c64xx/include/plat/pm-core.h | 98 ----- .../plat-s3c64xx/include/plat/regs-clock.h | 1 - .../arm/plat-s3c64xx/include/plat/s3c6400.h | 3 +- trunk/arch/arm/plat-s3c64xx/irq-eint.c | 3 - trunk/arch/arm/plat-s3c64xx/irq-pm.c | 111 ----- trunk/arch/arm/plat-s3c64xx/irq.c | 9 +- trunk/arch/arm/plat-s3c64xx/pm.c | 175 -------- trunk/arch/arm/plat-s3c64xx/s3c6400-clock.c | 106 +---- .../arch/arm/plat-s3c64xx/setup-sdhci-gpio.c | 55 --- trunk/arch/arm/plat-s3c64xx/sleep.S | 144 ------- 72 files changed, 360 insertions(+), 2651 deletions(-) delete mode 100644 trunk/arch/arm/mach-s3c6400/include/mach/regs-clock.h delete mode 100644 trunk/arch/arm/mach-s3c6400/mach-smdk6400.c delete mode 100644 trunk/arch/arm/mach-s3c6400/s3c6400.c delete mode 100644 trunk/arch/arm/mach-s3c6400/setup-sdhci.c delete mode 100644 trunk/arch/arm/mach-s3c6410/mach-anw6410.c delete mode 100644 trunk/arch/arm/mach-s3c6410/mach-ncp.c delete mode 100644 trunk/arch/arm/plat-s3c/dev-usb-hsotg.c delete mode 100644 trunk/arch/arm/plat-s3c/dev-usb.c delete mode 100644 trunk/arch/arm/plat-s3c/include/plat/udc-hs.h delete mode 100644 trunk/arch/arm/plat-s3c/include/plat/watchdog-reset.h delete mode 100644 trunk/arch/arm/plat-s3c/pm-gpio.c rename trunk/arch/arm/plat-s3c24xx/include/plat/{dma.h => dma-plat.h} (97%) delete mode 100644 trunk/arch/arm/plat-s3c64xx/include/plat/pm-core.h delete mode 100644 trunk/arch/arm/plat-s3c64xx/irq-pm.c delete mode 100644 trunk/arch/arm/plat-s3c64xx/pm.c delete mode 100644 trunk/arch/arm/plat-s3c64xx/setup-sdhci-gpio.c delete mode 100644 trunk/arch/arm/plat-s3c64xx/sleep.S diff --git a/[refs] b/[refs] index d7303ba0e829..38c9ea48dc64 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 543899f610799426babb5313682fd9c249e34677 +refs/heads/master: 5a9eb8da8b95fce21eb2dd39fe71b2b7882ce89a diff --git a/trunk/arch/arm/common/Kconfig b/trunk/arch/arm/common/Kconfig index 38518d450bc0..a2cd9beaf37d 100644 --- a/trunk/arch/arm/common/Kconfig +++ b/trunk/arch/arm/common/Kconfig @@ -4,13 +4,6 @@ config ARM_GIC config ARM_VIC bool -config ARM_VIC_NR - int - default 2 - help - The maximum number of VICs available in the system, for - power management. - config ICST525 bool diff --git a/trunk/arch/arm/common/vic.c b/trunk/arch/arm/common/vic.c index 887c6eb3a18a..b2a781d9ce05 100644 --- a/trunk/arch/arm/common/vic.c +++ b/trunk/arch/arm/common/vic.c @@ -21,7 +21,6 @@ #include #include #include -#include #include #include @@ -40,219 +39,11 @@ static void vic_unmask_irq(unsigned int irq) writel(1 << irq, base + VIC_INT_ENABLE); } -/** - * vic_init2 - common initialisation code - * @base: Base of the VIC. - * - * Common initialisation code for registeration - * and resume. -*/ -static void vic_init2(void __iomem *base) -{ - int i; - - for (i = 0; i < 16; i++) { - void __iomem *reg = base + VIC_VECT_CNTL0 + (i * 4); - writel(VIC_VECT_CNTL_ENABLE | i, reg); - } - - writel(32, base + VIC_PL190_DEF_VECT_ADDR); -} - -#if defined(CONFIG_PM) -/** - * struct vic_device - VIC PM device - * @sysdev: The system device which is registered. - * @irq: The IRQ number for the base of the VIC. - * @base: The register base for the VIC. - * @resume_sources: A bitmask of interrupts for resume. - * @resume_irqs: The IRQs enabled for resume. - * @int_select: Save for VIC_INT_SELECT. - * @int_enable: Save for VIC_INT_ENABLE. - * @soft_int: Save for VIC_INT_SOFT. - * @protect: Save for VIC_PROTECT. - */ -struct vic_device { - struct sys_device sysdev; - - void __iomem *base; - int irq; - u32 resume_sources; - u32 resume_irqs; - u32 int_select; - u32 int_enable; - u32 soft_int; - u32 protect; -}; - -/* we cannot allocate memory when VICs are initially registered */ -static struct vic_device vic_devices[CONFIG_ARM_VIC_NR]; - -static inline struct vic_device *to_vic(struct sys_device *sys) -{ - return container_of(sys, struct vic_device, sysdev); -} - -static int vic_id; - -static int vic_class_resume(struct sys_device *dev) -{ - struct vic_device *vic = to_vic(dev); - void __iomem *base = vic->base; - - printk(KERN_DEBUG "%s: resuming vic at %p\n", __func__, base); - - /* re-initialise static settings */ - vic_init2(base); - - writel(vic->int_select, base + VIC_INT_SELECT); - writel(vic->protect, base + VIC_PROTECT); - - /* set the enabled ints and then clear the non-enabled */ - writel(vic->int_enable, base + VIC_INT_ENABLE); - writel(~vic->int_enable, base + VIC_INT_ENABLE_CLEAR); - - /* and the same for the soft-int register */ - - writel(vic->soft_int, base + VIC_INT_SOFT); - writel(~vic->soft_int, base + VIC_INT_SOFT_CLEAR); - - return 0; -} - -static int vic_class_suspend(struct sys_device *dev, pm_message_t state) -{ - struct vic_device *vic = to_vic(dev); - void __iomem *base = vic->base; - - printk(KERN_DEBUG "%s: suspending vic at %p\n", __func__, base); - - vic->int_select = readl(base + VIC_INT_SELECT); - vic->int_enable = readl(base + VIC_INT_ENABLE); - vic->soft_int = readl(base + VIC_INT_SOFT); - vic->protect = readl(base + VIC_PROTECT); - - /* set the interrupts (if any) that are used for - * resuming the system */ - - writel(vic->resume_irqs, base + VIC_INT_ENABLE); - writel(~vic->resume_irqs, base + VIC_INT_ENABLE_CLEAR); - - return 0; -} - -struct sysdev_class vic_class = { - .name = "vic", - .suspend = vic_class_suspend, - .resume = vic_class_resume, -}; - -/** - * vic_pm_register - Register a VIC for later power management control - * @base: The base address of the VIC. - * @irq: The base IRQ for the VIC. - * @resume_sources: bitmask of interrupts allowed for resume sources. - * - * Register the VIC with the system device tree so that it can be notified - * of suspend and resume requests and ensure that the correct actions are - * taken to re-instate the settings on resume. - */ -static void __init vic_pm_register(void __iomem *base, unsigned int irq, u32 resume_sources) -{ - struct vic_device *v; - - if (vic_id >= ARRAY_SIZE(vic_devices)) - printk(KERN_ERR "%s: too few VICs, increase CONFIG_ARM_VIC_NR\n", __func__); - else { - v = &vic_devices[vic_id]; - v->base = base; - v->resume_sources = resume_sources; - v->irq = irq; - vic_id++; - } -} - -/** - * vic_pm_init - initicall to register VIC pm - * - * This is called via late_initcall() to register - * the resources for the VICs due to the early - * nature of the VIC's registration. -*/ -static int __init vic_pm_init(void) -{ - struct vic_device *dev = vic_devices; - int err; - int id; - - if (vic_id == 0) - return 0; - - err = sysdev_class_register(&vic_class); - if (err) { - printk(KERN_ERR "%s: cannot register class\n", __func__); - return err; - } - - for (id = 0; id < vic_id; id++, dev++) { - dev->sysdev.id = id; - dev->sysdev.cls = &vic_class; - - err = sysdev_register(&dev->sysdev); - if (err) { - printk(KERN_ERR "%s: failed to register device\n", - __func__); - return err; - } - } - - return 0; -} - -late_initcall(vic_pm_init); - -static struct vic_device *vic_from_irq(unsigned int irq) -{ - struct vic_device *v = vic_devices; - unsigned int base_irq = irq & ~31; - int id; - - for (id = 0; id < vic_id; id++, v++) { - if (v->irq == base_irq) - return v; - } - - return NULL; -} - -static int vic_set_wake(unsigned int irq, unsigned int on) -{ - struct vic_device *v = vic_from_irq(irq); - unsigned int off = irq & 31; - - if (!v) - return -EINVAL; - - if (on) - v->resume_irqs |= 1 << off; - else - v->resume_irqs &= ~(1 << off); - - return 0; -} - -#else -static inline void vic_pm_register(void __iomem *base, unsigned int irq, u32 arg1) { } - -#define vic_set_wake NULL -#endif /* CONFIG_PM */ - static struct irq_chip vic_chip = { .name = "VIC", .ack = vic_mask_irq, .mask = vic_mask_irq, .unmask = vic_unmask_irq, - .set_wake = vic_set_wake, }; /** @@ -260,10 +51,9 @@ static struct irq_chip vic_chip = { * @base: iomem base address * @irq_start: starting interrupt number, must be muliple of 32 * @vic_sources: bitmask of interrupt sources to allow - * @resume_sources: bitmask of interrupt sources to allow for resume */ void __init vic_init(void __iomem *base, unsigned int irq_start, - u32 vic_sources, u32 resume_sources) + u32 vic_sources) { unsigned int i; @@ -287,7 +77,12 @@ void __init vic_init(void __iomem *base, unsigned int irq_start, writel(value, base + VIC_PL190_VECT_ADDR); } - vic_init2(base); + for (i = 0; i < 16; i++) { + void __iomem *reg = base + VIC_VECT_CNTL0 + (i * 4); + writel(VIC_VECT_CNTL_ENABLE | i, reg); + } + + writel(32, base + VIC_PL190_DEF_VECT_ADDR); for (i = 0; i < 32; i++) { if (vic_sources & (1 << i)) { @@ -299,6 +94,4 @@ void __init vic_init(void __iomem *base, unsigned int irq_start, set_irq_flags(irq, IRQF_VALID | IRQF_PROBE); } } - - vic_pm_register(base, irq_start, resume_sources); } diff --git a/trunk/arch/arm/include/asm/hardware/vic.h b/trunk/arch/arm/include/asm/hardware/vic.h index 5d72550a8097..f87328d4a180 100644 --- a/trunk/arch/arm/include/asm/hardware/vic.h +++ b/trunk/arch/arm/include/asm/hardware/vic.h @@ -41,7 +41,7 @@ #define VIC_PL192_VECT_ADDR 0xF00 #ifndef __ASSEMBLY__ -void vic_init(void __iomem *base, unsigned int irq_start, u32 vic_sources, u32 resume_sources); +void vic_init(void __iomem *base, unsigned int irq_start, u32 vic_sources); #endif #endif diff --git a/trunk/arch/arm/mach-ep93xx/core.c b/trunk/arch/arm/mach-ep93xx/core.c index 6faa3dc29cec..ae24486f858a 100644 --- a/trunk/arch/arm/mach-ep93xx/core.c +++ b/trunk/arch/arm/mach-ep93xx/core.c @@ -362,8 +362,8 @@ void __init ep93xx_init_irq(void) { int gpio_irq; - vic_init((void *)EP93XX_VIC1_BASE, 0, EP93XX_VIC1_VALID_IRQ_MASK, 0); - vic_init((void *)EP93XX_VIC2_BASE, 32, EP93XX_VIC2_VALID_IRQ_MASK, 0); + vic_init((void *)EP93XX_VIC1_BASE, 0, EP93XX_VIC1_VALID_IRQ_MASK); + vic_init((void *)EP93XX_VIC2_BASE, 32, EP93XX_VIC2_VALID_IRQ_MASK); for (gpio_irq = gpio_to_irq(0); gpio_irq <= gpio_to_irq(EP93XX_GPIO_LINE_MAX_IRQ); ++gpio_irq) { diff --git a/trunk/arch/arm/mach-netx/generic.c b/trunk/arch/arm/mach-netx/generic.c index 43da8bb4926b..79df60c20e70 100644 --- a/trunk/arch/arm/mach-netx/generic.c +++ b/trunk/arch/arm/mach-netx/generic.c @@ -168,7 +168,7 @@ void __init netx_init_irq(void) { int irq; - vic_init(__io(io_p2v(NETX_PA_VIC)), 0, ~0, 0); + vic_init(__io(io_p2v(NETX_PA_VIC)), 0, ~0); for (irq = NETX_IRQ_HIF_CHAINED(0); irq <= NETX_IRQ_HIF_LAST; irq++) { set_irq_chip(irq, &netx_hif_chip); diff --git a/trunk/arch/arm/mach-s3c2410/Kconfig b/trunk/arch/arm/mach-s3c2410/Kconfig index 41bb65d5b91f..63a30d1dd425 100644 --- a/trunk/arch/arm/mach-s3c2410/Kconfig +++ b/trunk/arch/arm/mach-s3c2410/Kconfig @@ -59,7 +59,6 @@ config ARCH_H1940 bool "IPAQ H1940" select CPU_S3C2410 select PM_H1940 if PM - select S3C_DEV_USB_HOST help Say Y here if you are using the HP IPAQ H1940 @@ -71,7 +70,6 @@ config PM_H1940 config MACH_N30 bool "Acer N30 family" select CPU_S3C2410 - select S3C_DEV_USB_HOST help Say Y here if you want suppt for the Acer N30, Acer N35, Navman PiN570, Yakumo AlphaX or Airis NC05 PDAs. @@ -84,7 +82,6 @@ config ARCH_BAST select MACH_BAST_IDE select S3C24XX_DCLK select ISA - select S3C_DEV_USB_HOST help Say Y here if you are using the Simtec Electronics EB2410ITX development board (also known as BAST) @@ -92,7 +89,6 @@ config ARCH_BAST config MACH_OTOM bool "NexVision OTOM Board" select CPU_S3C2410 - select S3C_DEV_USB_HOST help Say Y here if you are using the Nex Vision OTOM board @@ -100,7 +96,6 @@ config MACH_AML_M5900 bool "AML M5900 Series" select CPU_S3C2410 select PM_SIMTEC if PM - select S3C_DEV_USB_HOST help Say Y here if you are using the American Microsystems M5900 Series @@ -116,7 +111,6 @@ config BAST_PC104_IRQ config MACH_TCT_HAMMER bool "TCT Hammer Board" select CPU_S3C2410 - select S3C_DEV_USB_HOST help Say Y here if you are using the TinCanTools Hammer Board @@ -128,14 +122,12 @@ config MACH_VR1000 select SIMTEC_NOR select MACH_BAST_IDE select CPU_S3C2410 - select S3C_DEV_USB_HOST help Say Y here if you are using the Thorcom VR1000 board. config MACH_QT2410 bool "QT2410" select CPU_S3C2410 - select S3C_DEV_USB_HOST help Say Y here if you are using the Armzone QT2410 diff --git a/trunk/arch/arm/mach-s3c2410/dma.c b/trunk/arch/arm/mach-s3c2410/dma.c index 440c014e24b3..6248f412f678 100644 --- a/trunk/arch/arm/mach-s3c2410/dma.c +++ b/trunk/arch/arm/mach-s3c2410/dma.c @@ -20,7 +20,7 @@ #include #include -#include +#include #include #include diff --git a/trunk/arch/arm/mach-s3c2410/include/mach/map.h b/trunk/arch/arm/mach-s3c2410/include/mach/map.h index e99b212cb1ca..255fdfeaf957 100644 --- a/trunk/arch/arm/mach-s3c2410/include/mach/map.h +++ b/trunk/arch/arm/mach-s3c2410/include/mach/map.h @@ -84,6 +84,7 @@ #define S3C24XX_PA_IRQ S3C2410_PA_IRQ #define S3C24XX_PA_MEMCTRL S3C2410_PA_MEMCTRL +#define S3C24XX_PA_USBHOST S3C2410_PA_USBHOST #define S3C24XX_PA_DMA S3C2410_PA_DMA #define S3C24XX_PA_CLKPWR S3C2410_PA_CLKPWR #define S3C24XX_PA_LCD S3C2410_PA_LCD @@ -101,7 +102,6 @@ #define S3C_PA_IIC S3C2410_PA_IIC #define S3C_PA_UART S3C24XX_PA_UART -#define S3C_PA_USBHOST S3C2410_PA_USBHOST #define S3C_PA_HSMMC0 S3C2443_PA_HSMMC #endif /* __ASM_ARCH_MAP_H */ diff --git a/trunk/arch/arm/mach-s3c2410/include/mach/system-reset.h b/trunk/arch/arm/mach-s3c2410/include/mach/system-reset.h index 6faadcee7729..b8687f71c304 100644 --- a/trunk/arch/arm/mach-s3c2410/include/mach/system-reset.h +++ b/trunk/arch/arm/mach-s3c2410/include/mach/system-reset.h @@ -11,13 +11,21 @@ */ #include -#include +#include + +#include +#include + +#include +#include extern void (*s3c24xx_reset_hook)(void); static void arch_reset(char mode, const char *cmd) { + struct clk *wdtclk; + if (mode == 's') { cpu_reset(0); } @@ -25,7 +33,31 @@ arch_reset(char mode, const char *cmd) if (s3c24xx_reset_hook) s3c24xx_reset_hook(); - arch_wdt_reset(); + printk("arch_reset: attempting watchdog reset\n"); + + __raw_writel(0, S3C2410_WTCON); /* disable watchdog, to be safe */ + + wdtclk = clk_get(NULL, "watchdog"); + if (!IS_ERR(wdtclk)) { + clk_enable(wdtclk); + } else + printk(KERN_WARNING "%s: warning: cannot get watchdog clock\n", __func__); + + /* put initial values into count and data */ + __raw_writel(0x80, S3C2410_WTCNT); + __raw_writel(0x80, S3C2410_WTDAT); + + /* set the watchdog to go and reset... */ + __raw_writel(S3C2410_WTCON_ENABLE|S3C2410_WTCON_DIV16|S3C2410_WTCON_RSTEN | + S3C2410_WTCON_PRESCALE(0x20), S3C2410_WTCON); + + /* wait for reset to assert... */ + mdelay(500); + + printk(KERN_ERR "Watchdog reset failed to assert reset\n"); + + /* delay to allow the serial port to show the message */ + mdelay(50); /* we'll take a jump through zero as a poor second */ cpu_reset(0); diff --git a/trunk/arch/arm/mach-s3c2412/Kconfig b/trunk/arch/arm/mach-s3c2412/Kconfig index 63586ffd0ae7..ca99564ae4b5 100644 --- a/trunk/arch/arm/mach-s3c2412/Kconfig +++ b/trunk/arch/arm/mach-s3c2412/Kconfig @@ -38,7 +38,6 @@ menu "S3C2412 Machines" config MACH_JIVE bool "Logitech Jive" select CPU_S3C2412 - select S3C_DEV_USB_HOST help Say Y here if you are using the Logitech Jive. @@ -51,7 +50,6 @@ config MACH_SMDK2413 select CPU_S3C2412 select MACH_S3C2413 select MACH_SMDK - select S3C_DEV_USB_HOST help Say Y here if you are using an SMDK2413 @@ -74,7 +72,6 @@ config MACH_SMDK2412 config MACH_VSTMS bool "VMSTMS" select CPU_S3C2412 - select S3C_DEV_USB_HOST help Say Y here if you are using an VSTMS board diff --git a/trunk/arch/arm/mach-s3c2412/dma.c b/trunk/arch/arm/mach-s3c2412/dma.c index 9e3478506c6f..f888d4e01b0f 100644 --- a/trunk/arch/arm/mach-s3c2412/dma.c +++ b/trunk/arch/arm/mach-s3c2412/dma.c @@ -20,7 +20,7 @@ #include -#include +#include #include #include diff --git a/trunk/arch/arm/mach-s3c2440/Kconfig b/trunk/arch/arm/mach-s3c2440/Kconfig index 5df73cbf2b40..cde5ae9a4340 100644 --- a/trunk/arch/arm/mach-s3c2440/Kconfig +++ b/trunk/arch/arm/mach-s3c2440/Kconfig @@ -33,7 +33,6 @@ config MACH_ANUBIS select PM_SIMTEC if PM select HAVE_PATA_PLATFORM select S3C24XX_GPIO_EXTRA64 - select S3C_DEV_USB_HOST help Say Y here if you are using the Simtec Electronics ANUBIS development system @@ -44,7 +43,6 @@ config MACH_OSIRIS select S3C24XX_DCLK select PM_SIMTEC if PM select S3C24XX_GPIO_EXTRA128 - select S3C_DEV_USB_HOST help Say Y here if you are using the Simtec IM2440D20 module, also known as the Osiris. @@ -60,14 +58,12 @@ config ARCH_S3C2440 bool "SMDK2440" select CPU_S3C2440 select MACH_SMDK - select S3C_DEV_USB_HOST help Say Y here if you are using the SMDK2440. config MACH_NEXCODER_2440 bool "NexVision NEXCODER 2440 Light Board" select CPU_S3C2440 - select S3C_DEV_USB_HOST help Say Y here if you are using the Nex Vision NEXCODER 2440 Light Board @@ -80,7 +76,6 @@ config SMDK2440_CPU2440 config MACH_AT2440EVB bool "Avantech AT2440EVB development board" select CPU_S3C2440 - select S3C_DEV_USB_HOST help Say Y here if you are using the AT2440EVB development board diff --git a/trunk/arch/arm/mach-s3c2440/dma.c b/trunk/arch/arm/mach-s3c2440/dma.c index 69b6cf34df47..895783fe8b5f 100644 --- a/trunk/arch/arm/mach-s3c2440/dma.c +++ b/trunk/arch/arm/mach-s3c2440/dma.c @@ -19,7 +19,7 @@ #include -#include +#include #include #include diff --git a/trunk/arch/arm/mach-s3c2443/dma.c b/trunk/arch/arm/mach-s3c2443/dma.c index 8430e5829186..825b718a63af 100644 --- a/trunk/arch/arm/mach-s3c2443/dma.c +++ b/trunk/arch/arm/mach-s3c2443/dma.c @@ -20,7 +20,7 @@ #include -#include +#include #include #include diff --git a/trunk/arch/arm/mach-s3c6400/Kconfig b/trunk/arch/arm/mach-s3c6400/Kconfig index f5af212066c3..6da82b5c09ba 100644 --- a/trunk/arch/arm/mach-s3c6400/Kconfig +++ b/trunk/arch/arm/mach-s3c6400/Kconfig @@ -5,27 +5,4 @@ # # Licensed under GPLv2 -# Configuration options for the S3C6410 CPU - -config CPU_S3C6400 - bool - select CPU_S3C6400_INIT - select CPU_S3C6400_CLOCK - help - Enable S3C6400 CPU support - -config S3C6400_SETUP_SDHCI - bool - help - Internal configuration for default SDHCI - setup for S3C6400. - -# S36400 Macchine support - -config MACH_SMDK6400 - bool "SMDK6400" - select CPU_S3C6400 - select S3C_DEV_HSMMC - select S3C6400_SETUP_SDHCI - help - Machine support for the Samsung SMDK6400 +# Currently nothing here, this will be added later diff --git a/trunk/arch/arm/mach-s3c6400/Makefile b/trunk/arch/arm/mach-s3c6400/Makefile index df1ce4aa03e5..8f397db25b87 100644 --- a/trunk/arch/arm/mach-s3c6400/Makefile +++ b/trunk/arch/arm/mach-s3c6400/Makefile @@ -12,12 +12,4 @@ obj- := # Core support for S3C6400 system -obj-$(CONFIG_CPU_S3C6400) += s3c6400.o - -# setup support - -obj-$(CONFIG_S3C6400_SETUP_SDHCI) += setup-sdhci.o - -# Machine support - -obj-$(CONFIG_MACH_SMDK6400) += mach-smdk6400.o +obj-n += blank.o diff --git a/trunk/arch/arm/mach-s3c6400/include/mach/map.h b/trunk/arch/arm/mach-s3c6400/include/mach/map.h index 7a1e5a2455b3..baf1c0f1ea5a 100644 --- a/trunk/arch/arm/mach-s3c6400/include/mach/map.h +++ b/trunk/arch/arm/mach-s3c6400/include/mach/map.h @@ -39,8 +39,6 @@ #define S3C_VA_UART3 S3C_VA_UARTx(3) #define S3C64XX_PA_FB (0x77100000) -#define S3C64XX_PA_USB_HSOTG (0x7C000000) -#define S3C64XX_PA_WATCHDOG (0x7E004000) #define S3C64XX_PA_SYSCON (0x7E00F000) #define S3C64XX_PA_TIMER (0x7F006000) #define S3C64XX_PA_IIC0 (0x7F004000) @@ -57,8 +55,6 @@ #define S3C64XX_PA_MODEM (0x74108000) #define S3C64XX_VA_MODEM S3C_ADDR(0x00600000) -#define S3C64XX_PA_USBHOST (0x74300000) - /* place VICs close together */ #define S3C_VA_VIC0 (S3C_VA_IRQ + 0x00) #define S3C_VA_VIC1 (S3C_VA_IRQ + 0x10000) @@ -71,7 +67,5 @@ #define S3C_PA_IIC S3C64XX_PA_IIC0 #define S3C_PA_IIC1 S3C64XX_PA_IIC1 #define S3C_PA_FB S3C64XX_PA_FB -#define S3C_PA_USBHOST S3C64XX_PA_USBHOST -#define S3C_PA_USB_HSOTG S3C64XX_PA_USB_HSOTG #endif /* __ASM_ARCH_6400_MAP_H */ diff --git a/trunk/arch/arm/mach-s3c6400/include/mach/regs-clock.h b/trunk/arch/arm/mach-s3c6400/include/mach/regs-clock.h deleted file mode 100644 index a6c7f4eb3a1b..000000000000 --- a/trunk/arch/arm/mach-s3c6400/include/mach/regs-clock.h +++ /dev/null @@ -1,16 +0,0 @@ -/* linux/arch/arm/mach-s3c6400/include/mach/regs-clock.h - * - * Copyright 2008 Openmoko, Inc. - * Copyright 2008 Simtec Electronics - * http://armlinux.simtec.co.uk/ - * Ben Dooks - * - * S3C64XX - clock register compatibility with s3c24xx - * - * 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 - diff --git a/trunk/arch/arm/mach-s3c6400/include/mach/system.h b/trunk/arch/arm/mach-s3c6400/include/mach/system.h index 2e58cb7a7147..090cfd969bc7 100644 --- a/trunk/arch/arm/mach-s3c6400/include/mach/system.h +++ b/trunk/arch/arm/mach-s3c6400/include/mach/system.h @@ -11,8 +11,6 @@ #ifndef __ASM_ARCH_SYSTEM_H #define __ASM_ARCH_SYSTEM_H __FILE__ -#include - static void arch_idle(void) { /* nothing here yet */ @@ -20,11 +18,7 @@ static void arch_idle(void) static void arch_reset(char mode, const char *cmd) { - if (mode != 's') - arch_wdt_reset(); - - /* if all else fails, or mode was for soft, jump to 0 */ - cpu_reset(0); + /* nothing here yet */ } #endif /* __ASM_ARCH_IRQ_H */ diff --git a/trunk/arch/arm/mach-s3c6400/mach-smdk6400.c b/trunk/arch/arm/mach-s3c6400/mach-smdk6400.c deleted file mode 100644 index ab19285389a7..000000000000 --- a/trunk/arch/arm/mach-s3c6400/mach-smdk6400.c +++ /dev/null @@ -1,96 +0,0 @@ -/* linux/arch/arm/mach-s3c6400/mach-smdk6400.c - * - * Copyright 2008 Simtec Electronics - * Ben Dooks - * http://armlinux.simtec.co.uk/ - * - * 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 -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include - -#include -#include - -#include - -#include -#include -#include -#include -#include - -#define UCON S3C2410_UCON_DEFAULT | S3C2410_UCON_UCLK -#define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB -#define UFCON S3C2410_UFCON_RXTRIG8 | S3C2410_UFCON_FIFOMODE - -static struct s3c2410_uartcfg smdk6400_uartcfgs[] __initdata = { - [0] = { - .hwport = 0, - .flags = 0, - .ucon = 0x3c5, - .ulcon = 0x03, - .ufcon = 0x51, - }, - [1] = { - .hwport = 1, - .flags = 0, - .ucon = 0x3c5, - .ulcon = 0x03, - .ufcon = 0x51, - }, -}; - -static struct map_desc smdk6400_iodesc[] = {}; - -static void __init smdk6400_map_io(void) -{ - s3c64xx_init_io(smdk6400_iodesc, ARRAY_SIZE(smdk6400_iodesc)); - s3c24xx_init_clocks(12000000); - s3c24xx_init_uarts(smdk6400_uartcfgs, ARRAY_SIZE(smdk6400_uartcfgs)); -} - -static struct platform_device *smdk6400_devices[] __initdata = { - &s3c_device_hsmmc1, - &s3c_device_i2c0, -}; - -static struct i2c_board_info i2c_devs[] __initdata = { - { I2C_BOARD_INFO("wm8753", 0x1A), }, - { I2C_BOARD_INFO("24c08", 0x50), }, -}; - -static void __init smdk6400_machine_init(void) -{ - i2c_register_board_info(0, i2c_devs, ARRAY_SIZE(i2c_devs)); - platform_add_devices(smdk6400_devices, ARRAY_SIZE(smdk6400_devices)); -} - -MACHINE_START(SMDK6400, "SMDK6400") - /* Maintainer: Ben Dooks */ - .phys_io = S3C_PA_UART & 0xfff00000, - .io_pg_offst = (((u32)S3C_VA_UART) >> 18) & 0xfffc, - .boot_params = S3C64XX_PA_SDRAM + 0x100, - - .init_irq = s3c6400_init_irq, - .map_io = smdk6400_map_io, - .init_machine = smdk6400_machine_init, - .timer = &s3c24xx_timer, -MACHINE_END diff --git a/trunk/arch/arm/mach-s3c6400/s3c6400.c b/trunk/arch/arm/mach-s3c6400/s3c6400.c deleted file mode 100644 index 1ece887d90bb..000000000000 --- a/trunk/arch/arm/mach-s3c6400/s3c6400.c +++ /dev/null @@ -1,89 +0,0 @@ -/* linux/arch/arm/mach-s3c6410/cpu.c - * - * Copyright 2009 Simtec Electronics - * Ben Dooks - * http://armlinux.simtec.co.uk/ - * - * 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 -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -void __init s3c6400_map_io(void) -{ - /* setup SDHCI */ - - s3c6400_default_sdhci0(); - s3c6400_default_sdhci1(); - - /* the i2c devices are directly compatible with s3c2440 */ - s3c_i2c0_setname("s3c2440-i2c"); -} - -void __init s3c6400_init_clocks(int xtal) -{ - printk(KERN_DEBUG "%s: initialising clocks\n", __func__); - s3c24xx_register_baseclocks(xtal); - s3c64xx_register_clocks(); - s3c6400_register_clocks(S3C6400_CLKDIV0_ARM_MASK); - s3c6400_setup_clocks(); -} - -void __init s3c6400_init_irq(void) -{ - /* VIC0 does not have IRQS 5..7, - * VIC1 is fully populated. */ - s3c64xx_init_irq(~0 & ~(0xf << 5), ~0); -} - -struct sysdev_class s3c6400_sysclass = { - .name = "s3c6400-core", -}; - -static struct sys_device s3c6400_sysdev = { - .cls = &s3c6400_sysclass, -}; - -static int __init s3c6400_core_init(void) -{ - return sysdev_class_register(&s3c6400_sysclass); -} - -core_initcall(s3c6400_core_init); - -int __init s3c6400_init(void) -{ - printk("S3C6400: Initialising architecture\n"); - - return sysdev_register(&s3c6400_sysdev); -} diff --git a/trunk/arch/arm/mach-s3c6400/setup-sdhci.c b/trunk/arch/arm/mach-s3c6400/setup-sdhci.c deleted file mode 100644 index b93dafbee1f4..000000000000 --- a/trunk/arch/arm/mach-s3c6400/setup-sdhci.c +++ /dev/null @@ -1,63 +0,0 @@ -/* linux/arch/arm/mach-s3c6410/setup-sdhci.c - * - * Copyright 2008 Simtec Electronics - * Copyright 2008 Simtec Electronics - * Ben Dooks - * http://armlinux.simtec.co.uk/ - * - * S3C6410 - Helper functions for settign up SDHCI device(s) (HSMMC) - * - * 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 -#include -#include -#include -#include - -#include -#include - -#include -#include - -/* clock sources for the mmc bus clock, order as for the ctrl2[5..4] */ - -char *s3c6400_hsmmc_clksrcs[4] = { - [0] = "hsmmc", - [1] = "hsmmc", - [2] = "mmc_bus", - /* [3] = "48m", - note not succesfully used yet */ -}; - -void s3c6400_setup_sdhci_cfg_card(struct platform_device *dev, - void __iomem *r, - struct mmc_ios *ios, - struct mmc_card *card) -{ - u32 ctrl2, ctrl3; - - ctrl2 = readl(r + S3C_SDHCI_CONTROL2); - ctrl2 &= S3C_SDHCI_CTRL2_SELBASECLK_MASK; - ctrl2 |= (S3C64XX_SDHCI_CTRL2_ENSTAASYNCCLR | - S3C64XX_SDHCI_CTRL2_ENCMDCNFMSK | - S3C_SDHCI_CTRL2_ENFBCLKRX | - S3C_SDHCI_CTRL2_DFCNT_NONE | - S3C_SDHCI_CTRL2_ENCLKOUTHOLD); - - if (ios->clock < 25 * 1000000) - ctrl3 = (S3C_SDHCI_CTRL3_FCSEL3 | - S3C_SDHCI_CTRL3_FCSEL2 | - S3C_SDHCI_CTRL3_FCSEL1 | - S3C_SDHCI_CTRL3_FCSEL0); - else - ctrl3 = (S3C_SDHCI_CTRL3_FCSEL1 | S3C_SDHCI_CTRL3_FCSEL0); - - printk(KERN_INFO "%s: CTRL 2=%08x, 3=%08x\n", __func__, ctrl2, ctrl3); - writel(ctrl2, r + S3C_SDHCI_CONTROL2); - writel(ctrl3, r + S3C_SDHCI_CONTROL3); -} - diff --git a/trunk/arch/arm/mach-s3c6410/Kconfig b/trunk/arch/arm/mach-s3c6410/Kconfig index e63aac7f4e5a..1d5010070027 100644 --- a/trunk/arch/arm/mach-s3c6410/Kconfig +++ b/trunk/arch/arm/mach-s3c6410/Kconfig @@ -16,18 +16,9 @@ config CPU_S3C6410 config S3C6410_SETUP_SDHCI bool - select S3C64XX_SETUP_SDHCI_GPIO help Internal helper functions for S3C6410 based SDHCI systems -config MACH_ANW6410 - bool "A&W6410" - select CPU_S3C6410 - select S3C_DEV_FB - select S3C64XX_SETUP_FB_24BPP - help - Machine support for the A&W6410 - config MACH_SMDK6410 bool "SMDK6410" select CPU_S3C6410 @@ -35,8 +26,6 @@ config MACH_SMDK6410 select S3C_DEV_HSMMC1 select S3C_DEV_I2C1 select S3C_DEV_FB - select S3C_DEV_USB_HOST - select S3C_DEV_USB_HSOTG select S3C6410_SETUP_SDHCI select S3C64XX_SETUP_I2C1 select S3C64XX_SETUP_FB_24BPP @@ -71,29 +60,3 @@ config SMDK6410_SD_CH1 channels 0 and 1 are the same. endchoice - -config SMDK6410_WM1190_EV1 - bool "Support Wolfson Microelectronics 1190-EV1 PMIC card" - depends on MACH_SMDK6410 - select REGULATOR - select REGULATOR_WM8350 - select MFD_WM8350_I2C - select MFD_WM8350_CONFIG_MODE_0 - select MFD_WM8350_CONFIG_MODE_3 - select MFD_WM8352_CONFIG_MODE_0 - help - The Wolfson Microelectronics 1190-EV1 is a WM835x based PMIC - and audio daughtercard for the Samsung SMDK6410 reference - platform. Enabling this option will build support for this - module into the kernel. The presence of the module will be - detected at runtime so the the resulting kernel can be used - with or without the 1190-EV1 fitted. - -config MACH_NCP - bool "NCP" - select CPU_S3C6410 - select S3C_DEV_I2C1 - select S3C_DEV_HSMMC1 - select S3C64XX_SETUP_I2C1 - help - Machine support for the Samsung NCP diff --git a/trunk/arch/arm/mach-s3c6410/Makefile b/trunk/arch/arm/mach-s3c6410/Makefile index 6f9deac88612..2cd4f189036b 100644 --- a/trunk/arch/arm/mach-s3c6410/Makefile +++ b/trunk/arch/arm/mach-s3c6410/Makefile @@ -20,8 +20,4 @@ obj-$(CONFIG_S3C6410_SETUP_SDHCI) += setup-sdhci.o # machine support -obj-$(CONFIG_MACH_ANW6410) += mach-anw6410.o obj-$(CONFIG_MACH_SMDK6410) += mach-smdk6410.o -obj-$(CONFIG_MACH_NCP) += mach-ncp.o - - diff --git a/trunk/arch/arm/mach-s3c6410/cpu.c b/trunk/arch/arm/mach-s3c6410/cpu.c index ade904de8895..6a73ca6b7a3a 100644 --- a/trunk/arch/arm/mach-s3c6410/cpu.c +++ b/trunk/arch/arm/mach-s3c6410/cpu.c @@ -31,7 +31,6 @@ #include #include -#include #include #include @@ -69,7 +68,7 @@ void __init s3c6410_init_clocks(int xtal) printk(KERN_DEBUG "%s: initialising clocks\n", __func__); s3c24xx_register_baseclocks(xtal); s3c64xx_register_clocks(); - s3c6400_register_clocks(S3C6410_CLKDIV0_ARM_MASK); + s3c6400_register_clocks(); s3c6400_setup_clocks(); } diff --git a/trunk/arch/arm/mach-s3c6410/mach-anw6410.c b/trunk/arch/arm/mach-s3c6410/mach-anw6410.c deleted file mode 100644 index 661cca63de25..000000000000 --- a/trunk/arch/arm/mach-s3c6410/mach-anw6410.c +++ /dev/null @@ -1,245 +0,0 @@ -/* linux/arch/arm/mach-s3c6410/mach-anw6410.c - * - * Copyright 2008 Openmoko, Inc. - * Copyright 2008 Simtec Electronics - * Ben Dooks - * http://armlinux.simtec.co.uk/ - * Copyright 2009 Kwangwoo Lee - * Kwangwoo Lee - * - * 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 -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include