1 // SPDX-License-Identifier: GPL-2.0
3 * Samsung's ExynosAuto v9 SoC device tree source
5 * Copyright (c) 2021 Samsung Electronics Co., Ltd.
9 #include <dt-bindings/interrupt-controller/arm-gic.h>
10 #include <dt-bindings/soc/samsung,exynos-usi.h>
13 compatible = "samsung,exynosautov9";
17 interrupt-parent = <&gic>;
20 pinctrl0 = &pinctrl_alive;
21 pinctrl1 = &pinctrl_aud;
22 pinctrl2 = &pinctrl_fsys0;
23 pinctrl3 = &pinctrl_fsys1;
24 pinctrl4 = &pinctrl_fsys2;
25 pinctrl5 = &pinctrl_peric0;
26 pinctrl6 = &pinctrl_peric1;
30 compatible = "arm,cortex-a76-pmu";
31 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>,
32 <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
33 <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
34 <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
35 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
36 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
37 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
38 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
39 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>,
40 <&cpu4>, <&cpu5>, <&cpu6>, <&cpu7>;
81 compatible = "arm,cortex-a76";
83 enable-method = "psci";
88 compatible = "arm,cortex-a76";
90 enable-method = "psci";
95 compatible = "arm,cortex-a76";
97 enable-method = "psci";
102 compatible = "arm,cortex-a76";
104 enable-method = "psci";
109 compatible = "arm,cortex-a76";
111 enable-method = "psci";
116 compatible = "arm,cortex-a76";
118 enable-method = "psci";
123 compatible = "arm,cortex-a76";
125 enable-method = "psci";
130 compatible = "arm,cortex-a76";
132 enable-method = "psci";
137 compatible = "arm,psci-1.0";
139 cpu_suspend = <0xc4000001>;
140 cpu_off = <0x84000002>;
141 cpu_on = <0xc4000003>;
145 compatible = "arm,armv8-timer";
146 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
147 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
148 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
149 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
154 compatible = "fixed-clock";
156 clock-frequency = <26000000>;
157 clock-output-names = "oscclk";
161 * Keep the stub clock for serial driver, until proper clock
162 * driver is implemented.
164 uart_clock: uart-clock {
165 compatible = "fixed-clock";
167 clock-frequency = <133250000>;
168 clock-output-names = "uart";
172 * Keep the stub clock for ufs driver, until proper clock
173 * driver is implemented.
175 ufs_core_clock: ufs-core-clock {
176 compatible = "fixed-clock";
178 clock-frequency = <166562500>;
183 compatible = "simple-bus";
184 #address-cells = <1>;
186 ranges = <0x0 0x0 0x0 0x20000000>;
189 compatible = "samsung,exynos850-chipid";
190 reg = <0x10000000 0x24>;
193 gic: interrupt-controller@10101000 {
194 compatible = "arm,gic-400";
195 #interrupt-cells = <3>;
196 #address-cells = <0>;
197 interrupt-controller;
198 reg = <0x10101000 0x1000>,
202 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) |
203 IRQ_TYPE_LEVEL_HIGH)>;
206 pinctrl_alive: pinctrl@10450000 {
207 compatible = "samsung,exynosautov9-pinctrl";
208 reg = <0x10450000 0x1000>;
210 wakeup-interrupt-controller {
211 compatible = "samsung,exynos7-wakeup-eint";
215 pinctrl_aud: pinctrl@19c60000{
216 compatible = "samsung,exynosautov9-pinctrl";
217 reg = <0x19c60000 0x1000>;
220 pinctrl_fsys0: pinctrl@17740000 {
221 compatible = "samsung,exynosautov9-pinctrl";
222 reg = <0x17740000 0x1000>;
223 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
226 pinctrl_fsys1: pinctrl@17060000 {
227 compatible = "samsung,exynosautov9-pinctrl";
228 reg = <0x17060000 0x1000>;
229 interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
232 pinctrl_fsys2: pinctrl@17c30000 {
233 compatible = "samsung,exynosautov9-pinctrl";
234 reg = <0x17c30000 0x1000>;
235 interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>;
238 pinctrl_peric0: pinctrl@10230000 {
239 compatible = "samsung,exynosautov9-pinctrl";
240 reg = <0x10230000 0x1000>;
241 interrupts = <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>;
244 pinctrl_peric1: pinctrl@10830000 {
245 compatible = "samsung,exynosautov9-pinctrl";
246 reg = <0x10830000 0x1000>;
247 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
250 pmu_system_controller: system-controller@10460000 {
251 compatible = "samsung,exynos7-pmu", "syscon";
252 reg = <0x10460000 0x10000>;
255 syscon_fsys2: syscon@17c20000 {
256 compatible = "samsung,exynosautov9-sysreg", "syscon";
257 reg = <0x17c20000 0x1000>;
260 syscon_peric0: syscon@10220000 {
261 compatible = "samsung,exynosautov9-sysreg", "syscon";
262 reg = <0x10220000 0x2000>;
265 usi_0: usi@103000c0 {
266 compatible = "samsung,exynos850-usi";
267 reg = <0x103000c0 0x20>;
268 samsung,sysreg = <&syscon_peric0 0x1000>;
269 samsung,mode = <USI_V2_UART>;
270 samsung,clkreq-on; /* needed for UART mode */
271 #address-cells = <1>;
274 clocks = <&uart_clock>, <&uart_clock>;
275 clock-names = "pclk", "ipclk";
279 serial_0: serial@10300000 {
280 compatible = "samsung,exynos850-uart";
281 reg = <0x10300000 0xc0>;
282 interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>;
283 pinctrl-names = "default";
284 pinctrl-0 = <&uart0_bus_dual>;
285 clocks = <&uart_clock>, <&uart_clock>;
286 clock-names = "uart", "clk_uart_baud0";
291 ufs_0_phy: ufs0-phy@17e04000 {
292 compatible = "samsung,exynosautov9-ufs-phy";
293 reg = <0x17e04000 0xc00>;
294 reg-names = "phy-pma";
295 samsung,pmu-syscon = <&pmu_system_controller>;
298 clock-names = "ref_clk";
302 ufs_0: ufs0@17e00000 {
303 compatible ="samsung,exynosautov9-ufs";
305 reg = <0x17e00000 0x100>, /* 0: HCI standard */
306 <0x17e01100 0x410>, /* 1: Vendor-specific */
307 <0x17e80000 0x8000>, /* 2: UNIPRO */
308 <0x17dc0000 0x2200>; /* 3: UFS protector */
309 reg-names = "hci", "vs_hci", "unipro", "ufsp";
310 interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>;
311 clocks = <&ufs_core_clock>,
313 clock-names = "core_clk", "sclk_unipro_main";
314 freq-table-hz = <0 0>, <0 0>;
315 pinctrl-names = "default";
316 pinctrl-0 = <&ufs_rst_n &ufs_refclk_out>;
318 phy-names = "ufs-phy";
319 samsung,sysreg = <&syscon_fsys2 0x710>;
325 #include "exynosautov9-pinctrl.dtsi"