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