162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Realtek RTD1293/RTD1295/RTD1296 SoC 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (c) 2016-2019 Andreas Färber 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci/memreserve/ 0x0000000000000000 0x000000000001f000; 962306a36Sopenharmony_ci/memreserve/ 0x000000000001f000 0x00000000000e1000; 1062306a36Sopenharmony_ci/memreserve/ 0x0000000001b00000 0x00000000004be000; 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h> 1362306a36Sopenharmony_ci#include <dt-bindings/reset/realtek,rtd1295.h> 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci/ { 1662306a36Sopenharmony_ci interrupt-parent = <&gic>; 1762306a36Sopenharmony_ci #address-cells = <1>; 1862306a36Sopenharmony_ci #size-cells = <1>; 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci reserved-memory { 2162306a36Sopenharmony_ci #address-cells = <1>; 2262306a36Sopenharmony_ci #size-cells = <1>; 2362306a36Sopenharmony_ci ranges; 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci rpc_comm: rpc@1f000 { 2662306a36Sopenharmony_ci reg = <0x1f000 0x1000>; 2762306a36Sopenharmony_ci }; 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci rpc_ringbuf: rpc@1ffe000 { 3062306a36Sopenharmony_ci reg = <0x1ffe000 0x4000>; 3162306a36Sopenharmony_ci }; 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci tee: tee@10100000 { 3462306a36Sopenharmony_ci reg = <0x10100000 0xf00000>; 3562306a36Sopenharmony_ci no-map; 3662306a36Sopenharmony_ci }; 3762306a36Sopenharmony_ci }; 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci arm_pmu: arm-pmu { 4062306a36Sopenharmony_ci compatible = "arm,cortex-a53-pmu"; 4162306a36Sopenharmony_ci interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 4262306a36Sopenharmony_ci }; 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci osc27M: osc { 4562306a36Sopenharmony_ci compatible = "fixed-clock"; 4662306a36Sopenharmony_ci clock-frequency = <27000000>; 4762306a36Sopenharmony_ci #clock-cells = <0>; 4862306a36Sopenharmony_ci clock-output-names = "osc27M"; 4962306a36Sopenharmony_ci }; 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci soc { 5262306a36Sopenharmony_ci compatible = "simple-bus"; 5362306a36Sopenharmony_ci #address-cells = <1>; 5462306a36Sopenharmony_ci #size-cells = <1>; 5562306a36Sopenharmony_ci ranges = <0x00000000 0x00000000 0x0001f000>, /* boot ROM */ 5662306a36Sopenharmony_ci /* Exclude up to 2 GiB of RAM */ 5762306a36Sopenharmony_ci <0x80000000 0x80000000 0x80000000>; 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci rbus: bus@98000000 { 6062306a36Sopenharmony_ci compatible = "simple-bus"; 6162306a36Sopenharmony_ci reg = <0x98000000 0x200000>; 6262306a36Sopenharmony_ci #address-cells = <1>; 6362306a36Sopenharmony_ci #size-cells = <1>; 6462306a36Sopenharmony_ci ranges = <0x0 0x98000000 0x200000>; 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci crt: syscon@0 { 6762306a36Sopenharmony_ci compatible = "syscon", "simple-mfd"; 6862306a36Sopenharmony_ci reg = <0x0 0x1800>; 6962306a36Sopenharmony_ci reg-io-width = <4>; 7062306a36Sopenharmony_ci #address-cells = <1>; 7162306a36Sopenharmony_ci #size-cells = <1>; 7262306a36Sopenharmony_ci ranges = <0x0 0x0 0x1800>; 7362306a36Sopenharmony_ci }; 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci iso: syscon@7000 { 7662306a36Sopenharmony_ci compatible = "syscon", "simple-mfd"; 7762306a36Sopenharmony_ci reg = <0x7000 0x1000>; 7862306a36Sopenharmony_ci reg-io-width = <4>; 7962306a36Sopenharmony_ci #address-cells = <1>; 8062306a36Sopenharmony_ci #size-cells = <1>; 8162306a36Sopenharmony_ci ranges = <0x0 0x7000 0x1000>; 8262306a36Sopenharmony_ci }; 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ci sb2: syscon@1a000 { 8562306a36Sopenharmony_ci compatible = "syscon", "simple-mfd"; 8662306a36Sopenharmony_ci reg = <0x1a000 0x1000>; 8762306a36Sopenharmony_ci reg-io-width = <4>; 8862306a36Sopenharmony_ci #address-cells = <1>; 8962306a36Sopenharmony_ci #size-cells = <1>; 9062306a36Sopenharmony_ci ranges = <0x0 0x1a000 0x1000>; 9162306a36Sopenharmony_ci }; 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ci misc: syscon@1b000 { 9462306a36Sopenharmony_ci compatible = "syscon", "simple-mfd"; 9562306a36Sopenharmony_ci reg = <0x1b000 0x1000>; 9662306a36Sopenharmony_ci reg-io-width = <4>; 9762306a36Sopenharmony_ci #address-cells = <1>; 9862306a36Sopenharmony_ci #size-cells = <1>; 9962306a36Sopenharmony_ci ranges = <0x0 0x1b000 0x1000>; 10062306a36Sopenharmony_ci }; 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ci scpu_wrapper: syscon@1d000 { 10362306a36Sopenharmony_ci compatible = "syscon", "simple-mfd"; 10462306a36Sopenharmony_ci reg = <0x1d000 0x2000>; 10562306a36Sopenharmony_ci reg-io-width = <4>; 10662306a36Sopenharmony_ci #address-cells = <1>; 10762306a36Sopenharmony_ci #size-cells = <1>; 10862306a36Sopenharmony_ci ranges = <0x0 0x1d000 0x2000>; 10962306a36Sopenharmony_ci }; 11062306a36Sopenharmony_ci }; 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_ci gic: interrupt-controller@ff011000 { 11362306a36Sopenharmony_ci compatible = "arm,gic-400"; 11462306a36Sopenharmony_ci reg = <0xff011000 0x1000>, 11562306a36Sopenharmony_ci <0xff012000 0x2000>, 11662306a36Sopenharmony_ci <0xff014000 0x2000>, 11762306a36Sopenharmony_ci <0xff016000 0x2000>; 11862306a36Sopenharmony_ci interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 11962306a36Sopenharmony_ci interrupt-controller; 12062306a36Sopenharmony_ci #interrupt-cells = <3>; 12162306a36Sopenharmony_ci }; 12262306a36Sopenharmony_ci }; 12362306a36Sopenharmony_ci}; 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ci&crt { 12662306a36Sopenharmony_ci reset1: reset-controller@0 { 12762306a36Sopenharmony_ci compatible = "snps,dw-low-reset"; 12862306a36Sopenharmony_ci reg = <0x0 0x4>; 12962306a36Sopenharmony_ci #reset-cells = <1>; 13062306a36Sopenharmony_ci }; 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_ci reset2: reset-controller@4 { 13362306a36Sopenharmony_ci compatible = "snps,dw-low-reset"; 13462306a36Sopenharmony_ci reg = <0x4 0x4>; 13562306a36Sopenharmony_ci #reset-cells = <1>; 13662306a36Sopenharmony_ci }; 13762306a36Sopenharmony_ci 13862306a36Sopenharmony_ci reset3: reset-controller@8 { 13962306a36Sopenharmony_ci compatible = "snps,dw-low-reset"; 14062306a36Sopenharmony_ci reg = <0x8 0x4>; 14162306a36Sopenharmony_ci #reset-cells = <1>; 14262306a36Sopenharmony_ci }; 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ci reset4: reset-controller@50 { 14562306a36Sopenharmony_ci compatible = "snps,dw-low-reset"; 14662306a36Sopenharmony_ci reg = <0x50 0x4>; 14762306a36Sopenharmony_ci #reset-cells = <1>; 14862306a36Sopenharmony_ci }; 14962306a36Sopenharmony_ci}; 15062306a36Sopenharmony_ci 15162306a36Sopenharmony_ci&iso { 15262306a36Sopenharmony_ci iso_reset: reset-controller@88 { 15362306a36Sopenharmony_ci compatible = "snps,dw-low-reset"; 15462306a36Sopenharmony_ci reg = <0x88 0x4>; 15562306a36Sopenharmony_ci #reset-cells = <1>; 15662306a36Sopenharmony_ci }; 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ci wdt: watchdog@680 { 15962306a36Sopenharmony_ci compatible = "realtek,rtd1295-watchdog"; 16062306a36Sopenharmony_ci reg = <0x680 0x100>; 16162306a36Sopenharmony_ci clocks = <&osc27M>; 16262306a36Sopenharmony_ci }; 16362306a36Sopenharmony_ci 16462306a36Sopenharmony_ci uart0: serial@800 { 16562306a36Sopenharmony_ci compatible = "snps,dw-apb-uart"; 16662306a36Sopenharmony_ci reg = <0x800 0x400>; 16762306a36Sopenharmony_ci reg-shift = <2>; 16862306a36Sopenharmony_ci reg-io-width = <4>; 16962306a36Sopenharmony_ci clock-frequency = <27000000>; 17062306a36Sopenharmony_ci resets = <&iso_reset RTD1295_ISO_RSTN_UR0>; 17162306a36Sopenharmony_ci status = "disabled"; 17262306a36Sopenharmony_ci }; 17362306a36Sopenharmony_ci}; 17462306a36Sopenharmony_ci 17562306a36Sopenharmony_ci&misc { 17662306a36Sopenharmony_ci uart1: serial@200 { 17762306a36Sopenharmony_ci compatible = "snps,dw-apb-uart"; 17862306a36Sopenharmony_ci reg = <0x200 0x100>; 17962306a36Sopenharmony_ci reg-shift = <2>; 18062306a36Sopenharmony_ci reg-io-width = <4>; 18162306a36Sopenharmony_ci clock-frequency = <432000000>; 18262306a36Sopenharmony_ci resets = <&reset2 RTD1295_RSTN_UR1>; 18362306a36Sopenharmony_ci status = "disabled"; 18462306a36Sopenharmony_ci }; 18562306a36Sopenharmony_ci 18662306a36Sopenharmony_ci uart2: serial@400 { 18762306a36Sopenharmony_ci compatible = "snps,dw-apb-uart"; 18862306a36Sopenharmony_ci reg = <0x400 0x100>; 18962306a36Sopenharmony_ci reg-shift = <2>; 19062306a36Sopenharmony_ci reg-io-width = <4>; 19162306a36Sopenharmony_ci clock-frequency = <432000000>; 19262306a36Sopenharmony_ci resets = <&reset2 RTD1295_RSTN_UR2>; 19362306a36Sopenharmony_ci status = "disabled"; 19462306a36Sopenharmony_ci }; 19562306a36Sopenharmony_ci}; 196