101950c46SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only OR MIT 201950c46SEmmanuel Vadot/* 301950c46SEmmanuel Vadot * Device Tree Source for J722S SoC Family 401950c46SEmmanuel Vadot * 501950c46SEmmanuel Vadot * Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/ 601950c46SEmmanuel Vadot */ 701950c46SEmmanuel Vadot 801950c46SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 901950c46SEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 1001950c46SEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 1101950c46SEmmanuel Vadot#include <dt-bindings/soc/ti,sci_pm_domain.h> 1201950c46SEmmanuel Vadot 13*0e8011faSEmmanuel Vadot#include "k3-pinctrl.h" 1401950c46SEmmanuel Vadot 1501950c46SEmmanuel Vadot/ { 1601950c46SEmmanuel Vadot model = "Texas Instruments K3 J722S SoC"; 1701950c46SEmmanuel Vadot compatible = "ti,j722s"; 18*0e8011faSEmmanuel Vadot interrupt-parent = <&gic500>; 19*0e8011faSEmmanuel Vadot #address-cells = <2>; 20*0e8011faSEmmanuel Vadot #size-cells = <2>; 21*0e8011faSEmmanuel Vadot 22*0e8011faSEmmanuel Vadot cpus { 23*0e8011faSEmmanuel Vadot #address-cells = <1>; 24*0e8011faSEmmanuel Vadot #size-cells = <0>; 25*0e8011faSEmmanuel Vadot 26*0e8011faSEmmanuel Vadot cpu-map { 27*0e8011faSEmmanuel Vadot cluster0: cluster0 { 28*0e8011faSEmmanuel Vadot core0 { 29*0e8011faSEmmanuel Vadot cpu = <&cpu0>; 30*0e8011faSEmmanuel Vadot }; 31*0e8011faSEmmanuel Vadot 32*0e8011faSEmmanuel Vadot core1 { 33*0e8011faSEmmanuel Vadot cpu = <&cpu1>; 34*0e8011faSEmmanuel Vadot }; 35*0e8011faSEmmanuel Vadot 36*0e8011faSEmmanuel Vadot core2 { 37*0e8011faSEmmanuel Vadot cpu = <&cpu2>; 38*0e8011faSEmmanuel Vadot }; 39*0e8011faSEmmanuel Vadot 40*0e8011faSEmmanuel Vadot core3 { 41*0e8011faSEmmanuel Vadot cpu = <&cpu3>; 42*0e8011faSEmmanuel Vadot }; 43*0e8011faSEmmanuel Vadot }; 44*0e8011faSEmmanuel Vadot }; 45*0e8011faSEmmanuel Vadot 46*0e8011faSEmmanuel Vadot cpu0: cpu@0 { 47*0e8011faSEmmanuel Vadot compatible = "arm,cortex-a53"; 48*0e8011faSEmmanuel Vadot reg = <0x000>; 49*0e8011faSEmmanuel Vadot device_type = "cpu"; 50*0e8011faSEmmanuel Vadot enable-method = "psci"; 51*0e8011faSEmmanuel Vadot i-cache-size = <0x8000>; 52*0e8011faSEmmanuel Vadot i-cache-line-size = <64>; 53*0e8011faSEmmanuel Vadot i-cache-sets = <256>; 54*0e8011faSEmmanuel Vadot d-cache-size = <0x8000>; 55*0e8011faSEmmanuel Vadot d-cache-line-size = <64>; 56*0e8011faSEmmanuel Vadot d-cache-sets = <128>; 57*0e8011faSEmmanuel Vadot next-level-cache = <&l2_0>; 58*0e8011faSEmmanuel Vadot clocks = <&k3_clks 135 0>; 59*0e8011faSEmmanuel Vadot }; 60*0e8011faSEmmanuel Vadot 61*0e8011faSEmmanuel Vadot cpu1: cpu@1 { 62*0e8011faSEmmanuel Vadot compatible = "arm,cortex-a53"; 63*0e8011faSEmmanuel Vadot reg = <0x001>; 64*0e8011faSEmmanuel Vadot device_type = "cpu"; 65*0e8011faSEmmanuel Vadot enable-method = "psci"; 66*0e8011faSEmmanuel Vadot i-cache-size = <0x8000>; 67*0e8011faSEmmanuel Vadot i-cache-line-size = <64>; 68*0e8011faSEmmanuel Vadot i-cache-sets = <256>; 69*0e8011faSEmmanuel Vadot d-cache-size = <0x8000>; 70*0e8011faSEmmanuel Vadot d-cache-line-size = <64>; 71*0e8011faSEmmanuel Vadot d-cache-sets = <128>; 72*0e8011faSEmmanuel Vadot next-level-cache = <&l2_0>; 73*0e8011faSEmmanuel Vadot clocks = <&k3_clks 136 0>; 74*0e8011faSEmmanuel Vadot }; 75*0e8011faSEmmanuel Vadot 76*0e8011faSEmmanuel Vadot cpu2: cpu@2 { 77*0e8011faSEmmanuel Vadot compatible = "arm,cortex-a53"; 78*0e8011faSEmmanuel Vadot reg = <0x002>; 79*0e8011faSEmmanuel Vadot device_type = "cpu"; 80*0e8011faSEmmanuel Vadot enable-method = "psci"; 81*0e8011faSEmmanuel Vadot i-cache-size = <0x8000>; 82*0e8011faSEmmanuel Vadot i-cache-line-size = <64>; 83*0e8011faSEmmanuel Vadot i-cache-sets = <256>; 84*0e8011faSEmmanuel Vadot d-cache-size = <0x8000>; 85*0e8011faSEmmanuel Vadot d-cache-line-size = <64>; 86*0e8011faSEmmanuel Vadot d-cache-sets = <128>; 87*0e8011faSEmmanuel Vadot next-level-cache = <&l2_0>; 88*0e8011faSEmmanuel Vadot clocks = <&k3_clks 137 0>; 89*0e8011faSEmmanuel Vadot }; 90*0e8011faSEmmanuel Vadot 91*0e8011faSEmmanuel Vadot cpu3: cpu@3 { 92*0e8011faSEmmanuel Vadot compatible = "arm,cortex-a53"; 93*0e8011faSEmmanuel Vadot reg = <0x003>; 94*0e8011faSEmmanuel Vadot device_type = "cpu"; 95*0e8011faSEmmanuel Vadot enable-method = "psci"; 96*0e8011faSEmmanuel Vadot i-cache-size = <0x8000>; 97*0e8011faSEmmanuel Vadot i-cache-line-size = <64>; 98*0e8011faSEmmanuel Vadot i-cache-sets = <256>; 99*0e8011faSEmmanuel Vadot d-cache-size = <0x8000>; 100*0e8011faSEmmanuel Vadot d-cache-line-size = <64>; 101*0e8011faSEmmanuel Vadot d-cache-sets = <128>; 102*0e8011faSEmmanuel Vadot next-level-cache = <&l2_0>; 103*0e8011faSEmmanuel Vadot clocks = <&k3_clks 138 0>; 104*0e8011faSEmmanuel Vadot }; 105*0e8011faSEmmanuel Vadot }; 106*0e8011faSEmmanuel Vadot 107*0e8011faSEmmanuel Vadot l2_0: l2-cache0 { 108*0e8011faSEmmanuel Vadot compatible = "cache"; 109*0e8011faSEmmanuel Vadot cache-unified; 110*0e8011faSEmmanuel Vadot cache-level = <2>; 111*0e8011faSEmmanuel Vadot cache-size = <0x80000>; 112*0e8011faSEmmanuel Vadot cache-line-size = <64>; 113*0e8011faSEmmanuel Vadot cache-sets = <512>; 114*0e8011faSEmmanuel Vadot }; 115*0e8011faSEmmanuel Vadot 116*0e8011faSEmmanuel Vadot firmware { 117*0e8011faSEmmanuel Vadot optee { 118*0e8011faSEmmanuel Vadot compatible = "linaro,optee-tz"; 119*0e8011faSEmmanuel Vadot method = "smc"; 120*0e8011faSEmmanuel Vadot }; 121*0e8011faSEmmanuel Vadot 122*0e8011faSEmmanuel Vadot psci: psci { 123*0e8011faSEmmanuel Vadot compatible = "arm,psci-1.0"; 124*0e8011faSEmmanuel Vadot method = "smc"; 125*0e8011faSEmmanuel Vadot }; 126*0e8011faSEmmanuel Vadot }; 127*0e8011faSEmmanuel Vadot 128*0e8011faSEmmanuel Vadot a53_timer0: timer-cl0-cpu0 { 129*0e8011faSEmmanuel Vadot compatible = "arm,armv8-timer"; 130*0e8011faSEmmanuel Vadot interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, /* cntpsirq */ 131*0e8011faSEmmanuel Vadot <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, /* cntpnsirq */ 132*0e8011faSEmmanuel Vadot <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, /* cntvirq */ 133*0e8011faSEmmanuel Vadot <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; /* cnthpirq */ 134*0e8011faSEmmanuel Vadot }; 135*0e8011faSEmmanuel Vadot 136*0e8011faSEmmanuel Vadot pmu: pmu { 137*0e8011faSEmmanuel Vadot compatible = "arm,cortex-a53-pmu"; 138*0e8011faSEmmanuel Vadot interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>; 139*0e8011faSEmmanuel Vadot }; 14001950c46SEmmanuel Vadot 14101950c46SEmmanuel Vadot cbass_main: bus@f0000 { 14201950c46SEmmanuel Vadot compatible = "simple-bus"; 14301950c46SEmmanuel Vadot #address-cells = <2>; 14401950c46SEmmanuel Vadot #size-cells = <2>; 14501950c46SEmmanuel Vadot 14601950c46SEmmanuel Vadot ranges = <0x00 0x000f0000 0x00 0x000f0000 0x00 0x00030000>, /* Main MMRs */ 14701950c46SEmmanuel Vadot <0x00 0x00420000 0x00 0x00420000 0x00 0x00001000>, /* ESM0 */ 14801950c46SEmmanuel Vadot <0x00 0x00600000 0x00 0x00600000 0x00 0x00001100>, /* GPIO */ 14901950c46SEmmanuel Vadot <0x00 0x00703000 0x00 0x00703000 0x00 0x00000200>, /* USB0 debug trace */ 15001950c46SEmmanuel Vadot <0x00 0x0070c000 0x00 0x0070c000 0x00 0x00000200>, /* USB1 debug trace */ 15101950c46SEmmanuel Vadot <0x00 0x00a40000 0x00 0x00a40000 0x00 0x00000800>, /* Timesync router */ 15201950c46SEmmanuel Vadot <0x00 0x01000000 0x00 0x01000000 0x00 0x01b28400>, /* First peripheral window */ 15301950c46SEmmanuel Vadot <0x00 0x08000000 0x00 0x08000000 0x00 0x00200000>, /* Main CPSW */ 15401950c46SEmmanuel Vadot <0x00 0x0d000000 0x00 0x0d000000 0x00 0x00800000>, /* PCIE_0 */ 15501950c46SEmmanuel Vadot <0x00 0x0e000000 0x00 0x0e000000 0x00 0x01d20000>, /* Second peripheral window */ 15601950c46SEmmanuel Vadot <0x00 0x0fd80000 0x00 0x0fd80000 0x00 0x00080000>, /* GPU */ 15701950c46SEmmanuel Vadot <0x00 0x0fd20000 0x00 0x0fd20000 0x00 0x00000100>, /* JPEGENC0_CORE */ 15801950c46SEmmanuel Vadot <0x00 0x0fd20200 0x00 0x0fd20200 0x00 0x00000200>, /* JPEGENC0_CORE_MMU */ 15901950c46SEmmanuel Vadot <0x00 0x20000000 0x00 0x20000000 0x00 0x0a008000>, /* Third peripheral window */ 16001950c46SEmmanuel Vadot <0x00 0x30040000 0x00 0x30040000 0x00 0x00080000>, /* PRUSS-M */ 16101950c46SEmmanuel Vadot <0x00 0x301C0000 0x00 0x301C0000 0x00 0x00001000>, /* DPHY-TX */ 16201950c46SEmmanuel Vadot <0x00 0x30101000 0x00 0x30101000 0x00 0x00080100>, /* CSI window */ 16301950c46SEmmanuel Vadot <0x00 0x30200000 0x00 0x30200000 0x00 0x00010000>, /* DSS */ 16401950c46SEmmanuel Vadot <0x00 0x30210000 0x00 0x30210000 0x00 0x00010000>, /* VPU */ 16501950c46SEmmanuel Vadot <0x00 0x30220000 0x00 0x30220000 0x00 0x00010000>, /* DSS1 */ 16601950c46SEmmanuel Vadot <0x00 0x30270000 0x00 0x30270000 0x00 0x00010000>, /* DSI-base1 */ 16701950c46SEmmanuel Vadot <0x00 0x30500000 0x00 0x30500000 0x00 0x00100000>, /* DSI-base2 */ 16801950c46SEmmanuel Vadot <0x00 0x31000000 0x00 0x31000000 0x00 0x00050000>, /* USB0 DWC3 Core window */ 16901950c46SEmmanuel Vadot <0x00 0x31200000 0x00 0x31200000 0x00 0x00040000>, /* USB1 DWC3 Core window */ 17001950c46SEmmanuel Vadot <0x00 0x40900000 0x00 0x40900000 0x00 0x00030000>, /* SA3UL */ 17101950c46SEmmanuel Vadot <0x00 0x43600000 0x00 0x43600000 0x00 0x00010000>, /* SA3 sproxy data */ 17201950c46SEmmanuel Vadot <0x00 0x44043000 0x00 0x44043000 0x00 0x00000fe0>, /* TI SCI DEBUG */ 17301950c46SEmmanuel Vadot <0x00 0x44860000 0x00 0x44860000 0x00 0x00040000>, /* SA3 sproxy config */ 17401950c46SEmmanuel Vadot <0x00 0x48000000 0x00 0x48000000 0x00 0x06408000>, /* DMSS */ 17501950c46SEmmanuel Vadot <0x00 0x60000000 0x00 0x60000000 0x00 0x08000000>, /* FSS0 DAT1 */ 17601950c46SEmmanuel Vadot <0x00 0x68000000 0x00 0x68000000 0x00 0x08000000>, /* PCIe0 DAT0 */ 17701950c46SEmmanuel Vadot <0x00 0x70000000 0x00 0x70000000 0x00 0x00040000>, /* OCSRAM */ 17801950c46SEmmanuel Vadot <0x00 0x78400000 0x00 0x78400000 0x00 0x00008000>, /* MAIN R5FSS0 ATCM */ 17901950c46SEmmanuel Vadot <0x00 0x78500000 0x00 0x78500000 0x00 0x00008000>, /* MAIN R5FSS0 BTCM */ 18001950c46SEmmanuel Vadot <0x00 0x7e000000 0x00 0x7e000000 0x00 0x00200000>, /* C7X_0 L2SRAM */ 18101950c46SEmmanuel Vadot <0x00 0x7e200000 0x00 0x7e200000 0x00 0x00200000>, /* C7X_1 L2SRAM */ 18201950c46SEmmanuel Vadot <0x01 0x00000000 0x01 0x00000000 0x00 0x00310000>, /* A53 PERIPHBASE */ 18301950c46SEmmanuel Vadot <0x05 0x00000000 0x05 0x00000000 0x01 0x00000000>, /* FSS0 DAT3 */ 18401950c46SEmmanuel Vadot <0x06 0x00000000 0x06 0x00000000 0x01 0x00000000>, /* PCIe0 DAT1 */ 18501950c46SEmmanuel Vadot 18601950c46SEmmanuel Vadot /* MCU Domain Range */ 18701950c46SEmmanuel Vadot <0x00 0x04000000 0x00 0x04000000 0x00 0x01ff1400>, 18801950c46SEmmanuel Vadot <0x00 0x79000000 0x00 0x79000000 0x00 0x00008000>, 18901950c46SEmmanuel Vadot <0x00 0x79020000 0x00 0x79020000 0x00 0x00008000>, 19001950c46SEmmanuel Vadot <0x00 0x79100000 0x00 0x79100000 0x00 0x00040000>, 19101950c46SEmmanuel Vadot <0x00 0x79140000 0x00 0x79140000 0x00 0x00040000>, 19201950c46SEmmanuel Vadot 19301950c46SEmmanuel Vadot /* Wakeup Domain Range */ 19401950c46SEmmanuel Vadot <0x00 0x00b00000 0x00 0x00b00000 0x00 0x00002400>, 19501950c46SEmmanuel Vadot <0x00 0x2b000000 0x00 0x2b000000 0x00 0x00300400>, 19601950c46SEmmanuel Vadot <0x00 0x43000000 0x00 0x43000000 0x00 0x00020000>, 19701950c46SEmmanuel Vadot <0x00 0x78000000 0x00 0x78000000 0x00 0x00008000>, 19801950c46SEmmanuel Vadot <0x00 0x78100000 0x00 0x78100000 0x00 0x00008000>; 199*0e8011faSEmmanuel Vadot 200*0e8011faSEmmanuel Vadot cbass_mcu: bus@4000000 { 201*0e8011faSEmmanuel Vadot compatible = "simple-bus"; 202*0e8011faSEmmanuel Vadot #address-cells = <2>; 203*0e8011faSEmmanuel Vadot #size-cells = <2>; 204*0e8011faSEmmanuel Vadot ranges = <0x00 0x04000000 0x00 0x04000000 0x00 0x01ff1400>, /* Peripheral window */ 205*0e8011faSEmmanuel Vadot <0x00 0x79000000 0x00 0x79000000 0x00 0x00008000>, /* MCU R5 ATCM */ 206*0e8011faSEmmanuel Vadot <0x00 0x79020000 0x00 0x79020000 0x00 0x00008000>, /* MCU R5 BTCM */ 207*0e8011faSEmmanuel Vadot <0x00 0x79100000 0x00 0x79100000 0x00 0x00040000>, /* MCU IRAM0 */ 208*0e8011faSEmmanuel Vadot <0x00 0x79140000 0x00 0x79140000 0x00 0x00040000>; /* MCU IRAM1 */ 209*0e8011faSEmmanuel Vadot bootph-all; 210*0e8011faSEmmanuel Vadot }; 211*0e8011faSEmmanuel Vadot 212*0e8011faSEmmanuel Vadot cbass_wakeup: bus@b00000 { 213*0e8011faSEmmanuel Vadot compatible = "simple-bus"; 214*0e8011faSEmmanuel Vadot #address-cells = <2>; 215*0e8011faSEmmanuel Vadot #size-cells = <2>; 216*0e8011faSEmmanuel Vadot ranges = <0x00 0x00b00000 0x00 0x00b00000 0x00 0x00002400>, /* VTM */ 217*0e8011faSEmmanuel Vadot <0x00 0x2b000000 0x00 0x2b000000 0x00 0x00300400>, /* Peripheral Window */ 218*0e8011faSEmmanuel Vadot <0x00 0x43000000 0x00 0x43000000 0x00 0x00020000>, /* WKUP CTRL MMR */ 219*0e8011faSEmmanuel Vadot <0x00 0x78000000 0x00 0x78000000 0x00 0x00008000>, /* DM R5 ATCM*/ 220*0e8011faSEmmanuel Vadot <0x00 0x78100000 0x00 0x78100000 0x00 0x00008000>; /* DM R5 BTCM*/ 221*0e8011faSEmmanuel Vadot bootph-all; 22201950c46SEmmanuel Vadot }; 22301950c46SEmmanuel Vadot }; 22401950c46SEmmanuel Vadot 225*0e8011faSEmmanuel Vadot #include "k3-am62p-j722s-common-thermal.dtsi" 22601950c46SEmmanuel Vadot}; 22701950c46SEmmanuel Vadot 228*0e8011faSEmmanuel Vadot/* Include peripherals shared with AM62P */ 229*0e8011faSEmmanuel Vadot#include "k3-am62p-j722s-common-main.dtsi" 230*0e8011faSEmmanuel Vadot#include "k3-am62p-j722s-common-mcu.dtsi" 231*0e8011faSEmmanuel Vadot#include "k3-am62p-j722s-common-wakeup.dtsi" 232*0e8011faSEmmanuel Vadot 233*0e8011faSEmmanuel Vadot/* Include J722S specific peripherals */ 234*0e8011faSEmmanuel Vadot#include "k3-j722s-main.dtsi" 235