#include <asm/mach/map.h> #include <asm/pmu.h> #include <plat/gpio.h> #include <mach/hardware.h> #include <mach/devices.h> #include <mach/setup.h> #include <mach/irqs.h> #include <mach/usb.h> #include "devices-db5500.h" #include "ste-dma40-db5500.h" static struct map_desc u5500_uart_io_desc[] __initdata = { __IO_DEV_DESC(U5500_UART0_BASE, SZ_4K), __IO_DEV_DESC(U5500_UART2_BASE, SZ_4K), }; static struct map_desc u5500_io_desc[] __initdata = { __IO_DEV_DESC(U5500_GIC_CPU_BASE, SZ_4K), __IO_DEV_DESC(U5500_GIC_DIST_BASE, SZ_4K), __IO_DEV_DESC(U5500_L2CC_BASE, SZ_4K), __IO_DEV_DESC(U5500_TWD_BASE, SZ_4K), __IO_DEV_DESC(U5500_MTU0_BASE, SZ_4K), __IO_DEV_DESC(U5500_SCU_BASE, SZ_4K), __IO_DEV_DESC(U5500_BACKUPRAM0_BASE, SZ_8K), __IO_DEV_DESC(U5500_GPIO0_BASE, SZ_4K), __IO_DEV_DESC(U5500_GPIO1_BASE, SZ_4K), __IO_DEV_DESC(U5500_GPIO2_BASE, SZ_4K),
* Author: Rabin Vincent <*****@*****.**> for ST-Ericsson * License terms: GNU General Public License (GPL) version 2 */ #include <linux/platform_device.h> #include <linux/amba/bus.h> #include <linux/io.h> #include <asm/mach/map.h> #include <mach/hardware.h> #include <mach/devices.h> #include <mach/setup.h> static struct map_desc u5500_io_desc[] __initdata = { __IO_DEV_DESC(U5500_GPIO0_BASE, SZ_4K), __IO_DEV_DESC(U5500_GPIO1_BASE, SZ_4K), __IO_DEV_DESC(U5500_GPIO2_BASE, SZ_4K), __IO_DEV_DESC(U5500_GPIO3_BASE, SZ_4K), __IO_DEV_DESC(U5500_GPIO4_BASE, SZ_4K), __IO_DEV_DESC(U5500_PRCMU_BASE, SZ_4K), }; static struct platform_device *u5500_platform_devs[] __initdata = { &u5500_gpio_devs[0], &u5500_gpio_devs[1], &u5500_gpio_devs[2], &u5500_gpio_devs[3], &u5500_gpio_devs[4], &u5500_gpio_devs[5], &u5500_gpio_devs[6],
#include <linux/platform_device.h> #include <linux/io.h> #include <asm/mach/map.h> #include <asm/pmu.h> #include <mach/hardware.h> #include <mach/setup.h> #include <mach/devices.h> #include <mach/usb.h> #include "devices-db8500.h" #include "ste-dma40-db8500.h" /* minimum static i/o mapping required to boot U8500 platforms */ static struct map_desc u8500_uart_io_desc[] __initdata = { __IO_DEV_DESC(U8500_UART0_BASE, SZ_4K), __IO_DEV_DESC(U8500_UART2_BASE, SZ_4K), }; static struct map_desc u8500_io_desc[] __initdata = { __IO_DEV_DESC(U8500_GIC_CPU_BASE, SZ_4K), __IO_DEV_DESC(U8500_GIC_DIST_BASE, SZ_4K), __IO_DEV_DESC(U8500_L2CC_BASE, SZ_4K), __IO_DEV_DESC(U8500_TWD_BASE, SZ_4K), __IO_DEV_DESC(U8500_MTU0_BASE, SZ_4K), __IO_DEV_DESC(U8500_SCU_BASE, SZ_4K), __IO_DEV_DESC(U8500_BACKUPRAM0_BASE, SZ_8K), __IO_DEV_DESC(U8500_CLKRST1_BASE, SZ_4K), __IO_DEV_DESC(U8500_CLKRST2_BASE, SZ_4K), __IO_DEV_DESC(U8500_CLKRST3_BASE, SZ_4K),
#define __IO_DEV_DESC(x, sz) { \ .virtual = IO_ADDRESS(x), \ .pfn = __phys_to_pfn(x), \ .length = sz, \ .type = MT_DEVICE, \ } /* minimum static i/o mapping required to boot BCM21553 platforms */ static struct map_desc bcm21553_io_desc[] __initdata = { /* * TODO It turns out that the hardware is capable of mapping 1Mb blocks * by using the first level mapping. So making the I/O space be one * large space is better from a performance standpoint than making * several spaces, each less than 1Mb. */ __IO_DEV_DESC(BCM21553_ONENAND_BASE, SZ_1M), __IO_DEV_DESC(BCM21553_MHARB_BASE, SZ_1M - SZ_64K), __IO_DEV_DESC(BCM21553_SDIO1_BASE, SZ_1M - SZ_64K), __IO_DEV_DESC(BCM21553_USB_HSOTG_BASE, SZ_1M), __IO_DEV_DESC(BCM21553_USB_FSHOST_BASE, SZ_1M), __IO_DEV_DESC(BCM21553_SDIO3_BASE, SZ_1M), __IO_DEV_DESC(BCM21553_SLPTMR1_BASE, SZ_1M), __IO_DEV_DESC(BCM21553_MSPRO_BASE, SZ_1M), __IO_DEV_DESC(BCM21553_VEC_BASE, SZ_1M), __IO_DEV_DESC(BCM21553_HTM0_BASE, SZ_1M), __IO_DEV_DESC(BCM21553_CRYPTO_BASE, SZ_512K), __IO_DEV_DESC(BCM21553_AHB_ARM_DSP_BASE, SZ_4M + SZ_512K) }; /* Return the address of last bank - size for the non-highmem region */ unsigned long get_mmpool_base(unsigned long size)
#include <plat/gpio-nomadik.h> #include <mach/hardware.h> #include <mach/setup.h> #include <mach/devices.h> #include <mach/ste-dma40-db8500.h> #include <mach/db8500-regs.h> #include "pm/cpuidle.h" #include "devices-db8500.h" #include "prcc.h" #include <mach/id.h> /* minimum static i/o mapping required to boot U8500 platforms */ static struct map_desc u8500_uart_io_desc[] __initdata = { __IO_DEV_DESC(U8500_UART0_BASE, SZ_4K), __IO_DEV_DESC(U8500_UART2_BASE, SZ_4K), }; /* U8500, A9500 and U9540 common io_desc */ static struct map_desc u8500_common_io_desc[] __initdata = { /* SCU base also covers GIC CPU BASE and TWD with its 4K page */ __IO_DEV_DESC(U8500_SCU_BASE, SZ_4K), __IO_DEV_DESC(U8500_GIC_DIST_BASE, SZ_4K), __IO_DEV_DESC(U8500_L2CC_BASE, SZ_4K), __IO_DEV_DESC(U8500_MTU0_BASE, SZ_4K), __IO_DEV_DESC(U8500_MTU1_BASE, SZ_4K), __IO_DEV_DESC(U8500_RTC_BASE, SZ_4K), __IO_DEV_DESC(U8500_BACKUPRAM0_BASE, SZ_8K), __IO_DEV_DESC(U8500_CLKRST1_BASE, SZ_4K), __IO_DEV_DESC(U8500_CLKRST2_BASE, SZ_4K),
#include <linux/clk.h> #include <asm/hardware/cache-l2x0.h> #include <asm/hardware/gic.h> #include <asm/mach/map.h> #include <asm/localtimer.h> #include <plat/mtu.h> #include <mach/hardware.h> #include <mach/setup.h> #include <mach/devices.h> #include "clock.h" static struct map_desc ux500_io_desc[] __initdata = { __IO_DEV_DESC(UX500_UART0_BASE, SZ_4K), __IO_DEV_DESC(UX500_UART2_BASE, SZ_4K), __IO_DEV_DESC(UX500_GIC_CPU_BASE, SZ_4K), __IO_DEV_DESC(UX500_GIC_DIST_BASE, SZ_4K), __IO_DEV_DESC(UX500_L2CC_BASE, SZ_4K), __IO_DEV_DESC(UX500_TWD_BASE, SZ_4K), __IO_DEV_DESC(UX500_SCU_BASE, SZ_4K), __IO_DEV_DESC(UX500_CLKRST1_BASE, SZ_4K), __IO_DEV_DESC(UX500_CLKRST2_BASE, SZ_4K), __IO_DEV_DESC(UX500_CLKRST3_BASE, SZ_4K), __IO_DEV_DESC(UX500_CLKRST5_BASE, SZ_4K), __IO_DEV_DESC(UX500_CLKRST6_BASE, SZ_4K), __IO_DEV_DESC(UX500_MTU0_BASE, SZ_4K),