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

Merge remote-tracking branch 'kumar/next' into next

<<
Mostly misc code cleanups in various board ports and adding support for a
new MPC85xx board - ppa8548.
>>

+1532 -566
+9 -3
Documentation/devicetree/bindings/crypto/fsl-sec4.txt
··· 54 54 - compatible 55 55 Usage: required 56 56 Value type: <string> 57 - Definition: Must include "fsl,sec-v4.0". Also includes SEC 58 - ERA versions (optional) with which the device is compatible. 57 + Definition: Must include "fsl,sec-v4.0" 58 + 59 + - fsl,sec-era 60 + Usage: optional 61 + Value type: <u32> 62 + Definition: A standard property. Define the 'ERA' of the SEC 63 + device. 59 64 60 65 - #address-cells 61 66 Usage: required ··· 112 107 113 108 EXAMPLE 114 109 crypto@300000 { 115 - compatible = "fsl,sec-v4.0", "fsl,sec-era-v2.0"; 110 + compatible = "fsl,sec-v4.0"; 111 + fsl,sec-era = <0x2>; 116 112 #address-cells = <1>; 117 113 #size-cells = <1>; 118 114 reg = <0x300000 0x10000>;
+12 -1
Documentation/devicetree/bindings/powerpc/fsl/guts.txt
··· 17 17 contains a functioning "reset control register" (i.e. the board 18 18 is wired to reset upon setting the HRESET_REQ bit in this register). 19 19 20 - Example: 20 + - fsl,liodn-bits : Indicates the number of defined bits in the LIODN 21 + registers, for those SOCs that have a PAMU device. 22 + 23 + Examples: 21 24 global-utilities@e0000 { /* global utilities block */ 22 25 compatible = "fsl,mpc8548-guts"; 23 26 reg = <e0000 1000>; 24 27 fsl,has-rstcr; 28 + }; 29 + 30 + guts: global-utilities@e0000 { 31 + compatible = "fsl,qoriq-device-config-1.0"; 32 + reg = <0xe0000 0xe00>; 33 + fsl,has-rstcr; 34 + #sleep-cells = <1>; 35 + fsl,liodn-bits = <12>; 25 36 };
+140
Documentation/devicetree/bindings/powerpc/fsl/pamu.txt
··· 1 + Freescale Peripheral Management Access Unit (PAMU) Device Tree Binding 2 + 3 + DESCRIPTION 4 + 5 + The PAMU is an I/O MMU that provides device-to-memory access control and 6 + address translation capabilities. 7 + 8 + Required properties: 9 + 10 + - compatible : <string> 11 + First entry is a version-specific string, such as 12 + "fsl,pamu-v1.0". The second is "fsl,pamu". 13 + - ranges : <prop-encoded-array> 14 + A standard property. Utilized to describe the memory mapped 15 + I/O space utilized by the controller. The size should 16 + be set to the total size of the register space of all 17 + physically present PAMU controllers. For example, for 18 + PAMU v1.0, on an SOC that has five PAMU devices, the size 19 + is 0x5000. 20 + - interrupts : <prop-encoded-array> 21 + Interrupt mappings. The first tuple is the normal PAMU 22 + interrupt, used for reporting access violations. The second 23 + is for PAMU hardware errors, such as PAMU operation errors 24 + and ECC errors. 25 + - #address-cells: <u32> 26 + A standard property. 27 + - #size-cells : <u32> 28 + A standard property. 29 + 30 + Optional properties: 31 + - reg : <prop-encoded-array> 32 + A standard property. It represents the CCSR registers of 33 + all child PAMUs combined. Include it to provide support 34 + for legacy drivers. 35 + - interrupt-parent : <phandle> 36 + Phandle to interrupt controller 37 + 38 + Child nodes: 39 + 40 + Each child node represents one PAMU controller. Each SOC device that is 41 + connected to a specific PAMU device should have a "fsl,pamu-phandle" property 42 + that links to the corresponding specific child PAMU controller. 43 + 44 + - reg : <prop-encoded-array> 45 + A standard property. Specifies the physical address and 46 + length (relative to the parent 'ranges' property) of this 47 + PAMU controller's configuration registers. The size should 48 + be set to the size of this PAMU controllers's register space. 49 + For PAMU v1.0, this size is 0x1000. 50 + - fsl,primary-cache-geometry 51 + : <prop-encoded-array> 52 + Two cells that specify the geometry of the primary PAMU 53 + cache. The first is the number of cache lines, and the 54 + second is the number of "ways". For direct-mapped caches, 55 + specify a value of 1. 56 + - fsl,secondary-cache-geometry 57 + : <prop-encoded-array> 58 + Two cells that specify the geometry of the secondary PAMU 59 + cache. The first is the number of cache lines, and the 60 + second is the number of "ways". For direct-mapped caches, 61 + specify a value of 1. 62 + 63 + Device nodes: 64 + 65 + Devices that have LIODNs need to specify links to the parent PAMU controller 66 + (the actual PAMU controller that this device is connected to) and a pointer to 67 + the LIODN register, if applicable. 68 + 69 + - fsl,iommu-parent 70 + : <phandle> 71 + Phandle to the single, specific PAMU controller node to which 72 + this device is connect. The PAMU topology is represented in 73 + the device tree to assist code that dynamically determines the 74 + best LIODN values to minimize PAMU cache thrashing. 75 + 76 + - fsl,liodn-reg : <prop-encoded-array> 77 + Two cells that specify the location of the LIODN register 78 + for this device. Required for devices that have a single 79 + LIODN. The first cell is a phandle to a node that contains 80 + the registers where the LIODN is to be set. The second is 81 + the offset from the first "reg" resource of the node where 82 + the specific LIODN register is located. 83 + 84 + 85 + Example: 86 + 87 + iommu@20000 { 88 + compatible = "fsl,pamu-v1.0", "fsl,pamu"; 89 + reg = <0x20000 0x5000>; 90 + ranges = <0 0x20000 0x5000>; 91 + #address-cells = <1>; 92 + #size-cells = <1>; 93 + interrupts = < 94 + 24 2 0 0 95 + 16 2 1 30>; 96 + 97 + pamu0: pamu@0 { 98 + reg = <0 0x1000>; 99 + fsl,primary-cache-geometry = <32 1>; 100 + fsl,secondary-cache-geometry = <128 2>; 101 + }; 102 + 103 + pamu1: pamu@1000 { 104 + reg = <0x1000 0x1000>; 105 + fsl,primary-cache-geometry = <32 1>; 106 + fsl,secondary-cache-geometry = <128 2>; 107 + }; 108 + 109 + pamu2: pamu@2000 { 110 + reg = <0x2000 0x1000>; 111 + fsl,primary-cache-geometry = <32 1>; 112 + fsl,secondary-cache-geometry = <128 2>; 113 + }; 114 + 115 + pamu3: pamu@3000 { 116 + reg = <0x3000 0x1000>; 117 + fsl,primary-cache-geometry = <32 1>; 118 + fsl,secondary-cache-geometry = <128 2>; 119 + }; 120 + 121 + pamu4: pamu@4000 { 122 + reg = <0x4000 0x1000>; 123 + fsl,primary-cache-geometry = <32 1>; 124 + fsl,secondary-cache-geometry = <128 2>; 125 + }; 126 + }; 127 + 128 + guts: global-utilities@e0000 { 129 + compatible = "fsl,qoriq-device-config-1.0"; 130 + reg = <0xe0000 0xe00>; 131 + fsl,has-rstcr; 132 + #sleep-cells = <1>; 133 + fsl,liodn-bits = <12>; 134 + }; 135 + 136 + /include/ "qoriq-dma-0.dtsi" 137 + dma@100300 { 138 + fsl,iommu-parent = <&pamu0>; 139 + fsl,liodn-reg = <&guts 0x584>; /* DMA2LIODNR */ 140 + };
+1 -1
arch/powerpc/boot/dts/bsc9131rdb.dtsi
··· 126 126 }; 127 127 }; 128 128 129 - sdhci@2e000 { 129 + sdhc@2e000 { 130 130 status = "disabled"; 131 131 }; 132 132
+2 -2
arch/powerpc/boot/dts/fsl/p1010si-post.dtsi
··· 41 41 42 42 /* controller at 0x9000 */ 43 43 &pci0 { 44 - compatible = "fsl,p1010-pcie", "fsl,qoriq-pcie-v2.3", "fsl,qoriq-pcie-v2.2"; 44 + compatible = "fsl,p1010-pcie", "fsl,qoriq-pcie-v2.3"; 45 45 device_type = "pci"; 46 46 #size-cells = <2>; 47 47 #address-cells = <3>; ··· 69 69 70 70 /* controller at 0xa000 */ 71 71 &pci1 { 72 - compatible = "fsl,p1010-pcie", "fsl,qoriq-pcie-v2.3", "fsl,qoriq-pcie-v2.2"; 72 + compatible = "fsl,p1010-pcie", "fsl,qoriq-pcie-v2.3"; 73 73 device_type = "pci"; 74 74 #size-cells = <2>; 75 75 #address-cells = <3>;
+3 -3
arch/powerpc/boot/dts/fsl/p1022si-post.dtsi
··· 45 45 46 46 /* controller at 0x9000 */ 47 47 &pci0 { 48 - compatible = "fsl,p1022-pcie"; 48 + compatible = "fsl,mpc8548-pcie"; 49 49 device_type = "pci"; 50 50 #size-cells = <2>; 51 51 #address-cells = <3>; ··· 73 73 74 74 /* controller at 0xa000 */ 75 75 &pci1 { 76 - compatible = "fsl,p1022-pcie"; 76 + compatible = "fsl,mpc8548-pcie"; 77 77 device_type = "pci"; 78 78 #size-cells = <2>; 79 79 #address-cells = <3>; ··· 102 102 103 103 /* controller at 0xb000 */ 104 104 &pci2 { 105 - compatible = "fsl,p1022-pcie"; 105 + compatible = "fsl,mpc8548-pcie"; 106 106 device_type = "pci"; 107 107 #size-cells = <2>; 108 108 #address-cells = <3>;
+76 -11
arch/powerpc/boot/dts/fsl/p2041si-post.dtsi
··· 48 48 bus-range = <0x0 0xff>; 49 49 clock-frequency = <33333333>; 50 50 interrupts = <16 2 1 15>; 51 + fsl,iommu-parent = <&pamu0>; 52 + fsl,liodn-reg = <&guts 0x500>; /* PEX1LIODNR */ 51 53 pcie@0 { 52 54 reg = <0 0 0 0 0>; 53 55 #interrupt-cells = <1>; ··· 77 75 bus-range = <0 0xff>; 78 76 clock-frequency = <33333333>; 79 77 interrupts = <16 2 1 14>; 78 + fsl,iommu-parent = <&pamu0>; 79 + fsl,liodn-reg = <&guts 0x504>; /* PEX2LIODNR */ 80 80 pcie@0 { 81 81 reg = <0 0 0 0 0>; 82 82 #interrupt-cells = <1>; ··· 106 102 bus-range = <0x0 0xff>; 107 103 clock-frequency = <33333333>; 108 104 interrupts = <16 2 1 13>; 105 + fsl,iommu-parent = <&pamu0>; 106 + fsl,liodn-reg = <&guts 0x508>; /* PEX3LIODNR */ 109 107 pcie@0 { 110 108 reg = <0 0 0 0 0>; 111 109 #interrupt-cells = <1>; ··· 131 125 interrupts = <16 2 1 11>; 132 126 #address-cells = <2>; 133 127 #size-cells = <2>; 128 + fsl,iommu-parent = <&pamu0>; 134 129 ranges; 135 130 136 131 port1 { 137 132 #address-cells = <2>; 138 133 #size-cells = <2>; 139 134 cell-index = <1>; 135 + fsl,liodn-reg = <&guts 0x510>; /* RIO1LIODNR */ 140 136 }; 141 137 142 138 port2 { 143 139 #address-cells = <2>; 144 140 #size-cells = <2>; 145 141 cell-index = <2>; 142 + fsl,liodn-reg = <&guts 0x514>; /* RIO2LIODNR */ 146 143 }; 147 144 }; 148 145 ··· 255 246 256 247 iommu@20000 { 257 248 compatible = "fsl,pamu-v1.0", "fsl,pamu"; 258 - reg = <0x20000 0x4000>; 249 + reg = <0x20000 0x4000>; /* for compatibility with older PAMU drivers */ 250 + ranges = <0 0x20000 0x4000>; 251 + #address-cells = <1>; 252 + #size-cells = <1>; 259 253 interrupts = < 260 254 24 2 0 0 261 255 16 2 1 30>; 256 + 257 + pamu0: pamu@0 { 258 + reg = <0 0x1000>; 259 + fsl,primary-cache-geometry = <32 1>; 260 + fsl,secondary-cache-geometry = <128 2>; 261 + }; 262 + 263 + pamu1: pamu@1000 { 264 + reg = <0x1000 0x1000>; 265 + fsl,primary-cache-geometry = <32 1>; 266 + fsl,secondary-cache-geometry = <128 2>; 267 + }; 268 + 269 + pamu2: pamu@2000 { 270 + reg = <0x2000 0x1000>; 271 + fsl,primary-cache-geometry = <32 1>; 272 + fsl,secondary-cache-geometry = <128 2>; 273 + }; 274 + 275 + pamu3: pamu@3000 { 276 + reg = <0x3000 0x1000>; 277 + fsl,primary-cache-geometry = <32 1>; 278 + fsl,secondary-cache-geometry = <128 2>; 279 + }; 262 280 }; 263 281 264 282 /include/ "qoriq-mpic.dtsi" ··· 327 291 }; 328 292 329 293 /include/ "qoriq-dma-0.dtsi" 294 + dma@100300 { 295 + fsl,iommu-parent = <&pamu0>; 296 + fsl,liodn-reg = <&guts 0x580>; /* DMA1LIODNR */ 297 + }; 298 + 330 299 /include/ "qoriq-dma-1.dtsi" 300 + dma@101300 { 301 + fsl,iommu-parent = <&pamu0>; 302 + fsl,liodn-reg = <&guts 0x584>; /* DMA2LIODNR */ 303 + }; 304 + 331 305 /include/ "qoriq-espi-0.dtsi" 332 306 spi@110000 { 333 307 fsl,espi-num-chipselects = <4>; ··· 345 299 346 300 /include/ "qoriq-esdhc-0.dtsi" 347 301 sdhc@114000 { 302 + fsl,iommu-parent = <&pamu1>; 303 + fsl,liodn-reg = <&guts 0x530>; /* eSDHCLIODNR */ 348 304 sdhci,auto-cmd12; 349 305 }; 350 306 ··· 356 308 /include/ "qoriq-duart-1.dtsi" 357 309 /include/ "qoriq-gpio-0.dtsi" 358 310 /include/ "qoriq-usb2-mph-0.dtsi" 359 - usb0: usb@210000 { 360 - compatible = "fsl-usb2-mph-v1.6", "fsl,mpc85xx-usb2-mph", "fsl-usb2-mph"; 361 - phy_type = "utmi"; 362 - port0; 363 - }; 311 + usb0: usb@210000 { 312 + compatible = "fsl-usb2-mph-v1.6", "fsl,mpc85xx-usb2-mph", "fsl-usb2-mph"; 313 + phy_type = "utmi"; 314 + fsl,iommu-parent = <&pamu1>; 315 + fsl,liodn-reg = <&guts 0x520>; /* USB1LIODNR */ 316 + port0; 317 + }; 364 318 365 319 /include/ "qoriq-usb2-dr-0.dtsi" 366 - usb1: usb@211000 { 367 - compatible = "fsl-usb2-dr-v1.6", "fsl,mpc85xx-usb2-dr", "fsl-usb2-dr"; 368 - dr_mode = "host"; 369 - phy_type = "utmi"; 370 - }; 320 + usb1: usb@211000 { 321 + compatible = "fsl-usb2-dr-v1.6", "fsl,mpc85xx-usb2-dr", "fsl-usb2-dr"; 322 + fsl,iommu-parent = <&pamu1>; 323 + fsl,liodn-reg = <&guts 0x524>; /* USB2LIODNR */ 324 + dr_mode = "host"; 325 + phy_type = "utmi"; 326 + }; 371 327 372 328 /include/ "qoriq-sata2-0.dtsi" 329 + sata@220000 { 330 + fsl,iommu-parent = <&pamu1>; 331 + fsl,liodn-reg = <&guts 0x550>; /* SATA1LIODNR */ 332 + }; 333 + 373 334 /include/ "qoriq-sata2-1.dtsi" 335 + sata@221000 { 336 + fsl,iommu-parent = <&pamu1>; 337 + fsl,liodn-reg = <&guts 0x554>; /* SATA2LIODNR */ 338 + }; 339 + 374 340 /include/ "qoriq-sec4.2-0.dtsi" 341 + crypto: crypto@300000 { 342 + fsl,iommu-parent = <&pamu1>; 343 + }; 375 344 };
+76 -11
arch/powerpc/boot/dts/fsl/p3041si-post.dtsi
··· 48 48 bus-range = <0x0 0xff>; 49 49 clock-frequency = <33333333>; 50 50 interrupts = <16 2 1 15>; 51 + fsl,iommu-parent = <&pamu0>; 52 + fsl,liodn-reg = <&guts 0x500>; /* PEX1LIODNR */ 51 53 pcie@0 { 52 54 reg = <0 0 0 0 0>; 53 55 #interrupt-cells = <1>; ··· 77 75 bus-range = <0 0xff>; 78 76 clock-frequency = <33333333>; 79 77 interrupts = <16 2 1 14>; 78 + fsl,iommu-parent = <&pamu0>; 79 + fsl,liodn-reg = <&guts 0x504>; /* PEX2LIODNR */ 80 80 pcie@0 { 81 81 reg = <0 0 0 0 0>; 82 82 #interrupt-cells = <1>; ··· 106 102 bus-range = <0x0 0xff>; 107 103 clock-frequency = <33333333>; 108 104 interrupts = <16 2 1 13>; 105 + fsl,iommu-parent = <&pamu0>; 106 + fsl,liodn-reg = <&guts 0x508>; /* PEX3LIODNR */ 109 107 pcie@0 { 110 108 reg = <0 0 0 0 0>; 111 109 #interrupt-cells = <1>; ··· 158 152 interrupts = <16 2 1 11>; 159 153 #address-cells = <2>; 160 154 #size-cells = <2>; 155 + fsl,iommu-parent = <&pamu0>; 161 156 ranges; 162 157 163 158 port1 { 164 159 #address-cells = <2>; 165 160 #size-cells = <2>; 166 161 cell-index = <1>; 162 + fsl,liodn-reg = <&guts 0x510>; /* RIO1LIODNR */ 167 163 }; 168 164 169 165 port2 { 170 166 #address-cells = <2>; 171 167 #size-cells = <2>; 172 168 cell-index = <2>; 169 + fsl,liodn-reg = <&guts 0x514>; /* RIO2LIODNR */ 173 170 }; 174 171 }; 175 172 ··· 282 273 283 274 iommu@20000 { 284 275 compatible = "fsl,pamu-v1.0", "fsl,pamu"; 285 - reg = <0x20000 0x4000>; 276 + reg = <0x20000 0x4000>; /* for compatibility with older PAMU drivers */ 277 + ranges = <0 0x20000 0x4000>; 278 + #address-cells = <1>; 279 + #size-cells = <1>; 286 280 interrupts = < 287 281 24 2 0 0 288 282 16 2 1 30>; 283 + 284 + pamu0: pamu@0 { 285 + reg = <0 0x1000>; 286 + fsl,primary-cache-geometry = <32 1>; 287 + fsl,secondary-cache-geometry = <128 2>; 288 + }; 289 + 290 + pamu1: pamu@1000 { 291 + reg = <0x1000 0x1000>; 292 + fsl,primary-cache-geometry = <32 1>; 293 + fsl,secondary-cache-geometry = <128 2>; 294 + }; 295 + 296 + pamu2: pamu@2000 { 297 + reg = <0x2000 0x1000>; 298 + fsl,primary-cache-geometry = <32 1>; 299 + fsl,secondary-cache-geometry = <128 2>; 300 + }; 301 + 302 + pamu3: pamu@3000 { 303 + reg = <0x3000 0x1000>; 304 + fsl,primary-cache-geometry = <32 1>; 305 + fsl,secondary-cache-geometry = <128 2>; 306 + }; 289 307 }; 290 308 291 309 /include/ "qoriq-mpic.dtsi" ··· 354 318 }; 355 319 356 320 /include/ "qoriq-dma-0.dtsi" 321 + dma@100300 { 322 + fsl,iommu-parent = <&pamu0>; 323 + fsl,liodn-reg = <&guts 0x580>; /* DMA1LIODNR */ 324 + }; 325 + 357 326 /include/ "qoriq-dma-1.dtsi" 327 + dma@101300 { 328 + fsl,iommu-parent = <&pamu0>; 329 + fsl,liodn-reg = <&guts 0x584>; /* DMA2LIODNR */ 330 + }; 331 + 358 332 /include/ "qoriq-espi-0.dtsi" 359 333 spi@110000 { 360 334 fsl,espi-num-chipselects = <4>; ··· 372 326 373 327 /include/ "qoriq-esdhc-0.dtsi" 374 328 sdhc@114000 { 329 + fsl,iommu-parent = <&pamu1>; 330 + fsl,liodn-reg = <&guts 0x530>; /* eSDHCLIODNR */ 375 331 sdhci,auto-cmd12; 376 332 }; 377 333 ··· 383 335 /include/ "qoriq-duart-1.dtsi" 384 336 /include/ "qoriq-gpio-0.dtsi" 385 337 /include/ "qoriq-usb2-mph-0.dtsi" 386 - usb0: usb@210000 { 387 - compatible = "fsl-usb2-mph-v1.6", "fsl-usb2-mph"; 388 - phy_type = "utmi"; 389 - port0; 390 - }; 338 + usb0: usb@210000 { 339 + compatible = "fsl-usb2-mph-v1.6", "fsl-usb2-mph"; 340 + phy_type = "utmi"; 341 + fsl,iommu-parent = <&pamu1>; 342 + fsl,liodn-reg = <&guts 0x520>; /* USB1LIODNR */ 343 + port0; 344 + }; 391 345 392 346 /include/ "qoriq-usb2-dr-0.dtsi" 393 - usb1: usb@211000 { 394 - compatible = "fsl-usb2-dr-v1.6", "fsl,mpc85xx-usb2-dr", "fsl-usb2-dr"; 395 - dr_mode = "host"; 396 - phy_type = "utmi"; 397 - }; 347 + usb1: usb@211000 { 348 + compatible = "fsl-usb2-dr-v1.6", "fsl,mpc85xx-usb2-dr", "fsl-usb2-dr"; 349 + fsl,iommu-parent = <&pamu1>; 350 + fsl,liodn-reg = <&guts 0x524>; /* USB2LIODNR */ 351 + dr_mode = "host"; 352 + phy_type = "utmi"; 353 + }; 398 354 399 355 /include/ "qoriq-sata2-0.dtsi" 356 + sata@220000 { 357 + fsl,iommu-parent = <&pamu1>; 358 + fsl,liodn-reg = <&guts 0x550>; /* SATA1LIODNR */ 359 + }; 360 + 400 361 /include/ "qoriq-sata2-1.dtsi" 362 + sata@221000 { 363 + fsl,iommu-parent = <&pamu1>; 364 + fsl,liodn-reg = <&guts 0x554>; /* SATA2LIODNR */ 365 + }; 366 + 401 367 /include/ "qoriq-sec4.2-0.dtsi" 368 + crypto: crypto@300000 { 369 + fsl,iommu-parent = <&pamu1>; 370 + }; 402 371 };
+70 -4
arch/powerpc/boot/dts/fsl/p4080si-post.dtsi
··· 41 41 42 42 /* controller at 0x200000 */ 43 43 &pci0 { 44 - compatible = "fsl,p4080-pcie"; 44 + compatible = "fsl,p4080-pcie", "fsl,qoriq-pcie-v2.1"; 45 45 device_type = "pci"; 46 46 #size-cells = <2>; 47 47 #address-cells = <3>; 48 48 bus-range = <0x0 0xff>; 49 49 clock-frequency = <33333333>; 50 50 interrupts = <16 2 1 15>; 51 + fsl,iommu-parent = <&pamu0>; 52 + fsl,liodn-reg = <&guts 0x500>; /* PEX1LIODNR */ 51 53 pcie@0 { 52 54 reg = <0 0 0 0 0>; 53 55 #interrupt-cells = <1>; ··· 70 68 71 69 /* controller at 0x201000 */ 72 70 &pci1 { 73 - compatible = "fsl,p4080-pcie"; 71 + compatible = "fsl,p4080-pcie", "fsl,qoriq-pcie-v2.1"; 74 72 device_type = "pci"; 75 73 #size-cells = <2>; 76 74 #address-cells = <3>; 77 75 bus-range = <0 0xff>; 78 76 clock-frequency = <33333333>; 79 77 interrupts = <16 2 1 14>; 78 + fsl,iommu-parent = <&pamu0>; 79 + fsl,liodn-reg = <&guts 0x504>; /* PEX2LIODNR */ 80 80 pcie@0 { 81 81 reg = <0 0 0 0 0>; 82 82 #interrupt-cells = <1>; ··· 99 95 100 96 /* controller at 0x202000 */ 101 97 &pci2 { 102 - compatible = "fsl,p4080-pcie"; 98 + compatible = "fsl,p4080-pcie", "fsl,qoriq-pcie-v2.1"; 103 99 device_type = "pci"; 104 100 #size-cells = <2>; 105 101 #address-cells = <3>; 106 102 bus-range = <0x0 0xff>; 107 103 clock-frequency = <33333333>; 108 104 interrupts = <16 2 1 13>; 105 + fsl,iommu-parent = <&pamu0>; 106 + fsl,liodn-reg = <&guts 0x508>; /* PEX3LIODNR */ 109 107 pcie@0 { 110 108 reg = <0 0 0 0 0>; 111 109 #interrupt-cells = <1>; ··· 132 126 #address-cells = <2>; 133 127 #size-cells = <2>; 134 128 fsl,srio-rmu-handle = <&rmu>; 129 + fsl,iommu-parent = <&pamu0>; 135 130 ranges; 136 131 137 132 port1 { 138 133 #address-cells = <2>; 139 134 #size-cells = <2>; 140 135 cell-index = <1>; 136 + fsl,liodn-reg = <&guts 0x510>; /* RIO1LIODNR */ 141 137 }; 142 138 143 139 port2 { 144 140 #address-cells = <2>; 145 141 #size-cells = <2>; 146 142 cell-index = <2>; 143 + fsl,liodn-reg = <&guts 0x514>; /* RIO2LIODNR */ 147 144 }; 148 145 }; 149 146 ··· 290 281 291 282 iommu@20000 { 292 283 compatible = "fsl,pamu-v1.0", "fsl,pamu"; 293 - reg = <0x20000 0x5000>; 284 + reg = <0x20000 0x5000>; /* for compatibility with older PAMU drivers */ 285 + ranges = <0 0x20000 0x5000>; 286 + #address-cells = <1>; 287 + #size-cells = <1>; 294 288 interrupts = < 295 289 24 2 0 0 296 290 16 2 1 30>; 291 + 292 + pamu0: pamu@0 { 293 + reg = <0 0x1000>; 294 + fsl,primary-cache-geometry = <32 1>; 295 + fsl,secondary-cache-geometry = <128 2>; 296 + }; 297 + 298 + pamu1: pamu@1000 { 299 + reg = <0x1000 0x1000>; 300 + fsl,primary-cache-geometry = <32 1>; 301 + fsl,secondary-cache-geometry = <128 2>; 302 + }; 303 + 304 + pamu2: pamu@2000 { 305 + reg = <0x2000 0x1000>; 306 + fsl,primary-cache-geometry = <32 1>; 307 + fsl,secondary-cache-geometry = <128 2>; 308 + }; 309 + 310 + pamu3: pamu@3000 { 311 + reg = <0x3000 0x1000>; 312 + fsl,primary-cache-geometry = <32 1>; 313 + fsl,secondary-cache-geometry = <128 2>; 314 + }; 315 + 316 + pamu4: pamu@4000 { 317 + reg = <0x4000 0x1000>; 318 + fsl,primary-cache-geometry = <32 1>; 319 + fsl,secondary-cache-geometry = <128 2>; 320 + }; 297 321 }; 298 322 299 323 /include/ "qoriq-rmu-0.dtsi" 324 + rmu@d3000 { 325 + fsl,iommu-parent = <&pamu0>; 326 + fsl,liodn-reg = <&guts 0x540>; /* RMULIODNR */ 327 + }; 328 + 300 329 /include/ "qoriq-mpic.dtsi" 301 330 302 331 guts: global-utilities@e0000 { ··· 374 327 }; 375 328 376 329 /include/ "qoriq-dma-0.dtsi" 330 + dma@100300 { 331 + fsl,iommu-parent = <&pamu0>; 332 + fsl,liodn-reg = <&guts 0x580>; /* DMA1LIODNR */ 333 + }; 334 + 377 335 /include/ "qoriq-dma-1.dtsi" 336 + dma@101300 { 337 + fsl,iommu-parent = <&pamu0>; 338 + fsl,liodn-reg = <&guts 0x584>; /* DMA2LIODNR */ 339 + }; 340 + 378 341 /include/ "qoriq-espi-0.dtsi" 379 342 spi@110000 { 380 343 fsl,espi-num-chipselects = <4>; ··· 392 335 393 336 /include/ "qoriq-esdhc-0.dtsi" 394 337 sdhc@114000 { 338 + fsl,iommu-parent = <&pamu1>; 339 + fsl,liodn-reg = <&guts 0x530>; /* eSDHCLIODNR */ 395 340 voltage-ranges = <3300 3300>; 396 341 sdhci,auto-cmd12; 397 342 }; ··· 406 347 /include/ "qoriq-usb2-mph-0.dtsi" 407 348 usb@210000 { 408 349 compatible = "fsl-usb2-mph-v1.6", "fsl,mpc85xx-usb2-mph", "fsl-usb2-mph"; 350 + fsl,iommu-parent = <&pamu1>; 351 + fsl,liodn-reg = <&guts 0x520>; /* USB1LIODNR */ 409 352 port0; 410 353 }; 411 354 /include/ "qoriq-usb2-dr-0.dtsi" 412 355 usb@211000 { 413 356 compatible = "fsl-usb2-dr-v1.6", "fsl,mpc85xx-usb2-dr", "fsl-usb2-dr"; 357 + fsl,iommu-parent = <&pamu1>; 358 + fsl,liodn-reg = <&guts 0x524>; /* USB2LIODNR */ 414 359 }; 415 360 /include/ "qoriq-sec4.0-0.dtsi" 361 + crypto: crypto@300000 { 362 + fsl,iommu-parent = <&pamu1>; 363 + }; 416 364 };
+81 -11
arch/powerpc/boot/dts/fsl/p5020si-post.dtsi
··· 48 48 bus-range = <0x0 0xff>; 49 49 clock-frequency = <33333333>; 50 50 interrupts = <16 2 1 15>; 51 + fsl,iommu-parent = <&pamu0>; 52 + fsl,liodn-reg = <&guts 0x500>; /* PEX1LIODNR */ 51 53 pcie@0 { 52 54 reg = <0 0 0 0 0>; 53 55 #interrupt-cells = <1>; ··· 77 75 bus-range = <0 0xff>; 78 76 clock-frequency = <33333333>; 79 77 interrupts = <16 2 1 14>; 78 + fsl,iommu-parent = <&pamu0>; 79 + fsl,liodn-reg = <&guts 0x504>; /* PEX2LIODNR */ 80 80 pcie@0 { 81 81 reg = <0 0 0 0 0>; 82 82 #interrupt-cells = <1>; ··· 106 102 bus-range = <0x0 0xff>; 107 103 clock-frequency = <33333333>; 108 104 interrupts = <16 2 1 13>; 105 + fsl,iommu-parent = <&pamu0>; 106 + fsl,liodn-reg = <&guts 0x508>; /* PEX3LIODNR */ 109 107 pcie@0 { 110 108 reg = <0 0 0 0 0>; 111 109 #interrupt-cells = <1>; ··· 135 129 bus-range = <0x0 0xff>; 136 130 clock-frequency = <33333333>; 137 131 interrupts = <16 2 1 12>; 132 + fsl,iommu-parent = <&pamu0>; 133 + fsl,liodn-reg = <&guts 0x50c>; /* PEX4LIODNR */ 138 134 pcie@0 { 139 135 reg = <0 0 0 0 0>; 140 136 #interrupt-cells = <1>; ··· 160 152 interrupts = <16 2 1 11>; 161 153 #address-cells = <2>; 162 154 #size-cells = <2>; 155 + fsl,iommu-parent = <&pamu0>; 163 156 ranges; 164 157 165 158 port1 { 166 159 #address-cells = <2>; 167 160 #size-cells = <2>; 168 161 cell-index = <1>; 162 + fsl,liodn-reg = <&guts 0x510>; /* RIO1LIODNR */ 169 163 }; 170 164 171 165 port2 { 172 166 #address-cells = <2>; 173 167 #size-cells = <2>; 174 168 cell-index = <2>; 169 + fsl,liodn-reg = <&guts 0x514>; /* RIO2LIODNR */ 175 170 }; 176 171 }; 177 172 ··· 287 276 288 277 iommu@20000 { 289 278 compatible = "fsl,pamu-v1.0", "fsl,pamu"; 290 - reg = <0x20000 0x4000>; 279 + reg = <0x20000 0x4000>; /* for compatibility with older PAMU drivers */ 280 + ranges = <0 0x20000 0x4000>; 281 + #address-cells = <1>; 282 + #size-cells = <1>; 291 283 interrupts = < 292 284 24 2 0 0 293 285 16 2 1 30>; 286 + 287 + pamu0: pamu@0 { 288 + reg = <0 0x1000>; 289 + fsl,primary-cache-geometry = <32 1>; 290 + fsl,secondary-cache-geometry = <128 2>; 291 + }; 292 + 293 + pamu1: pamu@1000 { 294 + reg = <0x1000 0x1000>; 295 + fsl,primary-cache-geometry = <32 1>; 296 + fsl,secondary-cache-geometry = <128 2>; 297 + }; 298 + 299 + pamu2: pamu@2000 { 300 + reg = <0x2000 0x1000>; 301 + fsl,primary-cache-geometry = <32 1>; 302 + fsl,secondary-cache-geometry = <128 2>; 303 + }; 304 + 305 + pamu3: pamu@3000 { 306 + reg = <0x3000 0x1000>; 307 + fsl,primary-cache-geometry = <32 1>; 308 + fsl,secondary-cache-geometry = <128 2>; 309 + }; 294 310 }; 295 311 296 312 /include/ "qoriq-mpic.dtsi" ··· 359 321 }; 360 322 361 323 /include/ "qoriq-dma-0.dtsi" 324 + dma@100300 { 325 + fsl,iommu-parent = <&pamu0>; 326 + fsl,liodn-reg = <&guts 0x580>; /* DMA1LIODNR */ 327 + }; 328 + 362 329 /include/ "qoriq-dma-1.dtsi" 330 + dma@101300 { 331 + fsl,iommu-parent = <&pamu0>; 332 + fsl,liodn-reg = <&guts 0x584>; /* DMA2LIODNR */ 333 + }; 334 + 363 335 /include/ "qoriq-espi-0.dtsi" 364 336 spi@110000 { 365 337 fsl,espi-num-chipselects = <4>; ··· 377 329 378 330 /include/ "qoriq-esdhc-0.dtsi" 379 331 sdhc@114000 { 332 + fsl,iommu-parent = <&pamu1>; 333 + fsl,liodn-reg = <&guts 0x530>; /* eSDHCLIODNR */ 380 334 sdhci,auto-cmd12; 381 335 }; 382 336 ··· 388 338 /include/ "qoriq-duart-1.dtsi" 389 339 /include/ "qoriq-gpio-0.dtsi" 390 340 /include/ "qoriq-usb2-mph-0.dtsi" 391 - usb0: usb@210000 { 392 - compatible = "fsl-usb2-mph-v1.6", "fsl,mpc85xx-usb2-mph", "fsl-usb2-mph"; 393 - phy_type = "utmi"; 394 - port0; 395 - }; 341 + usb0: usb@210000 { 342 + compatible = "fsl-usb2-mph-v1.6", "fsl,mpc85xx-usb2-mph", "fsl-usb2-mph"; 343 + fsl,iommu-parent = <&pamu1>; 344 + fsl,liodn-reg = <&guts 0x520>; /* USB1LIODNR */ 345 + phy_type = "utmi"; 346 + port0; 347 + }; 396 348 397 349 /include/ "qoriq-usb2-dr-0.dtsi" 398 - usb1: usb@211000 { 399 - compatible = "fsl-usb2-dr-v1.6", "fsl,mpc85xx-usb2-dr", "fsl-usb2-dr"; 400 - dr_mode = "host"; 401 - phy_type = "utmi"; 402 - }; 350 + usb1: usb@211000 { 351 + compatible = "fsl-usb2-dr-v1.6", "fsl,mpc85xx-usb2-dr", "fsl-usb2-dr"; 352 + fsl,iommu-parent = <&pamu1>; 353 + fsl,liodn-reg = <&guts 0x524>; /* USB2LIODNR */ 354 + dr_mode = "host"; 355 + phy_type = "utmi"; 356 + }; 403 357 404 358 /include/ "qoriq-sata2-0.dtsi" 359 + sata@220000 { 360 + fsl,iommu-parent = <&pamu1>; 361 + fsl,liodn-reg = <&guts 0x550>; /* SATA1LIODNR */ 362 + }; 363 + 405 364 /include/ "qoriq-sata2-1.dtsi" 365 + sata@221000 { 366 + fsl,iommu-parent = <&pamu1>; 367 + fsl,liodn-reg = <&guts 0x554>; /* SATA2LIODNR */ 368 + }; 406 369 /include/ "qoriq-sec4.2-0.dtsi" 370 + crypto@300000 { 371 + fsl,iommu-parent = <&pamu1>; 372 + }; 373 + 407 374 /include/ "qoriq-raid1.0-0.dtsi" 375 + raideng@320000 { 376 + fsl,iommu-parent = <&pamu1>; 377 + }; 408 378 };
+78 -14
arch/powerpc/boot/dts/fsl/p5040si-post.dtsi
··· 48 48 bus-range = <0x0 0xff>; 49 49 clock-frequency = <33333333>; 50 50 interrupts = <16 2 1 15>; 51 + fsl,iommu-parent = <&pamu0>; 51 52 pcie@0 { 52 53 reg = <0 0 0 0 0>; 53 54 #interrupt-cells = <1>; ··· 76 75 bus-range = <0 0xff>; 77 76 clock-frequency = <33333333>; 78 77 interrupts = <16 2 1 14>; 78 + fsl,iommu-parent = <&pamu0>; 79 79 pcie@0 { 80 80 reg = <0 0 0 0 0>; 81 81 #interrupt-cells = <1>; ··· 104 102 bus-range = <0x0 0xff>; 105 103 clock-frequency = <33333333>; 106 104 interrupts = <16 2 1 13>; 105 + fsl,iommu-parent = <&pamu0>; 107 106 pcie@0 { 108 107 reg = <0 0 0 0 0>; 109 108 #interrupt-cells = <1>; ··· 242 239 243 240 iommu@20000 { 244 241 compatible = "fsl,pamu-v1.0", "fsl,pamu"; 245 - reg = <0x20000 0x5000>; 246 - interrupts = < 247 - 24 2 0 0 248 - 16 2 1 30>; 242 + reg = <0x20000 0x5000>; /* for compatibility with older PAMU drivers */ 243 + ranges = <0 0x20000 0x5000>; 244 + #address-cells = <1>; 245 + #size-cells = <1>; 246 + interrupts = <24 2 0 0 247 + 16 2 1 30>; 248 + 249 + pamu0: pamu@0 { 250 + reg = <0 0x1000>; 251 + fsl,primary-cache-geometry = <32 1>; 252 + fsl,secondary-cache-geometry = <128 2>; 253 + }; 254 + 255 + pamu1: pamu@1000 { 256 + reg = <0x1000 0x1000>; 257 + fsl,primary-cache-geometry = <32 1>; 258 + fsl,secondary-cache-geometry = <128 2>; 259 + }; 260 + 261 + pamu2: pamu@2000 { 262 + reg = <0x2000 0x1000>; 263 + fsl,primary-cache-geometry = <32 1>; 264 + fsl,secondary-cache-geometry = <128 2>; 265 + }; 266 + 267 + pamu3: pamu@3000 { 268 + reg = <0x3000 0x1000>; 269 + fsl,primary-cache-geometry = <32 1>; 270 + fsl,secondary-cache-geometry = <128 2>; 271 + }; 272 + 273 + pamu4: pamu@4000 { 274 + reg = <0x4000 0x1000>; 275 + fsl,primary-cache-geometry = <32 1>; 276 + fsl,secondary-cache-geometry = <128 2>; 277 + }; 249 278 }; 250 279 251 280 /include/ "qoriq-mpic.dtsi" ··· 319 284 }; 320 285 321 286 /include/ "qoriq-dma-0.dtsi" 287 + dma@100300 { 288 + fsl,iommu-parent = <&pamu0>; 289 + fsl,liodn-reg = <&guts 0x580>; /* DMA1LIODNR */ 290 + }; 291 + 322 292 /include/ "qoriq-dma-1.dtsi" 293 + dma@101300 { 294 + fsl,iommu-parent = <&pamu0>; 295 + fsl,liodn-reg = <&guts 0x584>; /* DMA2LIODNR */ 296 + }; 297 + 323 298 /include/ "qoriq-espi-0.dtsi" 324 299 spi@110000 { 325 300 fsl,espi-num-chipselects = <4>; ··· 337 292 338 293 /include/ "qoriq-esdhc-0.dtsi" 339 294 sdhc@114000 { 295 + fsl,iommu-parent = <&pamu2>; 296 + fsl,liodn-reg = <&guts 0x530>; /* eSDHCLIODNR */ 340 297 sdhci,auto-cmd12; 341 298 }; 342 299 ··· 348 301 /include/ "qoriq-duart-1.dtsi" 349 302 /include/ "qoriq-gpio-0.dtsi" 350 303 /include/ "qoriq-usb2-mph-0.dtsi" 351 - usb0: usb@210000 { 352 - compatible = "fsl-usb2-mph-v1.6", "fsl,mpc85xx-usb2-mph", "fsl-usb2-mph"; 353 - phy_type = "utmi"; 354 - port0; 355 - }; 304 + usb0: usb@210000 { 305 + compatible = "fsl-usb2-mph-v1.6", "fsl,mpc85xx-usb2-mph", "fsl-usb2-mph"; 306 + fsl,iommu-parent = <&pamu4>; 307 + fsl,liodn-reg = <&guts 0x520>; /* USB1LIODNR */ 308 + phy_type = "utmi"; 309 + port0; 310 + }; 356 311 357 312 /include/ "qoriq-usb2-dr-0.dtsi" 358 - usb1: usb@211000 { 359 - compatible = "fsl-usb2-dr-v1.6", "fsl,mpc85xx-usb2-dr", "fsl-usb2-dr"; 360 - dr_mode = "host"; 361 - phy_type = "utmi"; 362 - }; 313 + usb1: usb@211000 { 314 + compatible = "fsl-usb2-dr-v1.6", "fsl,mpc85xx-usb2-dr", "fsl-usb2-dr"; 315 + fsl,iommu-parent = <&pamu4>; 316 + fsl,liodn-reg = <&guts 0x524>; /* USB2LIODNR */ 317 + dr_mode = "host"; 318 + phy_type = "utmi"; 319 + }; 363 320 364 321 /include/ "qoriq-sata2-0.dtsi" 322 + sata@220000 { 323 + fsl,iommu-parent = <&pamu4>; 324 + fsl,liodn-reg = <&guts 0x550>; /* SATA1LIODNR */ 325 + }; 326 + 365 327 /include/ "qoriq-sata2-1.dtsi" 328 + sata@221000 { 329 + fsl,iommu-parent = <&pamu4>; 330 + fsl,liodn-reg = <&guts 0x554>; /* SATA2LIODNR */ 331 + }; 332 + 366 333 /include/ "qoriq-sec5.2-0.dtsi" 334 + crypto@300000 { 335 + fsl,iommu-parent = <&pamu4>; 336 + }; 367 337 };
+1
arch/powerpc/boot/dts/fsl/pq3-sec4.4-0.dtsi
··· 36 36 compatible = "fsl,sec-v4.4", "fsl,sec-v4.0"; 37 37 #address-cells = <1>; 38 38 #size-cells = <1>; 39 + ranges = <0x0 0x30000 0x10000>; 39 40 reg = <0x30000 0x10000>; 40 41 interrupts = <58 2 0 0>; 41 42
+166
arch/powerpc/boot/dts/ppa8548.dts
··· 1 + /* 2 + * PPA8548 Device Tree Source (36-bit address map) 3 + * Copyright 2013 Prodrive B.V. 4 + * 5 + * Based on: 6 + * MPC8548 CDS Device Tree Source (36-bit address map) 7 + * Copyright 2012 Freescale Semiconductor Inc. 8 + * 9 + * This program is free software; you can redistribute it and/or modify it 10 + * under the terms of the GNU General Public License as published by the 11 + * Free Software Foundation; either version 2 of the License, or (at your 12 + * option) any later version. 13 + */ 14 + 15 + /include/ "fsl/mpc8548si-pre.dtsi" 16 + 17 + / { 18 + model = "ppa8548"; 19 + compatible = "ppa8548"; 20 + #address-cells = <2>; 21 + #size-cells = <2>; 22 + interrupt-parent = <&mpic>; 23 + 24 + memory { 25 + device_type = "memory"; 26 + reg = <0 0 0x0 0x40000000>; 27 + }; 28 + 29 + lbc: localbus@fe0005000 { 30 + reg = <0xf 0xe0005000 0 0x1000>; 31 + ranges = <0x0 0x0 0xf 0xff800000 0x00800000>; 32 + }; 33 + 34 + soc: soc8548@fe0000000 { 35 + ranges = <0 0xf 0xe0000000 0x100000>; 36 + }; 37 + 38 + pci0: pci@fe0008000 { 39 + /* ppa8548 board doesn't support PCI */ 40 + status = "disabled"; 41 + }; 42 + 43 + pci1: pci@fe0009000 { 44 + /* ppa8548 board doesn't support PCI */ 45 + status = "disabled"; 46 + }; 47 + 48 + pci2: pcie@fe000a000 { 49 + /* ppa8548 board doesn't support PCI */ 50 + status = "disabled"; 51 + }; 52 + 53 + rio: rapidio@fe00c0000 { 54 + reg = <0xf 0xe00c0000 0x0 0x11000>; 55 + port1 { 56 + ranges = <0x0 0x0 0x0 0x80000000 0x0 0x40000000>; 57 + }; 58 + }; 59 + }; 60 + 61 + &lbc { 62 + nor@0 { 63 + #address-cells = <1>; 64 + #size-cells = <1>; 65 + compatible = "cfi-flash"; 66 + reg = <0x0 0x0 0x00800000>; 67 + bank-width = <2>; 68 + device-width = <2>; 69 + 70 + partition@0 { 71 + reg = <0x0 0x7A0000>; 72 + label = "user"; 73 + }; 74 + 75 + partition@7A0000 { 76 + reg = <0x7A0000 0x20000>; 77 + label = "env"; 78 + read-only; 79 + }; 80 + 81 + partition@7C0000 { 82 + reg = <0x7C0000 0x40000>; 83 + label = "u-boot"; 84 + read-only; 85 + }; 86 + }; 87 + }; 88 + 89 + &soc { 90 + i2c@3000 { 91 + rtc@6f { 92 + compatible = "intersil,isl1208"; 93 + reg = <0x6f>; 94 + }; 95 + }; 96 + 97 + i2c@3100 { 98 + }; 99 + 100 + /* 101 + * Only ethernet controller @25000 and @26000 are used. 102 + * Use alias enet2 and enet3 for the remainig controllers, 103 + * to stay compatible with mpc8548si-pre.dtsi. 104 + */ 105 + enet2: ethernet@24000 { 106 + status = "disabled"; 107 + }; 108 + 109 + mdio@24520 { 110 + phy0: ethernet-phy@0 { 111 + interrupts = <7 1 0 0>; 112 + reg = <0x0>; 113 + device_type = "ethernet-phy"; 114 + }; 115 + phy1: ethernet-phy@1 { 116 + interrupts = <8 1 0 0>; 117 + reg = <0x1>; 118 + device_type = "ethernet-phy"; 119 + }; 120 + tbi0: tbi-phy@11 { 121 + reg = <0x11>; 122 + device_type = "tbi-phy"; 123 + }; 124 + }; 125 + 126 + enet0: ethernet@25000 { 127 + tbi-handle = <&tbi1>; 128 + phy-handle = <&phy0>; 129 + }; 130 + 131 + mdio@25520 { 132 + tbi1: tbi-phy@11 { 133 + reg = <0x11>; 134 + device_type = "tbi-phy"; 135 + }; 136 + }; 137 + 138 + enet1: ethernet@26000 { 139 + tbi-handle = <&tbi2>; 140 + phy-handle = <&phy1>; 141 + }; 142 + 143 + mdio@26520 { 144 + tbi2: tbi-phy@11 { 145 + reg = <0x11>; 146 + device_type = "tbi-phy"; 147 + }; 148 + }; 149 + 150 + enet3: ethernet@27000 { 151 + status = "disabled"; 152 + }; 153 + 154 + mdio@27520 { 155 + tbi3: tbi-phy@11 { 156 + reg = <0x11>; 157 + device_type = "tbi-phy"; 158 + }; 159 + }; 160 + 161 + crypto@30000 { 162 + status = "disabled"; 163 + }; 164 + }; 165 + 166 + /include/ "fsl/mpc8548si-post.dtsi"
+115
arch/powerpc/boot/dts/sbc8548-altflash.dts
··· 1 + /* 2 + * SBC8548 Device Tree Source 3 + * 4 + * Configured for booting off the alternate (64MB SODIMM) flash. 5 + * Requires switching JP12 jumpers and changing SW2.8 setting. 6 + * 7 + * Copyright 2013 Wind River Systems Inc. 8 + * 9 + * Paul Gortmaker (see MAINTAINERS for contact information) 10 + * 11 + * This program is free software; you can redistribute it and/or modify it 12 + * under the terms of the GNU General Public License as published by the 13 + * Free Software Foundation; either version 2 of the License, or (at your 14 + * option) any later version. 15 + */ 16 + 17 + 18 + /dts-v1/; 19 + 20 + /include/ "sbc8548-pre.dtsi" 21 + 22 + /{ 23 + localbus@e0000000 { 24 + #address-cells = <2>; 25 + #size-cells = <1>; 26 + compatible = "simple-bus"; 27 + reg = <0xe0000000 0x5000>; 28 + interrupt-parent = <&mpic>; 29 + 30 + ranges = <0x0 0x0 0xfc000000 0x04000000 /*64MB Flash*/ 31 + 0x3 0x0 0xf0000000 0x04000000 /*64MB SDRAM*/ 32 + 0x4 0x0 0xf4000000 0x04000000 /*64MB SDRAM*/ 33 + 0x5 0x0 0xf8000000 0x00b10000 /* EPLD */ 34 + 0x6 0x0 0xef800000 0x00800000>; /*8MB Flash*/ 35 + 36 + flash@0,0 { 37 + #address-cells = <1>; 38 + #size-cells = <1>; 39 + reg = <0x0 0x0 0x04000000>; 40 + compatible = "intel,JS28F128", "cfi-flash"; 41 + bank-width = <4>; 42 + device-width = <1>; 43 + partition@0x0 { 44 + label = "space"; 45 + /* FC000000 -> FFEFFFFF */ 46 + reg = <0x00000000 0x03f00000>; 47 + }; 48 + partition@0x03f00000 { 49 + label = "bootloader"; 50 + /* FFF00000 -> FFFFFFFF */ 51 + reg = <0x03f00000 0x00100000>; 52 + read-only; 53 + }; 54 + }; 55 + 56 + 57 + epld@5,0 { 58 + compatible = "wrs,epld-localbus"; 59 + #address-cells = <2>; 60 + #size-cells = <1>; 61 + reg = <0x5 0x0 0x00b10000>; 62 + ranges = < 63 + 0x0 0x0 0x5 0x000000 0x1fff /* LED */ 64 + 0x1 0x0 0x5 0x100000 0x1fff /* Switches */ 65 + 0x3 0x0 0x5 0x300000 0x1fff /* HW Rev. */ 66 + 0xb 0x0 0x5 0xb00000 0x1fff /* EEPROM */ 67 + >; 68 + 69 + led@0,0 { 70 + compatible = "led"; 71 + reg = <0x0 0x0 0x1fff>; 72 + }; 73 + 74 + switches@1,0 { 75 + compatible = "switches"; 76 + reg = <0x1 0x0 0x1fff>; 77 + }; 78 + 79 + hw-rev@3,0 { 80 + compatible = "hw-rev"; 81 + reg = <0x3 0x0 0x1fff>; 82 + }; 83 + 84 + eeprom@b,0 { 85 + compatible = "eeprom"; 86 + reg = <0xb 0 0x1fff>; 87 + }; 88 + 89 + }; 90 + 91 + alt-flash@6,0 { 92 + #address-cells = <1>; 93 + #size-cells = <1>; 94 + compatible = "intel,JS28F640", "cfi-flash"; 95 + reg = <0x6 0x0 0x800000>; 96 + bank-width = <1>; 97 + device-width = <1>; 98 + partition@0x0 { 99 + label = "space"; 100 + /* EF800000 -> EFF9FFFF */ 101 + reg = <0x00000000 0x007a0000>; 102 + }; 103 + partition@0x7a0000 { 104 + label = "bootloader"; 105 + /* EFFA0000 -> EFFFFFFF */ 106 + reg = <0x007a0000 0x00060000>; 107 + read-only; 108 + }; 109 + }; 110 + 111 + 112 + }; 113 + }; 114 + 115 + /include/ "sbc8548-post.dtsi"
+295
arch/powerpc/boot/dts/sbc8548-post.dtsi
··· 1 + /* 2 + * SBC8548 Device Tree Source 3 + * 4 + * Copyright 2007 Wind River Systems Inc. 5 + * 6 + * Paul Gortmaker (see MAINTAINERS for contact information) 7 + * 8 + * This program is free software; you can redistribute it and/or modify it 9 + * under the terms of the GNU General Public License as published by the 10 + * Free Software Foundation; either version 2 of the License, or (at your 11 + * option) any later version. 12 + */ 13 + 14 + /{ 15 + soc8548@e0000000 { 16 + #address-cells = <1>; 17 + #size-cells = <1>; 18 + device_type = "soc"; 19 + ranges = <0x00000000 0xe0000000 0x00100000>; 20 + bus-frequency = <0>; 21 + compatible = "simple-bus"; 22 + 23 + ecm-law@0 { 24 + compatible = "fsl,ecm-law"; 25 + reg = <0x0 0x1000>; 26 + fsl,num-laws = <10>; 27 + }; 28 + 29 + ecm@1000 { 30 + compatible = "fsl,mpc8548-ecm", "fsl,ecm"; 31 + reg = <0x1000 0x1000>; 32 + interrupts = <17 2>; 33 + interrupt-parent = <&mpic>; 34 + }; 35 + 36 + memory-controller@2000 { 37 + compatible = "fsl,mpc8548-memory-controller"; 38 + reg = <0x2000 0x1000>; 39 + interrupt-parent = <&mpic>; 40 + interrupts = <0x12 0x2>; 41 + }; 42 + 43 + L2: l2-cache-controller@20000 { 44 + compatible = "fsl,mpc8548-l2-cache-controller"; 45 + reg = <0x20000 0x1000>; 46 + cache-line-size = <0x20>; // 32 bytes 47 + cache-size = <0x80000>; // L2, 512K 48 + interrupt-parent = <&mpic>; 49 + interrupts = <0x10 0x2>; 50 + }; 51 + 52 + i2c@3000 { 53 + #address-cells = <1>; 54 + #size-cells = <0>; 55 + cell-index = <0>; 56 + compatible = "fsl-i2c"; 57 + reg = <0x3000 0x100>; 58 + interrupts = <0x2b 0x2>; 59 + interrupt-parent = <&mpic>; 60 + dfsrr; 61 + }; 62 + 63 + i2c@3100 { 64 + #address-cells = <1>; 65 + #size-cells = <0>; 66 + cell-index = <1>; 67 + compatible = "fsl-i2c"; 68 + reg = <0x3100 0x100>; 69 + interrupts = <0x2b 0x2>; 70 + interrupt-parent = <&mpic>; 71 + dfsrr; 72 + }; 73 + 74 + dma@21300 { 75 + #address-cells = <1>; 76 + #size-cells = <1>; 77 + compatible = "fsl,mpc8548-dma", "fsl,eloplus-dma"; 78 + reg = <0x21300 0x4>; 79 + ranges = <0x0 0x21100 0x200>; 80 + cell-index = <0>; 81 + dma-channel@0 { 82 + compatible = "fsl,mpc8548-dma-channel", 83 + "fsl,eloplus-dma-channel"; 84 + reg = <0x0 0x80>; 85 + cell-index = <0>; 86 + interrupt-parent = <&mpic>; 87 + interrupts = <20 2>; 88 + }; 89 + dma-channel@80 { 90 + compatible = "fsl,mpc8548-dma-channel", 91 + "fsl,eloplus-dma-channel"; 92 + reg = <0x80 0x80>; 93 + cell-index = <1>; 94 + interrupt-parent = <&mpic>; 95 + interrupts = <21 2>; 96 + }; 97 + dma-channel@100 { 98 + compatible = "fsl,mpc8548-dma-channel", 99 + "fsl,eloplus-dma-channel"; 100 + reg = <0x100 0x80>; 101 + cell-index = <2>; 102 + interrupt-parent = <&mpic>; 103 + interrupts = <22 2>; 104 + }; 105 + dma-channel@180 { 106 + compatible = "fsl,mpc8548-dma-channel", 107 + "fsl,eloplus-dma-channel"; 108 + reg = <0x180 0x80>; 109 + cell-index = <3>; 110 + interrupt-parent = <&mpic>; 111 + interrupts = <23 2>; 112 + }; 113 + }; 114 + 115 + enet0: ethernet@24000 { 116 + #address-cells = <1>; 117 + #size-cells = <1>; 118 + cell-index = <0>; 119 + device_type = "network"; 120 + model = "eTSEC"; 121 + compatible = "gianfar"; 122 + reg = <0x24000 0x1000>; 123 + ranges = <0x0 0x24000 0x1000>; 124 + local-mac-address = [ 00 00 00 00 00 00 ]; 125 + interrupts = <0x1d 0x2 0x1e 0x2 0x22 0x2>; 126 + interrupt-parent = <&mpic>; 127 + tbi-handle = <&tbi0>; 128 + phy-handle = <&phy0>; 129 + 130 + mdio@520 { 131 + #address-cells = <1>; 132 + #size-cells = <0>; 133 + compatible = "fsl,gianfar-mdio"; 134 + reg = <0x520 0x20>; 135 + 136 + phy0: ethernet-phy@19 { 137 + interrupt-parent = <&mpic>; 138 + interrupts = <0x6 0x1>; 139 + reg = <0x19>; 140 + device_type = "ethernet-phy"; 141 + }; 142 + phy1: ethernet-phy@1a { 143 + interrupt-parent = <&mpic>; 144 + interrupts = <0x7 0x1>; 145 + reg = <0x1a>; 146 + device_type = "ethernet-phy"; 147 + }; 148 + tbi0: tbi-phy@11 { 149 + reg = <0x11>; 150 + device_type = "tbi-phy"; 151 + }; 152 + }; 153 + }; 154 + 155 + enet1: ethernet@25000 { 156 + #address-cells = <1>; 157 + #size-cells = <1>; 158 + cell-index = <1>; 159 + device_type = "network"; 160 + model = "eTSEC"; 161 + compatible = "gianfar"; 162 + reg = <0x25000 0x1000>; 163 + ranges = <0x0 0x25000 0x1000>; 164 + local-mac-address = [ 00 00 00 00 00 00 ]; 165 + interrupts = <0x23 0x2 0x24 0x2 0x28 0x2>; 166 + interrupt-parent = <&mpic>; 167 + tbi-handle = <&tbi1>; 168 + phy-handle = <&phy1>; 169 + 170 + mdio@520 { 171 + #address-cells = <1>; 172 + #size-cells = <0>; 173 + compatible = "fsl,gianfar-tbi"; 174 + reg = <0x520 0x20>; 175 + 176 + tbi1: tbi-phy@11 { 177 + reg = <0x11>; 178 + device_type = "tbi-phy"; 179 + }; 180 + }; 181 + }; 182 + 183 + serial0: serial@4500 { 184 + cell-index = <0>; 185 + device_type = "serial"; 186 + compatible = "fsl,ns16550", "ns16550"; 187 + reg = <0x4500 0x100>; // reg base, size 188 + clock-frequency = <0>; // should we fill in in uboot? 189 + interrupts = <0x2a 0x2>; 190 + interrupt-parent = <&mpic>; 191 + }; 192 + 193 + serial1: serial@4600 { 194 + cell-index = <1>; 195 + device_type = "serial"; 196 + compatible = "fsl,ns16550", "ns16550"; 197 + reg = <0x4600 0x100>; // reg base, size 198 + clock-frequency = <0>; // should we fill in in uboot? 199 + interrupts = <0x2a 0x2>; 200 + interrupt-parent = <&mpic>; 201 + }; 202 + 203 + global-utilities@e0000 { //global utilities reg 204 + compatible = "fsl,mpc8548-guts"; 205 + reg = <0xe0000 0x1000>; 206 + fsl,has-rstcr; 207 + }; 208 + 209 + crypto@30000 { 210 + compatible = "fsl,sec2.1", "fsl,sec2.0"; 211 + reg = <0x30000 0x10000>; 212 + interrupts = <45 2>; 213 + interrupt-parent = <&mpic>; 214 + fsl,num-channels = <4>; 215 + fsl,channel-fifo-len = <24>; 216 + fsl,exec-units-mask = <0xfe>; 217 + fsl,descriptor-types-mask = <0x12b0ebf>; 218 + }; 219 + 220 + mpic: pic@40000 { 221 + interrupt-controller; 222 + #address-cells = <0>; 223 + #interrupt-cells = <2>; 224 + reg = <0x40000 0x40000>; 225 + compatible = "chrp,open-pic"; 226 + device_type = "open-pic"; 227 + }; 228 + }; 229 + 230 + pci0: pci@e0008000 { 231 + interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 232 + interrupt-map = < 233 + /* IDSEL 0x01 (PCI-X slot) @66MHz */ 234 + 0x0800 0x0 0x0 0x1 &mpic 0x2 0x1 235 + 0x0800 0x0 0x0 0x2 &mpic 0x3 0x1 236 + 0x0800 0x0 0x0 0x3 &mpic 0x4 0x1 237 + 0x0800 0x0 0x0 0x4 &mpic 0x1 0x1 238 + 239 + /* IDSEL 0x11 (PCI, 3.3V 32bit) @33MHz */ 240 + 0x8800 0x0 0x0 0x1 &mpic 0x2 0x1 241 + 0x8800 0x0 0x0 0x2 &mpic 0x3 0x1 242 + 0x8800 0x0 0x0 0x3 &mpic 0x4 0x1 243 + 0x8800 0x0 0x0 0x4 &mpic 0x1 0x1>; 244 + 245 + interrupt-parent = <&mpic>; 246 + interrupts = <0x18 0x2>; 247 + bus-range = <0 0>; 248 + ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x10000000 249 + 0x01000000 0x0 0x00000000 0xe2000000 0x0 0x00800000>; 250 + clock-frequency = <66000000>; 251 + #interrupt-cells = <1>; 252 + #size-cells = <2>; 253 + #address-cells = <3>; 254 + reg = <0xe0008000 0x1000>; 255 + compatible = "fsl,mpc8540-pcix", "fsl,mpc8540-pci"; 256 + device_type = "pci"; 257 + }; 258 + 259 + pci1: pcie@e000a000 { 260 + interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 261 + interrupt-map = < 262 + 263 + /* IDSEL 0x0 (PEX) */ 264 + 0x0000 0x0 0x0 0x1 &mpic 0x0 0x1 265 + 0x0000 0x0 0x0 0x2 &mpic 0x1 0x1 266 + 0x0000 0x0 0x0 0x3 &mpic 0x2 0x1 267 + 0x0000 0x0 0x0 0x4 &mpic 0x3 0x1>; 268 + 269 + interrupt-parent = <&mpic>; 270 + interrupts = <0x1a 0x2>; 271 + bus-range = <0x0 0xff>; 272 + ranges = <0x02000000 0x0 0xa0000000 0xa0000000 0x0 0x10000000 273 + 0x01000000 0x0 0x00000000 0xe2800000 0x0 0x08000000>; 274 + clock-frequency = <33000000>; 275 + #interrupt-cells = <1>; 276 + #size-cells = <2>; 277 + #address-cells = <3>; 278 + reg = <0xe000a000 0x1000>; 279 + compatible = "fsl,mpc8548-pcie"; 280 + device_type = "pci"; 281 + pcie@0 { 282 + reg = <0x0 0x0 0x0 0x0 0x0>; 283 + #size-cells = <2>; 284 + #address-cells = <3>; 285 + device_type = "pci"; 286 + ranges = <0x02000000 0x0 0xa0000000 287 + 0x02000000 0x0 0xa0000000 288 + 0x0 0x10000000 289 + 290 + 0x01000000 0x0 0x00000000 291 + 0x01000000 0x0 0x00000000 292 + 0x0 0x00800000>; 293 + }; 294 + }; 295 + };
+52
arch/powerpc/boot/dts/sbc8548-pre.dtsi
··· 1 + /* 2 + * SBC8548 Device Tree Source 3 + * 4 + * Copyright 2007 Wind River Systems Inc. 5 + * 6 + * Paul Gortmaker (see MAINTAINERS for contact information) 7 + * 8 + * This program is free software; you can redistribute it and/or modify it 9 + * under the terms of the GNU General Public License as published by the 10 + * Free Software Foundation; either version 2 of the License, or (at your 11 + * option) any later version. 12 + */ 13 + 14 + /{ 15 + model = "SBC8548"; 16 + compatible = "SBC8548"; 17 + #address-cells = <1>; 18 + #size-cells = <1>; 19 + 20 + aliases { 21 + ethernet0 = &enet0; 22 + ethernet1 = &enet1; 23 + serial0 = &serial0; 24 + serial1 = &serial1; 25 + pci0 = &pci0; 26 + pci1 = &pci1; 27 + }; 28 + 29 + cpus { 30 + #address-cells = <1>; 31 + #size-cells = <0>; 32 + 33 + PowerPC,8548@0 { 34 + device_type = "cpu"; 35 + reg = <0>; 36 + d-cache-line-size = <0x20>; // 32 bytes 37 + i-cache-line-size = <0x20>; // 32 bytes 38 + d-cache-size = <0x8000>; // L1, 32K 39 + i-cache-size = <0x8000>; // L1, 32K 40 + timebase-frequency = <0>; // From uboot 41 + bus-frequency = <0>; 42 + clock-frequency = <0>; 43 + next-level-cache = <&L2>; 44 + }; 45 + }; 46 + 47 + memory { 48 + device_type = "memory"; 49 + reg = <0x00000000 0x10000000>; 50 + }; 51 + 52 + };
+20 -338
arch/powerpc/boot/dts/sbc8548.dts
··· 14 14 15 15 /dts-v1/; 16 16 17 - / { 18 - model = "SBC8548"; 19 - compatible = "SBC8548"; 20 - #address-cells = <1>; 21 - #size-cells = <1>; 17 + /include/ "sbc8548-pre.dtsi" 22 18 23 - aliases { 24 - ethernet0 = &enet0; 25 - ethernet1 = &enet1; 26 - serial0 = &serial0; 27 - serial1 = &serial1; 28 - pci0 = &pci0; 29 - pci1 = &pci1; 30 - }; 31 - 32 - cpus { 33 - #address-cells = <1>; 34 - #size-cells = <0>; 35 - 36 - PowerPC,8548@0 { 37 - device_type = "cpu"; 38 - reg = <0>; 39 - d-cache-line-size = <0x20>; // 32 bytes 40 - i-cache-line-size = <0x20>; // 32 bytes 41 - d-cache-size = <0x8000>; // L1, 32K 42 - i-cache-size = <0x8000>; // L1, 32K 43 - timebase-frequency = <0>; // From uboot 44 - bus-frequency = <0>; 45 - clock-frequency = <0>; 46 - next-level-cache = <&L2>; 47 - }; 48 - }; 49 - 50 - memory { 51 - device_type = "memory"; 52 - reg = <0x00000000 0x10000000>; 53 - }; 54 - 19 + /{ 55 20 localbus@e0000000 { 56 21 #address-cells = <2>; 57 22 #size-cells = <1>; ··· 28 63 0x3 0x0 0xf0000000 0x04000000 /*64MB SDRAM*/ 29 64 0x4 0x0 0xf4000000 0x04000000 /*64MB SDRAM*/ 30 65 0x5 0x0 0xf8000000 0x00b10000 /* EPLD */ 31 - 0x6 0x0 0xfb800000 0x04000000>; /*64MB Flash*/ 66 + 0x6 0x0 0xec000000 0x04000000>; /*64MB Flash*/ 32 67 33 68 34 69 flash@0,0 { 35 70 #address-cells = <1>; 36 71 #size-cells = <1>; 37 - compatible = "cfi-flash"; 72 + compatible = "intel,JS28F640", "cfi-flash"; 38 73 reg = <0x0 0x0 0x800000>; 39 74 bank-width = <1>; 40 75 device-width = <1>; 41 76 partition@0x0 { 42 77 label = "space"; 43 - reg = <0x00000000 0x00100000>; 78 + /* FF800000 -> FFF9FFFF */ 79 + reg = <0x00000000 0x007a0000>; 44 80 }; 45 - partition@0x100000 { 81 + partition@0x7a0000 { 46 82 label = "bootloader"; 47 - reg = <0x00100000 0x00700000>; 83 + /* FFFA0000 -> FFFFFFFF */ 84 + reg = <0x007a0000 0x00060000>; 48 85 read-only; 49 86 }; 50 87 }; ··· 89 122 #address-cells = <1>; 90 123 #size-cells = <1>; 91 124 reg = <0x6 0x0 0x04000000>; 92 - compatible = "cfi-flash"; 125 + compatible = "intel,JS28F128", "cfi-flash"; 93 126 bank-width = <4>; 94 127 device-width = <1>; 95 128 partition@0x0 { 96 - label = "bootloader"; 97 - reg = <0x00000000 0x00100000>; 98 - read-only; 99 - }; 100 - partition@0x00100000 { 101 - label = "file-system"; 102 - reg = <0x00100000 0x01f00000>; 103 - }; 104 - partition@0x02000000 { 105 - label = "boot-config"; 106 - reg = <0x02000000 0x00100000>; 107 - }; 108 - partition@0x02100000 { 109 129 label = "space"; 110 - reg = <0x02100000 0x01f00000>; 130 + /* EC000000 -> EFEFFFFF */ 131 + reg = <0x00000000 0x03f00000>; 132 + }; 133 + partition@0x03f00000 { 134 + label = "bootloader"; 135 + /* EFF00000 -> EFFFFFFF */ 136 + reg = <0x03f00000 0x00100000>; 137 + read-only; 111 138 }; 112 139 }; 113 140 }; 114 - 115 - soc8548@e0000000 { 116 - #address-cells = <1>; 117 - #size-cells = <1>; 118 - device_type = "soc"; 119 - ranges = <0x00000000 0xe0000000 0x00100000>; 120 - bus-frequency = <0>; 121 - compatible = "simple-bus"; 122 - 123 - ecm-law@0 { 124 - compatible = "fsl,ecm-law"; 125 - reg = <0x0 0x1000>; 126 - fsl,num-laws = <10>; 127 - }; 128 - 129 - ecm@1000 { 130 - compatible = "fsl,mpc8548-ecm", "fsl,ecm"; 131 - reg = <0x1000 0x1000>; 132 - interrupts = <17 2>; 133 - interrupt-parent = <&mpic>; 134 - }; 135 - 136 - memory-controller@2000 { 137 - compatible = "fsl,mpc8548-memory-controller"; 138 - reg = <0x2000 0x1000>; 139 - interrupt-parent = <&mpic>; 140 - interrupts = <0x12 0x2>; 141 - }; 142 - 143 - L2: l2-cache-controller@20000 { 144 - compatible = "fsl,mpc8548-l2-cache-controller"; 145 - reg = <0x20000 0x1000>; 146 - cache-line-size = <0x20>; // 32 bytes 147 - cache-size = <0x80000>; // L2, 512K 148 - interrupt-parent = <&mpic>; 149 - interrupts = <0x10 0x2>; 150 - }; 151 - 152 - i2c@3000 { 153 - #address-cells = <1>; 154 - #size-cells = <0>; 155 - cell-index = <0>; 156 - compatible = "fsl-i2c"; 157 - reg = <0x3000 0x100>; 158 - interrupts = <0x2b 0x2>; 159 - interrupt-parent = <&mpic>; 160 - dfsrr; 161 - }; 162 - 163 - i2c@3100 { 164 - #address-cells = <1>; 165 - #size-cells = <0>; 166 - cell-index = <1>; 167 - compatible = "fsl-i2c"; 168 - reg = <0x3100 0x100>; 169 - interrupts = <0x2b 0x2>; 170 - interrupt-parent = <&mpic>; 171 - dfsrr; 172 - }; 173 - 174 - dma@21300 { 175 - #address-cells = <1>; 176 - #size-cells = <1>; 177 - compatible = "fsl,mpc8548-dma", "fsl,eloplus-dma"; 178 - reg = <0x21300 0x4>; 179 - ranges = <0x0 0x21100 0x200>; 180 - cell-index = <0>; 181 - dma-channel@0 { 182 - compatible = "fsl,mpc8548-dma-channel", 183 - "fsl,eloplus-dma-channel"; 184 - reg = <0x0 0x80>; 185 - cell-index = <0>; 186 - interrupt-parent = <&mpic>; 187 - interrupts = <20 2>; 188 - }; 189 - dma-channel@80 { 190 - compatible = "fsl,mpc8548-dma-channel", 191 - "fsl,eloplus-dma-channel"; 192 - reg = <0x80 0x80>; 193 - cell-index = <1>; 194 - interrupt-parent = <&mpic>; 195 - interrupts = <21 2>; 196 - }; 197 - dma-channel@100 { 198 - compatible = "fsl,mpc8548-dma-channel", 199 - "fsl,eloplus-dma-channel"; 200 - reg = <0x100 0x80>; 201 - cell-index = <2>; 202 - interrupt-parent = <&mpic>; 203 - interrupts = <22 2>; 204 - }; 205 - dma-channel@180 { 206 - compatible = "fsl,mpc8548-dma-channel", 207 - "fsl,eloplus-dma-channel"; 208 - reg = <0x180 0x80>; 209 - cell-index = <3>; 210 - interrupt-parent = <&mpic>; 211 - interrupts = <23 2>; 212 - }; 213 - }; 214 - 215 - enet0: ethernet@24000 { 216 - #address-cells = <1>; 217 - #size-cells = <1>; 218 - cell-index = <0>; 219 - device_type = "network"; 220 - model = "eTSEC"; 221 - compatible = "gianfar"; 222 - reg = <0x24000 0x1000>; 223 - ranges = <0x0 0x24000 0x1000>; 224 - local-mac-address = [ 00 00 00 00 00 00 ]; 225 - interrupts = <0x1d 0x2 0x1e 0x2 0x22 0x2>; 226 - interrupt-parent = <&mpic>; 227 - tbi-handle = <&tbi0>; 228 - phy-handle = <&phy0>; 229 - 230 - mdio@520 { 231 - #address-cells = <1>; 232 - #size-cells = <0>; 233 - compatible = "fsl,gianfar-mdio"; 234 - reg = <0x520 0x20>; 235 - 236 - phy0: ethernet-phy@19 { 237 - interrupt-parent = <&mpic>; 238 - interrupts = <0x6 0x1>; 239 - reg = <0x19>; 240 - device_type = "ethernet-phy"; 241 - }; 242 - phy1: ethernet-phy@1a { 243 - interrupt-parent = <&mpic>; 244 - interrupts = <0x7 0x1>; 245 - reg = <0x1a>; 246 - device_type = "ethernet-phy"; 247 - }; 248 - tbi0: tbi-phy@11 { 249 - reg = <0x11>; 250 - device_type = "tbi-phy"; 251 - }; 252 - }; 253 - }; 254 - 255 - enet1: ethernet@25000 { 256 - #address-cells = <1>; 257 - #size-cells = <1>; 258 - cell-index = <1>; 259 - device_type = "network"; 260 - model = "eTSEC"; 261 - compatible = "gianfar"; 262 - reg = <0x25000 0x1000>; 263 - ranges = <0x0 0x25000 0x1000>; 264 - local-mac-address = [ 00 00 00 00 00 00 ]; 265 - interrupts = <0x23 0x2 0x24 0x2 0x28 0x2>; 266 - interrupt-parent = <&mpic>; 267 - tbi-handle = <&tbi1>; 268 - phy-handle = <&phy1>; 269 - 270 - mdio@520 { 271 - #address-cells = <1>; 272 - #size-cells = <0>; 273 - compatible = "fsl,gianfar-tbi"; 274 - reg = <0x520 0x20>; 275 - 276 - tbi1: tbi-phy@11 { 277 - reg = <0x11>; 278 - device_type = "tbi-phy"; 279 - }; 280 - }; 281 - }; 282 - 283 - serial0: serial@4500 { 284 - cell-index = <0>; 285 - device_type = "serial"; 286 - compatible = "fsl,ns16550", "ns16550"; 287 - reg = <0x4500 0x100>; // reg base, size 288 - clock-frequency = <0>; // should we fill in in uboot? 289 - interrupts = <0x2a 0x2>; 290 - interrupt-parent = <&mpic>; 291 - }; 292 - 293 - serial1: serial@4600 { 294 - cell-index = <1>; 295 - device_type = "serial"; 296 - compatible = "fsl,ns16550", "ns16550"; 297 - reg = <0x4600 0x100>; // reg base, size 298 - clock-frequency = <0>; // should we fill in in uboot? 299 - interrupts = <0x2a 0x2>; 300 - interrupt-parent = <&mpic>; 301 - }; 302 - 303 - global-utilities@e0000 { //global utilities reg 304 - compatible = "fsl,mpc8548-guts"; 305 - reg = <0xe0000 0x1000>; 306 - fsl,has-rstcr; 307 - }; 308 - 309 - crypto@30000 { 310 - compatible = "fsl,sec2.1", "fsl,sec2.0"; 311 - reg = <0x30000 0x10000>; 312 - interrupts = <45 2>; 313 - interrupt-parent = <&mpic>; 314 - fsl,num-channels = <4>; 315 - fsl,channel-fifo-len = <24>; 316 - fsl,exec-units-mask = <0xfe>; 317 - fsl,descriptor-types-mask = <0x12b0ebf>; 318 - }; 319 - 320 - mpic: pic@40000 { 321 - interrupt-controller; 322 - #address-cells = <0>; 323 - #interrupt-cells = <2>; 324 - reg = <0x40000 0x40000>; 325 - compatible = "chrp,open-pic"; 326 - device_type = "open-pic"; 327 - }; 328 - }; 329 - 330 - pci0: pci@e0008000 { 331 - interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 332 - interrupt-map = < 333 - /* IDSEL 0x01 (PCI-X slot) @66MHz */ 334 - 0x0800 0x0 0x0 0x1 &mpic 0x2 0x1 335 - 0x0800 0x0 0x0 0x2 &mpic 0x3 0x1 336 - 0x0800 0x0 0x0 0x3 &mpic 0x4 0x1 337 - 0x0800 0x0 0x0 0x4 &mpic 0x1 0x1 338 - 339 - /* IDSEL 0x11 (PCI, 3.3V 32bit) @33MHz */ 340 - 0x8800 0x0 0x0 0x1 &mpic 0x2 0x1 341 - 0x8800 0x0 0x0 0x2 &mpic 0x3 0x1 342 - 0x8800 0x0 0x0 0x3 &mpic 0x4 0x1 343 - 0x8800 0x0 0x0 0x4 &mpic 0x1 0x1>; 344 - 345 - interrupt-parent = <&mpic>; 346 - interrupts = <0x18 0x2>; 347 - bus-range = <0 0>; 348 - ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x10000000 349 - 0x01000000 0x0 0x00000000 0xe2000000 0x0 0x00800000>; 350 - clock-frequency = <66000000>; 351 - #interrupt-cells = <1>; 352 - #size-cells = <2>; 353 - #address-cells = <3>; 354 - reg = <0xe0008000 0x1000>; 355 - compatible = "fsl,mpc8540-pcix", "fsl,mpc8540-pci"; 356 - device_type = "pci"; 357 - }; 358 - 359 - pci1: pcie@e000a000 { 360 - interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 361 - interrupt-map = < 362 - 363 - /* IDSEL 0x0 (PEX) */ 364 - 0x0000 0x0 0x0 0x1 &mpic 0x0 0x1 365 - 0x0000 0x0 0x0 0x2 &mpic 0x1 0x1 366 - 0x0000 0x0 0x0 0x3 &mpic 0x2 0x1 367 - 0x0000 0x0 0x0 0x4 &mpic 0x3 0x1>; 368 - 369 - interrupt-parent = <&mpic>; 370 - interrupts = <0x1a 0x2>; 371 - bus-range = <0x0 0xff>; 372 - ranges = <0x02000000 0x0 0xa0000000 0xa0000000 0x0 0x10000000 373 - 0x01000000 0x0 0x00000000 0xe2800000 0x0 0x08000000>; 374 - clock-frequency = <33000000>; 375 - #interrupt-cells = <1>; 376 - #size-cells = <2>; 377 - #address-cells = <3>; 378 - reg = <0xe000a000 0x1000>; 379 - compatible = "fsl,mpc8548-pcie"; 380 - device_type = "pci"; 381 - pcie@0 { 382 - reg = <0x0 0x0 0x0 0x0 0x0>; 383 - #size-cells = <2>; 384 - #address-cells = <3>; 385 - device_type = "pci"; 386 - ranges = <0x02000000 0x0 0xa0000000 387 - 0x02000000 0x0 0xa0000000 388 - 0x0 0x10000000 389 - 390 - 0x01000000 0x0 0x00000000 391 - 0x01000000 0x0 0x00000000 392 - 0x0 0x00800000>; 393 - }; 394 - }; 395 141 }; 142 + 143 + /include/ "sbc8548-post.dtsi"
+2 -4
arch/powerpc/configs/83xx/kmeter1_defconfig
··· 2 2 # CONFIG_SWAP is not set 3 3 CONFIG_SYSVIPC=y 4 4 CONFIG_POSIX_MQUEUE=y 5 + CONFIG_NO_HZ=y 6 + CONFIG_HIGH_RES_TIMERS=y 5 7 CONFIG_LOG_BUF_SHIFT=14 6 8 CONFIG_EXPERT=y 7 9 CONFIG_SLAB=y ··· 18 16 # CONFIG_PPC_PMAC is not set 19 17 CONFIG_PPC_83xx=y 20 18 CONFIG_KMETER1=y 21 - CONFIG_NO_HZ=y 22 - CONFIG_HIGH_RES_TIMERS=y 23 19 CONFIG_PREEMPT=y 24 20 # CONFIG_SECCOMP is not set 25 21 CONFIG_NET=y ··· 45 45 CONFIG_MTD_PHRAM=y 46 46 CONFIG_MTD_UBI=y 47 47 CONFIG_MTD_UBI_GLUEBI=y 48 - CONFIG_MTD_UBI_DEBUG=y 49 48 CONFIG_PROC_DEVICETREE=y 50 49 CONFIG_NETDEVICES=y 51 50 CONFIG_DUMMY=y ··· 75 76 CONFIG_JFFS2_FS=y 76 77 CONFIG_UBIFS_FS=y 77 78 CONFIG_NFS_FS=y 78 - CONFIG_NFS_V3=y 79 79 CONFIG_ROOT_NFS=y
+65
arch/powerpc/configs/85xx/ppa8548_defconfig
··· 1 + CONFIG_PPC_85xx=y 2 + CONFIG_PPA8548=y 3 + CONFIG_DTC=y 4 + CONFIG_DEFAULT_UIMAGE=y 5 + CONFIG_IKCONFIG=y 6 + CONFIG_IKCONFIG_PROC=y 7 + # CONFIG_PCI is not set 8 + # CONFIG_USB_SUPPORT is not set 9 + CONFIG_ADVANCED_OPTIONS=y 10 + CONFIG_LOWMEM_SIZE_BOOL=y 11 + CONFIG_LOWMEM_SIZE=0x40000000 12 + CONFIG_LOWMEM_CAM_NUM_BOOL=y 13 + CONFIG_LOWMEM_CAM_NUM=4 14 + CONFIG_PAGE_OFFSET_BOOL=y 15 + CONFIG_PAGE_OFFSET=0xb0000000 16 + CONFIG_KERNEL_START_BOOL=y 17 + CONFIG_KERNEL_START=0xb0000000 18 + # CONFIG_PHYSICAL_START_BOOL is not set 19 + CONFIG_PHYSICAL_START=0x00000000 20 + CONFIG_PHYSICAL_ALIGN=0x04000000 21 + CONFIG_TASK_SIZE_BOOL=y 22 + CONFIG_TASK_SIZE=0xb0000000 23 + 24 + CONFIG_FSL_LBC=y 25 + CONFIG_FSL_DMA=y 26 + CONFIG_FSL_RIO=y 27 + 28 + CONFIG_RAPIDIO=y 29 + CONFIG_RAPIDIO_DMA_ENGINE=y 30 + CONFIG_RAPIDIO_TSI57X=y 31 + CONFIG_RAPIDIO_TSI568=y 32 + CONFIG_RAPIDIO_CPS_XX=y 33 + CONFIG_RAPIDIO_CPS_GEN2=y 34 + CONFIG_SERIAL_8250=y 35 + CONFIG_SERIAL_8250_CONSOLE=y 36 + CONFIG_PROC_DEVICETREE=y 37 + 38 + CONFIG_MTD=y 39 + CONFIG_MTD_BLKDEVS=y 40 + CONFIG_MTD_BLOCK=y 41 + CONFIG_MTD_CFI=y 42 + CONFIG_MTD_CFI_AMDSTD=y 43 + CONFIG_MTD_CFI_INTELEXT=y 44 + CONFIG_MTD_CHAR=y 45 + CONFIG_MTD_CMDLINE_PARTS=y 46 + CONFIG_MTD_CONCAT=y 47 + CONFIG_MTD_PARTITIONS=y 48 + CONFIG_MTD_PHYSMAP_OF=y 49 + 50 + CONFIG_I2C=y 51 + CONFIG_I2C_MPC=y 52 + CONFIG_I2C_CHARDEV 53 + CONFIG_RTC_CLASS=y 54 + CONFIG_RTC_HCTOSYS=y 55 + CONFIG_RTC_DRV_ISL1208=y 56 + 57 + CONFIG_NET=y 58 + CONFIG_INET=y 59 + CONFIG_IP_PNP=y 60 + CONFIG_NETDEVICES=y 61 + CONFIG_MII=y 62 + CONFIG_GIANFAR=y 63 + CONFIG_MARVELL_PHY=y 64 + CONFIG_NFS_FS=y 65 + CONFIG_ROOT_NFS=y
+19
arch/powerpc/configs/85xx/sbc8548_defconfig
··· 55 55 # CONFIG_RCU_CPU_STALL_DETECTOR is not set 56 56 CONFIG_SYSCTL_SYSCALL_CHECK=y 57 57 # CONFIG_CRYPTO_ANSI_CPRNG is not set 58 + CONFIG_MTD=y 59 + CONFIG_MTD_OF_PARTS=y 60 + CONFIG_MTD_CHAR=y 61 + CONFIG_MTD_BLKDEVS=y 62 + CONFIG_MTD_BLOCK=y 63 + CONFIG_MTD_CFI=y 64 + CONFIG_MTD_GEN_PROBE=y 65 + CONFIG_MTD_CFI_ADV_OPTIONS=y 66 + CONFIG_MTD_CFI_NOSWAP=y 67 + CONFIG_MTD_CFI_GEOMETRY=y 68 + CONFIG_MTD_MAP_BANK_WIDTH_1=y 69 + CONFIG_MTD_MAP_BANK_WIDTH_2=y 70 + CONFIG_MTD_MAP_BANK_WIDTH_4=y 71 + CONFIG_MTD_CFI_I1=y 72 + CONFIG_MTD_CFI_I2=y 73 + CONFIG_MTD_CFI_I4=y 74 + CONFIG_MTD_CFI_INTELEXT=y 75 + CONFIG_MTD_CFI_UTIL=y 76 + CONFIG_MTD_PHYSMAP_OF=y
-5
arch/powerpc/platforms/512x/mpc512x_shared.c
··· 68 68 bool in_use; 69 69 }; 70 70 71 - void mpc512x_set_monitor_port(enum fsl_diu_monitor_port port) 72 - { 73 - } 74 - 75 71 #define DIU_DIV_MASK 0x000000ff 76 72 void mpc512x_set_pixel_clock(unsigned int pixclock) 77 73 { ··· 299 303 } 300 304 } 301 305 302 - diu_ops.set_monitor_port = mpc512x_set_monitor_port; 303 306 diu_ops.set_pixel_clock = mpc512x_set_pixel_clock; 304 307 diu_ops.valid_monitor_port = mpc512x_valid_monitor_port; 305 308 diu_ops.release_bootmem = mpc512x_release_bootmem;
+3 -3
arch/powerpc/platforms/82xx/km82xx.c
··· 18 18 #include <linux/fsl_devices.h> 19 19 #include <linux/of_platform.h> 20 20 21 - #include <asm/io.h> 21 + #include <linux/io.h> 22 22 #include <asm/cpm2.h> 23 23 #include <asm/udbg.h> 24 24 #include <asm/machdep.h> 25 - #include <asm/time.h> 25 + #include <linux/time.h> 26 26 #include <asm/mpc8260.h> 27 27 #include <asm/prom.h> 28 28 ··· 36 36 struct device_node *np = of_find_compatible_node(NULL, NULL, 37 37 "fsl,pq2-pic"); 38 38 if (!np) { 39 - printk(KERN_ERR "PIC init: can not find cpm-pic node\n"); 39 + pr_err("PIC init: can not find cpm-pic node\n"); 40 40 return; 41 41 } 42 42
+83 -78
arch/powerpc/platforms/83xx/km83xx.c
··· 28 28 #include <linux/of_device.h> 29 29 30 30 #include <linux/atomic.h> 31 - #include <asm/time.h> 32 - #include <asm/io.h> 31 + #include <linux/time.h> 32 + #include <linux/io.h> 33 33 #include <asm/machdep.h> 34 34 #include <asm/ipic.h> 35 35 #include <asm/irq.h> ··· 43 43 #include "mpc83xx.h" 44 44 45 45 #define SVR_REV(svr) (((svr) >> 0) & 0xFFFF) /* Revision field */ 46 + 47 + static void quirk_mpc8360e_qe_enet10(void) 48 + { 49 + /* 50 + * handle mpc8360E Erratum QE_ENET10: 51 + * RGMII AC values do not meet the specification 52 + */ 53 + uint svid = mfspr(SPRN_SVR); 54 + struct device_node *np_par; 55 + struct resource res; 56 + void __iomem *base; 57 + int ret; 58 + 59 + np_par = of_find_node_by_name(NULL, "par_io"); 60 + if (np_par == NULL) { 61 + pr_warn("%s couldn;t find par_io node\n", __func__); 62 + return; 63 + } 64 + /* Map Parallel I/O ports registers */ 65 + ret = of_address_to_resource(np_par, 0, &res); 66 + if (ret) { 67 + pr_warn("%s couldn;t map par_io registers\n", __func__); 68 + return; 69 + } 70 + 71 + base = ioremap(res.start, res.end - res.start + 1); 72 + 73 + /* 74 + * set output delay adjustments to default values according 75 + * table 5 in Errata Rev. 5, 9/2011: 76 + * 77 + * write 0b01 to UCC1 bits 18:19 78 + * write 0b01 to UCC2 option 1 bits 4:5 79 + * write 0b01 to UCC2 option 2 bits 16:17 80 + */ 81 + clrsetbits_be32((base + 0xa8), 0x0c00f000, 0x04005000); 82 + 83 + /* 84 + * set output delay adjustments to default values according 85 + * table 3-13 in Reference Manual Rev.3 05/2010: 86 + * 87 + * write 0b01 to UCC2 option 2 bits 16:17 88 + * write 0b0101 to UCC1 bits 20:23 89 + * write 0b0101 to UCC2 option 1 bits 24:27 90 + */ 91 + clrsetbits_be32((base + 0xac), 0x0000cff0, 0x00004550); 92 + 93 + if (SVR_REV(svid) == 0x0021) { 94 + /* 95 + * UCC2 option 1: write 0b1010 to bits 24:27 96 + * at address IMMRBAR+0x14AC 97 + */ 98 + clrsetbits_be32((base + 0xac), 0x000000f0, 0x000000a0); 99 + } else if (SVR_REV(svid) == 0x0020) { 100 + /* 101 + * UCC1: write 0b11 to bits 18:19 102 + * at address IMMRBAR+0x14A8 103 + */ 104 + setbits32((base + 0xa8), 0x00003000); 105 + 106 + /* 107 + * UCC2 option 1: write 0b11 to bits 4:5 108 + * at address IMMRBAR+0x14A8 109 + */ 110 + setbits32((base + 0xa8), 0x0c000000); 111 + 112 + /* 113 + * UCC2 option 2: write 0b11 to bits 16:17 114 + * at address IMMRBAR+0x14AC 115 + */ 116 + setbits32((base + 0xac), 0x0000c000); 117 + } 118 + iounmap(base); 119 + of_node_put(np_par); 120 + } 121 + 46 122 /* ************************************************************************ 47 123 * 48 124 * Setup the architecture ··· 148 72 149 73 for_each_node_by_name(np, "ucc") 150 74 par_io_of_config(np); 151 - } 152 75 153 - np = of_find_compatible_node(NULL, "network", "ucc_geth"); 154 - if (np != NULL) { 155 - /* 156 - * handle mpc8360E Erratum QE_ENET10: 157 - * RGMII AC values do not meet the specification 158 - */ 159 - uint svid = mfspr(SPRN_SVR); 160 - struct device_node *np_par; 161 - struct resource res; 162 - void __iomem *base; 163 - int ret; 164 - 165 - np_par = of_find_node_by_name(NULL, "par_io"); 166 - if (np_par == NULL) { 167 - printk(KERN_WARNING "%s couldn;t find par_io node\n", 168 - __func__); 169 - return; 76 + /* Only apply this quirk when par_io is available */ 77 + np = of_find_compatible_node(NULL, "network", "ucc_geth"); 78 + if (np != NULL) { 79 + quirk_mpc8360e_qe_enet10(); 80 + of_node_put(np); 170 81 } 171 - /* Map Parallel I/O ports registers */ 172 - ret = of_address_to_resource(np_par, 0, &res); 173 - if (ret) { 174 - printk(KERN_WARNING "%s couldn;t map par_io registers\n", 175 - __func__); 176 - return; 177 - } 178 - 179 - base = ioremap(res.start, res.end - res.start + 1); 180 - 181 - /* 182 - * set output delay adjustments to default values according 183 - * table 5 in Errata Rev. 5, 9/2011: 184 - * 185 - * write 0b01 to UCC1 bits 18:19 186 - * write 0b01 to UCC2 option 1 bits 4:5 187 - * write 0b01 to UCC2 option 2 bits 16:17 188 - */ 189 - clrsetbits_be32((base + 0xa8), 0x0c00f000, 0x04005000); 190 - 191 - /* 192 - * set output delay adjustments to default values according 193 - * table 3-13 in Reference Manual Rev.3 05/2010: 194 - * 195 - * write 0b01 to UCC2 option 2 bits 16:17 196 - * write 0b0101 to UCC1 bits 20:23 197 - * write 0b0101 to UCC2 option 1 bits 24:27 198 - */ 199 - clrsetbits_be32((base + 0xac), 0x0000cff0, 0x00004550); 200 - 201 - if (SVR_REV(svid) == 0x0021) { 202 - /* 203 - * UCC2 option 1: write 0b1010 to bits 24:27 204 - * at address IMMRBAR+0x14AC 205 - */ 206 - clrsetbits_be32((base + 0xac), 0x000000f0, 0x000000a0); 207 - } else if (SVR_REV(svid) == 0x0020) { 208 - /* 209 - * UCC1: write 0b11 to bits 18:19 210 - * at address IMMRBAR+0x14A8 211 - */ 212 - setbits32((base + 0xa8), 0x00003000); 213 - 214 - /* 215 - * UCC2 option 1: write 0b11 to bits 4:5 216 - * at address IMMRBAR+0x14A8 217 - */ 218 - setbits32((base + 0xa8), 0x0c000000); 219 - 220 - /* 221 - * UCC2 option 2: write 0b11 to bits 16:17 222 - * at address IMMRBAR+0x14AC 223 - */ 224 - setbits32((base + 0xac), 0x0000c000); 225 - } 226 - iounmap(base); 227 - of_node_put(np_par); 228 - of_node_put(np); 229 82 } 230 83 #endif /* CONFIG_QUICC_ENGINE */ 231 84 }
+7
arch/powerpc/platforms/85xx/Kconfig
··· 191 191 help 192 192 This option enables support for the Wind River SBC8548 board 193 193 194 + config PPA8548 195 + bool "Prodrive PPA8548" 196 + help 197 + This option enables support for the Prodrive PPA8548 board. 198 + select DEFAULT_UIMAGE 199 + select HAS_RAPIDIO 200 + 194 201 config GE_IMP3A 195 202 bool "GE Intelligent Platforms IMP3A" 196 203 select DEFAULT_UIMAGE
+1
arch/powerpc/platforms/85xx/Makefile
··· 25 25 obj-$(CONFIG_STX_GP3) += stx_gp3.o 26 26 obj-$(CONFIG_TQM85xx) += tqm85xx.o 27 27 obj-$(CONFIG_SBC8548) += sbc8548.o 28 + obj-$(CONFIG_PPA8548) += ppa8548.o 28 29 obj-$(CONFIG_SOCRATES) += socrates.o socrates_fpga_pic.o 29 30 obj-$(CONFIG_KSI8560) += ksi8560.o 30 31 obj-$(CONFIG_XES_MPC85xx) += xes_mpc85xx.o
+1 -3
arch/powerpc/platforms/85xx/mpc85xx_mds.c
··· 206 206 setbits8(&bcsr_regs[7], BCSR7_UCC12_GETHnRST); 207 207 clrbits8(&bcsr_regs[8], BCSR8_UEM_MARVELL_RST); 208 208 209 - for (np = NULL; (np = of_find_compatible_node(np, 210 - "network", 211 - "ucc_geth")) != NULL;) { 209 + for_each_compatible_node(np, "network", "ucc_geth") { 212 210 const unsigned int *prop; 213 211 int ucc_num; 214 212
+1 -39
arch/powerpc/platforms/85xx/p1022_ds.c
··· 106 106 (c2 << AD_COMP_2_SHIFT) | (c1 << AD_COMP_1_SHIFT) | \ 107 107 (c0 << AD_COMP_0_SHIFT) | (size << AD_PIXEL_S_SHIFT)) 108 108 109 - /** 110 - * p1022ds_get_pixel_format: return the Area Descriptor for a given pixel depth 111 - * 112 - * The Area Descriptor is a 32-bit value that determine which bits in each 113 - * pixel are to be used for each color. 114 - */ 115 - static u32 p1022ds_get_pixel_format(enum fsl_diu_monitor_port port, 116 - unsigned int bits_per_pixel) 117 - { 118 - switch (bits_per_pixel) { 119 - case 32: 120 - /* 0x88883316 */ 121 - return MAKE_AD(3, 2, 0, 1, 3, 8, 8, 8, 8); 122 - case 24: 123 - /* 0x88082219 */ 124 - return MAKE_AD(4, 0, 1, 2, 2, 0, 8, 8, 8); 125 - case 16: 126 - /* 0x65053118 */ 127 - return MAKE_AD(4, 2, 1, 0, 1, 5, 6, 5, 0); 128 - default: 129 - pr_err("fsl-diu: unsupported pixel depth %u\n", bits_per_pixel); 130 - return 0; 131 - } 132 - } 133 - 134 - /** 135 - * p1022ds_set_gamma_table: update the gamma table, if necessary 136 - * 137 - * On some boards, the gamma table for some ports may need to be modified. 138 - * This is not the case on the P1022DS, so we do nothing. 139 - */ 140 - static void p1022ds_set_gamma_table(enum fsl_diu_monitor_port port, 141 - char *gamma_table_base) 142 - { 143 - } 144 - 145 109 struct fsl_law { 146 110 u32 lawbar; 147 111 u32 reserved1; ··· 266 302 goto exit; 267 303 } 268 304 cs1_addr = lbc_br_to_phys(ecm, num_laws, br1); 269 - if (!cs0_addr) { 305 + if (!cs1_addr) { 270 306 pr_err("p1022ds: could not determine physical address for CS1" 271 307 " (BR1=%08x)\n", br1); 272 308 goto exit; ··· 474 510 ppc_md.progress("p1022_ds_setup_arch()", 0); 475 511 476 512 #if defined(CONFIG_FB_FSL_DIU) || defined(CONFIG_FB_FSL_DIU_MODULE) 477 - diu_ops.get_pixel_format = p1022ds_get_pixel_format; 478 - diu_ops.set_gamma_table = p1022ds_set_gamma_table; 479 513 diu_ops.set_monitor_port = p1022ds_set_monitor_port; 480 514 diu_ops.set_pixel_clock = p1022ds_set_pixel_clock; 481 515 diu_ops.valid_monitor_port = p1022ds_valid_monitor_port;
-12
arch/powerpc/platforms/85xx/p1022_rdk.c
··· 35 35 #define CLKDVDR_PXCLK_MASK 0x00FF0000 36 36 37 37 /** 38 - * p1022rdk_set_monitor_port: switch the output to a different monitor port 39 - */ 40 - static void p1022rdk_set_monitor_port(enum fsl_diu_monitor_port port) 41 - { 42 - if (port != FSL_DIU_PORT_DVI) { 43 - pr_err("p1022rdk: unsupported monitor port %i\n", port); 44 - return; 45 - } 46 - } 47 - 48 - /** 49 38 * p1022rdk_set_pixel_clock: program the DIU's clock 50 39 * 51 40 * @pixclock: the wavelength, in picoseconds, of the clock ··· 113 124 ppc_md.progress("p1022_rdk_setup_arch()", 0); 114 125 115 126 #if defined(CONFIG_FB_FSL_DIU) || defined(CONFIG_FB_FSL_DIU_MODULE) 116 - diu_ops.set_monitor_port = p1022rdk_set_monitor_port; 117 127 diu_ops.set_pixel_clock = p1022rdk_set_pixel_clock; 118 128 diu_ops.valid_monitor_port = p1022rdk_valid_monitor_port; 119 129 #endif
+98
arch/powerpc/platforms/85xx/ppa8548.c
··· 1 + /* 2 + * ppa8548 setup and early boot code. 3 + * 4 + * Copyright 2009 Prodrive B.V.. 5 + * 6 + * By Stef van Os (see MAINTAINERS for contact information) 7 + * 8 + * Based on the SBC8548 support - Copyright 2007 Wind River Systems Inc. 9 + * Based on the MPC8548CDS support - Copyright 2005 Freescale Inc. 10 + * 11 + * This program is free software; you can redistribute it and/or modify it 12 + * under the terms of the GNU General Public License as published by the 13 + * Free Software Foundation; either version 2 of the License, or (at your 14 + * option) any later version. 15 + */ 16 + 17 + #include <linux/stddef.h> 18 + #include <linux/kernel.h> 19 + #include <linux/init.h> 20 + #include <linux/reboot.h> 21 + #include <linux/seq_file.h> 22 + #include <linux/of_platform.h> 23 + 24 + #include <asm/machdep.h> 25 + #include <asm/udbg.h> 26 + #include <asm/mpic.h> 27 + 28 + #include <sysdev/fsl_soc.h> 29 + 30 + static void __init ppa8548_pic_init(void) 31 + { 32 + struct mpic *mpic = mpic_alloc(NULL, 0, MPIC_BIG_ENDIAN, 33 + 0, 256, " OpenPIC "); 34 + BUG_ON(mpic == NULL); 35 + mpic_init(mpic); 36 + } 37 + 38 + /* 39 + * Setup the architecture 40 + */ 41 + static void __init ppa8548_setup_arch(void) 42 + { 43 + if (ppc_md.progress) 44 + ppc_md.progress("ppa8548_setup_arch()", 0); 45 + } 46 + 47 + static void ppa8548_show_cpuinfo(struct seq_file *m) 48 + { 49 + uint32_t svid, phid1; 50 + 51 + svid = mfspr(SPRN_SVR); 52 + 53 + seq_printf(m, "Vendor\t\t: Prodrive B.V.\n"); 54 + seq_printf(m, "SVR\t\t: 0x%x\n", svid); 55 + 56 + /* Display cpu Pll setting */ 57 + phid1 = mfspr(SPRN_HID1); 58 + seq_printf(m, "PLL setting\t: 0x%x\n", ((phid1 >> 24) & 0x3f)); 59 + } 60 + 61 + static struct of_device_id __initdata of_bus_ids[] = { 62 + { .name = "soc", }, 63 + { .type = "soc", }, 64 + { .compatible = "simple-bus", }, 65 + { .compatible = "gianfar", }, 66 + { .compatible = "fsl,srio", }, 67 + {}, 68 + }; 69 + 70 + static int __init declare_of_platform_devices(void) 71 + { 72 + of_platform_bus_probe(NULL, of_bus_ids, NULL); 73 + 74 + return 0; 75 + } 76 + machine_device_initcall(ppa8548, declare_of_platform_devices); 77 + 78 + /* 79 + * Called very early, device-tree isn't unflattened 80 + */ 81 + static int __init ppa8548_probe(void) 82 + { 83 + unsigned long root = of_get_flat_dt_root(); 84 + 85 + return of_flat_dt_is_compatible(root, "ppa8548"); 86 + } 87 + 88 + define_machine(ppa8548) { 89 + .name = "ppa8548", 90 + .probe = ppa8548_probe, 91 + .setup_arch = ppa8548_setup_arch, 92 + .init_IRQ = ppa8548_pic_init, 93 + .show_cpuinfo = ppa8548_show_cpuinfo, 94 + .get_irq = mpic_get_irq, 95 + .restart = fsl_rstcr_restart, 96 + .calibrate_decr = generic_calibrate_decr, 97 + .progress = udbg_progress, 98 + };
+4 -3
arch/powerpc/platforms/85xx/qemu_e500.c
··· 29 29 void __init qemu_e500_pic_init(void) 30 30 { 31 31 struct mpic *mpic; 32 + unsigned int flags = MPIC_BIG_ENDIAN | MPIC_SINGLE_DEST_CPU | 33 + MPIC_ENABLE_COREINT; 32 34 33 - mpic = mpic_alloc(NULL, 0, MPIC_BIG_ENDIAN | MPIC_SINGLE_DEST_CPU, 34 - 0, 256, " OpenPIC "); 35 + mpic = mpic_alloc(NULL, 0, flags, 0, 256, " OpenPIC "); 35 36 36 37 BUG_ON(mpic == NULL); 37 38 mpic_init(mpic); ··· 67 66 #ifdef CONFIG_PCI 68 67 .pcibios_fixup_bus = fsl_pcibios_fixup_bus, 69 68 #endif 70 - .get_irq = mpic_get_irq, 69 + .get_irq = mpic_get_coreint_irq, 71 70 .restart = fsl_rstcr_restart, 72 71 .calibrate_decr = generic_calibrate_decr, 73 72 .progress = udbg_progress,
+1
arch/powerpc/sysdev/fsl_85xx_l2ctlr.c
··· 203 203 { .compatible = "fsl,p1024-l2-cache-controller",}, 204 204 { .compatible = "fsl,p1015-l2-cache-controller",}, 205 205 { .compatible = "fsl,p1010-l2-cache-controller",}, 206 + { .compatible = "fsl,bsc9131-l2-cache-controller",}, 206 207 {}, 207 208 }; 208 209
+1 -1
arch/powerpc/sysdev/fsl_ifc.c
··· 63 63 return -ENODEV; 64 64 65 65 for (i = 0; i < ARRAY_SIZE(fsl_ifc_ctrl_dev->regs->cspr_cs); i++) { 66 - __be32 cspr = in_be32(&fsl_ifc_ctrl_dev->regs->cspr_cs[i].cspr); 66 + u32 cspr = in_be32(&fsl_ifc_ctrl_dev->regs->cspr_cs[i].cspr); 67 67 if (cspr & CSPR_V && (cspr & CSPR_BA) == 68 68 convert_ifc_address(addr_base)) 69 69 return i;
+3 -3
arch/powerpc/sysdev/fsl_lbc.c
··· 74 74 75 75 lbc = fsl_lbc_ctrl_dev->regs; 76 76 for (i = 0; i < ARRAY_SIZE(lbc->bank); i++) { 77 - __be32 br = in_be32(&lbc->bank[i].br); 78 - __be32 or = in_be32(&lbc->bank[i].or); 77 + u32 br = in_be32(&lbc->bank[i].br); 78 + u32 or = in_be32(&lbc->bank[i].or); 79 79 80 80 if (br & BR_V && (br & or & BR_BA) == fsl_lbc_addr(addr_base)) 81 81 return i; ··· 97 97 int fsl_upm_find(phys_addr_t addr_base, struct fsl_upm *upm) 98 98 { 99 99 int bank; 100 - __be32 br; 100 + u32 br; 101 101 struct fsl_lbc_regs __iomem *lbc; 102 102 103 103 bank = fsl_lbc_find(addr_base);
+2 -2
arch/powerpc/sysdev/fsl_msi.c
··· 28 28 #include "fsl_msi.h" 29 29 #include "fsl_pci.h" 30 30 31 - LIST_HEAD(msi_head); 31 + static LIST_HEAD(msi_head); 32 32 33 33 struct fsl_msi_feature { 34 34 u32 fsl_pic_ip; ··· 130 130 struct pci_controller *hose = pci_bus_to_host(pdev->bus); 131 131 u64 address; /* Physical address of the MSIIR */ 132 132 int len; 133 - const u64 *reg; 133 + const __be64 *reg; 134 134 135 135 /* If the msi-address-64 property exists, then use it */ 136 136 reg = of_get_property(hose->dn, "msi-address-64", &len);
+18 -8
arch/powerpc/sysdev/fsl_pci.c
··· 421 421 } 422 422 } 423 423 424 - int __init fsl_add_bridge(struct device_node *dev, int is_primary) 424 + int __init fsl_add_bridge(struct platform_device *pdev, int is_primary) 425 425 { 426 426 int len; 427 427 struct pci_controller *hose; 428 428 struct resource rsrc; 429 429 const int *bus_range; 430 430 u8 hdr_type, progif; 431 + struct device_node *dev; 432 + 433 + dev = pdev->dev.of_node; 431 434 432 435 if (!of_device_is_available(dev)) { 433 436 pr_warning("%s: disabled\n", dev->full_name); ··· 456 453 if (!hose) 457 454 return -ENOMEM; 458 455 456 + /* set platform device as the parent */ 457 + hose->parent = &pdev->dev; 459 458 hose->first_busno = bus_range ? bus_range[0] : 0x0; 460 459 hose->last_busno = bus_range ? bus_range[1] : 0xff; 461 460 ··· 832 827 { .compatible = "fsl,mpc8548-pcie", }, 833 828 { .compatible = "fsl,mpc8610-pci", }, 834 829 { .compatible = "fsl,mpc8641-pcie", }, 835 - { .compatible = "fsl,p1022-pcie", }, 836 - { .compatible = "fsl,p1010-pcie", }, 837 - { .compatible = "fsl,p1023-pcie", }, 838 - { .compatible = "fsl,p4080-pcie", }, 839 - { .compatible = "fsl,qoriq-pcie-v2.4", }, 840 - { .compatible = "fsl,qoriq-pcie-v2.3", }, 830 + { .compatible = "fsl,qoriq-pcie-v2.1", }, 841 831 { .compatible = "fsl,qoriq-pcie-v2.2", }, 832 + { .compatible = "fsl,qoriq-pcie-v2.3", }, 833 + { .compatible = "fsl,qoriq-pcie-v2.4", }, 834 + 835 + /* 836 + * The following entries are for compatibility with older device 837 + * trees. 838 + */ 839 + { .compatible = "fsl,p1022-pcie", }, 840 + { .compatible = "fsl,p4080-pcie", }, 841 + 842 842 {}, 843 843 }; 844 844 ··· 890 880 #endif 891 881 892 882 node = pdev->dev.of_node; 893 - ret = fsl_add_bridge(node, fsl_pci_primary == node); 883 + ret = fsl_add_bridge(pdev, fsl_pci_primary == node); 894 884 895 885 #ifdef CONFIG_SWIOTLB 896 886 if (ret == 0) {
+1 -1
arch/powerpc/sysdev/fsl_pci.h
··· 91 91 __be32 pex_err_cap_r3; /* 0x.e34 - PCIE error capture register 0 */ 92 92 }; 93 93 94 - extern int fsl_add_bridge(struct device_node *dev, int is_primary); 94 + extern int fsl_add_bridge(struct platform_device *pdev, int is_primary); 95 95 extern void fsl_pcibios_fixup_bus(struct pci_bus *bus); 96 96 extern int mpc83xx_add_bridge(struct device_node *dev); 97 97 u64 fsl_pci_immrbar_base(struct pci_controller *hose);
+2 -2
arch/powerpc/sysdev/fsl_soc.c
··· 58 58 if (soc) { 59 59 int size; 60 60 u32 naddr; 61 - const u32 *prop = of_get_property(soc, "#address-cells", &size); 61 + const __be32 *prop = of_get_property(soc, "#address-cells", &size); 62 62 63 63 if (prop && size == 4) 64 - naddr = *prop; 64 + naddr = be32_to_cpup(prop); 65 65 else 66 66 naddr = 2; 67 67
+23 -3
arch/powerpc/sysdev/mpic.c
··· 1182 1182 const char *vers; 1183 1183 const u32 *psrc; 1184 1184 u32 last_irq; 1185 + u32 fsl_version = 0; 1185 1186 1186 1187 /* Default MPIC search parameters */ 1187 1188 static const struct of_device_id __initconst mpic_device_id[] = { ··· 1315 1314 mpic_map(mpic, mpic->paddr, &mpic->tmregs, MPIC_INFO(TIMER_BASE), 0x1000); 1316 1315 1317 1316 if (mpic->flags & MPIC_FSL) { 1318 - u32 brr1, version; 1317 + u32 brr1; 1319 1318 int ret; 1320 1319 1321 1320 /* ··· 1328 1327 1329 1328 brr1 = _mpic_read(mpic->reg_type, &mpic->thiscpuregs, 1330 1329 MPIC_FSL_BRR1); 1331 - version = brr1 & MPIC_FSL_BRR1_VER; 1330 + fsl_version = brr1 & MPIC_FSL_BRR1_VER; 1332 1331 1333 1332 /* Error interrupt mask register (EIMR) is required for 1334 1333 * handling individual device error interrupts. EIMR ··· 1343 1342 * is the number of vectors which have been consumed by 1344 1343 * ipis and timer interrupts. 1345 1344 */ 1346 - if (version >= 0x401) { 1345 + if (fsl_version >= 0x401) { 1347 1346 ret = mpic_setup_error_int(mpic, intvec_top - 12); 1348 1347 if (ret) 1349 1348 return NULL; 1350 1349 } 1350 + 1351 + } 1352 + 1353 + /* 1354 + * EPR is only available starting with v4.0. To support 1355 + * platforms that don't know the MPIC version at compile-time, 1356 + * such as qemu-e500, turn off coreint if this MPIC doesn't 1357 + * support it. Note that we never enable it if it wasn't 1358 + * requested in the first place. 1359 + * 1360 + * This is done outside the MPIC_FSL check, so that we 1361 + * also disable coreint if the MPIC node doesn't have 1362 + * an "fsl,mpic" compatible at all. This will be the case 1363 + * with device trees generated by older versions of QEMU. 1364 + * fsl_version will be zero if MPIC_FSL is not set. 1365 + */ 1366 + if (fsl_version < 0x400 && (flags & MPIC_ENABLE_COREINT)) { 1367 + WARN_ON(ppc_md.get_irq != mpic_get_coreint_irq); 1368 + ppc_md.get_irq = mpic_get_irq; 1351 1369 } 1352 1370 1353 1371 /* Reset */