// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) /* * Realtek RTD16xx SoC family * * Copyright (c) 2019 Realtek Semiconductor Corp. * Copyright (c) 2019 Andreas Färber */ #include #include / { interrupt-parent = <&gic>; #address-cells = <1>; #size-cells = <1>; reserved-memory { #address-cells = <1>; #size-cells = <1>; ranges; rpc_comm: rpc@2f000 { reg = <0x2f000 0x1000>; }; rpc_ringbuf: rpc@1ffe000 { reg = <0x1ffe000 0x4000>; }; tee: tee@10100000 { reg = <0x10100000 0xf00000>; no-map; }; }; cpus { #address-cells = <1>; #size-cells = <0>; cpu0: cpu@0 { device_type = "cpu"; compatible = "arm,cortex-a55"; reg = <0x0>; enable-method = "psci"; next-level-cache = <&l2>; }; cpu1: cpu@100 { device_type = "cpu"; compatible = "arm,cortex-a55"; reg = <0x100>; enable-method = "psci"; next-level-cache = <&l3>; }; cpu2: cpu@200 { device_type = "cpu"; compatible = "arm,cortex-a55"; reg = <0x200>; enable-method = "psci"; next-level-cache = <&l3>; }; cpu3: cpu@300 { device_type = "cpu"; compatible = "arm,cortex-a55"; reg = <0x300>; enable-method = "psci"; next-level-cache = <&l3>; }; cpu4: cpu@400 { device_type = "cpu"; compatible = "arm,cortex-a55"; reg = <0x400>; enable-method = "psci"; next-level-cache = <&l3>; }; cpu5: cpu@500 { device_type = "cpu"; compatible = "arm,cortex-a55"; reg = <0x500>; enable-method = "psci"; next-level-cache = <&l3>; }; l2: l2-cache { compatible = "cache"; next-level-cache = <&l3>; }; l3: l3-cache { compatible = "cache"; }; }; timer { compatible = "arm,armv8-timer"; interrupts = , , , ; }; arm_pmu: pmu { compatible = "arm,armv8-pmuv3"; interrupts = ; interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>, <&cpu4>, <&cpu5>; }; psci { compatible = "arm,psci-1.0"; method = "smc"; }; osc27M: osc { compatible = "fixed-clock"; clock-frequency = <27000000>; clock-output-names = "osc27M"; #clock-cells = <0>; }; soc { compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>; ranges = <0x00000000 0x00000000 0x0002e000>, /* boot ROM */ <0x98000000 0x98000000 0x68000000>; rbus: bus@98000000 { compatible = "simple-bus"; reg = <0x98000000 0x200000>; #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x98000000 0x200000>; crt: syscon@0 { compatible = "syscon", "simple-mfd"; reg = <0x0 0x1000>; reg-io-width = <4>; #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x0 0x1000>; }; iso: syscon@7000 { compatible = "syscon", "simple-mfd"; reg = <0x7000 0x1000>; reg-io-width = <4>; #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x7000 0x1000>; }; sb2: syscon@1a000 { compatible = "syscon", "simple-mfd"; reg = <0x1a000 0x1000>; reg-io-width = <4>; #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x1a000 0x1000>; }; misc: syscon@1b000 { compatible = "syscon", "simple-mfd"; reg = <0x1b000 0x1000>; reg-io-width = <4>; #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x1b000 0x1000>; }; scpu_wrapper: syscon@1d000 { compatible = "syscon", "simple-mfd"; reg = <0x1d000 0x1000>; reg-io-width = <4>; #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x1d000 0x1000>; }; }; gic: interrupt-controller@ff100000 { compatible = "arm,gic-v3"; reg = <0xff100000 0x10000>, <0xff140000 0xc0000>; interrupts = ; interrupt-controller; #interrupt-cells = <3>; }; }; }; &iso { uart0: serial0@800 { compatible = "snps,dw-apb-uart"; reg = <0x800 0x400>; reg-shift = <2>; reg-io-width = <4>; interrupts = ; clock-frequency = <27000000>; status = "disabled"; }; }; &misc { uart1: serial1@200 { compatible = "snps,dw-apb-uart"; reg = <0x200 0x400>; reg-shift = <2>; reg-io-width = <4>; interrupts = ; clock-frequency = <432000000>; status = "disabled"; }; uart2: serial2@400 { compatible = "snps,dw-apb-uart"; reg = <0x400 0x400>; reg-shift = <2>; reg-io-width = <4>; interrupts = ; clock-frequency = <432000000>; status = "disabled"; }; };