1270e0c3eSMasahiro Yamada/* 2270e0c3eSMasahiro Yamada * Device Tree Source for UniPhier LD11 SoC 3270e0c3eSMasahiro Yamada * 4270e0c3eSMasahiro Yamada * Copyright (C) 2016 Socionext Inc. 5270e0c3eSMasahiro Yamada * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 6270e0c3eSMasahiro Yamada * 7270e0c3eSMasahiro Yamada * This file is dual-licensed: you can use it either under the terms 8270e0c3eSMasahiro Yamada * of the GPL or the X11 license, at your option. Note that this dual 9270e0c3eSMasahiro Yamada * licensing only applies to this file, and not this project as a 10270e0c3eSMasahiro Yamada * whole. 11270e0c3eSMasahiro Yamada * 12270e0c3eSMasahiro Yamada * a) This file is free software; you can redistribute it and/or 13270e0c3eSMasahiro Yamada * modify it under the terms of the GNU General Public License as 14270e0c3eSMasahiro Yamada * published by the Free Software Foundation; either version 2 of the 15270e0c3eSMasahiro Yamada * License, or (at your option) any later version. 16270e0c3eSMasahiro Yamada * 17270e0c3eSMasahiro Yamada * This file is distributed in the hope that it will be useful, 18270e0c3eSMasahiro Yamada * but WITHOUT ANY WARRANTY; without even the implied warranty of 19270e0c3eSMasahiro Yamada * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20270e0c3eSMasahiro Yamada * GNU General Public License for more details. 21270e0c3eSMasahiro Yamada * 22270e0c3eSMasahiro Yamada * Or, alternatively, 23270e0c3eSMasahiro Yamada * 24270e0c3eSMasahiro Yamada * b) Permission is hereby granted, free of charge, to any person 25270e0c3eSMasahiro Yamada * obtaining a copy of this software and associated documentation 26270e0c3eSMasahiro Yamada * files (the "Software"), to deal in the Software without 27270e0c3eSMasahiro Yamada * restriction, including without limitation the rights to use, 28270e0c3eSMasahiro Yamada * copy, modify, merge, publish, distribute, sublicense, and/or 29270e0c3eSMasahiro Yamada * sell copies of the Software, and to permit persons to whom the 30270e0c3eSMasahiro Yamada * Software is furnished to do so, subject to the following 31270e0c3eSMasahiro Yamada * conditions: 32270e0c3eSMasahiro Yamada * 33270e0c3eSMasahiro Yamada * The above copyright notice and this permission notice shall be 34270e0c3eSMasahiro Yamada * included in all copies or substantial portions of the Software. 35270e0c3eSMasahiro Yamada * 36270e0c3eSMasahiro Yamada * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 37270e0c3eSMasahiro Yamada * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 38270e0c3eSMasahiro Yamada * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 39270e0c3eSMasahiro Yamada * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 40270e0c3eSMasahiro Yamada * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 41270e0c3eSMasahiro Yamada * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 42270e0c3eSMasahiro Yamada * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 43270e0c3eSMasahiro Yamada * OTHER DEALINGS IN THE SOFTWARE. 44270e0c3eSMasahiro Yamada */ 45270e0c3eSMasahiro Yamada 462f81137fSMasahiro Yamada/memreserve/ 0x80000000 0x00080000; 47270e0c3eSMasahiro Yamada 48270e0c3eSMasahiro Yamada/ { 49270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-ld11"; 50270e0c3eSMasahiro Yamada #address-cells = <2>; 51270e0c3eSMasahiro Yamada #size-cells = <2>; 52270e0c3eSMasahiro Yamada interrupt-parent = <&gic>; 53270e0c3eSMasahiro Yamada 54270e0c3eSMasahiro Yamada cpus { 55270e0c3eSMasahiro Yamada #address-cells = <2>; 56270e0c3eSMasahiro Yamada #size-cells = <0>; 57270e0c3eSMasahiro Yamada 58270e0c3eSMasahiro Yamada cpu-map { 59270e0c3eSMasahiro Yamada cluster0 { 60270e0c3eSMasahiro Yamada core0 { 61270e0c3eSMasahiro Yamada cpu = <&cpu0>; 62270e0c3eSMasahiro Yamada }; 63270e0c3eSMasahiro Yamada core1 { 64270e0c3eSMasahiro Yamada cpu = <&cpu1>; 65270e0c3eSMasahiro Yamada }; 66270e0c3eSMasahiro Yamada }; 67270e0c3eSMasahiro Yamada }; 68270e0c3eSMasahiro Yamada 69270e0c3eSMasahiro Yamada cpu0: cpu@0 { 70270e0c3eSMasahiro Yamada device_type = "cpu"; 71270e0c3eSMasahiro Yamada compatible = "arm,cortex-a53", "arm,armv8"; 72270e0c3eSMasahiro Yamada reg = <0 0x000>; 732f81137fSMasahiro Yamada enable-method = "psci"; 74270e0c3eSMasahiro Yamada }; 75270e0c3eSMasahiro Yamada 76270e0c3eSMasahiro Yamada cpu1: cpu@1 { 77270e0c3eSMasahiro Yamada device_type = "cpu"; 78270e0c3eSMasahiro Yamada compatible = "arm,cortex-a53", "arm,armv8"; 79270e0c3eSMasahiro Yamada reg = <0 0x001>; 802f81137fSMasahiro Yamada enable-method = "psci"; 81270e0c3eSMasahiro Yamada }; 82270e0c3eSMasahiro Yamada }; 83270e0c3eSMasahiro Yamada 842f81137fSMasahiro Yamada psci { 852f81137fSMasahiro Yamada compatible = "arm,psci-1.0"; 862f81137fSMasahiro Yamada method = "smc"; 872f81137fSMasahiro Yamada }; 882f81137fSMasahiro Yamada 89270e0c3eSMasahiro Yamada clocks { 90270e0c3eSMasahiro Yamada refclk: ref { 91270e0c3eSMasahiro Yamada compatible = "fixed-clock"; 92270e0c3eSMasahiro Yamada #clock-cells = <0>; 93270e0c3eSMasahiro Yamada clock-frequency = <25000000>; 94270e0c3eSMasahiro Yamada }; 95270e0c3eSMasahiro Yamada }; 96270e0c3eSMasahiro Yamada 97270e0c3eSMasahiro Yamada timer { 98270e0c3eSMasahiro Yamada compatible = "arm,armv8-timer"; 99270e0c3eSMasahiro Yamada interrupts = <1 13 4>, 100270e0c3eSMasahiro Yamada <1 14 4>, 101270e0c3eSMasahiro Yamada <1 11 4>, 102270e0c3eSMasahiro Yamada <1 10 4>; 103270e0c3eSMasahiro Yamada }; 104270e0c3eSMasahiro Yamada 105270e0c3eSMasahiro Yamada soc { 106270e0c3eSMasahiro Yamada compatible = "simple-bus"; 107270e0c3eSMasahiro Yamada #address-cells = <1>; 108270e0c3eSMasahiro Yamada #size-cells = <1>; 109270e0c3eSMasahiro Yamada ranges = <0 0 0 0xffffffff>; 110270e0c3eSMasahiro Yamada 111270e0c3eSMasahiro Yamada serial0: serial@54006800 { 112270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-uart"; 113270e0c3eSMasahiro Yamada status = "disabled"; 114270e0c3eSMasahiro Yamada reg = <0x54006800 0x40>; 115270e0c3eSMasahiro Yamada interrupts = <0 33 4>; 116270e0c3eSMasahiro Yamada pinctrl-names = "default"; 117270e0c3eSMasahiro Yamada pinctrl-0 = <&pinctrl_uart0>; 118270e0c3eSMasahiro Yamada clocks = <&peri_clk 0>; 119270e0c3eSMasahiro Yamada }; 120270e0c3eSMasahiro Yamada 121270e0c3eSMasahiro Yamada serial1: serial@54006900 { 122270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-uart"; 123270e0c3eSMasahiro Yamada status = "disabled"; 124270e0c3eSMasahiro Yamada reg = <0x54006900 0x40>; 125270e0c3eSMasahiro Yamada interrupts = <0 35 4>; 126270e0c3eSMasahiro Yamada pinctrl-names = "default"; 127270e0c3eSMasahiro Yamada pinctrl-0 = <&pinctrl_uart1>; 128270e0c3eSMasahiro Yamada clocks = <&peri_clk 1>; 129270e0c3eSMasahiro Yamada }; 130270e0c3eSMasahiro Yamada 131270e0c3eSMasahiro Yamada serial2: serial@54006a00 { 132270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-uart"; 133270e0c3eSMasahiro Yamada status = "disabled"; 134270e0c3eSMasahiro Yamada reg = <0x54006a00 0x40>; 135270e0c3eSMasahiro Yamada interrupts = <0 37 4>; 136270e0c3eSMasahiro Yamada pinctrl-names = "default"; 137270e0c3eSMasahiro Yamada pinctrl-0 = <&pinctrl_uart2>; 138270e0c3eSMasahiro Yamada clocks = <&peri_clk 2>; 139270e0c3eSMasahiro Yamada }; 140270e0c3eSMasahiro Yamada 141270e0c3eSMasahiro Yamada serial3: serial@54006b00 { 142270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-uart"; 143270e0c3eSMasahiro Yamada status = "disabled"; 144270e0c3eSMasahiro Yamada reg = <0x54006b00 0x40>; 145270e0c3eSMasahiro Yamada interrupts = <0 177 4>; 146270e0c3eSMasahiro Yamada pinctrl-names = "default"; 147270e0c3eSMasahiro Yamada pinctrl-0 = <&pinctrl_uart3>; 148270e0c3eSMasahiro Yamada clocks = <&peri_clk 3>; 149270e0c3eSMasahiro Yamada }; 150270e0c3eSMasahiro Yamada 151270e0c3eSMasahiro Yamada i2c0: i2c@58780000 { 152270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-fi2c"; 153270e0c3eSMasahiro Yamada status = "disabled"; 154270e0c3eSMasahiro Yamada reg = <0x58780000 0x80>; 155270e0c3eSMasahiro Yamada #address-cells = <1>; 156270e0c3eSMasahiro Yamada #size-cells = <0>; 157270e0c3eSMasahiro Yamada interrupts = <0 41 4>; 158270e0c3eSMasahiro Yamada pinctrl-names = "default"; 159270e0c3eSMasahiro Yamada pinctrl-0 = <&pinctrl_i2c0>; 160270e0c3eSMasahiro Yamada clocks = <&peri_clk 4>; 161270e0c3eSMasahiro Yamada clock-frequency = <100000>; 162270e0c3eSMasahiro Yamada }; 163270e0c3eSMasahiro Yamada 164270e0c3eSMasahiro Yamada i2c1: i2c@58781000 { 165270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-fi2c"; 166270e0c3eSMasahiro Yamada status = "disabled"; 167270e0c3eSMasahiro Yamada reg = <0x58781000 0x80>; 168270e0c3eSMasahiro Yamada #address-cells = <1>; 169270e0c3eSMasahiro Yamada #size-cells = <0>; 170270e0c3eSMasahiro Yamada interrupts = <0 42 4>; 171270e0c3eSMasahiro Yamada pinctrl-names = "default"; 172270e0c3eSMasahiro Yamada pinctrl-0 = <&pinctrl_i2c1>; 173270e0c3eSMasahiro Yamada clocks = <&peri_clk 5>; 174270e0c3eSMasahiro Yamada clock-frequency = <100000>; 175270e0c3eSMasahiro Yamada }; 176270e0c3eSMasahiro Yamada 177270e0c3eSMasahiro Yamada i2c2: i2c@58782000 { 178270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-fi2c"; 179270e0c3eSMasahiro Yamada reg = <0x58782000 0x80>; 180270e0c3eSMasahiro Yamada #address-cells = <1>; 181270e0c3eSMasahiro Yamada #size-cells = <0>; 182270e0c3eSMasahiro Yamada interrupts = <0 43 4>; 183270e0c3eSMasahiro Yamada clocks = <&peri_clk 6>; 184270e0c3eSMasahiro Yamada clock-frequency = <400000>; 185270e0c3eSMasahiro Yamada }; 186270e0c3eSMasahiro Yamada 187270e0c3eSMasahiro Yamada i2c3: i2c@58783000 { 188270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-fi2c"; 189270e0c3eSMasahiro Yamada status = "disabled"; 190270e0c3eSMasahiro Yamada reg = <0x58783000 0x80>; 191270e0c3eSMasahiro Yamada #address-cells = <1>; 192270e0c3eSMasahiro Yamada #size-cells = <0>; 193270e0c3eSMasahiro Yamada interrupts = <0 44 4>; 194270e0c3eSMasahiro Yamada pinctrl-names = "default"; 195270e0c3eSMasahiro Yamada pinctrl-0 = <&pinctrl_i2c3>; 196270e0c3eSMasahiro Yamada clocks = <&peri_clk 7>; 197270e0c3eSMasahiro Yamada clock-frequency = <100000>; 198270e0c3eSMasahiro Yamada }; 199270e0c3eSMasahiro Yamada 200270e0c3eSMasahiro Yamada i2c4: i2c@58784000 { 201270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-fi2c"; 202270e0c3eSMasahiro Yamada status = "disabled"; 203270e0c3eSMasahiro Yamada reg = <0x58784000 0x80>; 204270e0c3eSMasahiro Yamada #address-cells = <1>; 205270e0c3eSMasahiro Yamada #size-cells = <0>; 206270e0c3eSMasahiro Yamada interrupts = <0 45 4>; 207270e0c3eSMasahiro Yamada pinctrl-names = "default"; 208270e0c3eSMasahiro Yamada pinctrl-0 = <&pinctrl_i2c4>; 209270e0c3eSMasahiro Yamada clocks = <&peri_clk 8>; 210270e0c3eSMasahiro Yamada clock-frequency = <100000>; 211270e0c3eSMasahiro Yamada }; 212270e0c3eSMasahiro Yamada 213270e0c3eSMasahiro Yamada i2c5: i2c@58785000 { 214270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-fi2c"; 215270e0c3eSMasahiro Yamada reg = <0x58785000 0x80>; 216270e0c3eSMasahiro Yamada #address-cells = <1>; 217270e0c3eSMasahiro Yamada #size-cells = <0>; 218270e0c3eSMasahiro Yamada interrupts = <0 25 4>; 219270e0c3eSMasahiro Yamada clocks = <&peri_clk 9>; 220270e0c3eSMasahiro Yamada clock-frequency = <400000>; 221270e0c3eSMasahiro Yamada }; 222270e0c3eSMasahiro Yamada 223270e0c3eSMasahiro Yamada system_bus: system-bus@58c00000 { 224270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-system-bus"; 225270e0c3eSMasahiro Yamada status = "disabled"; 226270e0c3eSMasahiro Yamada reg = <0x58c00000 0x400>; 227270e0c3eSMasahiro Yamada #address-cells = <2>; 228270e0c3eSMasahiro Yamada #size-cells = <1>; 229270e0c3eSMasahiro Yamada pinctrl-names = "default"; 230270e0c3eSMasahiro Yamada pinctrl-0 = <&pinctrl_system_bus>; 231270e0c3eSMasahiro Yamada }; 232270e0c3eSMasahiro Yamada 233270e0c3eSMasahiro Yamada smpctrl@59800000 { 234270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-smpctrl"; 235270e0c3eSMasahiro Yamada reg = <0x59801000 0x400>; 236270e0c3eSMasahiro Yamada }; 237270e0c3eSMasahiro Yamada 238270e0c3eSMasahiro Yamada perictrl@59820000 { 239270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-perictrl", 240270e0c3eSMasahiro Yamada "simple-mfd", "syscon"; 241270e0c3eSMasahiro Yamada reg = <0x59820000 0x200>; 242270e0c3eSMasahiro Yamada 243270e0c3eSMasahiro Yamada peri_clk: clock { 244270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-ld11-peri-clock"; 245270e0c3eSMasahiro Yamada #clock-cells = <1>; 246270e0c3eSMasahiro Yamada }; 247270e0c3eSMasahiro Yamada 248270e0c3eSMasahiro Yamada peri_rst: reset { 249270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-ld11-peri-reset"; 250270e0c3eSMasahiro Yamada #reset-cells = <1>; 251270e0c3eSMasahiro Yamada }; 252270e0c3eSMasahiro Yamada }; 253270e0c3eSMasahiro Yamada 254270e0c3eSMasahiro Yamada usb0: usb@5a800100 { 255270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-ehci", "generic-ehci"; 256270e0c3eSMasahiro Yamada status = "disabled"; 257270e0c3eSMasahiro Yamada reg = <0x5a800100 0x100>; 258270e0c3eSMasahiro Yamada interrupts = <0 243 4>; 259270e0c3eSMasahiro Yamada pinctrl-names = "default"; 260270e0c3eSMasahiro Yamada pinctrl-0 = <&pinctrl_usb0>; 261270e0c3eSMasahiro Yamada clocks = <&mio_clk 7>, <&mio_clk 8>, <&mio_clk 12>; 262270e0c3eSMasahiro Yamada resets = <&mio_rst 7>, <&mio_rst 8>, <&mio_rst 12>, <&sys_rst 8>; 263270e0c3eSMasahiro Yamada }; 264270e0c3eSMasahiro Yamada 265270e0c3eSMasahiro Yamada usb1: usb@5a810100 { 266270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-ehci", "generic-ehci"; 267270e0c3eSMasahiro Yamada status = "disabled"; 268270e0c3eSMasahiro Yamada reg = <0x5a810100 0x100>; 269270e0c3eSMasahiro Yamada interrupts = <0 244 4>; 270270e0c3eSMasahiro Yamada pinctrl-names = "default"; 271270e0c3eSMasahiro Yamada pinctrl-0 = <&pinctrl_usb1>; 272270e0c3eSMasahiro Yamada clocks = <&mio_clk 7>, <&mio_clk 9>, <&mio_clk 13>; 273270e0c3eSMasahiro Yamada resets = <&mio_rst 7>, <&mio_rst 9>, <&mio_rst 13>, <&sys_rst 8>; 274270e0c3eSMasahiro Yamada }; 275270e0c3eSMasahiro Yamada 276270e0c3eSMasahiro Yamada usb2: usb@5a820100 { 277270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-ehci", "generic-ehci"; 278270e0c3eSMasahiro Yamada status = "disabled"; 279270e0c3eSMasahiro Yamada reg = <0x5a820100 0x100>; 280270e0c3eSMasahiro Yamada interrupts = <0 245 4>; 281270e0c3eSMasahiro Yamada pinctrl-names = "default"; 282270e0c3eSMasahiro Yamada pinctrl-0 = <&pinctrl_usb2>; 283270e0c3eSMasahiro Yamada clocks = <&mio_clk 7>, <&mio_clk 10>, <&mio_clk 14>; 284270e0c3eSMasahiro Yamada resets = <&mio_rst 7>, <&mio_rst 10>, <&mio_rst 14>, <&sys_rst 8>; 285270e0c3eSMasahiro Yamada }; 286270e0c3eSMasahiro Yamada 287270e0c3eSMasahiro Yamada mioctrl@5b3e0000 { 288270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-mioctrl", 289270e0c3eSMasahiro Yamada "simple-mfd", "syscon"; 290270e0c3eSMasahiro Yamada reg = <0x5b3e0000 0x800>; 291270e0c3eSMasahiro Yamada 292270e0c3eSMasahiro Yamada mio_clk: clock { 293270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-ld11-mio-clock"; 294270e0c3eSMasahiro Yamada #clock-cells = <1>; 295270e0c3eSMasahiro Yamada }; 296270e0c3eSMasahiro Yamada 297270e0c3eSMasahiro Yamada mio_rst: reset { 298270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-ld11-mio-reset"; 299270e0c3eSMasahiro Yamada #reset-cells = <1>; 300270e0c3eSMasahiro Yamada resets = <&sys_rst 7>; 301270e0c3eSMasahiro Yamada }; 302270e0c3eSMasahiro Yamada }; 303270e0c3eSMasahiro Yamada 304270e0c3eSMasahiro Yamada soc-glue@5f800000 { 305270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-soc-glue", 306270e0c3eSMasahiro Yamada "simple-mfd", "syscon"; 307270e0c3eSMasahiro Yamada reg = <0x5f800000 0x2000>; 308270e0c3eSMasahiro Yamada 309270e0c3eSMasahiro Yamada pinctrl: pinctrl { 310270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-ld11-pinctrl"; 311270e0c3eSMasahiro Yamada }; 312270e0c3eSMasahiro Yamada }; 313270e0c3eSMasahiro Yamada 314270e0c3eSMasahiro Yamada gic: interrupt-controller@5fe00000 { 315270e0c3eSMasahiro Yamada compatible = "arm,gic-v3"; 316270e0c3eSMasahiro Yamada reg = <0x5fe00000 0x10000>, /* GICD */ 317270e0c3eSMasahiro Yamada <0x5fe40000 0x80000>; /* GICR */ 318270e0c3eSMasahiro Yamada interrupt-controller; 319270e0c3eSMasahiro Yamada #interrupt-cells = <3>; 320270e0c3eSMasahiro Yamada interrupts = <1 9 4>; 321270e0c3eSMasahiro Yamada }; 322270e0c3eSMasahiro Yamada 323270e0c3eSMasahiro Yamada sysctrl@61840000 { 324270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-ld11-sysctrl", 325270e0c3eSMasahiro Yamada "simple-mfd", "syscon"; 326270e0c3eSMasahiro Yamada reg = <0x61840000 0x4000>; 327270e0c3eSMasahiro Yamada 328270e0c3eSMasahiro Yamada sys_clk: clock { 329270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-ld11-clock"; 330270e0c3eSMasahiro Yamada #clock-cells = <1>; 331270e0c3eSMasahiro Yamada }; 332270e0c3eSMasahiro Yamada 333270e0c3eSMasahiro Yamada sys_rst: reset { 334270e0c3eSMasahiro Yamada compatible = "socionext,uniphier-ld11-reset"; 335270e0c3eSMasahiro Yamada #reset-cells = <1>; 336270e0c3eSMasahiro Yamada }; 337270e0c3eSMasahiro Yamada }; 338270e0c3eSMasahiro Yamada }; 339270e0c3eSMasahiro Yamada}; 340270e0c3eSMasahiro Yamada 341270e0c3eSMasahiro Yamada/include/ "uniphier-pinctrl.dtsi" 342