1. PCI and reset are factored out into pq2.c. I renamed them from m82xx
to pq2 because they won't work on the Integrated Host Processor line of
82xx chips (i.e. 8240, 8245, and such).
2. The PCI PIC, which is nominally board-specific, is used on multiple
boards, and thus is used into pq2ads-pci-pic.c.
3. The new CPM binding is used.
4. General cleanup.
Signed-off-by: Scott Wood [EMAIL PROTECTED]
---
arch/powerpc/Kconfig |2 +-
arch/powerpc/boot/dts/mpc8272ads.dts | 321 +++--
arch/powerpc/configs/mpc8272_ads_defconfig | 380 ---
arch/powerpc/platforms/82xx/Kconfig |5 +
arch/powerpc/platforms/82xx/Makefile |2 +
arch/powerpc/platforms/82xx/mpc8272_ads.c| 671 +-
arch/powerpc/platforms/82xx/pq2.c| 93
arch/powerpc/platforms/82xx/pq2.h| 20 +
arch/powerpc/platforms/82xx/pq2ads-pci-pic.c | 202
arch/powerpc/platforms/82xx/pq2ads.h |2 -
10 files changed, 816 insertions(+), 882 deletions(-)
create mode 100644 arch/powerpc/platforms/82xx/pq2.c
create mode 100644 arch/powerpc/platforms/82xx/pq2.h
create mode 100644 arch/powerpc/platforms/82xx/pq2ads-pci-pic.c
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 00099ef..d800d52 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -465,7 +465,7 @@ config PCI_8260
config 8260_PCI9
bool Enable workaround for MPC826x erratum PCI 9
- depends on PCI_8260 !ADS8272
+ depends on PCI_8260 !8272
default y
choice
diff --git a/arch/powerpc/boot/dts/mpc8272ads.dts
b/arch/powerpc/boot/dts/mpc8272ads.dts
index 4d09dca..bd751d7 100644
--- a/arch/powerpc/boot/dts/mpc8272ads.dts
+++ b/arch/powerpc/boot/dts/mpc8272ads.dts
@@ -11,7 +11,7 @@
/ {
model = MPC8272ADS;
- compatible = MPC8260ADS;
+ compatible = fsl,mpc8272ads;
#address-cells = 1;
#size-cells = 1;
@@ -22,192 +22,219 @@
PowerPC,[EMAIL PROTECTED] {
device_type = cpu;
reg = 0;
- d-cache-line-size = 20; // 32 bytes
- i-cache-line-size = 20; // 32 bytes
- d-cache-size = 4000; // L1, 16K
- i-cache-size = 4000; // L1, 16K
+ d-cache-line-size = d#32;
+ i-cache-line-size = d#32;
+ d-cache-size = d#16384;
+ i-cache-size = d#16384;
timebase-frequency = 0;
bus-frequency = 0;
clock-frequency = 0;
- 32-bit;
};
};
- pci_pic: [EMAIL PROTECTED] {
- #address-cells = 0;
- #interrupt-cells = 2;
- interrupt-controller;
- reg = f820 f824;
- built-in;
- device_type = pci-pic;
+ CS: chipselect {
+ compatible = fsl,mpc8272ads-chipselect,
+fsl,mpc8272-chipselect,
+fsl,pq2-chipselect;
+ #address-cells = 2;
+ #size-cells = 1;
+ fsl,ctrl = CSCTRL;
+
+ ranges = 0 0 fe00 0200
+ 1 0 f450 8000
+ 3 0 f820 8000;
+
+ [EMAIL PROTECTED],0 {
+ device_type = rom;
+ compatible = direct-mapped;
+ reg = 0 0 200;
+ probe-type = JEDEC;
+ bank-width = 4;
+ };
+
+ [EMAIL PROTECTED],0 {
+ reg = 1 0 20;
+ compatible = fsl,mpc8272ads-bcsr;
+ };
+
+ PCI_PIC: [EMAIL PROTECTED],0 {
+ compatible = fsl,mpc8272ads-pci-pic,
+fsl,pq2ads-pci-pic;
+ #interrupt-cells = 1;
+ interrupt-controller;
+ reg = 3 0 8;
+ interrupt-parent = PIC;
+ interrupts = 14 8;
+ };
};
- memory {
- device_type = memory;
- reg = 400 f450 0020;
+ PCI: [EMAIL PROTECTED] {
+ #interrupt-cells = 1;
+ #size-cells = 2;
+ #address-cells = 3;
+ device_type = pci;
+ fsl,ctrl = PCICTRL;
+ clock-frequency = d#;
+ interrupt-map-mask = f800 0 0 7;
+ interrupt-map =
+ /* IDSEL 0x16 */
+b000 0 0 1 PCI_PIC 0
+b000 0 0 2 PCI_PIC 1
+b000 0 0 3 PCI_PIC 2
+