Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003  * ARM Ltd. Versatile Express
0004  *
0005  * LogicTile Express 20MG
0006  * V2F-1XV7
0007  *
0008  * Cortex-A53 (2 cores) Soft Macrocell Model
0009  *
0010  * HBI-0247C
0011  */
0012 
0013 /dts-v1/;
0014 
0015 #include <dt-bindings/interrupt-controller/arm-gic.h>
0016 #include "vexpress-v2m-rs1.dtsi"
0017 
0018 / {
0019         model = "V2F-1XV7 Cortex-A53x2 SMM";
0020         arm,hbi = <0x247>;
0021         arm,vexpress,site = <0xf>;
0022         compatible = "arm,vexpress,v2f-1xv7,ca53x2", "arm,vexpress,v2f-1xv7", "arm,vexpress";
0023         interrupt-parent = <&gic>;
0024         #address-cells = <2>;
0025         #size-cells = <2>;
0026 
0027         chosen {
0028                 stdout-path = "serial0:38400n8";
0029         };
0030 
0031         aliases {
0032                 serial0 = &v2m_serial0;
0033                 serial1 = &v2m_serial1;
0034                 serial2 = &v2m_serial2;
0035                 serial3 = &v2m_serial3;
0036                 i2c0 = &v2m_i2c_dvi;
0037                 i2c1 = &v2m_i2c_pcie;
0038         };
0039 
0040         cpus {
0041                 #address-cells = <2>;
0042                 #size-cells = <0>;
0043 
0044                 cpu@0 {
0045                         device_type = "cpu";
0046                         compatible = "arm,cortex-a53";
0047                         reg = <0 0>;
0048                         next-level-cache = <&L2_0>;
0049                 };
0050 
0051                 cpu@1 {
0052                         device_type = "cpu";
0053                         compatible = "arm,cortex-a53";
0054                         reg = <0 1>;
0055                         next-level-cache = <&L2_0>;
0056                 };
0057 
0058                 L2_0: l2-cache0 {
0059                         compatible = "cache";
0060                 };
0061         };
0062 
0063         memory@80000000 {
0064                 device_type = "memory";
0065                 reg = <0 0x80000000 0 0x80000000>; /* 2GB @ 2GB */
0066         };
0067 
0068         reserved-memory {
0069                 #address-cells = <2>;
0070                 #size-cells = <2>;
0071                 ranges;
0072 
0073                 /* Chipselect 2 is physically at 0x18000000 */
0074                 vram: vram@18000000 {
0075                         /* 8 MB of designated video RAM */
0076                         compatible = "shared-dma-pool";
0077                         reg = <0 0x18000000 0 0x00800000>;
0078                         no-map;
0079                 };
0080         };
0081 
0082         gic: interrupt-controller@2c001000 {
0083                 compatible = "arm,gic-400";
0084                 #interrupt-cells = <3>;
0085                 #address-cells = <0>;
0086                 interrupt-controller;
0087                 reg = <0 0x2c001000 0 0x1000>,
0088                       <0 0x2c002000 0 0x2000>,
0089                       <0 0x2c004000 0 0x2000>,
0090                       <0 0x2c006000 0 0x2000>;
0091                 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
0092         };
0093 
0094         timer {
0095                 compatible = "arm,armv8-timer";
0096                 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
0097                              <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
0098                              <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
0099                              <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
0100         };
0101 
0102         pmu {
0103                 compatible = "arm,armv8-pmuv3";
0104                 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
0105                              <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
0106         };
0107 
0108         dcc {
0109                 compatible = "arm,vexpress,config-bus";
0110                 arm,vexpress,config-bridge = <&v2m_sysreg>;
0111 
0112                 smbclk: smclk {
0113                         /* SMC clock */
0114                         compatible = "arm,vexpress-osc";
0115                         arm,vexpress-sysreg,func = <1 4>;
0116                         freq-range = <40000000 40000000>;
0117                         #clock-cells = <0>;
0118                         clock-output-names = "smclk";
0119                 };
0120 
0121                 volt-vio {
0122                         /* VIO to expansion board above */
0123                         compatible = "arm,vexpress-volt";
0124                         arm,vexpress-sysreg,func = <2 0>;
0125                         regulator-name = "VIO_UP";
0126                         regulator-min-microvolt = <800000>;
0127                         regulator-max-microvolt = <1800000>;
0128                         regulator-always-on;
0129                 };
0130 
0131                 volt-12v {
0132                         /* 12V from power connector J6 */
0133                         compatible = "arm,vexpress-volt";
0134                         arm,vexpress-sysreg,func = <2 1>;
0135                         regulator-name = "12";
0136                         regulator-always-on;
0137                 };
0138 
0139                 temp-fpga {
0140                         /* FPGA temperature */
0141                         compatible = "arm,vexpress-temp";
0142                         arm,vexpress-sysreg,func = <4 0>;
0143                         label = "FPGA";
0144                 };
0145         };
0146 
0147         smb: bus@8000000 {
0148                 ranges = <0x8000000 0 0x8000000 0x18000000>;
0149         };
0150 };