// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) /* * Copyright (c) 2017-2019 Andreas Färber */ /memreserve/ 0x00000000 0x0000a800; /* boot code */ /memreserve/ 0x0000a800 0x000f5800; /memreserve/ 0x17fff000 0x00001000; #include #include / { compatible = "realtek,rtd1195"; interrupt-parent = <&gic>; #address-cells = <1>; #size-cells = <1>; cpus { #address-cells = <1>; #size-cells = <0>; cpu0: cpu@0 { device_type = "cpu"; compatible = "arm,cortex-a7"; reg = <0x0>; clock-frequency = <1000000000>; }; cpu1: cpu@1 { device_type = "cpu"; compatible = "arm,cortex-a7"; reg = <0x1>; clock-frequency = <1000000000>; }; }; reserved-memory { #address-cells = <1>; #size-cells = <1>; ranges; rpc_comm: rpc@b000 { reg = <0x0000b000 0x1000>; }; audio@1b00000 { reg = <0x01b00000 0x400000>; }; rpc_ringbuf: rpc@1ffe000 { reg = <0x01ffe000 0x4000>; }; secure@10000000 { reg = <0x10000000 0x100000>; no-map; }; }; arm-pmu { compatible = "arm,cortex-a7-pmu"; interrupts = , ; interrupt-affinity = <&cpu0>, <&cpu1>; }; timer { compatible = "arm,armv7-timer"; interrupts = , , , ; clock-frequency = <27000000>; }; osc27M: osc { compatible = "fixed-clock"; clock-frequency = <27000000>; #clock-cells = <0>; clock-output-names = "osc27M"; }; soc { compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>; ranges = <0x00000000 0x00000000 0x0000a800>, <0x18000000 0x18000000 0x00070000>, <0x18100000 0x18100000 0x01000000>, <0x80000000 0x80000000 0x80000000>; rbus: bus@18000000 { compatible = "simple-bus"; reg = <0x18000000 0x70000>; #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x18000000 0x70000>; 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@ff011000 { compatible = "arm,cortex-a7-gic"; reg = <0xff011000 0x1000>, <0xff012000 0x2000>, <0xff014000 0x2000>, <0xff016000 0x2000>; interrupts = ; interrupt-controller; #interrupt-cells = <3>; }; }; }; &crt { reset1: reset-controller@0 { compatible = "snps,dw-low-reset"; reg = <0x0 0x4>; #reset-cells = <1>; }; reset2: reset-controller@4 { compatible = "snps,dw-low-reset"; reg = <0x4 0x4>; #reset-cells = <1>; }; reset3: reset-controller@8 { compatible = "snps,dw-low-reset"; reg = <0x8 0x4>; #reset-cells = <1>; }; }; &iso { iso_reset: reset-controller@88 { compatible = "snps,dw-low-reset"; reg = <0x88 0x4>; #reset-cells = <1>; }; wdt: watchdog@680 { compatible = "realtek,rtd1295-watchdog"; reg = <0x680 0x100>; clocks = <&osc27M>; }; uart0: serial@800 { compatible = "snps,dw-apb-uart"; reg = <0x800 0x400>; reg-shift = <2>; reg-io-width = <4>; resets = <&iso_reset RTD1195_ISO_RSTN_UR0>; clock-frequency = <27000000>; status = "disabled"; }; }; &misc { uart1: serial@200 { compatible = "snps,dw-apb-uart"; reg = <0x200 0x100>; reg-shift = <2>; reg-io-width = <4>; resets = <&reset2 RTD1195_RSTN_UR1>; clock-frequency = <27000000>; status = "disabled"; }; };