forked from luck/tmp_suning_uos_patched
[ARM] 3334/1: Add support for IXDP28x5 platforms
Patch from Deepak Saxena This patch adds support for Intel's IXDP28x5 platform. This is just and IXDP2801 with a new CPU rev but the bootloader has been updated to reflect a new machine ID so we just build support for it by default when we build IXDP2801. Signed-off-by: Deepak Saxena <dsaxena@plexity.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
3fc3e1c064
commit
0328ad23cf
|
@ -43,12 +43,17 @@ config ARCH_IXDP2401
|
|||
this platform, see <file:Documentation/arm/IXP2000>.
|
||||
|
||||
config ARCH_IXDP2801
|
||||
bool "Support Intel IXDP2801"
|
||||
bool "Support Intel IXDP2801 and IXDP28x5"
|
||||
help
|
||||
Say 'Y' here if you want your kernel to support the Intel
|
||||
IXDP2801 reference platform. For more information on
|
||||
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
|
||||
|
|
|
@ -284,7 +284,7 @@ static int ixdp2x01_pci_setup(int nr, struct pci_sys_data *sys)
|
|||
{
|
||||
sys->mem_offset = 0xe0000000;
|
||||
|
||||
if (machine_is_ixdp2801())
|
||||
if (machine_is_ixdp2801() || machine_is_ixdp28x5())
|
||||
sys->mem_offset -= ((*IXP2000_PCI_ADDR_EXT & 0xE000) << 16);
|
||||
|
||||
return ixp2000_pci_setup(nr, sys);
|
||||
|
@ -300,7 +300,8 @@ struct hw_pci ixdp2x01_pci __initdata = {
|
|||
|
||||
int __init ixdp2x01_pci_init(void)
|
||||
{
|
||||
if (machine_is_ixdp2401() || machine_is_ixdp2801())
|
||||
if (machine_is_ixdp2401() || machine_is_ixdp2801() ||\
|
||||
machine_is_ixdp28x5())
|
||||
pci_common_init(&ixdp2x01_pci);
|
||||
|
||||
return 0;
|
||||
|
@ -400,6 +401,21 @@ MACHINE_START(IXDP2801, "Intel IXDP2801 Development Platform")
|
|||
.timer = &ixdp2x01_timer,
|
||||
.init_machine = ixdp2x01_init_machine,
|
||||
MACHINE_END
|
||||
|
||||
/*
|
||||
* IXDP28x5 is basically an IXDP2801 with a different CPU but Intel
|
||||
* changed the machine ID in the bootloader
|
||||
*/
|
||||
MACHINE_START(IXDP28X5, "Intel IXDP2805/2855 Development Platform")
|
||||
/* Maintainer: MontaVista Software, Inc. */
|
||||
.phys_io = IXP2000_UART_PHYS_BASE,
|
||||
.io_pg_offst = ((IXP2000_UART_VIRT_BASE) >> 18) & 0xfffc,
|
||||
.boot_params = 0x00000100,
|
||||
.map_io = ixdp2x01_map_io,
|
||||
.init_irq = ixdp2x01_init_irq,
|
||||
.timer = &ixdp2x01_timer,
|
||||
.init_machine = ixdp2x01_init_machine,
|
||||
MACHINE_END
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ static inline void arch_reset(char mode)
|
|||
* to cause a complete reset of the CPU and all external devices
|
||||
* and move the flash bank register back to 0.
|
||||
*/
|
||||
if (machine_is_ixdp2801()) {
|
||||
if (machine_is_ixdp2801() || machine_is_ixdp28x5()) {
|
||||
unsigned long reset_reg = *IXDP2X01_CPLD_RESET_REG;
|
||||
|
||||
reset_reg = 0x55AA0000 | (reset_reg & 0x0000FFFF);
|
||||
|
|
Loading…
Reference in New Issue
Block a user