14664ebd8SApurva Nandan// SPDX-License-Identifier: GPL-2.0 24664ebd8SApurva Nandan/* 34664ebd8SApurva Nandan * Device Tree Source for J784S4 SoC Family 44664ebd8SApurva Nandan * 55e880618SNishanth Menon * TRM (SPRUJ43 JULY 2022): https://www.ti.com/lit/zip/spruj52 64664ebd8SApurva Nandan * 74664ebd8SApurva Nandan * Copyright (C) 2022 Texas Instruments Incorporated - https://www.ti.com/ 84664ebd8SApurva Nandan * 94664ebd8SApurva Nandan */ 104664ebd8SApurva Nandan 114664ebd8SApurva Nandan#include <dt-bindings/interrupt-controller/irq.h> 124664ebd8SApurva Nandan#include <dt-bindings/interrupt-controller/arm-gic.h> 134664ebd8SApurva Nandan#include <dt-bindings/soc/ti,sci_pm_domain.h> 144664ebd8SApurva Nandan 15fe49f2d7SNishanth Menon#include "k3-pinctrl.h" 16fe49f2d7SNishanth Menon 174664ebd8SApurva Nandan/ { 184664ebd8SApurva Nandan model = "Texas Instruments K3 J784S4 SoC"; 194664ebd8SApurva Nandan compatible = "ti,j784s4"; 204664ebd8SApurva Nandan interrupt-parent = <&gic500>; 214664ebd8SApurva Nandan #address-cells = <2>; 224664ebd8SApurva Nandan #size-cells = <2>; 234664ebd8SApurva Nandan 244664ebd8SApurva Nandan cpus { 254664ebd8SApurva Nandan #address-cells = <1>; 264664ebd8SApurva Nandan #size-cells = <0>; 274664ebd8SApurva Nandan cpu-map { 284664ebd8SApurva Nandan cluster0: cluster0 { 294664ebd8SApurva Nandan core0 { 304664ebd8SApurva Nandan cpu = <&cpu0>; 314664ebd8SApurva Nandan }; 324664ebd8SApurva Nandan 334664ebd8SApurva Nandan core1 { 344664ebd8SApurva Nandan cpu = <&cpu1>; 354664ebd8SApurva Nandan }; 364664ebd8SApurva Nandan 374664ebd8SApurva Nandan core2 { 384664ebd8SApurva Nandan cpu = <&cpu2>; 394664ebd8SApurva Nandan }; 404664ebd8SApurva Nandan 414664ebd8SApurva Nandan core3 { 424664ebd8SApurva Nandan cpu = <&cpu3>; 434664ebd8SApurva Nandan }; 444664ebd8SApurva Nandan }; 454664ebd8SApurva Nandan 464664ebd8SApurva Nandan cluster1: cluster1 { 474664ebd8SApurva Nandan core0 { 484664ebd8SApurva Nandan cpu = <&cpu4>; 494664ebd8SApurva Nandan }; 504664ebd8SApurva Nandan 514664ebd8SApurva Nandan core1 { 524664ebd8SApurva Nandan cpu = <&cpu5>; 534664ebd8SApurva Nandan }; 544664ebd8SApurva Nandan 554664ebd8SApurva Nandan core2 { 564664ebd8SApurva Nandan cpu = <&cpu6>; 574664ebd8SApurva Nandan }; 584664ebd8SApurva Nandan 594664ebd8SApurva Nandan core3 { 604664ebd8SApurva Nandan cpu = <&cpu7>; 614664ebd8SApurva Nandan }; 624664ebd8SApurva Nandan }; 634664ebd8SApurva Nandan }; 644664ebd8SApurva Nandan 654664ebd8SApurva Nandan cpu0: cpu@0 { 664664ebd8SApurva Nandan compatible = "arm,cortex-a72"; 674664ebd8SApurva Nandan reg = <0x000>; 684664ebd8SApurva Nandan device_type = "cpu"; 694664ebd8SApurva Nandan enable-method = "psci"; 704664ebd8SApurva Nandan i-cache-size = <0xc000>; 714664ebd8SApurva Nandan i-cache-line-size = <64>; 724664ebd8SApurva Nandan i-cache-sets = <256>; 734664ebd8SApurva Nandan d-cache-size = <0x8000>; 744664ebd8SApurva Nandan d-cache-line-size = <64>; 754664ebd8SApurva Nandan d-cache-sets = <256>; 764664ebd8SApurva Nandan next-level-cache = <&L2_0>; 774664ebd8SApurva Nandan }; 784664ebd8SApurva Nandan 794664ebd8SApurva Nandan cpu1: cpu@1 { 804664ebd8SApurva Nandan compatible = "arm,cortex-a72"; 814664ebd8SApurva Nandan reg = <0x001>; 824664ebd8SApurva Nandan device_type = "cpu"; 834664ebd8SApurva Nandan enable-method = "psci"; 844664ebd8SApurva Nandan i-cache-size = <0xc000>; 854664ebd8SApurva Nandan i-cache-line-size = <64>; 864664ebd8SApurva Nandan i-cache-sets = <256>; 874664ebd8SApurva Nandan d-cache-size = <0x8000>; 884664ebd8SApurva Nandan d-cache-line-size = <64>; 894664ebd8SApurva Nandan d-cache-sets = <256>; 904664ebd8SApurva Nandan next-level-cache = <&L2_0>; 914664ebd8SApurva Nandan }; 924664ebd8SApurva Nandan 934664ebd8SApurva Nandan cpu2: cpu@2 { 944664ebd8SApurva Nandan compatible = "arm,cortex-a72"; 954664ebd8SApurva Nandan reg = <0x002>; 964664ebd8SApurva Nandan device_type = "cpu"; 974664ebd8SApurva Nandan enable-method = "psci"; 984664ebd8SApurva Nandan i-cache-size = <0xc000>; 994664ebd8SApurva Nandan i-cache-line-size = <64>; 1004664ebd8SApurva Nandan i-cache-sets = <256>; 1014664ebd8SApurva Nandan d-cache-size = <0x8000>; 1024664ebd8SApurva Nandan d-cache-line-size = <64>; 1034664ebd8SApurva Nandan d-cache-sets = <256>; 1044664ebd8SApurva Nandan next-level-cache = <&L2_0>; 1054664ebd8SApurva Nandan }; 1064664ebd8SApurva Nandan 1074664ebd8SApurva Nandan cpu3: cpu@3 { 1084664ebd8SApurva Nandan compatible = "arm,cortex-a72"; 1094664ebd8SApurva Nandan reg = <0x003>; 1104664ebd8SApurva Nandan device_type = "cpu"; 1114664ebd8SApurva Nandan enable-method = "psci"; 1124664ebd8SApurva Nandan i-cache-size = <0xc000>; 1134664ebd8SApurva Nandan i-cache-line-size = <64>; 1144664ebd8SApurva Nandan i-cache-sets = <256>; 1154664ebd8SApurva Nandan d-cache-size = <0x8000>; 1164664ebd8SApurva Nandan d-cache-line-size = <64>; 1174664ebd8SApurva Nandan d-cache-sets = <256>; 1184664ebd8SApurva Nandan next-level-cache = <&L2_0>; 1194664ebd8SApurva Nandan }; 1204664ebd8SApurva Nandan 1214664ebd8SApurva Nandan cpu4: cpu@100 { 1224664ebd8SApurva Nandan compatible = "arm,cortex-a72"; 1234664ebd8SApurva Nandan reg = <0x100>; 1244664ebd8SApurva Nandan device_type = "cpu"; 1254664ebd8SApurva Nandan enable-method = "psci"; 1264664ebd8SApurva Nandan i-cache-size = <0xc000>; 1274664ebd8SApurva Nandan i-cache-line-size = <64>; 1284664ebd8SApurva Nandan i-cache-sets = <256>; 1294664ebd8SApurva Nandan d-cache-size = <0x8000>; 1304664ebd8SApurva Nandan d-cache-line-size = <64>; 1314664ebd8SApurva Nandan d-cache-sets = <256>; 1324664ebd8SApurva Nandan next-level-cache = <&L2_1>; 1334664ebd8SApurva Nandan }; 1344664ebd8SApurva Nandan 1354664ebd8SApurva Nandan cpu5: cpu@101 { 1364664ebd8SApurva Nandan compatible = "arm,cortex-a72"; 1374664ebd8SApurva Nandan reg = <0x101>; 1384664ebd8SApurva Nandan device_type = "cpu"; 1394664ebd8SApurva Nandan enable-method = "psci"; 1404664ebd8SApurva Nandan i-cache-size = <0xc000>; 1414664ebd8SApurva Nandan i-cache-line-size = <64>; 1424664ebd8SApurva Nandan i-cache-sets = <256>; 1434664ebd8SApurva Nandan d-cache-size = <0x8000>; 1444664ebd8SApurva Nandan d-cache-line-size = <64>; 1454664ebd8SApurva Nandan d-cache-sets = <256>; 1464664ebd8SApurva Nandan next-level-cache = <&L2_1>; 1474664ebd8SApurva Nandan }; 1484664ebd8SApurva Nandan 1494664ebd8SApurva Nandan cpu6: cpu@102 { 1504664ebd8SApurva Nandan compatible = "arm,cortex-a72"; 1514664ebd8SApurva Nandan reg = <0x102>; 1524664ebd8SApurva Nandan device_type = "cpu"; 1534664ebd8SApurva Nandan enable-method = "psci"; 1544664ebd8SApurva Nandan i-cache-size = <0xc000>; 1554664ebd8SApurva Nandan i-cache-line-size = <64>; 1564664ebd8SApurva Nandan i-cache-sets = <256>; 1574664ebd8SApurva Nandan d-cache-size = <0x8000>; 1584664ebd8SApurva Nandan d-cache-line-size = <64>; 1594664ebd8SApurva Nandan d-cache-sets = <256>; 1604664ebd8SApurva Nandan next-level-cache = <&L2_1>; 1614664ebd8SApurva Nandan }; 1624664ebd8SApurva Nandan 1634664ebd8SApurva Nandan cpu7: cpu@103 { 1644664ebd8SApurva Nandan compatible = "arm,cortex-a72"; 1654664ebd8SApurva Nandan reg = <0x103>; 1664664ebd8SApurva Nandan device_type = "cpu"; 1674664ebd8SApurva Nandan enable-method = "psci"; 1684664ebd8SApurva Nandan i-cache-size = <0xc000>; 1694664ebd8SApurva Nandan i-cache-line-size = <64>; 1704664ebd8SApurva Nandan i-cache-sets = <256>; 1714664ebd8SApurva Nandan d-cache-size = <0x8000>; 1724664ebd8SApurva Nandan d-cache-line-size = <64>; 1734664ebd8SApurva Nandan d-cache-sets = <256>; 1744664ebd8SApurva Nandan next-level-cache = <&L2_1>; 1754664ebd8SApurva Nandan }; 1764664ebd8SApurva Nandan }; 1774664ebd8SApurva Nandan 1784664ebd8SApurva Nandan L2_0: l2-cache0 { 1794664ebd8SApurva Nandan compatible = "cache"; 1804664ebd8SApurva Nandan cache-level = <2>; 1814664ebd8SApurva Nandan cache-unified; 1824664ebd8SApurva Nandan cache-size = <0x200000>; 1834664ebd8SApurva Nandan cache-line-size = <64>; 1844664ebd8SApurva Nandan cache-sets = <1024>; 1854664ebd8SApurva Nandan next-level-cache = <&msmc_l3>; 1864664ebd8SApurva Nandan }; 1874664ebd8SApurva Nandan 1884664ebd8SApurva Nandan L2_1: l2-cache1 { 1894664ebd8SApurva Nandan compatible = "cache"; 1904664ebd8SApurva Nandan cache-level = <2>; 1914664ebd8SApurva Nandan cache-unified; 1924664ebd8SApurva Nandan cache-size = <0x200000>; 1934664ebd8SApurva Nandan cache-line-size = <64>; 1944664ebd8SApurva Nandan cache-sets = <1024>; 1954664ebd8SApurva Nandan next-level-cache = <&msmc_l3>; 1964664ebd8SApurva Nandan }; 1974664ebd8SApurva Nandan 1984664ebd8SApurva Nandan msmc_l3: l3-cache0 { 1994664ebd8SApurva Nandan compatible = "cache"; 2004664ebd8SApurva Nandan cache-level = <3>; 2014664ebd8SApurva Nandan cache-unified; 2024664ebd8SApurva Nandan }; 2034664ebd8SApurva Nandan 2044664ebd8SApurva Nandan firmware { 2054664ebd8SApurva Nandan optee { 2064664ebd8SApurva Nandan compatible = "linaro,optee-tz"; 2074664ebd8SApurva Nandan method = "smc"; 2084664ebd8SApurva Nandan }; 2094664ebd8SApurva Nandan 2104664ebd8SApurva Nandan psci: psci { 2114664ebd8SApurva Nandan compatible = "arm,psci-1.0"; 2124664ebd8SApurva Nandan method = "smc"; 2134664ebd8SApurva Nandan }; 2144664ebd8SApurva Nandan }; 2154664ebd8SApurva Nandan 2164664ebd8SApurva Nandan a72_timer0: timer-cl0-cpu0 { 2174664ebd8SApurva Nandan compatible = "arm,armv8-timer"; 2184664ebd8SApurva Nandan interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, /* cntpsirq */ 2194664ebd8SApurva Nandan <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, /* cntpnsirq */ 2204664ebd8SApurva Nandan <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, /* cntvirq */ 2214664ebd8SApurva Nandan <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; /* cnthpirq */ 2224664ebd8SApurva Nandan }; 2234664ebd8SApurva Nandan 2244664ebd8SApurva Nandan pmu: pmu { 2254664ebd8SApurva Nandan compatible = "arm,cortex-a72-pmu"; 2264664ebd8SApurva Nandan /* Recommendation from GIC500 TRM Table A.3 */ 2274664ebd8SApurva Nandan interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>; 2284664ebd8SApurva Nandan }; 2294664ebd8SApurva Nandan 2304664ebd8SApurva Nandan cbass_main: bus@100000 { 231*3a408698SApurva Nandan bootph-all; 2324664ebd8SApurva Nandan compatible = "simple-bus"; 2334664ebd8SApurva Nandan #address-cells = <2>; 2344664ebd8SApurva Nandan #size-cells = <2>; 2354664ebd8SApurva Nandan ranges = <0x00 0x00100000 0x00 0x00100000 0x00 0x00020000>, /* ctrl mmr */ 2364664ebd8SApurva Nandan <0x00 0x00600000 0x00 0x00600000 0x00 0x00031100>, /* GPIO */ 2374664ebd8SApurva Nandan <0x00 0x01000000 0x00 0x01000000 0x00 0x0d000000>, /* Most peripherals */ 2384664ebd8SApurva Nandan <0x00 0x0d000000 0x00 0x0d000000 0x00 0x01000000>, /* PCIe Core*/ 2394664ebd8SApurva Nandan <0x00 0x10000000 0x00 0x10000000 0x00 0x08000000>, /* PCIe0 DAT0 */ 2404664ebd8SApurva Nandan <0x00 0x18000000 0x00 0x18000000 0x00 0x08000000>, /* PCIe1 DAT0 */ 2414664ebd8SApurva Nandan <0x00 0x64800000 0x00 0x64800000 0x00 0x0070c000>, /* C71_1 */ 2424664ebd8SApurva Nandan <0x00 0x65800000 0x00 0x65800000 0x00 0x0070c000>, /* C71_2 */ 2434664ebd8SApurva Nandan <0x00 0x66800000 0x00 0x66800000 0x00 0x0070c000>, /* C71_3 */ 2444664ebd8SApurva Nandan <0x00 0x67800000 0x00 0x67800000 0x00 0x0070c000>, /* C71_4 */ 2454664ebd8SApurva Nandan <0x00 0x6f000000 0x00 0x6f000000 0x00 0x00310000>, /* A72 PERIPHBASE */ 2464664ebd8SApurva Nandan <0x00 0x70000000 0x00 0x70000000 0x00 0x00400000>, /* MSMC RAM */ 2474664ebd8SApurva Nandan <0x00 0x30000000 0x00 0x30000000 0x00 0x0c400000>, /* MAIN NAVSS */ 2484664ebd8SApurva Nandan <0x41 0x00000000 0x41 0x00000000 0x01 0x00000000>, /* PCIe1 DAT1 */ 2494664ebd8SApurva Nandan <0x4e 0x20000000 0x4e 0x20000000 0x00 0x00080000>, /* GPU */ 2504664ebd8SApurva Nandan 2514664ebd8SApurva Nandan /* MCUSS_WKUP Range */ 2524664ebd8SApurva Nandan <0x00 0x28380000 0x00 0x28380000 0x00 0x03880000>, 2534664ebd8SApurva Nandan <0x00 0x40200000 0x00 0x40200000 0x00 0x00998400>, 2544664ebd8SApurva Nandan <0x00 0x40f00000 0x00 0x40f00000 0x00 0x00020000>, 2554664ebd8SApurva Nandan <0x00 0x41000000 0x00 0x41000000 0x00 0x00020000>, 2564664ebd8SApurva Nandan <0x00 0x41400000 0x00 0x41400000 0x00 0x00020000>, 2574664ebd8SApurva Nandan <0x00 0x41c00000 0x00 0x41c00000 0x00 0x00100000>, 2584664ebd8SApurva Nandan <0x00 0x42040000 0x00 0x42040000 0x00 0x03ac2400>, 2594664ebd8SApurva Nandan <0x00 0x45100000 0x00 0x45100000 0x00 0x00c24000>, 2604664ebd8SApurva Nandan <0x00 0x46000000 0x00 0x46000000 0x00 0x00200000>, 2614664ebd8SApurva Nandan <0x00 0x47000000 0x00 0x47000000 0x00 0x00068400>, 2624664ebd8SApurva Nandan <0x00 0x50000000 0x00 0x50000000 0x00 0x10000000>, 2634664ebd8SApurva Nandan <0x05 0x00000000 0x05 0x00000000 0x01 0x00000000>, 2644664ebd8SApurva Nandan <0x07 0x00000000 0x07 0x00000000 0x01 0x00000000>; 2654664ebd8SApurva Nandan 2664664ebd8SApurva Nandan cbass_mcu_wakeup: bus@28380000 { 267*3a408698SApurva Nandan bootph-all; 2684664ebd8SApurva Nandan compatible = "simple-bus"; 2694664ebd8SApurva Nandan #address-cells = <2>; 2704664ebd8SApurva Nandan #size-cells = <2>; 2714664ebd8SApurva Nandan ranges = <0x00 0x28380000 0x00 0x28380000 0x00 0x03880000>, /* MCU NAVSS*/ 2724664ebd8SApurva Nandan <0x00 0x40200000 0x00 0x40200000 0x00 0x00998400>, /* First peripheral window */ 2734664ebd8SApurva Nandan <0x00 0x40f00000 0x00 0x40f00000 0x00 0x00020000>, /* CTRL_MMR0 */ 2744664ebd8SApurva Nandan <0x00 0x41000000 0x00 0x41000000 0x00 0x00020000>, /* MCU R5F Core0 */ 2754664ebd8SApurva Nandan <0x00 0x41400000 0x00 0x41400000 0x00 0x00020000>, /* MCU R5F Core1 */ 2764664ebd8SApurva Nandan <0x00 0x41c00000 0x00 0x41c00000 0x00 0x00100000>, /* MCU SRAM */ 2774664ebd8SApurva Nandan <0x00 0x42040000 0x00 0x42040000 0x00 0x03ac2400>, /* WKUP peripheral window */ 2784664ebd8SApurva Nandan <0x00 0x45100000 0x00 0x45100000 0x00 0x00c24000>, /* MMRs, remaining NAVSS */ 2794664ebd8SApurva Nandan <0x00 0x46000000 0x00 0x46000000 0x00 0x00200000>, /* CPSW */ 2804664ebd8SApurva Nandan <0x00 0x47000000 0x00 0x47000000 0x00 0x00068400>, /* OSPI register space */ 2814664ebd8SApurva Nandan <0x00 0x50000000 0x00 0x50000000 0x00 0x10000000>, /* FSS OSPI0/1 data region 0 */ 2824664ebd8SApurva Nandan <0x05 0x00000000 0x05 0x00000000 0x01 0x00000000>, /* FSS OSPI0 data region 3 */ 2834664ebd8SApurva Nandan <0x07 0x00000000 0x07 0x00000000 0x01 0x00000000>; /* FSS OSPI1 data region 3*/ 2844664ebd8SApurva Nandan }; 2854664ebd8SApurva Nandan }; 28664821fbfSKeerthy 28764821fbfSKeerthy thermal_zones: thermal-zones { 28864821fbfSKeerthy #include "k3-j784s4-thermal.dtsi" 28964821fbfSKeerthy }; 2904664ebd8SApurva Nandan}; 2914664ebd8SApurva Nandan 2924664ebd8SApurva Nandan/* Now include peripherals from each bus segment */ 2934664ebd8SApurva Nandan#include "k3-j784s4-main.dtsi" 2944664ebd8SApurva Nandan#include "k3-j784s4-mcu-wakeup.dtsi" 295