1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+ OR MIT 2c66ec88fSEmmanuel Vadot// 3c66ec88fSEmmanuel Vadot// Device Tree Source for UniPhier PXs3 SoC 4c66ec88fSEmmanuel Vadot// 5c66ec88fSEmmanuel Vadot// Copyright (C) 2017 Socionext Inc. 6c66ec88fSEmmanuel Vadot// Author: Masahiro Yamada <yamada.masahiro@socionext.com> 7c66ec88fSEmmanuel Vadot 8c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 9c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/uniphier-gpio.h> 107ef62cebSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 11c66ec88fSEmmanuel Vadot#include <dt-bindings/thermal/thermal.h> 12c66ec88fSEmmanuel Vadot 13c66ec88fSEmmanuel Vadot/ { 14c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3"; 15c66ec88fSEmmanuel Vadot #address-cells = <2>; 16c66ec88fSEmmanuel Vadot #size-cells = <2>; 17c66ec88fSEmmanuel Vadot interrupt-parent = <&gic>; 18c66ec88fSEmmanuel Vadot 19c66ec88fSEmmanuel Vadot cpus { 20c66ec88fSEmmanuel Vadot #address-cells = <2>; 21c66ec88fSEmmanuel Vadot #size-cells = <0>; 22c66ec88fSEmmanuel Vadot 23c66ec88fSEmmanuel Vadot cpu-map { 24c66ec88fSEmmanuel Vadot cluster0 { 25c66ec88fSEmmanuel Vadot core0 { 26c66ec88fSEmmanuel Vadot cpu = <&cpu0>; 27c66ec88fSEmmanuel Vadot }; 28c66ec88fSEmmanuel Vadot core1 { 29c66ec88fSEmmanuel Vadot cpu = <&cpu1>; 30c66ec88fSEmmanuel Vadot }; 31c66ec88fSEmmanuel Vadot core2 { 32c66ec88fSEmmanuel Vadot cpu = <&cpu2>; 33c66ec88fSEmmanuel Vadot }; 34c66ec88fSEmmanuel Vadot core3 { 35c66ec88fSEmmanuel Vadot cpu = <&cpu3>; 36c66ec88fSEmmanuel Vadot }; 37c66ec88fSEmmanuel Vadot }; 38c66ec88fSEmmanuel Vadot }; 39c66ec88fSEmmanuel Vadot 40c66ec88fSEmmanuel Vadot cpu0: cpu@0 { 41c66ec88fSEmmanuel Vadot device_type = "cpu"; 42c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 43c66ec88fSEmmanuel Vadot reg = <0 0x000>; 44c66ec88fSEmmanuel Vadot clocks = <&sys_clk 33>; 45c66ec88fSEmmanuel Vadot enable-method = "psci"; 467ef62cebSEmmanuel Vadot next-level-cache = <&l2>; 47c66ec88fSEmmanuel Vadot operating-points-v2 = <&cluster0_opp>; 48c66ec88fSEmmanuel Vadot #cooling-cells = <2>; 49c66ec88fSEmmanuel Vadot }; 50c66ec88fSEmmanuel Vadot 51c66ec88fSEmmanuel Vadot cpu1: cpu@1 { 52c66ec88fSEmmanuel Vadot device_type = "cpu"; 53c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 54c66ec88fSEmmanuel Vadot reg = <0 0x001>; 55c66ec88fSEmmanuel Vadot clocks = <&sys_clk 33>; 56c66ec88fSEmmanuel Vadot enable-method = "psci"; 577ef62cebSEmmanuel Vadot next-level-cache = <&l2>; 58c66ec88fSEmmanuel Vadot operating-points-v2 = <&cluster0_opp>; 59c66ec88fSEmmanuel Vadot #cooling-cells = <2>; 60c66ec88fSEmmanuel Vadot }; 61c66ec88fSEmmanuel Vadot 62c66ec88fSEmmanuel Vadot cpu2: cpu@2 { 63c66ec88fSEmmanuel Vadot device_type = "cpu"; 64c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 65c66ec88fSEmmanuel Vadot reg = <0 0x002>; 66c66ec88fSEmmanuel Vadot clocks = <&sys_clk 33>; 67c66ec88fSEmmanuel Vadot enable-method = "psci"; 687ef62cebSEmmanuel Vadot next-level-cache = <&l2>; 69c66ec88fSEmmanuel Vadot operating-points-v2 = <&cluster0_opp>; 70c66ec88fSEmmanuel Vadot #cooling-cells = <2>; 71c66ec88fSEmmanuel Vadot }; 72c66ec88fSEmmanuel Vadot 73c66ec88fSEmmanuel Vadot cpu3: cpu@3 { 74c66ec88fSEmmanuel Vadot device_type = "cpu"; 75c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 76c66ec88fSEmmanuel Vadot reg = <0 0x003>; 77c66ec88fSEmmanuel Vadot clocks = <&sys_clk 33>; 78c66ec88fSEmmanuel Vadot enable-method = "psci"; 797ef62cebSEmmanuel Vadot next-level-cache = <&l2>; 80c66ec88fSEmmanuel Vadot operating-points-v2 = <&cluster0_opp>; 81c66ec88fSEmmanuel Vadot #cooling-cells = <2>; 82c66ec88fSEmmanuel Vadot }; 837ef62cebSEmmanuel Vadot 847ef62cebSEmmanuel Vadot l2: l2-cache { 857ef62cebSEmmanuel Vadot compatible = "cache"; 86*84943d6fSEmmanuel Vadot cache-level = <2>; 87*84943d6fSEmmanuel Vadot cache-unified; 887ef62cebSEmmanuel Vadot }; 89c66ec88fSEmmanuel Vadot }; 90c66ec88fSEmmanuel Vadot 91c66ec88fSEmmanuel Vadot cluster0_opp: opp-table { 92c66ec88fSEmmanuel Vadot compatible = "operating-points-v2"; 93c66ec88fSEmmanuel Vadot opp-shared; 94c66ec88fSEmmanuel Vadot 95c66ec88fSEmmanuel Vadot opp-250000000 { 96c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <250000000>; 97c66ec88fSEmmanuel Vadot clock-latency-ns = <300>; 98c66ec88fSEmmanuel Vadot }; 99c66ec88fSEmmanuel Vadot opp-325000000 { 100c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <325000000>; 101c66ec88fSEmmanuel Vadot clock-latency-ns = <300>; 102c66ec88fSEmmanuel Vadot }; 103c66ec88fSEmmanuel Vadot opp-500000000 { 104c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <500000000>; 105c66ec88fSEmmanuel Vadot clock-latency-ns = <300>; 106c66ec88fSEmmanuel Vadot }; 107c66ec88fSEmmanuel Vadot opp-650000000 { 108c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <650000000>; 109c66ec88fSEmmanuel Vadot clock-latency-ns = <300>; 110c66ec88fSEmmanuel Vadot }; 111c66ec88fSEmmanuel Vadot opp-666667000 { 112c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <666667000>; 113c66ec88fSEmmanuel Vadot clock-latency-ns = <300>; 114c66ec88fSEmmanuel Vadot }; 115c66ec88fSEmmanuel Vadot opp-866667000 { 116c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <866667000>; 117c66ec88fSEmmanuel Vadot clock-latency-ns = <300>; 118c66ec88fSEmmanuel Vadot }; 119c66ec88fSEmmanuel Vadot opp-1000000000 { 120c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1000000000>; 121c66ec88fSEmmanuel Vadot clock-latency-ns = <300>; 122c66ec88fSEmmanuel Vadot }; 123c66ec88fSEmmanuel Vadot opp-1300000000 { 124c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1300000000>; 125c66ec88fSEmmanuel Vadot clock-latency-ns = <300>; 126c66ec88fSEmmanuel Vadot }; 127c66ec88fSEmmanuel Vadot }; 128c66ec88fSEmmanuel Vadot 129c66ec88fSEmmanuel Vadot psci { 130c66ec88fSEmmanuel Vadot compatible = "arm,psci-1.0"; 131c66ec88fSEmmanuel Vadot method = "smc"; 132c66ec88fSEmmanuel Vadot }; 133c66ec88fSEmmanuel Vadot 134c66ec88fSEmmanuel Vadot clocks { 135c66ec88fSEmmanuel Vadot refclk: ref { 136c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 137c66ec88fSEmmanuel Vadot #clock-cells = <0>; 138c66ec88fSEmmanuel Vadot clock-frequency = <25000000>; 139c66ec88fSEmmanuel Vadot }; 140c66ec88fSEmmanuel Vadot }; 141c66ec88fSEmmanuel Vadot 142c66ec88fSEmmanuel Vadot emmc_pwrseq: emmc-pwrseq { 143c66ec88fSEmmanuel Vadot compatible = "mmc-pwrseq-emmc"; 144c66ec88fSEmmanuel Vadot reset-gpios = <&gpio UNIPHIER_GPIO_PORT(5, 7) GPIO_ACTIVE_LOW>; 145c66ec88fSEmmanuel Vadot }; 146c66ec88fSEmmanuel Vadot 147c66ec88fSEmmanuel Vadot timer { 148c66ec88fSEmmanuel Vadot compatible = "arm,armv8-timer"; 1497ef62cebSEmmanuel Vadot interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>, 1507ef62cebSEmmanuel Vadot <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>, 1517ef62cebSEmmanuel Vadot <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>, 1527ef62cebSEmmanuel Vadot <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>; 153c66ec88fSEmmanuel Vadot }; 154c66ec88fSEmmanuel Vadot 155c66ec88fSEmmanuel Vadot thermal-zones { 156c66ec88fSEmmanuel Vadot cpu-thermal { 157c66ec88fSEmmanuel Vadot polling-delay-passive = <250>; /* 250ms */ 158c66ec88fSEmmanuel Vadot polling-delay = <1000>; /* 1000ms */ 159c66ec88fSEmmanuel Vadot thermal-sensors = <&pvtctl>; 160c66ec88fSEmmanuel Vadot 161c66ec88fSEmmanuel Vadot trips { 162c66ec88fSEmmanuel Vadot cpu_crit: cpu-crit { 163c66ec88fSEmmanuel Vadot temperature = <110000>; /* 110C */ 164c66ec88fSEmmanuel Vadot hysteresis = <2000>; 165c66ec88fSEmmanuel Vadot type = "critical"; 166c66ec88fSEmmanuel Vadot }; 167c66ec88fSEmmanuel Vadot cpu_alert: cpu-alert { 168c66ec88fSEmmanuel Vadot temperature = <100000>; /* 100C */ 169c66ec88fSEmmanuel Vadot hysteresis = <2000>; 170c66ec88fSEmmanuel Vadot type = "passive"; 171c66ec88fSEmmanuel Vadot }; 172c66ec88fSEmmanuel Vadot }; 173c66ec88fSEmmanuel Vadot 174c66ec88fSEmmanuel Vadot cooling-maps { 175c66ec88fSEmmanuel Vadot map0 { 176c66ec88fSEmmanuel Vadot trip = <&cpu_alert>; 177c66ec88fSEmmanuel Vadot cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 178c66ec88fSEmmanuel Vadot <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 179c66ec88fSEmmanuel Vadot <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 180c66ec88fSEmmanuel Vadot <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 181c66ec88fSEmmanuel Vadot }; 182c66ec88fSEmmanuel Vadot }; 183c66ec88fSEmmanuel Vadot }; 184c66ec88fSEmmanuel Vadot }; 185c66ec88fSEmmanuel Vadot 186c66ec88fSEmmanuel Vadot reserved-memory { 187c66ec88fSEmmanuel Vadot #address-cells = <2>; 188c66ec88fSEmmanuel Vadot #size-cells = <2>; 189c66ec88fSEmmanuel Vadot ranges; 190c66ec88fSEmmanuel Vadot 191c66ec88fSEmmanuel Vadot secure-memory@81000000 { 192c66ec88fSEmmanuel Vadot reg = <0x0 0x81000000 0x0 0x01000000>; 193c66ec88fSEmmanuel Vadot no-map; 194c66ec88fSEmmanuel Vadot }; 195c66ec88fSEmmanuel Vadot }; 196c66ec88fSEmmanuel Vadot 197c66ec88fSEmmanuel Vadot soc@0 { 198c66ec88fSEmmanuel Vadot compatible = "simple-bus"; 199c66ec88fSEmmanuel Vadot #address-cells = <1>; 200c66ec88fSEmmanuel Vadot #size-cells = <1>; 201c66ec88fSEmmanuel Vadot ranges = <0 0 0 0xffffffff>; 202c66ec88fSEmmanuel Vadot 203c66ec88fSEmmanuel Vadot spi0: spi@54006000 { 204c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-scssi"; 205c66ec88fSEmmanuel Vadot status = "disabled"; 206c66ec88fSEmmanuel Vadot reg = <0x54006000 0x100>; 207c66ec88fSEmmanuel Vadot #address-cells = <1>; 208c66ec88fSEmmanuel Vadot #size-cells = <0>; 2097ef62cebSEmmanuel Vadot interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 210c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 211c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_spi0>; 212c66ec88fSEmmanuel Vadot clocks = <&peri_clk 11>; 213c66ec88fSEmmanuel Vadot resets = <&peri_rst 11>; 214c66ec88fSEmmanuel Vadot }; 215c66ec88fSEmmanuel Vadot 216c66ec88fSEmmanuel Vadot spi1: spi@54006100 { 217c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-scssi"; 218c66ec88fSEmmanuel Vadot status = "disabled"; 219c66ec88fSEmmanuel Vadot reg = <0x54006100 0x100>; 220c66ec88fSEmmanuel Vadot #address-cells = <1>; 221c66ec88fSEmmanuel Vadot #size-cells = <0>; 2227ef62cebSEmmanuel Vadot interrupts = <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>; 223c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 224c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_spi1>; 225c66ec88fSEmmanuel Vadot clocks = <&peri_clk 12>; 226c66ec88fSEmmanuel Vadot resets = <&peri_rst 12>; 227c66ec88fSEmmanuel Vadot }; 228c66ec88fSEmmanuel Vadot 229c66ec88fSEmmanuel Vadot serial0: serial@54006800 { 230c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-uart"; 231c66ec88fSEmmanuel Vadot status = "disabled"; 232c66ec88fSEmmanuel Vadot reg = <0x54006800 0x40>; 2337ef62cebSEmmanuel Vadot interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 234c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 235c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_uart0>; 236c66ec88fSEmmanuel Vadot clocks = <&peri_clk 0>; 237c66ec88fSEmmanuel Vadot resets = <&peri_rst 0>; 238c66ec88fSEmmanuel Vadot }; 239c66ec88fSEmmanuel Vadot 240c66ec88fSEmmanuel Vadot serial1: serial@54006900 { 241c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-uart"; 242c66ec88fSEmmanuel Vadot status = "disabled"; 243c66ec88fSEmmanuel Vadot reg = <0x54006900 0x40>; 2447ef62cebSEmmanuel Vadot interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 245c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 246c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_uart1>; 247c66ec88fSEmmanuel Vadot clocks = <&peri_clk 1>; 248c66ec88fSEmmanuel Vadot resets = <&peri_rst 1>; 249c66ec88fSEmmanuel Vadot }; 250c66ec88fSEmmanuel Vadot 251c66ec88fSEmmanuel Vadot serial2: serial@54006a00 { 252c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-uart"; 253c66ec88fSEmmanuel Vadot status = "disabled"; 254c66ec88fSEmmanuel Vadot reg = <0x54006a00 0x40>; 2557ef62cebSEmmanuel Vadot interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 256c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 257c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_uart2>; 258c66ec88fSEmmanuel Vadot clocks = <&peri_clk 2>; 259c66ec88fSEmmanuel Vadot resets = <&peri_rst 2>; 260c66ec88fSEmmanuel Vadot }; 261c66ec88fSEmmanuel Vadot 262c66ec88fSEmmanuel Vadot serial3: serial@54006b00 { 263c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-uart"; 264c66ec88fSEmmanuel Vadot status = "disabled"; 265c66ec88fSEmmanuel Vadot reg = <0x54006b00 0x40>; 2667ef62cebSEmmanuel Vadot interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>; 267c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 268c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_uart3>; 269c66ec88fSEmmanuel Vadot clocks = <&peri_clk 3>; 270c66ec88fSEmmanuel Vadot resets = <&peri_rst 3>; 271c66ec88fSEmmanuel Vadot }; 272c66ec88fSEmmanuel Vadot 273c66ec88fSEmmanuel Vadot gpio: gpio@55000000 { 274c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-gpio"; 275c66ec88fSEmmanuel Vadot reg = <0x55000000 0x200>; 276c66ec88fSEmmanuel Vadot interrupt-parent = <&aidet>; 277c66ec88fSEmmanuel Vadot interrupt-controller; 278c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 279c66ec88fSEmmanuel Vadot gpio-controller; 280c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 281c66ec88fSEmmanuel Vadot gpio-ranges = <&pinctrl 0 0 0>, 282c66ec88fSEmmanuel Vadot <&pinctrl 104 0 0>, 283c66ec88fSEmmanuel Vadot <&pinctrl 168 0 0>; 284c66ec88fSEmmanuel Vadot gpio-ranges-group-names = "gpio_range0", 285c66ec88fSEmmanuel Vadot "gpio_range1", 286c66ec88fSEmmanuel Vadot "gpio_range2"; 287c66ec88fSEmmanuel Vadot ngpios = <286>; 288c66ec88fSEmmanuel Vadot socionext,interrupt-ranges = <0 48 16>, <16 154 5>, 289c66ec88fSEmmanuel Vadot <21 217 3>; 290c66ec88fSEmmanuel Vadot }; 291c66ec88fSEmmanuel Vadot 292c66ec88fSEmmanuel Vadot i2c0: i2c@58780000 { 293c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-fi2c"; 294c66ec88fSEmmanuel Vadot status = "disabled"; 295c66ec88fSEmmanuel Vadot reg = <0x58780000 0x80>; 296c66ec88fSEmmanuel Vadot #address-cells = <1>; 297c66ec88fSEmmanuel Vadot #size-cells = <0>; 2987ef62cebSEmmanuel Vadot interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 299c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 300c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_i2c0>; 301c66ec88fSEmmanuel Vadot clocks = <&peri_clk 4>; 302c66ec88fSEmmanuel Vadot resets = <&peri_rst 4>; 303c66ec88fSEmmanuel Vadot clock-frequency = <100000>; 304c66ec88fSEmmanuel Vadot }; 305c66ec88fSEmmanuel Vadot 306c66ec88fSEmmanuel Vadot i2c1: i2c@58781000 { 307c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-fi2c"; 308c66ec88fSEmmanuel Vadot status = "disabled"; 309c66ec88fSEmmanuel Vadot reg = <0x58781000 0x80>; 310c66ec88fSEmmanuel Vadot #address-cells = <1>; 311c66ec88fSEmmanuel Vadot #size-cells = <0>; 3127ef62cebSEmmanuel Vadot interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 313c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 314c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_i2c1>; 315c66ec88fSEmmanuel Vadot clocks = <&peri_clk 5>; 316c66ec88fSEmmanuel Vadot resets = <&peri_rst 5>; 317c66ec88fSEmmanuel Vadot clock-frequency = <100000>; 318c66ec88fSEmmanuel Vadot }; 319c66ec88fSEmmanuel Vadot 320c66ec88fSEmmanuel Vadot i2c2: i2c@58782000 { 321c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-fi2c"; 322c66ec88fSEmmanuel Vadot status = "disabled"; 323c66ec88fSEmmanuel Vadot reg = <0x58782000 0x80>; 324c66ec88fSEmmanuel Vadot #address-cells = <1>; 325c66ec88fSEmmanuel Vadot #size-cells = <0>; 3267ef62cebSEmmanuel Vadot interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; 327c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 328c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_i2c2>; 329c66ec88fSEmmanuel Vadot clocks = <&peri_clk 6>; 330c66ec88fSEmmanuel Vadot resets = <&peri_rst 6>; 331c66ec88fSEmmanuel Vadot clock-frequency = <100000>; 332c66ec88fSEmmanuel Vadot }; 333c66ec88fSEmmanuel Vadot 334c66ec88fSEmmanuel Vadot i2c3: i2c@58783000 { 335c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-fi2c"; 336c66ec88fSEmmanuel Vadot status = "disabled"; 337c66ec88fSEmmanuel Vadot reg = <0x58783000 0x80>; 338c66ec88fSEmmanuel Vadot #address-cells = <1>; 339c66ec88fSEmmanuel Vadot #size-cells = <0>; 3407ef62cebSEmmanuel Vadot interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 341c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 342c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_i2c3>; 343c66ec88fSEmmanuel Vadot clocks = <&peri_clk 7>; 344c66ec88fSEmmanuel Vadot resets = <&peri_rst 7>; 345c66ec88fSEmmanuel Vadot clock-frequency = <100000>; 346c66ec88fSEmmanuel Vadot }; 347c66ec88fSEmmanuel Vadot 348c66ec88fSEmmanuel Vadot /* chip-internal connection for HDMI */ 349c66ec88fSEmmanuel Vadot i2c6: i2c@58786000 { 350c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-fi2c"; 351c66ec88fSEmmanuel Vadot reg = <0x58786000 0x80>; 352c66ec88fSEmmanuel Vadot #address-cells = <1>; 353c66ec88fSEmmanuel Vadot #size-cells = <0>; 3547ef62cebSEmmanuel Vadot interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 355c66ec88fSEmmanuel Vadot clocks = <&peri_clk 10>; 356c66ec88fSEmmanuel Vadot resets = <&peri_rst 10>; 357c66ec88fSEmmanuel Vadot clock-frequency = <400000>; 358c66ec88fSEmmanuel Vadot }; 359c66ec88fSEmmanuel Vadot 360c66ec88fSEmmanuel Vadot system_bus: system-bus@58c00000 { 361c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-system-bus"; 362c66ec88fSEmmanuel Vadot status = "disabled"; 363c66ec88fSEmmanuel Vadot reg = <0x58c00000 0x400>; 364c66ec88fSEmmanuel Vadot #address-cells = <2>; 365c66ec88fSEmmanuel Vadot #size-cells = <1>; 366c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 367c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_system_bus>; 368c66ec88fSEmmanuel Vadot }; 369c66ec88fSEmmanuel Vadot 370c66ec88fSEmmanuel Vadot smpctrl@59801000 { 371c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-smpctrl"; 372c66ec88fSEmmanuel Vadot reg = <0x59801000 0x400>; 373c66ec88fSEmmanuel Vadot }; 374c66ec88fSEmmanuel Vadot 375cb7aa33aSEmmanuel Vadot sdctrl: syscon@59810000 { 376c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-sdctrl", 377c66ec88fSEmmanuel Vadot "simple-mfd", "syscon"; 378c66ec88fSEmmanuel Vadot reg = <0x59810000 0x400>; 379c66ec88fSEmmanuel Vadot 380cb7aa33aSEmmanuel Vadot sd_clk: clock-controller { 381c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-sd-clock"; 382c66ec88fSEmmanuel Vadot #clock-cells = <1>; 383c66ec88fSEmmanuel Vadot }; 384c66ec88fSEmmanuel Vadot 385cb7aa33aSEmmanuel Vadot sd_rst: reset-controller { 386c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-sd-reset"; 387c66ec88fSEmmanuel Vadot #reset-cells = <1>; 388c66ec88fSEmmanuel Vadot }; 389c66ec88fSEmmanuel Vadot }; 390c66ec88fSEmmanuel Vadot 391cb7aa33aSEmmanuel Vadot syscon@59820000 { 392c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-perictrl", 393c66ec88fSEmmanuel Vadot "simple-mfd", "syscon"; 394c66ec88fSEmmanuel Vadot reg = <0x59820000 0x200>; 395c66ec88fSEmmanuel Vadot 396cb7aa33aSEmmanuel Vadot peri_clk: clock-controller { 397c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-peri-clock"; 398c66ec88fSEmmanuel Vadot #clock-cells = <1>; 399c66ec88fSEmmanuel Vadot }; 400c66ec88fSEmmanuel Vadot 401cb7aa33aSEmmanuel Vadot peri_rst: reset-controller { 402c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-peri-reset"; 403c66ec88fSEmmanuel Vadot #reset-cells = <1>; 404c66ec88fSEmmanuel Vadot }; 405c66ec88fSEmmanuel Vadot }; 406c66ec88fSEmmanuel Vadot 407c66ec88fSEmmanuel Vadot emmc: mmc@5a000000 { 408c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-sd4hc", "cdns,sd4hc"; 409c66ec88fSEmmanuel Vadot reg = <0x5a000000 0x400>; 4107ef62cebSEmmanuel Vadot interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 411c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 412c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_emmc>; 413c66ec88fSEmmanuel Vadot clocks = <&sys_clk 4>; 414c66ec88fSEmmanuel Vadot resets = <&sys_rst 4>; 415c66ec88fSEmmanuel Vadot bus-width = <8>; 416c66ec88fSEmmanuel Vadot mmc-ddr-1_8v; 417c66ec88fSEmmanuel Vadot mmc-hs200-1_8v; 418c66ec88fSEmmanuel Vadot mmc-pwrseq = <&emmc_pwrseq>; 419c66ec88fSEmmanuel Vadot cdns,phy-input-delay-legacy = <9>; 420c66ec88fSEmmanuel Vadot cdns,phy-input-delay-mmc-highspeed = <2>; 421c66ec88fSEmmanuel Vadot cdns,phy-input-delay-mmc-ddr = <3>; 422c66ec88fSEmmanuel Vadot cdns,phy-dll-delay-sdclk = <21>; 423c66ec88fSEmmanuel Vadot cdns,phy-dll-delay-sdclk-hsmmc = <21>; 424c66ec88fSEmmanuel Vadot }; 425c66ec88fSEmmanuel Vadot 426c66ec88fSEmmanuel Vadot sd: mmc@5a400000 { 427c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-sd-v3.1.1"; 428c66ec88fSEmmanuel Vadot status = "disabled"; 429c66ec88fSEmmanuel Vadot reg = <0x5a400000 0x800>; 4307ef62cebSEmmanuel Vadot interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 431c66ec88fSEmmanuel Vadot pinctrl-names = "default", "uhs"; 432c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_sd>; 433c66ec88fSEmmanuel Vadot pinctrl-1 = <&pinctrl_sd_uhs>; 434c66ec88fSEmmanuel Vadot clocks = <&sd_clk 0>; 435c66ec88fSEmmanuel Vadot reset-names = "host"; 436c66ec88fSEmmanuel Vadot resets = <&sd_rst 0>; 437c66ec88fSEmmanuel Vadot bus-width = <4>; 438c66ec88fSEmmanuel Vadot cap-sd-highspeed; 439c66ec88fSEmmanuel Vadot sd-uhs-sdr12; 440c66ec88fSEmmanuel Vadot sd-uhs-sdr25; 441c66ec88fSEmmanuel Vadot sd-uhs-sdr50; 442cb7aa33aSEmmanuel Vadot socionext,syscon-uhs-mode = <&sdctrl 0>; 443c66ec88fSEmmanuel Vadot }; 444c66ec88fSEmmanuel Vadot 445cb7aa33aSEmmanuel Vadot soc_glue: syscon@5f800000 { 446c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-soc-glue", 447c66ec88fSEmmanuel Vadot "simple-mfd", "syscon"; 448c66ec88fSEmmanuel Vadot reg = <0x5f800000 0x2000>; 449c66ec88fSEmmanuel Vadot 450c66ec88fSEmmanuel Vadot pinctrl: pinctrl { 451c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-pinctrl"; 452c66ec88fSEmmanuel Vadot }; 453c66ec88fSEmmanuel Vadot }; 454c66ec88fSEmmanuel Vadot 455cb7aa33aSEmmanuel Vadot syscon@5f900000 { 456c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-soc-glue-debug", 457cb7aa33aSEmmanuel Vadot "simple-mfd", "syscon"; 458cb7aa33aSEmmanuel Vadot reg = <0x5f900000 0x2000>; 459c66ec88fSEmmanuel Vadot #address-cells = <1>; 460c66ec88fSEmmanuel Vadot #size-cells = <1>; 461c66ec88fSEmmanuel Vadot ranges = <0 0x5f900000 0x2000>; 462c66ec88fSEmmanuel Vadot 463c66ec88fSEmmanuel Vadot efuse@100 { 464c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-efuse"; 465c66ec88fSEmmanuel Vadot reg = <0x100 0x28>; 466c66ec88fSEmmanuel Vadot }; 467c66ec88fSEmmanuel Vadot 468c66ec88fSEmmanuel Vadot efuse@200 { 469c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-efuse"; 470c66ec88fSEmmanuel Vadot reg = <0x200 0x68>; 471c66ec88fSEmmanuel Vadot #address-cells = <1>; 472c66ec88fSEmmanuel Vadot #size-cells = <1>; 473c66ec88fSEmmanuel Vadot 474c66ec88fSEmmanuel Vadot /* USB cells */ 475c66ec88fSEmmanuel Vadot usb_rterm0: trim@54,4 { 476c66ec88fSEmmanuel Vadot reg = <0x54 1>; 477c66ec88fSEmmanuel Vadot bits = <4 2>; 478c66ec88fSEmmanuel Vadot }; 479c66ec88fSEmmanuel Vadot usb_rterm1: trim@55,4 { 480c66ec88fSEmmanuel Vadot reg = <0x55 1>; 481c66ec88fSEmmanuel Vadot bits = <4 2>; 482c66ec88fSEmmanuel Vadot }; 483c66ec88fSEmmanuel Vadot usb_rterm2: trim@58,4 { 484c66ec88fSEmmanuel Vadot reg = <0x58 1>; 485c66ec88fSEmmanuel Vadot bits = <4 2>; 486c66ec88fSEmmanuel Vadot }; 487c66ec88fSEmmanuel Vadot usb_rterm3: trim@59,4 { 488c66ec88fSEmmanuel Vadot reg = <0x59 1>; 489c66ec88fSEmmanuel Vadot bits = <4 2>; 490c66ec88fSEmmanuel Vadot }; 491c66ec88fSEmmanuel Vadot usb_sel_t0: trim@54,0 { 492c66ec88fSEmmanuel Vadot reg = <0x54 1>; 493c66ec88fSEmmanuel Vadot bits = <0 4>; 494c66ec88fSEmmanuel Vadot }; 495c66ec88fSEmmanuel Vadot usb_sel_t1: trim@55,0 { 496c66ec88fSEmmanuel Vadot reg = <0x55 1>; 497c66ec88fSEmmanuel Vadot bits = <0 4>; 498c66ec88fSEmmanuel Vadot }; 499c66ec88fSEmmanuel Vadot usb_sel_t2: trim@58,0 { 500c66ec88fSEmmanuel Vadot reg = <0x58 1>; 501c66ec88fSEmmanuel Vadot bits = <0 4>; 502c66ec88fSEmmanuel Vadot }; 503c66ec88fSEmmanuel Vadot usb_sel_t3: trim@59,0 { 504c66ec88fSEmmanuel Vadot reg = <0x59 1>; 505c66ec88fSEmmanuel Vadot bits = <0 4>; 506c66ec88fSEmmanuel Vadot }; 507c66ec88fSEmmanuel Vadot usb_hs_i0: trim@56,0 { 508c66ec88fSEmmanuel Vadot reg = <0x56 1>; 509c66ec88fSEmmanuel Vadot bits = <0 4>; 510c66ec88fSEmmanuel Vadot }; 511c66ec88fSEmmanuel Vadot usb_hs_i2: trim@5a,0 { 512c66ec88fSEmmanuel Vadot reg = <0x5a 1>; 513c66ec88fSEmmanuel Vadot bits = <0 4>; 514c66ec88fSEmmanuel Vadot }; 515c66ec88fSEmmanuel Vadot }; 516c66ec88fSEmmanuel Vadot }; 517c66ec88fSEmmanuel Vadot 518c66ec88fSEmmanuel Vadot xdmac: dma-controller@5fc10000 { 519c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-xdmac"; 520c66ec88fSEmmanuel Vadot reg = <0x5fc10000 0x5300>; 5217ef62cebSEmmanuel Vadot interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; 522c66ec88fSEmmanuel Vadot dma-channels = <16>; 523c66ec88fSEmmanuel Vadot #dma-cells = <2>; 524c66ec88fSEmmanuel Vadot }; 525c66ec88fSEmmanuel Vadot 526c66ec88fSEmmanuel Vadot aidet: interrupt-controller@5fc20000 { 527c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-aidet"; 528c66ec88fSEmmanuel Vadot reg = <0x5fc20000 0x200>; 529c66ec88fSEmmanuel Vadot interrupt-controller; 530c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 531c66ec88fSEmmanuel Vadot }; 532c66ec88fSEmmanuel Vadot 533c66ec88fSEmmanuel Vadot gic: interrupt-controller@5fe00000 { 534c66ec88fSEmmanuel Vadot compatible = "arm,gic-v3"; 535c66ec88fSEmmanuel Vadot reg = <0x5fe00000 0x10000>, /* GICD */ 536c66ec88fSEmmanuel Vadot <0x5fe80000 0x80000>; /* GICR */ 537c66ec88fSEmmanuel Vadot interrupt-controller; 538c66ec88fSEmmanuel Vadot #interrupt-cells = <3>; 5397ef62cebSEmmanuel Vadot interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 540c66ec88fSEmmanuel Vadot }; 541c66ec88fSEmmanuel Vadot 542cb7aa33aSEmmanuel Vadot syscon@61840000 { 543c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-sysctrl", 544c66ec88fSEmmanuel Vadot "simple-mfd", "syscon"; 545c66ec88fSEmmanuel Vadot reg = <0x61840000 0x10000>; 546c66ec88fSEmmanuel Vadot 547cb7aa33aSEmmanuel Vadot sys_clk: clock-controller { 548c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-clock"; 549c66ec88fSEmmanuel Vadot #clock-cells = <1>; 550c66ec88fSEmmanuel Vadot }; 551c66ec88fSEmmanuel Vadot 552cb7aa33aSEmmanuel Vadot sys_rst: reset-controller { 553c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-reset"; 554c66ec88fSEmmanuel Vadot #reset-cells = <1>; 555c66ec88fSEmmanuel Vadot }; 556c66ec88fSEmmanuel Vadot 557c66ec88fSEmmanuel Vadot watchdog { 558c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-wdt"; 559c66ec88fSEmmanuel Vadot }; 560c66ec88fSEmmanuel Vadot 5617ef62cebSEmmanuel Vadot pvtctl: thermal-sensor { 562c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-thermal"; 5637ef62cebSEmmanuel Vadot interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 564c66ec88fSEmmanuel Vadot #thermal-sensor-cells = <0>; 565c66ec88fSEmmanuel Vadot socionext,tmod-calibration = <0x0f22 0x68ee>; 566c66ec88fSEmmanuel Vadot }; 567c66ec88fSEmmanuel Vadot }; 568c66ec88fSEmmanuel Vadot 569c66ec88fSEmmanuel Vadot eth0: ethernet@65000000 { 570c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-ave4"; 571c66ec88fSEmmanuel Vadot status = "disabled"; 572c66ec88fSEmmanuel Vadot reg = <0x65000000 0x8500>; 5737ef62cebSEmmanuel Vadot interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>; 574c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 575c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_ether_rgmii>; 576c66ec88fSEmmanuel Vadot clock-names = "ether"; 577c66ec88fSEmmanuel Vadot clocks = <&sys_clk 6>; 578c66ec88fSEmmanuel Vadot reset-names = "ether"; 579c66ec88fSEmmanuel Vadot resets = <&sys_rst 6>; 5802eb4d8dcSEmmanuel Vadot phy-mode = "rgmii-id"; 581c66ec88fSEmmanuel Vadot local-mac-address = [00 00 00 00 00 00]; 582c66ec88fSEmmanuel Vadot socionext,syscon-phy-mode = <&soc_glue 0>; 583c66ec88fSEmmanuel Vadot 584c66ec88fSEmmanuel Vadot mdio0: mdio { 585c66ec88fSEmmanuel Vadot #address-cells = <1>; 586c66ec88fSEmmanuel Vadot #size-cells = <0>; 587c66ec88fSEmmanuel Vadot }; 588c66ec88fSEmmanuel Vadot }; 589c66ec88fSEmmanuel Vadot 590c66ec88fSEmmanuel Vadot eth1: ethernet@65200000 { 591c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-ave4"; 592c66ec88fSEmmanuel Vadot status = "disabled"; 593c66ec88fSEmmanuel Vadot reg = <0x65200000 0x8500>; 5947ef62cebSEmmanuel Vadot interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 595c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 596c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_ether1_rgmii>; 597c66ec88fSEmmanuel Vadot clock-names = "ether"; 598c66ec88fSEmmanuel Vadot clocks = <&sys_clk 7>; 599c66ec88fSEmmanuel Vadot reset-names = "ether"; 600c66ec88fSEmmanuel Vadot resets = <&sys_rst 7>; 6012eb4d8dcSEmmanuel Vadot phy-mode = "rgmii-id"; 602c66ec88fSEmmanuel Vadot local-mac-address = [00 00 00 00 00 00]; 603c66ec88fSEmmanuel Vadot socionext,syscon-phy-mode = <&soc_glue 1>; 604c66ec88fSEmmanuel Vadot 605c66ec88fSEmmanuel Vadot mdio1: mdio { 606c66ec88fSEmmanuel Vadot #address-cells = <1>; 607c66ec88fSEmmanuel Vadot #size-cells = <0>; 608c66ec88fSEmmanuel Vadot }; 609c66ec88fSEmmanuel Vadot }; 610c66ec88fSEmmanuel Vadot 6117ef62cebSEmmanuel Vadot ahci0: sata@65600000 { 6127ef62cebSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-ahci", 6137ef62cebSEmmanuel Vadot "generic-ahci"; 6147ef62cebSEmmanuel Vadot status = "disabled"; 6157ef62cebSEmmanuel Vadot reg = <0x65600000 0x10000>; 6167ef62cebSEmmanuel Vadot interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>; 6177ef62cebSEmmanuel Vadot clocks = <&sys_clk 28>; 6187ef62cebSEmmanuel Vadot resets = <&sys_rst 28>, <&ahci0_rst 0>; 6197ef62cebSEmmanuel Vadot ports-implemented = <1>; 6207ef62cebSEmmanuel Vadot phys = <&ahci0_phy>; 6217ef62cebSEmmanuel Vadot }; 6227ef62cebSEmmanuel Vadot 6237ef62cebSEmmanuel Vadot sata-controller@65700000 { 6247ef62cebSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-ahci-glue", 6257ef62cebSEmmanuel Vadot "simple-mfd"; 626cb7aa33aSEmmanuel Vadot reg = <0x65700000 0x100>; 6277ef62cebSEmmanuel Vadot #address-cells = <1>; 6287ef62cebSEmmanuel Vadot #size-cells = <1>; 6297ef62cebSEmmanuel Vadot ranges = <0 0x65700000 0x100>; 6307ef62cebSEmmanuel Vadot 6317ef62cebSEmmanuel Vadot ahci0_rst: reset-controller@0 { 6327ef62cebSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-ahci-reset"; 6337ef62cebSEmmanuel Vadot reg = <0x0 0x4>; 6347ef62cebSEmmanuel Vadot clock-names = "link"; 6357ef62cebSEmmanuel Vadot clocks = <&sys_clk 28>; 6367ef62cebSEmmanuel Vadot reset-names = "link"; 6377ef62cebSEmmanuel Vadot resets = <&sys_rst 28>; 6387ef62cebSEmmanuel Vadot #reset-cells = <1>; 6397ef62cebSEmmanuel Vadot }; 6407ef62cebSEmmanuel Vadot 6417ef62cebSEmmanuel Vadot ahci0_phy: sata-phy@10 { 6427ef62cebSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-ahci-phy"; 6437ef62cebSEmmanuel Vadot reg = <0x10 0x10>; 6447ef62cebSEmmanuel Vadot clock-names = "link", "phy"; 6457ef62cebSEmmanuel Vadot clocks = <&sys_clk 28>, <&sys_clk 30>; 6467ef62cebSEmmanuel Vadot reset-names = "link", "phy"; 6477ef62cebSEmmanuel Vadot resets = <&sys_rst 28>, <&sys_rst 30>; 6487ef62cebSEmmanuel Vadot #phy-cells = <0>; 6497ef62cebSEmmanuel Vadot }; 6507ef62cebSEmmanuel Vadot }; 6517ef62cebSEmmanuel Vadot 6527ef62cebSEmmanuel Vadot ahci1: sata@65800000 { 6537ef62cebSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-ahci", 6547ef62cebSEmmanuel Vadot "generic-ahci"; 6557ef62cebSEmmanuel Vadot status = "disabled"; 6567ef62cebSEmmanuel Vadot reg = <0x65800000 0x10000>; 6577ef62cebSEmmanuel Vadot interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; 6587ef62cebSEmmanuel Vadot clocks = <&sys_clk 29>; 6597ef62cebSEmmanuel Vadot resets = <&sys_rst 29>, <&ahci1_rst 0>; 6607ef62cebSEmmanuel Vadot ports-implemented = <1>; 6617ef62cebSEmmanuel Vadot phys = <&ahci1_phy>; 6627ef62cebSEmmanuel Vadot }; 6637ef62cebSEmmanuel Vadot 6647ef62cebSEmmanuel Vadot sata-controller@65900000 { 6657ef62cebSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-ahci-glue", 6667ef62cebSEmmanuel Vadot "simple-mfd"; 667cb7aa33aSEmmanuel Vadot reg = <0x65900000 0x100>; 6687ef62cebSEmmanuel Vadot #address-cells = <1>; 6697ef62cebSEmmanuel Vadot #size-cells = <1>; 6707ef62cebSEmmanuel Vadot ranges = <0 0x65900000 0x100>; 6717ef62cebSEmmanuel Vadot 6727ef62cebSEmmanuel Vadot ahci1_rst: reset-controller@0 { 6737ef62cebSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-ahci-reset"; 6747ef62cebSEmmanuel Vadot reg = <0x0 0x4>; 6757ef62cebSEmmanuel Vadot clock-names = "link"; 6767ef62cebSEmmanuel Vadot clocks = <&sys_clk 29>; 6777ef62cebSEmmanuel Vadot reset-names = "link"; 6787ef62cebSEmmanuel Vadot resets = <&sys_rst 29>; 6797ef62cebSEmmanuel Vadot #reset-cells = <1>; 6807ef62cebSEmmanuel Vadot }; 6817ef62cebSEmmanuel Vadot 6827ef62cebSEmmanuel Vadot ahci1_phy: sata-phy@10 { 6837ef62cebSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-ahci-phy"; 6847ef62cebSEmmanuel Vadot reg = <0x10 0x10>; 6857ef62cebSEmmanuel Vadot clock-names = "link", "phy"; 6867ef62cebSEmmanuel Vadot clocks = <&sys_clk 29>, <&sys_clk 30>; 6877ef62cebSEmmanuel Vadot reset-names = "link", "phy"; 6887ef62cebSEmmanuel Vadot resets = <&sys_rst 29>, <&sys_rst 30>; 6897ef62cebSEmmanuel Vadot #phy-cells = <0>; 6907ef62cebSEmmanuel Vadot }; 6917ef62cebSEmmanuel Vadot }; 6927ef62cebSEmmanuel Vadot 693c66ec88fSEmmanuel Vadot usb0: usb@65a00000 { 694c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-dwc3", "snps,dwc3"; 695c66ec88fSEmmanuel Vadot status = "disabled"; 696c66ec88fSEmmanuel Vadot reg = <0x65a00000 0xcd00>; 697b97ee269SEmmanuel Vadot interrupt-names = "dwc_usb3"; 6987ef62cebSEmmanuel Vadot interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>; 699c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 700c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_usb0>, <&pinctrl_usb2>; 701c66ec88fSEmmanuel Vadot clock-names = "ref", "bus_early", "suspend"; 702c66ec88fSEmmanuel Vadot clocks = <&sys_clk 12>, <&sys_clk 12>, <&sys_clk 12>; 703c66ec88fSEmmanuel Vadot resets = <&usb0_rst 15>; 704c66ec88fSEmmanuel Vadot phys = <&usb0_hsphy0>, <&usb0_hsphy1>, 705c66ec88fSEmmanuel Vadot <&usb0_ssphy0>, <&usb0_ssphy1>; 706c66ec88fSEmmanuel Vadot dr_mode = "host"; 707c66ec88fSEmmanuel Vadot }; 708c66ec88fSEmmanuel Vadot 7097ef62cebSEmmanuel Vadot usb-controller@65b00000 { 710c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-dwc3-glue", 711c66ec88fSEmmanuel Vadot "simple-mfd"; 712cb7aa33aSEmmanuel Vadot reg = <0x65b00000 0x400>; 713c66ec88fSEmmanuel Vadot #address-cells = <1>; 714c66ec88fSEmmanuel Vadot #size-cells = <1>; 715c66ec88fSEmmanuel Vadot ranges = <0 0x65b00000 0x400>; 716c66ec88fSEmmanuel Vadot 717cb7aa33aSEmmanuel Vadot usb0_rst: reset-controller@0 { 718c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-usb3-reset"; 719c66ec88fSEmmanuel Vadot reg = <0x0 0x4>; 720c66ec88fSEmmanuel Vadot #reset-cells = <1>; 721c66ec88fSEmmanuel Vadot clock-names = "link"; 722c66ec88fSEmmanuel Vadot clocks = <&sys_clk 12>; 723c66ec88fSEmmanuel Vadot reset-names = "link"; 724c66ec88fSEmmanuel Vadot resets = <&sys_rst 12>; 725c66ec88fSEmmanuel Vadot }; 726c66ec88fSEmmanuel Vadot 727c66ec88fSEmmanuel Vadot usb0_vbus0: regulator@100 { 728c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-usb3-regulator"; 729c66ec88fSEmmanuel Vadot reg = <0x100 0x10>; 730c66ec88fSEmmanuel Vadot clock-names = "link"; 731c66ec88fSEmmanuel Vadot clocks = <&sys_clk 12>; 732c66ec88fSEmmanuel Vadot reset-names = "link"; 733c66ec88fSEmmanuel Vadot resets = <&sys_rst 12>; 734c66ec88fSEmmanuel Vadot }; 735c66ec88fSEmmanuel Vadot 736c66ec88fSEmmanuel Vadot usb0_vbus1: regulator@110 { 737c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-usb3-regulator"; 738c66ec88fSEmmanuel Vadot reg = <0x110 0x10>; 739c66ec88fSEmmanuel Vadot clock-names = "link"; 740c66ec88fSEmmanuel Vadot clocks = <&sys_clk 12>; 741c66ec88fSEmmanuel Vadot reset-names = "link"; 742c66ec88fSEmmanuel Vadot resets = <&sys_rst 12>; 743c66ec88fSEmmanuel Vadot }; 744c66ec88fSEmmanuel Vadot 745cb7aa33aSEmmanuel Vadot usb0_hsphy0: phy@200 { 746c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-usb3-hsphy"; 747c66ec88fSEmmanuel Vadot reg = <0x200 0x10>; 748c66ec88fSEmmanuel Vadot #phy-cells = <0>; 749c66ec88fSEmmanuel Vadot clock-names = "link", "phy"; 750c66ec88fSEmmanuel Vadot clocks = <&sys_clk 12>, <&sys_clk 16>; 751c66ec88fSEmmanuel Vadot reset-names = "link", "phy"; 752c66ec88fSEmmanuel Vadot resets = <&sys_rst 12>, <&sys_rst 16>; 753c66ec88fSEmmanuel Vadot vbus-supply = <&usb0_vbus0>; 754c66ec88fSEmmanuel Vadot nvmem-cell-names = "rterm", "sel_t", "hs_i"; 755c66ec88fSEmmanuel Vadot nvmem-cells = <&usb_rterm0>, <&usb_sel_t0>, 756c66ec88fSEmmanuel Vadot <&usb_hs_i0>; 757c66ec88fSEmmanuel Vadot }; 758c66ec88fSEmmanuel Vadot 759cb7aa33aSEmmanuel Vadot usb0_hsphy1: phy@210 { 760c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-usb3-hsphy"; 761c66ec88fSEmmanuel Vadot reg = <0x210 0x10>; 762c66ec88fSEmmanuel Vadot #phy-cells = <0>; 763c66ec88fSEmmanuel Vadot clock-names = "link", "phy"; 764c66ec88fSEmmanuel Vadot clocks = <&sys_clk 12>, <&sys_clk 16>; 765c66ec88fSEmmanuel Vadot reset-names = "link", "phy"; 766c66ec88fSEmmanuel Vadot resets = <&sys_rst 12>, <&sys_rst 16>; 767c66ec88fSEmmanuel Vadot vbus-supply = <&usb0_vbus1>; 768c66ec88fSEmmanuel Vadot nvmem-cell-names = "rterm", "sel_t", "hs_i"; 769c66ec88fSEmmanuel Vadot nvmem-cells = <&usb_rterm1>, <&usb_sel_t1>, 770c66ec88fSEmmanuel Vadot <&usb_hs_i0>; 771c66ec88fSEmmanuel Vadot }; 772c66ec88fSEmmanuel Vadot 773cb7aa33aSEmmanuel Vadot usb0_ssphy0: phy@300 { 774c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-usb3-ssphy"; 775c66ec88fSEmmanuel Vadot reg = <0x300 0x10>; 776c66ec88fSEmmanuel Vadot #phy-cells = <0>; 777c66ec88fSEmmanuel Vadot clock-names = "link", "phy"; 778c66ec88fSEmmanuel Vadot clocks = <&sys_clk 12>, <&sys_clk 17>; 779c66ec88fSEmmanuel Vadot reset-names = "link", "phy"; 780c66ec88fSEmmanuel Vadot resets = <&sys_rst 12>, <&sys_rst 17>; 781c66ec88fSEmmanuel Vadot vbus-supply = <&usb0_vbus0>; 782c66ec88fSEmmanuel Vadot }; 783c66ec88fSEmmanuel Vadot 784cb7aa33aSEmmanuel Vadot usb0_ssphy1: phy@310 { 785c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-usb3-ssphy"; 786c66ec88fSEmmanuel Vadot reg = <0x310 0x10>; 787c66ec88fSEmmanuel Vadot #phy-cells = <0>; 788c66ec88fSEmmanuel Vadot clock-names = "link", "phy"; 789c66ec88fSEmmanuel Vadot clocks = <&sys_clk 12>, <&sys_clk 18>; 790c66ec88fSEmmanuel Vadot reset-names = "link", "phy"; 791c66ec88fSEmmanuel Vadot resets = <&sys_rst 12>, <&sys_rst 18>; 792c66ec88fSEmmanuel Vadot vbus-supply = <&usb0_vbus1>; 793c66ec88fSEmmanuel Vadot }; 794c66ec88fSEmmanuel Vadot }; 795c66ec88fSEmmanuel Vadot 796c66ec88fSEmmanuel Vadot usb1: usb@65c00000 { 797c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-dwc3", "snps,dwc3"; 798c66ec88fSEmmanuel Vadot status = "disabled"; 799c66ec88fSEmmanuel Vadot reg = <0x65c00000 0xcd00>; 800b97ee269SEmmanuel Vadot interrupt-names = "dwc_usb3"; 8017ef62cebSEmmanuel Vadot interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>; 802c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 803c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_usb1>, <&pinctrl_usb3>; 804c66ec88fSEmmanuel Vadot clock-names = "ref", "bus_early", "suspend"; 805c66ec88fSEmmanuel Vadot clocks = <&sys_clk 13>, <&sys_clk 13>, <&sys_clk 13>; 806c66ec88fSEmmanuel Vadot resets = <&usb1_rst 15>; 807c66ec88fSEmmanuel Vadot phys = <&usb1_hsphy0>, <&usb1_hsphy1>, 808c66ec88fSEmmanuel Vadot <&usb1_ssphy0>; 809c66ec88fSEmmanuel Vadot dr_mode = "host"; 810c66ec88fSEmmanuel Vadot }; 811c66ec88fSEmmanuel Vadot 8127ef62cebSEmmanuel Vadot usb-controller@65d00000 { 813c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-dwc3-glue", 814c66ec88fSEmmanuel Vadot "simple-mfd"; 815cb7aa33aSEmmanuel Vadot reg = <0x65d00000 0x400>; 816c66ec88fSEmmanuel Vadot #address-cells = <1>; 817c66ec88fSEmmanuel Vadot #size-cells = <1>; 818c66ec88fSEmmanuel Vadot ranges = <0 0x65d00000 0x400>; 819c66ec88fSEmmanuel Vadot 820cb7aa33aSEmmanuel Vadot usb1_rst: reset-controller@0 { 821c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-usb3-reset"; 822c66ec88fSEmmanuel Vadot reg = <0x0 0x4>; 823c66ec88fSEmmanuel Vadot #reset-cells = <1>; 824c66ec88fSEmmanuel Vadot clock-names = "link"; 825c66ec88fSEmmanuel Vadot clocks = <&sys_clk 13>; 826c66ec88fSEmmanuel Vadot reset-names = "link"; 827c66ec88fSEmmanuel Vadot resets = <&sys_rst 13>; 828c66ec88fSEmmanuel Vadot }; 829c66ec88fSEmmanuel Vadot 830c66ec88fSEmmanuel Vadot usb1_vbus0: regulator@100 { 831c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-usb3-regulator"; 832c66ec88fSEmmanuel Vadot reg = <0x100 0x10>; 833c66ec88fSEmmanuel Vadot clock-names = "link"; 834c66ec88fSEmmanuel Vadot clocks = <&sys_clk 13>; 835c66ec88fSEmmanuel Vadot reset-names = "link"; 836c66ec88fSEmmanuel Vadot resets = <&sys_rst 13>; 837c66ec88fSEmmanuel Vadot }; 838c66ec88fSEmmanuel Vadot 839c66ec88fSEmmanuel Vadot usb1_vbus1: regulator@110 { 840c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-usb3-regulator"; 841c66ec88fSEmmanuel Vadot reg = <0x110 0x10>; 842c66ec88fSEmmanuel Vadot clock-names = "link"; 843c66ec88fSEmmanuel Vadot clocks = <&sys_clk 13>; 844c66ec88fSEmmanuel Vadot reset-names = "link"; 845c66ec88fSEmmanuel Vadot resets = <&sys_rst 13>; 846c66ec88fSEmmanuel Vadot }; 847c66ec88fSEmmanuel Vadot 848cb7aa33aSEmmanuel Vadot usb1_hsphy0: phy@200 { 849c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-usb3-hsphy"; 850c66ec88fSEmmanuel Vadot reg = <0x200 0x10>; 851c66ec88fSEmmanuel Vadot #phy-cells = <0>; 852c66ec88fSEmmanuel Vadot clock-names = "link", "phy", "phy-ext"; 853c66ec88fSEmmanuel Vadot clocks = <&sys_clk 13>, <&sys_clk 20>, 854c66ec88fSEmmanuel Vadot <&sys_clk 14>; 855c66ec88fSEmmanuel Vadot reset-names = "link", "phy"; 856c66ec88fSEmmanuel Vadot resets = <&sys_rst 13>, <&sys_rst 20>; 857c66ec88fSEmmanuel Vadot vbus-supply = <&usb1_vbus0>; 858c66ec88fSEmmanuel Vadot nvmem-cell-names = "rterm", "sel_t", "hs_i"; 859c66ec88fSEmmanuel Vadot nvmem-cells = <&usb_rterm2>, <&usb_sel_t2>, 860c66ec88fSEmmanuel Vadot <&usb_hs_i2>; 861c66ec88fSEmmanuel Vadot }; 862c66ec88fSEmmanuel Vadot 863cb7aa33aSEmmanuel Vadot usb1_hsphy1: phy@210 { 864c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-usb3-hsphy"; 865c66ec88fSEmmanuel Vadot reg = <0x210 0x10>; 866c66ec88fSEmmanuel Vadot #phy-cells = <0>; 867c66ec88fSEmmanuel Vadot clock-names = "link", "phy", "phy-ext"; 868c66ec88fSEmmanuel Vadot clocks = <&sys_clk 13>, <&sys_clk 20>, 869c66ec88fSEmmanuel Vadot <&sys_clk 14>; 870c66ec88fSEmmanuel Vadot reset-names = "link", "phy"; 871c66ec88fSEmmanuel Vadot resets = <&sys_rst 13>, <&sys_rst 20>; 872c66ec88fSEmmanuel Vadot vbus-supply = <&usb1_vbus1>; 873c66ec88fSEmmanuel Vadot nvmem-cell-names = "rterm", "sel_t", "hs_i"; 874c66ec88fSEmmanuel Vadot nvmem-cells = <&usb_rterm3>, <&usb_sel_t3>, 875c66ec88fSEmmanuel Vadot <&usb_hs_i2>; 876c66ec88fSEmmanuel Vadot }; 877c66ec88fSEmmanuel Vadot 878cb7aa33aSEmmanuel Vadot usb1_ssphy0: phy@300 { 879c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-usb3-ssphy"; 880c66ec88fSEmmanuel Vadot reg = <0x300 0x10>; 881c66ec88fSEmmanuel Vadot #phy-cells = <0>; 882c66ec88fSEmmanuel Vadot clock-names = "link", "phy", "phy-ext"; 883c66ec88fSEmmanuel Vadot clocks = <&sys_clk 13>, <&sys_clk 21>, 884c66ec88fSEmmanuel Vadot <&sys_clk 14>; 885c66ec88fSEmmanuel Vadot reset-names = "link", "phy"; 886c66ec88fSEmmanuel Vadot resets = <&sys_rst 13>, <&sys_rst 21>; 887c66ec88fSEmmanuel Vadot vbus-supply = <&usb1_vbus0>; 888c66ec88fSEmmanuel Vadot }; 889c66ec88fSEmmanuel Vadot }; 890c66ec88fSEmmanuel Vadot 891c66ec88fSEmmanuel Vadot pcie: pcie@66000000 { 8927ef62cebSEmmanuel Vadot compatible = "socionext,uniphier-pcie"; 893c66ec88fSEmmanuel Vadot status = "disabled"; 894c66ec88fSEmmanuel Vadot reg-names = "dbi", "link", "config"; 895c66ec88fSEmmanuel Vadot reg = <0x66000000 0x1000>, <0x66010000 0x10000>, 896c66ec88fSEmmanuel Vadot <0x2fff0000 0x10000>; 897c66ec88fSEmmanuel Vadot #address-cells = <3>; 898c66ec88fSEmmanuel Vadot #size-cells = <2>; 899c66ec88fSEmmanuel Vadot clocks = <&sys_clk 24>; 900c66ec88fSEmmanuel Vadot resets = <&sys_rst 24>; 901c66ec88fSEmmanuel Vadot num-lanes = <1>; 902c66ec88fSEmmanuel Vadot num-viewport = <1>; 903c66ec88fSEmmanuel Vadot bus-range = <0x0 0xff>; 904c66ec88fSEmmanuel Vadot device_type = "pci"; 905c66ec88fSEmmanuel Vadot ranges = 906c66ec88fSEmmanuel Vadot /* downstream I/O */ 907c66ec88fSEmmanuel Vadot <0x81000000 0 0x00000000 0x2ffe0000 0 0x00010000>, 908c66ec88fSEmmanuel Vadot /* non-prefetchable memory */ 909c66ec88fSEmmanuel Vadot <0x82000000 0 0x20000000 0x20000000 0 0x0ffe0000>; 910c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 911c66ec88fSEmmanuel Vadot interrupt-names = "dma", "msi"; 9127ef62cebSEmmanuel Vadot interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>, 9137ef62cebSEmmanuel Vadot <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>; 914c66ec88fSEmmanuel Vadot interrupt-map-mask = <0 0 0 7>; 915c66ec88fSEmmanuel Vadot interrupt-map = <0 0 0 1 &pcie_intc 0>, /* INTA */ 916c66ec88fSEmmanuel Vadot <0 0 0 2 &pcie_intc 1>, /* INTB */ 917c66ec88fSEmmanuel Vadot <0 0 0 3 &pcie_intc 2>, /* INTC */ 918c66ec88fSEmmanuel Vadot <0 0 0 4 &pcie_intc 3>; /* INTD */ 919c66ec88fSEmmanuel Vadot phy-names = "pcie-phy"; 920c66ec88fSEmmanuel Vadot phys = <&pcie_phy>; 921c66ec88fSEmmanuel Vadot 922c66ec88fSEmmanuel Vadot pcie_intc: legacy-interrupt-controller { 923c66ec88fSEmmanuel Vadot interrupt-controller; 924c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 925c66ec88fSEmmanuel Vadot interrupt-parent = <&gic>; 9267ef62cebSEmmanuel Vadot interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>; 927c66ec88fSEmmanuel Vadot }; 928c66ec88fSEmmanuel Vadot }; 929c66ec88fSEmmanuel Vadot 930c66ec88fSEmmanuel Vadot pcie_phy: phy@66038000 { 931c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-pxs3-pcie-phy"; 932c66ec88fSEmmanuel Vadot reg = <0x66038000 0x4000>; 933c66ec88fSEmmanuel Vadot #phy-cells = <0>; 934c66ec88fSEmmanuel Vadot clock-names = "link"; 935c66ec88fSEmmanuel Vadot clocks = <&sys_clk 24>; 936c66ec88fSEmmanuel Vadot reset-names = "link"; 937c66ec88fSEmmanuel Vadot resets = <&sys_rst 24>; 938c66ec88fSEmmanuel Vadot socionext,syscon = <&soc_glue>; 939c66ec88fSEmmanuel Vadot }; 940c66ec88fSEmmanuel Vadot 941c66ec88fSEmmanuel Vadot nand: nand-controller@68000000 { 942c66ec88fSEmmanuel Vadot compatible = "socionext,uniphier-denali-nand-v5b"; 943c66ec88fSEmmanuel Vadot status = "disabled"; 944c66ec88fSEmmanuel Vadot reg-names = "nand_data", "denali_reg"; 945c66ec88fSEmmanuel Vadot reg = <0x68000000 0x20>, <0x68100000 0x1000>; 946c66ec88fSEmmanuel Vadot #address-cells = <1>; 947c66ec88fSEmmanuel Vadot #size-cells = <0>; 9487ef62cebSEmmanuel Vadot interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 949c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 950c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_nand>; 951c66ec88fSEmmanuel Vadot clock-names = "nand", "nand_x", "ecc"; 952c66ec88fSEmmanuel Vadot clocks = <&sys_clk 2>, <&sys_clk 3>, <&sys_clk 3>; 953c66ec88fSEmmanuel Vadot reset-names = "nand", "reg"; 954c66ec88fSEmmanuel Vadot resets = <&sys_rst 2>, <&sys_rst 2>; 955c66ec88fSEmmanuel Vadot }; 956c66ec88fSEmmanuel Vadot }; 957c66ec88fSEmmanuel Vadot}; 958c66ec88fSEmmanuel Vadot 959c66ec88fSEmmanuel Vadot#include "uniphier-pinctrl.dtsi" 960