mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-08-18 02:22:47 -07:00
ARM: remove ixp23xx and ixp2000 platforms
ixp2xxx platforms have had no real changes since ~2006 and the maintainer has said on irc that they can be removed: 13:05 < nico> do you still care about ixp2000? 13:22 < lennert> not really, no 13:58 < nico> do you think we could remove it from the kernel tree? 14:01 < lennert> go for it, and remove ixp23xx too while you're at it Removing will help simplify ARM consolidation in general and PCI re-work specifically. Signed-off-by: Rob Herring <rob.herring@calxeda.com> Cc: Randy Dunlap <rdunlap@xenotime.net> Acked-by: Lennert Buytenhek <buytenh@wantstofly.org>
This commit is contained in:
1 parent
dd775ae254
commit
c65f2abf54
55 files changed
-6950
No files matched your search
@@ -4,8 +4,6 @@ Booting
|
||||
- requirements for booting
|
||||
Interrupts
|
||||
- ARM Interrupt subsystem documentation
|
||||
IXP2000
|
||||
- Release Notes for Linux on Intel's IXP2000 Network Processor
|
||||
msm
|
||||
- MSM specific documentation
|
||||
Netwinder
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
|
||||
-------------------------------------------------------------------------
|
||||
Release Notes for Linux on Intel's IXP2000 Network Processor
|
||||
|
||||
Maintained by Deepak Saxena <dsaxena@plexity.net>
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
1. Overview
|
||||
|
||||
Intel's IXP2000 family of NPUs (IXP2400, IXP2800, IXP2850) is designed
|
||||
for high-performance network applications such high-availability
|
||||
telecom systems. In addition to an XScale core, it contains up to 8
|
||||
"MicroEngines" that run special code, several high-end networking
|
||||
interfaces (UTOPIA, SPI, etc), a PCI host bridge, one serial port,
|
||||
flash interface, and some other odds and ends. For more information, see:
|
||||
|
||||
http://developer.intel.com
|
||||
|
||||
2. Linux Support
|
||||
|
||||
Linux currently supports the following features on the IXP2000 NPUs:
|
||||
|
||||
- On-chip serial
|
||||
- PCI
|
||||
- Flash (MTD/JFFS2)
|
||||
- I2C through GPIO
|
||||
- Timers (watchdog, OS)
|
||||
|
||||
That is about all we can support under Linux ATM b/c the core networking
|
||||
components of the chip are accessed via Intel's closed source SDK.
|
||||
Please contact Intel directly on issues with using those. There is
|
||||
also a mailing list run by some folks at Princeton University that might
|
||||
be of help: https://lists.cs.princeton.edu/mailman/listinfo/ixp2xxx
|
||||
|
||||
WHATEVER YOU DO, DO NOT POST EMAIL TO THE LINUX-ARM OR LINUX-ARM-KERNEL
|
||||
MAILING LISTS REGARDING THE INTEL SDK.
|
||||
|
||||
3. Supported Platforms
|
||||
|
||||
- Intel IXDP2400 Reference Platform
|
||||
- Intel IXDP2800 Reference Platform
|
||||
- Intel IXDP2401 Reference Platform
|
||||
- Intel IXDP2801 Reference Platform
|
||||
- RadiSys ENP-2611
|
||||
|
||||
4. Usage Notes
|
||||
|
||||
- The IXP2000 platforms usually have rather complex PCI bus topologies
|
||||
with large memory space requirements. In addition, b/c of the way the
|
||||
Intel SDK is designed, devices are enumerated in a very specific
|
||||
way. B/c of this this, we use "pci=firmware" option in the kernel
|
||||
command line so that we do not re-enumerate the bus.
|
||||
|
||||
- IXDP2x01 systems have variable clock tick rates that we cannot determine
|
||||
via HW registers. The "ixdp2x01_clk=XXX" cmd line options allow you
|
||||
to pass the clock rate to the board port.
|
||||
|
||||
5. Thanks
|
||||
|
||||
The IXP2000 work has been funded by Intel Corp. and MontaVista Software, Inc.
|
||||
|
||||
The following people have contributed patches/comments/etc:
|
||||
|
||||
Naeem F. Afzal
|
||||
Lennert Buytenhek
|
||||
Jeffrey Daly
|
||||
|
||||
-------------------------------------------------------------------------
|
||||
Last Update: 8/09/2004
|
||||
-17
@@ -640,13 +640,6 @@ S: Maintained
|
||||
F: drivers/amba/
|
||||
F: include/linux/amba/bus.h
|
||||
|
||||
ARM/ADI ROADRUNNER MACHINE SUPPORT
|
||||
M: Lennert Buytenhek <kernel@wantstofly.org>
|
||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
S: Maintained
|
||||
F: arch/arm/mach-ixp23xx/
|
||||
F: arch/arm/mach-ixp23xx/include/mach/
|
||||
|
||||
ARM/ADS SPHERE MACHINE SUPPORT
|
||||
M: Lennert Buytenhek <kernel@wantstofly.org>
|
||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
@@ -859,21 +852,11 @@ M: Dan Williams <dan.j.williams@intel.com>
|
||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
S: Maintained
|
||||
|
||||
ARM/INTEL IXP2000 ARM ARCHITECTURE
|
||||
M: Lennert Buytenhek <kernel@wantstofly.org>
|
||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
S: Maintained
|
||||
|
||||
ARM/INTEL IXDP2850 MACHINE SUPPORT
|
||||
M: Lennert Buytenhek <kernel@wantstofly.org>
|
||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
S: Maintained
|
||||
|
||||
ARM/INTEL IXP23XX ARM ARCHITECTURE
|
||||
M: Lennert Buytenhek <kernel@wantstofly.org>
|
||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
S: Maintained
|
||||
|
||||
ARM/INTEL IXP4XX ARM ARCHITECTURE
|
||||
M: Imre Kaloz <kaloz@openwrt.org>
|
||||
M: Krzysztof Halasa <khc@pm.waw.pl>
|
||||
|
||||
@@ -527,28 +527,6 @@ config ARCH_IOP33X
|
||||
help
|
||||
Support for Intel's IOP33X (XScale) family of processors.
|
||||
|
||||
config ARCH_IXP23XX
|
||||
bool "IXP23XX-based"
|
||||
depends on MMU
|
||||
select CPU_XSC3
|
||||
select PCI
|
||||
select ARCH_USES_GETTIMEOFFSET
|
||||
select NEED_MACH_IO_H
|
||||
select NEED_MACH_MEMORY_H
|
||||
help
|
||||
Support for Intel's IXP23xx (XScale) family of processors.
|
||||
|
||||
config ARCH_IXP2000
|
||||
bool "IXP2400/2800-based"
|
||||
depends on MMU
|
||||
select CPU_XSCALE
|
||||
select PCI
|
||||
select ARCH_USES_GETTIMEOFFSET
|
||||
select NEED_MACH_IO_H
|
||||
select NEED_MACH_MEMORY_H
|
||||
help
|
||||
Support for Intel's IXP2400/2800 (XScale) family of processors.
|
||||
|
||||
config ARCH_IXP4XX
|
||||
bool "IXP4xx-based"
|
||||
depends on MMU
|
||||
@@ -1045,10 +1023,6 @@ source "arch/arm/mach-iop13xx/Kconfig"
|
||||
|
||||
source "arch/arm/mach-ixp4xx/Kconfig"
|
||||
|
||||
source "arch/arm/mach-ixp2000/Kconfig"
|
||||
|
||||
source "arch/arm/mach-ixp23xx/Kconfig"
|
||||
|
||||
source "arch/arm/mach-kirkwood/Kconfig"
|
||||
|
||||
source "arch/arm/mach-ks8695/Kconfig"
|
||||
|
||||
@@ -149,8 +149,6 @@ machine-$(CONFIG_ARCH_INTEGRATOR) := integrator
|
||||
machine-$(CONFIG_ARCH_IOP13XX) := iop13xx
|
||||
machine-$(CONFIG_ARCH_IOP32X) := iop32x
|
||||
machine-$(CONFIG_ARCH_IOP33X) := iop33x
|
||||
machine-$(CONFIG_ARCH_IXP2000) := ixp2000
|
||||
machine-$(CONFIG_ARCH_IXP23XX) := ixp23xx
|
||||
machine-$(CONFIG_ARCH_IXP4XX) := ixp4xx
|
||||
machine-$(CONFIG_ARCH_KIRKWOOD) := kirkwood
|
||||
machine-$(CONFIG_ARCH_KS8695) := ks8695
|
||||
|
||||
@@ -32,10 +32,3 @@ __XScale_start:
|
||||
bic r0, r0, #0x1000 @ clear Icache
|
||||
mcr p15, 0, r0, c1, c0, 0
|
||||
|
||||
#ifdef CONFIG_ARCH_IXP2000
|
||||
mov r1, #-1
|
||||
mov r0, #0xd6000000
|
||||
str r1, [r0, #0x14]
|
||||
str r1, [r0, #0x18]
|
||||
#endif
|
||||
|
||||
@@ -11,7 +11,5 @@ obj-$(CONFIG_DMABOUNCE) += dmabounce.o
|
||||
obj-$(CONFIG_SHARP_LOCOMO) += locomo.o
|
||||
obj-$(CONFIG_SHARP_PARAM) += sharpsl_param.o
|
||||
obj-$(CONFIG_SHARP_SCOOP) += scoop.o
|
||||
obj-$(CONFIG_ARCH_IXP2000) += uengine.o
|
||||
obj-$(CONFIG_ARCH_IXP23XX) += uengine.o
|
||||
obj-$(CONFIG_PCI_HOST_ITE8152) += it8152.o
|
||||
obj-$(CONFIG_ARM_TIMER_SP804) += timer-sp.o
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,99 +0,0 @@
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_BSD_PROCESS_ACCT=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_EXPERT=y
|
||||
# CONFIG_HOTPLUG is not set
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_ARCH_IXP2000=y
|
||||
CONFIG_ARCH_ENP2611=y
|
||||
CONFIG_ARCH_IXDP2400=y
|
||||
CONFIG_ARCH_IXDP2800=y
|
||||
CONFIG_ARCH_IXDP2401=y
|
||||
CONFIG_ARCH_IXDP2801=y
|
||||
# CONFIG_IXP2000_SUPPORT_BROKEN_PCI_IO is not set
|
||||
# CONFIG_ARM_THUMB is not set
|
||||
CONFIG_CPU_BIG_ENDIAN=y
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_CMDLINE="console=ttyS0,57600 root=/dev/nfs ip=bootp mem=64M@0x0"
|
||||
CONFIG_FPE_NWFPE=y
|
||||
CONFIG_FPE_NWFPE_XP=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_SYN_COOKIES=y
|
||||
CONFIG_IPV6=y
|
||||
# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET6_XFRM_MODE_BEET is not set
|
||||
# CONFIG_IPV6_SIT is not set
|
||||
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_PARTITIONS=y
|
||||
CONFIG_MTD_REDBOOT_PARTS=y
|
||||
CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y
|
||||
CONFIG_MTD_REDBOOT_PARTS_READONLY=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_INTELEXT=y
|
||||
CONFIG_MTD_COMPLEX_MAPPINGS=y
|
||||
CONFIG_MTD_IXP2000=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_NBD=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
CONFIG_EEPROM_LEGACY=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_DUMMY=y
|
||||
CONFIG_NET_ETHERNET=y
|
||||
CONFIG_NET_PCI=y
|
||||
CONFIG_CS89x0=y
|
||||
CONFIG_E100=y
|
||||
CONFIG_ENP2611_MSF_NET=y
|
||||
CONFIG_WAN=y
|
||||
CONFIG_HDLC=y
|
||||
CONFIG_HDLC_RAW=y
|
||||
CONFIG_HDLC_CISCO=y
|
||||
CONFIG_HDLC_FR=y
|
||||
CONFIG_HDLC_PPP=y
|
||||
CONFIG_DLCI=y
|
||||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_SERIO is not set
|
||||
# CONFIG_VT is not set
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_8250_NR_UARTS=3
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_IXP2000=y
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_IXP2000_WATCHDOG=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT2_FS_XATTR=y
|
||||
CONFIG_EXT2_FS_POSIX_ACL=y
|
||||
CONFIG_EXT3_FS=y
|
||||
CONFIG_EXT3_FS_POSIX_ACL=y
|
||||
CONFIG_INOTIFY=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_DEBUG_MUTEXES=y
|
||||
CONFIG_DEBUG_USER=y
|
||||
CONFIG_DEBUG_ERRORS=y
|
||||
CONFIG_DEBUG_LL=y
|
||||
@@ -1,105 +0,0 @@
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_BSD_PROCESS_ACCT=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_EXPERT=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_ARCH_IXP23XX=y
|
||||
CONFIG_MACH_ESPRESSO=y
|
||||
CONFIG_MACH_IXDP2351=y
|
||||
CONFIG_MACH_ROADRUNNER=y
|
||||
# CONFIG_ARM_THUMB is not set
|
||||
CONFIG_CPU_BIG_ENDIAN=y
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/nfs ip=bootp"
|
||||
CONFIG_FPE_NWFPE=y
|
||||
CONFIG_FPE_NWFPE_XP=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_SYN_COOKIES=y
|
||||
CONFIG_IPV6=y
|
||||
# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET6_XFRM_MODE_BEET is not set
|
||||
# CONFIG_IPV6_SIT is not set
|
||||
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
|
||||
# CONFIG_FW_LOADER is not set
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_PARTITIONS=y
|
||||
CONFIG_MTD_REDBOOT_PARTS=y
|
||||
CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y
|
||||
CONFIG_MTD_REDBOOT_PARTS_READONLY=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_INTELEXT=y
|
||||
CONFIG_MTD_COMPLEX_MAPPINGS=y
|
||||
CONFIG_MTD_PHYSMAP=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_NBD=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
CONFIG_EEPROM_LEGACY=y
|
||||
CONFIG_IDE=y
|
||||
CONFIG_BLK_DEV_SIIMAGE=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_DUMMY=y
|
||||
CONFIG_NET_ETHERNET=y
|
||||
CONFIG_NET_PCI=y
|
||||
CONFIG_E100=y
|
||||
CONFIG_E1000=y
|
||||
CONFIG_WAN=y
|
||||
CONFIG_HDLC=y
|
||||
CONFIG_HDLC_RAW=y
|
||||
CONFIG_HDLC_CISCO=y
|
||||
CONFIG_HDLC_FR=y
|
||||
CONFIG_HDLC_PPP=y
|
||||
CONFIG_DLCI=y
|
||||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_SERIO is not set
|
||||
# CONFIG_VT is not set
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_WATCHDOG=y
|
||||
# CONFIG_USB_HID is not set
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_MON=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_UHCI_HCD=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT2_FS_XATTR=y
|
||||
CONFIG_EXT2_FS_POSIX_ACL=y
|
||||
CONFIG_EXT3_FS=y
|
||||
CONFIG_EXT3_FS_POSIX_ACL=y
|
||||
CONFIG_INOTIFY=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_DEBUG_MUTEXES=y
|
||||
CONFIG_DEBUG_USER=y
|
||||
CONFIG_DEBUG_ERRORS=y
|
||||
CONFIG_DEBUG_LL=y
|
||||
@@ -1,62 +0,0 @@
|
||||
/*
|
||||
* Generic library functions for the microengines found on the Intel
|
||||
* IXP2000 series of network processors.
|
||||
*
|
||||
* Copyright (C) 2004, 2005 Lennert Buytenhek <buytenh@wantstofly.org>
|
||||
* Dedicated to Marija Kulikova.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as
|
||||
* published by the Free Software Foundation; either version 2.1 of the
|
||||
* License, or (at your option) any later version.
|
||||
*/
|
||||
|
||||
#ifndef __IXP2000_UENGINE_H
|
||||
#define __IXP2000_UENGINE_H
|
||||
|
||||
extern u32 ixp2000_uengine_mask;
|
||||
|
||||
struct ixp2000_uengine_code
|
||||
{
|
||||
u32 cpu_model_bitmask;
|
||||
u8 cpu_min_revision;
|
||||
u8 cpu_max_revision;
|
||||
|
||||
u32 uengine_parameters;
|
||||
|
||||
struct ixp2000_reg_value {
|
||||
int reg;
|
||||
u32 value;
|
||||
} *initial_reg_values;
|
||||
|
||||
int num_insns;
|
||||
u8 *insns;
|
||||
};
|
||||
|
||||
u32 ixp2000_uengine_csr_read(int uengine, int offset);
|
||||
void ixp2000_uengine_csr_write(int uengine, int offset, u32 value);
|
||||
void ixp2000_uengine_reset(u32 uengine_mask);
|
||||
void ixp2000_uengine_set_mode(int uengine, u32 mode);
|
||||
void ixp2000_uengine_load_microcode(int uengine, u8 *ucode, int insns);
|
||||
void ixp2000_uengine_init_context(int uengine, int context, int pc);
|
||||
void ixp2000_uengine_start_contexts(int uengine, u8 ctx_mask);
|
||||
void ixp2000_uengine_stop_contexts(int uengine, u8 ctx_mask);
|
||||
int ixp2000_uengine_load(int uengine, struct ixp2000_uengine_code *c);
|
||||
|
||||
#define IXP2000_UENGINE_8_CONTEXTS 0x00000000
|
||||
#define IXP2000_UENGINE_4_CONTEXTS 0x80000000
|
||||
#define IXP2000_UENGINE_PRN_UPDATE_EVERY 0x40000000
|
||||
#define IXP2000_UENGINE_PRN_UPDATE_ON_ACCESS 0x00000000
|
||||
#define IXP2000_UENGINE_NN_FROM_SELF 0x00100000
|
||||
#define IXP2000_UENGINE_NN_FROM_PREVIOUS 0x00000000
|
||||
#define IXP2000_UENGINE_ASSERT_EMPTY_AT_3 0x000c0000
|
||||
#define IXP2000_UENGINE_ASSERT_EMPTY_AT_2 0x00080000
|
||||
#define IXP2000_UENGINE_ASSERT_EMPTY_AT_1 0x00040000
|
||||
#define IXP2000_UENGINE_ASSERT_EMPTY_AT_0 0x00000000
|
||||
#define IXP2000_UENGINE_LM_ADDR1_GLOBAL 0x00020000
|
||||
#define IXP2000_UENGINE_LM_ADDR1_PER_CONTEXT 0x00000000
|
||||
#define IXP2000_UENGINE_LM_ADDR0_GLOBAL 0x00010000
|
||||
#define IXP2000_UENGINE_LM_ADDR0_PER_CONTEXT 0x00000000
|
||||
|
||||
|
||||
#endif
|
||||
@@ -1,72 +0,0 @@
|
||||
|
||||
if ARCH_IXP2000
|
||||
|
||||
config ARCH_SUPPORTS_BIG_ENDIAN
|
||||
bool
|
||||
default y
|
||||
|
||||
menu "Intel IXP2400/2800 Implementation Options"
|
||||
|
||||
comment "IXP2400/2800 Platforms"
|
||||
|
||||
config ARCH_ENP2611
|
||||
bool "Support Radisys ENP-2611"
|
||||
help
|
||||
Say 'Y' here if you want your kernel to support the Radisys
|
||||
ENP2611 PCI network processing card. For more information on
|
||||
this card, see <file:Documentation/arm/IXP2000>.
|
||||
|
||||
config ARCH_IXDP2400
|
||||
bool "Support Intel IXDP2400"
|
||||
help
|
||||
Say 'Y' here if you want your kernel to support the Intel
|
||||
IXDP2400 reference platform. For more information on
|
||||
this platform, see <file:Documentation/arm/IXP2000>.
|
||||
|
||||
config ARCH_IXDP2800
|
||||
bool "Support Intel IXDP2800"
|
||||
help
|
||||
Say 'Y' here if you want your kernel to support the Intel
|
||||
IXDP2800 reference platform. For more information on
|
||||
this platform, see <file:Documentation/arm/IXP2000>.
|
||||
|
||||
config ARCH_IXDP2X00
|
||||
bool
|
||||
depends on ARCH_IXDP2400 || ARCH_IXDP2800
|
||||
default y
|
||||
|
||||
config ARCH_IXDP2401
|
||||
bool "Support Intel IXDP2401"
|
||||
help
|
||||
Say 'Y' here if you want your kernel to support the Intel
|
||||
IXDP2401 reference platform. For more information on
|
||||
this platform, see <file:Documentation/arm/IXP2000>.
|
||||
|
||||
config ARCH_IXDP2801
|
||||
bool "Support Intel IXDP2801 and IXDP28x5"
|
||||
help
|
||||
Say 'Y' here if you want your kernel to support the Intel
|
||||
IXDP2801/2805/2855 reference platforms. For more information on
|
||||
this platform, see <file:Documentation/arm/IXP2000>.
|
||||
|
||||
config MACH_IXDP28X5
|
||||
bool
|
||||
depends on ARCH_IXDP2801
|
||||
default y
|
||||
|
||||
config ARCH_IXDP2X01
|
||||
bool
|
||||
depends on ARCH_IXDP2401 || ARCH_IXDP2801
|
||||
default y
|
||||
|
||||
config IXP2000_SUPPORT_BROKEN_PCI_IO
|
||||
bool "Support broken PCI I/O on older IXP2000s"
|
||||
default y
|
||||
help
|
||||
Say 'N' here if you only intend to run your kernel on an
|
||||
IXP2000 B0 or later model and do not need the PCI I/O
|
||||
byteswap workaround. Say 'Y' otherwise.
|
||||
|
||||
endmenu
|
||||
|
||||
endif
|
||||
@@ -1,14 +0,0 @@
|
||||
#
|
||||
# Makefile for the linux kernel.
|
||||
#
|
||||
obj-y := core.o pci.o
|
||||
obj-m :=
|
||||
obj-n :=
|
||||
obj- :=
|
||||
|
||||
obj-$(CONFIG_ARCH_ENP2611) += enp2611.o
|
||||
obj-$(CONFIG_ARCH_IXDP2400) += ixdp2400.o
|
||||
obj-$(CONFIG_ARCH_IXDP2800) += ixdp2800.o
|
||||
obj-$(CONFIG_ARCH_IXDP2X00) += ixdp2x00.o
|
||||
obj-$(CONFIG_ARCH_IXDP2X01) += ixdp2x01.o
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
zreladdr-y += 0x00008000
|
||||
params_phys-y := 0x00000100
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,265 +0,0 @@
|
||||
/*
|
||||
* arch/arm/mach-ixp2000/enp2611.c
|
||||
*
|
||||
* Radisys ENP-2611 support.
|
||||
*
|
||||
* Created 2004 by Lennert Buytenhek from the ixdp2x01 code. The
|
||||
* original version carries the following notices:
|
||||
*
|
||||
* Original Author: Andrzej Mialkowski <andrzej.mialkowski@intel.com>
|
||||
* Maintainer: Deepak Saxena <dsaxena@plexity.net>
|
||||
*
|
||||
* Copyright (C) 2002-2003 Intel Corp.
|
||||
* Copyright (C) 2003-2004 MontaVista Software, Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/bitops.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/serial.h>
|
||||
#include <linux/tty.h>
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/io.h>
|
||||
|
||||
#include <asm/irq.h>
|
||||
#include <asm/pgtable.h>
|
||||
#include <asm/page.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
#include <asm/mach/pci.h>
|
||||
#include <asm/mach/map.h>
|
||||
#include <asm/mach/irq.h>
|
||||
#include <asm/mach/time.h>
|
||||
#include <asm/mach/arch.h>
|
||||
#include <asm/mach/flash.h>
|
||||
|
||||
/*************************************************************************
|
||||
* ENP-2611 timer tick configuration
|
||||
*************************************************************************/
|
||||
static void __init enp2611_timer_init(void)
|
||||
{
|
||||
ixp2000_init_time(50 * 1000 * 1000);
|
||||
}
|
||||
|
||||
static struct sys_timer enp2611_timer = {
|
||||
.init = enp2611_timer_init,
|
||||
.offset = ixp2000_gettimeoffset,
|
||||
};
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
* ENP-2611 I/O
|
||||
*************************************************************************/
|
||||
static struct map_desc enp2611_io_desc[] __initdata = {
|
||||
{
|
||||
.virtual = ENP2611_CALEB_VIRT_BASE,
|
||||
.pfn = __phys_to_pfn(ENP2611_CALEB_PHYS_BASE),
|
||||
.length = ENP2611_CALEB_SIZE,
|
||||
.type = MT_DEVICE,
|
||||
}, {
|
||||
.virtual = ENP2611_PM3386_0_VIRT_BASE,
|
||||
.pfn = __phys_to_pfn(ENP2611_PM3386_0_PHYS_BASE),
|
||||
.length = ENP2611_PM3386_0_SIZE,
|
||||
.type = MT_DEVICE,
|
||||
}, {
|
||||
.virtual = ENP2611_PM3386_1_VIRT_BASE,
|
||||
.pfn = __phys_to_pfn(ENP2611_PM3386_1_PHYS_BASE),
|
||||
.length = ENP2611_PM3386_1_SIZE,
|
||||
.type = MT_DEVICE,
|
||||
}
|
||||
};
|
||||
|
||||
void __init enp2611_map_io(void)
|
||||
{
|
||||
ixp2000_map_io();
|
||||
iotable_init(enp2611_io_desc, ARRAY_SIZE(enp2611_io_desc));
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
* ENP-2611 PCI
|
||||
*************************************************************************/
|
||||
static int enp2611_pci_setup(int nr, struct pci_sys_data *sys)
|
||||
{
|
||||
sys->mem_offset = 0xe0000000;
|
||||
ixp2000_pci_setup(nr, sys);
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void __init enp2611_pci_preinit(void)
|
||||
{
|
||||
ixp2000_reg_write(IXP2000_PCI_ADDR_EXT, 0x00100000);
|
||||
ixp2000_pci_preinit();
|
||||
pcibios_setup("firmware");
|
||||
}
|
||||
|
||||
static inline int enp2611_pci_valid_device(struct pci_bus *bus,
|
||||
unsigned int devfn)
|
||||
{
|
||||
/* The 82559 ethernet controller appears at both PCI:1:0:0 and
|
||||
* PCI:1:2:0, so let's pretend the second one isn't there.
|
||||
*/
|
||||
if (bus->number == 0x01 && devfn == 0x10)
|
||||
return 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int enp2611_pci_read_config(struct pci_bus *bus, unsigned int devfn,
|
||||
int where, int size, u32 *value)
|
||||
{
|
||||
if (enp2611_pci_valid_device(bus, devfn))
|
||||
return ixp2000_pci_read_config(bus, devfn, where, size, value);
|
||||
|
||||
return PCIBIOS_DEVICE_NOT_FOUND;
|
||||
}
|
||||
|
||||
static int enp2611_pci_write_config(struct pci_bus *bus, unsigned int devfn,
|
||||
int where, int size, u32 value)
|
||||
{
|
||||
if (enp2611_pci_valid_device(bus, devfn))
|
||||
return ixp2000_pci_write_config(bus, devfn, where, size, value);
|
||||
|
||||
return PCIBIOS_DEVICE_NOT_FOUND;
|
||||
}
|
||||
|
||||
static struct pci_ops enp2611_pci_ops = {
|
||||
.read = enp2611_pci_read_config,
|
||||
.write = enp2611_pci_write_config
|
||||
};
|
||||
|
||||
static struct pci_bus * __init enp2611_pci_scan_bus(int nr,
|
||||
struct pci_sys_data *sys)
|
||||
{
|
||||
return pci_scan_root_bus(NULL, sys->busnr, &enp2611_pci_ops, sys,
|
||||
&sys->resources);
|
||||
}
|
||||
|
||||
static int __init enp2611_pci_map_irq(const struct pci_dev *dev, u8 slot,
|
||||
u8 pin)
|
||||
{
|
||||
int irq;
|
||||
|
||||
if (dev->bus->number == 0 && PCI_SLOT(dev->devfn) == 0) {
|
||||
/* IXP2400. */
|
||||
irq = IRQ_IXP2000_PCIA;
|
||||
} else if (dev->bus->number == 0 && PCI_SLOT(dev->devfn) == 1) {
|
||||
/* 21555 non-transparent bridge. */
|
||||
irq = IRQ_IXP2000_PCIB;
|
||||
} else if (dev->bus->number == 0 && PCI_SLOT(dev->devfn) == 4) {
|
||||
/* PCI2050B transparent bridge. */
|
||||
irq = -1;
|
||||
} else if (dev->bus->number == 1 && PCI_SLOT(dev->devfn) == 0) {
|
||||
/* 82559 ethernet. */
|
||||
irq = IRQ_IXP2000_PCIA;
|
||||
} else if (dev->bus->number == 1 && PCI_SLOT(dev->devfn) == 1) {
|
||||
/* SPI-3 option board. */
|
||||
irq = IRQ_IXP2000_PCIB;
|
||||
} else {
|
||||
printk(KERN_ERR "enp2611_pci_map_irq() called for unknown "
|
||||
"device PCI:%d:%d:%d\n", dev->bus->number,
|
||||
PCI_SLOT(dev->devfn), PCI_FUNC(dev->devfn));
|
||||
irq = -1;
|
||||
}
|
||||
|
||||
return irq;
|
||||
}
|
||||
|
||||
struct hw_pci enp2611_pci __initdata = {
|
||||
.nr_controllers = 1,
|
||||
.setup = enp2611_pci_setup,
|
||||
.preinit = enp2611_pci_preinit,
|
||||
.scan = enp2611_pci_scan_bus,
|
||||
.map_irq = enp2611_pci_map_irq,
|
||||
};
|
||||
|
||||
int __init enp2611_pci_init(void)
|
||||
{
|
||||
if (machine_is_enp2611())
|
||||
pci_common_init(&enp2611_pci);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
subsys_initcall(enp2611_pci_init);
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
* ENP-2611 Machine Initialization
|
||||
*************************************************************************/
|
||||
static struct flash_platform_data enp2611_flash_platform_data = {
|
||||
.map_name = "cfi_probe",
|
||||
.width = 1,
|
||||
};
|
||||
|
||||
static struct ixp2000_flash_data enp2611_flash_data = {
|
||||
.platform_data = &enp2611_flash_platform_data,
|
||||
.nr_banks = 1
|
||||
};
|
||||
|
||||
static struct resource enp2611_flash_resource = {
|
||||
.start = 0xc4000000,
|
||||
.end = 0xc4000000 + 0x00ffffff,
|
||||
.flags = IORESOURCE_MEM,
|
||||
};
|
||||
|
||||
static struct platform_device enp2611_flash = {
|
||||
.name = "IXP2000-Flash",
|
||||
.id = 0,
|
||||
.dev = {
|
||||
.platform_data = &enp2611_flash_data,
|
||||
},
|
||||
.num_resources = 1,
|
||||
.resource = &enp2611_flash_resource,
|
||||
};
|
||||
|
||||
static struct ixp2000_i2c_pins enp2611_i2c_gpio_pins = {
|
||||
.sda_pin = ENP2611_GPIO_SDA,
|
||||
.scl_pin = ENP2611_GPIO_SCL,
|
||||
};
|
||||
|
||||
static struct platform_device enp2611_i2c_controller = {
|
||||
.name = "IXP2000-I2C",
|
||||
.id = 0,
|
||||
.dev = {
|
||||
.platform_data = &enp2611_i2c_gpio_pins
|
||||
},
|
||||
.num_resources = 0
|
||||
};
|
||||
|
||||
static struct platform_device *enp2611_devices[] __initdata = {
|
||||
&enp2611_flash,
|
||||
&enp2611_i2c_controller
|
||||
};
|
||||
|
||||
static void __init enp2611_init_machine(void)
|
||||
{
|
||||
platform_add_devices(enp2611_devices, ARRAY_SIZE(enp2611_devices));
|
||||
ixp2000_uart_init();
|
||||
}
|
||||
|
||||
|
||||
MACHINE_START(ENP2611, "Radisys ENP-2611 PCI network processor board")
|
||||
/* Maintainer: Lennert Buytenhek <buytenh@wantstofly.org> */
|
||||
.atag_offset = 0x100,
|
||||
.map_io = enp2611_map_io,
|
||||
.init_irq = ixp2000_init_irq,
|
||||
.timer = &enp2611_timer,
|
||||
.init_machine = enp2611_init_machine,
|
||||
.restart = ixp2000_restart,
|
||||
MACHINE_END
|
||||
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
/* arch/arm/mach-ixp2000/include/mach/debug-macro.S
|
||||
*
|
||||
* Debugging macro include header
|
||||
*
|
||||
* Copyright (C) 1994-1999 Russell King
|
||||
* Moved from linux/arch/arm/kernel/debug.S by Ben Dooks
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
.macro addruart, rp, rv, tmp
|
||||
mov \rp, #0x00030000
|
||||
#ifdef __ARMEB__
|
||||
orr \rp, \rp, #0x00000003
|
||||
#endif
|
||||
orr \rv, \rp, #0xfe000000 @ virtual base
|
||||
orr \rv, \rv, #0x00f00000
|
||||
orr \rp, \rp, #0xc0000000 @ Physical base
|
||||
.endm
|
||||
|
||||
#define UART_SHIFT 2
|
||||
#include <asm/hardware/debug-8250.S>
|
||||
@@ -1,46 +0,0 @@
|
||||
/*
|
||||
* arch/arm/mach-ixp2000/include/mach/enp2611.h
|
||||
*
|
||||
* Register and other defines for Radisys ENP-2611
|
||||
*
|
||||
* Created 2004 by Lennert Buytenhek from the ixdp2x01 code. The
|
||||
* original version carries the following notices:
|
||||
*
|
||||
* Original Author: Naeem Afzal <naeem.m.afzal@intel.com>
|
||||
* Maintainer: Deepak Saxena <dsaxena@plexity.net>
|
||||
*
|
||||
* Copyright (C) 2002 Intel Corp.
|
||||
* Copyright (C) 2003-2004 MontaVista Software, Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*/
|
||||
|
||||
#ifndef __ENP2611_H
|
||||
#define __ENP2611_H
|
||||
|
||||
#define ENP2611_CALEB_PHYS_BASE 0xc5000000
|
||||
#define ENP2611_CALEB_VIRT_BASE 0xfe000000
|
||||
#define ENP2611_CALEB_SIZE 0x00100000
|
||||
|
||||
#define ENP2611_PM3386_0_PHYS_BASE 0xc6000000
|
||||
#define ENP2611_PM3386_0_VIRT_BASE 0xfe100000
|
||||
#define ENP2611_PM3386_0_SIZE 0x00100000
|
||||
|
||||
#define ENP2611_PM3386_1_PHYS_BASE 0xc6400000
|
||||
#define ENP2611_PM3386_1_VIRT_BASE 0xfe200000
|
||||
#define ENP2611_PM3386_1_SIZE 0x00100000
|
||||
|
||||
#define ENP2611_GPIO_SCL 7
|
||||
#define ENP2611_GPIO_SDA 6
|
||||
|
||||
#define IRQ_ENP2611_THERMAL IRQ_IXP2000_GPIO4
|
||||
#define IRQ_ENP2611_OPTION_BOARD IRQ_IXP2000_GPIO3
|
||||
#define IRQ_ENP2611_CALEB IRQ_IXP2000_GPIO2
|
||||
#define IRQ_ENP2611_PM3386_1 IRQ_IXP2000_GPIO1
|
||||
#define IRQ_ENP2611_PM3386_0 IRQ_IXP2000_GPIO0
|
||||
|
||||
|
||||
#endif
|
||||
@@ -1,54 +0,0 @@
|
||||
/*
|
||||
* arch/arm/mach-ixp2000/include/mach/entry-macro.S
|
||||
*
|
||||
* Low-level IRQ helper macros for IXP2000-based platforms
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
* warranty of any kind, whether express or implied.
|
||||
*/
|
||||
#include <mach/irqs.h>
|
||||
|
||||
.macro get_irqnr_preamble, base, tmp
|
||||
.endm
|
||||
|
||||
.macro get_irqnr_and_base, irqnr, irqstat, base, tmp
|
||||
|
||||
mov \irqnr, #0x0 @clear out irqnr as default
|
||||
mov \base, #0xfe000000
|
||||
orr \base, \base, #0x00e00000
|
||||
orr \base, \base, #0x08
|
||||
ldr \irqstat, [\base] @ get interrupts
|
||||
|
||||
cmp \irqstat, #0
|
||||
beq 1001f
|
||||
|
||||
clz \irqnr, \irqstat
|
||||
mov \base, #31
|
||||
subs \irqnr, \base, \irqnr
|
||||
|
||||
/*
|
||||
* We handle PCIA and PCIB here so we don't have an
|
||||
* extra layer of code just to check these two bits.
|
||||
*/
|
||||
cmp \irqnr, #IRQ_IXP2000_PCI
|
||||
bne 1001f
|
||||
|
||||
mov \base, #0xfe000000
|
||||
orr \base, \base, #0x00c00000
|
||||
orr \base, \base, #0x00000100
|
||||
orr \base, \base, #0x00000058
|
||||
ldr \irqstat, [\base]
|
||||
|
||||
mov \tmp, #(1<<26)
|
||||
tst \irqstat, \tmp
|
||||
movne \irqnr, #IRQ_IXP2000_PCIA
|
||||
bne 1001f
|
||||
|
||||
mov \tmp, #(1<<27)
|
||||
tst \irqstat, \tmp
|
||||
movne \irqnr, #IRQ_IXP2000_PCIB
|
||||
|
||||
1001:
|
||||
.endm
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
/*
|
||||
* arch/arm/mach-ixp2000/include/mach/gpio.h
|
||||
*
|
||||
* Copyright (C) 2002 Intel Corporation.
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
/*
|
||||
* IXP2000 GPIO in/out, edge/level detection for IRQs:
|
||||
* IRQs are generated on Falling-edge, Rising-Edge, Level-low, Level-High
|
||||
* or both Falling-edge and Rising-edge.
|
||||
* This must be called *before* the corresponding IRQ is registerd.
|
||||
* Use this instead of directly setting the GPIO registers.
|
||||
* GPIOs may also be used as GPIOs (e.g. for emulating i2c/smb)
|
||||
*/
|
||||
#ifndef __ASM_ARCH_GPIO_H
|
||||
#define __ASM_ARCH_GPIO_H
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
#define GPIO_IN 0
|
||||
#define GPIO_OUT 1
|
||||
|
||||
#define IXP2000_GPIO_LOW 0
|
||||
#define IXP2000_GPIO_HIGH 1
|
||||
|
||||
extern void gpio_line_config(int line, int direction);
|
||||
|
||||
static inline int gpio_line_get(int line)
|
||||
{
|
||||
return (((*IXP2000_GPIO_PLR) >> line) & 1);
|
||||
}
|
||||
|
||||
static inline void gpio_line_set(int line, int value)
|
||||
{
|
||||
if (value == IXP2000_GPIO_HIGH) {
|
||||
ixp2000_reg_write(IXP2000_GPIO_POSR, 1 << line);
|
||||
} else if (value == IXP2000_GPIO_LOW) {
|
||||
ixp2000_reg_write(IXP2000_GPIO_POCR, 1 << line);
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* !__ASSEMBLY__ */
|
||||
|
||||
#endif /* ASM_ARCH_IXP2000_GPIO_H_ */
|
||||
Loaded 20 of 55 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user