Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0 or MIT
0002 /*
0003  * Copyright (c) 2022, Arm Limited. All rights reserved.
0004  * Copyright (c) 2022, Linaro Limited. All rights reserved.
0005  *
0006  */
0007 
0008 #include <dt-bindings/interrupt-controller/arm-gic.h>
0009 
0010 / {
0011         interrupt-parent = <&gic>;
0012         #address-cells = <1>;
0013         #size-cells = <1>;
0014 
0015         aliases {
0016                 serial0 = &uart0;
0017                 serial1 = &uart1;
0018         };
0019 
0020         chosen {
0021                 stdout-path = "serial0:115200n8";
0022         };
0023 
0024         cpus {
0025                 #address-cells = <1>;
0026                 #size-cells = <0>;
0027 
0028                 cpu: cpu@0 {
0029                         device_type = "cpu";
0030                         compatible = "arm,cortex-a35";
0031                         reg = <0>;
0032                         next-level-cache = <&L2_0>;
0033                 };
0034         };
0035 
0036         memory@88200000 {
0037                 device_type = "memory";
0038                 reg = <0x88200000 0x77e00000>;
0039         };
0040 
0041         gic: interrupt-controller@1c000000 {
0042                 compatible = "arm,gic-400";
0043                 #interrupt-cells = <3>;
0044                 #address-cells = <0>;
0045                 interrupt-controller;
0046                 reg =   <0x1c010000 0x1000>,
0047                         <0x1c02f000 0x2000>,
0048                         <0x1c04f000 0x1000>,
0049                         <0x1c06f000 0x2000>;
0050                 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(1) |
0051                               IRQ_TYPE_LEVEL_LOW)>;
0052         };
0053 
0054         L2_0: l2-cache0 {
0055                 compatible = "cache";
0056                 cache-level = <2>;
0057                 cache-size = <0x80000>;
0058                 cache-line-size = <64>;
0059                 cache-sets = <1024>;
0060         };
0061 
0062         refclk100mhz: refclk100mhz {
0063                 compatible = "fixed-clock";
0064                 #clock-cells = <0>;
0065                 clock-frequency = <100000000>;
0066                 clock-output-names = "apb_pclk";
0067         };
0068 
0069         smbclk: refclk24mhzx2 {
0070                 /* Reference 24MHz clock x 2 */
0071                 compatible = "fixed-clock";
0072                 #clock-cells = <0>;
0073                 clock-frequency = <48000000>;
0074                 clock-output-names = "smclk";
0075         };
0076 
0077         timer {
0078                 compatible = "arm,armv8-timer";
0079                 interrupts =    <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) |
0080                                  IRQ_TYPE_LEVEL_LOW)>,
0081                                 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) |
0082                                  IRQ_TYPE_LEVEL_LOW)>,
0083                                 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) |
0084                                  IRQ_TYPE_LEVEL_LOW)>,
0085                                 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) |
0086                                  IRQ_TYPE_LEVEL_LOW)>;
0087         };
0088 
0089         uartclk: uartclk {
0090                 /* UART clock - 50MHz */
0091                 compatible = "fixed-clock";
0092                 #clock-cells = <0>;
0093                 clock-frequency = <50000000>;
0094                 clock-output-names = "uartclk";
0095         };
0096 
0097         psci {
0098                 compatible = "arm,psci-1.0", "arm,psci-0.2";
0099                 method = "smc";
0100         };
0101 
0102         soc {
0103                 compatible = "simple-bus";
0104                 #address-cells = <1>;
0105                 #size-cells = <1>;
0106                 interrupt-parent = <&gic>;
0107                 ranges;
0108 
0109                 timer@1a220000 {
0110                         compatible = "arm,armv7-timer-mem";
0111                         reg = <0x1a220000 0x1000>;
0112                         #address-cells = <1>;
0113                         #size-cells = <1>;
0114                         clock-frequency = <50000000>;
0115                         ranges;
0116 
0117                         frame@1a230000 {
0118                                 frame-number = <0>;
0119                                 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
0120                                 reg = <0x1a230000 0x1000>;
0121                         };
0122                 };
0123 
0124                 uart0: serial@1a510000 {
0125                         compatible = "arm,pl011", "arm,primecell";
0126                         reg = <0x1a510000 0x1000>;
0127                         interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
0128                         clocks = <&uartclk>, <&refclk100mhz>;
0129                         clock-names = "uartclk", "apb_pclk";
0130                 };
0131 
0132                 uart1: serial@1a520000 {
0133                         compatible = "arm,pl011", "arm,primecell";
0134                         reg = <0x1a520000 0x1000>;
0135                         interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
0136                         clocks = <&uartclk>, <&refclk100mhz>;
0137                         clock-names = "uartclk", "apb_pclk";
0138                 };
0139 
0140                 mhu_hse1: mailbox@1b820000 {
0141                         compatible = "arm,mhuv2-tx", "arm,primecell";
0142                         reg = <0x1b820000 0x1000>;
0143                         clocks = <&refclk100mhz>;
0144                         clock-names = "apb_pclk";
0145                         interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
0146                         #mbox-cells = <2>;
0147                         arm,mhuv2-protocols = <0 0>;
0148                         secure-status = "okay";     /* secure-world-only */
0149                         status = "disabled";
0150                 };
0151 
0152                 mhu_seh1: mailbox@1b830000 {
0153                         compatible = "arm,mhuv2-rx", "arm,primecell";
0154                         reg = <0x1b830000 0x1000>;
0155                         clocks = <&refclk100mhz>;
0156                         clock-names = "apb_pclk";
0157                         interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
0158                         #mbox-cells = <2>;
0159                         arm,mhuv2-protocols = <0 0>;
0160                         secure-status = "okay";     /* secure-world-only */
0161                         status = "disabled";
0162                 };
0163         };
0164 };