[ARM] 3388/1: ixp23xx: add core ixp23xx support
Patch from Lennert Buytenhek
This patch adds support for the Intel ixp23xx series of CPUs. The
ixp23xx is an XSC3 based CPU with 512K of L2 cache, a 64bit 66MHz PCI
interface, two DDR RAM interfaces, QDR RAM interfaces, two gigabit
MACs, two 10/100 MACs, expansion bus, four microengines, a Media and
Switch Fabric unit almost identical to the one on the ixp2400, two
xscale (8250ish) UARTs and a bunch of other stuff.
This patch adds the core ixp23xx support code, and support for the
ADI Engineering Roadrunner, Intel IXDP2351, and IP Fabrics Double
Espresso platforms.
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-28 20:18:54 +00:00
|
|
|
/*
|
|
|
|
* include/asm-arm/arch-ixp23xx/platform.h
|
|
|
|
*
|
|
|
|
* Various bits of code used by platform-level code.
|
|
|
|
*
|
|
|
|
* Author: Deepak Saxena <dsaxena@plexity.net>
|
|
|
|
*
|
|
|
|
* Copyright 2005 (c) MontaVista Software, Inc.
|
|
|
|
*
|
|
|
|
* 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.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
|
2007-08-27 21:28:17 +00:00
|
|
|
static inline unsigned long ixp2000_reg_read(volatile void *reg)
|
2006-06-22 09:30:56 +00:00
|
|
|
{
|
|
|
|
return *((volatile unsigned long *)reg);
|
|
|
|
}
|
|
|
|
|
2007-08-27 21:28:17 +00:00
|
|
|
static inline void ixp2000_reg_write(volatile void *reg, unsigned long val)
|
2006-06-22 09:30:56 +00:00
|
|
|
{
|
|
|
|
*((volatile unsigned long *)reg) = val;
|
|
|
|
}
|
|
|
|
|
2007-08-27 21:28:17 +00:00
|
|
|
static inline void ixp2000_reg_wrb(volatile void *reg, unsigned long val)
|
2006-06-22 09:30:56 +00:00
|
|
|
{
|
|
|
|
*((volatile unsigned long *)reg) = val;
|
|
|
|
}
|
|
|
|
|
[ARM] 3388/1: ixp23xx: add core ixp23xx support
Patch from Lennert Buytenhek
This patch adds support for the Intel ixp23xx series of CPUs. The
ixp23xx is an XSC3 based CPU with 512K of L2 cache, a 64bit 66MHz PCI
interface, two DDR RAM interfaces, QDR RAM interfaces, two gigabit
MACs, two 10/100 MACs, expansion bus, four microengines, a Media and
Switch Fabric unit almost identical to the one on the ixp2400, two
xscale (8250ish) UARTs and a bunch of other stuff.
This patch adds the core ixp23xx support code, and support for the
ADI Engineering Roadrunner, Intel IXDP2351, and IP Fabrics Double
Espresso platforms.
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-28 20:18:54 +00:00
|
|
|
struct pci_sys_data;
|
|
|
|
|
|
|
|
void ixp23xx_map_io(void);
|
|
|
|
void ixp23xx_init_irq(void);
|
|
|
|
void ixp23xx_sys_init(void);
|
|
|
|
int ixp23xx_pci_setup(int, struct pci_sys_data *);
|
|
|
|
void ixp23xx_pci_preinit(void);
|
|
|
|
struct pci_bus *ixp23xx_pci_scan_bus(int, struct pci_sys_data*);
|
2006-04-01 17:33:35 +00:00
|
|
|
void ixp23xx_pci_slave_init(void);
|
[ARM] 3388/1: ixp23xx: add core ixp23xx support
Patch from Lennert Buytenhek
This patch adds support for the Intel ixp23xx series of CPUs. The
ixp23xx is an XSC3 based CPU with 512K of L2 cache, a 64bit 66MHz PCI
interface, two DDR RAM interfaces, QDR RAM interfaces, two gigabit
MACs, two 10/100 MACs, expansion bus, four microengines, a Media and
Switch Fabric unit almost identical to the one on the ixp2400, two
xscale (8250ish) UARTs and a bunch of other stuff.
This patch adds the core ixp23xx support code, and support for the
ADI Engineering Roadrunner, Intel IXDP2351, and IP Fabrics Double
Espresso platforms.
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-28 20:18:54 +00:00
|
|
|
|
|
|
|
extern struct sys_timer ixp23xx_timer;
|
|
|
|
|
|
|
|
#define IXP23XX_UART_XTAL 14745600
|
|
|
|
|
2006-06-27 21:56:16 +00:00
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
/*
|
|
|
|
* Is system memory on the XSI or CPP bus?
|
|
|
|
*/
|
|
|
|
static inline unsigned ixp23xx_cpp_boot(void)
|
|
|
|
{
|
|
|
|
return (*IXP23XX_EXP_CFG0 & IXP23XX_EXP_CFG0_XSI_NOT_PRES);
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
[ARM] 3388/1: ixp23xx: add core ixp23xx support
Patch from Lennert Buytenhek
This patch adds support for the Intel ixp23xx series of CPUs. The
ixp23xx is an XSC3 based CPU with 512K of L2 cache, a 64bit 66MHz PCI
interface, two DDR RAM interfaces, QDR RAM interfaces, two gigabit
MACs, two 10/100 MACs, expansion bus, four microengines, a Media and
Switch Fabric unit almost identical to the one on the ixp2400, two
xscale (8250ish) UARTs and a bunch of other stuff.
This patch adds the core ixp23xx support code, and support for the
ADI Engineering Roadrunner, Intel IXDP2351, and IP Fabrics Double
Espresso platforms.
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-28 20:18:54 +00:00
|
|
|
|
|
|
|
#endif
|