Commit 3f7e5815 authored by Lennert Buytenhek's avatar Lennert Buytenhek Committed by Russell King

[ARM] 3817/1: iop3xx: split the iop3xx mach into iop32x and iop33x

Split the iop3xx mach type into iop32x and iop33x -- split the config
symbols, and move the code in the mach-iop3xx directory to the mach-iop32x
and mach-iop33x directories.
Signed-off-by: default avatarLennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 98954df6
...@@ -202,12 +202,20 @@ config ARCH_IMX ...@@ -202,12 +202,20 @@ config ARCH_IMX
help help
Support for Motorola's i.MX family of processors (MX1, MXL). Support for Motorola's i.MX family of processors (MX1, MXL).
config ARCH_IOP3XX config ARCH_IOP32X
bool "IOP3xx-based" bool "IOP32x-based"
depends on MMU depends on MMU
select PCI select PCI
help help
Support for Intel's IOP3XX (XScale) family of processors. Support for Intel's 80219 and IOP32X (XScale) family of
processors.
config ARCH_IOP33X
bool "IOP33x-based"
depends on MMU
select PCI
help
Support for Intel's IOP33X (XScale) family of processors.
config ARCH_IXP4XX config ARCH_IXP4XX
bool "IXP4xx-based" bool "IXP4xx-based"
...@@ -312,7 +320,9 @@ source "arch/arm/mach-footbridge/Kconfig" ...@@ -312,7 +320,9 @@ source "arch/arm/mach-footbridge/Kconfig"
source "arch/arm/mach-integrator/Kconfig" source "arch/arm/mach-integrator/Kconfig"
source "arch/arm/mach-iop3xx/Kconfig" source "arch/arm/mach-iop32x/Kconfig"
source "arch/arm/mach-iop33x/Kconfig"
source "arch/arm/mach-ixp4xx/Kconfig" source "arch/arm/mach-ixp4xx/Kconfig"
...@@ -848,7 +858,7 @@ source "drivers/block/Kconfig" ...@@ -848,7 +858,7 @@ source "drivers/block/Kconfig"
source "drivers/acorn/block/Kconfig" source "drivers/acorn/block/Kconfig"
if PCMCIA || ARCH_CLPS7500 || ARCH_IOP3XX || ARCH_IXP4XX \ if PCMCIA || ARCH_CLPS7500 || ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX \
|| ARCH_L7200 || ARCH_LH7A40X || ARCH_PXA || ARCH_RPC \ || ARCH_L7200 || ARCH_LH7A40X || ARCH_PXA || ARCH_RPC \
|| ARCH_S3C2410 || ARCH_SA1100 || ARCH_SHARK || FOOTBRIDGE \ || ARCH_S3C2410 || ARCH_SA1100 || ARCH_SHARK || FOOTBRIDGE \
|| ARCH_IXP23XX || ARCH_IXP23XX
......
...@@ -101,7 +101,8 @@ endif ...@@ -101,7 +101,8 @@ endif
machine-$(CONFIG_ARCH_INTEGRATOR) := integrator machine-$(CONFIG_ARCH_INTEGRATOR) := integrator
textofs-$(CONFIG_ARCH_CLPS711X) := 0x00028000 textofs-$(CONFIG_ARCH_CLPS711X) := 0x00028000
machine-$(CONFIG_ARCH_CLPS711X) := clps711x machine-$(CONFIG_ARCH_CLPS711X) := clps711x
machine-$(CONFIG_ARCH_IOP3XX) := iop3xx machine-$(CONFIG_ARCH_IOP32X) := iop32x
machine-$(CONFIG_ARCH_IOP33X) := iop33x
machine-$(CONFIG_ARCH_IXP4XX) := ixp4xx machine-$(CONFIG_ARCH_IXP4XX) := ixp4xx
machine-$(CONFIG_ARCH_IXP2000) := ixp2000 machine-$(CONFIG_ARCH_IXP2000) := ixp2000
machine-$(CONFIG_ARCH_IXP23XX) := ixp23xx machine-$(CONFIG_ARCH_IXP23XX) := ixp23xx
......
...@@ -66,7 +66,8 @@ CONFIG_KMOD=y ...@@ -66,7 +66,8 @@ CONFIG_KMOD=y
# CONFIG_ARCH_EBSA110 is not set # CONFIG_ARCH_EBSA110 is not set
# CONFIG_ARCH_FOOTBRIDGE is not set # CONFIG_ARCH_FOOTBRIDGE is not set
# CONFIG_ARCH_INTEGRATOR is not set # CONFIG_ARCH_INTEGRATOR is not set
CONFIG_ARCH_IOP3XX=y CONFIG_ARCH_IOP32X=y
# CONFIG_ARCH_IOP33X is not set
# CONFIG_ARCH_IXP4XX is not set # CONFIG_ARCH_IXP4XX is not set
# CONFIG_ARCH_IXP2000 is not set # CONFIG_ARCH_IXP2000 is not set
# CONFIG_ARCH_L7200 is not set # CONFIG_ARCH_L7200 is not set
...@@ -93,8 +94,6 @@ CONFIG_ARCH_IQ31244=y ...@@ -93,8 +94,6 @@ CONFIG_ARCH_IQ31244=y
# CONFIG_ARCH_IQ80331 is not set # CONFIG_ARCH_IQ80331 is not set
# CONFIG_MACH_IQ80332 is not set # CONFIG_MACH_IQ80332 is not set
CONFIG_ARCH_EP80219=y CONFIG_ARCH_EP80219=y
CONFIG_ARCH_IOP32X=y
# CONFIG_ARCH_IOP33X is not set
# #
# IOP3xx Chipset Features # IOP3xx Chipset Features
......
...@@ -67,7 +67,8 @@ CONFIG_KMOD=y ...@@ -67,7 +67,8 @@ CONFIG_KMOD=y
# CONFIG_ARCH_EBSA110 is not set # CONFIG_ARCH_EBSA110 is not set
# CONFIG_ARCH_FOOTBRIDGE is not set # CONFIG_ARCH_FOOTBRIDGE is not set
# CONFIG_ARCH_INTEGRATOR is not set # CONFIG_ARCH_INTEGRATOR is not set
CONFIG_ARCH_IOP3XX=y CONFIG_ARCH_IOP32X=y
# CONFIG_ARCH_IOP33X is not set
# CONFIG_ARCH_IXP4XX is not set # CONFIG_ARCH_IXP4XX is not set
# CONFIG_ARCH_IXP2000 is not set # CONFIG_ARCH_IXP2000 is not set
# CONFIG_ARCH_L7200 is not set # CONFIG_ARCH_L7200 is not set
...@@ -94,8 +95,6 @@ CONFIG_ARCH_IQ31244=y ...@@ -94,8 +95,6 @@ CONFIG_ARCH_IQ31244=y
# CONFIG_ARCH_IQ80331 is not set # CONFIG_ARCH_IQ80331 is not set
# CONFIG_MACH_IQ80332 is not set # CONFIG_MACH_IQ80332 is not set
# CONFIG_ARCH_EP80219 is not set # CONFIG_ARCH_EP80219 is not set
CONFIG_ARCH_IOP32X=y
# CONFIG_ARCH_IOP33X is not set
# #
# IOP3xx Chipset Features # IOP3xx Chipset Features
......
...@@ -66,7 +66,8 @@ CONFIG_KMOD=y ...@@ -66,7 +66,8 @@ CONFIG_KMOD=y
# CONFIG_ARCH_EBSA110 is not set # CONFIG_ARCH_EBSA110 is not set
# CONFIG_ARCH_FOOTBRIDGE is not set # CONFIG_ARCH_FOOTBRIDGE is not set
# CONFIG_ARCH_INTEGRATOR is not set # CONFIG_ARCH_INTEGRATOR is not set
CONFIG_ARCH_IOP3XX=y CONFIG_ARCH_IOP32X=y
# CONFIG_ARCH_IOP33X is not set
# CONFIG_ARCH_IXP4XX is not set # CONFIG_ARCH_IXP4XX is not set
# CONFIG_ARCH_IXP2000 is not set # CONFIG_ARCH_IXP2000 is not set
# CONFIG_ARCH_L7200 is not set # CONFIG_ARCH_L7200 is not set
...@@ -93,8 +94,6 @@ CONFIG_ARCH_IQ80321=y ...@@ -93,8 +94,6 @@ CONFIG_ARCH_IQ80321=y
# CONFIG_ARCH_IQ80331 is not set # CONFIG_ARCH_IQ80331 is not set
# CONFIG_MACH_IQ80332 is not set # CONFIG_MACH_IQ80332 is not set
# CONFIG_ARCH_EP80219 is not set # CONFIG_ARCH_EP80219 is not set
CONFIG_ARCH_IOP32X=y
# CONFIG_ARCH_IOP33X is not set
# #
# IOP3xx Chipset Features # IOP3xx Chipset Features
......
...@@ -66,7 +66,8 @@ CONFIG_KMOD=y ...@@ -66,7 +66,8 @@ CONFIG_KMOD=y
# CONFIG_ARCH_EBSA110 is not set # CONFIG_ARCH_EBSA110 is not set
# CONFIG_ARCH_FOOTBRIDGE is not set # CONFIG_ARCH_FOOTBRIDGE is not set
# CONFIG_ARCH_INTEGRATOR is not set # CONFIG_ARCH_INTEGRATOR is not set
CONFIG_ARCH_IOP3XX=y # CONFIG_ARCH_IOP32X is not set
CONFIG_ARCH_IOP33X=y
# CONFIG_ARCH_IXP4XX is not set # CONFIG_ARCH_IXP4XX is not set
# CONFIG_ARCH_IXP2000 is not set # CONFIG_ARCH_IXP2000 is not set
# CONFIG_ARCH_L7200 is not set # CONFIG_ARCH_L7200 is not set
...@@ -93,7 +94,6 @@ CONFIG_ARCH_IOP3XX=y ...@@ -93,7 +94,6 @@ CONFIG_ARCH_IOP3XX=y
CONFIG_ARCH_IQ80331=y CONFIG_ARCH_IQ80331=y
# CONFIG_MACH_IQ80332 is not set # CONFIG_MACH_IQ80332 is not set
# CONFIG_ARCH_EP80219 is not set # CONFIG_ARCH_EP80219 is not set
CONFIG_ARCH_IOP33X=y
# #
# IOP3xx Chipset Features # IOP3xx Chipset Features
......
...@@ -66,7 +66,8 @@ CONFIG_KMOD=y ...@@ -66,7 +66,8 @@ CONFIG_KMOD=y
# CONFIG_ARCH_EBSA110 is not set # CONFIG_ARCH_EBSA110 is not set
# CONFIG_ARCH_FOOTBRIDGE is not set # CONFIG_ARCH_FOOTBRIDGE is not set
# CONFIG_ARCH_INTEGRATOR is not set # CONFIG_ARCH_INTEGRATOR is not set
CONFIG_ARCH_IOP3XX=y # CONFIG_ARCH_IOP32X is not set
CONFIG_ARCH_IOP33X=y
# CONFIG_ARCH_IXP4XX is not set # CONFIG_ARCH_IXP4XX is not set
# CONFIG_ARCH_IXP2000 is not set # CONFIG_ARCH_IXP2000 is not set
# CONFIG_ARCH_L7200 is not set # CONFIG_ARCH_L7200 is not set
...@@ -93,7 +94,6 @@ CONFIG_ARCH_IOP3XX=y ...@@ -93,7 +94,6 @@ CONFIG_ARCH_IOP3XX=y
# CONFIG_ARCH_IQ80331 is not set # CONFIG_ARCH_IQ80331 is not set
CONFIG_MACH_IQ80332=y CONFIG_MACH_IQ80332=y
# CONFIG_ARCH_EP80219 is not set # CONFIG_ARCH_EP80219 is not set
CONFIG_ARCH_IOP33X=y
# #
# IOP3xx Chipset Features # IOP3xx Chipset Features
......
if ARCH_IOP3XX if ARCH_IOP32X
menu "IOP3xx Implementation Options" menu "IOP32x Implementation Options"
comment "IOP3xx Platform Types" comment "IOP32x Platform Types"
config ARCH_IQ80321 config ARCH_IQ80321
bool "Enable support for IQ80321" bool "Enable support for IQ80321"
select ARCH_IOP32X
help help
Say Y here if you want to run your kernel on the Intel IQ80321 Say Y here if you want to run your kernel on the Intel IQ80321
evaluation kit for the IOP321 chipset. evaluation kit for the IOP321 chipset.
config ARCH_IQ31244 config ARCH_IQ31244
bool "Enable support for IQ31244" bool "Enable support for IQ31244"
select ARCH_IOP32X
help help
Say Y here if you want to run your kernel on the Intel IQ31244 Say Y here if you want to run your kernel on the Intel IQ31244
evaluation kit for the IOP321 chipset. evaluation kit for the IOP321 chipset.
config ARCH_IQ80331
bool "Enable support for IQ80331"
select ARCH_IOP33X
help
Say Y here if you want to run your kernel on the Intel IQ80331
evaluation kit for the IOP331 chipset.
config MACH_IQ80332
bool "Enable support for IQ80332"
select ARCH_IOP33X
help
Say Y here if you want to run your kernel on the Intel IQ80332
evaluation kit for the IOP332 chipset.
config ARCH_EP80219 config ARCH_EP80219
bool "Enable support for EP80219" bool "Enable support for EP80219"
select ARCH_IOP32X
select ARCH_IQ31244 select ARCH_IQ31244
help help
Say Y here if you want to run your kernel on the Intel EP80219 Say Y here if you want to run your kernel on the Intel EP80219
evaluation kit for the Intel 80219 chipset (a IOP321 variant). evaluation kit for the Intel 80219 chipset (a IOP321 variant).
# Which IOP variant are we running?
config ARCH_IOP32X
bool
help
The IQ80321 uses the IOP321 variant.
The IQ31244 and EP80219 uses the IOP321 variant.
config ARCH_IOP33X
bool
default ARCH_IQ80331
help
The IQ80331, IQ80332, and IQ80333 uses the IOP331 variant.
comment "IOP3xx Chipset Features"
config IOP331_STEPD
bool "Chip stepping D of the IOP80331 processor or IOP80333"
depends on ARCH_IOP33X
help
Say Y here if you have StepD of the IOP80331 or IOP8033
based platforms.
endmenu endmenu
endif endif
...@@ -2,22 +2,10 @@ ...@@ -2,22 +2,10 @@
# Makefile for the linux kernel. # Makefile for the linux kernel.
# #
# Object file lists. obj-y := common.o setup.o irq.o pci.o time.o
obj-y := common.o
obj-m := obj-m :=
obj-n := obj-n :=
obj- := obj- :=
obj-$(CONFIG_ARCH_IOP32X) += iop321-setup.o iop321-irq.o iop321-pci.o iop321-time.o
obj-$(CONFIG_ARCH_IOP33X) += iop331-setup.o iop331-irq.o iop331-pci.o iop331-time.o
obj-$(CONFIG_ARCH_IQ80321) += iq80321-mm.o iq80321-pci.o obj-$(CONFIG_ARCH_IQ80321) += iq80321-mm.o iq80321-pci.o
obj-$(CONFIG_ARCH_IQ31244) += iq31244-mm.o iq31244-pci.o obj-$(CONFIG_ARCH_IQ31244) += iq31244-mm.o iq31244-pci.o
obj-$(CONFIG_ARCH_IQ80331) += iq80331-mm.o iq80331-pci.o
obj-$(CONFIG_MACH_IQ80332) += iq80332-mm.o iq80332-pci.o
zreladdr-y := 0xa0008000 zreladdr-y := 0xa0008000
params_phys-y := 0xa0000100 params_phys-y := 0xa0000100
initrd_phys-y := 0xa0800000 initrd_phys-y := 0xa0800000
ifeq ($(CONFIG_ARCH_IOP33X),y)
zreladdr-y := 0x00008000
params_phys-y := 0x00000100
initrd_phys-y := 0x00800000
endif
/* /*
* arch/arm/mach-iop3xx/common.c * arch/arm/mach-iop32x/common.c
* *
* Common routines shared across all IOP3xx implementations * Common routines shared across all IOP3xx implementations
* *
......
/* /*
* linux/arch/arm/mach-iop3xx/mm.c * linux/arch/arm/mach-iop32x/iq31244-mm.c
* *
* Low level memory initialization for iq80321 platform * Low level memory initialization for iq80321 platform
* *
......
/* /*
* arch/arm/mach-iop3xx/iq80321-pci.c * arch/arm/mach-iop32x/iq31244-pci.c
* *
* PCI support for the Intel IQ80321 reference board * PCI support for the Intel IQ31244 reference board
* *
* Author: Rory Bolt <rorybolt@pacbell.net> * Author: Rory Bolt <rorybolt@pacbell.net>
* Copyright (C) 2002 Rory Bolt * Copyright (C) 2002 Rory Bolt
......
/* /*
* linux/arch/arm/mach-iop3xx/mm.c * linux/arch/arm/mach-iop32x/iq80321-mm.c
* *
* Low level memory initialization for iq80321 platform * Low level memory initialization for iq80321 platform
* *
......
/* /*
* arch/arm/mach-iop3xx/iq80321-pci.c * arch/arm/mach-iop32x/iq80321-pci.c
* *
* PCI support for the Intel IQ80321 reference board * PCI support for the Intel IQ80321 reference board
* *
......
/* /*
* linux/arch/arm/mach-iop3xx/iop321-irq.c * linux/arch/arm/mach-iop32x/irq.c
* *
* Generic IOP321 IRQ handling functionality * Generic IOP32X IRQ handling functionality
* *
* Author: Rory Bolt <rorybolt@pacbell.net> * Author: Rory Bolt <rorybolt@pacbell.net>
* Copyright (C) 2002 Rory Bolt * Copyright (C) 2002 Rory Bolt
...@@ -86,7 +86,7 @@ void __init iop321_init_irq(void) ...@@ -86,7 +86,7 @@ void __init iop321_init_irq(void)
machine_is_iq31244()) // all interrupts are inputs to chip machine_is_iq31244()) // all interrupts are inputs to chip
*IOP321_PCIIRSR = 0x0f; *IOP321_PCIIRSR = 0x0f;
for(i = IOP321_IRQ_OFS; i < NR_IOP321_IRQS; i++) for(i = IOP321_IRQ_OFS; i < NR_IRQS; i++)
{ {
set_irq_chip(i, &ext_chip); set_irq_chip(i, &ext_chip);
set_irq_handler(i, do_level_IRQ); set_irq_handler(i, do_level_IRQ);
......
/* /*
* arch/arm/mach-iop3xx/iop321-pci.c * arch/arm/mach-iop32x/pci.c
* *
* PCI support for the Intel IOP321 chipset * PCI support for the Intel IOP321 chipset
* *
......
/* /*
* linux/arch/arm/mach-iop3xx/iop321-setup.c * linux/arch/arm/mach-iop32x/setup.c
* *
* Author: Nicolas Pitre <nico@cam.org> * Author: Nicolas Pitre <nico@cam.org>
* Copyright (C) 2001 MontaVista Software, Inc. * Copyright (C) 2001 MontaVista Software, Inc.
......
/* /*
* arch/arm/mach-iop3xx/iop321-time.c * arch/arm/mach-iop32x/time.c
* *
* Timer code for IOP321 based systems * Timer code for IOP321 based systems
* *
......
if ARCH_IOP33X
menu "IOP33x Implementation Options"
comment "IOP33x Platform Types"
config ARCH_IQ80331
bool "Enable support for IQ80331"
help
Say Y here if you want to run your kernel on the Intel IQ80331
evaluation kit for the IOP331 chipset.
config MACH_IQ80332
bool "Enable support for IQ80332"
help
Say Y here if you want to run your kernel on the Intel IQ80332
evaluation kit for the IOP332 chipset.
config IOP331_STEPD
bool "Chip stepping D of the IOP80331 processor or IOP80333"
help
Say Y here if you have StepD of the IOP80331 or IOP8033
based platforms.
endmenu
endif
#
# Makefile for the linux kernel.
#
obj-y := common.o setup.o irq.o pci.o time.o
obj-m :=
obj-n :=
obj- :=
obj-$(CONFIG_ARCH_IQ80331) += iq80331-mm.o iq80331-pci.o
obj-$(CONFIG_MACH_IQ80332) += iq80332-mm.o iq80332-pci.o
zreladdr-y := 0x00008000
params_phys-y := 0x00000100
initrd_phys-y := 0x00800000
/*
* arch/arm/mach-iop33x/common.c
*
* Common routines shared across all IOP3xx implementations
*
* Author: Deepak Saxena <dsaxena@mvista.com>
*
* Copyright 2003 (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.
*/
#include <linux/delay.h>
#include <asm/hardware.h>
/*
* Shared variables
*/
unsigned long iop3xx_pcibios_min_io = 0;
unsigned long iop3xx_pcibios_min_mem = 0;
/* /*
* linux/arch/arm/mach-iop3xx/mm.c * linux/arch/arm/mach-iop33x/iq80331-mm.c
* *
* Low level memory initialization for iq80331 platform * Low level memory initialization for iq80331 platform
* *
......
/* /*
* arch/arm/mach-iop3xx/iq80331-pci.c * arch/arm/mach-iop33x/iq80331-pci.c
* *
* PCI support for the Intel IQ80331 reference board * PCI support for the Intel IQ80331 reference board
* *
......
/* /*
* linux/arch/arm/mach-iop3xx/mm.c * linux/arch/arm/mach-iop33x/iq80332-mm.c
* *
* Low level memory initialization for iq80332 platform * Low level memory initialization for iq80332 platform
* *
......
/* /*
* arch/arm/mach-iop3xx/iq80332-pci.c * arch/arm/mach-iop33x/iq80332-pci.c
* *
* PCI support for the Intel IQ80332 reference board * PCI support for the Intel IQ80332 reference board
* *
......
/* /*
* linux/arch/arm/mach-iop3xx/iop331-irq.c * linux/arch/arm/mach-iop33x/irq.c
* *
* Generic IOP331 IRQ handling functionality * Generic IOP331 IRQ handling functionality
* *
...@@ -119,7 +119,7 @@ void __init iop331_init_irq(void) ...@@ -119,7 +119,7 @@ void __init iop331_init_irq(void)
if(machine_is_iq80331()) // all interrupts are inputs to chip if(machine_is_iq80331()) // all interrupts are inputs to chip
*IOP331_PCIIRSR = 0x0f; *IOP331_PCIIRSR = 0x0f;
for(i = IOP331_IRQ_OFS; i < NR_IOP331_IRQS; i++) for(i = IOP331_IRQ_OFS; i < NR_IRQS; i++)
{ {
set_irq_chip(i, (i < 32) ? &iop331_irqchip1 : &iop331_irqchip2); set_irq_chip(i, (i < 32) ? &iop331_irqchip1 : &iop331_irqchip2);
set_irq_handler(i, do_level_IRQ); set_irq_handler(i, do_level_IRQ);
......
/* /*
* arch/arm/mach-iop3xx/iop331-pci.c * arch/arm/mach-iop33x/pci.c
* *
* PCI support for the Intel IOP331 chipset * PCI support for the Intel IOP331 chipset
* *
......