Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

powerpc/85xx: Rework P1010RDB and P1010 device tree

Utilize new split between board & SoC, and new SoC device trees split
into pre & post utilizing 'template' includes for SoC IP blocks.

Other changes include:
* Moved to specifying interrupt-parent for mpic at root
* Moved to 4-cell mpic interrupt cells to support MPIC timers
* Dropping "fsl,p1010-IP..." from compatibles for standard blocks
* PCI interrupt map - wrong IRQs for PCI-0 controller
* SDHC interrupt sense was wrong

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>

+493 -592
+197
arch/powerpc/boot/dts/fsl/p1010si-post.dtsi
··· 1 + /* 2 + * P1010/P1014 Silicon/SoC Device Tree Source (post include) 3 + * 4 + * Copyright 2011 Freescale Semiconductor Inc. 5 + * 6 + * Redistribution and use in source and binary forms, with or without 7 + * modification, are permitted provided that the following conditions are met: 8 + * * Redistributions of source code must retain the above copyright 9 + * notice, this list of conditions and the following disclaimer. 10 + * * Redistributions in binary form must reproduce the above copyright 11 + * notice, this list of conditions and the following disclaimer in the 12 + * documentation and/or other materials provided with the distribution. 13 + * * Neither the name of Freescale Semiconductor nor the 14 + * names of its contributors may be used to endorse or promote products 15 + * derived from this software without specific prior written permission. 16 + * 17 + * 18 + * ALTERNATIVELY, this software may be distributed under the terms of the 19 + * GNU General Public License ("GPL") as published by the Free Software 20 + * Foundation, either version 2 of that License or (at your option) any 21 + * later version. 22 + * 23 + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY 24 + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 25 + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 26 + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY 27 + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 28 + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 29 + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 30 + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 31 + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 32 + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 33 + */ 34 + 35 + &ifc { 36 + #address-cells = <2>; 37 + #size-cells = <1>; 38 + compatible = "fsl,ifc", "simple-bus"; 39 + interrupts = <16 2 0 0 19 2 0 0>; 40 + }; 41 + 42 + /* controller at 0x9000 */ 43 + &pci0 { 44 + compatible = "fsl,p1010-pcie", "fsl,qoriq-pcie-v2.3", "fsl,qoriq-pcie-v2.2"; 45 + device_type = "pci"; 46 + #size-cells = <2>; 47 + #address-cells = <3>; 48 + bus-range = <0 255>; 49 + clock-frequency = <33333333>; 50 + interrupts = <16 2 0 0>; 51 + 52 + pcie@0 { 53 + reg = <0 0 0 0 0>; 54 + #interrupt-cells = <1>; 55 + #size-cells = <2>; 56 + #address-cells = <3>; 57 + device_type = "pci"; 58 + interrupts = <16 2 0 0>; 59 + interrupt-map-mask = <0xf800 0 0 7>; 60 + interrupt-map = < 61 + /* IDSEL 0x0 */ 62 + 0000 0x0 0x0 0x1 &mpic 0x4 0x1 0x0 0x0 63 + 0000 0x0 0x0 0x2 &mpic 0x5 0x1 0x0 0x0 64 + 0000 0x0 0x0 0x3 &mpic 0x6 0x1 0x0 0x0 65 + 0000 0x0 0x0 0x4 &mpic 0x7 0x1 0x0 0x0 66 + >; 67 + }; 68 + }; 69 + 70 + /* controller at 0xa000 */ 71 + &pci1 { 72 + compatible = "fsl,p1010-pcie", "fsl,qoriq-pcie-v2.3", "fsl,qoriq-pcie-v2.2"; 73 + device_type = "pci"; 74 + #size-cells = <2>; 75 + #address-cells = <3>; 76 + bus-range = <0 255>; 77 + clock-frequency = <33333333>; 78 + interrupts = <16 2 0 0>; 79 + 80 + pcie@0 { 81 + reg = <0 0 0 0 0>; 82 + #interrupt-cells = <1>; 83 + #size-cells = <2>; 84 + #address-cells = <3>; 85 + device_type = "pci"; 86 + interrupts = <16 2 0 0>; 87 + interrupt-map-mask = <0xf800 0 0 7>; 88 + 89 + interrupt-map = < 90 + /* IDSEL 0x0 */ 91 + 0000 0x0 0x0 0x1 &mpic 0x0 0x1 0x0 0x0 92 + 0000 0x0 0x0 0x2 &mpic 0x1 0x1 0x0 0x0 93 + 0000 0x0 0x0 0x3 &mpic 0x2 0x1 0x0 0x0 94 + 0000 0x0 0x0 0x4 &mpic 0x3 0x1 0x0 0x0 95 + >; 96 + }; 97 + }; 98 + 99 + &soc { 100 + #address-cells = <1>; 101 + #size-cells = <1>; 102 + device_type = "soc"; 103 + compatible = "fsl,p1010-immr", "simple-bus"; 104 + bus-frequency = <0>; // Filled out by uboot. 105 + 106 + ecm-law@0 { 107 + compatible = "fsl,ecm-law"; 108 + reg = <0x0 0x1000>; 109 + fsl,num-laws = <12>; 110 + }; 111 + 112 + ecm@1000 { 113 + compatible = "fsl,p1010-ecm", "fsl,ecm"; 114 + reg = <0x1000 0x1000>; 115 + interrupts = <16 2 0 0>; 116 + }; 117 + 118 + memory-controller@2000 { 119 + compatible = "fsl,p1010-memory-controller"; 120 + reg = <0x2000 0x1000>; 121 + interrupts = <16 2 0 0>; 122 + }; 123 + 124 + /include/ "pq3-i2c-0.dtsi" 125 + /include/ "pq3-i2c-1.dtsi" 126 + /include/ "pq3-duart-0.dtsi" 127 + /include/ "pq3-espi-0.dtsi" 128 + spi0: spi@7000 { 129 + fsl,espi-num-chipselects = <1>; 130 + }; 131 + 132 + /include/ "pq3-gpio-0.dtsi" 133 + /include/ "pq3-sata2-0.dtsi" 134 + /include/ "pq3-sata2-1.dtsi" 135 + 136 + can0: can@1c000 { 137 + compatible = "fsl,p1010-flexcan"; 138 + reg = <0x1c000 0x1000>; 139 + interrupts = <48 0x2 0 0>; 140 + }; 141 + 142 + can1: can@1d000 { 143 + compatible = "fsl,p1010-flexcan"; 144 + reg = <0x1d000 0x1000>; 145 + interrupts = <61 0x2 0 0>; 146 + }; 147 + 148 + L2: l2-cache-controller@20000 { 149 + compatible = "fsl,p1010-l2-cache-controller", 150 + "fsl,p1014-l2-cache-controller"; 151 + reg = <0x20000 0x1000>; 152 + cache-line-size = <32>; // 32 bytes 153 + cache-size = <0x40000>; // L2,256K 154 + interrupts = <16 2 0 0>; 155 + }; 156 + 157 + /include/ "pq3-dma-0.dtsi" 158 + /include/ "pq3-usb2-dr-0.dtsi" 159 + /include/ "pq3-esdhc-0.dtsi" 160 + sdhc@2e000 { 161 + fsl,sdhci-auto-cmd12; 162 + }; 163 + 164 + /include/ "pq3-mpic.dtsi" 165 + /include/ "pq3-mpic-timer-B.dtsi" 166 + 167 + /include/ "pq3-etsec2-0.dtsi" 168 + enet0: ethernet@b0000 { 169 + queue-group@b0000 { 170 + fsl,rx-bit-map = <0xff>; 171 + fsl,tx-bit-map = <0xff>; 172 + }; 173 + }; 174 + 175 + /include/ "pq3-etsec2-1.dtsi" 176 + enet1: ethernet@b1000 { 177 + queue-group@b1000 { 178 + fsl,rx-bit-map = <0xff>; 179 + fsl,tx-bit-map = <0xff>; 180 + }; 181 + }; 182 + 183 + /include/ "pq3-etsec2-2.dtsi" 184 + enet2: ethernet@b2000 { 185 + queue-group@b2000 { 186 + fsl,rx-bit-map = <0xff>; 187 + fsl,tx-bit-map = <0xff>; 188 + }; 189 + 190 + }; 191 + 192 + global-utilities@e0000 { 193 + compatible = "fsl,p1010-guts"; 194 + reg = <0xe0000 0x1000>; 195 + fsl,has-rstcr; 196 + }; 197 + };
+64
arch/powerpc/boot/dts/fsl/p1010si-pre.dtsi
··· 1 + /* 2 + * P1010/P1014 Silicon/SoC Device Tree Source (pre include) 3 + * 4 + * Copyright 2011 Freescale Semiconductor Inc. 5 + * 6 + * Redistribution and use in source and binary forms, with or without 7 + * modification, are permitted provided that the following conditions are met: 8 + * * Redistributions of source code must retain the above copyright 9 + * notice, this list of conditions and the following disclaimer. 10 + * * Redistributions in binary form must reproduce the above copyright 11 + * notice, this list of conditions and the following disclaimer in the 12 + * documentation and/or other materials provided with the distribution. 13 + * * Neither the name of Freescale Semiconductor nor the 14 + * names of its contributors may be used to endorse or promote products 15 + * derived from this software without specific prior written permission. 16 + * 17 + * 18 + * ALTERNATIVELY, this software may be distributed under the terms of the 19 + * GNU General Public License ("GPL") as published by the Free Software 20 + * Foundation, either version 2 of that License or (at your option) any 21 + * later version. 22 + * 23 + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY 24 + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 25 + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 26 + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY 27 + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 28 + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 29 + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 30 + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 31 + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 32 + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 33 + */ 34 + 35 + /dts-v1/; 36 + / { 37 + compatible = "fsl,P1010"; 38 + #address-cells = <2>; 39 + #size-cells = <2>; 40 + interrupt-parent = <&mpic>; 41 + 42 + aliases { 43 + serial0 = &serial0; 44 + serial1 = &serial1; 45 + ethernet0 = &enet0; 46 + ethernet1 = &enet1; 47 + ethernet2 = &enet2; 48 + pci0 = &pci0; 49 + pci1 = &pci1; 50 + can0 = &can0; 51 + can1 = &can1; 52 + }; 53 + 54 + cpus { 55 + #address-cells = <1>; 56 + #size-cells = <0>; 57 + 58 + PowerPC,P1010@0 { 59 + device_type = "cpu"; 60 + reg = <0x0>; 61 + next-level-cache = <&L2>; 62 + }; 63 + }; 64 + };
+10 -218
arch/powerpc/boot/dts/p1010rdb.dts
··· 9 9 * option) any later version. 10 10 */ 11 11 12 - /include/ "p1010si.dtsi" 12 + /include/ "fsl/p1010si-pre.dtsi" 13 13 14 14 / { 15 15 model = "fsl,P1010RDB"; 16 16 compatible = "fsl,P1010RDB"; 17 17 18 - aliases { 19 - serial0 = &serial0; 20 - serial1 = &serial1; 21 - ethernet0 = &enet0; 22 - ethernet1 = &enet1; 23 - ethernet2 = &enet2; 24 - pci0 = &pci0; 25 - pci1 = &pci1; 26 - can0 = &can0; 27 - can1 = &can1; 28 - }; 29 - 30 18 memory { 31 19 device_type = "memory"; 32 20 }; 33 21 34 - ifc@ffe1e000 { 22 + board_ifc: ifc: ifc@ffe1e000 { 35 23 /* NOR, NAND Flashes and CPLD on board */ 36 24 ranges = <0x0 0x0 0x0 0xee000000 0x02000000 37 25 0x1 0x0 0x0 0xff800000 0x00010000 38 26 0x3 0x0 0x0 0xffb00000 0x00000020>; 39 - 40 - nor@0,0 { 41 - #address-cells = <1>; 42 - #size-cells = <1>; 43 - compatible = "cfi-flash"; 44 - reg = <0x0 0x0 0x2000000>; 45 - bank-width = <2>; 46 - device-width = <1>; 47 - 48 - partition@40000 { 49 - /* 256KB for DTB Image */ 50 - reg = <0x00040000 0x00040000>; 51 - label = "NOR DTB Image"; 52 - }; 53 - 54 - partition@80000 { 55 - /* 7 MB for Linux Kernel Image */ 56 - reg = <0x00080000 0x00700000>; 57 - label = "NOR Linux Kernel Image"; 58 - }; 59 - 60 - partition@800000 { 61 - /* 20MB for JFFS2 based Root file System */ 62 - reg = <0x00800000 0x01400000>; 63 - label = "NOR JFFS2 Root File System"; 64 - }; 65 - 66 - partition@1f00000 { 67 - /* This location must not be altered */ 68 - /* 512KB for u-boot Bootloader Image */ 69 - /* 512KB for u-boot Environment Variables */ 70 - reg = <0x01f00000 0x00100000>; 71 - label = "NOR U-Boot Image"; 72 - read-only; 73 - }; 74 - }; 75 - 76 - nand@1,0 { 77 - #address-cells = <1>; 78 - #size-cells = <1>; 79 - compatible = "fsl,ifc-nand"; 80 - reg = <0x1 0x0 0x10000>; 81 - 82 - partition@0 { 83 - /* This location must not be altered */ 84 - /* 1MB for u-boot Bootloader Image */ 85 - reg = <0x0 0x00100000>; 86 - label = "NAND U-Boot Image"; 87 - read-only; 88 - }; 89 - 90 - partition@100000 { 91 - /* 1MB for DTB Image */ 92 - reg = <0x00100000 0x00100000>; 93 - label = "NAND DTB Image"; 94 - }; 95 - 96 - partition@200000 { 97 - /* 4MB for Linux Kernel Image */ 98 - reg = <0x00200000 0x00400000>; 99 - label = "NAND Linux Kernel Image"; 100 - }; 101 - 102 - partition@600000 { 103 - /* 4MB for Compressed Root file System Image */ 104 - reg = <0x00600000 0x00400000>; 105 - label = "NAND Compressed RFS Image"; 106 - }; 107 - 108 - partition@a00000 { 109 - /* 15MB for JFFS2 based Root file System */ 110 - reg = <0x00a00000 0x00f00000>; 111 - label = "NAND JFFS2 Root File System"; 112 - }; 113 - 114 - partition@1900000 { 115 - /* 7MB for User Area */ 116 - reg = <0x01900000 0x00700000>; 117 - label = "NAND User area"; 118 - }; 119 - }; 120 - 121 - cpld@3,0 { 122 - #address-cells = <1>; 123 - #size-cells = <1>; 124 - compatible = "fsl,p1010rdb-cpld"; 125 - reg = <0x3 0x0 0x0000020>; 126 - bank-width = <1>; 127 - device-width = <1>; 128 - }; 27 + reg = <0x0 0xffe1e000 0 0x2000>; 129 28 }; 130 29 131 - soc@ffe00000 { 132 - spi@7000 { 133 - flash@0 { 134 - #address-cells = <1>; 135 - #size-cells = <1>; 136 - compatible = "spansion,s25sl12801"; 137 - reg = <0>; 138 - spi-max-frequency = <50000000>; 139 - 140 - partition@0 { 141 - /* 1MB for u-boot Bootloader Image */ 142 - /* 1MB for Environment */ 143 - reg = <0x0 0x00100000>; 144 - label = "SPI Flash U-Boot Image"; 145 - read-only; 146 - }; 147 - 148 - partition@100000 { 149 - /* 512KB for DTB Image */ 150 - reg = <0x00100000 0x00080000>; 151 - label = "SPI Flash DTB Image"; 152 - }; 153 - 154 - partition@180000 { 155 - /* 4MB for Linux Kernel Image */ 156 - reg = <0x00180000 0x00400000>; 157 - label = "SPI Flash Linux Kernel Image"; 158 - }; 159 - 160 - partition@580000 { 161 - /* 4MB for Compressed RFS Image */ 162 - reg = <0x00580000 0x00400000>; 163 - label = "SPI Flash Compressed RFSImage"; 164 - }; 165 - 166 - partition@980000 { 167 - /* 6.5MB for JFFS2 based RFS */ 168 - reg = <0x00980000 0x00680000>; 169 - label = "SPI Flash JFFS2 RFS"; 170 - }; 171 - }; 172 - }; 173 - 174 - usb@22000 { 175 - phy_type = "utmi"; 176 - }; 177 - 178 - mdio@24000 { 179 - phy0: ethernet-phy@0 { 180 - interrupt-parent = <&mpic>; 181 - interrupts = <3 1>; 182 - reg = <0x1>; 183 - }; 184 - 185 - phy1: ethernet-phy@1 { 186 - interrupt-parent = <&mpic>; 187 - interrupts = <2 1>; 188 - reg = <0x0>; 189 - }; 190 - 191 - phy2: ethernet-phy@2 { 192 - interrupt-parent = <&mpic>; 193 - interrupts = <2 1>; 194 - reg = <0x2>; 195 - }; 196 - }; 197 - 198 - enet0: ethernet@b0000 { 199 - phy-handle = <&phy0>; 200 - phy-connection-type = "rgmii-id"; 201 - }; 202 - 203 - enet1: ethernet@b1000 { 204 - phy-handle = <&phy1>; 205 - tbi-handle = <&tbi0>; 206 - phy-connection-type = "sgmii"; 207 - }; 208 - 209 - enet2: ethernet@b2000 { 210 - phy-handle = <&phy2>; 211 - tbi-handle = <&tbi1>; 212 - phy-connection-type = "sgmii"; 213 - }; 30 + board_soc: soc: soc@ffe00000 { 31 + ranges = <0x0 0x0 0xffe00000 0x100000>; 214 32 }; 215 33 216 34 pci0: pcie@ffe09000 { 35 + reg = <0 0xffe09000 0 0x1000>; 217 36 ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000 218 37 0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>; 219 38 pcie@0 { 220 - reg = <0x0 0x0 0x0 0x0 0x0>; 221 - #interrupt-cells = <1>; 222 - #size-cells = <2>; 223 - #address-cells = <3>; 224 - device_type = "pci"; 225 - interrupt-parent = <&mpic>; 226 - interrupts = <16 2>; 227 - interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 228 - interrupt-map = < 229 - /* IDSEL 0x0 */ 230 - 0000 0x0 0x0 0x1 &mpic 0x4 0x1 231 - 0000 0x0 0x0 0x2 &mpic 0x5 0x1 232 - 0000 0x0 0x0 0x3 &mpic 0x6 0x1 233 - 0000 0x0 0x0 0x4 &mpic 0x7 0x1 234 - >; 235 - 236 39 ranges = <0x2000000 0x0 0xa0000000 237 40 0x2000000 0x0 0xa0000000 238 41 0x0 0x20000000 ··· 47 244 }; 48 245 49 246 pci1: pcie@ffe0a000 { 247 + reg = <0 0xffe0a000 0 0x1000>; 50 248 ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000 51 249 0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x10000>; 52 250 pcie@0 { 53 - reg = <0x0 0x0 0x0 0x0 0x0>; 54 - #interrupt-cells = <1>; 55 - #size-cells = <2>; 56 - #address-cells = <3>; 57 - device_type = "pci"; 58 - interrupt-parent = <&mpic>; 59 - interrupts = <16 2>; 60 - interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 61 - interrupt-map = < 62 - /* IDSEL 0x0 */ 63 - 0000 0x0 0x0 0x1 &mpic 0x4 0x1 64 - 0000 0x0 0x0 0x2 &mpic 0x5 0x1 65 - 0000 0x0 0x0 0x3 &mpic 0x6 0x1 66 - 0000 0x0 0x0 0x4 &mpic 0x7 0x1 67 - >; 68 251 ranges = <0x2000000 0x0 0x80000000 69 252 0x2000000 0x0 0x80000000 70 253 0x0 0x20000000 ··· 61 272 }; 62 273 }; 63 274 }; 275 + 276 + /include/ "p1010rdb.dtsi" 277 + /include/ "fsl/p1010si-post.dtsi"
+222
arch/powerpc/boot/dts/p1010rdb.dtsi
··· 1 + /* 2 + * P1010 RDB Device Tree Source stub (no addresses or top-level ranges) 3 + * 4 + * Copyright 2011 Freescale Semiconductor Inc. 5 + * 6 + * Redistribution and use in source and binary forms, with or without 7 + * modification, are permitted provided that the following conditions are met: 8 + * * Redistributions of source code must retain the above copyright 9 + * notice, this list of conditions and the following disclaimer. 10 + * * Redistributions in binary form must reproduce the above copyright 11 + * notice, this list of conditions and the following disclaimer in the 12 + * documentation and/or other materials provided with the distribution. 13 + * * Neither the name of Freescale Semiconductor nor the 14 + * names of its contributors may be used to endorse or promote products 15 + * derived from this software without specific prior written permission. 16 + * 17 + * 18 + * ALTERNATIVELY, this software may be distributed under the terms of the 19 + * GNU General Public License ("GPL") as published by the Free Software 20 + * Foundation, either version 2 of that License or (at your option) any 21 + * later version. 22 + * 23 + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY 24 + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 25 + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 26 + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY 27 + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 28 + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 29 + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 30 + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 31 + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 32 + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 33 + */ 34 + 35 + &board_ifc { 36 + nor@0,0 { 37 + #address-cells = <1>; 38 + #size-cells = <1>; 39 + compatible = "cfi-flash"; 40 + reg = <0x0 0x0 0x2000000>; 41 + bank-width = <2>; 42 + device-width = <1>; 43 + 44 + partition@40000 { 45 + /* 256KB for DTB Image */ 46 + reg = <0x00040000 0x00040000>; 47 + label = "NOR DTB Image"; 48 + }; 49 + 50 + partition@80000 { 51 + /* 7 MB for Linux Kernel Image */ 52 + reg = <0x00080000 0x00700000>; 53 + label = "NOR Linux Kernel Image"; 54 + }; 55 + 56 + partition@800000 { 57 + /* 20MB for JFFS2 based Root file System */ 58 + reg = <0x00800000 0x01400000>; 59 + label = "NOR JFFS2 Root File System"; 60 + }; 61 + 62 + partition@1f00000 { 63 + /* This location must not be altered */ 64 + /* 512KB for u-boot Bootloader Image */ 65 + /* 512KB for u-boot Environment Variables */ 66 + reg = <0x01f00000 0x00100000>; 67 + label = "NOR U-Boot Image"; 68 + read-only; 69 + }; 70 + }; 71 + 72 + nand@1,0 { 73 + #address-cells = <1>; 74 + #size-cells = <1>; 75 + compatible = "fsl,ifc-nand"; 76 + reg = <0x1 0x0 0x10000>; 77 + 78 + partition@0 { 79 + /* This location must not be altered */ 80 + /* 1MB for u-boot Bootloader Image */ 81 + reg = <0x0 0x00100000>; 82 + label = "NAND U-Boot Image"; 83 + read-only; 84 + }; 85 + 86 + partition@100000 { 87 + /* 1MB for DTB Image */ 88 + reg = <0x00100000 0x00100000>; 89 + label = "NAND DTB Image"; 90 + }; 91 + 92 + partition@200000 { 93 + /* 4MB for Linux Kernel Image */ 94 + reg = <0x00200000 0x00400000>; 95 + label = "NAND Linux Kernel Image"; 96 + }; 97 + 98 + partition@600000 { 99 + /* 4MB for Compressed Root file System Image */ 100 + reg = <0x00600000 0x00400000>; 101 + label = "NAND Compressed RFS Image"; 102 + }; 103 + 104 + partition@a00000 { 105 + /* 15MB for JFFS2 based Root file System */ 106 + reg = <0x00a00000 0x00f00000>; 107 + label = "NAND JFFS2 Root File System"; 108 + }; 109 + 110 + partition@1900000 { 111 + /* 7MB for User Area */ 112 + reg = <0x01900000 0x00700000>; 113 + label = "NAND User area"; 114 + }; 115 + }; 116 + 117 + cpld@3,0 { 118 + #address-cells = <1>; 119 + #size-cells = <1>; 120 + compatible = "fsl,p1010rdb-cpld"; 121 + reg = <0x3 0x0 0x0000020>; 122 + bank-width = <1>; 123 + device-width = <1>; 124 + }; 125 + }; 126 + 127 + &board_soc { 128 + spi@7000 { 129 + flash@0 { 130 + #address-cells = <1>; 131 + #size-cells = <1>; 132 + compatible = "spansion,s25sl12801"; 133 + reg = <0>; 134 + spi-max-frequency = <50000000>; 135 + 136 + partition@0 { 137 + /* 1MB for u-boot Bootloader Image */ 138 + /* 1MB for Environment */ 139 + reg = <0x0 0x00100000>; 140 + label = "SPI Flash U-Boot Image"; 141 + read-only; 142 + }; 143 + 144 + partition@100000 { 145 + /* 512KB for DTB Image */ 146 + reg = <0x00100000 0x00080000>; 147 + label = "SPI Flash DTB Image"; 148 + }; 149 + 150 + partition@180000 { 151 + /* 4MB for Linux Kernel Image */ 152 + reg = <0x00180000 0x00400000>; 153 + label = "SPI Flash Linux Kernel Image"; 154 + }; 155 + 156 + partition@580000 { 157 + /* 4MB for Compressed RFS Image */ 158 + reg = <0x00580000 0x00400000>; 159 + label = "SPI Flash Compressed RFSImage"; 160 + }; 161 + 162 + partition@980000 { 163 + /* 6.5MB for JFFS2 based RFS */ 164 + reg = <0x00980000 0x00680000>; 165 + label = "SPI Flash JFFS2 RFS"; 166 + }; 167 + }; 168 + }; 169 + 170 + usb@22000 { 171 + phy_type = "utmi"; 172 + dr_mode = "host"; 173 + }; 174 + 175 + mdio@24000 { 176 + phy0: ethernet-phy@0 { 177 + interrupts = <3 1 0 0>; 178 + reg = <0x1>; 179 + }; 180 + 181 + phy1: ethernet-phy@1 { 182 + interrupts = <2 1 0 0>; 183 + reg = <0x0>; 184 + }; 185 + 186 + phy2: ethernet-phy@2 { 187 + interrupts = <2 1 0 0>; 188 + reg = <0x2>; 189 + }; 190 + }; 191 + 192 + mdio@25000 { 193 + tbi0: tbi-phy@11 { 194 + reg = <0x11>; 195 + device_type = "tbi-phy"; 196 + }; 197 + }; 198 + 199 + mdio@26000 { 200 + tbi1: tbi-phy@11 { 201 + reg = <0x11>; 202 + device_type = "tbi-phy"; 203 + }; 204 + }; 205 + 206 + enet0: ethernet@b0000 { 207 + phy-handle = <&phy0>; 208 + phy-connection-type = "rgmii-id"; 209 + }; 210 + 211 + enet1: ethernet@b1000 { 212 + phy-handle = <&phy1>; 213 + tbi-handle = <&tbi0>; 214 + phy-connection-type = "sgmii"; 215 + }; 216 + 217 + enet2: ethernet@b2000 { 218 + phy-handle = <&phy2>; 219 + tbi-handle = <&tbi1>; 220 + phy-connection-type = "sgmii"; 221 + }; 222 + };
-374
arch/powerpc/boot/dts/p1010si.dtsi
··· 1 - /* 2 - * P1010si Device Tree Source 3 - * 4 - * Copyright 2011 Freescale Semiconductor Inc. 5 - * 6 - * This program is free software; you can redistribute it and/or modify it 7 - * under the terms of the GNU General Public License as published by the 8 - * Free Software Foundation; either version 2 of the License, or (at your 9 - * option) any later version. 10 - */ 11 - 12 - /dts-v1/; 13 - / { 14 - compatible = "fsl,P1010"; 15 - #address-cells = <2>; 16 - #size-cells = <2>; 17 - 18 - cpus { 19 - #address-cells = <1>; 20 - #size-cells = <0>; 21 - 22 - PowerPC,P1010@0 { 23 - device_type = "cpu"; 24 - reg = <0x0>; 25 - next-level-cache = <&L2>; 26 - }; 27 - }; 28 - 29 - ifc@ffe1e000 { 30 - #address-cells = <2>; 31 - #size-cells = <1>; 32 - compatible = "fsl,ifc", "simple-bus"; 33 - reg = <0x0 0xffe1e000 0 0x2000>; 34 - interrupts = <16 2 19 2>; 35 - interrupt-parent = <&mpic>; 36 - }; 37 - 38 - soc@ffe00000 { 39 - #address-cells = <1>; 40 - #size-cells = <1>; 41 - device_type = "soc"; 42 - compatible = "fsl,p1010-immr", "simple-bus"; 43 - ranges = <0x0 0x0 0xffe00000 0x100000>; 44 - bus-frequency = <0>; // Filled out by uboot. 45 - 46 - ecm-law@0 { 47 - compatible = "fsl,ecm-law"; 48 - reg = <0x0 0x1000>; 49 - fsl,num-laws = <12>; 50 - }; 51 - 52 - ecm@1000 { 53 - compatible = "fsl,p1010-ecm", "fsl,ecm"; 54 - reg = <0x1000 0x1000>; 55 - interrupts = <16 2>; 56 - interrupt-parent = <&mpic>; 57 - }; 58 - 59 - memory-controller@2000 { 60 - compatible = "fsl,p1010-memory-controller"; 61 - reg = <0x2000 0x1000>; 62 - interrupt-parent = <&mpic>; 63 - interrupts = <16 2>; 64 - }; 65 - 66 - i2c@3000 { 67 - #address-cells = <1>; 68 - #size-cells = <0>; 69 - cell-index = <0>; 70 - compatible = "fsl-i2c"; 71 - reg = <0x3000 0x100>; 72 - interrupts = <43 2>; 73 - interrupt-parent = <&mpic>; 74 - dfsrr; 75 - }; 76 - 77 - i2c@3100 { 78 - #address-cells = <1>; 79 - #size-cells = <0>; 80 - cell-index = <1>; 81 - compatible = "fsl-i2c"; 82 - reg = <0x3100 0x100>; 83 - interrupts = <43 2>; 84 - interrupt-parent = <&mpic>; 85 - dfsrr; 86 - }; 87 - 88 - serial0: serial@4500 { 89 - cell-index = <0>; 90 - device_type = "serial"; 91 - compatible = "ns16550"; 92 - reg = <0x4500 0x100>; 93 - clock-frequency = <0>; 94 - interrupts = <42 2>; 95 - interrupt-parent = <&mpic>; 96 - }; 97 - 98 - serial1: serial@4600 { 99 - cell-index = <1>; 100 - device_type = "serial"; 101 - compatible = "ns16550"; 102 - reg = <0x4600 0x100>; 103 - clock-frequency = <0>; 104 - interrupts = <42 2>; 105 - interrupt-parent = <&mpic>; 106 - }; 107 - 108 - spi@7000 { 109 - #address-cells = <1>; 110 - #size-cells = <0>; 111 - compatible = "fsl,mpc8536-espi"; 112 - reg = <0x7000 0x1000>; 113 - interrupts = <59 0x2>; 114 - interrupt-parent = <&mpic>; 115 - fsl,espi-num-chipselects = <1>; 116 - }; 117 - 118 - gpio: gpio-controller@f000 { 119 - #gpio-cells = <2>; 120 - compatible = "fsl,mpc8572-gpio"; 121 - reg = <0xf000 0x100>; 122 - interrupts = <47 0x2>; 123 - interrupt-parent = <&mpic>; 124 - gpio-controller; 125 - }; 126 - 127 - sata@18000 { 128 - compatible = "fsl,pq-sata-v2"; 129 - reg = <0x18000 0x1000>; 130 - cell-index = <1>; 131 - interrupts = <74 0x2>; 132 - interrupt-parent = <&mpic>; 133 - }; 134 - 135 - sata@19000 { 136 - compatible = "fsl,pq-sata-v2"; 137 - reg = <0x19000 0x1000>; 138 - cell-index = <2>; 139 - interrupts = <41 0x2>; 140 - interrupt-parent = <&mpic>; 141 - }; 142 - 143 - can0: can@1c000 { 144 - compatible = "fsl,p1010-flexcan"; 145 - reg = <0x1c000 0x1000>; 146 - interrupts = <48 0x2>; 147 - interrupt-parent = <&mpic>; 148 - }; 149 - 150 - can1: can@1d000 { 151 - compatible = "fsl,p1010-flexcan"; 152 - reg = <0x1d000 0x1000>; 153 - interrupts = <61 0x2>; 154 - interrupt-parent = <&mpic>; 155 - }; 156 - 157 - L2: l2-cache-controller@20000 { 158 - compatible = "fsl,p1010-l2-cache-controller", 159 - "fsl,p1014-l2-cache-controller"; 160 - reg = <0x20000 0x1000>; 161 - cache-line-size = <32>; // 32 bytes 162 - cache-size = <0x40000>; // L2,256K 163 - interrupt-parent = <&mpic>; 164 - interrupts = <16 2>; 165 - }; 166 - 167 - dma@21300 { 168 - #address-cells = <1>; 169 - #size-cells = <1>; 170 - compatible = "fsl,p1010-dma", "fsl,eloplus-dma"; 171 - reg = <0x21300 0x4>; 172 - ranges = <0x0 0x21100 0x200>; 173 - cell-index = <0>; 174 - dma-channel@0 { 175 - compatible = "fsl,p1010-dma-channel", "fsl,eloplus-dma-channel"; 176 - reg = <0x0 0x80>; 177 - cell-index = <0>; 178 - interrupt-parent = <&mpic>; 179 - interrupts = <20 2>; 180 - }; 181 - dma-channel@80 { 182 - compatible = "fsl,p1010-dma-channel", "fsl,eloplus-dma-channel"; 183 - reg = <0x80 0x80>; 184 - cell-index = <1>; 185 - interrupt-parent = <&mpic>; 186 - interrupts = <21 2>; 187 - }; 188 - dma-channel@100 { 189 - compatible = "fsl,p1010-dma-channel", "fsl,eloplus-dma-channel"; 190 - reg = <0x100 0x80>; 191 - cell-index = <2>; 192 - interrupt-parent = <&mpic>; 193 - interrupts = <22 2>; 194 - }; 195 - dma-channel@180 { 196 - compatible = "fsl,p1010-dma-channel", "fsl,eloplus-dma-channel"; 197 - reg = <0x180 0x80>; 198 - cell-index = <3>; 199 - interrupt-parent = <&mpic>; 200 - interrupts = <23 2>; 201 - }; 202 - }; 203 - 204 - usb@22000 { 205 - compatible = "fsl-usb2-dr"; 206 - reg = <0x22000 0x1000>; 207 - #address-cells = <1>; 208 - #size-cells = <0>; 209 - interrupt-parent = <&mpic>; 210 - interrupts = <28 0x2>; 211 - dr_mode = "host"; 212 - }; 213 - 214 - mdio@24000 { 215 - #address-cells = <1>; 216 - #size-cells = <0>; 217 - compatible = "fsl,etsec2-mdio"; 218 - reg = <0x24000 0x1000 0xb0030 0x4>; 219 - }; 220 - 221 - mdio@25000 { 222 - #address-cells = <1>; 223 - #size-cells = <0>; 224 - compatible = "fsl,etsec2-tbi"; 225 - reg = <0x25000 0x1000 0xb1030 0x4>; 226 - tbi0: tbi-phy@11 { 227 - reg = <0x11>; 228 - device_type = "tbi-phy"; 229 - }; 230 - }; 231 - 232 - mdio@26000 { 233 - #address-cells = <1>; 234 - #size-cells = <0>; 235 - compatible = "fsl,etsec2-tbi"; 236 - reg = <0x26000 0x1000 0xb1030 0x4>; 237 - tbi1: tbi-phy@11 { 238 - reg = <0x11>; 239 - device_type = "tbi-phy"; 240 - }; 241 - }; 242 - 243 - sdhci@2e000 { 244 - compatible = "fsl,esdhc"; 245 - reg = <0x2e000 0x1000>; 246 - interrupts = <72 0x8>; 247 - interrupt-parent = <&mpic>; 248 - /* Filled in by U-Boot */ 249 - clock-frequency = <0>; 250 - fsl,sdhci-auto-cmd12; 251 - }; 252 - 253 - enet0: ethernet@b0000 { 254 - #address-cells = <1>; 255 - #size-cells = <1>; 256 - device_type = "network"; 257 - model = "eTSEC"; 258 - compatible = "fsl,etsec2"; 259 - fsl,num_rx_queues = <0x8>; 260 - fsl,num_tx_queues = <0x8>; 261 - local-mac-address = [ 00 00 00 00 00 00 ]; 262 - interrupt-parent = <&mpic>; 263 - 264 - queue-group@0 { 265 - #address-cells = <1>; 266 - #size-cells = <1>; 267 - reg = <0xb0000 0x1000>; 268 - fsl,rx-bit-map = <0xff>; 269 - fsl,tx-bit-map = <0xff>; 270 - interrupts = <29 2 30 2 34 2>; 271 - }; 272 - 273 - }; 274 - 275 - enet1: ethernet@b1000 { 276 - #address-cells = <1>; 277 - #size-cells = <1>; 278 - device_type = "network"; 279 - model = "eTSEC"; 280 - compatible = "fsl,etsec2"; 281 - fsl,num_rx_queues = <0x8>; 282 - fsl,num_tx_queues = <0x8>; 283 - local-mac-address = [ 00 00 00 00 00 00 ]; 284 - interrupt-parent = <&mpic>; 285 - 286 - queue-group@0 { 287 - #address-cells = <1>; 288 - #size-cells = <1>; 289 - reg = <0xb1000 0x1000>; 290 - fsl,rx-bit-map = <0xff>; 291 - fsl,tx-bit-map = <0xff>; 292 - interrupts = <35 2 36 2 40 2>; 293 - }; 294 - 295 - }; 296 - 297 - enet2: ethernet@b2000 { 298 - #address-cells = <1>; 299 - #size-cells = <1>; 300 - device_type = "network"; 301 - model = "eTSEC"; 302 - compatible = "fsl,etsec2"; 303 - fsl,num_rx_queues = <0x8>; 304 - fsl,num_tx_queues = <0x8>; 305 - local-mac-address = [ 00 00 00 00 00 00 ]; 306 - interrupt-parent = <&mpic>; 307 - 308 - queue-group@0 { 309 - #address-cells = <1>; 310 - #size-cells = <1>; 311 - reg = <0xb2000 0x1000>; 312 - fsl,rx-bit-map = <0xff>; 313 - fsl,tx-bit-map = <0xff>; 314 - interrupts = <31 2 32 2 33 2>; 315 - }; 316 - 317 - }; 318 - 319 - mpic: pic@40000 { 320 - interrupt-controller; 321 - #address-cells = <0>; 322 - #interrupt-cells = <2>; 323 - reg = <0x40000 0x40000>; 324 - compatible = "chrp,open-pic"; 325 - device_type = "open-pic"; 326 - }; 327 - 328 - msi@41600 { 329 - compatible = "fsl,p1010-msi", "fsl,mpic-msi"; 330 - reg = <0x41600 0x80>; 331 - msi-available-ranges = <0 0x100>; 332 - interrupts = < 333 - 0xe0 0 334 - 0xe1 0 335 - 0xe2 0 336 - 0xe3 0 337 - 0xe4 0 338 - 0xe5 0 339 - 0xe6 0 340 - 0xe7 0>; 341 - interrupt-parent = <&mpic>; 342 - }; 343 - 344 - global-utilities@e0000 { //global utilities block 345 - compatible = "fsl,p1010-guts"; 346 - reg = <0xe0000 0x1000>; 347 - fsl,has-rstcr; 348 - }; 349 - }; 350 - 351 - pci0: pcie@ffe09000 { 352 - compatible = "fsl,p1010-pcie", "fsl,qoriq-pcie-v2.3", "fsl,qoriq-pcie-v2.2"; 353 - device_type = "pci"; 354 - #size-cells = <2>; 355 - #address-cells = <3>; 356 - reg = <0 0xffe09000 0 0x1000>; 357 - bus-range = <0 255>; 358 - clock-frequency = <33333333>; 359 - interrupt-parent = <&mpic>; 360 - interrupts = <16 2>; 361 - }; 362 - 363 - pci1: pcie@ffe0a000 { 364 - compatible = "fsl,p1010-pcie", "fsl,qoriq-pcie-v2.3", "fsl,qoriq-pcie-v2.2"; 365 - device_type = "pci"; 366 - #size-cells = <2>; 367 - #address-cells = <3>; 368 - reg = <0 0xffe0a000 0 0x1000>; 369 - bus-range = <0 255>; 370 - clock-frequency = <33333333>; 371 - interrupt-parent = <&mpic>; 372 - interrupts = <16 2>; 373 - }; 374 - };