1/* 2 * Device Tree Source for UniPhier LD20 SoC 3 * 4 * Copyright (C) 2015-2016 Socionext Inc. 5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 6 * 7 * This file is dual-licensed: you can use it either under the terms 8 * of the GPL or the X11 license, at your option. Note that this dual 9 * licensing only applies to this file, and not this project as a 10 * whole. 11 * 12 * a) This file is free software; you can redistribute it and/or 13 * modify it under the terms of the GNU General Public License as 14 * published by the Free Software Foundation; either version 2 of the 15 * License, or (at your option) any later version. 16 * 17 * This file is distributed in the hope that it will be useful, 18 * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 * GNU General Public License for more details. 21 * 22 * Or, alternatively, 23 * 24 * b) Permission is hereby granted, free of charge, to any person 25 * obtaining a copy of this software and associated documentation 26 * files (the "Software"), to deal in the Software without 27 * restriction, including without limitation the rights to use, 28 * copy, modify, merge, publish, distribute, sublicense, and/or 29 * sell copies of the Software, and to permit persons to whom the 30 * Software is furnished to do so, subject to the following 31 * conditions: 32 * 33 * The above copyright notice and this permission notice shall be 34 * included in all copies or substantial portions of the Software. 35 * 36 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 37 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 38 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 39 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 40 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 41 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 42 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 43 * OTHER DEALINGS IN THE SOFTWARE. 44 */ 45 46/memreserve/ 0x80000000 0x00080000; 47 48/ { 49 compatible = "socionext,uniphier-ld20"; 50 #address-cells = <2>; 51 #size-cells = <2>; 52 interrupt-parent = <&gic>; 53 54 cpus { 55 #address-cells = <2>; 56 #size-cells = <0>; 57 58 cpu-map { 59 cluster0 { 60 core0 { 61 cpu = <&cpu0>; 62 }; 63 core1 { 64 cpu = <&cpu1>; 65 }; 66 }; 67 68 cluster1 { 69 core0 { 70 cpu = <&cpu2>; 71 }; 72 core1 { 73 cpu = <&cpu3>; 74 }; 75 }; 76 }; 77 78 cpu0: cpu@0 { 79 device_type = "cpu"; 80 compatible = "arm,cortex-a72", "arm,armv8"; 81 reg = <0 0x000>; 82 enable-method = "psci"; 83 }; 84 85 cpu1: cpu@1 { 86 device_type = "cpu"; 87 compatible = "arm,cortex-a72", "arm,armv8"; 88 reg = <0 0x001>; 89 enable-method = "psci"; 90 }; 91 92 cpu2: cpu@100 { 93 device_type = "cpu"; 94 compatible = "arm,cortex-a53", "arm,armv8"; 95 reg = <0 0x100>; 96 enable-method = "psci"; 97 }; 98 99 cpu3: cpu@101 { 100 device_type = "cpu"; 101 compatible = "arm,cortex-a53", "arm,armv8"; 102 reg = <0 0x101>; 103 enable-method = "psci"; 104 }; 105 }; 106 107 psci { 108 compatible = "arm,psci-1.0"; 109 method = "smc"; 110 }; 111 112 clocks { 113 refclk: ref { 114 compatible = "fixed-clock"; 115 #clock-cells = <0>; 116 clock-frequency = <25000000>; 117 }; 118 }; 119 120 timer { 121 compatible = "arm,armv8-timer"; 122 interrupts = <1 13 4>, 123 <1 14 4>, 124 <1 11 4>, 125 <1 10 4>; 126 }; 127 128 soc { 129 compatible = "simple-bus"; 130 #address-cells = <1>; 131 #size-cells = <1>; 132 ranges = <0 0 0 0xffffffff>; 133 134 serial0: serial@54006800 { 135 compatible = "socionext,uniphier-uart"; 136 status = "disabled"; 137 reg = <0x54006800 0x40>; 138 interrupts = <0 33 4>; 139 pinctrl-names = "default"; 140 pinctrl-0 = <&pinctrl_uart0>; 141 clocks = <&peri_clk 0>; 142 }; 143 144 serial1: serial@54006900 { 145 compatible = "socionext,uniphier-uart"; 146 status = "disabled"; 147 reg = <0x54006900 0x40>; 148 interrupts = <0 35 4>; 149 pinctrl-names = "default"; 150 pinctrl-0 = <&pinctrl_uart1>; 151 clocks = <&peri_clk 1>; 152 }; 153 154 serial2: serial@54006a00 { 155 compatible = "socionext,uniphier-uart"; 156 status = "disabled"; 157 reg = <0x54006a00 0x40>; 158 interrupts = <0 37 4>; 159 pinctrl-names = "default"; 160 pinctrl-0 = <&pinctrl_uart2>; 161 clocks = <&peri_clk 2>; 162 }; 163 164 serial3: serial@54006b00 { 165 compatible = "socionext,uniphier-uart"; 166 status = "disabled"; 167 reg = <0x54006b00 0x40>; 168 interrupts = <0 177 4>; 169 pinctrl-names = "default"; 170 pinctrl-0 = <&pinctrl_uart3>; 171 clocks = <&peri_clk 3>; 172 }; 173 174 i2c0: i2c@58780000 { 175 compatible = "socionext,uniphier-fi2c"; 176 status = "disabled"; 177 reg = <0x58780000 0x80>; 178 #address-cells = <1>; 179 #size-cells = <0>; 180 interrupts = <0 41 4>; 181 pinctrl-names = "default"; 182 pinctrl-0 = <&pinctrl_i2c0>; 183 clocks = <&peri_clk 4>; 184 clock-frequency = <100000>; 185 }; 186 187 i2c1: i2c@58781000 { 188 compatible = "socionext,uniphier-fi2c"; 189 status = "disabled"; 190 reg = <0x58781000 0x80>; 191 #address-cells = <1>; 192 #size-cells = <0>; 193 interrupts = <0 42 4>; 194 pinctrl-names = "default"; 195 pinctrl-0 = <&pinctrl_i2c1>; 196 clocks = <&peri_clk 5>; 197 clock-frequency = <100000>; 198 }; 199 200 i2c2: i2c@58782000 { 201 compatible = "socionext,uniphier-fi2c"; 202 reg = <0x58782000 0x80>; 203 #address-cells = <1>; 204 #size-cells = <0>; 205 interrupts = <0 43 4>; 206 clocks = <&peri_clk 6>; 207 clock-frequency = <400000>; 208 }; 209 210 i2c3: i2c@58783000 { 211 compatible = "socionext,uniphier-fi2c"; 212 status = "disabled"; 213 reg = <0x58783000 0x80>; 214 #address-cells = <1>; 215 #size-cells = <0>; 216 interrupts = <0 44 4>; 217 pinctrl-names = "default"; 218 pinctrl-0 = <&pinctrl_i2c3>; 219 clocks = <&peri_clk 7>; 220 clock-frequency = <100000>; 221 }; 222 223 i2c4: i2c@58784000 { 224 compatible = "socionext,uniphier-fi2c"; 225 status = "disabled"; 226 reg = <0x58784000 0x80>; 227 #address-cells = <1>; 228 #size-cells = <0>; 229 interrupts = <0 45 4>; 230 pinctrl-names = "default"; 231 pinctrl-0 = <&pinctrl_i2c4>; 232 clocks = <&peri_clk 8>; 233 clock-frequency = <100000>; 234 }; 235 236 i2c5: i2c@58785000 { 237 compatible = "socionext,uniphier-fi2c"; 238 reg = <0x58785000 0x80>; 239 #address-cells = <1>; 240 #size-cells = <0>; 241 interrupts = <0 25 4>; 242 clocks = <&peri_clk 9>; 243 clock-frequency = <400000>; 244 }; 245 246 system_bus: system-bus@58c00000 { 247 compatible = "socionext,uniphier-system-bus"; 248 status = "disabled"; 249 reg = <0x58c00000 0x400>; 250 #address-cells = <2>; 251 #size-cells = <1>; 252 pinctrl-names = "default"; 253 pinctrl-0 = <&pinctrl_system_bus>; 254 }; 255 256 smpctrl@59800000 { 257 compatible = "socionext,uniphier-smpctrl"; 258 reg = <0x59801000 0x400>; 259 }; 260 261 sdctrl@59810000 { 262 compatible = "socionext,uniphier-ld20-sdctrl", 263 "simple-mfd", "syscon"; 264 reg = <0x59810000 0x800>; 265 266 sd_clk: clock { 267 compatible = "socionext,uniphier-ld20-sd-clock"; 268 #clock-cells = <1>; 269 }; 270 271 sd_rst: reset { 272 compatible = "socionext,uniphier-ld20-sd-reset"; 273 #reset-cells = <1>; 274 }; 275 }; 276 277 perictrl@59820000 { 278 compatible = "socionext,uniphier-perictrl", 279 "simple-mfd", "syscon"; 280 reg = <0x59820000 0x200>; 281 282 peri_clk: clock { 283 compatible = "socionext,uniphier-ld20-peri-clock"; 284 #clock-cells = <1>; 285 }; 286 287 peri_rst: reset { 288 compatible = "socionext,uniphier-ld20-peri-reset"; 289 #reset-cells = <1>; 290 }; 291 }; 292 293 soc-glue@5f800000 { 294 compatible = "socionext,uniphier-soc-glue", 295 "simple-mfd", "syscon"; 296 reg = <0x5f800000 0x2000>; 297 298 pinctrl: pinctrl { 299 compatible = "socionext,uniphier-ld20-pinctrl"; 300 }; 301 }; 302 303 gic: interrupt-controller@5fe00000 { 304 compatible = "arm,gic-v3"; 305 reg = <0x5fe00000 0x10000>, /* GICD */ 306 <0x5fe80000 0x80000>; /* GICR */ 307 interrupt-controller; 308 #interrupt-cells = <3>; 309 interrupts = <1 9 4>; 310 }; 311 312 sysctrl@61840000 { 313 compatible = "socionext,uniphier-sysctrl", 314 "simple-mfd", "syscon"; 315 reg = <0x61840000 0x10000>; 316 317 sys_clk: clock { 318 compatible = "socionext,uniphier-ld20-clock"; 319 #clock-cells = <1>; 320 }; 321 322 sys_rst: reset { 323 compatible = "socionext,uniphier-ld20-reset"; 324 #reset-cells = <1>; 325 }; 326 }; 327 }; 328}; 329 330/include/ "uniphier-pinctrl.dtsi" 331