diff -urN linux-2.4.18-rmk7/Documentation/Configure.help linux-2.4.18-rmk7-ptx2/Documentation/Configure.help --- linux-2.4.18-rmk7/Documentation/Configure.help Sun Jun 30 23:14:59 2002 +++ linux-2.4.18-rmk7-ptx2/Documentation/Configure.help Sun Jul 14 13:32:13 2002 @@ -22301,6 +22301,18 @@ and business machine applications. Say Y here if you require support for this target. +SSV Software Systems GmbH DIL/Net-PC DNP/1110 +CONFIG_SA1100_DNP1110 + The SSV Software Systems' DIL/Net-PC DNP/1110 is an IntelŪ StrongArmŪ + SA-1110 based embedded PC which has the same size as the standard + 64 pin JEDEC DIL case. It is pin compatible to it's x86 (AMD Elan) + based brother DNP/1486. + + http://www.dilnetpc.com (The actual hardware) + http://www.pengutronix.de/software/dnp_en.html (Tips and Tricks) + + Say Y here if you require support fot this target. + # Choice: cerf_ram Cerf on-board RAM size CONFIG_SA1100_CERF_8MB diff -urN linux-2.4.18-rmk7/Makefile linux-2.4.18-rmk7-ptx2/Makefile --- linux-2.4.18-rmk7/Makefile Mon Jul 1 00:45:15 2002 +++ linux-2.4.18-rmk7-ptx2/Makefile Sat Aug 3 12:33:01 2002 @@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 4 SUBLEVEL = 18 -EXTRAVERSION = -rmk7 +EXTRAVERSION = -rmk7-ptx2 KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) diff -urN linux-2.4.18-rmk7/arch/arm/config.in linux-2.4.18-rmk7-ptx2/arch/arm/config.in --- linux-2.4.18-rmk7/arch/arm/config.in Sun Jun 30 23:15:00 2002 +++ linux-2.4.18-rmk7-ptx2/arch/arm/config.in Sun Jul 14 13:34:03 2002 @@ -96,6 +96,7 @@ define_bool CONFIG_SA1100_H3XXX n fi #dep_bool ' Consus' CONFIG_SA1100_CONSUS $CONFIG_ARCH_SA1100 +dep_bool ' DNP/1110' CONFIG_SA1100_DNP1110 $CONFIG_ARCH_SA1100 #dep_bool ' Empeg' CONFIG_SA1100_EMPEG $CONFIG_ARCH_SA1100 dep_bool ' Extenex HandHeld Theater (Squashtail)' CONFIG_SA1100_EXTENEX1 $CONFIG_ARCH_SA1100 if [ "$CONFIG_SA1100_EXTENEX1" = "y" ]; then diff -urN linux-2.4.18-rmk7/arch/arm/kernel/head-armv.S linux-2.4.18-rmk7-ptx2/arch/arm/kernel/head-armv.S --- linux-2.4.18-rmk7/arch/arm/kernel/head-armv.S Sun Jun 30 23:15:00 2002 +++ linux-2.4.18-rmk7-ptx2/arch/arm/kernel/head-armv.S Sat Aug 3 16:41:23 2002 @@ -125,7 +125,14 @@ */ mov r1, #MACH_TYPE_L7200 #endif - +#if defined(CONFIG_SA1100_DNP1110) +/* + * FIXME - The SSV bootcode has arcitecture number 255 although they + * didn't apply for an official number :-( So we set r1 manually to be + * compatible with the original bootcode. + */ + mov r1, #MACH_TYPE_DNP1110 +#endif mov r0, #F_BIT | I_BIT | MODE_SVC @ make sure svc mode msr cpsr_c, r0 @ and all irqs disabled bl __lookup_processor_type diff -urN linux-2.4.18-rmk7/arch/arm/mach-sa1100/Makefile linux-2.4.18-rmk7-ptx2/arch/arm/mach-sa1100/Makefile --- linux-2.4.18-rmk7/arch/arm/mach-sa1100/Makefile Sun Jun 30 23:15:00 2002 +++ linux-2.4.18-rmk7-ptx2/arch/arm/mach-sa1100/Makefile Sun Jul 14 13:35:31 2002 @@ -49,6 +49,7 @@ obj-$(CONFIG_SA1100_CEP) += cep.o obj-$(CONFIG_SA1100_CERF) += cerf.o obj-$(CONFIG_SA1100_CONSUS) += consus.o +obj-$(CONFIG_SA1100_DNP1110) += dnp1110.o obj-$(CONFIG_SA1100_EMPEG) += empeg.o obj-$(CONFIG_SA1100_FLEXANET) += flexanet.o obj-$(CONFIG_SA1100_FREEBIRD) += freebird.o diff -urN linux-2.4.18-rmk7/arch/arm/mach-sa1100/dnp1110.c linux-2.4.18-rmk7-ptx2/arch/arm/mach-sa1100/dnp1110.c --- linux-2.4.18-rmk7/arch/arm/mach-sa1100/dnp1110.c Thu Jan 1 01:00:00 1970 +++ linux-2.4.18-rmk7-ptx2/arch/arm/mach-sa1100/dnp1110.c Sat Aug 3 12:55:23 2002 @@ -0,0 +1,99 @@ +/* + * linux/arch/arm/mach-sa1100/dnp1110.c + * + * Authors: + * + * Marco Hasewinkel + * Robert Schwebel + * + * This file contains all DNP/1110 specific tweaks for the DNP/1110 + * + * 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 "generic.h" + +static int __init dnp1110_init(void) +{ + GPDR = 0x08000000; /* GPIO0-GPIO26 to Input */ + /* GPIO27 to Output */ + + GAFR = 0x08000000; /* alternate function on GPIO27 */ + + TUCR = 0x20000000; /* set 3.6864 MHz out to GPIO27 */ + + MECR = 0x1CE71CE7; /* PCMCIA Socket 0 & 1 Timing */ + /* 3*(7+1)*9,7ns = 233ns - FIXME !!!*/ + return 0; +} + +__initcall(dnp1110_init); + + +static void __init +fixup_dnp1110(struct machine_desc *desc, struct param_struct *params, + char **cmdline, struct meminfo *mi) +{ + SET_BANK(0, 0xc0000000, 32*1024*1024); /* DNP/1110 32MB */ +// SET_BANK(0, 0xc0000000, 16*1024*1024); /* DNP/1110 16MB */ + mi->nr_banks = 1; + + ROOT_DEV = MKDEV(RAMDISK_MAJOR,0); + setup_ramdisk(1, 0, 0, 8192); + setup_initrd(0xc0400000, 3*1024*1024); /* max 3MB INITRAMDISK */ +} + +static struct map_desc dnp1110_io_desc[] __initdata = { + /* virtual physical length domain r w c b */ + { 0xe8000000, 0x00000000, 0x01000000, DOMAIN_IO, 1, 1, 0, 0 }, /* Flash bank 0 */ + LAST_DESC +}; + +static void __init dnp1110_map_io(void) +{ + sa1100_map_io(); + iotable_init(dnp1110_io_desc); + + sa1100_register_uart(0, 1); /* COM1 = ttySA0 (SA UART 1) */ + sa1100_register_uart(1, 3); /* COM2 = ttySA1 (SA UART 3) */ +} + +static void __init dnp1110_init_irq(void) +{ + + /* first default SA11X0 IRQ mapping */ + sa1100_init_irq(); + + /* then dnp/1110 special IRQ mapping */ + set_GPIO_IRQ_edge(GPIO_GPIO(0), GPIO_RISING_EDGE); /* USER INT 1 */ + set_GPIO_IRQ_edge(GPIO_GPIO(1), GPIO_RISING_EDGE); /* USER INT 2 */ + set_GPIO_IRQ_edge(GPIO_GPIO(2), GPIO_RISING_EDGE); /* USER INT 3 */ + set_GPIO_IRQ_edge(GPIO_GPIO(3), GPIO_RISING_EDGE); /* USER INT 4 */ + set_GPIO_IRQ_edge(GPIO_GPIO(4), GPIO_RISING_EDGE); /* USER INT 4 */ + + set_GPIO_IRQ_edge(GPIO_GPIO(5), GPIO_RISING_EDGE); /* LAN */ + set_GPIO_IRQ_edge(GPIO_GPIO(6), GPIO_RISING_EDGE); /* SSV only */ +} + +MACHINE_START(DNP1110, "DNP/1110 - SSV Embedded Systems") + MAINTAINER("Robert Schwebel ") + BOOT_MEM(0xc0000000, 0x80000000, 0xf8000000) + BOOT_PARAMS(0xc0000100) + FIXUP(fixup_dnp1110) + MAPIO(dnp1110_map_io) + INITIRQ(dnp1110_init_irq) +MACHINE_END + diff -urN linux-2.4.18-rmk7/arch/arm/tools/Makefile linux-2.4.18-rmk7-ptx2/arch/arm/tools/Makefile --- linux-2.4.18-rmk7/arch/arm/tools/Makefile Sun Jun 30 23:15:01 2002 +++ linux-2.4.18-rmk7-ptx2/arch/arm/tools/Makefile Sat Aug 3 15:10:40 2002 @@ -4,6 +4,10 @@ # Copyright (C) 2001 Russell King # +ifndef $(TOPDIR) +TOPDIR = ../../.. +endif + all: $(TOPDIR)/include/asm-arm/mach-types.h \ $(TOPDIR)/include/asm-arm/constants.h diff -urN linux-2.4.18-rmk7/arch/arm/tools/mach-types linux-2.4.18-rmk7-ptx2/arch/arm/tools/mach-types --- linux-2.4.18-rmk7/arch/arm/tools/mach-types Sun Jun 30 23:15:01 2002 +++ linux-2.4.18-rmk7-ptx2/arch/arm/tools/mach-types Sat Aug 3 15:30:55 2002 @@ -202,3 +202,5 @@ fester SA1100_FESTER FESTER 191 gpi ARCH_GPI GPI 192 smdk2410 ARCH_SMDK2410 SMDK2410 193 +dnp1110 SA1100_DNP1110 DNP1110 214 + diff -urN linux-2.4.18-rmk7/include/asm-arm/arch-sa1100/dnp1110.h linux-2.4.18-rmk7-ptx2/include/asm-arm/arch-sa1100/dnp1110.h --- linux-2.4.18-rmk7/include/asm-arm/arch-sa1100/dnp1110.h Thu Jan 1 01:00:00 1970 +++ linux-2.4.18-rmk7-ptx2/include/asm-arm/arch-sa1100/dnp1110.h Sun Jul 14 13:46:28 2002 @@ -0,0 +1,13 @@ +/* + * linux/include/asm-arm/arch-sa1100/dnp1110.h + * + * Created 2001/08/18 by mha@ssv + * + * This file contains the hardware specific definitions for DNP/1110 + * + */ + +#ifndef __ASM_ARCH_HARDWARE_H +#error "include instead" +#endif + diff -urN linux-2.4.18-rmk7/include/asm-arm/arch-sa1100/hardware.h linux-2.4.18-rmk7-ptx2/include/asm-arm/arch-sa1100/hardware.h --- linux-2.4.18-rmk7/include/asm-arm/arch-sa1100/hardware.h Sun Jun 30 23:15:05 2002 +++ linux-2.4.18-rmk7-ptx2/include/asm-arm/arch-sa1100/hardware.h Sat Aug 3 15:32:43 2002 @@ -120,6 +120,10 @@ #include "badge4.h" +#ifdef CONFIG_SA1100_DNP1110 +#include "dnp1110.h" +#endif + #include "frodo.h" #include "h3600.h"