12874c5fdSThomas Gleixner// SPDX-License-Identifier: GPL-2.0-or-later 251974d31SBradley Hughes/* 351974d31SBradley Hughes * MPC8555-based STx GP3 Device Tree Source 451974d31SBradley Hughes * 551974d31SBradley Hughes * Copyright 2006, 2008 Freescale Semiconductor Inc. 651974d31SBradley Hughes * 751974d31SBradley Hughes * Copyright 2010 Silicon Turnkey Express LLC. 851974d31SBradley Hughes */ 951974d31SBradley Hughes 1051974d31SBradley Hughes/dts-v1/; 1151974d31SBradley Hughes 12*c1024320SPali Rohár/include/ "fsl/e500v1_power_isa.dtsi" 13*c1024320SPali Rohár 1451974d31SBradley Hughes/ { 1551974d31SBradley Hughes model = "stx,gp3"; 1651974d31SBradley Hughes compatible = "stx,gp3-8560", "stx,gp3"; 1751974d31SBradley Hughes #address-cells = <1>; 1851974d31SBradley Hughes #size-cells = <1>; 1951974d31SBradley Hughes 2051974d31SBradley Hughes aliases { 2151974d31SBradley Hughes ethernet0 = &enet0; 2251974d31SBradley Hughes ethernet1 = &enet1; 2351974d31SBradley Hughes serial0 = &serial0; 2451974d31SBradley Hughes serial1 = &serial1; 2551974d31SBradley Hughes pci0 = &pci0; 2651974d31SBradley Hughes }; 2751974d31SBradley Hughes 2851974d31SBradley Hughes cpus { 2951974d31SBradley Hughes #address-cells = <1>; 3051974d31SBradley Hughes #size-cells = <0>; 3151974d31SBradley Hughes 3251974d31SBradley Hughes PowerPC,8555@0 { 3351974d31SBradley Hughes device_type = "cpu"; 3451974d31SBradley Hughes reg = <0x0>; 3551974d31SBradley Hughes d-cache-line-size = <32>; // 32 bytes 3651974d31SBradley Hughes i-cache-line-size = <32>; // 32 bytes 3751974d31SBradley Hughes d-cache-size = <0x8000>; // L1, 32K 3851974d31SBradley Hughes i-cache-size = <0x8000>; // L1, 32K 3951974d31SBradley Hughes timebase-frequency = <0>; // 33 MHz, from uboot 4051974d31SBradley Hughes bus-frequency = <0>; // 166 MHz 4151974d31SBradley Hughes clock-frequency = <0>; // 825 MHz, from uboot 4251974d31SBradley Hughes next-level-cache = <&L2>; 4351974d31SBradley Hughes }; 4451974d31SBradley Hughes }; 4551974d31SBradley Hughes 4651974d31SBradley Hughes memory { 4751974d31SBradley Hughes device_type = "memory"; 4851974d31SBradley Hughes reg = <0x00000000 0x10000000>; 4951974d31SBradley Hughes }; 5051974d31SBradley Hughes 5151974d31SBradley Hughes soc8555@e0000000 { 5251974d31SBradley Hughes #address-cells = <1>; 5351974d31SBradley Hughes #size-cells = <1>; 5451974d31SBradley Hughes device_type = "soc"; 5551974d31SBradley Hughes compatible = "simple-bus"; 5651974d31SBradley Hughes ranges = <0x0 0xe0000000 0x100000>; 5751974d31SBradley Hughes bus-frequency = <0>; 5851974d31SBradley Hughes 5951974d31SBradley Hughes ecm-law@0 { 6051974d31SBradley Hughes compatible = "fsl,ecm-law"; 6151974d31SBradley Hughes reg = <0x0 0x1000>; 6251974d31SBradley Hughes fsl,num-laws = <8>; 6351974d31SBradley Hughes }; 6451974d31SBradley Hughes 6551974d31SBradley Hughes ecm@1000 { 6651974d31SBradley Hughes compatible = "fsl,mpc8555-ecm", "fsl,ecm"; 6751974d31SBradley Hughes reg = <0x1000 0x1000>; 6851974d31SBradley Hughes interrupts = <17 2>; 6951974d31SBradley Hughes interrupt-parent = <&mpic>; 7051974d31SBradley Hughes }; 7151974d31SBradley Hughes 7251974d31SBradley Hughes memory-controller@2000 { 7351974d31SBradley Hughes compatible = "fsl,mpc8555-memory-controller"; 7451974d31SBradley Hughes reg = <0x2000 0x1000>; 7551974d31SBradley Hughes interrupt-parent = <&mpic>; 7651974d31SBradley Hughes interrupts = <18 2>; 7751974d31SBradley Hughes }; 7851974d31SBradley Hughes 7951974d31SBradley Hughes L2: l2-cache-controller@20000 { 8051974d31SBradley Hughes compatible = "fsl,mpc8555-l2-cache-controller"; 8151974d31SBradley Hughes reg = <0x20000 0x1000>; 8251974d31SBradley Hughes cache-line-size = <32>; // 32 bytes 8351974d31SBradley Hughes cache-size = <0x40000>; // L2, 256K 8451974d31SBradley Hughes interrupt-parent = <&mpic>; 8551974d31SBradley Hughes interrupts = <16 2>; 8651974d31SBradley Hughes }; 8751974d31SBradley Hughes 8851974d31SBradley Hughes i2c@3000 { 8951974d31SBradley Hughes #address-cells = <1>; 9051974d31SBradley Hughes #size-cells = <0>; 9151974d31SBradley Hughes cell-index = <0>; 9251974d31SBradley Hughes compatible = "fsl-i2c"; 9351974d31SBradley Hughes reg = <0x3000 0x100>; 9451974d31SBradley Hughes interrupts = <43 2>; 9551974d31SBradley Hughes interrupt-parent = <&mpic>; 9651974d31SBradley Hughes dfsrr; 9751974d31SBradley Hughes }; 9851974d31SBradley Hughes 9951974d31SBradley Hughes dma@21300 { 10051974d31SBradley Hughes #address-cells = <1>; 10151974d31SBradley Hughes #size-cells = <1>; 10251974d31SBradley Hughes compatible = "fsl,mpc8555-dma", "fsl,eloplus-dma"; 10351974d31SBradley Hughes reg = <0x21300 0x4>; 10451974d31SBradley Hughes ranges = <0x0 0x21100 0x200>; 10551974d31SBradley Hughes cell-index = <0>; 10651974d31SBradley Hughes dma-channel@0 { 10751974d31SBradley Hughes compatible = "fsl,mpc8555-dma-channel", 10851974d31SBradley Hughes "fsl,eloplus-dma-channel"; 10951974d31SBradley Hughes reg = <0x0 0x80>; 11051974d31SBradley Hughes cell-index = <0>; 11151974d31SBradley Hughes interrupt-parent = <&mpic>; 11251974d31SBradley Hughes interrupts = <20 2>; 11351974d31SBradley Hughes }; 11451974d31SBradley Hughes dma-channel@80 { 11551974d31SBradley Hughes compatible = "fsl,mpc8555-dma-channel", 11651974d31SBradley Hughes "fsl,eloplus-dma-channel"; 11751974d31SBradley Hughes reg = <0x80 0x80>; 11851974d31SBradley Hughes cell-index = <1>; 11951974d31SBradley Hughes interrupt-parent = <&mpic>; 12051974d31SBradley Hughes interrupts = <21 2>; 12151974d31SBradley Hughes }; 12251974d31SBradley Hughes dma-channel@100 { 12351974d31SBradley Hughes compatible = "fsl,mpc8555-dma-channel", 12451974d31SBradley Hughes "fsl,eloplus-dma-channel"; 12551974d31SBradley Hughes reg = <0x100 0x80>; 12651974d31SBradley Hughes cell-index = <2>; 12751974d31SBradley Hughes interrupt-parent = <&mpic>; 12851974d31SBradley Hughes interrupts = <22 2>; 12951974d31SBradley Hughes }; 13051974d31SBradley Hughes dma-channel@180 { 13151974d31SBradley Hughes compatible = "fsl,mpc8555-dma-channel", 13251974d31SBradley Hughes "fsl,eloplus-dma-channel"; 13351974d31SBradley Hughes reg = <0x180 0x80>; 13451974d31SBradley Hughes cell-index = <3>; 13551974d31SBradley Hughes interrupt-parent = <&mpic>; 13651974d31SBradley Hughes interrupts = <23 2>; 13751974d31SBradley Hughes }; 13851974d31SBradley Hughes }; 13951974d31SBradley Hughes 14051974d31SBradley Hughes enet0: ethernet@24000 { 14151974d31SBradley Hughes #address-cells = <1>; 14251974d31SBradley Hughes #size-cells = <1>; 14351974d31SBradley Hughes cell-index = <0>; 14451974d31SBradley Hughes device_type = "network"; 14551974d31SBradley Hughes model = "TSEC"; 14651974d31SBradley Hughes compatible = "gianfar"; 14751974d31SBradley Hughes reg = <0x24000 0x1000>; 14851974d31SBradley Hughes ranges = <0x0 0x24000 0x1000>; 14951974d31SBradley Hughes local-mac-address = [ 00 00 00 00 00 00 ]; 15051974d31SBradley Hughes interrupts = <29 2 30 2 34 2>; 15151974d31SBradley Hughes interrupt-parent = <&mpic>; 15251974d31SBradley Hughes tbi-handle = <&tbi0>; 15351974d31SBradley Hughes phy-handle = <&phy0>; 15451974d31SBradley Hughes 15551974d31SBradley Hughes mdio@520 { 15651974d31SBradley Hughes #address-cells = <1>; 15751974d31SBradley Hughes #size-cells = <0>; 15851974d31SBradley Hughes compatible = "fsl,gianfar-mdio"; 15951974d31SBradley Hughes reg = <0x520 0x20>; 16051974d31SBradley Hughes 16151974d31SBradley Hughes phy0: ethernet-phy@2 { 16251974d31SBradley Hughes interrupt-parent = <&mpic>; 16351974d31SBradley Hughes interrupts = <5 1>; 16451974d31SBradley Hughes reg = <0x2>; 16551974d31SBradley Hughes }; 16651974d31SBradley Hughes phy1: ethernet-phy@4 { 16751974d31SBradley Hughes interrupt-parent = <&mpic>; 16851974d31SBradley Hughes interrupts = <5 1>; 16951974d31SBradley Hughes reg = <0x4>; 17051974d31SBradley Hughes }; 17151974d31SBradley Hughes tbi0: tbi-phy@11 { 17251974d31SBradley Hughes reg = <0x11>; 17351974d31SBradley Hughes device_type = "tbi-phy"; 17451974d31SBradley Hughes }; 17551974d31SBradley Hughes }; 17651974d31SBradley Hughes }; 17751974d31SBradley Hughes 17851974d31SBradley Hughes enet1: ethernet@25000 { 17951974d31SBradley Hughes #address-cells = <1>; 18051974d31SBradley Hughes #size-cells = <1>; 18151974d31SBradley Hughes cell-index = <1>; 18251974d31SBradley Hughes device_type = "network"; 18351974d31SBradley Hughes model = "TSEC"; 18451974d31SBradley Hughes compatible = "gianfar"; 18551974d31SBradley Hughes reg = <0x25000 0x1000>; 18651974d31SBradley Hughes ranges = <0x0 0x25000 0x1000>; 18751974d31SBradley Hughes local-mac-address = [ 00 00 00 00 00 00 ]; 18851974d31SBradley Hughes interrupts = <35 2 36 2 40 2>; 18951974d31SBradley Hughes interrupt-parent = <&mpic>; 19051974d31SBradley Hughes tbi-handle = <&tbi1>; 19151974d31SBradley Hughes phy-handle = <&phy1>; 19251974d31SBradley Hughes 19351974d31SBradley Hughes mdio@520 { 19451974d31SBradley Hughes #address-cells = <1>; 19551974d31SBradley Hughes #size-cells = <0>; 19651974d31SBradley Hughes compatible = "fsl,gianfar-tbi"; 19751974d31SBradley Hughes reg = <0x520 0x20>; 19851974d31SBradley Hughes 19951974d31SBradley Hughes tbi1: tbi-phy@11 { 20051974d31SBradley Hughes reg = <0x11>; 20151974d31SBradley Hughes device_type = "tbi-phy"; 20251974d31SBradley Hughes }; 20351974d31SBradley Hughes }; 20451974d31SBradley Hughes }; 20551974d31SBradley Hughes 20651974d31SBradley Hughes serial0: serial@4500 { 20751974d31SBradley Hughes cell-index = <0>; 20851974d31SBradley Hughes device_type = "serial"; 209f706bed1SKumar Gala compatible = "fsl,ns16550", "ns16550"; 21051974d31SBradley Hughes reg = <0x4500 0x100>; // reg base, size 21151974d31SBradley Hughes clock-frequency = <0>; // should we fill in in uboot? 21251974d31SBradley Hughes interrupts = <42 2>; 21351974d31SBradley Hughes interrupt-parent = <&mpic>; 21451974d31SBradley Hughes }; 21551974d31SBradley Hughes 21651974d31SBradley Hughes serial1: serial@4600 { 21751974d31SBradley Hughes cell-index = <1>; 21851974d31SBradley Hughes device_type = "serial"; 219f706bed1SKumar Gala compatible = "fsl,ns16550", "ns16550"; 22051974d31SBradley Hughes reg = <0x4600 0x100>; // reg base, size 22151974d31SBradley Hughes clock-frequency = <0>; // should we fill in in uboot? 22251974d31SBradley Hughes interrupts = <42 2>; 22351974d31SBradley Hughes interrupt-parent = <&mpic>; 22451974d31SBradley Hughes }; 22551974d31SBradley Hughes 22651974d31SBradley Hughes crypto@30000 { 22751974d31SBradley Hughes compatible = "fsl,sec2.0"; 22851974d31SBradley Hughes reg = <0x30000 0x10000>; 22951974d31SBradley Hughes interrupts = <45 2>; 23051974d31SBradley Hughes interrupt-parent = <&mpic>; 23151974d31SBradley Hughes fsl,num-channels = <4>; 23251974d31SBradley Hughes fsl,channel-fifo-len = <24>; 23351974d31SBradley Hughes fsl,exec-units-mask = <0x7e>; 23451974d31SBradley Hughes fsl,descriptor-types-mask = <0x01010ebf>; 23551974d31SBradley Hughes }; 23651974d31SBradley Hughes 23751974d31SBradley Hughes mpic: pic@40000 { 23851974d31SBradley Hughes interrupt-controller; 23951974d31SBradley Hughes #address-cells = <0>; 24051974d31SBradley Hughes #interrupt-cells = <2>; 24151974d31SBradley Hughes reg = <0x40000 0x40000>; 24251974d31SBradley Hughes compatible = "chrp,open-pic"; 24351974d31SBradley Hughes device_type = "open-pic"; 24451974d31SBradley Hughes }; 24551974d31SBradley Hughes 24651974d31SBradley Hughes cpm@919c0 { 24751974d31SBradley Hughes #address-cells = <1>; 24851974d31SBradley Hughes #size-cells = <1>; 24951974d31SBradley Hughes compatible = "fsl,mpc8555-cpm", "fsl,cpm2"; 25051974d31SBradley Hughes reg = <0x919c0 0x30>; 25151974d31SBradley Hughes ranges; 25251974d31SBradley Hughes 25351974d31SBradley Hughes muram@80000 { 25451974d31SBradley Hughes #address-cells = <1>; 25551974d31SBradley Hughes #size-cells = <1>; 25651974d31SBradley Hughes ranges = <0x0 0x80000 0x10000>; 25751974d31SBradley Hughes 25851974d31SBradley Hughes data@0 { 25951974d31SBradley Hughes compatible = "fsl,cpm-muram-data"; 26051974d31SBradley Hughes reg = <0x0 0x2000 0x9000 0x1000>; 26151974d31SBradley Hughes }; 26251974d31SBradley Hughes }; 26351974d31SBradley Hughes 26451974d31SBradley Hughes brg@919f0 { 26551974d31SBradley Hughes compatible = "fsl,mpc8555-brg", 26651974d31SBradley Hughes "fsl,cpm2-brg", 26751974d31SBradley Hughes "fsl,cpm-brg"; 26851974d31SBradley Hughes reg = <0x919f0 0x10 0x915f0 0x10>; 26951974d31SBradley Hughes }; 27051974d31SBradley Hughes 27151974d31SBradley Hughes cpmpic: pic@90c00 { 27251974d31SBradley Hughes interrupt-controller; 27351974d31SBradley Hughes #address-cells = <0>; 27451974d31SBradley Hughes #interrupt-cells = <2>; 27551974d31SBradley Hughes interrupts = <46 2>; 27651974d31SBradley Hughes interrupt-parent = <&mpic>; 27751974d31SBradley Hughes reg = <0x90c00 0x80>; 27851974d31SBradley Hughes compatible = "fsl,mpc8555-cpm-pic", "fsl,cpm2-pic"; 27951974d31SBradley Hughes }; 28051974d31SBradley Hughes }; 28151974d31SBradley Hughes }; 28251974d31SBradley Hughes 28351974d31SBradley Hughes pci0: pci@e0008000 { 28451974d31SBradley Hughes interrupt-map-mask = <0x1f800 0x0 0x0 0x7>; 28551974d31SBradley Hughes interrupt-map = < 28651974d31SBradley Hughes 28751974d31SBradley Hughes /* IDSEL 0x10 */ 28851974d31SBradley Hughes 0x8000 0x0 0x0 0x1 &mpic 0x0 0x1 28951974d31SBradley Hughes 0x8000 0x0 0x0 0x2 &mpic 0x1 0x1 29051974d31SBradley Hughes 0x8000 0x0 0x0 0x3 &mpic 0x2 0x1 29151974d31SBradley Hughes 0x8000 0x0 0x0 0x4 &mpic 0x3 0x1 29251974d31SBradley Hughes 29351974d31SBradley Hughes /* IDSEL 0x11 */ 29451974d31SBradley Hughes 0x8800 0x0 0x0 0x1 &mpic 0x0 0x1 29551974d31SBradley Hughes 0x8800 0x0 0x0 0x2 &mpic 0x1 0x1 29651974d31SBradley Hughes 0x8800 0x0 0x0 0x3 &mpic 0x2 0x1 29751974d31SBradley Hughes 0x8800 0x0 0x0 0x4 &mpic 0x3 0x1 29851974d31SBradley Hughes 29951974d31SBradley Hughes /* IDSEL 0x12 (Slot 1) */ 30051974d31SBradley Hughes 0x9000 0x0 0x0 0x1 &mpic 0x0 0x1 30151974d31SBradley Hughes 0x9000 0x0 0x0 0x2 &mpic 0x1 0x1 30251974d31SBradley Hughes 0x9000 0x0 0x0 0x3 &mpic 0x2 0x1 30351974d31SBradley Hughes 0x9000 0x0 0x0 0x4 &mpic 0x3 0x1 30451974d31SBradley Hughes 30551974d31SBradley Hughes /* IDSEL 0x13 (Slot 2) */ 30651974d31SBradley Hughes 0x9800 0x0 0x0 0x1 &mpic 0x1 0x1 30751974d31SBradley Hughes 0x9800 0x0 0x0 0x2 &mpic 0x2 0x1 30851974d31SBradley Hughes 0x9800 0x0 0x0 0x3 &mpic 0x3 0x1 30951974d31SBradley Hughes 0x9800 0x0 0x0 0x4 &mpic 0x0 0x1 31051974d31SBradley Hughes 31151974d31SBradley Hughes /* IDSEL 0x14 (Slot 3) */ 31251974d31SBradley Hughes 0xa000 0x0 0x0 0x1 &mpic 0x2 0x1 31351974d31SBradley Hughes 0xa000 0x0 0x0 0x2 &mpic 0x3 0x1 31451974d31SBradley Hughes 0xa000 0x0 0x0 0x3 &mpic 0x0 0x1 31551974d31SBradley Hughes 0xa000 0x0 0x0 0x4 &mpic 0x1 0x1 31651974d31SBradley Hughes 31751974d31SBradley Hughes /* IDSEL 0x15 (Slot 4) */ 31851974d31SBradley Hughes 0xa800 0x0 0x0 0x1 &mpic 0x3 0x1 31951974d31SBradley Hughes 0xa800 0x0 0x0 0x2 &mpic 0x0 0x1 32051974d31SBradley Hughes 0xa800 0x0 0x0 0x3 &mpic 0x1 0x1 32151974d31SBradley Hughes 0xa800 0x0 0x0 0x4 &mpic 0x2 0x1 32251974d31SBradley Hughes 32351974d31SBradley Hughes /* Bus 1 (Tundra Bridge) */ 32451974d31SBradley Hughes /* IDSEL 0x12 (ISA bridge) */ 32551974d31SBradley Hughes 0x19000 0x0 0x0 0x1 &mpic 0x0 0x1 32651974d31SBradley Hughes 0x19000 0x0 0x0 0x2 &mpic 0x1 0x1 32751974d31SBradley Hughes 0x19000 0x0 0x0 0x3 &mpic 0x2 0x1 32851974d31SBradley Hughes 0x19000 0x0 0x0 0x4 &mpic 0x3 0x1>; 32951974d31SBradley Hughes interrupt-parent = <&mpic>; 33051974d31SBradley Hughes interrupts = <24 2>; 33151974d31SBradley Hughes bus-range = <0 0>; 33251974d31SBradley Hughes ranges = <0x2000000 0x0 0x80000000 0x80000000 0x0 0x20000000 33351974d31SBradley Hughes 0x1000000 0x0 0x0 0xe2000000 0x0 0x100000>; 33451974d31SBradley Hughes clock-frequency = <66666666>; 33551974d31SBradley Hughes #interrupt-cells = <1>; 33651974d31SBradley Hughes #size-cells = <2>; 33751974d31SBradley Hughes #address-cells = <3>; 33851974d31SBradley Hughes reg = <0xe0008000 0x1000>; 33951974d31SBradley Hughes compatible = "fsl,mpc8540-pci"; 34051974d31SBradley Hughes device_type = "pci"; 34151974d31SBradley Hughes 34251974d31SBradley Hughes i8259@19000 { 34351974d31SBradley Hughes interrupt-controller; 34451974d31SBradley Hughes device_type = "interrupt-controller"; 34551974d31SBradley Hughes reg = <0x19000 0x0 0x0 0x0 0x1>; 34651974d31SBradley Hughes #address-cells = <0>; 34751974d31SBradley Hughes #interrupt-cells = <2>; 34851974d31SBradley Hughes compatible = "chrp,iic"; 34951974d31SBradley Hughes interrupts = <1>; 35051974d31SBradley Hughes interrupt-parent = <&pci0>; 35151974d31SBradley Hughes }; 35251974d31SBradley Hughes }; 35351974d31SBradley Hughes 35451974d31SBradley Hughes pci1: pci@e0009000 { 35551974d31SBradley Hughes interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 35651974d31SBradley Hughes interrupt-map = < 35751974d31SBradley Hughes 35851974d31SBradley Hughes /* IDSEL 0x15 */ 35951974d31SBradley Hughes 0xa800 0x0 0x0 0x1 &mpic 0xb 0x1 36051974d31SBradley Hughes 0xa800 0x0 0x0 0x2 &mpic 0xb 0x1 36151974d31SBradley Hughes 0xa800 0x0 0x0 0x3 &mpic 0xb 0x1 36251974d31SBradley Hughes 0xa800 0x0 0x0 0x4 &mpic 0xb 0x1>; 36351974d31SBradley Hughes interrupt-parent = <&mpic>; 36451974d31SBradley Hughes interrupts = <25 2>; 36551974d31SBradley Hughes bus-range = <0 0>; 36651974d31SBradley Hughes ranges = <0x2000000 0x0 0xa0000000 0xa0000000 0x0 0x20000000 36751974d31SBradley Hughes 0x1000000 0x0 0x0 0xe3000000 0x0 0x100000>; 36851974d31SBradley Hughes clock-frequency = <66666666>; 36951974d31SBradley Hughes #interrupt-cells = <1>; 37051974d31SBradley Hughes #size-cells = <2>; 37151974d31SBradley Hughes #address-cells = <3>; 37251974d31SBradley Hughes reg = <0xe0009000 0x1000>; 37351974d31SBradley Hughes compatible = "fsl,mpc8540-pci"; 37451974d31SBradley Hughes device_type = "pci"; 37551974d31SBradley Hughes }; 37651974d31SBradley Hughes}; 377