diff options
author | Zang Roy-r61911 <tie-fei.zang@freescale.com> | 2006-08-25 00:16:30 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-08-30 00:29:42 -0400 |
commit | 7233593b7844c2db930594ee9c0c872a6900bfcc (patch) | |
tree | afd6d3011feec3d2a2b1d80afd0e4ee9ef5fa3e4 /arch/powerpc/platforms | |
parent | 3efbdd136e52ee4028b5bb5b848a6043cf61cd6e (diff) |
[POWERPC] Support for "weird" MPICs and fixup mpc7448_hpc2
This adds a new hardware information table for mpic. This enables
the mpic code to deal with mpic controllers with different register
layouts and hardware behaviours.
This introduces CONFIG_MPIC_WEIRD. For boards with non standard mpic
controllers, select CONFIG_MPIC_WEIRD and add its hardware information
in the mpic_infos[] array.
TSI108/109 PIC takes the first index of weird hardware information
table. :) The table can be extended. The Tsi108/109 PIC looks like
standard OpenPIC but, in fact, is different in register mapping and
behavior.
The patch does not affect the behavior of standard mpic. If
CONFIG_MPIC_WEIRD is not defined, the code is essentially identical to
the current code.
[benh@kernel.crashing.org:
This patch is a slightly cleaned up version of Zang Roy's support for
the TSI108 MPIC variant. It also fixes up MPC7448_hpc2 to use the new
version of the type macros and changes the way MPIC is selected in
Kconfig to better match what is done for other system devices.
]
Signed-off-by: Roy Zang <tie-fei.zang@freescale.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/platforms')
-rw-r--r-- | arch/powerpc/platforms/embedded6xx/Kconfig | 1 | ||||
-rw-r--r-- | arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/embedded6xx/Kconfig b/arch/powerpc/platforms/embedded6xx/Kconfig index ba07a9a7c039..234a861870a8 100644 --- a/arch/powerpc/platforms/embedded6xx/Kconfig +++ b/arch/powerpc/platforms/embedded6xx/Kconfig | |||
@@ -80,6 +80,7 @@ config MPC7448HPC2 | |||
80 | select DEFAULT_UIMAGE | 80 | select DEFAULT_UIMAGE |
81 | select PPC_UDBG_16550 | 81 | select PPC_UDBG_16550 |
82 | select MPIC | 82 | select MPIC |
83 | select MPIC_WEIRD | ||
83 | help | 84 | help |
84 | Select MPC7448HPC2 if configuring for Freescale MPC7448HPC2 (Taiga) | 85 | Select MPC7448HPC2 if configuring for Freescale MPC7448HPC2 (Taiga) |
85 | platform | 86 | platform |
diff --git a/arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c b/arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c index ed00ed2455dd..5d393eb94935 100644 --- a/arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c +++ b/arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c | |||
@@ -215,7 +215,7 @@ static void __init mpc7448_hpc2_init_IRQ(void) | |||
215 | 215 | ||
216 | mpic = mpic_alloc(tsi_pic, mpic_paddr, | 216 | mpic = mpic_alloc(tsi_pic, mpic_paddr, |
217 | MPIC_PRIMARY | MPIC_BIG_ENDIAN | MPIC_WANTS_RESET | | 217 | MPIC_PRIMARY | MPIC_BIG_ENDIAN | MPIC_WANTS_RESET | |
218 | MPIC_SPV_EOI | MPIC_MOD_ID(MPIC_ID_TSI108), | 218 | MPIC_SPV_EOI | MPIC_NO_PTHROU_DIS | MPIC_REGSET_TSI108, |
219 | 0, /* num_sources used */ | 219 | 0, /* num_sources used */ |
220 | 0, /* num_sources used */ | 220 | 0, /* num_sources used */ |
221 | "Tsi108_PIC"); | 221 | "Tsi108_PIC"); |