Loading arch/arm/mach-cns3xxx/cns3420vb.c +54 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #include <linux/kernel.h> #include <linux/compiler.h> #include <linux/io.h> #include <linux/dma-mapping.h> #include <linux/serial_core.h> #include <linux/serial_8250.h> #include <linux/platform_device.h> Loading Loading @@ -107,11 +108,64 @@ static void __init cns3420_early_serial_setup(void) #endif } /* * USB */ static struct resource cns3xxx_usb_ehci_resources[] = { [0] = { .start = CNS3XXX_USB_BASE, .end = CNS3XXX_USB_BASE + SZ_16M - 1, .flags = IORESOURCE_MEM, }, [1] = { .start = IRQ_CNS3XXX_USB_EHCI, .flags = IORESOURCE_IRQ, }, }; static u64 cns3xxx_usb_ehci_dma_mask = DMA_BIT_MASK(32); static struct platform_device cns3xxx_usb_ehci_device = { .name = "cns3xxx-ehci", .num_resources = ARRAY_SIZE(cns3xxx_usb_ehci_resources), .resource = cns3xxx_usb_ehci_resources, .dev = { .dma_mask = &cns3xxx_usb_ehci_dma_mask, .coherent_dma_mask = DMA_BIT_MASK(32), }, }; static struct resource cns3xxx_usb_ohci_resources[] = { [0] = { .start = CNS3XXX_USB_OHCI_BASE, .end = CNS3XXX_USB_OHCI_BASE + SZ_16M - 1, .flags = IORESOURCE_MEM, }, [1] = { .start = IRQ_CNS3XXX_USB_OHCI, .flags = IORESOURCE_IRQ, }, }; static u64 cns3xxx_usb_ohci_dma_mask = DMA_BIT_MASK(32); static struct platform_device cns3xxx_usb_ohci_device = { .name = "cns3xxx-ohci", .num_resources = ARRAY_SIZE(cns3xxx_usb_ohci_resources), .resource = cns3xxx_usb_ohci_resources, .dev = { .dma_mask = &cns3xxx_usb_ohci_dma_mask, .coherent_dma_mask = DMA_BIT_MASK(32), }, }; /* * Initialization */ static struct platform_device *cns3420_pdevs[] __initdata = { &cns3420_nor_pdev, &cns3xxx_usb_ehci_device, &cns3xxx_usb_ohci_device, }; static void __init cns3420_init(void) Loading arch/arm/mach-cns3xxx/core.h +0 −2 Original line number Diff line number Diff line Loading @@ -17,7 +17,5 @@ extern struct sys_timer cns3xxx_timer; void __init cns3xxx_map_io(void); void __init cns3xxx_init_irq(void); void cns3xxx_power_off(void); void cns3xxx_pwr_power_up(unsigned int block); void cns3xxx_pwr_power_down(unsigned int block); #endif /* __CNS3XXX_CORE_H */ arch/arm/mach-cns3xxx/devices.c +1 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ #include <linux/platform_device.h> #include <mach/cns3xxx.h> #include <mach/irqs.h> #include <mach/pm.h> #include "core.h" #include "devices.h" Loading arch/arm/mach-cns3xxx/include/mach/cns3xxx.h +0 −2 Original line number Diff line number Diff line Loading @@ -165,7 +165,6 @@ #define CNS3XXX_USBOTG_BASE_VIRT 0xFFF15000 #define CNS3XXX_USB_BASE 0x82000000 /* USB Host Control */ #define CNS3XXX_USB_BASE_VIRT 0xFFF16000 #define CNS3XXX_SATA2_BASE 0x83000000 /* SATA */ #define CNS3XXX_SATA2_SIZE SZ_16M Loading @@ -184,7 +183,6 @@ #define CNS3XXX_2DG_BASE_VIRT 0xFFF1B000 #define CNS3XXX_USB_OHCI_BASE 0x88000000 /* USB OHCI */ #define CNS3XXX_USB_OHCI_BASE_VIRT 0xFFF1C000 #define CNS3XXX_L2C_BASE 0x92000000 /* L2 Cache Control */ #define CNS3XXX_L2C_BASE_VIRT 0xFFF27000 Loading arch/arm/mach-cns3xxx/include/mach/pm.h 0 → 100644 +23 −0 Original line number Diff line number Diff line /* * Copyright 2000 Deep Blue Solutions Ltd * Copyright 2004 ARM Limited * Copyright 2008 Cavium Networks * * This file 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. */ #ifndef __CNS3XXX_PM_H #define __CNS3XXX_PM_H #include <asm/atomic.h> void cns3xxx_pwr_clk_en(unsigned int block); void cns3xxx_pwr_clk_dis(unsigned int block); void cns3xxx_pwr_power_up(unsigned int block); void cns3xxx_pwr_power_down(unsigned int block); extern atomic_t usb_pwr_ref; #endif /* __CNS3XXX_PM_H */ Loading
arch/arm/mach-cns3xxx/cns3420vb.c +54 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #include <linux/kernel.h> #include <linux/compiler.h> #include <linux/io.h> #include <linux/dma-mapping.h> #include <linux/serial_core.h> #include <linux/serial_8250.h> #include <linux/platform_device.h> Loading Loading @@ -107,11 +108,64 @@ static void __init cns3420_early_serial_setup(void) #endif } /* * USB */ static struct resource cns3xxx_usb_ehci_resources[] = { [0] = { .start = CNS3XXX_USB_BASE, .end = CNS3XXX_USB_BASE + SZ_16M - 1, .flags = IORESOURCE_MEM, }, [1] = { .start = IRQ_CNS3XXX_USB_EHCI, .flags = IORESOURCE_IRQ, }, }; static u64 cns3xxx_usb_ehci_dma_mask = DMA_BIT_MASK(32); static struct platform_device cns3xxx_usb_ehci_device = { .name = "cns3xxx-ehci", .num_resources = ARRAY_SIZE(cns3xxx_usb_ehci_resources), .resource = cns3xxx_usb_ehci_resources, .dev = { .dma_mask = &cns3xxx_usb_ehci_dma_mask, .coherent_dma_mask = DMA_BIT_MASK(32), }, }; static struct resource cns3xxx_usb_ohci_resources[] = { [0] = { .start = CNS3XXX_USB_OHCI_BASE, .end = CNS3XXX_USB_OHCI_BASE + SZ_16M - 1, .flags = IORESOURCE_MEM, }, [1] = { .start = IRQ_CNS3XXX_USB_OHCI, .flags = IORESOURCE_IRQ, }, }; static u64 cns3xxx_usb_ohci_dma_mask = DMA_BIT_MASK(32); static struct platform_device cns3xxx_usb_ohci_device = { .name = "cns3xxx-ohci", .num_resources = ARRAY_SIZE(cns3xxx_usb_ohci_resources), .resource = cns3xxx_usb_ohci_resources, .dev = { .dma_mask = &cns3xxx_usb_ohci_dma_mask, .coherent_dma_mask = DMA_BIT_MASK(32), }, }; /* * Initialization */ static struct platform_device *cns3420_pdevs[] __initdata = { &cns3420_nor_pdev, &cns3xxx_usb_ehci_device, &cns3xxx_usb_ohci_device, }; static void __init cns3420_init(void) Loading
arch/arm/mach-cns3xxx/core.h +0 −2 Original line number Diff line number Diff line Loading @@ -17,7 +17,5 @@ extern struct sys_timer cns3xxx_timer; void __init cns3xxx_map_io(void); void __init cns3xxx_init_irq(void); void cns3xxx_power_off(void); void cns3xxx_pwr_power_up(unsigned int block); void cns3xxx_pwr_power_down(unsigned int block); #endif /* __CNS3XXX_CORE_H */
arch/arm/mach-cns3xxx/devices.c +1 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ #include <linux/platform_device.h> #include <mach/cns3xxx.h> #include <mach/irqs.h> #include <mach/pm.h> #include "core.h" #include "devices.h" Loading
arch/arm/mach-cns3xxx/include/mach/cns3xxx.h +0 −2 Original line number Diff line number Diff line Loading @@ -165,7 +165,6 @@ #define CNS3XXX_USBOTG_BASE_VIRT 0xFFF15000 #define CNS3XXX_USB_BASE 0x82000000 /* USB Host Control */ #define CNS3XXX_USB_BASE_VIRT 0xFFF16000 #define CNS3XXX_SATA2_BASE 0x83000000 /* SATA */ #define CNS3XXX_SATA2_SIZE SZ_16M Loading @@ -184,7 +183,6 @@ #define CNS3XXX_2DG_BASE_VIRT 0xFFF1B000 #define CNS3XXX_USB_OHCI_BASE 0x88000000 /* USB OHCI */ #define CNS3XXX_USB_OHCI_BASE_VIRT 0xFFF1C000 #define CNS3XXX_L2C_BASE 0x92000000 /* L2 Cache Control */ #define CNS3XXX_L2C_BASE_VIRT 0xFFF27000 Loading
arch/arm/mach-cns3xxx/include/mach/pm.h 0 → 100644 +23 −0 Original line number Diff line number Diff line /* * Copyright 2000 Deep Blue Solutions Ltd * Copyright 2004 ARM Limited * Copyright 2008 Cavium Networks * * This file 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. */ #ifndef __CNS3XXX_PM_H #define __CNS3XXX_PM_H #include <asm/atomic.h> void cns3xxx_pwr_clk_en(unsigned int block); void cns3xxx_pwr_clk_dis(unsigned int block); void cns3xxx_pwr_power_up(unsigned int block); void cns3xxx_pwr_power_down(unsigned int block); extern atomic_t usb_pwr_ref; #endif /* __CNS3XXX_PM_H */