apm821xx: apm82181.dtsi overhaul

- order entries by mmio address where possible

 - switch to lower-case address values

 - comment on BSP u-boot behaviour in regards to
   what it edits and look for

 - annotate irq lines with the help of interrupt-names

 - remove deprecated "device_type" properties
   The pci and network device_type had to stay since
   they are required by the drivers and u-boot.
   the cpu and memory device_types will remain as well
   as they are still part of the DT Spec.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
openwrt-19.07
Christian Lamparter 2018-10-15 20:00:08 +02:00 committed by Hauke Mehrtens
parent 9ca82c2374
commit 1d5d77612f
1 changed files with 139 additions and 135 deletions

View File

@ -32,7 +32,7 @@
compatible = "apm,bluestone";
aliases {
ethernet0 = &EMAC0;
ethernet0 = &EMAC0; /* needed for BSP u-boot */
};
cpus {
@ -61,7 +61,7 @@
};
UIC0: interrupt-controller0 {
compatible = "apm,uic-apm82181","ibm,uic";
compatible = "apm,uic-apm82181", "ibm,uic";
interrupt-controller;
cell-index = <0>;
dcr-reg = <0x0c0 0x009>;
@ -71,28 +71,28 @@
};
UIC1: interrupt-controller1 {
compatible = "apm,uic-apm82181","ibm,uic";
compatible = "apm,uic-apm82181", "ibm,uic";
interrupt-controller;
cell-index = <1>;
dcr-reg = <0x0d0 0x009>;
#address-cells = <0>;
#size-cells = <0>;
#interrupt-cells = <2>;
interrupts = <0x1e IRQ_TYPE_LEVEL_HIGH
0x1f IRQ_TYPE_LEVEL_HIGH>; /* cascade */
interrupts = <0x1e IRQ_TYPE_LEVEL_HIGH>,
<0x1f IRQ_TYPE_LEVEL_HIGH>; /* cascade */
interrupt-parent = <&UIC0>;
};
UIC2: interrupt-controller2 {
compatible = "apm,uic-apm82181","ibm,uic";
compatible = "apm,uic-apm82181", "ibm,uic";
interrupt-controller;
cell-index = <2>;
dcr-reg = <0x0e0 0x009>;
#address-cells = <0>;
#size-cells = <0>;
#interrupt-cells = <2>;
interrupts = <0x0a IRQ_TYPE_LEVEL_HIGH
0x0b IRQ_TYPE_LEVEL_HIGH>; /* cascade */
interrupts = <0x0a IRQ_TYPE_LEVEL_HIGH>,
<0x0b IRQ_TYPE_LEVEL_HIGH>; /* cascade */
interrupt-parent = <&UIC0>;
};
@ -104,8 +104,8 @@
#address-cells = <0>;
#size-cells = <0>;
#interrupt-cells = <2>;
interrupts = <0x10 IRQ_TYPE_LEVEL_HIGH
0x11 IRQ_TYPE_LEVEL_HIGH>; /* cascade */
interrupts = <0x10 IRQ_TYPE_LEVEL_HIGH>,
<0x11 IRQ_TYPE_LEVEL_HIGH>; /* cascade */
interrupt-parent = <&UIC0>;
};
@ -156,7 +156,7 @@
compatible = "apm,plb-apm82181", "ibm,plb-460ex", "ibm,plb4";
#address-cells = <2>;
#size-cells = <1>;
ranges;
ranges; /* Filled in by U-Boot */
clock-frequency = <0>; /* Filled in by U-Boot */
SDRAM0: sdram {
@ -172,16 +172,15 @@
};
CRYPTO: crypto@180000 {
compatible = "amcc,ppc460ex-crypto", "amcc,ppc4xx-crypto";
reg = <4 0x00180000 0x80400>;
interrupt-parent = <&UIC0>;
interrupts = <0x1d IRQ_TYPE_LEVEL_HIGH>;
TRNG: trng@110000 {
compatible = "amcc,ppc460ex-rng", "ppc4xx-rng", "amcc, ppc4xx-trng";
reg = <4 0x00110000 0x100>;
interrupt-parent = <&UIC1>;
interrupts = <0x03 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};
PKA: pka@114000 {
device_type = "pka";
compatible = "ppc4xx-pka", "amcc,ppc4xx-pka", "amcc, ppc4xx-pka";
reg = <4 0x00114000 0x4000>;
interrupt-parent = <&UIC0>;
@ -189,13 +188,12 @@
status = "disabled";
};
TRNG: trng@110000 {
device_type = "trng";
compatible = "amcc,ppc460ex-rng", "ppc4xx-rng", "amcc, ppc4xx-trng";
reg = <4 0x00110000 0x100>;
interrupt-parent = <&UIC1>;
interrupts = <0x03 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
CRYPTO: crypto@180000 {
compatible = "amcc,ppc460ex-crypto", "amcc,ppc4xx-crypto";
reg = <4 0x00180000 0x80400>;
interrupt-parent = <&UIC0>;
interrupts = <0x1d IRQ_TYPE_LEVEL_HIGH>;
status = "disabled"; /* hardware option */
};
MAL0: mcmal {
@ -207,59 +205,19 @@
#address-cells = <0>;
#size-cells = <0>;
interrupt-parent = <&UIC2>;
interrupts = < 0x06 IRQ_TYPE_LEVEL_HIGH /*TXEOB*/
0x07 IRQ_TYPE_LEVEL_HIGH /*RXEOB*/
0x03 IRQ_TYPE_LEVEL_HIGH /*SERR*/
0x04 IRQ_TYPE_LEVEL_HIGH /*TXDE*/
0x05 IRQ_TYPE_LEVEL_HIGH /*RXDE*/
0x08 IRQ_TYPE_EDGE_FALLING /*TX0 COAL*/
/*0x09 IRQ_TYPE_EDGE_FALLING TX1 COAL*/
0x0c IRQ_TYPE_EDGE_FALLING /*RX0 COAL*/
/*0x0d IRQ_TYPE_EDGE_FALLING RX1 COAL*/>;
};
AHBDMA0: dma@bffd0800 {
compatible = "snps,dma-spear1340";
reg = <4 0xbffd0800 0x400>;
interrupt-parent = <&UIC0>;
interrupts = <0x19 IRQ_TYPE_LEVEL_HIGH>;
#dma-cells = <3>;
/* use autoconfiguration for the dma setup */
};
SATA0: sata@bffd1000 {
compatible = "amcc,sata-460ex";
reg = <4 0xbffd1000 0x800>;
interrupt-parent = <&UIC0>;
interrupts = <0x1a IRQ_TYPE_LEVEL_HIGH>;
dmas = <&AHBDMA0 0 0 1>;
dma-names = "sata-dma";
status = "disabled";
};
SATA1: sata@bffd1800 {
compatible = "amcc,sata-460ex";
reg = <4 0xbffd1800 0x800>;
interrupt-parent = <&UIC0>;
interrupts = <0x1b IRQ_TYPE_LEVEL_HIGH>;
dmas = <&AHBDMA0 1 0 2>;
dma-names = "sata-dma";
status = "disabled";
};
USBOTG0: usbotg@bff80000 {
compatible = "amcc,dwc-otg";
reg = <4 0xbff80000 0x10000>;
interrupt-parent = <&USBOTG0>;
interrupts = <0 1 2>;
#interrupt-cells = <1>;
#address-cells = <0>;
#size-cells = <0>;
interrupt-map = <0 &UIC2 0x1c IRQ_TYPE_LEVEL_HIGH /* USB-OTG */
1 &UIC1 0x1a IRQ_TYPE_LEVEL_LOW /* HIGH-POWER */
2 &UIC0 0x0c IRQ_TYPE_LEVEL_HIGH /* DMA */>;
dr_mode = "host";
status = "disabled";
interrupts = <0x06 IRQ_TYPE_LEVEL_HIGH>,
<0x07 IRQ_TYPE_LEVEL_HIGH>,
<0x03 IRQ_TYPE_LEVEL_HIGH>,
<0x04 IRQ_TYPE_LEVEL_HIGH>,
<0x05 IRQ_TYPE_LEVEL_HIGH>,
<0x08 IRQ_TYPE_EDGE_FALLING>,
<0x09 IRQ_TYPE_EDGE_FALLING>,
<0x0c IRQ_TYPE_EDGE_FALLING>,
<0x0d IRQ_TYPE_EDGE_FALLING>;
interrupt-names = "txeob", "rxeob", "serr",
"txde", "rxde",
"tx0coal", "tx1coal",
"rx0coal", "rx1coal";
};
POB0: opb {
@ -309,9 +267,9 @@
/*
* AMCC's BSP u-boot scans for the "ns16550"
* compatible, without it, u-boot wouldn't
* set the "clock-frequency" which is required.
* set the required "clock-frequency".
*
* However, the hardware documentation lists:
* The hardware documentation states:
* "Register compatibility with 16750 register set"
*/
compatible = "ns16750", "ns16550";
@ -334,14 +292,6 @@
status = "disabled";
};
GPIO0: gpio@ef600b00 {
compatible = "ibm,ppc4xx-gpio";
reg = <0xef600b00 0x00000048>;
#gpio-cells = <2>;
gpio-controller;
status = "disabled";
};
IIC0: i2c@ef600700 {
compatible = "ibm,iic-460ex", "ibm,iic";
reg = <0xef600700 0x00000014>;
@ -360,15 +310,12 @@
status = "disabled";
};
RGMII0: emac-rgmii@ef601500 {
compatible = "ibm,rgmii-405ex", "ibm,rgmii";
reg = <0xef601500 0x00000008>;
has-mdio;
};
TAH0: emac-tah@ef601350 {
compatible = "ibm,tah-460ex", "ibm,tah";
reg = <0xef601350 0x00000030>;
GPIO0: gpio@ef600b00 {
compatible = "ibm,ppc4xx-gpio";
reg = <0xef600b00 0x00000048>;
#gpio-cells = <2>;
gpio-controller;
status = "disabled";
};
EMAC0: ethernet@ef600c00 {
@ -379,8 +326,10 @@
#interrupt-cells = <1>;
#address-cells = <0>;
#size-cells = <0>;
interrupt-map = <0 &UIC2 0x10 IRQ_TYPE_LEVEL_HIGH /* Status */
1 &UIC2 0x14 IRQ_TYPE_LEVEL_HIGH /* Wake */>;
interrupt-map = <0 &UIC2 0x10 IRQ_TYPE_LEVEL_HIGH>,
<1 &UIC2 0x14 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "status", "wake";
reg = <0xef600c00 0x000000c4>;
local-mac-address = [000000000000]; /* Filled in by U-Boot */
mal-device = <&MAL0>;
@ -401,27 +350,108 @@
has-new-stacr-staopc;
status = "disabled";
};
TAH0: emac-tah@ef601350 {
compatible = "ibm,tah-460ex", "ibm,tah";
reg = <0xef601350 0x00000030>;
};
RGMII0: emac-rgmii@ef601500 {
compatible = "ibm,rgmii-405ex", "ibm,rgmii";
reg = <0xef601500 0x00000008>;
has-mdio;
};
};
USBOTG0: usbotg@bff80000 {
compatible = "amcc,dwc-otg";
reg = <4 0xbff80000 0x10000>;
interrupt-parent = <&USBOTG0>;
interrupts = <0 1 2>;
#interrupt-cells = <1>;
#address-cells = <0>;
#size-cells = <0>;
interrupt-map = <0 &UIC2 0x1c IRQ_TYPE_LEVEL_HIGH>,
<1 &UIC1 0x1a IRQ_TYPE_LEVEL_LOW>,
<2 &UIC0 0x0c IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "usb-otg", "high-power", "dma";
dr_mode = "host";
status = "disabled";
};
AHBDMA0: dma@bffd0800 {
compatible = "snps,dma-spear1340";
reg = <4 0xbffd0800 0x400>;
interrupt-parent = <&UIC0>;
interrupts = <0x19 IRQ_TYPE_LEVEL_HIGH>;
#dma-cells = <3>;
/* use autoconfiguration for the dma setup */
};
SATA0: sata@bffd1000 {
compatible = "amcc,sata-460ex";
reg = <4 0xbffd1000 0x800>;
interrupt-parent = <&UIC0>;
interrupts = <0x1a IRQ_TYPE_LEVEL_HIGH>;
dmas = <&AHBDMA0 0 0 1>;
dma-names = "sata-dma";
status = "disabled";
};
SATA1: sata@bffd1800 {
compatible = "amcc,sata-460ex";
reg = <4 0xbffd1800 0x800>;
interrupt-parent = <&UIC0>;
interrupts = <0x1b IRQ_TYPE_LEVEL_HIGH>;
dmas = <&AHBDMA0 1 0 2>;
dma-names = "sata-dma";
status = "disabled";
};
MSI: ppc4xx-msi@c10000000 {
compatible = "amcc,ppc4xx-msi", "ppc4xx-msi";
reg = <0xc 0x10000000 0x100
0xc 0x10000000 0x100>;
sdr-base = <0x36C>;
msi-data = <0x00004440>;
msi-mask = <0x0000ffe0>;
interrupts =<0 1 2 3 4 5 6 7>;
interrupt-parent = <&MSI>;
#interrupt-cells = <1>;
#address-cells = <0>;
#size-cells = <0>;
msi-available-ranges = <0x0 0x100>;
interrupt-map =
<0 &UIC3 0x18 IRQ_TYPE_EDGE_RISING>,
<1 &UIC3 0x19 IRQ_TYPE_EDGE_RISING>,
<2 &UIC3 0x1a IRQ_TYPE_EDGE_RISING>,
<3 &UIC3 0x1b IRQ_TYPE_EDGE_RISING>,
<4 &UIC3 0x1c IRQ_TYPE_EDGE_RISING>,
<5 &UIC3 0x1d IRQ_TYPE_EDGE_RISING>,
<6 &UIC3 0x1e IRQ_TYPE_EDGE_RISING>,
<7 &UIC3 0x1f IRQ_TYPE_EDGE_RISING>;
status = "disabled";
};
PCIE0: pciex@d00000000 {
device_type = "pci";
device_type = "pci"; /* see ppc4xx_pci_find_bridge */
#interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
compatible = "ibm,plb-pciex-apm821xx", "ibm,plb-pciex";
primary;
port = <0x0>; /* port number */
reg = <0x0000000d 0x00000000 0x20000000 /* Config space access */
0x0000000c 0x08010000 0x00001000>; /* Registers */
reg = <0x0000000d 0x00000000 0x20000000>, /* Config space access */
<0x0000000c 0x08010000 0x00001000>; /* Registers */
dcr-reg = <0x100 0x020>;
sdr-base = <0x300>;
/* Outbound ranges, one memory and one IO,
* later cannot be changed
*/
ranges = <0x02000000 0x00000000 0x80000000 0x0000000e 0x00000000 0x00000000 0x80000000
0x02000000 0x00000000 0x00000000 0x0000000f 0x00000000 0x00000000 0x00100000
0x01000000 0x00000000 0x00000000 0x0000000f 0x80000000 0x00000000 0x00010000>;
ranges = <0x02000000 0x00000000 0x80000000 0x0000000e 0x00000000 0x00000000 0x80000000>,
<0x02000000 0x00000000 0x00000000 0x0000000f 0x00000000 0x00000000 0x00100000>,
<0x01000000 0x00000000 0x00000000 0x0000000f 0x80000000 0x00000000 0x00010000>;
/* Inbound 2GB range starting at 0 */
dma-ranges = <0x42000000 0x0 0x0 0x0 0x0 0x0 0x80000000>;
@ -438,37 +468,11 @@
* The real slot is on idsel 0, so the swizzling is 1:1
*/
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
interrupt-map = <
0x0 0x0 0x0 0x1 &UIC3 0x0c IRQ_TYPE_LEVEL_HIGH /* swizzled int A */
0x0 0x0 0x0 0x2 &UIC3 0x0d IRQ_TYPE_LEVEL_HIGH /* swizzled int B */
0x0 0x0 0x0 0x3 &UIC3 0x0e IRQ_TYPE_LEVEL_HIGH /* swizzled int C */
0x0 0x0 0x0 0x4 &UIC3 0x0f IRQ_TYPE_LEVEL_HIGH /* swizzled int D */>;
status = "disabled";
};
MSI: ppc4xx-msi@C10000000 {
compatible = "amcc,ppc4xx-msi", "ppc4xx-msi";
reg = < 0xC 0x10000000 0x100
0xC 0x10000000 0x100>;
sdr-base = <0x36C>;
msi-data = <0x00004440>;
msi-mask = <0x0000ffe0>;
interrupts =<0 1 2 3 4 5 6 7>;
interrupt-parent = <&MSI>;
#interrupt-cells = <1>;
#address-cells = <0>;
#size-cells = <0>;
msi-available-ranges = <0x0 0x100>;
interrupt-map = <
0 &UIC3 0x18 IRQ_TYPE_EDGE_RISING
1 &UIC3 0x19 IRQ_TYPE_EDGE_RISING
2 &UIC3 0x1a IRQ_TYPE_EDGE_RISING
3 &UIC3 0x1b IRQ_TYPE_EDGE_RISING
4 &UIC3 0x1c IRQ_TYPE_EDGE_RISING
5 &UIC3 0x1d IRQ_TYPE_EDGE_RISING
6 &UIC3 0x1e IRQ_TYPE_EDGE_RISING
7 &UIC3 0x1f IRQ_TYPE_EDGE_RISING
>;
interrupt-map =
<0x0 0x0 0x0 0x1 &UIC3 0x0c IRQ_TYPE_LEVEL_HIGH>, /* swizzled int A */
<0x0 0x0 0x0 0x2 &UIC3 0x0d IRQ_TYPE_LEVEL_HIGH>, /* swizzled int B */
<0x0 0x0 0x0 0x3 &UIC3 0x0e IRQ_TYPE_LEVEL_HIGH>, /* swizzled int C */
<0x0 0x0 0x0 0x4 &UIC3 0x0f IRQ_TYPE_LEVEL_HIGH>; /* swizzled int D */
status = "disabled";
};
};