18c2ecf20Sopenharmony_ci/* 28c2ecf20Sopenharmony_ci * Device Tree Source for IBM Embedded PPC 476 Platform 38c2ecf20Sopenharmony_ci * 48c2ecf20Sopenharmony_ci * Copyright 2010 Torez Smith, IBM Corporation. 58c2ecf20Sopenharmony_ci * 68c2ecf20Sopenharmony_ci * Based on earlier code: 78c2ecf20Sopenharmony_ci * Copyright (c) 2006, 2007 IBM Corp. 88c2ecf20Sopenharmony_ci * Josh Boyer <jwboyer@linux.vnet.ibm.com>, David Gibson <dwg@au1.ibm.com> 98c2ecf20Sopenharmony_ci * 108c2ecf20Sopenharmony_ci * This file is licensed under the terms of the GNU General Public 118c2ecf20Sopenharmony_ci * License version 2. This program is licensed "as is" without 128c2ecf20Sopenharmony_ci * any warranty of any kind, whether express or implied. 138c2ecf20Sopenharmony_ci */ 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci/dts-v1/; 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci/memreserve/ 0x01f00000 0x00100000; 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci/ { 208c2ecf20Sopenharmony_ci #address-cells = <2>; 218c2ecf20Sopenharmony_ci #size-cells = <1>; 228c2ecf20Sopenharmony_ci model = "ibm,iss-4xx"; 238c2ecf20Sopenharmony_ci compatible = "ibm,iss-4xx"; 248c2ecf20Sopenharmony_ci dcr-parent = <&{/cpus/cpu@0}>; 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci aliases { 278c2ecf20Sopenharmony_ci serial0 = &UART0; 288c2ecf20Sopenharmony_ci }; 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci cpus { 318c2ecf20Sopenharmony_ci #address-cells = <1>; 328c2ecf20Sopenharmony_ci #size-cells = <0>; 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci cpu@0 { 358c2ecf20Sopenharmony_ci device_type = "cpu"; 368c2ecf20Sopenharmony_ci model = "PowerPC,4xx"; // real CPU changed in sim 378c2ecf20Sopenharmony_ci reg = <0>; 388c2ecf20Sopenharmony_ci clock-frequency = <100000000>; // 100Mhz :-) 398c2ecf20Sopenharmony_ci timebase-frequency = <100000000>; 408c2ecf20Sopenharmony_ci i-cache-line-size = <32>; 418c2ecf20Sopenharmony_ci d-cache-line-size = <32>; 428c2ecf20Sopenharmony_ci i-cache-size = <32768>; 438c2ecf20Sopenharmony_ci d-cache-size = <32768>; 448c2ecf20Sopenharmony_ci dcr-controller; 458c2ecf20Sopenharmony_ci dcr-access-method = "native"; 468c2ecf20Sopenharmony_ci status = "okay"; 478c2ecf20Sopenharmony_ci }; 488c2ecf20Sopenharmony_ci cpu@1 { 498c2ecf20Sopenharmony_ci device_type = "cpu"; 508c2ecf20Sopenharmony_ci model = "PowerPC,4xx"; // real CPU changed in sim 518c2ecf20Sopenharmony_ci reg = <1>; 528c2ecf20Sopenharmony_ci clock-frequency = <100000000>; // 100Mhz :-) 538c2ecf20Sopenharmony_ci timebase-frequency = <100000000>; 548c2ecf20Sopenharmony_ci i-cache-line-size = <32>; 558c2ecf20Sopenharmony_ci d-cache-line-size = <32>; 568c2ecf20Sopenharmony_ci i-cache-size = <32768>; 578c2ecf20Sopenharmony_ci d-cache-size = <32768>; 588c2ecf20Sopenharmony_ci dcr-controller; 598c2ecf20Sopenharmony_ci dcr-access-method = "native"; 608c2ecf20Sopenharmony_ci status = "disabled"; 618c2ecf20Sopenharmony_ci enable-method = "spin-table"; 628c2ecf20Sopenharmony_ci cpu-release-addr = <0 0x01f00100>; 638c2ecf20Sopenharmony_ci }; 648c2ecf20Sopenharmony_ci cpu@2 { 658c2ecf20Sopenharmony_ci device_type = "cpu"; 668c2ecf20Sopenharmony_ci model = "PowerPC,4xx"; // real CPU changed in sim 678c2ecf20Sopenharmony_ci reg = <2>; 688c2ecf20Sopenharmony_ci clock-frequency = <100000000>; // 100Mhz :-) 698c2ecf20Sopenharmony_ci timebase-frequency = <100000000>; 708c2ecf20Sopenharmony_ci i-cache-line-size = <32>; 718c2ecf20Sopenharmony_ci d-cache-line-size = <32>; 728c2ecf20Sopenharmony_ci i-cache-size = <32768>; 738c2ecf20Sopenharmony_ci d-cache-size = <32768>; 748c2ecf20Sopenharmony_ci dcr-controller; 758c2ecf20Sopenharmony_ci dcr-access-method = "native"; 768c2ecf20Sopenharmony_ci status = "disabled"; 778c2ecf20Sopenharmony_ci enable-method = "spin-table"; 788c2ecf20Sopenharmony_ci cpu-release-addr = <0 0x01f00200>; 798c2ecf20Sopenharmony_ci }; 808c2ecf20Sopenharmony_ci cpu@3 { 818c2ecf20Sopenharmony_ci device_type = "cpu"; 828c2ecf20Sopenharmony_ci model = "PowerPC,4xx"; // real CPU changed in sim 838c2ecf20Sopenharmony_ci reg = <3>; 848c2ecf20Sopenharmony_ci clock-frequency = <100000000>; // 100Mhz :-) 858c2ecf20Sopenharmony_ci timebase-frequency = <100000000>; 868c2ecf20Sopenharmony_ci i-cache-line-size = <32>; 878c2ecf20Sopenharmony_ci d-cache-line-size = <32>; 888c2ecf20Sopenharmony_ci i-cache-size = <32768>; 898c2ecf20Sopenharmony_ci d-cache-size = <32768>; 908c2ecf20Sopenharmony_ci dcr-controller; 918c2ecf20Sopenharmony_ci dcr-access-method = "native"; 928c2ecf20Sopenharmony_ci status = "disabled"; 938c2ecf20Sopenharmony_ci enable-method = "spin-table"; 948c2ecf20Sopenharmony_ci cpu-release-addr = <0 0x01f00300>; 958c2ecf20Sopenharmony_ci }; 968c2ecf20Sopenharmony_ci }; 978c2ecf20Sopenharmony_ci 988c2ecf20Sopenharmony_ci memory { 998c2ecf20Sopenharmony_ci device_type = "memory"; 1008c2ecf20Sopenharmony_ci reg = <0x00000000 0x00000000 0x00000000>; // Filled in by zImage 1018c2ecf20Sopenharmony_ci 1028c2ecf20Sopenharmony_ci }; 1038c2ecf20Sopenharmony_ci 1048c2ecf20Sopenharmony_ci MPIC: interrupt-controller { 1058c2ecf20Sopenharmony_ci compatible = "chrp,open-pic"; 1068c2ecf20Sopenharmony_ci interrupt-controller; 1078c2ecf20Sopenharmony_ci dcr-reg = <0xffc00000 0x00030000>; 1088c2ecf20Sopenharmony_ci #address-cells = <0>; 1098c2ecf20Sopenharmony_ci #size-cells = <0>; 1108c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 1118c2ecf20Sopenharmony_ci 1128c2ecf20Sopenharmony_ci }; 1138c2ecf20Sopenharmony_ci 1148c2ecf20Sopenharmony_ci plb { 1158c2ecf20Sopenharmony_ci compatible = "ibm,plb-4xx", "ibm,plb4"; /* Could be PLB6, doesn't matter */ 1168c2ecf20Sopenharmony_ci #address-cells = <2>; 1178c2ecf20Sopenharmony_ci #size-cells = <1>; 1188c2ecf20Sopenharmony_ci ranges; 1198c2ecf20Sopenharmony_ci clock-frequency = <0>; // Filled in by zImage 1208c2ecf20Sopenharmony_ci 1218c2ecf20Sopenharmony_ci POB0: opb { 1228c2ecf20Sopenharmony_ci compatible = "ibm,opb-4xx", "ibm,opb"; 1238c2ecf20Sopenharmony_ci #address-cells = <1>; 1248c2ecf20Sopenharmony_ci #size-cells = <1>; 1258c2ecf20Sopenharmony_ci /* Wish there was a nicer way of specifying a full 32-bit 1268c2ecf20Sopenharmony_ci range */ 1278c2ecf20Sopenharmony_ci ranges = <0x00000000 0x00000001 0x00000000 0x80000000 1288c2ecf20Sopenharmony_ci 0x80000000 0x00000001 0x80000000 0x80000000>; 1298c2ecf20Sopenharmony_ci clock-frequency = <0>; // Filled in by zImage 1308c2ecf20Sopenharmony_ci UART0: serial@40000200 { 1318c2ecf20Sopenharmony_ci device_type = "serial"; 1328c2ecf20Sopenharmony_ci compatible = "ns16550a"; 1338c2ecf20Sopenharmony_ci reg = <0x40000200 0x00000008>; 1348c2ecf20Sopenharmony_ci virtual-reg = <0xe0000200>; 1358c2ecf20Sopenharmony_ci clock-frequency = <11059200>; 1368c2ecf20Sopenharmony_ci current-speed = <115200>; 1378c2ecf20Sopenharmony_ci interrupt-parent = <&MPIC>; 1388c2ecf20Sopenharmony_ci interrupts = <0x0 0x2>; 1398c2ecf20Sopenharmony_ci }; 1408c2ecf20Sopenharmony_ci }; 1418c2ecf20Sopenharmony_ci }; 1428c2ecf20Sopenharmony_ci 1438c2ecf20Sopenharmony_ci nvrtc { 1448c2ecf20Sopenharmony_ci compatible = "ds1743-nvram", "ds1743", "rtc-ds1743"; 1458c2ecf20Sopenharmony_ci reg = <0 0xEF703000 0x2000>; 1468c2ecf20Sopenharmony_ci }; 1478c2ecf20Sopenharmony_ci iss-block { 1488c2ecf20Sopenharmony_ci compatible = "ibm,iss-sim-block-device"; 1498c2ecf20Sopenharmony_ci reg = <0 0xEF701000 0x1000>; 1508c2ecf20Sopenharmony_ci }; 1518c2ecf20Sopenharmony_ci 1528c2ecf20Sopenharmony_ci chosen { 1538c2ecf20Sopenharmony_ci stdout-path = "/plb/opb/serial@40000200"; 1548c2ecf20Sopenharmony_ci }; 1558c2ecf20Sopenharmony_ci}; 156