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