Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
0002 /*
0003  * Copyright (c) 2017-2019 Andreas Färber
0004  */
0005 
0006 /memreserve/ 0x00000000 0x0000a800; /* boot code */
0007 /memreserve/ 0x0000a800 0x000f5800;
0008 /memreserve/ 0x17fff000 0x00001000;
0009 
0010 #include <dt-bindings/interrupt-controller/arm-gic.h>
0011 #include <dt-bindings/reset/realtek,rtd1195.h>
0012 
0013 / {
0014         compatible = "realtek,rtd1195";
0015         interrupt-parent = <&gic>;
0016         #address-cells = <1>;
0017         #size-cells = <1>;
0018 
0019         cpus {
0020                 #address-cells = <1>;
0021                 #size-cells = <0>;
0022 
0023                 cpu0: cpu@0 {
0024                         device_type = "cpu";
0025                         compatible = "arm,cortex-a7";
0026                         reg = <0x0>;
0027                         clock-frequency = <1000000000>;
0028                 };
0029 
0030                 cpu1: cpu@1 {
0031                         device_type = "cpu";
0032                         compatible = "arm,cortex-a7";
0033                         reg = <0x1>;
0034                         clock-frequency = <1000000000>;
0035                 };
0036         };
0037 
0038         reserved-memory {
0039                 #address-cells = <1>;
0040                 #size-cells = <1>;
0041                 ranges;
0042 
0043                 rpc_comm: rpc@b000 {
0044                         reg = <0x0000b000 0x1000>;
0045                 };
0046 
0047                 audio@1b00000 {
0048                         reg = <0x01b00000 0x400000>;
0049                 };
0050 
0051                 rpc_ringbuf: rpc@1ffe000 {
0052                         reg = <0x01ffe000 0x4000>;
0053                 };
0054 
0055                 secure@10000000 {
0056                         reg = <0x10000000 0x100000>;
0057                         no-map;
0058                 };
0059         };
0060 
0061         arm-pmu {
0062                 compatible = "arm,cortex-a7-pmu";
0063                 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
0064                              <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
0065                 interrupt-affinity = <&cpu0>, <&cpu1>;
0066         };
0067 
0068         timer {
0069                 compatible = "arm,armv7-timer";
0070                 interrupts = <GIC_PPI 13
0071                         (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
0072                              <GIC_PPI 14
0073                         (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
0074                              <GIC_PPI 11
0075                         (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
0076                              <GIC_PPI 10
0077                         (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
0078                 clock-frequency = <27000000>;
0079         };
0080 
0081         osc27M: osc {
0082                 compatible = "fixed-clock";
0083                 clock-frequency = <27000000>;
0084                 #clock-cells = <0>;
0085                 clock-output-names = "osc27M";
0086         };
0087 
0088         soc {
0089                 compatible = "simple-bus";
0090                 #address-cells = <1>;
0091                 #size-cells = <1>;
0092                 ranges = <0x00000000 0x00000000 0x0000a800>,
0093                          <0x18000000 0x18000000 0x00070000>,
0094                          <0x18100000 0x18100000 0x01000000>,
0095                          <0x80000000 0x80000000 0x80000000>;
0096 
0097                 rbus: bus@18000000 {
0098                         compatible = "simple-bus";
0099                         reg = <0x18000000 0x70000>;
0100                         #address-cells = <1>;
0101                         #size-cells = <1>;
0102                         ranges = <0x0 0x18000000 0x70000>;
0103 
0104                         crt: syscon@0 {
0105                                 compatible = "syscon", "simple-mfd";
0106                                 reg = <0x0 0x1000>;
0107                                 reg-io-width = <4>;
0108                                 #address-cells = <1>;
0109                                 #size-cells = <1>;
0110                                 ranges = <0x0 0x0 0x1000>;
0111                         };
0112 
0113                         iso: syscon@7000 {
0114                                 compatible = "syscon", "simple-mfd";
0115                                 reg = <0x7000 0x1000>;
0116                                 reg-io-width = <4>;
0117                                 #address-cells = <1>;
0118                                 #size-cells = <1>;
0119                                 ranges = <0x0 0x7000 0x1000>;
0120                         };
0121 
0122                         sb2: syscon@1a000 {
0123                                 compatible = "syscon", "simple-mfd";
0124                                 reg = <0x1a000 0x1000>;
0125                                 reg-io-width = <4>;
0126                                 #address-cells = <1>;
0127                                 #size-cells = <1>;
0128                                 ranges = <0x0 0x1a000 0x1000>;
0129                         };
0130 
0131                         misc: syscon@1b000 {
0132                                 compatible = "syscon", "simple-mfd";
0133                                 reg = <0x1b000 0x1000>;
0134                                 reg-io-width = <4>;
0135                                 #address-cells = <1>;
0136                                 #size-cells = <1>;
0137                                 ranges = <0x0 0x1b000 0x1000>;
0138                         };
0139 
0140                         scpu_wrapper: syscon@1d000 {
0141                                 compatible = "syscon", "simple-mfd";
0142                                 reg = <0x1d000 0x1000>;
0143                                 reg-io-width = <4>;
0144                                 #address-cells = <1>;
0145                                 #size-cells = <1>;
0146                                 ranges = <0x0 0x1d000 0x1000>;
0147                         };
0148                 };
0149 
0150                 gic: interrupt-controller@ff011000 {
0151                         compatible = "arm,cortex-a7-gic";
0152                         reg = <0xff011000 0x1000>,
0153                               <0xff012000 0x2000>,
0154                               <0xff014000 0x2000>,
0155                               <0xff016000 0x2000>;
0156                         interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
0157                         interrupt-controller;
0158                         #interrupt-cells = <3>;
0159                 };
0160         };
0161 };
0162 
0163 &crt {
0164         reset1: reset-controller@0 {
0165                 compatible = "snps,dw-low-reset";
0166                 reg = <0x0 0x4>;
0167                 #reset-cells = <1>;
0168         };
0169 
0170         reset2: reset-controller@4 {
0171                 compatible = "snps,dw-low-reset";
0172                 reg = <0x4 0x4>;
0173                 #reset-cells = <1>;
0174         };
0175 
0176         reset3: reset-controller@8 {
0177                 compatible = "snps,dw-low-reset";
0178                 reg = <0x8 0x4>;
0179                 #reset-cells = <1>;
0180         };
0181 };
0182 
0183 &iso {
0184         iso_reset: reset-controller@88 {
0185                 compatible = "snps,dw-low-reset";
0186                 reg = <0x88 0x4>;
0187                 #reset-cells = <1>;
0188         };
0189 
0190         wdt: watchdog@680 {
0191                 compatible = "realtek,rtd1295-watchdog";
0192                 reg = <0x680 0x100>;
0193                 clocks = <&osc27M>;
0194         };
0195 
0196         uart0: serial@800 {
0197                 compatible = "snps,dw-apb-uart";
0198                 reg = <0x800 0x400>;
0199                 reg-shift = <2>;
0200                 reg-io-width = <4>;
0201                 resets = <&iso_reset RTD1195_ISO_RSTN_UR0>;
0202                 clock-frequency = <27000000>;
0203                 status = "disabled";
0204         };
0205 };
0206 
0207 &misc {
0208         uart1: serial@200 {
0209                 compatible = "snps,dw-apb-uart";
0210                 reg = <0x200 0x100>;
0211                 reg-shift = <2>;
0212                 reg-io-width = <4>;
0213                 resets = <&reset2 RTD1195_RSTN_UR1>;
0214                 clock-frequency = <27000000>;
0215                 status = "disabled";
0216         };
0217 };