105f7e3d1SMasahiro Yamada// SPDX-License-Identifier: GPL-2.0+ OR MIT 205f7e3d1SMasahiro Yamada// 305f7e3d1SMasahiro Yamada// Device Tree Source for UniPhier LD20 SoC 405f7e3d1SMasahiro Yamada// 505f7e3d1SMasahiro Yamada// Copyright (C) 2015-2016 Socionext Inc. 605f7e3d1SMasahiro Yamada// Author: Masahiro Yamada <yamada.masahiro@socionext.com> 7cea59bd0SMasahiro Yamada 8b6e5ec20SMasahiro Yamada#include <dt-bindings/gpio/gpio.h> 98311ca57SMasahiro Yamada#include <dt-bindings/gpio/uniphier-gpio.h> 105ba95e8eSKunihiko Hayashi#include <dt-bindings/interrupt-controller/arm-gic.h> 11dba74980SKunihiko Hayashi#include <dt-bindings/thermal/thermal.h> 12dba74980SKunihiko Hayashi 13cea59bd0SMasahiro Yamada/ { 14cea59bd0SMasahiro Yamada compatible = "socionext,uniphier-ld20"; 15cea59bd0SMasahiro Yamada #address-cells = <2>; 16cea59bd0SMasahiro Yamada #size-cells = <2>; 17cea59bd0SMasahiro Yamada interrupt-parent = <&gic>; 18cea59bd0SMasahiro Yamada 19cea59bd0SMasahiro Yamada cpus { 20cea59bd0SMasahiro Yamada #address-cells = <2>; 21cea59bd0SMasahiro Yamada #size-cells = <0>; 22cea59bd0SMasahiro Yamada 23cea59bd0SMasahiro Yamada cpu-map { 24cea59bd0SMasahiro Yamada cluster0 { 25cea59bd0SMasahiro Yamada core0 { 26cea59bd0SMasahiro Yamada cpu = <&cpu0>; 27cea59bd0SMasahiro Yamada }; 28cea59bd0SMasahiro Yamada core1 { 29cea59bd0SMasahiro Yamada cpu = <&cpu1>; 30cea59bd0SMasahiro Yamada }; 31cea59bd0SMasahiro Yamada }; 32cea59bd0SMasahiro Yamada 33cea59bd0SMasahiro Yamada cluster1 { 34cea59bd0SMasahiro Yamada core0 { 35cea59bd0SMasahiro Yamada cpu = <&cpu2>; 36cea59bd0SMasahiro Yamada }; 37cea59bd0SMasahiro Yamada core1 { 38cea59bd0SMasahiro Yamada cpu = <&cpu3>; 39cea59bd0SMasahiro Yamada }; 40cea59bd0SMasahiro Yamada }; 41cea59bd0SMasahiro Yamada }; 42cea59bd0SMasahiro Yamada 43cea59bd0SMasahiro Yamada cpu0: cpu@0 { 44cea59bd0SMasahiro Yamada device_type = "cpu"; 4531af04cdSRob Herring compatible = "arm,cortex-a72"; 46cea59bd0SMasahiro Yamada reg = <0 0x000>; 47183ad366SMasahiro Yamada clocks = <&sys_clk 32>; 482f81137fSMasahiro Yamada enable-method = "psci"; 495381a96cSKunihiko Hayashi next-level-cache = <&a72_l2>; 50183ad366SMasahiro Yamada operating-points-v2 = <&cluster0_opp>; 51dba74980SKunihiko Hayashi #cooling-cells = <2>; 52cea59bd0SMasahiro Yamada }; 53cea59bd0SMasahiro Yamada 54cea59bd0SMasahiro Yamada cpu1: cpu@1 { 55cea59bd0SMasahiro Yamada device_type = "cpu"; 5631af04cdSRob Herring compatible = "arm,cortex-a72"; 57cea59bd0SMasahiro Yamada reg = <0 0x001>; 58183ad366SMasahiro Yamada clocks = <&sys_clk 32>; 592f81137fSMasahiro Yamada enable-method = "psci"; 605381a96cSKunihiko Hayashi next-level-cache = <&a72_l2>; 61183ad366SMasahiro Yamada operating-points-v2 = <&cluster0_opp>; 62af0e09d0SViresh Kumar #cooling-cells = <2>; 63cea59bd0SMasahiro Yamada }; 64cea59bd0SMasahiro Yamada 65cea59bd0SMasahiro Yamada cpu2: cpu@100 { 66cea59bd0SMasahiro Yamada device_type = "cpu"; 6731af04cdSRob Herring compatible = "arm,cortex-a53"; 68cea59bd0SMasahiro Yamada reg = <0 0x100>; 69183ad366SMasahiro Yamada clocks = <&sys_clk 33>; 702f81137fSMasahiro Yamada enable-method = "psci"; 715381a96cSKunihiko Hayashi next-level-cache = <&a53_l2>; 72183ad366SMasahiro Yamada operating-points-v2 = <&cluster1_opp>; 73dba74980SKunihiko Hayashi #cooling-cells = <2>; 74cea59bd0SMasahiro Yamada }; 75cea59bd0SMasahiro Yamada 76cea59bd0SMasahiro Yamada cpu3: cpu@101 { 77cea59bd0SMasahiro Yamada device_type = "cpu"; 7831af04cdSRob Herring compatible = "arm,cortex-a53"; 79cea59bd0SMasahiro Yamada reg = <0 0x101>; 80183ad366SMasahiro Yamada clocks = <&sys_clk 33>; 812f81137fSMasahiro Yamada enable-method = "psci"; 825381a96cSKunihiko Hayashi next-level-cache = <&a53_l2>; 83183ad366SMasahiro Yamada operating-points-v2 = <&cluster1_opp>; 84af0e09d0SViresh Kumar #cooling-cells = <2>; 85183ad366SMasahiro Yamada }; 865381a96cSKunihiko Hayashi 875381a96cSKunihiko Hayashi a72_l2: l2-cache0 { 885381a96cSKunihiko Hayashi compatible = "cache"; 898d4f9145SPierre Gondois cache-level = <2>; 90*e035ddb6SKrzysztof Kozlowski cache-unified; 915381a96cSKunihiko Hayashi }; 925381a96cSKunihiko Hayashi 935381a96cSKunihiko Hayashi a53_l2: l2-cache1 { 945381a96cSKunihiko Hayashi compatible = "cache"; 958d4f9145SPierre Gondois cache-level = <2>; 96*e035ddb6SKrzysztof Kozlowski cache-unified; 975381a96cSKunihiko Hayashi }; 98183ad366SMasahiro Yamada }; 99183ad366SMasahiro Yamada 1004ff64e70SKunihiko Hayashi cluster0_opp: opp-table-0 { 101183ad366SMasahiro Yamada compatible = "operating-points-v2"; 102183ad366SMasahiro Yamada opp-shared; 103183ad366SMasahiro Yamada 1043fc9a121SViresh Kumar opp-250000000 { 105183ad366SMasahiro Yamada opp-hz = /bits/ 64 <250000000>; 106183ad366SMasahiro Yamada clock-latency-ns = <300>; 107183ad366SMasahiro Yamada }; 1083fc9a121SViresh Kumar opp-275000000 { 109183ad366SMasahiro Yamada opp-hz = /bits/ 64 <275000000>; 110183ad366SMasahiro Yamada clock-latency-ns = <300>; 111183ad366SMasahiro Yamada }; 1123fc9a121SViresh Kumar opp-500000000 { 113183ad366SMasahiro Yamada opp-hz = /bits/ 64 <500000000>; 114183ad366SMasahiro Yamada clock-latency-ns = <300>; 115183ad366SMasahiro Yamada }; 1163fc9a121SViresh Kumar opp-550000000 { 117183ad366SMasahiro Yamada opp-hz = /bits/ 64 <550000000>; 118183ad366SMasahiro Yamada clock-latency-ns = <300>; 119183ad366SMasahiro Yamada }; 1203fc9a121SViresh Kumar opp-666667000 { 121183ad366SMasahiro Yamada opp-hz = /bits/ 64 <666667000>; 122183ad366SMasahiro Yamada clock-latency-ns = <300>; 123183ad366SMasahiro Yamada }; 1243fc9a121SViresh Kumar opp-733334000 { 125183ad366SMasahiro Yamada opp-hz = /bits/ 64 <733334000>; 126183ad366SMasahiro Yamada clock-latency-ns = <300>; 127183ad366SMasahiro Yamada }; 1283fc9a121SViresh Kumar opp-1000000000 { 129183ad366SMasahiro Yamada opp-hz = /bits/ 64 <1000000000>; 130183ad366SMasahiro Yamada clock-latency-ns = <300>; 131183ad366SMasahiro Yamada }; 1323fc9a121SViresh Kumar opp-1100000000 { 133183ad366SMasahiro Yamada opp-hz = /bits/ 64 <1100000000>; 134183ad366SMasahiro Yamada clock-latency-ns = <300>; 135183ad366SMasahiro Yamada }; 136183ad366SMasahiro Yamada }; 137183ad366SMasahiro Yamada 1384ff64e70SKunihiko Hayashi cluster1_opp: opp-table-1 { 139183ad366SMasahiro Yamada compatible = "operating-points-v2"; 140183ad366SMasahiro Yamada opp-shared; 141183ad366SMasahiro Yamada 1423fc9a121SViresh Kumar opp-250000000 { 143183ad366SMasahiro Yamada opp-hz = /bits/ 64 <250000000>; 144183ad366SMasahiro Yamada clock-latency-ns = <300>; 145183ad366SMasahiro Yamada }; 1463fc9a121SViresh Kumar opp-275000000 { 147183ad366SMasahiro Yamada opp-hz = /bits/ 64 <275000000>; 148183ad366SMasahiro Yamada clock-latency-ns = <300>; 149183ad366SMasahiro Yamada }; 1503fc9a121SViresh Kumar opp-500000000 { 151183ad366SMasahiro Yamada opp-hz = /bits/ 64 <500000000>; 152183ad366SMasahiro Yamada clock-latency-ns = <300>; 153183ad366SMasahiro Yamada }; 1543fc9a121SViresh Kumar opp-550000000 { 155183ad366SMasahiro Yamada opp-hz = /bits/ 64 <550000000>; 156183ad366SMasahiro Yamada clock-latency-ns = <300>; 157183ad366SMasahiro Yamada }; 1583fc9a121SViresh Kumar opp-666667000 { 159183ad366SMasahiro Yamada opp-hz = /bits/ 64 <666667000>; 160183ad366SMasahiro Yamada clock-latency-ns = <300>; 161183ad366SMasahiro Yamada }; 1623fc9a121SViresh Kumar opp-733334000 { 163183ad366SMasahiro Yamada opp-hz = /bits/ 64 <733334000>; 164183ad366SMasahiro Yamada clock-latency-ns = <300>; 165183ad366SMasahiro Yamada }; 1663fc9a121SViresh Kumar opp-1000000000 { 167183ad366SMasahiro Yamada opp-hz = /bits/ 64 <1000000000>; 168183ad366SMasahiro Yamada clock-latency-ns = <300>; 169183ad366SMasahiro Yamada }; 1703fc9a121SViresh Kumar opp-1100000000 { 171183ad366SMasahiro Yamada opp-hz = /bits/ 64 <1100000000>; 172183ad366SMasahiro Yamada clock-latency-ns = <300>; 173cea59bd0SMasahiro Yamada }; 174cea59bd0SMasahiro Yamada }; 175cea59bd0SMasahiro Yamada 1762f81137fSMasahiro Yamada psci { 1772f81137fSMasahiro Yamada compatible = "arm,psci-1.0"; 1782f81137fSMasahiro Yamada method = "smc"; 1792f81137fSMasahiro Yamada }; 1802f81137fSMasahiro Yamada 181cea59bd0SMasahiro Yamada clocks { 182cea59bd0SMasahiro Yamada refclk: ref { 183cea59bd0SMasahiro Yamada compatible = "fixed-clock"; 184cea59bd0SMasahiro Yamada #clock-cells = <0>; 185cea59bd0SMasahiro Yamada clock-frequency = <25000000>; 186cea59bd0SMasahiro Yamada }; 187cea59bd0SMasahiro Yamada }; 188cea59bd0SMasahiro Yamada 189b6e5ec20SMasahiro Yamada emmc_pwrseq: emmc-pwrseq { 190b6e5ec20SMasahiro Yamada compatible = "mmc-pwrseq-emmc"; 1918311ca57SMasahiro Yamada reset-gpios = <&gpio UNIPHIER_GPIO_PORT(3, 2) GPIO_ACTIVE_LOW>; 192b6e5ec20SMasahiro Yamada }; 193b6e5ec20SMasahiro Yamada 194cea59bd0SMasahiro Yamada timer { 195cea59bd0SMasahiro Yamada compatible = "arm,armv8-timer"; 1965ba95e8eSKunihiko Hayashi interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>, 1975ba95e8eSKunihiko Hayashi <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>, 1985ba95e8eSKunihiko Hayashi <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>, 1995ba95e8eSKunihiko Hayashi <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>; 200cea59bd0SMasahiro Yamada }; 201cea59bd0SMasahiro Yamada 202dba74980SKunihiko Hayashi thermal-zones { 203dba74980SKunihiko Hayashi cpu-thermal { 204dba74980SKunihiko Hayashi polling-delay-passive = <250>; /* 250ms */ 205dba74980SKunihiko Hayashi polling-delay = <1000>; /* 1000ms */ 206dba74980SKunihiko Hayashi thermal-sensors = <&pvtctl>; 207dba74980SKunihiko Hayashi 208dba74980SKunihiko Hayashi trips { 209dba74980SKunihiko Hayashi cpu_crit: cpu-crit { 210dba74980SKunihiko Hayashi temperature = <110000>; /* 110C */ 211dba74980SKunihiko Hayashi hysteresis = <2000>; 212dba74980SKunihiko Hayashi type = "critical"; 213dba74980SKunihiko Hayashi }; 214dba74980SKunihiko Hayashi cpu_alert: cpu-alert { 215dba74980SKunihiko Hayashi temperature = <100000>; /* 100C */ 216dba74980SKunihiko Hayashi hysteresis = <2000>; 217dba74980SKunihiko Hayashi type = "passive"; 218dba74980SKunihiko Hayashi }; 219dba74980SKunihiko Hayashi }; 220dba74980SKunihiko Hayashi 221dba74980SKunihiko Hayashi cooling-maps { 222dba74980SKunihiko Hayashi map0 { 223dba74980SKunihiko Hayashi trip = <&cpu_alert>; 224072ae88aSViresh Kumar cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 225072ae88aSViresh Kumar <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 226072ae88aSViresh Kumar <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 227072ae88aSViresh Kumar <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 228dba74980SKunihiko Hayashi }; 229dba74980SKunihiko Hayashi }; 230dba74980SKunihiko Hayashi }; 231dba74980SKunihiko Hayashi }; 232dba74980SKunihiko Hayashi 233aa385712SMasahiro Yamada reserved-memory { 234aa385712SMasahiro Yamada #address-cells = <2>; 235aa385712SMasahiro Yamada #size-cells = <2>; 236aa385712SMasahiro Yamada ranges; 237aa385712SMasahiro Yamada 238aa385712SMasahiro Yamada secure-memory@81000000 { 239aa385712SMasahiro Yamada reg = <0x0 0x81000000 0x0 0x01000000>; 240aa385712SMasahiro Yamada no-map; 241aa385712SMasahiro Yamada }; 242aa385712SMasahiro Yamada }; 243aa385712SMasahiro Yamada 244b5027603SMasahiro Yamada soc@0 { 245cea59bd0SMasahiro Yamada compatible = "simple-bus"; 246cea59bd0SMasahiro Yamada #address-cells = <1>; 247cea59bd0SMasahiro Yamada #size-cells = <1>; 248cea59bd0SMasahiro Yamada ranges = <0 0 0 0xffffffff>; 249cea59bd0SMasahiro Yamada 250925c5c32SKunihiko Hayashi spi0: spi@54006000 { 251925c5c32SKunihiko Hayashi compatible = "socionext,uniphier-scssi"; 252925c5c32SKunihiko Hayashi status = "disabled"; 253925c5c32SKunihiko Hayashi reg = <0x54006000 0x100>; 2541a13827bSMasahiro Yamada #address-cells = <1>; 2551a13827bSMasahiro Yamada #size-cells = <0>; 2565ba95e8eSKunihiko Hayashi interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 257925c5c32SKunihiko Hayashi pinctrl-names = "default"; 258925c5c32SKunihiko Hayashi pinctrl-0 = <&pinctrl_spi0>; 259925c5c32SKunihiko Hayashi clocks = <&peri_clk 11>; 260925c5c32SKunihiko Hayashi resets = <&peri_rst 11>; 261925c5c32SKunihiko Hayashi }; 262925c5c32SKunihiko Hayashi 263925c5c32SKunihiko Hayashi spi1: spi@54006100 { 264925c5c32SKunihiko Hayashi compatible = "socionext,uniphier-scssi"; 265925c5c32SKunihiko Hayashi status = "disabled"; 266925c5c32SKunihiko Hayashi reg = <0x54006100 0x100>; 2671a13827bSMasahiro Yamada #address-cells = <1>; 2681a13827bSMasahiro Yamada #size-cells = <0>; 2695ba95e8eSKunihiko Hayashi interrupts = <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>; 270925c5c32SKunihiko Hayashi pinctrl-names = "default"; 271925c5c32SKunihiko Hayashi pinctrl-0 = <&pinctrl_spi1>; 272fdf9c17bSKunihiko Hayashi clocks = <&peri_clk 12>; 273fdf9c17bSKunihiko Hayashi resets = <&peri_rst 12>; 274925c5c32SKunihiko Hayashi }; 275925c5c32SKunihiko Hayashi 276925c5c32SKunihiko Hayashi spi2: spi@54006200 { 277925c5c32SKunihiko Hayashi compatible = "socionext,uniphier-scssi"; 278925c5c32SKunihiko Hayashi status = "disabled"; 279925c5c32SKunihiko Hayashi reg = <0x54006200 0x100>; 2801a13827bSMasahiro Yamada #address-cells = <1>; 2811a13827bSMasahiro Yamada #size-cells = <0>; 2825ba95e8eSKunihiko Hayashi interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>; 283925c5c32SKunihiko Hayashi pinctrl-names = "default"; 284925c5c32SKunihiko Hayashi pinctrl-0 = <&pinctrl_spi2>; 285fdf9c17bSKunihiko Hayashi clocks = <&peri_clk 13>; 286fdf9c17bSKunihiko Hayashi resets = <&peri_rst 13>; 287925c5c32SKunihiko Hayashi }; 288925c5c32SKunihiko Hayashi 289925c5c32SKunihiko Hayashi spi3: spi@54006300 { 290925c5c32SKunihiko Hayashi compatible = "socionext,uniphier-scssi"; 291925c5c32SKunihiko Hayashi status = "disabled"; 292925c5c32SKunihiko Hayashi reg = <0x54006300 0x100>; 2931a13827bSMasahiro Yamada #address-cells = <1>; 2941a13827bSMasahiro Yamada #size-cells = <0>; 2955ba95e8eSKunihiko Hayashi interrupts = <GIC_SPI 230 IRQ_TYPE_LEVEL_HIGH>; 296925c5c32SKunihiko Hayashi pinctrl-names = "default"; 297925c5c32SKunihiko Hayashi pinctrl-0 = <&pinctrl_spi3>; 298fdf9c17bSKunihiko Hayashi clocks = <&peri_clk 14>; 299fdf9c17bSKunihiko Hayashi resets = <&peri_rst 14>; 300925c5c32SKunihiko Hayashi }; 301925c5c32SKunihiko Hayashi 302cea59bd0SMasahiro Yamada serial0: serial@54006800 { 303cea59bd0SMasahiro Yamada compatible = "socionext,uniphier-uart"; 304cea59bd0SMasahiro Yamada status = "disabled"; 305cea59bd0SMasahiro Yamada reg = <0x54006800 0x40>; 3065ba95e8eSKunihiko Hayashi interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 307cea59bd0SMasahiro Yamada pinctrl-names = "default"; 308cea59bd0SMasahiro Yamada pinctrl-0 = <&pinctrl_uart0>; 30942aee275SMasahiro Yamada clocks = <&peri_clk 0>; 31076c48e1eSMasahiro Yamada resets = <&peri_rst 0>; 311cea59bd0SMasahiro Yamada }; 312cea59bd0SMasahiro Yamada 313cea59bd0SMasahiro Yamada serial1: serial@54006900 { 314cea59bd0SMasahiro Yamada compatible = "socionext,uniphier-uart"; 315cea59bd0SMasahiro Yamada status = "disabled"; 316cea59bd0SMasahiro Yamada reg = <0x54006900 0x40>; 3175ba95e8eSKunihiko Hayashi interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 318cea59bd0SMasahiro Yamada pinctrl-names = "default"; 319cea59bd0SMasahiro Yamada pinctrl-0 = <&pinctrl_uart1>; 32042aee275SMasahiro Yamada clocks = <&peri_clk 1>; 32176c48e1eSMasahiro Yamada resets = <&peri_rst 1>; 322cea59bd0SMasahiro Yamada }; 323cea59bd0SMasahiro Yamada 324cea59bd0SMasahiro Yamada serial2: serial@54006a00 { 325cea59bd0SMasahiro Yamada compatible = "socionext,uniphier-uart"; 326cea59bd0SMasahiro Yamada status = "disabled"; 327cea59bd0SMasahiro Yamada reg = <0x54006a00 0x40>; 3285ba95e8eSKunihiko Hayashi interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 329cea59bd0SMasahiro Yamada pinctrl-names = "default"; 330cea59bd0SMasahiro Yamada pinctrl-0 = <&pinctrl_uart2>; 33142aee275SMasahiro Yamada clocks = <&peri_clk 2>; 33276c48e1eSMasahiro Yamada resets = <&peri_rst 2>; 333cea59bd0SMasahiro Yamada }; 334cea59bd0SMasahiro Yamada 335cea59bd0SMasahiro Yamada serial3: serial@54006b00 { 336cea59bd0SMasahiro Yamada compatible = "socionext,uniphier-uart"; 337cea59bd0SMasahiro Yamada status = "disabled"; 338cea59bd0SMasahiro Yamada reg = <0x54006b00 0x40>; 3395ba95e8eSKunihiko Hayashi interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>; 340cea59bd0SMasahiro Yamada pinctrl-names = "default"; 341cea59bd0SMasahiro Yamada pinctrl-0 = <&pinctrl_uart3>; 34242aee275SMasahiro Yamada clocks = <&peri_clk 3>; 34376c48e1eSMasahiro Yamada resets = <&peri_rst 3>; 344cea59bd0SMasahiro Yamada }; 345cea59bd0SMasahiro Yamada 346277b51e7SMasahiro Yamada gpio: gpio@55000000 { 347277b51e7SMasahiro Yamada compatible = "socionext,uniphier-gpio"; 348277b51e7SMasahiro Yamada reg = <0x55000000 0x200>; 349277b51e7SMasahiro Yamada interrupt-parent = <&aidet>; 350277b51e7SMasahiro Yamada interrupt-controller; 351277b51e7SMasahiro Yamada #interrupt-cells = <2>; 352277b51e7SMasahiro Yamada gpio-controller; 353277b51e7SMasahiro Yamada #gpio-cells = <2>; 354277b51e7SMasahiro Yamada gpio-ranges = <&pinctrl 0 0 0>, 355277b51e7SMasahiro Yamada <&pinctrl 96 0 0>, 356277b51e7SMasahiro Yamada <&pinctrl 160 0 0>; 357277b51e7SMasahiro Yamada gpio-ranges-group-names = "gpio_range0", 358277b51e7SMasahiro Yamada "gpio_range1", 359277b51e7SMasahiro Yamada "gpio_range2"; 360277b51e7SMasahiro Yamada ngpios = <205>; 361277b51e7SMasahiro Yamada socionext,interrupt-ranges = <0 48 16>, <16 154 5>, 362277b51e7SMasahiro Yamada <21 217 3>; 363277b51e7SMasahiro Yamada }; 364277b51e7SMasahiro Yamada 365fb21a0acSKatsuhiro Suzuki audio@56000000 { 366fb21a0acSKatsuhiro Suzuki compatible = "socionext,uniphier-ld20-aio"; 367fb21a0acSKatsuhiro Suzuki reg = <0x56000000 0x80000>; 3685ba95e8eSKunihiko Hayashi interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>; 369fb21a0acSKatsuhiro Suzuki pinctrl-names = "default"; 370fb21a0acSKatsuhiro Suzuki pinctrl-0 = <&pinctrl_aout1>, 371fb21a0acSKatsuhiro Suzuki <&pinctrl_aoutiec1>; 372fb21a0acSKatsuhiro Suzuki clock-names = "aio"; 373fb21a0acSKatsuhiro Suzuki clocks = <&sys_clk 40>; 374fb21a0acSKatsuhiro Suzuki reset-names = "aio"; 375fb21a0acSKatsuhiro Suzuki resets = <&sys_rst 40>; 376fb21a0acSKatsuhiro Suzuki #sound-dai-cells = <1>; 3776c35921dSKatsuhiro Suzuki socionext,syscon = <&soc_glue>; 378fb21a0acSKatsuhiro Suzuki 379fb21a0acSKatsuhiro Suzuki i2s_port0: port@0 { 380fb21a0acSKatsuhiro Suzuki i2s_hdmi: endpoint { 381fb21a0acSKatsuhiro Suzuki }; 382fb21a0acSKatsuhiro Suzuki }; 383fb21a0acSKatsuhiro Suzuki 384fb21a0acSKatsuhiro Suzuki i2s_port1: port@1 { 385fb21a0acSKatsuhiro Suzuki i2s_pcmin2: endpoint { 386fb21a0acSKatsuhiro Suzuki }; 387fb21a0acSKatsuhiro Suzuki }; 388fb21a0acSKatsuhiro Suzuki 389fb21a0acSKatsuhiro Suzuki i2s_port2: port@2 { 390fb21a0acSKatsuhiro Suzuki i2s_line: endpoint { 391fb21a0acSKatsuhiro Suzuki dai-format = "i2s"; 392fb21a0acSKatsuhiro Suzuki remote-endpoint = <&evea_line>; 393fb21a0acSKatsuhiro Suzuki }; 394fb21a0acSKatsuhiro Suzuki }; 395fb21a0acSKatsuhiro Suzuki 396fb21a0acSKatsuhiro Suzuki i2s_port3: port@3 { 397fb21a0acSKatsuhiro Suzuki i2s_hpcmout1: endpoint { 398fb21a0acSKatsuhiro Suzuki }; 399fb21a0acSKatsuhiro Suzuki }; 400fb21a0acSKatsuhiro Suzuki 401fb21a0acSKatsuhiro Suzuki i2s_port4: port@4 { 402fb21a0acSKatsuhiro Suzuki i2s_hp: endpoint { 403fb21a0acSKatsuhiro Suzuki dai-format = "i2s"; 404fb21a0acSKatsuhiro Suzuki remote-endpoint = <&evea_hp>; 405fb21a0acSKatsuhiro Suzuki }; 406fb21a0acSKatsuhiro Suzuki }; 407fb21a0acSKatsuhiro Suzuki 408fb21a0acSKatsuhiro Suzuki spdif_port0: port@5 { 409fb21a0acSKatsuhiro Suzuki spdif_hiecout1: endpoint { 410fb21a0acSKatsuhiro Suzuki }; 411fb21a0acSKatsuhiro Suzuki }; 412fb21a0acSKatsuhiro Suzuki 413fb21a0acSKatsuhiro Suzuki src_port0: port@6 { 414fb21a0acSKatsuhiro Suzuki i2s_epcmout2: endpoint { 415fb21a0acSKatsuhiro Suzuki }; 416fb21a0acSKatsuhiro Suzuki }; 417fb21a0acSKatsuhiro Suzuki 418fb21a0acSKatsuhiro Suzuki src_port1: port@7 { 419fb21a0acSKatsuhiro Suzuki i2s_epcmout3: endpoint { 420fb21a0acSKatsuhiro Suzuki }; 421fb21a0acSKatsuhiro Suzuki }; 422fb21a0acSKatsuhiro Suzuki 423fb21a0acSKatsuhiro Suzuki comp_spdif_port0: port@8 { 424fb21a0acSKatsuhiro Suzuki comp_spdif_hiecout1: endpoint { 425fb21a0acSKatsuhiro Suzuki }; 426fb21a0acSKatsuhiro Suzuki }; 427fb21a0acSKatsuhiro Suzuki }; 428fb21a0acSKatsuhiro Suzuki 429fb21a0acSKatsuhiro Suzuki codec@57900000 { 430fb21a0acSKatsuhiro Suzuki compatible = "socionext,uniphier-evea"; 431fb21a0acSKatsuhiro Suzuki reg = <0x57900000 0x1000>; 432fb21a0acSKatsuhiro Suzuki clock-names = "evea", "exiv"; 433fb21a0acSKatsuhiro Suzuki clocks = <&sys_clk 41>, <&sys_clk 42>; 434fb21a0acSKatsuhiro Suzuki reset-names = "evea", "exiv", "adamv"; 435fb21a0acSKatsuhiro Suzuki resets = <&sys_rst 41>, <&sys_rst 42>, <&adamv_rst 0>; 436fb21a0acSKatsuhiro Suzuki #sound-dai-cells = <1>; 437fb21a0acSKatsuhiro Suzuki 438fb21a0acSKatsuhiro Suzuki port@0 { 439fb21a0acSKatsuhiro Suzuki evea_line: endpoint { 440fb21a0acSKatsuhiro Suzuki remote-endpoint = <&i2s_line>; 441fb21a0acSKatsuhiro Suzuki }; 442fb21a0acSKatsuhiro Suzuki }; 443fb21a0acSKatsuhiro Suzuki 444fb21a0acSKatsuhiro Suzuki port@1 { 445fb21a0acSKatsuhiro Suzuki evea_hp: endpoint { 446fb21a0acSKatsuhiro Suzuki remote-endpoint = <&i2s_hp>; 447fb21a0acSKatsuhiro Suzuki }; 448fb21a0acSKatsuhiro Suzuki }; 449fb21a0acSKatsuhiro Suzuki }; 450fb21a0acSKatsuhiro Suzuki 4515ebfa90bSKunihiko Hayashi syscon@57920000 { 452178b3568SKatsuhiro Suzuki compatible = "socionext,uniphier-ld20-adamv", 453178b3568SKatsuhiro Suzuki "simple-mfd", "syscon"; 454178b3568SKatsuhiro Suzuki reg = <0x57920000 0x1000>; 455178b3568SKatsuhiro Suzuki 4565ebfa90bSKunihiko Hayashi adamv_rst: reset-controller { 457178b3568SKatsuhiro Suzuki compatible = "socionext,uniphier-ld20-adamv-reset"; 458178b3568SKatsuhiro Suzuki #reset-cells = <1>; 459178b3568SKatsuhiro Suzuki }; 460178b3568SKatsuhiro Suzuki }; 461178b3568SKatsuhiro Suzuki 462cea59bd0SMasahiro Yamada i2c0: i2c@58780000 { 463cea59bd0SMasahiro Yamada compatible = "socionext,uniphier-fi2c"; 464cea59bd0SMasahiro Yamada status = "disabled"; 465cea59bd0SMasahiro Yamada reg = <0x58780000 0x80>; 466cea59bd0SMasahiro Yamada #address-cells = <1>; 467cea59bd0SMasahiro Yamada #size-cells = <0>; 4685ba95e8eSKunihiko Hayashi interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 469cea59bd0SMasahiro Yamada pinctrl-names = "default"; 470cea59bd0SMasahiro Yamada pinctrl-0 = <&pinctrl_i2c0>; 47142aee275SMasahiro Yamada clocks = <&peri_clk 4>; 47276c48e1eSMasahiro Yamada resets = <&peri_rst 4>; 473cea59bd0SMasahiro Yamada clock-frequency = <100000>; 474cea59bd0SMasahiro Yamada }; 475cea59bd0SMasahiro Yamada 476cea59bd0SMasahiro Yamada i2c1: i2c@58781000 { 477cea59bd0SMasahiro Yamada compatible = "socionext,uniphier-fi2c"; 478cea59bd0SMasahiro Yamada status = "disabled"; 479cea59bd0SMasahiro Yamada reg = <0x58781000 0x80>; 480cea59bd0SMasahiro Yamada #address-cells = <1>; 481cea59bd0SMasahiro Yamada #size-cells = <0>; 4825ba95e8eSKunihiko Hayashi interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 483cea59bd0SMasahiro Yamada pinctrl-names = "default"; 484cea59bd0SMasahiro Yamada pinctrl-0 = <&pinctrl_i2c1>; 48542aee275SMasahiro Yamada clocks = <&peri_clk 5>; 48676c48e1eSMasahiro Yamada resets = <&peri_rst 5>; 487cea59bd0SMasahiro Yamada clock-frequency = <100000>; 488cea59bd0SMasahiro Yamada }; 489cea59bd0SMasahiro Yamada 490cea59bd0SMasahiro Yamada i2c2: i2c@58782000 { 491cea59bd0SMasahiro Yamada compatible = "socionext,uniphier-fi2c"; 492cea59bd0SMasahiro Yamada reg = <0x58782000 0x80>; 493cea59bd0SMasahiro Yamada #address-cells = <1>; 494cea59bd0SMasahiro Yamada #size-cells = <0>; 4955ba95e8eSKunihiko Hayashi interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; 49642aee275SMasahiro Yamada clocks = <&peri_clk 6>; 49776c48e1eSMasahiro Yamada resets = <&peri_rst 6>; 498cea59bd0SMasahiro Yamada clock-frequency = <400000>; 499cea59bd0SMasahiro Yamada }; 500cea59bd0SMasahiro Yamada 501cea59bd0SMasahiro Yamada i2c3: i2c@58783000 { 502cea59bd0SMasahiro Yamada compatible = "socionext,uniphier-fi2c"; 503cea59bd0SMasahiro Yamada status = "disabled"; 504cea59bd0SMasahiro Yamada reg = <0x58783000 0x80>; 505cea59bd0SMasahiro Yamada #address-cells = <1>; 506cea59bd0SMasahiro Yamada #size-cells = <0>; 5075ba95e8eSKunihiko Hayashi interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 508cea59bd0SMasahiro Yamada pinctrl-names = "default"; 509cea59bd0SMasahiro Yamada pinctrl-0 = <&pinctrl_i2c3>; 51042aee275SMasahiro Yamada clocks = <&peri_clk 7>; 51176c48e1eSMasahiro Yamada resets = <&peri_rst 7>; 512cea59bd0SMasahiro Yamada clock-frequency = <100000>; 513cea59bd0SMasahiro Yamada }; 514cea59bd0SMasahiro Yamada 515cea59bd0SMasahiro Yamada i2c4: i2c@58784000 { 516cea59bd0SMasahiro Yamada compatible = "socionext,uniphier-fi2c"; 517cea59bd0SMasahiro Yamada status = "disabled"; 518cea59bd0SMasahiro Yamada reg = <0x58784000 0x80>; 519cea59bd0SMasahiro Yamada #address-cells = <1>; 520cea59bd0SMasahiro Yamada #size-cells = <0>; 5215ba95e8eSKunihiko Hayashi interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 522cea59bd0SMasahiro Yamada pinctrl-names = "default"; 523cea59bd0SMasahiro Yamada pinctrl-0 = <&pinctrl_i2c4>; 52442aee275SMasahiro Yamada clocks = <&peri_clk 8>; 52576c48e1eSMasahiro Yamada resets = <&peri_rst 8>; 526cea59bd0SMasahiro Yamada clock-frequency = <100000>; 527cea59bd0SMasahiro Yamada }; 528cea59bd0SMasahiro Yamada 529cea59bd0SMasahiro Yamada i2c5: i2c@58785000 { 530cea59bd0SMasahiro Yamada compatible = "socionext,uniphier-fi2c"; 531cea59bd0SMasahiro Yamada reg = <0x58785000 0x80>; 532cea59bd0SMasahiro Yamada #address-cells = <1>; 533cea59bd0SMasahiro Yamada #size-cells = <0>; 5345ba95e8eSKunihiko Hayashi interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 53542aee275SMasahiro Yamada clocks = <&peri_clk 9>; 53676c48e1eSMasahiro Yamada resets = <&peri_rst 9>; 537cea59bd0SMasahiro Yamada clock-frequency = <400000>; 538cea59bd0SMasahiro Yamada }; 539cea59bd0SMasahiro Yamada 540cea59bd0SMasahiro Yamada system_bus: system-bus@58c00000 { 541cea59bd0SMasahiro Yamada compatible = "socionext,uniphier-system-bus"; 542cea59bd0SMasahiro Yamada status = "disabled"; 543cea59bd0SMasahiro Yamada reg = <0x58c00000 0x400>; 544cea59bd0SMasahiro Yamada #address-cells = <2>; 545cea59bd0SMasahiro Yamada #size-cells = <1>; 5465d9a83c9SMasahiro Yamada pinctrl-names = "default"; 5475d9a83c9SMasahiro Yamada pinctrl-0 = <&pinctrl_system_bus>; 548cea59bd0SMasahiro Yamada }; 549cea59bd0SMasahiro Yamada 550b10ee7e3SMasahiro Yamada smpctrl@59801000 { 551cea59bd0SMasahiro Yamada compatible = "socionext,uniphier-smpctrl"; 552cea59bd0SMasahiro Yamada reg = <0x59801000 0x400>; 553cea59bd0SMasahiro Yamada }; 554cea59bd0SMasahiro Yamada 555a8d3f2d9SKunihiko Hayashi sdctrl: syscon@59810000 { 5568e68c65dSMasahiro Yamada compatible = "socionext,uniphier-ld20-sdctrl", 55742aee275SMasahiro Yamada "simple-mfd", "syscon"; 558555861fbSMasahiro Yamada reg = <0x59810000 0x400>; 55942aee275SMasahiro Yamada 5605ebfa90bSKunihiko Hayashi sd_clk: clock-controller { 5618e68c65dSMasahiro Yamada compatible = "socionext,uniphier-ld20-sd-clock"; 56242aee275SMasahiro Yamada #clock-cells = <1>; 56342aee275SMasahiro Yamada }; 56442aee275SMasahiro Yamada 5655ebfa90bSKunihiko Hayashi sd_rst: reset-controller { 5668e68c65dSMasahiro Yamada compatible = "socionext,uniphier-ld20-sd-reset"; 56742aee275SMasahiro Yamada #reset-cells = <1>; 56842aee275SMasahiro Yamada }; 56942aee275SMasahiro Yamada }; 57042aee275SMasahiro Yamada 5715ebfa90bSKunihiko Hayashi syscon@59820000 { 572fb28cef0SMasahiro Yamada compatible = "socionext,uniphier-ld20-perictrl", 57342aee275SMasahiro Yamada "simple-mfd", "syscon"; 57442aee275SMasahiro Yamada reg = <0x59820000 0x200>; 57542aee275SMasahiro Yamada 5765ebfa90bSKunihiko Hayashi peri_clk: clock-controller { 57742aee275SMasahiro Yamada compatible = "socionext,uniphier-ld20-peri-clock"; 57842aee275SMasahiro Yamada #clock-cells = <1>; 57942aee275SMasahiro Yamada }; 58042aee275SMasahiro Yamada 5815ebfa90bSKunihiko Hayashi peri_rst: reset-controller { 58242aee275SMasahiro Yamada compatible = "socionext,uniphier-ld20-peri-reset"; 58342aee275SMasahiro Yamada #reset-cells = <1>; 58442aee275SMasahiro Yamada }; 58542aee275SMasahiro Yamada }; 58642aee275SMasahiro Yamada 587bb3f4672SMasahiro Yamada emmc: mmc@5a000000 { 5883a93cc26SMasahiro Yamada compatible = "socionext,uniphier-sd4hc", "cdns,sd4hc"; 5893a93cc26SMasahiro Yamada reg = <0x5a000000 0x400>; 5905ba95e8eSKunihiko Hayashi interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 5919c0a9700SMasahiro Yamada pinctrl-names = "default"; 5929c0a9700SMasahiro Yamada pinctrl-0 = <&pinctrl_emmc>; 5933a93cc26SMasahiro Yamada clocks = <&sys_clk 4>; 59476c48e1eSMasahiro Yamada resets = <&sys_rst 4>; 5953a93cc26SMasahiro Yamada bus-width = <8>; 5963a93cc26SMasahiro Yamada mmc-ddr-1_8v; 5973a93cc26SMasahiro Yamada mmc-hs200-1_8v; 598b6e5ec20SMasahiro Yamada mmc-pwrseq = <&emmc_pwrseq>; 599f4e5200fSMasahiro Yamada cdns,phy-input-delay-legacy = <9>; 600ba6f7011SMasahiro Yamada cdns,phy-input-delay-mmc-highspeed = <2>; 601ba6f7011SMasahiro Yamada cdns,phy-input-delay-mmc-ddr = <3>; 602e345ededSMasahiro Yamada cdns,phy-dll-delay-sdclk = <21>; 603e345ededSMasahiro Yamada cdns,phy-dll-delay-sdclk-hsmmc = <21>; 6043a93cc26SMasahiro Yamada }; 6053a93cc26SMasahiro Yamada 606bb3f4672SMasahiro Yamada sd: mmc@5a400000 { 60784a9c4d5SMasahiro Yamada compatible = "socionext,uniphier-sd-v3.1.1"; 60884a9c4d5SMasahiro Yamada status = "disabled"; 60984a9c4d5SMasahiro Yamada reg = <0x5a400000 0x800>; 6105ba95e8eSKunihiko Hayashi interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 61184a9c4d5SMasahiro Yamada pinctrl-names = "default"; 61284a9c4d5SMasahiro Yamada pinctrl-0 = <&pinctrl_sd>; 61384a9c4d5SMasahiro Yamada clocks = <&sd_clk 0>; 61484a9c4d5SMasahiro Yamada reset-names = "host"; 61584a9c4d5SMasahiro Yamada resets = <&sd_rst 0>; 61684a9c4d5SMasahiro Yamada bus-width = <4>; 61784a9c4d5SMasahiro Yamada cap-sd-highspeed; 618a8d3f2d9SKunihiko Hayashi socionext,syscon-uhs-mode = <&sdctrl 0>; 61984a9c4d5SMasahiro Yamada }; 62084a9c4d5SMasahiro Yamada 6215ebfa90bSKunihiko Hayashi soc_glue: syscon@5f800000 { 622fb28cef0SMasahiro Yamada compatible = "socionext,uniphier-ld20-soc-glue", 6239d4f5505SMasahiro Yamada "simple-mfd", "syscon"; 624cea59bd0SMasahiro Yamada reg = <0x5f800000 0x2000>; 625cea59bd0SMasahiro Yamada 626cea59bd0SMasahiro Yamada pinctrl: pinctrl { 627cea59bd0SMasahiro Yamada compatible = "socionext,uniphier-ld20-pinctrl"; 628cea59bd0SMasahiro Yamada }; 629cea59bd0SMasahiro Yamada }; 630cea59bd0SMasahiro Yamada 6315ebfa90bSKunihiko Hayashi syscon@5f900000 { 632f05851e1SKeiji Hayashibara compatible = "socionext,uniphier-ld20-soc-glue-debug", 633f4d624a1SKunihiko Hayashi "simple-mfd", "syscon"; 634f45d6207SKunihiko Hayashi reg = <0x5f900000 0x2000>; 635f05851e1SKeiji Hayashibara #address-cells = <1>; 636f05851e1SKeiji Hayashibara #size-cells = <1>; 637f05851e1SKeiji Hayashibara ranges = <0 0x5f900000 0x2000>; 638f05851e1SKeiji Hayashibara 639f05851e1SKeiji Hayashibara efuse@100 { 640f05851e1SKeiji Hayashibara compatible = "socionext,uniphier-efuse"; 641f05851e1SKeiji Hayashibara reg = <0x100 0x28>; 642f05851e1SKeiji Hayashibara }; 643f05851e1SKeiji Hayashibara 644f05851e1SKeiji Hayashibara efuse@200 { 645f05851e1SKeiji Hayashibara compatible = "socionext,uniphier-efuse"; 646f05851e1SKeiji Hayashibara reg = <0x200 0x68>; 647d7b9beb8SKunihiko Hayashi #address-cells = <1>; 648d7b9beb8SKunihiko Hayashi #size-cells = <1>; 649d7b9beb8SKunihiko Hayashi 650d7b9beb8SKunihiko Hayashi /* USB cells */ 651d7b9beb8SKunihiko Hayashi usb_rterm0: trim@54,4 { 652d7b9beb8SKunihiko Hayashi reg = <0x54 1>; 653d7b9beb8SKunihiko Hayashi bits = <4 2>; 654d7b9beb8SKunihiko Hayashi }; 655d7b9beb8SKunihiko Hayashi usb_rterm1: trim@55,4 { 656d7b9beb8SKunihiko Hayashi reg = <0x55 1>; 657d7b9beb8SKunihiko Hayashi bits = <4 2>; 658d7b9beb8SKunihiko Hayashi }; 659d7b9beb8SKunihiko Hayashi usb_rterm2: trim@58,4 { 660d7b9beb8SKunihiko Hayashi reg = <0x58 1>; 661d7b9beb8SKunihiko Hayashi bits = <4 2>; 662d7b9beb8SKunihiko Hayashi }; 663d7b9beb8SKunihiko Hayashi usb_rterm3: trim@59,4 { 664d7b9beb8SKunihiko Hayashi reg = <0x59 1>; 665d7b9beb8SKunihiko Hayashi bits = <4 2>; 666d7b9beb8SKunihiko Hayashi }; 667d7b9beb8SKunihiko Hayashi usb_sel_t0: trim@54,0 { 668d7b9beb8SKunihiko Hayashi reg = <0x54 1>; 669d7b9beb8SKunihiko Hayashi bits = <0 4>; 670d7b9beb8SKunihiko Hayashi }; 671d7b9beb8SKunihiko Hayashi usb_sel_t1: trim@55,0 { 672d7b9beb8SKunihiko Hayashi reg = <0x55 1>; 673d7b9beb8SKunihiko Hayashi bits = <0 4>; 674d7b9beb8SKunihiko Hayashi }; 675d7b9beb8SKunihiko Hayashi usb_sel_t2: trim@58,0 { 676d7b9beb8SKunihiko Hayashi reg = <0x58 1>; 677d7b9beb8SKunihiko Hayashi bits = <0 4>; 678d7b9beb8SKunihiko Hayashi }; 679d7b9beb8SKunihiko Hayashi usb_sel_t3: trim@59,0 { 680d7b9beb8SKunihiko Hayashi reg = <0x59 1>; 681d7b9beb8SKunihiko Hayashi bits = <0 4>; 682d7b9beb8SKunihiko Hayashi }; 683d7b9beb8SKunihiko Hayashi usb_hs_i0: trim@56,0 { 684d7b9beb8SKunihiko Hayashi reg = <0x56 1>; 685d7b9beb8SKunihiko Hayashi bits = <0 4>; 686d7b9beb8SKunihiko Hayashi }; 687d7b9beb8SKunihiko Hayashi usb_hs_i2: trim@5a,0 { 688d7b9beb8SKunihiko Hayashi reg = <0x5a 1>; 689d7b9beb8SKunihiko Hayashi bits = <0 4>; 690d7b9beb8SKunihiko Hayashi }; 691f05851e1SKeiji Hayashibara }; 692f05851e1SKeiji Hayashibara }; 693f05851e1SKeiji Hayashibara 694f03b998dSKunihiko Hayashi xdmac: dma-controller@5fc10000 { 695f03b998dSKunihiko Hayashi compatible = "socionext,uniphier-xdmac"; 696f03b998dSKunihiko Hayashi reg = <0x5fc10000 0x5300>; 6975ba95e8eSKunihiko Hayashi interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; 698f03b998dSKunihiko Hayashi dma-channels = <16>; 699f03b998dSKunihiko Hayashi #dma-cells = <2>; 700f03b998dSKunihiko Hayashi }; 701f03b998dSKunihiko Hayashi 7029ddc285bSMasahiro Yamada aidet: interrupt-controller@5fc20000 { 7033dfc6e98SMasahiro Yamada compatible = "socionext,uniphier-ld20-aidet"; 7043dfc6e98SMasahiro Yamada reg = <0x5fc20000 0x200>; 7053dfc6e98SMasahiro Yamada interrupt-controller; 7063dfc6e98SMasahiro Yamada #interrupt-cells = <2>; 7073dfc6e98SMasahiro Yamada }; 7083dfc6e98SMasahiro Yamada 709cea59bd0SMasahiro Yamada gic: interrupt-controller@5fe00000 { 710cea59bd0SMasahiro Yamada compatible = "arm,gic-v3"; 711cea59bd0SMasahiro Yamada reg = <0x5fe00000 0x10000>, /* GICD */ 712cea59bd0SMasahiro Yamada <0x5fe80000 0x80000>; /* GICR */ 713cea59bd0SMasahiro Yamada interrupt-controller; 714cea59bd0SMasahiro Yamada #interrupt-cells = <3>; 7155ba95e8eSKunihiko Hayashi interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 716cea59bd0SMasahiro Yamada }; 71742aee275SMasahiro Yamada 7185ebfa90bSKunihiko Hayashi syscon@61840000 { 719fb28cef0SMasahiro Yamada compatible = "socionext,uniphier-ld20-sysctrl", 72042aee275SMasahiro Yamada "simple-mfd", "syscon"; 7211ef64af8SMasahiro Yamada reg = <0x61840000 0x10000>; 72242aee275SMasahiro Yamada 7235ebfa90bSKunihiko Hayashi sys_clk: clock-controller { 72442aee275SMasahiro Yamada compatible = "socionext,uniphier-ld20-clock"; 72542aee275SMasahiro Yamada #clock-cells = <1>; 72642aee275SMasahiro Yamada }; 72742aee275SMasahiro Yamada 7285ebfa90bSKunihiko Hayashi sys_rst: reset-controller { 72942aee275SMasahiro Yamada compatible = "socionext,uniphier-ld20-reset"; 73042aee275SMasahiro Yamada #reset-cells = <1>; 73142aee275SMasahiro Yamada }; 7324c4c960aSKeiji Hayashibara 7334c4c960aSKeiji Hayashibara watchdog { 7344c4c960aSKeiji Hayashibara compatible = "socionext,uniphier-wdt"; 7354c4c960aSKeiji Hayashibara }; 736dba74980SKunihiko Hayashi 7372dfb62d6SKunihiko Hayashi pvtctl: thermal-sensor { 738dba74980SKunihiko Hayashi compatible = "socionext,uniphier-ld20-thermal"; 7395ba95e8eSKunihiko Hayashi interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 740dba74980SKunihiko Hayashi #thermal-sensor-cells = <0>; 741dba74980SKunihiko Hayashi socionext,tmod-calibration = <0x0f22 0x68ee>; 742dba74980SKunihiko Hayashi }; 74342aee275SMasahiro Yamada }; 744e5aefb38SMasahiro Yamada 745c73730eeSKunihiko Hayashi eth: ethernet@65000000 { 746c73730eeSKunihiko Hayashi compatible = "socionext,uniphier-ld20-ave4"; 747c73730eeSKunihiko Hayashi status = "disabled"; 748c73730eeSKunihiko Hayashi reg = <0x65000000 0x8500>; 7495ba95e8eSKunihiko Hayashi interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>; 750c73730eeSKunihiko Hayashi pinctrl-names = "default"; 751c73730eeSKunihiko Hayashi pinctrl-0 = <&pinctrl_ether_rgmii>; 752a34a464dSKunihiko Hayashi clock-names = "ether"; 753c73730eeSKunihiko Hayashi clocks = <&sys_clk 6>; 754a34a464dSKunihiko Hayashi reset-names = "ether"; 755c73730eeSKunihiko Hayashi resets = <&sys_rst 6>; 756dcabb06bSKunihiko Hayashi phy-mode = "rgmii-id"; 757c73730eeSKunihiko Hayashi local-mac-address = [00 00 00 00 00 00]; 758b076ff8bSKunihiko Hayashi socionext,syscon-phy-mode = <&soc_glue 0>; 759c73730eeSKunihiko Hayashi 760c73730eeSKunihiko Hayashi mdio: mdio { 761c73730eeSKunihiko Hayashi #address-cells = <1>; 762c73730eeSKunihiko Hayashi #size-cells = <0>; 763c73730eeSKunihiko Hayashi }; 764c73730eeSKunihiko Hayashi }; 765c73730eeSKunihiko Hayashi 766d7b9beb8SKunihiko Hayashi usb: usb@65a00000 { 767d7b9beb8SKunihiko Hayashi compatible = "socionext,uniphier-dwc3", "snps,dwc3"; 768d7b9beb8SKunihiko Hayashi status = "disabled"; 769d7b9beb8SKunihiko Hayashi reg = <0x65a00000 0xcd00>; 770d7b9beb8SKunihiko Hayashi interrupt-names = "host"; 7715ba95e8eSKunihiko Hayashi interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>; 772d7b9beb8SKunihiko Hayashi pinctrl-names = "default"; 773d7b9beb8SKunihiko Hayashi pinctrl-0 = <&pinctrl_usb0>, <&pinctrl_usb1>, 774d7b9beb8SKunihiko Hayashi <&pinctrl_usb2>, <&pinctrl_usb3>; 775d7b9beb8SKunihiko Hayashi clock-names = "ref", "bus_early", "suspend"; 776d7b9beb8SKunihiko Hayashi clocks = <&sys_clk 14>, <&sys_clk 14>, <&sys_clk 14>; 777d7b9beb8SKunihiko Hayashi resets = <&usb_rst 15>; 778d7b9beb8SKunihiko Hayashi phys = <&usb_hsphy0>, <&usb_hsphy1>, 779d7b9beb8SKunihiko Hayashi <&usb_hsphy2>, <&usb_hsphy3>, 780d7b9beb8SKunihiko Hayashi <&usb_ssphy0>, <&usb_ssphy1>; 781d7b9beb8SKunihiko Hayashi dr_mode = "host"; 782d7b9beb8SKunihiko Hayashi }; 783d7b9beb8SKunihiko Hayashi 7844cc752a8SKunihiko Hayashi usb-controller@65b00000 { 785d7b9beb8SKunihiko Hayashi compatible = "socionext,uniphier-ld20-dwc3-glue", 786d7b9beb8SKunihiko Hayashi "simple-mfd"; 787f45d6207SKunihiko Hayashi reg = <0x65b00000 0x400>; 788d7b9beb8SKunihiko Hayashi #address-cells = <1>; 789d7b9beb8SKunihiko Hayashi #size-cells = <1>; 790d7b9beb8SKunihiko Hayashi ranges = <0 0x65b00000 0x400>; 791d7b9beb8SKunihiko Hayashi 7925ebfa90bSKunihiko Hayashi usb_rst: reset-controller@0 { 793d7b9beb8SKunihiko Hayashi compatible = "socionext,uniphier-ld20-usb3-reset"; 794d7b9beb8SKunihiko Hayashi reg = <0x0 0x4>; 795d7b9beb8SKunihiko Hayashi #reset-cells = <1>; 796d7b9beb8SKunihiko Hayashi clock-names = "link"; 797d7b9beb8SKunihiko Hayashi clocks = <&sys_clk 14>; 798d7b9beb8SKunihiko Hayashi reset-names = "link"; 799d7b9beb8SKunihiko Hayashi resets = <&sys_rst 14>; 800d7b9beb8SKunihiko Hayashi }; 801d7b9beb8SKunihiko Hayashi 802d7b9beb8SKunihiko Hayashi usb_vbus0: regulator@100 { 803d7b9beb8SKunihiko Hayashi compatible = "socionext,uniphier-ld20-usb3-regulator"; 804d7b9beb8SKunihiko Hayashi reg = <0x100 0x10>; 805d7b9beb8SKunihiko Hayashi clock-names = "link"; 806d7b9beb8SKunihiko Hayashi clocks = <&sys_clk 14>; 807d7b9beb8SKunihiko Hayashi reset-names = "link"; 808d7b9beb8SKunihiko Hayashi resets = <&sys_rst 14>; 809d7b9beb8SKunihiko Hayashi }; 810d7b9beb8SKunihiko Hayashi 811d7b9beb8SKunihiko Hayashi usb_vbus1: regulator@110 { 812d7b9beb8SKunihiko Hayashi compatible = "socionext,uniphier-ld20-usb3-regulator"; 813d7b9beb8SKunihiko Hayashi reg = <0x110 0x10>; 814d7b9beb8SKunihiko Hayashi clock-names = "link"; 815d7b9beb8SKunihiko Hayashi clocks = <&sys_clk 14>; 816d7b9beb8SKunihiko Hayashi reset-names = "link"; 817d7b9beb8SKunihiko Hayashi resets = <&sys_rst 14>; 818d7b9beb8SKunihiko Hayashi }; 819d7b9beb8SKunihiko Hayashi 820d7b9beb8SKunihiko Hayashi usb_vbus2: regulator@120 { 821d7b9beb8SKunihiko Hayashi compatible = "socionext,uniphier-ld20-usb3-regulator"; 822d7b9beb8SKunihiko Hayashi reg = <0x120 0x10>; 823d7b9beb8SKunihiko Hayashi clock-names = "link"; 824d7b9beb8SKunihiko Hayashi clocks = <&sys_clk 14>; 825d7b9beb8SKunihiko Hayashi reset-names = "link"; 826d7b9beb8SKunihiko Hayashi resets = <&sys_rst 14>; 827d7b9beb8SKunihiko Hayashi }; 828d7b9beb8SKunihiko Hayashi 829d7b9beb8SKunihiko Hayashi usb_vbus3: regulator@130 { 830d7b9beb8SKunihiko Hayashi compatible = "socionext,uniphier-ld20-usb3-regulator"; 831d7b9beb8SKunihiko Hayashi reg = <0x130 0x10>; 832d7b9beb8SKunihiko Hayashi clock-names = "link"; 833d7b9beb8SKunihiko Hayashi clocks = <&sys_clk 14>; 834d7b9beb8SKunihiko Hayashi reset-names = "link"; 835d7b9beb8SKunihiko Hayashi resets = <&sys_rst 14>; 836d7b9beb8SKunihiko Hayashi }; 837d7b9beb8SKunihiko Hayashi 8385ebfa90bSKunihiko Hayashi usb_hsphy0: phy@200 { 839d7b9beb8SKunihiko Hayashi compatible = "socionext,uniphier-ld20-usb3-hsphy"; 840d7b9beb8SKunihiko Hayashi reg = <0x200 0x10>; 841d7b9beb8SKunihiko Hayashi #phy-cells = <0>; 842d7b9beb8SKunihiko Hayashi clock-names = "link", "phy"; 843d7b9beb8SKunihiko Hayashi clocks = <&sys_clk 14>, <&sys_clk 16>; 844d7b9beb8SKunihiko Hayashi reset-names = "link", "phy"; 845d7b9beb8SKunihiko Hayashi resets = <&sys_rst 14>, <&sys_rst 16>; 846d7b9beb8SKunihiko Hayashi vbus-supply = <&usb_vbus0>; 847d7b9beb8SKunihiko Hayashi nvmem-cell-names = "rterm", "sel_t", "hs_i"; 848d7b9beb8SKunihiko Hayashi nvmem-cells = <&usb_rterm0>, <&usb_sel_t0>, 849d7b9beb8SKunihiko Hayashi <&usb_hs_i0>; 850d7b9beb8SKunihiko Hayashi }; 851d7b9beb8SKunihiko Hayashi 8525ebfa90bSKunihiko Hayashi usb_hsphy1: phy@210 { 853d7b9beb8SKunihiko Hayashi compatible = "socionext,uniphier-ld20-usb3-hsphy"; 854d7b9beb8SKunihiko Hayashi reg = <0x210 0x10>; 855d7b9beb8SKunihiko Hayashi #phy-cells = <0>; 856d7b9beb8SKunihiko Hayashi clock-names = "link", "phy"; 857d7b9beb8SKunihiko Hayashi clocks = <&sys_clk 14>, <&sys_clk 16>; 858d7b9beb8SKunihiko Hayashi reset-names = "link", "phy"; 859d7b9beb8SKunihiko Hayashi resets = <&sys_rst 14>, <&sys_rst 16>; 860d7b9beb8SKunihiko Hayashi vbus-supply = <&usb_vbus1>; 861d7b9beb8SKunihiko Hayashi nvmem-cell-names = "rterm", "sel_t", "hs_i"; 862d7b9beb8SKunihiko Hayashi nvmem-cells = <&usb_rterm1>, <&usb_sel_t1>, 863d7b9beb8SKunihiko Hayashi <&usb_hs_i0>; 864d7b9beb8SKunihiko Hayashi }; 865d7b9beb8SKunihiko Hayashi 8665ebfa90bSKunihiko Hayashi usb_hsphy2: phy@220 { 867d7b9beb8SKunihiko Hayashi compatible = "socionext,uniphier-ld20-usb3-hsphy"; 868d7b9beb8SKunihiko Hayashi reg = <0x220 0x10>; 869d7b9beb8SKunihiko Hayashi #phy-cells = <0>; 870d7b9beb8SKunihiko Hayashi clock-names = "link", "phy"; 871d7b9beb8SKunihiko Hayashi clocks = <&sys_clk 14>, <&sys_clk 17>; 872d7b9beb8SKunihiko Hayashi reset-names = "link", "phy"; 873d7b9beb8SKunihiko Hayashi resets = <&sys_rst 14>, <&sys_rst 17>; 874d7b9beb8SKunihiko Hayashi vbus-supply = <&usb_vbus2>; 875d7b9beb8SKunihiko Hayashi nvmem-cell-names = "rterm", "sel_t", "hs_i"; 876d7b9beb8SKunihiko Hayashi nvmem-cells = <&usb_rterm2>, <&usb_sel_t2>, 877d7b9beb8SKunihiko Hayashi <&usb_hs_i2>; 878d7b9beb8SKunihiko Hayashi }; 879d7b9beb8SKunihiko Hayashi 8805ebfa90bSKunihiko Hayashi usb_hsphy3: phy@230 { 881d7b9beb8SKunihiko Hayashi compatible = "socionext,uniphier-ld20-usb3-hsphy"; 882d7b9beb8SKunihiko Hayashi reg = <0x230 0x10>; 883d7b9beb8SKunihiko Hayashi #phy-cells = <0>; 884d7b9beb8SKunihiko Hayashi clock-names = "link", "phy"; 885d7b9beb8SKunihiko Hayashi clocks = <&sys_clk 14>, <&sys_clk 17>; 886d7b9beb8SKunihiko Hayashi reset-names = "link", "phy"; 887d7b9beb8SKunihiko Hayashi resets = <&sys_rst 14>, <&sys_rst 17>; 888d7b9beb8SKunihiko Hayashi vbus-supply = <&usb_vbus3>; 889d7b9beb8SKunihiko Hayashi nvmem-cell-names = "rterm", "sel_t", "hs_i"; 890d7b9beb8SKunihiko Hayashi nvmem-cells = <&usb_rterm3>, <&usb_sel_t3>, 891d7b9beb8SKunihiko Hayashi <&usb_hs_i2>; 892d7b9beb8SKunihiko Hayashi }; 893d7b9beb8SKunihiko Hayashi 8945ebfa90bSKunihiko Hayashi usb_ssphy0: phy@300 { 895d7b9beb8SKunihiko Hayashi compatible = "socionext,uniphier-ld20-usb3-ssphy"; 896d7b9beb8SKunihiko Hayashi reg = <0x300 0x10>; 897d7b9beb8SKunihiko Hayashi #phy-cells = <0>; 898d7b9beb8SKunihiko Hayashi clock-names = "link", "phy"; 899d7b9beb8SKunihiko Hayashi clocks = <&sys_clk 14>, <&sys_clk 18>; 900d7b9beb8SKunihiko Hayashi reset-names = "link", "phy"; 901d7b9beb8SKunihiko Hayashi resets = <&sys_rst 14>, <&sys_rst 18>; 902d7b9beb8SKunihiko Hayashi vbus-supply = <&usb_vbus0>; 903d7b9beb8SKunihiko Hayashi }; 904d7b9beb8SKunihiko Hayashi 9055ebfa90bSKunihiko Hayashi usb_ssphy1: phy@310 { 906d7b9beb8SKunihiko Hayashi compatible = "socionext,uniphier-ld20-usb3-ssphy"; 907d7b9beb8SKunihiko Hayashi reg = <0x310 0x10>; 908d7b9beb8SKunihiko Hayashi #phy-cells = <0>; 909d7b9beb8SKunihiko Hayashi clock-names = "link", "phy"; 910d7b9beb8SKunihiko Hayashi clocks = <&sys_clk 14>, <&sys_clk 19>; 911d7b9beb8SKunihiko Hayashi reset-names = "link", "phy"; 912d7b9beb8SKunihiko Hayashi resets = <&sys_rst 14>, <&sys_rst 19>; 913d7b9beb8SKunihiko Hayashi vbus-supply = <&usb_vbus1>; 914d7b9beb8SKunihiko Hayashi }; 915d7b9beb8SKunihiko Hayashi }; 916d7b9beb8SKunihiko Hayashi 91732dfc773SKunihiko Hayashi pcie: pcie@66000000 { 918d93ecbf5SKunihiko Hayashi compatible = "socionext,uniphier-pcie"; 91932dfc773SKunihiko Hayashi status = "disabled"; 92032dfc773SKunihiko Hayashi reg-names = "dbi", "link", "config"; 92132dfc773SKunihiko Hayashi reg = <0x66000000 0x1000>, <0x66010000 0x10000>, 92232dfc773SKunihiko Hayashi <0x2fff0000 0x10000>; 92332dfc773SKunihiko Hayashi #address-cells = <3>; 92432dfc773SKunihiko Hayashi #size-cells = <2>; 92532dfc773SKunihiko Hayashi clocks = <&sys_clk 24>; 92632dfc773SKunihiko Hayashi resets = <&sys_rst 24>; 92732dfc773SKunihiko Hayashi num-lanes = <1>; 92832dfc773SKunihiko Hayashi num-viewport = <1>; 92932dfc773SKunihiko Hayashi bus-range = <0x0 0xff>; 93032dfc773SKunihiko Hayashi device_type = "pci"; 93132dfc773SKunihiko Hayashi ranges = 93232dfc773SKunihiko Hayashi /* downstream I/O */ 93332dfc773SKunihiko Hayashi <0x81000000 0 0x00000000 0x2ffe0000 0 0x00010000>, 93432dfc773SKunihiko Hayashi /* non-prefetchable memory */ 93532dfc773SKunihiko Hayashi <0x82000000 0 0x20000000 0x20000000 0 0x0ffe0000>; 93632dfc773SKunihiko Hayashi #interrupt-cells = <1>; 93732dfc773SKunihiko Hayashi interrupt-names = "dma", "msi"; 9385ba95e8eSKunihiko Hayashi interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>, 9395ba95e8eSKunihiko Hayashi <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>; 94032dfc773SKunihiko Hayashi interrupt-map-mask = <0 0 0 7>; 94132dfc773SKunihiko Hayashi interrupt-map = <0 0 0 1 &pcie_intc 0>, /* INTA */ 94232dfc773SKunihiko Hayashi <0 0 0 2 &pcie_intc 1>, /* INTB */ 94332dfc773SKunihiko Hayashi <0 0 0 3 &pcie_intc 2>, /* INTC */ 94432dfc773SKunihiko Hayashi <0 0 0 4 &pcie_intc 3>; /* INTD */ 94532dfc773SKunihiko Hayashi phy-names = "pcie-phy"; 94632dfc773SKunihiko Hayashi phys = <&pcie_phy>; 94732dfc773SKunihiko Hayashi 94832dfc773SKunihiko Hayashi pcie_intc: legacy-interrupt-controller { 94932dfc773SKunihiko Hayashi interrupt-controller; 95032dfc773SKunihiko Hayashi #interrupt-cells = <1>; 95132dfc773SKunihiko Hayashi interrupt-parent = <&gic>; 9525ba95e8eSKunihiko Hayashi interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>; 95332dfc773SKunihiko Hayashi }; 95432dfc773SKunihiko Hayashi }; 95532dfc773SKunihiko Hayashi 95632dfc773SKunihiko Hayashi pcie_phy: phy@66038000 { 95732dfc773SKunihiko Hayashi compatible = "socionext,uniphier-ld20-pcie-phy"; 95832dfc773SKunihiko Hayashi reg = <0x66038000 0x4000>; 95932dfc773SKunihiko Hayashi #phy-cells = <0>; 960e6bd81a2SKunihiko Hayashi clock-names = "link"; 96132dfc773SKunihiko Hayashi clocks = <&sys_clk 24>; 962e6bd81a2SKunihiko Hayashi reset-names = "link"; 96332dfc773SKunihiko Hayashi resets = <&sys_rst 24>; 96432dfc773SKunihiko Hayashi socionext,syscon = <&soc_glue>; 96532dfc773SKunihiko Hayashi }; 96632dfc773SKunihiko Hayashi 967fcb0e53cSMasahiro Yamada nand: nand-controller@68000000 { 968e5aefb38SMasahiro Yamada compatible = "socionext,uniphier-denali-nand-v5b"; 969e5aefb38SMasahiro Yamada status = "disabled"; 970e5aefb38SMasahiro Yamada reg-names = "nand_data", "denali_reg"; 971e5aefb38SMasahiro Yamada reg = <0x68000000 0x20>, <0x68100000 0x1000>; 97253c580c1SMasahiro Yamada #address-cells = <1>; 97353c580c1SMasahiro Yamada #size-cells = <0>; 9745ba95e8eSKunihiko Hayashi interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 975e5aefb38SMasahiro Yamada pinctrl-names = "default"; 976e5aefb38SMasahiro Yamada pinctrl-0 = <&pinctrl_nand>; 977bae120f8SMasahiro Yamada clock-names = "nand", "nand_x", "ecc"; 978bae120f8SMasahiro Yamada clocks = <&sys_clk 2>, <&sys_clk 3>, <&sys_clk 3>; 979e98d5023SMasahiro Yamada reset-names = "nand", "reg"; 980e98d5023SMasahiro Yamada resets = <&sys_rst 2>, <&sys_rst 2>; 981e5aefb38SMasahiro Yamada }; 982cea59bd0SMasahiro Yamada }; 983cea59bd0SMasahiro Yamada}; 984cea59bd0SMasahiro Yamada 9855740ea4eSMasahiro Yamada#include "uniphier-pinctrl.dtsi" 986fb21a0acSKatsuhiro Suzuki 987fb21a0acSKatsuhiro Suzuki&pinctrl_aout1 { 988fb21a0acSKatsuhiro Suzuki drive-strength = <4>; /* default: 3.5mA */ 989fb21a0acSKatsuhiro Suzuki 990fb21a0acSKatsuhiro Suzuki ao1dacck { 991fb21a0acSKatsuhiro Suzuki pins = "AO1DACCK"; 992fb21a0acSKatsuhiro Suzuki drive-strength = <5>; /* 5mA */ 993fb21a0acSKatsuhiro Suzuki }; 994fb21a0acSKatsuhiro Suzuki}; 995fb21a0acSKatsuhiro Suzuki 996fb21a0acSKatsuhiro Suzuki&pinctrl_aoutiec1 { 997fb21a0acSKatsuhiro Suzuki drive-strength = <4>; /* default: 3.5mA */ 998fb21a0acSKatsuhiro Suzuki 999fb21a0acSKatsuhiro Suzuki ao1arc { 1000fb21a0acSKatsuhiro Suzuki pins = "AO1ARC"; 1001fb21a0acSKatsuhiro Suzuki drive-strength = <11>; /* 11mA */ 1002fb21a0acSKatsuhiro Suzuki }; 1003fb21a0acSKatsuhiro Suzuki}; 1004