xref: /freebsd/sys/contrib/device-tree/src/arm64/ti/k3-j784s4-j742s2-common.dtsi (revision 5f62a964e9f8abc6a05d8338273fadd154f0a206)
1*5f62a964SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only OR MIT
2*5f62a964SEmmanuel Vadot/*
3*5f62a964SEmmanuel Vadot * Device Tree Source for J784S4 and J742S2 SoC Family
4*5f62a964SEmmanuel Vadot *
5*5f62a964SEmmanuel Vadot * TRM (j784s4) (SPRUJ43 JULY 2022): https://www.ti.com/lit/zip/spruj52
6*5f62a964SEmmanuel Vadot * TRM (j742s2): https://www.ti.com/lit/pdf/spruje3
7*5f62a964SEmmanuel Vadot *
8*5f62a964SEmmanuel Vadot * Copyright (C) 2022-2024 Texas Instruments Incorporated - https://www.ti.com/
9*5f62a964SEmmanuel Vadot *
10*5f62a964SEmmanuel Vadot */
11*5f62a964SEmmanuel Vadot
12*5f62a964SEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
13*5f62a964SEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
14*5f62a964SEmmanuel Vadot#include <dt-bindings/soc/ti,sci_pm_domain.h>
15*5f62a964SEmmanuel Vadot
16*5f62a964SEmmanuel Vadot#include "k3-pinctrl.h"
17*5f62a964SEmmanuel Vadot
18*5f62a964SEmmanuel Vadot/ {
19*5f62a964SEmmanuel Vadot	interrupt-parent = <&gic500>;
20*5f62a964SEmmanuel Vadot	#address-cells = <2>;
21*5f62a964SEmmanuel Vadot	#size-cells = <2>;
22*5f62a964SEmmanuel Vadot
23*5f62a964SEmmanuel Vadot	L2_0: l2-cache0 {
24*5f62a964SEmmanuel Vadot		compatible = "cache";
25*5f62a964SEmmanuel Vadot		cache-level = <2>;
26*5f62a964SEmmanuel Vadot		cache-unified;
27*5f62a964SEmmanuel Vadot		cache-size = <0x200000>;
28*5f62a964SEmmanuel Vadot		cache-line-size = <64>;
29*5f62a964SEmmanuel Vadot		cache-sets = <1024>;
30*5f62a964SEmmanuel Vadot		next-level-cache = <&msmc_l3>;
31*5f62a964SEmmanuel Vadot	};
32*5f62a964SEmmanuel Vadot
33*5f62a964SEmmanuel Vadot	L2_1: l2-cache1 {
34*5f62a964SEmmanuel Vadot		compatible = "cache";
35*5f62a964SEmmanuel Vadot		cache-level = <2>;
36*5f62a964SEmmanuel Vadot		cache-unified;
37*5f62a964SEmmanuel Vadot		cache-size = <0x200000>;
38*5f62a964SEmmanuel Vadot		cache-line-size = <64>;
39*5f62a964SEmmanuel Vadot		cache-sets = <1024>;
40*5f62a964SEmmanuel Vadot		next-level-cache = <&msmc_l3>;
41*5f62a964SEmmanuel Vadot	};
42*5f62a964SEmmanuel Vadot
43*5f62a964SEmmanuel Vadot	msmc_l3: l3-cache0 {
44*5f62a964SEmmanuel Vadot		compatible = "cache";
45*5f62a964SEmmanuel Vadot		cache-level = <3>;
46*5f62a964SEmmanuel Vadot		cache-unified;
47*5f62a964SEmmanuel Vadot	};
48*5f62a964SEmmanuel Vadot
49*5f62a964SEmmanuel Vadot	firmware {
50*5f62a964SEmmanuel Vadot		optee {
51*5f62a964SEmmanuel Vadot			compatible = "linaro,optee-tz";
52*5f62a964SEmmanuel Vadot			method = "smc";
53*5f62a964SEmmanuel Vadot		};
54*5f62a964SEmmanuel Vadot
55*5f62a964SEmmanuel Vadot		psci: psci {
56*5f62a964SEmmanuel Vadot			compatible = "arm,psci-1.0";
57*5f62a964SEmmanuel Vadot			method = "smc";
58*5f62a964SEmmanuel Vadot		};
59*5f62a964SEmmanuel Vadot	};
60*5f62a964SEmmanuel Vadot
61*5f62a964SEmmanuel Vadot	a72_timer0: timer-cl0-cpu0 {
62*5f62a964SEmmanuel Vadot		compatible = "arm,armv8-timer";
63*5f62a964SEmmanuel Vadot		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, /* cntpsirq */
64*5f62a964SEmmanuel Vadot			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, /* cntpnsirq */
65*5f62a964SEmmanuel Vadot			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, /* cntvirq */
66*5f62a964SEmmanuel Vadot			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; /* cnthpirq */
67*5f62a964SEmmanuel Vadot	};
68*5f62a964SEmmanuel Vadot
69*5f62a964SEmmanuel Vadot	pmu: pmu {
70*5f62a964SEmmanuel Vadot		compatible = "arm,cortex-a72-pmu";
71*5f62a964SEmmanuel Vadot		/* Recommendation from GIC500 TRM Table A.3 */
72*5f62a964SEmmanuel Vadot		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
73*5f62a964SEmmanuel Vadot	};
74*5f62a964SEmmanuel Vadot
75*5f62a964SEmmanuel Vadot	cbass_main: bus@100000 {
76*5f62a964SEmmanuel Vadot		bootph-all;
77*5f62a964SEmmanuel Vadot		compatible = "simple-bus";
78*5f62a964SEmmanuel Vadot		#address-cells = <2>;
79*5f62a964SEmmanuel Vadot		#size-cells = <2>;
80*5f62a964SEmmanuel Vadot		ranges = <0x00 0x00100000 0x00 0x00100000 0x00 0x00020000>, /* ctrl mmr */
81*5f62a964SEmmanuel Vadot			 <0x00 0x00600000 0x00 0x00600000 0x00 0x00031100>, /* GPIO */
82*5f62a964SEmmanuel Vadot			 <0x00 0x00700000 0x00 0x00700000 0x00 0x00001000>, /* ESM */
83*5f62a964SEmmanuel Vadot			 <0x00 0x01000000 0x00 0x01000000 0x00 0x0d000000>, /* Most peripherals */
84*5f62a964SEmmanuel Vadot			 <0x00 0x04210000 0x00 0x04210000 0x00 0x00010000>, /* VPU0 */
85*5f62a964SEmmanuel Vadot			 <0x00 0x04220000 0x00 0x04220000 0x00 0x00010000>, /* VPU1 */
86*5f62a964SEmmanuel Vadot			 <0x00 0x0d000000 0x00 0x0d000000 0x00 0x00800000>, /* PCIe0 Core*/
87*5f62a964SEmmanuel Vadot			 <0x00 0x0d800000 0x00 0x0d800000 0x00 0x00800000>, /* PCIe1 Core*/
88*5f62a964SEmmanuel Vadot			 <0x00 0x0e000000 0x00 0x0e000000 0x00 0x00800000>, /* PCIe2 Core*/
89*5f62a964SEmmanuel Vadot			 <0x00 0x0e800000 0x00 0x0e800000 0x00 0x00800000>, /* PCIe3 Core*/
90*5f62a964SEmmanuel Vadot			 <0x00 0x10000000 0x00 0x10000000 0x00 0x08000000>, /* PCIe0 DAT0 */
91*5f62a964SEmmanuel Vadot			 <0x00 0x18000000 0x00 0x18000000 0x00 0x08000000>, /* PCIe1 DAT0 */
92*5f62a964SEmmanuel Vadot			 <0x00 0x64800000 0x00 0x64800000 0x00 0x0070c000>, /* C71_1 */
93*5f62a964SEmmanuel Vadot			 <0x00 0x65800000 0x00 0x65800000 0x00 0x0070c000>, /* C71_2 */
94*5f62a964SEmmanuel Vadot			 <0x00 0x66800000 0x00 0x66800000 0x00 0x0070c000>, /* C71_3 */
95*5f62a964SEmmanuel Vadot			 <0x00 0x67800000 0x00 0x67800000 0x00 0x0070c000>, /* C71_4 */
96*5f62a964SEmmanuel Vadot			 <0x00 0x6f000000 0x00 0x6f000000 0x00 0x00310000>, /* A72 PERIPHBASE */
97*5f62a964SEmmanuel Vadot			 <0x00 0x70000000 0x00 0x70000000 0x00 0x00400000>, /* MSMC RAM */
98*5f62a964SEmmanuel Vadot			 <0x00 0x30000000 0x00 0x30000000 0x00 0x0c400000>, /* MAIN NAVSS */
99*5f62a964SEmmanuel Vadot			 <0x40 0x00000000 0x40 0x00000000 0x01 0x00000000>, /* PCIe0 DAT1 */
100*5f62a964SEmmanuel Vadot			 <0x41 0x00000000 0x41 0x00000000 0x01 0x00000000>, /* PCIe1 DAT1 */
101*5f62a964SEmmanuel Vadot			 <0x42 0x00000000 0x42 0x00000000 0x01 0x00000000>, /* PCIe2 DAT1 */
102*5f62a964SEmmanuel Vadot			 <0x43 0x00000000 0x43 0x00000000 0x01 0x00000000>, /* PCIe3 DAT1 */
103*5f62a964SEmmanuel Vadot			 <0x44 0x00000000 0x44 0x00000000 0x00 0x08000000>, /* PCIe2 DAT0 */
104*5f62a964SEmmanuel Vadot			 <0x44 0x10000000 0x44 0x10000000 0x00 0x08000000>, /* PCIe3 DAT0 */
105*5f62a964SEmmanuel Vadot			 <0x4e 0x20000000 0x4e 0x20000000 0x00 0x00080000>, /* GPU */
106*5f62a964SEmmanuel Vadot
107*5f62a964SEmmanuel Vadot			 /* MCUSS_WKUP Range */
108*5f62a964SEmmanuel Vadot			 <0x00 0x28380000 0x00 0x28380000 0x00 0x03880000>,
109*5f62a964SEmmanuel Vadot			 <0x00 0x40200000 0x00 0x40200000 0x00 0x00998400>,
110*5f62a964SEmmanuel Vadot			 <0x00 0x40f00000 0x00 0x40f00000 0x00 0x00020000>,
111*5f62a964SEmmanuel Vadot			 <0x00 0x41000000 0x00 0x41000000 0x00 0x00020000>,
112*5f62a964SEmmanuel Vadot			 <0x00 0x41400000 0x00 0x41400000 0x00 0x00020000>,
113*5f62a964SEmmanuel Vadot			 <0x00 0x41c00000 0x00 0x41c00000 0x00 0x00100000>,
114*5f62a964SEmmanuel Vadot			 <0x00 0x42040000 0x00 0x42040000 0x00 0x03ac2400>,
115*5f62a964SEmmanuel Vadot			 <0x00 0x45100000 0x00 0x45100000 0x00 0x00c24000>,
116*5f62a964SEmmanuel Vadot			 <0x00 0x46000000 0x00 0x46000000 0x00 0x00200000>,
117*5f62a964SEmmanuel Vadot			 <0x00 0x47000000 0x00 0x47000000 0x00 0x00068400>,
118*5f62a964SEmmanuel Vadot			 <0x00 0x50000000 0x00 0x50000000 0x00 0x10000000>,
119*5f62a964SEmmanuel Vadot			 <0x04 0x00000000 0x04 0x00000000 0x04 0x00000000>;
120*5f62a964SEmmanuel Vadot
121*5f62a964SEmmanuel Vadot		cbass_mcu_wakeup: bus@28380000 {
122*5f62a964SEmmanuel Vadot			bootph-all;
123*5f62a964SEmmanuel Vadot			compatible = "simple-bus";
124*5f62a964SEmmanuel Vadot			#address-cells = <2>;
125*5f62a964SEmmanuel Vadot			#size-cells = <2>;
126*5f62a964SEmmanuel Vadot			ranges = <0x00 0x28380000 0x00 0x28380000 0x00 0x03880000>, /* MCU NAVSS*/
127*5f62a964SEmmanuel Vadot				 <0x00 0x40200000 0x00 0x40200000 0x00 0x00998400>, /* First peripheral window */
128*5f62a964SEmmanuel Vadot				 <0x00 0x40f00000 0x00 0x40f00000 0x00 0x00020000>, /* CTRL_MMR0 */
129*5f62a964SEmmanuel Vadot				 <0x00 0x41000000 0x00 0x41000000 0x00 0x00020000>, /* MCU R5F Core0 */
130*5f62a964SEmmanuel Vadot				 <0x00 0x41400000 0x00 0x41400000 0x00 0x00020000>, /* MCU R5F Core1 */
131*5f62a964SEmmanuel Vadot				 <0x00 0x41c00000 0x00 0x41c00000 0x00 0x00100000>, /* MCU SRAM */
132*5f62a964SEmmanuel Vadot				 <0x00 0x42040000 0x00 0x42040000 0x00 0x03ac2400>, /* WKUP peripheral window */
133*5f62a964SEmmanuel Vadot				 <0x00 0x45100000 0x00 0x45100000 0x00 0x00c24000>, /* MMRs, remaining NAVSS */
134*5f62a964SEmmanuel Vadot				 <0x00 0x46000000 0x00 0x46000000 0x00 0x00200000>, /* CPSW */
135*5f62a964SEmmanuel Vadot				 <0x00 0x47000000 0x00 0x47000000 0x00 0x00068400>, /* OSPI register space */
136*5f62a964SEmmanuel Vadot				 <0x00 0x50000000 0x00 0x50000000 0x00 0x10000000>, /* FSS data region 1 */
137*5f62a964SEmmanuel Vadot				 <0x04 0x00000000 0x04 0x00000000 0x04 0x00000000>; /* FSS data region 0/3 */
138*5f62a964SEmmanuel Vadot		};
139*5f62a964SEmmanuel Vadot	};
140*5f62a964SEmmanuel Vadot
141*5f62a964SEmmanuel Vadot	thermal_zones: thermal-zones {
142*5f62a964SEmmanuel Vadot		#include "k3-j784s4-j742s2-thermal-common.dtsi"
143*5f62a964SEmmanuel Vadot	};
144*5f62a964SEmmanuel Vadot};
145*5f62a964SEmmanuel Vadot
146*5f62a964SEmmanuel Vadot/* Now include peripherals from each bus segment */
147*5f62a964SEmmanuel Vadot#include "k3-j784s4-j742s2-main-common.dtsi"
148*5f62a964SEmmanuel Vadot#include "k3-j784s4-j742s2-mcu-wakeup-common.dtsi"
149