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