Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003  * ARM Ltd. Versatile Express
0004  *
0005  * CoreTile Express A5x2
0006  * Cortex-A5 MPCore (V2P-CA5s)
0007  *
0008  * HBI-0225B
0009  */
0010 
0011 /dts-v1/;
0012 #include "vexpress-v2m-rs1.dtsi"
0013 
0014 / {
0015         model = "V2P-CA5s";
0016         arm,hbi = <0x225>;
0017         arm,vexpress,site = <0xf>;
0018         compatible = "arm,vexpress,v2p-ca5s", "arm,vexpress";
0019         interrupt-parent = <&gic>;
0020         #address-cells = <1>;
0021         #size-cells = <1>;
0022 
0023         chosen { };
0024 
0025         aliases {
0026                 serial0 = &v2m_serial0;
0027                 serial1 = &v2m_serial1;
0028                 serial2 = &v2m_serial2;
0029                 serial3 = &v2m_serial3;
0030                 i2c0 = &v2m_i2c_dvi;
0031                 i2c1 = &v2m_i2c_pcie;
0032         };
0033 
0034         cpus {
0035                 #address-cells = <1>;
0036                 #size-cells = <0>;
0037 
0038                 cpu@0 {
0039                         device_type = "cpu";
0040                         compatible = "arm,cortex-a5";
0041                         reg = <0>;
0042                         next-level-cache = <&L2>;
0043                 };
0044 
0045                 cpu@1 {
0046                         device_type = "cpu";
0047                         compatible = "arm,cortex-a5";
0048                         reg = <1>;
0049                         next-level-cache = <&L2>;
0050                 };
0051         };
0052 
0053         memory@80000000 {
0054                 device_type = "memory";
0055                 reg = <0x80000000 0x40000000>;
0056         };
0057 
0058         reserved-memory {
0059                 #address-cells = <1>;
0060                 #size-cells = <1>;
0061                 ranges;
0062 
0063                 /* Chipselect 2 is physically at 0x18000000 */
0064                 vram: vram@18000000 {
0065                         /* 8 MB of designated video RAM */
0066                         compatible = "shared-dma-pool";
0067                         reg = <0x18000000 0x00800000>;
0068                         no-map;
0069                 };
0070         };
0071 
0072         hdlcd@2a110000 {
0073                 compatible = "arm,hdlcd";
0074                 reg = <0x2a110000 0x1000>;
0075                 interrupts = <0 85 4>;
0076                 clocks = <&hdlcd_clk>;
0077                 clock-names = "pxlclk";
0078         };
0079 
0080         memory-controller@2a150000 {
0081                 compatible = "arm,pl341", "arm,primecell";
0082                 reg = <0x2a150000 0x1000>;
0083                 clocks = <&axi_clk>;
0084                 clock-names = "apb_pclk";
0085         };
0086 
0087         memory-controller@2a190000 {
0088                 compatible = "arm,pl354", "arm,primecell";
0089                 reg = <0x2a190000 0x1000>;
0090                 interrupts = <0 86 4>,
0091                              <0 87 4>;
0092                 clocks = <&axi_clk>;
0093                 clock-names = "apb_pclk";
0094         };
0095 
0096         scu@2c000000 {
0097                 compatible = "arm,cortex-a5-scu";
0098                 reg = <0x2c000000 0x58>;
0099         };
0100 
0101         timer@2c000600 {
0102                 compatible = "arm,cortex-a5-twd-timer";
0103                 reg = <0x2c000600 0x20>;
0104                 interrupts = <1 13 0x304>;
0105         };
0106 
0107         timer@2c000200 {
0108                 compatible = "arm,cortex-a5-global-timer",
0109                              "arm,cortex-a9-global-timer";
0110                 reg = <0x2c000200 0x20>;
0111                 interrupts = <1 11 0x304>;
0112                 clocks = <&cpu_clk>;
0113         };
0114 
0115         watchdog@2c000620 {
0116                 compatible = "arm,cortex-a5-twd-wdt";
0117                 reg = <0x2c000620 0x20>;
0118                 interrupts = <1 14 0x304>;
0119         };
0120 
0121         gic: interrupt-controller@2c001000 {
0122                 compatible = "arm,cortex-a5-gic", "arm,cortex-a9-gic";
0123                 #interrupt-cells = <3>;
0124                 #address-cells = <0>;
0125                 interrupt-controller;
0126                 reg = <0x2c001000 0x1000>,
0127                       <0x2c000100 0x100>;
0128         };
0129 
0130         L2: cache-controller@2c0f0000 {
0131                 compatible = "arm,pl310-cache";
0132                 reg = <0x2c0f0000 0x1000>;
0133                 interrupts = <0 84 4>;
0134                 cache-level = <2>;
0135         };
0136 
0137         pmu {
0138                 compatible = "arm,cortex-a5-pmu";
0139                 interrupts = <0 68 4>,
0140                              <0 69 4>;
0141         };
0142 
0143         dcc {
0144                 compatible = "arm,vexpress,config-bus";
0145                 arm,vexpress,config-bridge = <&v2m_sysreg>;
0146 
0147                 cpu_clk: oscclk0 {
0148                         /* CPU and internal AXI reference clock */
0149                         compatible = "arm,vexpress-osc";
0150                         arm,vexpress-sysreg,func = <1 0>;
0151                         freq-range = <50000000 100000000>;
0152                         #clock-cells = <0>;
0153                         clock-output-names = "oscclk0";
0154                 };
0155 
0156                 axi_clk: oscclk1 {
0157                         /* Multiplexed AXI master clock */
0158                         compatible = "arm,vexpress-osc";
0159                         arm,vexpress-sysreg,func = <1 1>;
0160                         freq-range = <5000000 50000000>;
0161                         #clock-cells = <0>;
0162                         clock-output-names = "oscclk1";
0163                 };
0164 
0165                 oscclk2 {
0166                         /* DDR2 */
0167                         compatible = "arm,vexpress-osc";
0168                         arm,vexpress-sysreg,func = <1 2>;
0169                         freq-range = <80000000 120000000>;
0170                         #clock-cells = <0>;
0171                         clock-output-names = "oscclk2";
0172                 };
0173 
0174                 hdlcd_clk: oscclk3 {
0175                         /* HDLCD */
0176                         compatible = "arm,vexpress-osc";
0177                         arm,vexpress-sysreg,func = <1 3>;
0178                         freq-range = <23750000 165000000>;
0179                         #clock-cells = <0>;
0180                         clock-output-names = "oscclk3";
0181                 };
0182 
0183                 oscclk4 {
0184                         /* Test chip gate configuration */
0185                         compatible = "arm,vexpress-osc";
0186                         arm,vexpress-sysreg,func = <1 4>;
0187                         freq-range = <80000000 80000000>;
0188                         #clock-cells = <0>;
0189                         clock-output-names = "oscclk4";
0190                 };
0191 
0192                 smbclk: oscclk5 {
0193                         /* SMB clock */
0194                         compatible = "arm,vexpress-osc";
0195                         arm,vexpress-sysreg,func = <1 5>;
0196                         freq-range = <25000000 60000000>;
0197                         #clock-cells = <0>;
0198                         clock-output-names = "oscclk5";
0199                 };
0200 
0201                 temp-dcc {
0202                         /* DCC internal operating temperature */
0203                         compatible = "arm,vexpress-temp";
0204                         arm,vexpress-sysreg,func = <4 0>;
0205                         label = "DCC";
0206                 };
0207         };
0208 
0209         smb: bus@8000000 {
0210                 ranges = <0 0x8000000 0x18000000>;
0211         };
0212 
0213         site2: hsb@40000000 {
0214                 compatible = "simple-bus";
0215                 #address-cells = <1>;
0216                 #size-cells = <1>;
0217                 ranges = <0 0x40000000 0x40000000>;
0218                 #interrupt-cells = <1>;
0219                 interrupt-map-mask = <0 3>;
0220                 interrupt-map = <0 0 &gic 0 36 4>,
0221                                 <0 1 &gic 0 37 4>,
0222                                 <0 2 &gic 0 38 4>,
0223                                 <0 3 &gic 0 39 4>;
0224         };
0225 };