| rx3715-arch1.patch | | Files affected: | arch/arm/mach-s3c2410/Kconfig | 9 9 + 0 - 0 ! | arch/arm/mach-s3c2410/Makefile | 2 1 + 1 - 0 ! | arch/arm/mach-s3c2410/mach-rx3715.c | 131 131 + 0 - 0 ! | 3 files changed, 141 insertions(+), 1 deletion(-) | | Ben Dooks, Mon, 25 Oct 2004 12:37:31 +0100 --- linux-2.6.10-rc1-bk2-set1/arch/arm/mach-s3c2410/Kconfig 2004-10-25 09:58:01.000000000 +0100 +++ linux-2.6.10-rc1-bk2-set1-work/arch/arm/mach-s3c2410/Kconfig 2004-10-25 12:17:47.000000000 +0100 @@ -35,6 +35,15 @@ This linux port is currently being maintained by Simtec, on behalf of Thorcom. Any queries, please contact Thorcom first. +config MACH_RX3715 + bool "HP iPAQ rx3715" + select CPU_S3C2440 + help + Say Y here if you are using the HP iPAQ rx3715. + + See http://www.handhelds.org/projects/rx3715.html for more + information on this project + endmenu config CPU_S3C2410 --- linux-2.6.10-rc1-bk2-set1/arch/arm/mach-s3c2410/Makefile 2004-10-25 09:58:01.000000000 +0100 +++ linux-2.6.10-rc1-bk2-set1-work/arch/arm/mach-s3c2410/Makefile 2004-10-25 12:28:57.000000000 +0100 @@ -29,4 +29,4 @@ obj-$(CONFIG_ARCH_H1940) += mach-h1940.o obj-$(CONFIG_ARCH_SMDK2410) += mach-smdk2410.o obj-$(CONFIG_MACH_VR1000) += mach-vr1000.o usb-simtec.o - +obj-$(CONFIG_MACH_RX3715) += mach-rx3715.o --- linux-2.6.10-rc1-bk2-set1/arch/arm/mach-s3c2410/mach-rx3715.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.10-rc1-bk2-set1-work/arch/arm/mach-s3c2410/mach-rx3715.c 2004-10-25 12:32:00.000000000 +0100 @@ -0,0 +1,131 @@ +/* linux/arch/arm/mach-s3c2410/mach-rx3715.c + * + * Copyright (c) 2003,2004 Simtec Electronics + * Ben Dooks + * + * http://www.handhelds.org/projects/rx3715.html + * + * 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. + * + * Modifications: + * 16-Sep-2004 BJD Copied from mach-h1940.c + * 25-Oct-2004 BJD Updates for 2.6.10-rc1 +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include + +#include "s3c2410.h" +#include "s3c2440.h" +#include "clock.h" +#include "devs.h" +#include "cpu.h" +#include "pm.h" + +static struct map_desc rx3715_iodesc[] __initdata = { + /* dump ISA space somewhere unused */ + + { S3C2410_VA_ISA_WORD, S3C2410_CS3, SZ_16M, MT_DEVICE }, + { S3C2410_VA_ISA_BYTE, S3C2410_CS3, SZ_16M, MT_DEVICE }, +}; + +#define UCON S3C2410_UCON_DEFAULT | S3C2410_UCON_UCLK +#define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB +#define UFCON S3C2440_UFCON_RXTRIG16 | S3C2440_UFCON_TXTRIG16 | S3C2410_UFCON_FIFOMODE + +static struct s3c2410_uartcfg rx3715_uartcfgs[] = { + [0] = { + .hwport = 0, + .flags = 0, + .clock = &s3c24xx_pclk, + .ucon = 0x3c5, + .ulcon = 0x03, + .ufcon = 0x51, + }, + [1] = { + .hwport = 1, + .flags = 0, + .clock = &s3c24xx_pclk, + .ucon = 0x3c5, + .ulcon = 0x03, + .ufcon = 0x00, + }, + /* IR port */ + [2] = { + .hwport = 2, + .uart_flags = UPF_CONS_FLOW, + .clock = &s3c24xx_pclk, + .ucon = 0x3c5, + .ulcon = 0x43, + .ufcon = 0x51, + } +}; + + + + +static struct platform_device *rx3715_devices[] __initdata = { + &s3c_device_usb, + &s3c_device_lcd, + &s3c_device_wdt, + &s3c_device_i2c, + &s3c_device_iis, +}; + +static struct s3c24xx_board rx3715_board __initdata = { + .devices = rx3715_devices, + .devices_count = ARRAY_SIZE(rx3715_devices) +}; + +void __init rx3715_map_io(void) +{ + s3c24xx_xtal = 16934000; + + s3c24xx_init_io(rx3715_iodesc, ARRAY_SIZE(rx3715_iodesc)); + s3c2440_init_uarts(rx3715_uartcfgs, ARRAY_SIZE(rx3715_uartcfgs)); + s3c24xx_set_board(&rx3715_board); + + //the next bit changes the behaviour usb device/host // + //s3c2410_modify_misccr(S3C2410_MISCCR_USBHOST, S3C2410_MISCCR_USBHOST); +} + +void __init rx3715_init_irq(void) +{ + s3c2410_init_irq(); +} + +#ifdef CONFIG_PM +late_initcall(s3c2410_pm_init); +#endif + +MACHINE_START(RX3715, "IPAQ-RX3715") + MAINTAINER("Ben Dooks ") + BOOT_MEM(S3C2410_SDRAM_PA, S3C2410_PA_UART, S3C2410_VA_UART) + BOOT_PARAMS(S3C2410_SDRAM_PA + 0x100) + MAPIO(rx3715_map_io) + INITIRQ(rx3715_init_irq) + .timer = &s3c2410_timer, +MACHINE_END