18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci/ { 38c2ecf20Sopenharmony_ci /* 48c2ecf20Sopenharmony_ci * Loongson-3 may have as many as 4 nodes, each node has 4 cores. 58c2ecf20Sopenharmony_ci * Each core has its own pcache and cores in the same node share scache. 68c2ecf20Sopenharmony_ci */ 78c2ecf20Sopenharmony_ci cpus { 88c2ecf20Sopenharmony_ci #address-cells = <1>; 98c2ecf20Sopenharmony_ci #size-cells = <0>; 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci cpu@0 { 128c2ecf20Sopenharmony_ci compatible = "loongson,loongson3"; 138c2ecf20Sopenharmony_ci device_type = "cpu"; 148c2ecf20Sopenharmony_ci reg = <0x0>; 158c2ecf20Sopenharmony_ci l2-cache = <&vcache0>; 168c2ecf20Sopenharmony_ci next-level-cache = <&scache0>; 178c2ecf20Sopenharmony_ci }; 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci cpu@1 { 208c2ecf20Sopenharmony_ci compatible = "loongson,loongson3"; 218c2ecf20Sopenharmony_ci device_type = "cpu"; 228c2ecf20Sopenharmony_ci reg = <0x1>; 238c2ecf20Sopenharmony_ci l2-cache = <&vcache1>; 248c2ecf20Sopenharmony_ci next-level-cache = <&scache0>; 258c2ecf20Sopenharmony_ci }; 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ci cpu@2 { 288c2ecf20Sopenharmony_ci compatible = "loongson,loongson3"; 298c2ecf20Sopenharmony_ci device_type = "cpu"; 308c2ecf20Sopenharmony_ci reg = <0x2>; 318c2ecf20Sopenharmony_ci l2-cache = <&vcache2>; 328c2ecf20Sopenharmony_ci next-level-cache = <&scache0>; 338c2ecf20Sopenharmony_ci }; 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci cpu@3 { 368c2ecf20Sopenharmony_ci compatible = "loongson,loongson3"; 378c2ecf20Sopenharmony_ci device_type = "cpu"; 388c2ecf20Sopenharmony_ci reg = <0x3>; 398c2ecf20Sopenharmony_ci l2-cache = <&vcache3>; 408c2ecf20Sopenharmony_ci next-level-cache = <&scache0>; 418c2ecf20Sopenharmony_ci }; 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci cpu@4 { 448c2ecf20Sopenharmony_ci compatible = "loongson,loongson3"; 458c2ecf20Sopenharmony_ci device_type = "cpu"; 468c2ecf20Sopenharmony_ci reg = <0x4>; 478c2ecf20Sopenharmony_ci l2-cache = <&vcache4>; 488c2ecf20Sopenharmony_ci next-level-cache = <&scache1>; 498c2ecf20Sopenharmony_ci }; 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci cpu@5 { 528c2ecf20Sopenharmony_ci compatible = "loongson,loongson3"; 538c2ecf20Sopenharmony_ci device_type = "cpu"; 548c2ecf20Sopenharmony_ci reg = <0x5>; 558c2ecf20Sopenharmony_ci l2-cache = <&vcache5>; 568c2ecf20Sopenharmony_ci next-level-cache = <&scache1>; 578c2ecf20Sopenharmony_ci }; 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci cpu@6 { 608c2ecf20Sopenharmony_ci compatible = "loongson,loongson3"; 618c2ecf20Sopenharmony_ci device_type = "cpu"; 628c2ecf20Sopenharmony_ci reg = <0x6>; 638c2ecf20Sopenharmony_ci l2-cache = <&vcache6>; 648c2ecf20Sopenharmony_ci next-level-cache = <&scache1>; 658c2ecf20Sopenharmony_ci }; 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ci cpu@7 { 688c2ecf20Sopenharmony_ci compatible = "loongson,loongson3"; 698c2ecf20Sopenharmony_ci device_type = "cpu"; 708c2ecf20Sopenharmony_ci reg = <0x7>; 718c2ecf20Sopenharmony_ci l2-cache = <&vcache7>; 728c2ecf20Sopenharmony_ci next-level-cache = <&scache1>; 738c2ecf20Sopenharmony_ci }; 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ci cpu@8 { 768c2ecf20Sopenharmony_ci compatible = "loongson,loongson3"; 778c2ecf20Sopenharmony_ci device_type = "cpu"; 788c2ecf20Sopenharmony_ci reg = <0x8>; 798c2ecf20Sopenharmony_ci l2-cache = <&vcache8>; 808c2ecf20Sopenharmony_ci next-level-cache = <&scache2>; 818c2ecf20Sopenharmony_ci }; 828c2ecf20Sopenharmony_ci 838c2ecf20Sopenharmony_ci cpu@9 { 848c2ecf20Sopenharmony_ci compatible = "loongson,loongson3"; 858c2ecf20Sopenharmony_ci device_type = "cpu"; 868c2ecf20Sopenharmony_ci reg = <0x9>; 878c2ecf20Sopenharmony_ci l2-cache = <&vcache9>; 888c2ecf20Sopenharmony_ci next-level-cache = <&scache2>; 898c2ecf20Sopenharmony_ci }; 908c2ecf20Sopenharmony_ci 918c2ecf20Sopenharmony_ci cpu@a { 928c2ecf20Sopenharmony_ci compatible = "loongson,loongson3"; 938c2ecf20Sopenharmony_ci device_type = "cpu"; 948c2ecf20Sopenharmony_ci reg = <0xa>; 958c2ecf20Sopenharmony_ci l2-cache = <&vcachea>; 968c2ecf20Sopenharmony_ci next-level-cache = <&scache2>; 978c2ecf20Sopenharmony_ci }; 988c2ecf20Sopenharmony_ci 998c2ecf20Sopenharmony_ci cpu@b { 1008c2ecf20Sopenharmony_ci compatible = "loongson,loongson3"; 1018c2ecf20Sopenharmony_ci device_type = "cpu"; 1028c2ecf20Sopenharmony_ci reg = <0xb>; 1038c2ecf20Sopenharmony_ci l2-cache = <&vcacheb>; 1048c2ecf20Sopenharmony_ci next-level-cache = <&scache2>; 1058c2ecf20Sopenharmony_ci }; 1068c2ecf20Sopenharmony_ci 1078c2ecf20Sopenharmony_ci cpu@c { 1088c2ecf20Sopenharmony_ci compatible = "loongson,loongson3"; 1098c2ecf20Sopenharmony_ci device_type = "cpu"; 1108c2ecf20Sopenharmony_ci reg = <0xc>; 1118c2ecf20Sopenharmony_ci l2-cache = <&vcachec>; 1128c2ecf20Sopenharmony_ci next-level-cache = <&scache3>; 1138c2ecf20Sopenharmony_ci }; 1148c2ecf20Sopenharmony_ci 1158c2ecf20Sopenharmony_ci cpu@d { 1168c2ecf20Sopenharmony_ci compatible = "loongson,loongson3"; 1178c2ecf20Sopenharmony_ci device_type = "cpu"; 1188c2ecf20Sopenharmony_ci reg = <0xd>; 1198c2ecf20Sopenharmony_ci l2-cache = <&vcached>; 1208c2ecf20Sopenharmony_ci next-level-cache = <&scache3>; 1218c2ecf20Sopenharmony_ci }; 1228c2ecf20Sopenharmony_ci 1238c2ecf20Sopenharmony_ci cpu@e { 1248c2ecf20Sopenharmony_ci compatible = "loongson,loongson3"; 1258c2ecf20Sopenharmony_ci device_type = "cpu"; 1268c2ecf20Sopenharmony_ci reg = <0xe>; 1278c2ecf20Sopenharmony_ci l2-cache = <&vcachee>; 1288c2ecf20Sopenharmony_ci next-level-cache = <&scache3>; 1298c2ecf20Sopenharmony_ci }; 1308c2ecf20Sopenharmony_ci 1318c2ecf20Sopenharmony_ci cpu@f { 1328c2ecf20Sopenharmony_ci compatible = "loongson,loongson3"; 1338c2ecf20Sopenharmony_ci device_type = "cpu"; 1348c2ecf20Sopenharmony_ci reg = <0xf>; 1358c2ecf20Sopenharmony_ci l2-cache = <&vcachef>; 1368c2ecf20Sopenharmony_ci next-level-cache = <&scache3>; 1378c2ecf20Sopenharmony_ci }; 1388c2ecf20Sopenharmony_ci 1398c2ecf20Sopenharmony_ci vcache0: l2-cache0 { 1408c2ecf20Sopenharmony_ci compatible = "cache"; 1418c2ecf20Sopenharmony_ci next-level-cache = <&scache0>; 1428c2ecf20Sopenharmony_ci }; 1438c2ecf20Sopenharmony_ci 1448c2ecf20Sopenharmony_ci vcache1: l2-cache1 { 1458c2ecf20Sopenharmony_ci compatible = "cache"; 1468c2ecf20Sopenharmony_ci next-level-cache = <&scache0>; 1478c2ecf20Sopenharmony_ci }; 1488c2ecf20Sopenharmony_ci 1498c2ecf20Sopenharmony_ci vcache2: l2-cache2 { 1508c2ecf20Sopenharmony_ci compatible = "cache"; 1518c2ecf20Sopenharmony_ci next-level-cache = <&scache0>; 1528c2ecf20Sopenharmony_ci }; 1538c2ecf20Sopenharmony_ci 1548c2ecf20Sopenharmony_ci vcache3: l2-cache3 { 1558c2ecf20Sopenharmony_ci compatible = "cache"; 1568c2ecf20Sopenharmony_ci next-level-cache = <&scache0>; 1578c2ecf20Sopenharmony_ci }; 1588c2ecf20Sopenharmony_ci 1598c2ecf20Sopenharmony_ci vcache4: l2-cache4 { 1608c2ecf20Sopenharmony_ci compatible = "cache"; 1618c2ecf20Sopenharmony_ci next-level-cache = <&scache1>; 1628c2ecf20Sopenharmony_ci }; 1638c2ecf20Sopenharmony_ci 1648c2ecf20Sopenharmony_ci vcache5: l2-cache5 { 1658c2ecf20Sopenharmony_ci compatible = "cache"; 1668c2ecf20Sopenharmony_ci next-level-cache = <&scache1>; 1678c2ecf20Sopenharmony_ci }; 1688c2ecf20Sopenharmony_ci 1698c2ecf20Sopenharmony_ci vcache6: l2-cache6 { 1708c2ecf20Sopenharmony_ci compatible = "cahce"; 1718c2ecf20Sopenharmony_ci next-level-cache = <&scache1>; 1728c2ecf20Sopenharmony_ci }; 1738c2ecf20Sopenharmony_ci 1748c2ecf20Sopenharmony_ci vcache7: l2-cache7 { 1758c2ecf20Sopenharmony_ci compatible = "cache"; 1768c2ecf20Sopenharmony_ci next-level-cache = <&scache1>; 1778c2ecf20Sopenharmony_ci }; 1788c2ecf20Sopenharmony_ci 1798c2ecf20Sopenharmony_ci vcache8: l2-cache8 { 1808c2ecf20Sopenharmony_ci compatible = "cache"; 1818c2ecf20Sopenharmony_ci next-level-cache = <&scache2>; 1828c2ecf20Sopenharmony_ci }; 1838c2ecf20Sopenharmony_ci 1848c2ecf20Sopenharmony_ci vcache9: l2-cache9 { 1858c2ecf20Sopenharmony_ci compatible = "cache"; 1868c2ecf20Sopenharmony_ci next-level-cache = <&scache2>; 1878c2ecf20Sopenharmony_ci }; 1888c2ecf20Sopenharmony_ci 1898c2ecf20Sopenharmony_ci vcachea: l2-cachea { 1908c2ecf20Sopenharmony_ci compatible = "cache"; 1918c2ecf20Sopenharmony_ci next-level-cache = <&scache2>; 1928c2ecf20Sopenharmony_ci }; 1938c2ecf20Sopenharmony_ci 1948c2ecf20Sopenharmony_ci vcacheb: l2-cacheb { 1958c2ecf20Sopenharmony_ci compatible = "cache"; 1968c2ecf20Sopenharmony_ci next-level-cache = <&scache2>; 1978c2ecf20Sopenharmony_ci }; 1988c2ecf20Sopenharmony_ci 1998c2ecf20Sopenharmony_ci vcachec: l2-cachec { 2008c2ecf20Sopenharmony_ci compatible = "cache"; 2018c2ecf20Sopenharmony_ci next-level-cache = <&scache3>; 2028c2ecf20Sopenharmony_ci }; 2038c2ecf20Sopenharmony_ci 2048c2ecf20Sopenharmony_ci vcached: l2-cached { 2058c2ecf20Sopenharmony_ci compatible = "cache"; 2068c2ecf20Sopenharmony_ci next-level-cache = <&scache3>; 2078c2ecf20Sopenharmony_ci }; 2088c2ecf20Sopenharmony_ci 2098c2ecf20Sopenharmony_ci vcachee: l2-cachee { 2108c2ecf20Sopenharmony_ci compatible = "cache"; 2118c2ecf20Sopenharmony_ci next-level-cache = <&scache3>; 2128c2ecf20Sopenharmony_ci }; 2138c2ecf20Sopenharmony_ci 2148c2ecf20Sopenharmony_ci vcachef: l2-cachef { 2158c2ecf20Sopenharmony_ci compatible = "cache"; 2168c2ecf20Sopenharmony_ci next-level-cache = <&scache3>; 2178c2ecf20Sopenharmony_ci }; 2188c2ecf20Sopenharmony_ci 2198c2ecf20Sopenharmony_ci scache0: l3-cache0 { 2208c2ecf20Sopenharmony_ci compatible = "cache"; 2218c2ecf20Sopenharmony_ci }; 2228c2ecf20Sopenharmony_ci 2238c2ecf20Sopenharmony_ci scache1: l3-cache1 { 2248c2ecf20Sopenharmony_ci compatible = "cache"; 2258c2ecf20Sopenharmony_ci }; 2268c2ecf20Sopenharmony_ci 2278c2ecf20Sopenharmony_ci scache2: l3-cache2 { 2288c2ecf20Sopenharmony_ci compatible = "cache"; 2298c2ecf20Sopenharmony_ci }; 2308c2ecf20Sopenharmony_ci 2318c2ecf20Sopenharmony_ci scache3: l3-cache3 { 2328c2ecf20Sopenharmony_ci compatible = "cache"; 2338c2ecf20Sopenharmony_ci }; 2348c2ecf20Sopenharmony_ci }; 2358c2ecf20Sopenharmony_ci}; 236