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/Kconfig | |
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/Kconfig')
-rw-r--r-- | arch/powerpc/Kconfig | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index abb325eb8f75..4d4b6fb156e1 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
@@ -354,6 +354,7 @@ endchoice | |||
354 | config PPC_PSERIES | 354 | config PPC_PSERIES |
355 | depends on PPC_MULTIPLATFORM && PPC64 | 355 | depends on PPC_MULTIPLATFORM && PPC64 |
356 | bool "IBM pSeries & new (POWER5-based) iSeries" | 356 | bool "IBM pSeries & new (POWER5-based) iSeries" |
357 | select MPIC | ||
357 | select PPC_I8259 | 358 | select PPC_I8259 |
358 | select PPC_RTAS | 359 | select PPC_RTAS |
359 | select RTAS_ERROR_LOGGING | 360 | select RTAS_ERROR_LOGGING |
@@ -363,6 +364,7 @@ config PPC_PSERIES | |||
363 | config PPC_CHRP | 364 | config PPC_CHRP |
364 | bool "Common Hardware Reference Platform (CHRP) based machines" | 365 | bool "Common Hardware Reference Platform (CHRP) based machines" |
365 | depends on PPC_MULTIPLATFORM && PPC32 | 366 | depends on PPC_MULTIPLATFORM && PPC32 |
367 | select MPIC | ||
366 | select PPC_I8259 | 368 | select PPC_I8259 |
367 | select PPC_INDIRECT_PCI | 369 | select PPC_INDIRECT_PCI |
368 | select PPC_RTAS | 370 | select PPC_RTAS |
@@ -373,6 +375,7 @@ config PPC_CHRP | |||
373 | config PPC_PMAC | 375 | config PPC_PMAC |
374 | bool "Apple PowerMac based machines" | 376 | bool "Apple PowerMac based machines" |
375 | depends on PPC_MULTIPLATFORM | 377 | depends on PPC_MULTIPLATFORM |
378 | select MPIC | ||
376 | select PPC_INDIRECT_PCI if PPC32 | 379 | select PPC_INDIRECT_PCI if PPC32 |
377 | select PPC_MPC106 if PPC32 | 380 | select PPC_MPC106 if PPC32 |
378 | default y | 381 | default y |
@@ -380,6 +383,7 @@ config PPC_PMAC | |||
380 | config PPC_PMAC64 | 383 | config PPC_PMAC64 |
381 | bool | 384 | bool |
382 | depends on PPC_PMAC && POWER4 | 385 | depends on PPC_PMAC && POWER4 |
386 | select MPIC | ||
383 | select U3_DART | 387 | select U3_DART |
384 | select MPIC_BROKEN_U3 | 388 | select MPIC_BROKEN_U3 |
385 | select GENERIC_TBSYNC | 389 | select GENERIC_TBSYNC |
@@ -389,6 +393,7 @@ config PPC_PMAC64 | |||
389 | config PPC_PREP | 393 | config PPC_PREP |
390 | bool "PowerPC Reference Platform (PReP) based machines" | 394 | bool "PowerPC Reference Platform (PReP) based machines" |
391 | depends on PPC_MULTIPLATFORM && PPC32 && BROKEN | 395 | depends on PPC_MULTIPLATFORM && PPC32 && BROKEN |
396 | select MPIC | ||
392 | select PPC_I8259 | 397 | select PPC_I8259 |
393 | select PPC_INDIRECT_PCI | 398 | select PPC_INDIRECT_PCI |
394 | select PPC_UDBG_16550 | 399 | select PPC_UDBG_16550 |
@@ -397,6 +402,7 @@ config PPC_PREP | |||
397 | config PPC_MAPLE | 402 | config PPC_MAPLE |
398 | depends on PPC_MULTIPLATFORM && PPC64 | 403 | depends on PPC_MULTIPLATFORM && PPC64 |
399 | bool "Maple 970FX Evaluation Board" | 404 | bool "Maple 970FX Evaluation Board" |
405 | select MPIC | ||
400 | select U3_DART | 406 | select U3_DART |
401 | select MPIC_BROKEN_U3 | 407 | select MPIC_BROKEN_U3 |
402 | select GENERIC_TBSYNC | 408 | select GENERIC_TBSYNC |
@@ -439,12 +445,6 @@ config U3_DART | |||
439 | depends on PPC_MULTIPLATFORM && PPC64 | 445 | depends on PPC_MULTIPLATFORM && PPC64 |
440 | default n | 446 | default n |
441 | 447 | ||
442 | config MPIC | ||
443 | depends on PPC_PSERIES || PPC_PMAC || PPC_MAPLE || PPC_CHRP \ | ||
444 | || MPC7448HPC2 | ||
445 | bool | ||
446 | default y | ||
447 | |||
448 | config PPC_RTAS | 448 | config PPC_RTAS |
449 | bool | 449 | bool |
450 | default n | 450 | default n |
@@ -812,6 +812,14 @@ config GENERIC_ISA_DMA | |||
812 | depends on PPC64 || POWER4 || 6xx && !CPM2 | 812 | depends on PPC64 || POWER4 || 6xx && !CPM2 |
813 | default y | 813 | default y |
814 | 814 | ||
815 | config MPIC | ||
816 | bool | ||
817 | default n | ||
818 | |||
819 | config MPIC_WEIRD | ||
820 | bool | ||
821 | default n | ||
822 | |||
815 | config PPC_I8259 | 823 | config PPC_I8259 |
816 | bool | 824 | bool |
817 | default n | 825 | default n |