1*e67e8565SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2*e67e8565SEmmanuel Vadot/* 3*e67e8565SEmmanuel Vadot * Device Tree Source for J721S2 SoC Family 4*e67e8565SEmmanuel Vadot * 5*e67e8565SEmmanuel Vadot * TRM (SPRUJ28 – NOVEMBER 2021) : http://www.ti.com/lit/pdf/spruj28 6*e67e8565SEmmanuel Vadot * 7*e67e8565SEmmanuel Vadot * Copyright (C) 2021 Texas Instruments Incorporated - https://www.ti.com/ 8*e67e8565SEmmanuel Vadot * 9*e67e8565SEmmanuel Vadot */ 10*e67e8565SEmmanuel Vadot 11*e67e8565SEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 12*e67e8565SEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 13*e67e8565SEmmanuel Vadot#include <dt-bindings/pinctrl/k3.h> 14*e67e8565SEmmanuel Vadot#include <dt-bindings/soc/ti,sci_pm_domain.h> 15*e67e8565SEmmanuel Vadot 16*e67e8565SEmmanuel Vadot/ { 17*e67e8565SEmmanuel Vadot 18*e67e8565SEmmanuel Vadot model = "Texas Instruments K3 J721S2 SoC"; 19*e67e8565SEmmanuel Vadot compatible = "ti,j721s2"; 20*e67e8565SEmmanuel Vadot interrupt-parent = <&gic500>; 21*e67e8565SEmmanuel Vadot #address-cells = <2>; 22*e67e8565SEmmanuel Vadot #size-cells = <2>; 23*e67e8565SEmmanuel Vadot 24*e67e8565SEmmanuel Vadot chosen { }; 25*e67e8565SEmmanuel Vadot 26*e67e8565SEmmanuel Vadot cpus { 27*e67e8565SEmmanuel Vadot #address-cells = <1>; 28*e67e8565SEmmanuel Vadot #size-cells = <0>; 29*e67e8565SEmmanuel Vadot cpu-map { 30*e67e8565SEmmanuel Vadot cluster0: cluster0 { 31*e67e8565SEmmanuel Vadot core0 { 32*e67e8565SEmmanuel Vadot cpu = <&cpu0>; 33*e67e8565SEmmanuel Vadot }; 34*e67e8565SEmmanuel Vadot 35*e67e8565SEmmanuel Vadot core1 { 36*e67e8565SEmmanuel Vadot cpu = <&cpu1>; 37*e67e8565SEmmanuel Vadot }; 38*e67e8565SEmmanuel Vadot }; 39*e67e8565SEmmanuel Vadot }; 40*e67e8565SEmmanuel Vadot 41*e67e8565SEmmanuel Vadot cpu0: cpu@0 { 42*e67e8565SEmmanuel Vadot compatible = "arm,cortex-a72"; 43*e67e8565SEmmanuel Vadot reg = <0x000>; 44*e67e8565SEmmanuel Vadot device_type = "cpu"; 45*e67e8565SEmmanuel Vadot enable-method = "psci"; 46*e67e8565SEmmanuel Vadot i-cache-size = <0xc000>; 47*e67e8565SEmmanuel Vadot i-cache-line-size = <64>; 48*e67e8565SEmmanuel Vadot i-cache-sets = <256>; 49*e67e8565SEmmanuel Vadot d-cache-size = <0x8000>; 50*e67e8565SEmmanuel Vadot d-cache-line-size = <64>; 51*e67e8565SEmmanuel Vadot d-cache-sets = <256>; 52*e67e8565SEmmanuel Vadot next-level-cache = <&L2_0>; 53*e67e8565SEmmanuel Vadot }; 54*e67e8565SEmmanuel Vadot 55*e67e8565SEmmanuel Vadot cpu1: cpu@1 { 56*e67e8565SEmmanuel Vadot compatible = "arm,cortex-a72"; 57*e67e8565SEmmanuel Vadot reg = <0x001>; 58*e67e8565SEmmanuel Vadot device_type = "cpu"; 59*e67e8565SEmmanuel Vadot enable-method = "psci"; 60*e67e8565SEmmanuel Vadot i-cache-size = <0xc000>; 61*e67e8565SEmmanuel Vadot i-cache-line-size = <64>; 62*e67e8565SEmmanuel Vadot i-cache-sets = <256>; 63*e67e8565SEmmanuel Vadot d-cache-size = <0x8000>; 64*e67e8565SEmmanuel Vadot d-cache-line-size = <64>; 65*e67e8565SEmmanuel Vadot d-cache-sets = <256>; 66*e67e8565SEmmanuel Vadot next-level-cache = <&L2_0>; 67*e67e8565SEmmanuel Vadot }; 68*e67e8565SEmmanuel Vadot }; 69*e67e8565SEmmanuel Vadot 70*e67e8565SEmmanuel Vadot L2_0: l2-cache0 { 71*e67e8565SEmmanuel Vadot compatible = "cache"; 72*e67e8565SEmmanuel Vadot cache-level = <2>; 73*e67e8565SEmmanuel Vadot cache-size = <0x100000>; 74*e67e8565SEmmanuel Vadot cache-line-size = <64>; 75*e67e8565SEmmanuel Vadot cache-sets = <1024>; 76*e67e8565SEmmanuel Vadot next-level-cache = <&msmc_l3>; 77*e67e8565SEmmanuel Vadot }; 78*e67e8565SEmmanuel Vadot 79*e67e8565SEmmanuel Vadot msmc_l3: l3-cache0 { 80*e67e8565SEmmanuel Vadot compatible = "cache"; 81*e67e8565SEmmanuel Vadot cache-level = <3>; 82*e67e8565SEmmanuel Vadot }; 83*e67e8565SEmmanuel Vadot 84*e67e8565SEmmanuel Vadot firmware { 85*e67e8565SEmmanuel Vadot optee { 86*e67e8565SEmmanuel Vadot compatible = "linaro,optee-tz"; 87*e67e8565SEmmanuel Vadot method = "smc"; 88*e67e8565SEmmanuel Vadot }; 89*e67e8565SEmmanuel Vadot 90*e67e8565SEmmanuel Vadot psci: psci { 91*e67e8565SEmmanuel Vadot compatible = "arm,psci-1.0"; 92*e67e8565SEmmanuel Vadot method = "smc"; 93*e67e8565SEmmanuel Vadot }; 94*e67e8565SEmmanuel Vadot }; 95*e67e8565SEmmanuel Vadot 96*e67e8565SEmmanuel Vadot a72_timer0: timer-cl0-cpu0 { 97*e67e8565SEmmanuel Vadot compatible = "arm,armv8-timer"; 98*e67e8565SEmmanuel Vadot interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, /* cntpsirq */ 99*e67e8565SEmmanuel Vadot <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, /* cntpnsirq */ 100*e67e8565SEmmanuel Vadot <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, /* cntvirq */ 101*e67e8565SEmmanuel Vadot <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; /* cnthpirq */ 102*e67e8565SEmmanuel Vadot 103*e67e8565SEmmanuel Vadot }; 104*e67e8565SEmmanuel Vadot 105*e67e8565SEmmanuel Vadot pmu: pmu { 106*e67e8565SEmmanuel Vadot compatible = "arm,cortex-a72-pmu"; 107*e67e8565SEmmanuel Vadot /* Recommendation from GIC500 TRM Table A.3 */ 108*e67e8565SEmmanuel Vadot interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>; 109*e67e8565SEmmanuel Vadot }; 110*e67e8565SEmmanuel Vadot 111*e67e8565SEmmanuel Vadot cbass_main: bus@100000 { 112*e67e8565SEmmanuel Vadot compatible = "simple-bus"; 113*e67e8565SEmmanuel Vadot #address-cells = <2>; 114*e67e8565SEmmanuel Vadot #size-cells = <2>; 115*e67e8565SEmmanuel Vadot ranges = <0x00 0x00100000 0x00 0x00100000 0x00 0x00020000>, /* ctrl mmr */ 116*e67e8565SEmmanuel Vadot <0x00 0x00600000 0x00 0x00600000 0x00 0x00031100>, /* GPIO */ 117*e67e8565SEmmanuel Vadot <0x00 0x01000000 0x00 0x01000000 0x00 0x0d000000>, /* Most peripherals */ 118*e67e8565SEmmanuel Vadot <0x00 0x0d800000 0x00 0x0d800000 0x00 0x00800000>, /* PCIe Core*/ 119*e67e8565SEmmanuel Vadot <0x00 0x18000000 0x00 0x18000000 0x00 0x08000000>, /* PCIe1 DAT0 */ 120*e67e8565SEmmanuel Vadot <0x00 0x64800000 0x00 0x64800000 0x00 0x0070c000>, /* C71_1 */ 121*e67e8565SEmmanuel Vadot <0x00 0x65800000 0x00 0x65800000 0x00 0x0070c000>, /* C71_2 */ 122*e67e8565SEmmanuel Vadot <0x00 0x70000000 0x00 0x70000000 0x00 0x00400000>, /* MSMC RAM */ 123*e67e8565SEmmanuel Vadot <0x00 0x30000000 0x00 0x30000000 0x00 0x0c400000>, /* MAIN NAVSS */ 124*e67e8565SEmmanuel Vadot <0x41 0x00000000 0x41 0x00000000 0x01 0x00000000>, /* PCIe1 DAT1 */ 125*e67e8565SEmmanuel Vadot <0x4e 0x20000000 0x4e 0x20000000 0x00 0x00080000>, /* GPU */ 126*e67e8565SEmmanuel Vadot 127*e67e8565SEmmanuel Vadot /* MCUSS_WKUP Range */ 128*e67e8565SEmmanuel Vadot <0x00 0x28380000 0x00 0x28380000 0x00 0x03880000>, 129*e67e8565SEmmanuel Vadot <0x00 0x40200000 0x00 0x40200000 0x00 0x00998400>, 130*e67e8565SEmmanuel Vadot <0x00 0x40f00000 0x00 0x40f00000 0x00 0x00020000>, 131*e67e8565SEmmanuel Vadot <0x00 0x41000000 0x00 0x41000000 0x00 0x00020000>, 132*e67e8565SEmmanuel Vadot <0x00 0x41400000 0x00 0x41400000 0x00 0x00020000>, 133*e67e8565SEmmanuel Vadot <0x00 0x41c00000 0x00 0x41c00000 0x00 0x00100000>, 134*e67e8565SEmmanuel Vadot <0x00 0x42040000 0x00 0x42040000 0x00 0x03ac2400>, 135*e67e8565SEmmanuel Vadot <0x00 0x45100000 0x00 0x45100000 0x00 0x00c24000>, 136*e67e8565SEmmanuel Vadot <0x00 0x46000000 0x00 0x46000000 0x00 0x00200000>, 137*e67e8565SEmmanuel Vadot <0x00 0x47000000 0x00 0x47000000 0x00 0x00068400>, 138*e67e8565SEmmanuel Vadot <0x00 0x50000000 0x00 0x50000000 0x00 0x10000000>, 139*e67e8565SEmmanuel Vadot <0x05 0x00000000 0x05 0x00000000 0x01 0x00000000>, 140*e67e8565SEmmanuel Vadot <0x07 0x00000000 0x07 0x00000000 0x01 0x00000000>; 141*e67e8565SEmmanuel Vadot 142*e67e8565SEmmanuel Vadot cbass_mcu_wakeup: bus@28380000 { 143*e67e8565SEmmanuel Vadot compatible = "simple-bus"; 144*e67e8565SEmmanuel Vadot #address-cells = <2>; 145*e67e8565SEmmanuel Vadot #size-cells = <2>; 146*e67e8565SEmmanuel Vadot ranges = <0x00 0x28380000 0x00 0x28380000 0x00 0x03880000>, /* MCU NAVSS*/ 147*e67e8565SEmmanuel Vadot <0x00 0x40200000 0x00 0x40200000 0x00 0x00998400>, /* First peripheral window */ 148*e67e8565SEmmanuel Vadot <0x00 0x40f00000 0x00 0x40f00000 0x00 0x00020000>, /* CTRL_MMR0 */ 149*e67e8565SEmmanuel Vadot <0x00 0x41000000 0x00 0x41000000 0x00 0x00020000>, /* MCU R5F Core0 */ 150*e67e8565SEmmanuel Vadot <0x00 0x41400000 0x00 0x41400000 0x00 0x00020000>, /* MCU R5F Core1 */ 151*e67e8565SEmmanuel Vadot <0x00 0x41c00000 0x00 0x41c00000 0x00 0x00100000>, /* MCU SRAM */ 152*e67e8565SEmmanuel Vadot <0x00 0x42040000 0x00 0x42040000 0x00 0x03ac2400>, /* WKUP peripheral window */ 153*e67e8565SEmmanuel Vadot <0x00 0x45100000 0x00 0x45100000 0x00 0x00c24000>, /* MMRs, remaining NAVSS */ 154*e67e8565SEmmanuel Vadot <0x00 0x46000000 0x00 0x46000000 0x00 0x00200000>, /* CPSW */ 155*e67e8565SEmmanuel Vadot <0x00 0x47000000 0x00 0x47000000 0x00 0x00068400>, /* OSPI register space */ 156*e67e8565SEmmanuel Vadot <0x00 0x50000000 0x00 0x50000000 0x00 0x10000000>, /* FSS OSPI0/1 data region 0 */ 157*e67e8565SEmmanuel Vadot <0x05 0x00000000 0x05 0x00000000 0x01 0x00000000>, /* FSS OSPI0 data region 3 */ 158*e67e8565SEmmanuel Vadot <0x07 0x00000000 0x07 0x00000000 0x01 0x00000000>; /* FSS OSPI1 data region 3*/ 159*e67e8565SEmmanuel Vadot 160*e67e8565SEmmanuel Vadot }; 161*e67e8565SEmmanuel Vadot 162*e67e8565SEmmanuel Vadot }; 163*e67e8565SEmmanuel Vadot}; 164*e67e8565SEmmanuel Vadot 165*e67e8565SEmmanuel Vadot/* Now include peripherals from each bus segment */ 166*e67e8565SEmmanuel Vadot#include "k3-j721s2-main.dtsi" 167*e67e8565SEmmanuel Vadot#include "k3-j721s2-mcu-wakeup.dtsi" 168