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