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