18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * TQM 8540 Device Tree Source 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Copyright 2008 Freescale Semiconductor Inc. 68c2ecf20Sopenharmony_ci */ 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci/dts-v1/; 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci/ { 118c2ecf20Sopenharmony_ci model = "tqc,tqm8540"; 128c2ecf20Sopenharmony_ci compatible = "tqc,tqm8540"; 138c2ecf20Sopenharmony_ci #address-cells = <1>; 148c2ecf20Sopenharmony_ci #size-cells = <1>; 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci aliases { 178c2ecf20Sopenharmony_ci ethernet0 = &enet0; 188c2ecf20Sopenharmony_ci ethernet1 = &enet1; 198c2ecf20Sopenharmony_ci ethernet2 = &enet2; 208c2ecf20Sopenharmony_ci serial0 = &serial0; 218c2ecf20Sopenharmony_ci serial1 = &serial1; 228c2ecf20Sopenharmony_ci pci0 = &pci0; 238c2ecf20Sopenharmony_ci }; 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci cpus { 268c2ecf20Sopenharmony_ci #address-cells = <1>; 278c2ecf20Sopenharmony_ci #size-cells = <0>; 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ci PowerPC,8540@0 { 308c2ecf20Sopenharmony_ci device_type = "cpu"; 318c2ecf20Sopenharmony_ci reg = <0>; 328c2ecf20Sopenharmony_ci d-cache-line-size = <32>; 338c2ecf20Sopenharmony_ci i-cache-line-size = <32>; 348c2ecf20Sopenharmony_ci d-cache-size = <32768>; 358c2ecf20Sopenharmony_ci i-cache-size = <32768>; 368c2ecf20Sopenharmony_ci timebase-frequency = <0>; 378c2ecf20Sopenharmony_ci bus-frequency = <0>; 388c2ecf20Sopenharmony_ci clock-frequency = <0>; 398c2ecf20Sopenharmony_ci next-level-cache = <&L2>; 408c2ecf20Sopenharmony_ci }; 418c2ecf20Sopenharmony_ci }; 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci memory { 448c2ecf20Sopenharmony_ci device_type = "memory"; 458c2ecf20Sopenharmony_ci reg = <0x00000000 0x10000000>; 468c2ecf20Sopenharmony_ci }; 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci soc@e0000000 { 498c2ecf20Sopenharmony_ci #address-cells = <1>; 508c2ecf20Sopenharmony_ci #size-cells = <1>; 518c2ecf20Sopenharmony_ci device_type = "soc"; 528c2ecf20Sopenharmony_ci ranges = <0x0 0xe0000000 0x100000>; 538c2ecf20Sopenharmony_ci bus-frequency = <0>; 548c2ecf20Sopenharmony_ci compatible = "fsl,mpc8540-immr", "simple-bus"; 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ci ecm-law@0 { 578c2ecf20Sopenharmony_ci compatible = "fsl,ecm-law"; 588c2ecf20Sopenharmony_ci reg = <0x0 0x1000>; 598c2ecf20Sopenharmony_ci fsl,num-laws = <8>; 608c2ecf20Sopenharmony_ci }; 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_ci ecm@1000 { 638c2ecf20Sopenharmony_ci compatible = "fsl,mpc8540-ecm", "fsl,ecm"; 648c2ecf20Sopenharmony_ci reg = <0x1000 0x1000>; 658c2ecf20Sopenharmony_ci interrupts = <17 2>; 668c2ecf20Sopenharmony_ci interrupt-parent = <&mpic>; 678c2ecf20Sopenharmony_ci }; 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_ci memory-controller@2000 { 708c2ecf20Sopenharmony_ci compatible = "fsl,mpc8540-memory-controller"; 718c2ecf20Sopenharmony_ci reg = <0x2000 0x1000>; 728c2ecf20Sopenharmony_ci interrupt-parent = <&mpic>; 738c2ecf20Sopenharmony_ci interrupts = <18 2>; 748c2ecf20Sopenharmony_ci }; 758c2ecf20Sopenharmony_ci 768c2ecf20Sopenharmony_ci L2: l2-cache-controller@20000 { 778c2ecf20Sopenharmony_ci compatible = "fsl,mpc8540-l2-cache-controller"; 788c2ecf20Sopenharmony_ci reg = <0x20000 0x1000>; 798c2ecf20Sopenharmony_ci cache-line-size = <32>; 808c2ecf20Sopenharmony_ci cache-size = <0x40000>; // L2, 256K 818c2ecf20Sopenharmony_ci interrupt-parent = <&mpic>; 828c2ecf20Sopenharmony_ci interrupts = <16 2>; 838c2ecf20Sopenharmony_ci }; 848c2ecf20Sopenharmony_ci 858c2ecf20Sopenharmony_ci i2c@3000 { 868c2ecf20Sopenharmony_ci #address-cells = <1>; 878c2ecf20Sopenharmony_ci #size-cells = <0>; 888c2ecf20Sopenharmony_ci cell-index = <0>; 898c2ecf20Sopenharmony_ci compatible = "fsl-i2c"; 908c2ecf20Sopenharmony_ci reg = <0x3000 0x100>; 918c2ecf20Sopenharmony_ci interrupts = <43 2>; 928c2ecf20Sopenharmony_ci interrupt-parent = <&mpic>; 938c2ecf20Sopenharmony_ci dfsrr; 948c2ecf20Sopenharmony_ci 958c2ecf20Sopenharmony_ci dtt@48 { 968c2ecf20Sopenharmony_ci compatible = "national,lm75"; 978c2ecf20Sopenharmony_ci reg = <0x48>; 988c2ecf20Sopenharmony_ci }; 998c2ecf20Sopenharmony_ci 1008c2ecf20Sopenharmony_ci rtc@68 { 1018c2ecf20Sopenharmony_ci compatible = "dallas,ds1337"; 1028c2ecf20Sopenharmony_ci reg = <0x68>; 1038c2ecf20Sopenharmony_ci }; 1048c2ecf20Sopenharmony_ci }; 1058c2ecf20Sopenharmony_ci 1068c2ecf20Sopenharmony_ci dma@21300 { 1078c2ecf20Sopenharmony_ci #address-cells = <1>; 1088c2ecf20Sopenharmony_ci #size-cells = <1>; 1098c2ecf20Sopenharmony_ci compatible = "fsl,mpc8540-dma", "fsl,eloplus-dma"; 1108c2ecf20Sopenharmony_ci reg = <0x21300 0x4>; 1118c2ecf20Sopenharmony_ci ranges = <0x0 0x21100 0x200>; 1128c2ecf20Sopenharmony_ci cell-index = <0>; 1138c2ecf20Sopenharmony_ci dma-channel@0 { 1148c2ecf20Sopenharmony_ci compatible = "fsl,mpc8540-dma-channel", 1158c2ecf20Sopenharmony_ci "fsl,eloplus-dma-channel"; 1168c2ecf20Sopenharmony_ci reg = <0x0 0x80>; 1178c2ecf20Sopenharmony_ci cell-index = <0>; 1188c2ecf20Sopenharmony_ci interrupt-parent = <&mpic>; 1198c2ecf20Sopenharmony_ci interrupts = <20 2>; 1208c2ecf20Sopenharmony_ci }; 1218c2ecf20Sopenharmony_ci dma-channel@80 { 1228c2ecf20Sopenharmony_ci compatible = "fsl,mpc8540-dma-channel", 1238c2ecf20Sopenharmony_ci "fsl,eloplus-dma-channel"; 1248c2ecf20Sopenharmony_ci reg = <0x80 0x80>; 1258c2ecf20Sopenharmony_ci cell-index = <1>; 1268c2ecf20Sopenharmony_ci interrupt-parent = <&mpic>; 1278c2ecf20Sopenharmony_ci interrupts = <21 2>; 1288c2ecf20Sopenharmony_ci }; 1298c2ecf20Sopenharmony_ci dma-channel@100 { 1308c2ecf20Sopenharmony_ci compatible = "fsl,mpc8540-dma-channel", 1318c2ecf20Sopenharmony_ci "fsl,eloplus-dma-channel"; 1328c2ecf20Sopenharmony_ci reg = <0x100 0x80>; 1338c2ecf20Sopenharmony_ci cell-index = <2>; 1348c2ecf20Sopenharmony_ci interrupt-parent = <&mpic>; 1358c2ecf20Sopenharmony_ci interrupts = <22 2>; 1368c2ecf20Sopenharmony_ci }; 1378c2ecf20Sopenharmony_ci dma-channel@180 { 1388c2ecf20Sopenharmony_ci compatible = "fsl,mpc8540-dma-channel", 1398c2ecf20Sopenharmony_ci "fsl,eloplus-dma-channel"; 1408c2ecf20Sopenharmony_ci reg = <0x180 0x80>; 1418c2ecf20Sopenharmony_ci cell-index = <3>; 1428c2ecf20Sopenharmony_ci interrupt-parent = <&mpic>; 1438c2ecf20Sopenharmony_ci interrupts = <23 2>; 1448c2ecf20Sopenharmony_ci }; 1458c2ecf20Sopenharmony_ci }; 1468c2ecf20Sopenharmony_ci 1478c2ecf20Sopenharmony_ci enet0: ethernet@24000 { 1488c2ecf20Sopenharmony_ci #address-cells = <1>; 1498c2ecf20Sopenharmony_ci #size-cells = <1>; 1508c2ecf20Sopenharmony_ci cell-index = <0>; 1518c2ecf20Sopenharmony_ci device_type = "network"; 1528c2ecf20Sopenharmony_ci model = "TSEC"; 1538c2ecf20Sopenharmony_ci compatible = "gianfar"; 1548c2ecf20Sopenharmony_ci reg = <0x24000 0x1000>; 1558c2ecf20Sopenharmony_ci ranges = <0x0 0x24000 0x1000>; 1568c2ecf20Sopenharmony_ci local-mac-address = [ 00 00 00 00 00 00 ]; 1578c2ecf20Sopenharmony_ci interrupts = <29 2 30 2 34 2>; 1588c2ecf20Sopenharmony_ci interrupt-parent = <&mpic>; 1598c2ecf20Sopenharmony_ci phy-handle = <&phy2>; 1608c2ecf20Sopenharmony_ci 1618c2ecf20Sopenharmony_ci mdio@520 { 1628c2ecf20Sopenharmony_ci #address-cells = <1>; 1638c2ecf20Sopenharmony_ci #size-cells = <0>; 1648c2ecf20Sopenharmony_ci compatible = "fsl,gianfar-mdio"; 1658c2ecf20Sopenharmony_ci reg = <0x520 0x20>; 1668c2ecf20Sopenharmony_ci 1678c2ecf20Sopenharmony_ci phy1: ethernet-phy@1 { 1688c2ecf20Sopenharmony_ci interrupt-parent = <&mpic>; 1698c2ecf20Sopenharmony_ci interrupts = <8 1>; 1708c2ecf20Sopenharmony_ci reg = <1>; 1718c2ecf20Sopenharmony_ci }; 1728c2ecf20Sopenharmony_ci phy2: ethernet-phy@2 { 1738c2ecf20Sopenharmony_ci interrupt-parent = <&mpic>; 1748c2ecf20Sopenharmony_ci interrupts = <8 1>; 1758c2ecf20Sopenharmony_ci reg = <2>; 1768c2ecf20Sopenharmony_ci }; 1778c2ecf20Sopenharmony_ci phy3: ethernet-phy@3 { 1788c2ecf20Sopenharmony_ci interrupt-parent = <&mpic>; 1798c2ecf20Sopenharmony_ci interrupts = <8 1>; 1808c2ecf20Sopenharmony_ci reg = <3>; 1818c2ecf20Sopenharmony_ci }; 1828c2ecf20Sopenharmony_ci tbi0: tbi-phy@11 { 1838c2ecf20Sopenharmony_ci reg = <0x11>; 1848c2ecf20Sopenharmony_ci device_type = "tbi-phy"; 1858c2ecf20Sopenharmony_ci }; 1868c2ecf20Sopenharmony_ci }; 1878c2ecf20Sopenharmony_ci }; 1888c2ecf20Sopenharmony_ci 1898c2ecf20Sopenharmony_ci enet1: ethernet@25000 { 1908c2ecf20Sopenharmony_ci #address-cells = <1>; 1918c2ecf20Sopenharmony_ci #size-cells = <1>; 1928c2ecf20Sopenharmony_ci cell-index = <1>; 1938c2ecf20Sopenharmony_ci device_type = "network"; 1948c2ecf20Sopenharmony_ci model = "TSEC"; 1958c2ecf20Sopenharmony_ci compatible = "gianfar"; 1968c2ecf20Sopenharmony_ci reg = <0x25000 0x1000>; 1978c2ecf20Sopenharmony_ci ranges = <0x0 0x25000 0x1000>; 1988c2ecf20Sopenharmony_ci local-mac-address = [ 00 00 00 00 00 00 ]; 1998c2ecf20Sopenharmony_ci interrupts = <35 2 36 2 40 2>; 2008c2ecf20Sopenharmony_ci interrupt-parent = <&mpic>; 2018c2ecf20Sopenharmony_ci phy-handle = <&phy1>; 2028c2ecf20Sopenharmony_ci 2038c2ecf20Sopenharmony_ci mdio@520 { 2048c2ecf20Sopenharmony_ci #address-cells = <1>; 2058c2ecf20Sopenharmony_ci #size-cells = <0>; 2068c2ecf20Sopenharmony_ci compatible = "fsl,gianfar-tbi"; 2078c2ecf20Sopenharmony_ci reg = <0x520 0x20>; 2088c2ecf20Sopenharmony_ci 2098c2ecf20Sopenharmony_ci tbi1: tbi-phy@11 { 2108c2ecf20Sopenharmony_ci reg = <0x11>; 2118c2ecf20Sopenharmony_ci device_type = "tbi-phy"; 2128c2ecf20Sopenharmony_ci }; 2138c2ecf20Sopenharmony_ci }; 2148c2ecf20Sopenharmony_ci }; 2158c2ecf20Sopenharmony_ci 2168c2ecf20Sopenharmony_ci enet2: ethernet@26000 { 2178c2ecf20Sopenharmony_ci #address-cells = <1>; 2188c2ecf20Sopenharmony_ci #size-cells = <1>; 2198c2ecf20Sopenharmony_ci cell-index = <2>; 2208c2ecf20Sopenharmony_ci device_type = "network"; 2218c2ecf20Sopenharmony_ci model = "FEC"; 2228c2ecf20Sopenharmony_ci compatible = "gianfar"; 2238c2ecf20Sopenharmony_ci reg = <0x26000 0x1000>; 2248c2ecf20Sopenharmony_ci ranges = <0x0 0x26000 0x1000>; 2258c2ecf20Sopenharmony_ci local-mac-address = [ 00 00 00 00 00 00 ]; 2268c2ecf20Sopenharmony_ci interrupts = <41 2>; 2278c2ecf20Sopenharmony_ci interrupt-parent = <&mpic>; 2288c2ecf20Sopenharmony_ci phy-handle = <&phy3>; 2298c2ecf20Sopenharmony_ci 2308c2ecf20Sopenharmony_ci mdio@520 { 2318c2ecf20Sopenharmony_ci #address-cells = <1>; 2328c2ecf20Sopenharmony_ci #size-cells = <0>; 2338c2ecf20Sopenharmony_ci compatible = "fsl,gianfar-tbi"; 2348c2ecf20Sopenharmony_ci reg = <0x520 0x20>; 2358c2ecf20Sopenharmony_ci 2368c2ecf20Sopenharmony_ci tbi2: tbi-phy@11 { 2378c2ecf20Sopenharmony_ci reg = <0x11>; 2388c2ecf20Sopenharmony_ci device_type = "tbi-phy"; 2398c2ecf20Sopenharmony_ci }; 2408c2ecf20Sopenharmony_ci }; 2418c2ecf20Sopenharmony_ci }; 2428c2ecf20Sopenharmony_ci 2438c2ecf20Sopenharmony_ci serial0: serial@4500 { 2448c2ecf20Sopenharmony_ci cell-index = <0>; 2458c2ecf20Sopenharmony_ci device_type = "serial"; 2468c2ecf20Sopenharmony_ci compatible = "fsl,ns16550", "ns16550"; 2478c2ecf20Sopenharmony_ci reg = <0x4500 0x100>; // reg base, size 2488c2ecf20Sopenharmony_ci clock-frequency = <0>; // should we fill in in uboot? 2498c2ecf20Sopenharmony_ci interrupts = <42 2>; 2508c2ecf20Sopenharmony_ci interrupt-parent = <&mpic>; 2518c2ecf20Sopenharmony_ci }; 2528c2ecf20Sopenharmony_ci 2538c2ecf20Sopenharmony_ci serial1: serial@4600 { 2548c2ecf20Sopenharmony_ci cell-index = <1>; 2558c2ecf20Sopenharmony_ci device_type = "serial"; 2568c2ecf20Sopenharmony_ci compatible = "fsl,ns16550", "ns16550"; 2578c2ecf20Sopenharmony_ci reg = <0x4600 0x100>; // reg base, size 2588c2ecf20Sopenharmony_ci clock-frequency = <0>; // should we fill in in uboot? 2598c2ecf20Sopenharmony_ci interrupts = <42 2>; 2608c2ecf20Sopenharmony_ci interrupt-parent = <&mpic>; 2618c2ecf20Sopenharmony_ci }; 2628c2ecf20Sopenharmony_ci 2638c2ecf20Sopenharmony_ci mpic: pic@40000 { 2648c2ecf20Sopenharmony_ci interrupt-controller; 2658c2ecf20Sopenharmony_ci #address-cells = <0>; 2668c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 2678c2ecf20Sopenharmony_ci reg = <0x40000 0x40000>; 2688c2ecf20Sopenharmony_ci device_type = "open-pic"; 2698c2ecf20Sopenharmony_ci compatible = "chrp,open-pic"; 2708c2ecf20Sopenharmony_ci }; 2718c2ecf20Sopenharmony_ci }; 2728c2ecf20Sopenharmony_ci 2738c2ecf20Sopenharmony_ci localbus@e0005000 { 2748c2ecf20Sopenharmony_ci #address-cells = <2>; 2758c2ecf20Sopenharmony_ci #size-cells = <1>; 2768c2ecf20Sopenharmony_ci compatible = "fsl,mpc8540-localbus", "fsl,pq3-localbus", 2778c2ecf20Sopenharmony_ci "simple-bus"; 2788c2ecf20Sopenharmony_ci reg = <0xe0005000 0x1000>; 2798c2ecf20Sopenharmony_ci interrupt-parent = <&mpic>; 2808c2ecf20Sopenharmony_ci interrupts = <19 2>; 2818c2ecf20Sopenharmony_ci 2828c2ecf20Sopenharmony_ci ranges = <0x0 0x0 0xfe000000 0x02000000>; 2838c2ecf20Sopenharmony_ci 2848c2ecf20Sopenharmony_ci nor@0,0 { 2858c2ecf20Sopenharmony_ci #address-cells = <1>; 2868c2ecf20Sopenharmony_ci #size-cells = <1>; 2878c2ecf20Sopenharmony_ci compatible = "cfi-flash"; 2888c2ecf20Sopenharmony_ci reg = <0x0 0x0 0x02000000>; 2898c2ecf20Sopenharmony_ci bank-width = <4>; 2908c2ecf20Sopenharmony_ci device-width = <2>; 2918c2ecf20Sopenharmony_ci partition@0 { 2928c2ecf20Sopenharmony_ci label = "kernel"; 2938c2ecf20Sopenharmony_ci reg = <0x00000000 0x00180000>; 2948c2ecf20Sopenharmony_ci }; 2958c2ecf20Sopenharmony_ci partition@180000 { 2968c2ecf20Sopenharmony_ci label = "root"; 2978c2ecf20Sopenharmony_ci reg = <0x00180000 0x01dc0000>; 2988c2ecf20Sopenharmony_ci }; 2998c2ecf20Sopenharmony_ci partition@1f40000 { 3008c2ecf20Sopenharmony_ci label = "env1"; 3018c2ecf20Sopenharmony_ci reg = <0x01f40000 0x00040000>; 3028c2ecf20Sopenharmony_ci }; 3038c2ecf20Sopenharmony_ci partition@1f80000 { 3048c2ecf20Sopenharmony_ci label = "env2"; 3058c2ecf20Sopenharmony_ci reg = <0x01f80000 0x00040000>; 3068c2ecf20Sopenharmony_ci }; 3078c2ecf20Sopenharmony_ci partition@1fc0000 { 3088c2ecf20Sopenharmony_ci label = "u-boot"; 3098c2ecf20Sopenharmony_ci reg = <0x01fc0000 0x00040000>; 3108c2ecf20Sopenharmony_ci read-only; 3118c2ecf20Sopenharmony_ci }; 3128c2ecf20Sopenharmony_ci }; 3138c2ecf20Sopenharmony_ci }; 3148c2ecf20Sopenharmony_ci 3158c2ecf20Sopenharmony_ci pci0: pci@e0008000 { 3168c2ecf20Sopenharmony_ci #interrupt-cells = <1>; 3178c2ecf20Sopenharmony_ci #size-cells = <2>; 3188c2ecf20Sopenharmony_ci #address-cells = <3>; 3198c2ecf20Sopenharmony_ci compatible = "fsl,mpc8540-pcix", "fsl,mpc8540-pci"; 3208c2ecf20Sopenharmony_ci device_type = "pci"; 3218c2ecf20Sopenharmony_ci reg = <0xe0008000 0x1000>; 3228c2ecf20Sopenharmony_ci clock-frequency = <66666666>; 3238c2ecf20Sopenharmony_ci interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 3248c2ecf20Sopenharmony_ci interrupt-map = < 3258c2ecf20Sopenharmony_ci /* IDSEL 28 */ 3268c2ecf20Sopenharmony_ci 0xe000 0 0 1 &mpic 2 1 3278c2ecf20Sopenharmony_ci 0xe000 0 0 2 &mpic 3 1 3288c2ecf20Sopenharmony_ci 0xe000 0 0 3 &mpic 6 1 3298c2ecf20Sopenharmony_ci 0xe000 0 0 4 &mpic 5 1 3308c2ecf20Sopenharmony_ci 3318c2ecf20Sopenharmony_ci /* IDSEL 11 */ 3328c2ecf20Sopenharmony_ci 0x5800 0 0 1 &mpic 6 1 3338c2ecf20Sopenharmony_ci 0x5800 0 0 2 &mpic 5 1 3348c2ecf20Sopenharmony_ci >; 3358c2ecf20Sopenharmony_ci 3368c2ecf20Sopenharmony_ci interrupt-parent = <&mpic>; 3378c2ecf20Sopenharmony_ci interrupts = <24 2>; 3388c2ecf20Sopenharmony_ci bus-range = <0 0>; 3398c2ecf20Sopenharmony_ci ranges = <0x02000000 0 0x80000000 0x80000000 0 0x20000000 3408c2ecf20Sopenharmony_ci 0x01000000 0 0x00000000 0xe2000000 0 0x01000000>; 3418c2ecf20Sopenharmony_ci }; 3428c2ecf20Sopenharmony_ci}; 343