1*5f62a964SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only OR MIT 2*5f62a964SEmmanuel Vadot/* 3*5f62a964SEmmanuel Vadot * Device Tree Source for J784S4 and J742S2 SoC Family 4*5f62a964SEmmanuel Vadot * 5*5f62a964SEmmanuel Vadot * TRM (j784s4) (SPRUJ43 JULY 2022): https://www.ti.com/lit/zip/spruj52 6*5f62a964SEmmanuel Vadot * TRM (j742s2): https://www.ti.com/lit/pdf/spruje3 7*5f62a964SEmmanuel Vadot * 8*5f62a964SEmmanuel Vadot * Copyright (C) 2022-2024 Texas Instruments Incorporated - https://www.ti.com/ 9*5f62a964SEmmanuel Vadot * 10*5f62a964SEmmanuel Vadot */ 11*5f62a964SEmmanuel Vadot 12*5f62a964SEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 13*5f62a964SEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 14*5f62a964SEmmanuel Vadot#include <dt-bindings/soc/ti,sci_pm_domain.h> 15*5f62a964SEmmanuel Vadot 16*5f62a964SEmmanuel Vadot#include "k3-pinctrl.h" 17*5f62a964SEmmanuel Vadot 18*5f62a964SEmmanuel Vadot/ { 19*5f62a964SEmmanuel Vadot interrupt-parent = <&gic500>; 20*5f62a964SEmmanuel Vadot #address-cells = <2>; 21*5f62a964SEmmanuel Vadot #size-cells = <2>; 22*5f62a964SEmmanuel Vadot 23*5f62a964SEmmanuel Vadot L2_0: l2-cache0 { 24*5f62a964SEmmanuel Vadot compatible = "cache"; 25*5f62a964SEmmanuel Vadot cache-level = <2>; 26*5f62a964SEmmanuel Vadot cache-unified; 27*5f62a964SEmmanuel Vadot cache-size = <0x200000>; 28*5f62a964SEmmanuel Vadot cache-line-size = <64>; 29*5f62a964SEmmanuel Vadot cache-sets = <1024>; 30*5f62a964SEmmanuel Vadot next-level-cache = <&msmc_l3>; 31*5f62a964SEmmanuel Vadot }; 32*5f62a964SEmmanuel Vadot 33*5f62a964SEmmanuel Vadot L2_1: l2-cache1 { 34*5f62a964SEmmanuel Vadot compatible = "cache"; 35*5f62a964SEmmanuel Vadot cache-level = <2>; 36*5f62a964SEmmanuel Vadot cache-unified; 37*5f62a964SEmmanuel Vadot cache-size = <0x200000>; 38*5f62a964SEmmanuel Vadot cache-line-size = <64>; 39*5f62a964SEmmanuel Vadot cache-sets = <1024>; 40*5f62a964SEmmanuel Vadot next-level-cache = <&msmc_l3>; 41*5f62a964SEmmanuel Vadot }; 42*5f62a964SEmmanuel Vadot 43*5f62a964SEmmanuel Vadot msmc_l3: l3-cache0 { 44*5f62a964SEmmanuel Vadot compatible = "cache"; 45*5f62a964SEmmanuel Vadot cache-level = <3>; 46*5f62a964SEmmanuel Vadot cache-unified; 47*5f62a964SEmmanuel Vadot }; 48*5f62a964SEmmanuel Vadot 49*5f62a964SEmmanuel Vadot firmware { 50*5f62a964SEmmanuel Vadot optee { 51*5f62a964SEmmanuel Vadot compatible = "linaro,optee-tz"; 52*5f62a964SEmmanuel Vadot method = "smc"; 53*5f62a964SEmmanuel Vadot }; 54*5f62a964SEmmanuel Vadot 55*5f62a964SEmmanuel Vadot psci: psci { 56*5f62a964SEmmanuel Vadot compatible = "arm,psci-1.0"; 57*5f62a964SEmmanuel Vadot method = "smc"; 58*5f62a964SEmmanuel Vadot }; 59*5f62a964SEmmanuel Vadot }; 60*5f62a964SEmmanuel Vadot 61*5f62a964SEmmanuel Vadot a72_timer0: timer-cl0-cpu0 { 62*5f62a964SEmmanuel Vadot compatible = "arm,armv8-timer"; 63*5f62a964SEmmanuel Vadot interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, /* cntpsirq */ 64*5f62a964SEmmanuel Vadot <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, /* cntpnsirq */ 65*5f62a964SEmmanuel Vadot <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, /* cntvirq */ 66*5f62a964SEmmanuel Vadot <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; /* cnthpirq */ 67*5f62a964SEmmanuel Vadot }; 68*5f62a964SEmmanuel Vadot 69*5f62a964SEmmanuel Vadot pmu: pmu { 70*5f62a964SEmmanuel Vadot compatible = "arm,cortex-a72-pmu"; 71*5f62a964SEmmanuel Vadot /* Recommendation from GIC500 TRM Table A.3 */ 72*5f62a964SEmmanuel Vadot interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>; 73*5f62a964SEmmanuel Vadot }; 74*5f62a964SEmmanuel Vadot 75*5f62a964SEmmanuel Vadot cbass_main: bus@100000 { 76*5f62a964SEmmanuel Vadot bootph-all; 77*5f62a964SEmmanuel Vadot compatible = "simple-bus"; 78*5f62a964SEmmanuel Vadot #address-cells = <2>; 79*5f62a964SEmmanuel Vadot #size-cells = <2>; 80*5f62a964SEmmanuel Vadot ranges = <0x00 0x00100000 0x00 0x00100000 0x00 0x00020000>, /* ctrl mmr */ 81*5f62a964SEmmanuel Vadot <0x00 0x00600000 0x00 0x00600000 0x00 0x00031100>, /* GPIO */ 82*5f62a964SEmmanuel Vadot <0x00 0x00700000 0x00 0x00700000 0x00 0x00001000>, /* ESM */ 83*5f62a964SEmmanuel Vadot <0x00 0x01000000 0x00 0x01000000 0x00 0x0d000000>, /* Most peripherals */ 84*5f62a964SEmmanuel Vadot <0x00 0x04210000 0x00 0x04210000 0x00 0x00010000>, /* VPU0 */ 85*5f62a964SEmmanuel Vadot <0x00 0x04220000 0x00 0x04220000 0x00 0x00010000>, /* VPU1 */ 86*5f62a964SEmmanuel Vadot <0x00 0x0d000000 0x00 0x0d000000 0x00 0x00800000>, /* PCIe0 Core*/ 87*5f62a964SEmmanuel Vadot <0x00 0x0d800000 0x00 0x0d800000 0x00 0x00800000>, /* PCIe1 Core*/ 88*5f62a964SEmmanuel Vadot <0x00 0x0e000000 0x00 0x0e000000 0x00 0x00800000>, /* PCIe2 Core*/ 89*5f62a964SEmmanuel Vadot <0x00 0x0e800000 0x00 0x0e800000 0x00 0x00800000>, /* PCIe3 Core*/ 90*5f62a964SEmmanuel Vadot <0x00 0x10000000 0x00 0x10000000 0x00 0x08000000>, /* PCIe0 DAT0 */ 91*5f62a964SEmmanuel Vadot <0x00 0x18000000 0x00 0x18000000 0x00 0x08000000>, /* PCIe1 DAT0 */ 92*5f62a964SEmmanuel Vadot <0x00 0x64800000 0x00 0x64800000 0x00 0x0070c000>, /* C71_1 */ 93*5f62a964SEmmanuel Vadot <0x00 0x65800000 0x00 0x65800000 0x00 0x0070c000>, /* C71_2 */ 94*5f62a964SEmmanuel Vadot <0x00 0x66800000 0x00 0x66800000 0x00 0x0070c000>, /* C71_3 */ 95*5f62a964SEmmanuel Vadot <0x00 0x67800000 0x00 0x67800000 0x00 0x0070c000>, /* C71_4 */ 96*5f62a964SEmmanuel Vadot <0x00 0x6f000000 0x00 0x6f000000 0x00 0x00310000>, /* A72 PERIPHBASE */ 97*5f62a964SEmmanuel Vadot <0x00 0x70000000 0x00 0x70000000 0x00 0x00400000>, /* MSMC RAM */ 98*5f62a964SEmmanuel Vadot <0x00 0x30000000 0x00 0x30000000 0x00 0x0c400000>, /* MAIN NAVSS */ 99*5f62a964SEmmanuel Vadot <0x40 0x00000000 0x40 0x00000000 0x01 0x00000000>, /* PCIe0 DAT1 */ 100*5f62a964SEmmanuel Vadot <0x41 0x00000000 0x41 0x00000000 0x01 0x00000000>, /* PCIe1 DAT1 */ 101*5f62a964SEmmanuel Vadot <0x42 0x00000000 0x42 0x00000000 0x01 0x00000000>, /* PCIe2 DAT1 */ 102*5f62a964SEmmanuel Vadot <0x43 0x00000000 0x43 0x00000000 0x01 0x00000000>, /* PCIe3 DAT1 */ 103*5f62a964SEmmanuel Vadot <0x44 0x00000000 0x44 0x00000000 0x00 0x08000000>, /* PCIe2 DAT0 */ 104*5f62a964SEmmanuel Vadot <0x44 0x10000000 0x44 0x10000000 0x00 0x08000000>, /* PCIe3 DAT0 */ 105*5f62a964SEmmanuel Vadot <0x4e 0x20000000 0x4e 0x20000000 0x00 0x00080000>, /* GPU */ 106*5f62a964SEmmanuel Vadot 107*5f62a964SEmmanuel Vadot /* MCUSS_WKUP Range */ 108*5f62a964SEmmanuel Vadot <0x00 0x28380000 0x00 0x28380000 0x00 0x03880000>, 109*5f62a964SEmmanuel Vadot <0x00 0x40200000 0x00 0x40200000 0x00 0x00998400>, 110*5f62a964SEmmanuel Vadot <0x00 0x40f00000 0x00 0x40f00000 0x00 0x00020000>, 111*5f62a964SEmmanuel Vadot <0x00 0x41000000 0x00 0x41000000 0x00 0x00020000>, 112*5f62a964SEmmanuel Vadot <0x00 0x41400000 0x00 0x41400000 0x00 0x00020000>, 113*5f62a964SEmmanuel Vadot <0x00 0x41c00000 0x00 0x41c00000 0x00 0x00100000>, 114*5f62a964SEmmanuel Vadot <0x00 0x42040000 0x00 0x42040000 0x00 0x03ac2400>, 115*5f62a964SEmmanuel Vadot <0x00 0x45100000 0x00 0x45100000 0x00 0x00c24000>, 116*5f62a964SEmmanuel Vadot <0x00 0x46000000 0x00 0x46000000 0x00 0x00200000>, 117*5f62a964SEmmanuel Vadot <0x00 0x47000000 0x00 0x47000000 0x00 0x00068400>, 118*5f62a964SEmmanuel Vadot <0x00 0x50000000 0x00 0x50000000 0x00 0x10000000>, 119*5f62a964SEmmanuel Vadot <0x04 0x00000000 0x04 0x00000000 0x04 0x00000000>; 120*5f62a964SEmmanuel Vadot 121*5f62a964SEmmanuel Vadot cbass_mcu_wakeup: bus@28380000 { 122*5f62a964SEmmanuel Vadot bootph-all; 123*5f62a964SEmmanuel Vadot compatible = "simple-bus"; 124*5f62a964SEmmanuel Vadot #address-cells = <2>; 125*5f62a964SEmmanuel Vadot #size-cells = <2>; 126*5f62a964SEmmanuel Vadot ranges = <0x00 0x28380000 0x00 0x28380000 0x00 0x03880000>, /* MCU NAVSS*/ 127*5f62a964SEmmanuel Vadot <0x00 0x40200000 0x00 0x40200000 0x00 0x00998400>, /* First peripheral window */ 128*5f62a964SEmmanuel Vadot <0x00 0x40f00000 0x00 0x40f00000 0x00 0x00020000>, /* CTRL_MMR0 */ 129*5f62a964SEmmanuel Vadot <0x00 0x41000000 0x00 0x41000000 0x00 0x00020000>, /* MCU R5F Core0 */ 130*5f62a964SEmmanuel Vadot <0x00 0x41400000 0x00 0x41400000 0x00 0x00020000>, /* MCU R5F Core1 */ 131*5f62a964SEmmanuel Vadot <0x00 0x41c00000 0x00 0x41c00000 0x00 0x00100000>, /* MCU SRAM */ 132*5f62a964SEmmanuel Vadot <0x00 0x42040000 0x00 0x42040000 0x00 0x03ac2400>, /* WKUP peripheral window */ 133*5f62a964SEmmanuel Vadot <0x00 0x45100000 0x00 0x45100000 0x00 0x00c24000>, /* MMRs, remaining NAVSS */ 134*5f62a964SEmmanuel Vadot <0x00 0x46000000 0x00 0x46000000 0x00 0x00200000>, /* CPSW */ 135*5f62a964SEmmanuel Vadot <0x00 0x47000000 0x00 0x47000000 0x00 0x00068400>, /* OSPI register space */ 136*5f62a964SEmmanuel Vadot <0x00 0x50000000 0x00 0x50000000 0x00 0x10000000>, /* FSS data region 1 */ 137*5f62a964SEmmanuel Vadot <0x04 0x00000000 0x04 0x00000000 0x04 0x00000000>; /* FSS data region 0/3 */ 138*5f62a964SEmmanuel Vadot }; 139*5f62a964SEmmanuel Vadot }; 140*5f62a964SEmmanuel Vadot 141*5f62a964SEmmanuel Vadot thermal_zones: thermal-zones { 142*5f62a964SEmmanuel Vadot #include "k3-j784s4-j742s2-thermal-common.dtsi" 143*5f62a964SEmmanuel Vadot }; 144*5f62a964SEmmanuel Vadot}; 145*5f62a964SEmmanuel Vadot 146*5f62a964SEmmanuel Vadot/* Now include peripherals from each bus segment */ 147*5f62a964SEmmanuel Vadot#include "k3-j784s4-j742s2-main-common.dtsi" 148*5f62a964SEmmanuel Vadot#include "k3-j784s4-j742s2-mcu-wakeup-common.dtsi" 149