#include <asm/plat-s3c24xx/s3c6400.h> #include <asm/plat-s3c24xx/devs.h> #include <asm/plat-s3c24xx/cpu.h> #include <asm/arch/hsmmc.h> #include <asm/plat-s3c24xx/common-smdk.h> #include <asm/arch-s3c2410/reserved_mem.h> #if defined(CONFIG_MACH_SANJOSE2) #include <asm/arch/regs-irq.h> #endif extern struct sys_timer s3c_timer; static struct map_desc smdk6400_iodesc[] __initdata = { IODESC_ENT(CS8900), }; #define DEF_UCON S3C_UCON_DEFAULT #define DEF_ULCON S3C_LCON_CS8 | S3C_LCON_PNONE #define DEF_UFCON S3C_UFCON_RXTRIG8 | S3C_UFCON_FIFOMODE static struct s3c24xx_uart_clksrc smdk6400_serial_clocks[] = { /* UART Clock with MPLL by Boyko */ [0] = { .name = "mpll_clk_uart", .divisor = 1, .min_baud = 0,
#include <mach/idle.h> #include <mach/regs-s3c2443-clock.h> #include <plat/gpio-core.h> #include <plat/gpio-cfg.h> #include <plat/gpio-cfg-helpers.h> #include <plat/s3c2416.h> #include <plat/devs.h> #include <plat/cpu.h> #include <plat/iic-core.h> #include <plat/fb-core.h> #include <plat/nand-core.h> static struct map_desc s3c2416_iodesc[] __initdata = { IODESC_ENT(WATCHDOG), IODESC_ENT(CLKPWR), IODESC_ENT(TIMER), }; struct sysdev_class s3c2416_sysclass = { .name = "s3c2416-core", }; static struct sys_device s3c2416_sysdev = { .cls = &s3c2416_sysclass, }; static void s3c2416_hard_reset(void) { __raw_writel(S3C2443_SWRST_RESET, S3C2443_SWRST);
#include <asm/system_misc.h> #include <mach/hardware.h> #include <mach/regs-serial.h> #include <mach/regs-clock.h> #include "regs-ebi.h" #include "regs-timer.h" #include "cpu.h" #include "clock.h" #include "nuc9xx.h" /* Initial IO mappings */ static struct map_desc nuc900_iodesc[] __initdata = { IODESC_ENT(IRQ), IODESC_ENT(GCR), IODESC_ENT(UART), IODESC_ENT(TIMER), IODESC_ENT(EBI), IODESC_ENT(GPIO), }; /* Initial clock declarations. */ static DEFINE_CLK(lcd, 0); static DEFINE_CLK(audio, 1); static DEFINE_CLK(fmi, 4); static DEFINE_SUBCLK(ms, 0); static DEFINE_SUBCLK(sd, 1); static DEFINE_CLK(dmac, 5); static DEFINE_CLK(atapi, 6);
#include <plat/regs-serial.h> #include <plat/regs-clock.h> #include <plat/cpu.h> #include <plat/devs.h> #include <plat/clock.h> #include <plat/sdhci.h> #include <plat/iic-core.h> #include <plat/s3c6400.h> #include <plat/s3c6410.h> #include <mach/map.h> /* Initial IO mappings */ static struct map_desc s3c6410_iodesc[] __initdata = { IODESC_ENT(LCD), IODESC_ENT(SROMC), IODESC_ENT(HOSTIFB), IODESC_ENT(OTG), IODESC_ENT(OTGSFR), IODESC_ENT(ONENAND), }; static void s3c6410_idle(void) { unsigned long tmp; /* Ensure our idle mode is to go to idle */ /* Set WFI instruction to SLEEP mode */ tmp = __raw_readl(S3C_PWR_CFG);
}, { .idcode = 0x0, /* S3C2400 doesn't have an idcode */ .idmask = 0xffffffff, .map_io = s3c2400_map_io, .init_clocks = s3c2400_init_clocks, .init_uarts = s3c2400_init_uarts, .init = s3c2400_init, .name = name_s3c2400 }, }; /* minimal IO mapping */ static struct map_desc s3c_iodesc[] __initdata = { IODESC_ENT(GPIO), IODESC_ENT(IRQ), IODESC_ENT(MEMCTRL), IODESC_ENT(UART) }; /* read cpu identificaiton code */ static unsigned long s3c24xx_read_idcode_v5(void) { #if defined(CONFIG_CPU_S3C2412) || defined(CONFIG_CPU_S3C2413) return __raw_readl(S3C2412_GSTATUS1); #else return 1UL; /* don't look like an 2400 */ #endif }
#include "cpu.h" #include "clock.h" /* define specific CPU platform device */ static struct platform_device *nuc910_dev[] __initdata = { &nuc900_device_ts, &nuc900_device_rtc, &nuc900_device_lcd, &nuc900_device_kpi, }; /* define specific CPU platform io map */ static struct map_desc nuc910evb_iodesc[] __initdata = { IODESC_ENT(USBEHCIHOST), IODESC_ENT(USBOHCIHOST), IODESC_ENT(KPI), IODESC_ENT(USBDEV), IODESC_ENT(ADC), }; /*Init NUC910 evb io*/ void __init nuc910_map_io(void) { nuc900_map_io(nuc910evb_iodesc, ARRAY_SIZE(nuc910evb_iodesc)); } /*Init NUC910 clock*/
#include <asm/arch/regs-clock.h> #include <asm/arch/regs-serial.h> #include <asm/arch/regs-gpio.h> #include <asm/arch/regs-gpioj.h> #include <asm/arch/regs-dsc.h> #include "s3c2440.h" #include "clock.h" #include "devs.h" #include "cpu.h" #include "pm.h" static struct map_desc s3c2440_iodesc[] __initdata = { IODESC_ENT(USBHOST), IODESC_ENT(CLKPWR), IODESC_ENT(LCD), IODESC_ENT(TIMER), IODESC_ENT(ADC), IODESC_ENT(WATCHDOG), }; static struct resource s3c_uart0_resource[] = { [0] = { .start = S3C2410_PA_UART0, .end = S3C2410_PA_UART0 + 0x3fff, .flags = IORESOURCE_MEM, }, [1] = { .start = IRQ_S3CUART_RX0,
#include <plat/cpu-freq.h> #include <plat/regs-serial.h> #include <plat/regs-clock.h> #include <plat/cpu.h> #include <plat/devs.h> #include <plat/clock.h> #include <plat/sdhci.h> #include <plat/iic-core.h> #include <plat/s5p6442.h> #include <mach/map.h> /* Initial IO mappings */ static struct map_desc s5p6442_iodesc[] __initdata = { IODESC_ENT(LCD), IODESC_ENT(SROMC), IODESC_ENT(OTG), IODESC_ENT(OTGSFR), IODESC_ENT(SYSCON) }; static void s5p6442_idle(void) { unsigned long tmp; tmp = __raw_readl(S5P_PWR_CFG); tmp &= S5P_CFG_WFI_CLEAN; tmp |= S5P_CFG_WFI_IDLE; __raw_writel(tmp, S5P_PWR_CFG);
#include <plat/regs-power.h> #include <plat/regs-clock.h> #undef T32_PROBE_DEBUGGING #if defined(T32_PROBE_DEBUGGING) #include <linux/gpio.h> #include <plat/gpio-cfg.h> #include <plat/regs-gpio.h> #endif /* Initial IO mappings */ static struct map_desc s5pc100_iodesc[] __initdata = { IODESC_ENT(LCD), IODESC_ENT(SROMC), IODESC_ENT(SYSTIMER), IODESC_ENT(OTG), IODESC_ENT(OTGSFR), IODESC_ENT(SYSCON), IODESC_ENT(GPIO), IODESC_ENT(NAND), //IODESC_ENT(HOSTIFB), }; /* s5pc100_map_io * * register the standard cpu IO areas */
#include <asm/mach/irq.h> #include <asm/hardware.h> #include <asm/io.h> #include <asm/irq.h> #include <asm/arch/regs-s3c2443-clock.h> #include <asm/arch/reset.h> #include <asm/plat-s3c24xx/s3c2443.h> #include <asm/plat-s3c24xx/devs.h> #include <asm/plat-s3c24xx/common-smdk.h> #include <asm/plat-s3c24xx/cpu.h> static struct map_desc s3c2443_iodesc[] __initdata = { IODESC_ENT(WATCHDOG), IODESC_ENT(CLKPWR), IODESC_ENT(TIMER), IODESC_ENT(LCD), IODESC_ENT(EBI), IODESC_ENT(SROMC), IODESC_ENT(CS8900), }; struct sysdev_class s3c2443_sysclass = { set_kset_name("s3c2443-core"), }; static struct sys_device s3c2443_sysdev = { .cls = &s3c2443_sysclass, };
#include <asm/hardware.h> #include <asm/io.h> #include <asm/irq.h> #include <asm/arch/regs-s3c2443-clock.h> #include <asm/arch/reset.h> #include <asm/plat-s3c24xx/s3c2443.h> #include <asm/plat-s3c24xx/devs.h> #include <asm/plat-s3c24xx/cpu.h> #undef DVS_IDLE static struct map_desc s3c2443_iodesc[] __initdata = { IODESC_ENT(WATCHDOG), IODESC_ENT(CLKPWR), IODESC_ENT(TIMER), IODESC_ENT(LCD), IODESC_ENT(USBDEV), IODESC_ENT(CAMIF), IODESC_ENT(EBI), IODESC_ENT(SROMC), }; struct sysdev_class s3c2443_sysclass = { set_kset_name("s3c2443-core"), }; static struct sys_device s3c2443_sysdev = { .cls = &s3c2443_sysclass,
/* clock info */ unsigned long s3c2410_fclk; unsigned long s3c2410_hclk; unsigned long s3c2410_pclk; #ifndef MHZ #define MHZ (1000*1000) #endif #define print_mhz(m) ((m) / MHZ), ((m / 1000) % 1000) #define IODESC_ENT(x) { S3C2410_VA_##x, S3C2410_PA_##x, S3C2410_SZ_##x, MT_DEVICE } static struct map_desc s3c2410_iodesc[] __initdata = { IODESC_ENT(IRQ), IODESC_ENT(MEMCTRL), IODESC_ENT(USBHOST), IODESC_ENT(DMA), IODESC_ENT(CLKPWR), IODESC_ENT(LCD), IODESC_ENT(NAND), IODESC_ENT(UART), IODESC_ENT(TIMER), IODESC_ENT(USBDEV), IODESC_ENT(WATCHDOG), IODESC_ENT(IIC), IODESC_ENT(IIS), IODESC_ENT(GPIO), IODESC_ENT(RTC), IODESC_ENT(ADC),
#include <plat/cpu-freq.h> #include <plat/regs-serial.h> #include <plat/regs-clock.h> #include <plat/cpu.h> #include <plat/devs.h> #include <plat/clock.h> #include <plat/sdhci.h> #include <plat/iic-core.h> #include <plat/s5p6442.h> #include <mach/map.h> /* Initial IO mappings */ static struct map_desc s5p6442_iodesc[] __initdata = { IODESC_ENT(LCD), IODESC_ENT(SROMC), IODESC_ENT(OTG), IODESC_ENT(OTGSFR), IODESC_ENT(SYSCON), IODESC_ENT(ONENAND), IODESC_ENT(DRAMC), }; static void s5p6442_idle(void) { #if 1 unsigned long tmp; /* Ensure our idle mode is to go to idle */ /* Set WFI instruction to SLEEP mode */
#include <asm/mach/map.h> #include <mach/hardware.h> #include "cpu.h" /* define specific CPU platform device */ static struct platform_device *nuc952_dev[] __initdata = { &nuc900_device_fmi, &nuc900_device_lcd, }; /* define specific CPU platform io map */ static struct map_desc nuc952evb_iodesc[] __initdata = { IODESC_ENT(I2C), IODESC_ENT(EMC), }; /*Init NUC952 evb io*/ void __init nuc952_map_io(void) { nuc900_map_io(nuc952evb_iodesc, ARRAY_SIZE(nuc952evb_iodesc)); } /*Init NUC952 clock*/ void __init nuc952_init_clocks(void) { nuc900_init_clocks();
#include <asm/arch/regs-clock.h> #include <asm/arch/regs-serial.h> #include <asm/arch/regs-gpio.h> #include <asm/arch/regs-gpioj.h> #include <asm/arch/regs-dsc.h> #include <asm/plat-s3c24xx/s3c2410.h> #include <asm/plat-s3c24xx/s3c2440.h> #include "s3c244x.h" #include <asm/plat-s3c24xx/clock.h> #include <asm/plat-s3c24xx/devs.h> #include <asm/plat-s3c24xx/cpu.h> #include <asm/plat-s3c24xx/pm.h> static struct map_desc s3c244x_iodesc[] __initdata = { IODESC_ENT(CLKPWR), IODESC_ENT(TIMER), IODESC_ENT(WATCHDOG), IODESC_ENT(LCD), IODESC_ENT(USBDEV), }; /* uart initialisation */ void __init s3c244x_init_uarts(struct s3c2410_uartcfg *cfg, int no) { s3c24xx_init_uartdevs("s3c2440-uart", s3c2410_uart_resources, cfg, no); } void __init s3c244x_map_io(struct map_desc *mach_desc, int size) {