Back to home page

OSCL-LXR

 
 

    


0001 /*
0002  * Copyright 2016 Linaro Ltd
0003  *
0004  * Permission is hereby granted, free of charge, to any person obtaining a copy
0005  * of this software and associated documentation files (the "Software"), to deal
0006  * in the Software without restriction, including without limitation the rights
0007  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
0008  * copies of the Software, and to permit persons to whom the Software is
0009  * furnished to do so, subject to the following conditions:
0010  *
0011  * The above copyright notice and this permission notice shall be included in
0012  * all copies or substantial portions of the Software.
0013  *
0014  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
0015  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
0016  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
0017  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
0018  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
0019  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
0020  * THE SOFTWARE.
0021  */
0022 
0023 /dts-v1/;
0024 #include "arm-realview-pbx.dtsi"
0025 
0026 / {
0027         /*
0028          * This is the RealView Platform Baseboard Explore for Cortex-A9
0029          * (HBI0182 + HBI0183) as described in ARM DUI 0440B
0030          */
0031         model = "ARM RealView Platform Baseboard Explore for Cortex-A9";
0032         arm,hbi = <0x182>;
0033 
0034         cpus {
0035                 #address-cells = <1>;
0036                 #size-cells = <0>;
0037                 enable-method = "arm,realview-smp";
0038 
0039                 cpu-map {
0040                         cluster0 {
0041                                 core0 {
0042                                         cpu = <&CPU0>;
0043                                 };
0044                                 core1 {
0045                                         cpu = <&CPU1>;
0046                                 };
0047                         };
0048                 };
0049                 CPU0: cpu@0 {
0050                         device_type = "cpu";
0051                         compatible = "arm,cortex-a9";
0052                         reg = <0x0>;
0053                         next-level-cache = <&L2>;
0054                 };
0055                 CPU1: cpu@1 {
0056                         device_type = "cpu";
0057                         compatible = "arm,cortex-a9";
0058                         reg = <0x1>;
0059                         next-level-cache = <&L2>;
0060                 };
0061         };
0062 
0063         L2: cache-controller {
0064                 compatible = "arm,pl310-cache";
0065                 reg = <0x1f002000 0x1000>;
0066                 cache-unified;
0067                 cache-level = <2>;
0068                 /*
0069                  * Override default cache size, sets and
0070                  * associativity as these may be erroneously set
0071                  * up by boot loader(s).
0072                  */
0073                 cache-size = <131072>; // 128KB
0074                 cache-sets = <512>;
0075                 cache-line-size = <32>;
0076                 arm,parity-disable;
0077                 arm,tag-latency = <1 1 1>;
0078                 arm,data-latency = <1 1 1>;
0079         };
0080 
0081         scu: scu@1f000000 {
0082                 compatible = "arm,cortex-a9-scu";
0083                 reg = <0x1f000000 0x100>;
0084         };
0085 
0086         twd_timer: timer@1f000600 {
0087                 compatible = "arm,cortex-a9-twd-timer";
0088                 reg = <0x1f000600 0x20>;
0089                 interrupt-parent = <&intc>;
0090                 interrupts = <1 13 0xf04>;
0091         };
0092 
0093         twd_wdog: watchdog@1f000620 {
0094                 compatible = "arm,cortex-a9-twd-wdt";
0095                 reg = <0x1f000620 0x20>;
0096                 interrupt-parent = <&intc>;
0097                 interrupts = <1 14 0xf04>;
0098         };
0099 
0100         pmu: pmu@0 {
0101                 compatible = "arm,cortex-a9-pmu";
0102                 interrupt-parent = <&intc>;
0103                 interrupts = <0 44 IRQ_TYPE_LEVEL_HIGH>,
0104                              <0 45 IRQ_TYPE_LEVEL_HIGH>;
0105                 interrupt-affinity = <&CPU0>, <&CPU1>;
0106         };
0107 
0108         /* Primary GIC PL390 interrupt controller in the test chip */
0109         intc: interrupt-controller@1f000000 {
0110                 compatible = "arm,cortex-a9-gic";
0111                 #interrupt-cells = <3>;
0112                 #address-cells = <1>;
0113                 interrupt-controller;
0114                 reg = <0x1f001000 0x1000>,
0115                       <0x1f000100 0x100>;
0116         };
0117 };
0118 
0119 &ethernet {
0120         interrupt-parent = <&intc>;
0121         interrupts = <0 28 IRQ_TYPE_LEVEL_HIGH>;
0122 };
0123 
0124 &usb {
0125         interrupt-parent = <&intc>;
0126         interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>;
0127 };
0128 
0129 &serial0 {
0130         interrupt-parent = <&intc>;
0131         interrupts = <0 12 IRQ_TYPE_LEVEL_HIGH>;
0132 };
0133 
0134 &serial1 {
0135         interrupt-parent = <&intc>;
0136         interrupts = <0 13 IRQ_TYPE_LEVEL_HIGH>;
0137 };
0138 
0139 &serial2 {
0140         interrupt-parent = <&intc>;
0141         interrupts = <0 14 IRQ_TYPE_LEVEL_HIGH>;
0142 };
0143 
0144 &serial3 {
0145         interrupt-parent = <&intc>;
0146         interrupts = <0 15 IRQ_TYPE_LEVEL_HIGH>;
0147 };
0148 
0149 &ssp {
0150         interrupt-parent = <&intc>;
0151         interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
0152 };
0153 
0154 &wdog0 {
0155         interrupt-parent = <&intc>;
0156         interrupts = <0 0 IRQ_TYPE_LEVEL_HIGH>;
0157 };
0158 
0159 &wdog1 {
0160         interrupt-parent = <&intc>;
0161         interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>;
0162 };
0163 
0164 &timer01 {
0165         interrupt-parent = <&intc>;
0166         interrupts = <0 4 IRQ_TYPE_LEVEL_HIGH>;
0167 };
0168 
0169 &timer23 {
0170         interrupt-parent = <&intc>;
0171         interrupts = <0 5 IRQ_TYPE_LEVEL_HIGH>;
0172 };
0173 
0174 &gpio0 {
0175         interrupt-parent = <&intc>;
0176         interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>;
0177 };
0178 
0179 &gpio1 {
0180         interrupt-parent = <&intc>;
0181         interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>;
0182 };
0183 
0184 &gpio2 {
0185         interrupt-parent = <&intc>;
0186         interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>;
0187 };
0188 
0189 &rtc {
0190         interrupt-parent = <&intc>;
0191         interrupts = <0 10 IRQ_TYPE_LEVEL_HIGH>;
0192 };
0193 
0194 &timer45 {
0195         interrupt-parent = <&intc>;
0196         interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>;
0197 };
0198 
0199 &timer67 {
0200         interrupt-parent = <&intc>;
0201         interrupts = <0 42 IRQ_TYPE_LEVEL_HIGH>;
0202 };
0203 
0204 &aaci {
0205         interrupt-parent = <&intc>;
0206         interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>;
0207 };
0208 
0209 &mmc {
0210         interrupt-parent = <&intc>;
0211         interrupts = <0 17 IRQ_TYPE_LEVEL_HIGH>,
0212                      <0 18 IRQ_TYPE_LEVEL_HIGH>;
0213 };
0214 
0215 &kmi0 {
0216         interrupt-parent = <&intc>;
0217         interrupts = <0 20 IRQ_TYPE_LEVEL_HIGH>;
0218 };
0219 
0220 &kmi1 {
0221         interrupt-parent = <&intc>;
0222         interrupts = <0 21 IRQ_TYPE_LEVEL_HIGH>;
0223 };
0224 
0225 &clcd {
0226         interrupt-parent = <&intc>;
0227         interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>;
0228 };