Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003  * Copyright (c) 2019 Amlogic, Inc. All rights reserved.
0004  */
0005 
0006 #include <dt-bindings/interrupt-controller/irq.h>
0007 #include <dt-bindings/interrupt-controller/arm-gic.h>
0008 #include <dt-bindings/gpio/meson-a1-gpio.h>
0009 
0010 / {
0011         compatible = "amlogic,a1";
0012 
0013         interrupt-parent = <&gic>;
0014         #address-cells = <2>;
0015         #size-cells = <2>;
0016 
0017         cpus {
0018                 #address-cells = <2>;
0019                 #size-cells = <0>;
0020 
0021                 cpu0: cpu@0 {
0022                         device_type = "cpu";
0023                         compatible = "arm,cortex-a35";
0024                         reg = <0x0 0x0>;
0025                         enable-method = "psci";
0026                         next-level-cache = <&l2>;
0027                 };
0028 
0029                 cpu1: cpu@1 {
0030                         device_type = "cpu";
0031                         compatible = "arm,cortex-a35";
0032                         reg = <0x0 0x1>;
0033                         enable-method = "psci";
0034                         next-level-cache = <&l2>;
0035                 };
0036 
0037                 l2: l2-cache0 {
0038                         compatible = "cache";
0039                 };
0040         };
0041 
0042         psci {
0043                 compatible = "arm,psci-1.0";
0044                 method = "smc";
0045         };
0046 
0047         reserved-memory {
0048                 #address-cells = <2>;
0049                 #size-cells = <2>;
0050                 ranges;
0051 
0052                 linux,cma {
0053                         compatible = "shared-dma-pool";
0054                         reusable;
0055                         size = <0x0 0x800000>;
0056                         alignment = <0x0 0x400000>;
0057                         linux,cma-default;
0058                 };
0059         };
0060 
0061         sm: secure-monitor {
0062                 compatible = "amlogic,meson-gxbb-sm";
0063 
0064                 pwrc: power-controller {
0065                         compatible = "amlogic,meson-a1-pwrc";
0066                         #power-domain-cells = <1>;
0067                         status = "okay";
0068                 };
0069         };
0070 
0071         soc {
0072                 compatible = "simple-bus";
0073                 #address-cells = <2>;
0074                 #size-cells = <2>;
0075                 ranges;
0076 
0077                 apb: bus@fe000000 {
0078                         compatible = "simple-bus";
0079                         reg = <0x0 0xfe000000 0x0 0x1000000>;
0080                         #address-cells = <2>;
0081                         #size-cells = <2>;
0082                         ranges = <0x0 0x0 0x0 0xfe000000 0x0 0x1000000>;
0083 
0084 
0085                         reset: reset-controller@0 {
0086                                 compatible = "amlogic,meson-a1-reset";
0087                                 reg = <0x0 0x0 0x0 0x8c>;
0088                                 #reset-cells = <1>;
0089                         };
0090 
0091                         periphs_pinctrl: pinctrl@400 {
0092                                 compatible = "amlogic,meson-a1-periphs-pinctrl";
0093                                 #address-cells = <2>;
0094                                 #size-cells = <2>;
0095                                 ranges;
0096 
0097                                 gpio: bank@400 {
0098                                         reg = <0x0 0x0400 0x0 0x003c>,
0099                                               <0x0 0x0480 0x0 0x0118>;
0100                                         reg-names = "mux", "gpio";
0101                                         gpio-controller;
0102                                         #gpio-cells = <2>;
0103                                         gpio-ranges = <&periphs_pinctrl 0 0 62>;
0104                                 };
0105 
0106                         };
0107 
0108                         uart_AO: serial@1c00 {
0109                                 compatible = "amlogic,meson-gx-uart",
0110                                              "amlogic,meson-ao-uart";
0111                                 reg = <0x0 0x1c00 0x0 0x18>;
0112                                 interrupts = <GIC_SPI 25 IRQ_TYPE_EDGE_RISING>;
0113                                 clocks = <&xtal>, <&xtal>, <&xtal>;
0114                                 clock-names = "xtal", "pclk", "baud";
0115                                 status = "disabled";
0116                         };
0117 
0118                         uart_AO_B: serial@2000 {
0119                                 compatible = "amlogic,meson-gx-uart",
0120                                              "amlogic,meson-ao-uart";
0121                                 reg = <0x0 0x2000 0x0 0x18>;
0122                                 interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
0123                                 clocks = <&xtal>, <&xtal>, <&xtal>;
0124                                 clock-names = "xtal", "pclk", "baud";
0125                                 status = "disabled";
0126                         };
0127                 };
0128 
0129                 gic: interrupt-controller@ff901000 {
0130                         compatible = "arm,gic-400";
0131                         reg = <0x0 0xff901000 0x0 0x1000>,
0132                               <0x0 0xff902000 0x0 0x2000>,
0133                               <0x0 0xff904000 0x0 0x2000>,
0134                               <0x0 0xff906000 0x0 0x2000>;
0135                         interrupt-controller;
0136                         interrupts = <GIC_PPI 9
0137                                 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
0138                         #interrupt-cells = <3>;
0139                         #address-cells = <0>;
0140                 };
0141         };
0142 
0143         timer {
0144                 compatible = "arm,armv8-timer";
0145                 interrupts = <GIC_PPI 13
0146                         (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
0147                              <GIC_PPI 14
0148                         (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
0149                              <GIC_PPI 11
0150                         (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
0151                              <GIC_PPI 10
0152                         (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>;
0153         };
0154 
0155         xtal: xtal-clk {
0156                 compatible = "fixed-clock";
0157                 clock-frequency = <24000000>;
0158                 clock-output-names = "xtal";
0159                 #clock-cells = <0>;
0160         };
0161 };