162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Realtek RTD16xx SoC family 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (c) 2019 Realtek Semiconductor Corp. 662306a36Sopenharmony_ci * Copyright (c) 2019 Andreas Färber 762306a36Sopenharmony_ci */ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h> 1062306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci/ { 1362306a36Sopenharmony_ci interrupt-parent = <&gic>; 1462306a36Sopenharmony_ci #address-cells = <1>; 1562306a36Sopenharmony_ci #size-cells = <1>; 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci reserved-memory { 1862306a36Sopenharmony_ci #address-cells = <1>; 1962306a36Sopenharmony_ci #size-cells = <1>; 2062306a36Sopenharmony_ci ranges; 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci rpc_comm: rpc@2f000 { 2362306a36Sopenharmony_ci reg = <0x2f000 0x1000>; 2462306a36Sopenharmony_ci }; 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci rpc_ringbuf: rpc@1ffe000 { 2762306a36Sopenharmony_ci reg = <0x1ffe000 0x4000>; 2862306a36Sopenharmony_ci }; 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci tee: tee@10100000 { 3162306a36Sopenharmony_ci reg = <0x10100000 0xf00000>; 3262306a36Sopenharmony_ci no-map; 3362306a36Sopenharmony_ci }; 3462306a36Sopenharmony_ci }; 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci cpus { 3762306a36Sopenharmony_ci #address-cells = <1>; 3862306a36Sopenharmony_ci #size-cells = <0>; 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci cpu0: cpu@0 { 4162306a36Sopenharmony_ci device_type = "cpu"; 4262306a36Sopenharmony_ci compatible = "arm,cortex-a55"; 4362306a36Sopenharmony_ci reg = <0x0>; 4462306a36Sopenharmony_ci enable-method = "psci"; 4562306a36Sopenharmony_ci next-level-cache = <&l2>; 4662306a36Sopenharmony_ci }; 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci cpu1: cpu@100 { 4962306a36Sopenharmony_ci device_type = "cpu"; 5062306a36Sopenharmony_ci compatible = "arm,cortex-a55"; 5162306a36Sopenharmony_ci reg = <0x100>; 5262306a36Sopenharmony_ci enable-method = "psci"; 5362306a36Sopenharmony_ci next-level-cache = <&l3>; 5462306a36Sopenharmony_ci }; 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci cpu2: cpu@200 { 5762306a36Sopenharmony_ci device_type = "cpu"; 5862306a36Sopenharmony_ci compatible = "arm,cortex-a55"; 5962306a36Sopenharmony_ci reg = <0x200>; 6062306a36Sopenharmony_ci enable-method = "psci"; 6162306a36Sopenharmony_ci next-level-cache = <&l3>; 6262306a36Sopenharmony_ci }; 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci cpu3: cpu@300 { 6562306a36Sopenharmony_ci device_type = "cpu"; 6662306a36Sopenharmony_ci compatible = "arm,cortex-a55"; 6762306a36Sopenharmony_ci reg = <0x300>; 6862306a36Sopenharmony_ci enable-method = "psci"; 6962306a36Sopenharmony_ci next-level-cache = <&l3>; 7062306a36Sopenharmony_ci }; 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci cpu4: cpu@400 { 7362306a36Sopenharmony_ci device_type = "cpu"; 7462306a36Sopenharmony_ci compatible = "arm,cortex-a55"; 7562306a36Sopenharmony_ci reg = <0x400>; 7662306a36Sopenharmony_ci enable-method = "psci"; 7762306a36Sopenharmony_ci next-level-cache = <&l3>; 7862306a36Sopenharmony_ci }; 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci cpu5: cpu@500 { 8162306a36Sopenharmony_ci device_type = "cpu"; 8262306a36Sopenharmony_ci compatible = "arm,cortex-a55"; 8362306a36Sopenharmony_ci reg = <0x500>; 8462306a36Sopenharmony_ci enable-method = "psci"; 8562306a36Sopenharmony_ci next-level-cache = <&l3>; 8662306a36Sopenharmony_ci }; 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ci l2: l2-cache { 8962306a36Sopenharmony_ci compatible = "cache"; 9062306a36Sopenharmony_ci next-level-cache = <&l3>; 9162306a36Sopenharmony_ci cache-level = <2>; 9262306a36Sopenharmony_ci cache-unified; 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci }; 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci l3: l3-cache { 9762306a36Sopenharmony_ci compatible = "cache"; 9862306a36Sopenharmony_ci cache-level = <3>; 9962306a36Sopenharmony_ci cache-unified; 10062306a36Sopenharmony_ci }; 10162306a36Sopenharmony_ci }; 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci timer { 10462306a36Sopenharmony_ci compatible = "arm,armv8-timer"; 10562306a36Sopenharmony_ci interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, 10662306a36Sopenharmony_ci <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, 10762306a36Sopenharmony_ci <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, 10862306a36Sopenharmony_ci <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; 10962306a36Sopenharmony_ci }; 11062306a36Sopenharmony_ci 11162306a36Sopenharmony_ci arm_pmu: pmu { 11262306a36Sopenharmony_ci compatible = "arm,armv8-pmuv3"; 11362306a36Sopenharmony_ci interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW>; 11462306a36Sopenharmony_ci interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, 11562306a36Sopenharmony_ci <&cpu3>, <&cpu4>, <&cpu5>; 11662306a36Sopenharmony_ci }; 11762306a36Sopenharmony_ci 11862306a36Sopenharmony_ci psci { 11962306a36Sopenharmony_ci compatible = "arm,psci-1.0"; 12062306a36Sopenharmony_ci method = "smc"; 12162306a36Sopenharmony_ci }; 12262306a36Sopenharmony_ci 12362306a36Sopenharmony_ci osc27M: osc { 12462306a36Sopenharmony_ci compatible = "fixed-clock"; 12562306a36Sopenharmony_ci clock-frequency = <27000000>; 12662306a36Sopenharmony_ci clock-output-names = "osc27M"; 12762306a36Sopenharmony_ci #clock-cells = <0>; 12862306a36Sopenharmony_ci }; 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_ci soc { 13162306a36Sopenharmony_ci compatible = "simple-bus"; 13262306a36Sopenharmony_ci #address-cells = <1>; 13362306a36Sopenharmony_ci #size-cells = <1>; 13462306a36Sopenharmony_ci ranges = <0x00000000 0x00000000 0x0002e000>, /* boot ROM */ 13562306a36Sopenharmony_ci <0x98000000 0x98000000 0x68000000>; 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ci rbus: bus@98000000 { 13862306a36Sopenharmony_ci compatible = "simple-bus"; 13962306a36Sopenharmony_ci reg = <0x98000000 0x200000>; 14062306a36Sopenharmony_ci #address-cells = <1>; 14162306a36Sopenharmony_ci #size-cells = <1>; 14262306a36Sopenharmony_ci ranges = <0x0 0x98000000 0x200000>; 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ci crt: syscon@0 { 14562306a36Sopenharmony_ci compatible = "syscon", "simple-mfd"; 14662306a36Sopenharmony_ci reg = <0x0 0x1000>; 14762306a36Sopenharmony_ci reg-io-width = <4>; 14862306a36Sopenharmony_ci #address-cells = <1>; 14962306a36Sopenharmony_ci #size-cells = <1>; 15062306a36Sopenharmony_ci ranges = <0x0 0x0 0x1000>; 15162306a36Sopenharmony_ci }; 15262306a36Sopenharmony_ci 15362306a36Sopenharmony_ci iso: syscon@7000 { 15462306a36Sopenharmony_ci compatible = "syscon", "simple-mfd"; 15562306a36Sopenharmony_ci reg = <0x7000 0x1000>; 15662306a36Sopenharmony_ci reg-io-width = <4>; 15762306a36Sopenharmony_ci #address-cells = <1>; 15862306a36Sopenharmony_ci #size-cells = <1>; 15962306a36Sopenharmony_ci ranges = <0x0 0x7000 0x1000>; 16062306a36Sopenharmony_ci }; 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ci sb2: syscon@1a000 { 16362306a36Sopenharmony_ci compatible = "syscon", "simple-mfd"; 16462306a36Sopenharmony_ci reg = <0x1a000 0x1000>; 16562306a36Sopenharmony_ci reg-io-width = <4>; 16662306a36Sopenharmony_ci #address-cells = <1>; 16762306a36Sopenharmony_ci #size-cells = <1>; 16862306a36Sopenharmony_ci ranges = <0x0 0x1a000 0x1000>; 16962306a36Sopenharmony_ci }; 17062306a36Sopenharmony_ci 17162306a36Sopenharmony_ci misc: syscon@1b000 { 17262306a36Sopenharmony_ci compatible = "syscon", "simple-mfd"; 17362306a36Sopenharmony_ci reg = <0x1b000 0x1000>; 17462306a36Sopenharmony_ci reg-io-width = <4>; 17562306a36Sopenharmony_ci #address-cells = <1>; 17662306a36Sopenharmony_ci #size-cells = <1>; 17762306a36Sopenharmony_ci ranges = <0x0 0x1b000 0x1000>; 17862306a36Sopenharmony_ci }; 17962306a36Sopenharmony_ci 18062306a36Sopenharmony_ci scpu_wrapper: syscon@1d000 { 18162306a36Sopenharmony_ci compatible = "syscon", "simple-mfd"; 18262306a36Sopenharmony_ci reg = <0x1d000 0x1000>; 18362306a36Sopenharmony_ci reg-io-width = <4>; 18462306a36Sopenharmony_ci #address-cells = <1>; 18562306a36Sopenharmony_ci #size-cells = <1>; 18662306a36Sopenharmony_ci ranges = <0x0 0x1d000 0x1000>; 18762306a36Sopenharmony_ci }; 18862306a36Sopenharmony_ci }; 18962306a36Sopenharmony_ci 19062306a36Sopenharmony_ci gic: interrupt-controller@ff100000 { 19162306a36Sopenharmony_ci compatible = "arm,gic-v3"; 19262306a36Sopenharmony_ci reg = <0xff100000 0x10000>, 19362306a36Sopenharmony_ci <0xff140000 0xc0000>; 19462306a36Sopenharmony_ci interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 19562306a36Sopenharmony_ci interrupt-controller; 19662306a36Sopenharmony_ci #interrupt-cells = <3>; 19762306a36Sopenharmony_ci }; 19862306a36Sopenharmony_ci }; 19962306a36Sopenharmony_ci}; 20062306a36Sopenharmony_ci 20162306a36Sopenharmony_ci&iso { 20262306a36Sopenharmony_ci uart0: serial@800 { 20362306a36Sopenharmony_ci compatible = "snps,dw-apb-uart"; 20462306a36Sopenharmony_ci reg = <0x800 0x400>; 20562306a36Sopenharmony_ci reg-shift = <2>; 20662306a36Sopenharmony_ci reg-io-width = <4>; 20762306a36Sopenharmony_ci interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; 20862306a36Sopenharmony_ci clock-frequency = <27000000>; 20962306a36Sopenharmony_ci status = "disabled"; 21062306a36Sopenharmony_ci }; 21162306a36Sopenharmony_ci}; 21262306a36Sopenharmony_ci 21362306a36Sopenharmony_ci&misc { 21462306a36Sopenharmony_ci uart1: serial@200 { 21562306a36Sopenharmony_ci compatible = "snps,dw-apb-uart"; 21662306a36Sopenharmony_ci reg = <0x200 0x400>; 21762306a36Sopenharmony_ci reg-shift = <2>; 21862306a36Sopenharmony_ci reg-io-width = <4>; 21962306a36Sopenharmony_ci interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 22062306a36Sopenharmony_ci clock-frequency = <432000000>; 22162306a36Sopenharmony_ci status = "disabled"; 22262306a36Sopenharmony_ci }; 22362306a36Sopenharmony_ci 22462306a36Sopenharmony_ci uart2: serial@400 { 22562306a36Sopenharmony_ci compatible = "snps,dw-apb-uart"; 22662306a36Sopenharmony_ci reg = <0x400 0x400>; 22762306a36Sopenharmony_ci reg-shift = <2>; 22862306a36Sopenharmony_ci reg-io-width = <4>; 22962306a36Sopenharmony_ci interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 23062306a36Sopenharmony_ci clock-frequency = <432000000>; 23162306a36Sopenharmony_ci status = "disabled"; 23262306a36Sopenharmony_ci }; 23362306a36Sopenharmony_ci}; 234