1724ba675SRob Herring/* 2724ba675SRob Herring * Copyright 2017 Chen-Yu Tsai <wens@csie.org> 3724ba675SRob Herring * Copyright 2017 Icenowy Zheng <icenowy@aosc.io> 4724ba675SRob Herring * 5724ba675SRob Herring * This file is dual-licensed: you can use it either under the terms 6724ba675SRob Herring * of the GPL or the X11 license, at your option. Note that this dual 7724ba675SRob Herring * licensing only applies to this file, and not this project as a 8724ba675SRob Herring * whole. 9724ba675SRob Herring * 10724ba675SRob Herring * a) This file is free software; you can redistribute it and/or 11724ba675SRob Herring * modify it under the terms of the GNU General Public License as 12724ba675SRob Herring * published by the Free Software Foundation; either version 2 of the 13724ba675SRob Herring * License, or (at your option) any later version. 14724ba675SRob Herring * 15724ba675SRob Herring * This file is distributed in the hope that it will be useful, 16724ba675SRob Herring * but WITHOUT ANY WARRANTY; without even the implied warranty of 17724ba675SRob Herring * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18724ba675SRob Herring * GNU General Public License for more details. 19724ba675SRob Herring * 20724ba675SRob Herring * Or, alternatively, 21724ba675SRob Herring * 22724ba675SRob Herring * b) Permission is hereby granted, free of charge, to any person 23724ba675SRob Herring * obtaining a copy of this software and associated documentation 24724ba675SRob Herring * files (the "Software"), to deal in the Software without 25724ba675SRob Herring * restriction, including without limitation the rights to use, 26724ba675SRob Herring * copy, modify, merge, publish, distribute, sublicense, and/or 27724ba675SRob Herring * sell copies of the Software, and to permit persons to whom the 28724ba675SRob Herring * Software is furnished to do so, subject to the following 29724ba675SRob Herring * conditions: 30724ba675SRob Herring * 31724ba675SRob Herring * The above copyright notice and this permission notice shall be 32724ba675SRob Herring * included in all copies or substantial portions of the Software. 33724ba675SRob Herring * 34724ba675SRob Herring * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 35724ba675SRob Herring * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 36724ba675SRob Herring * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 37724ba675SRob Herring * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 38724ba675SRob Herring * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 39724ba675SRob Herring * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 40724ba675SRob Herring * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 41724ba675SRob Herring * OTHER DEALINGS IN THE SOFTWARE. 42724ba675SRob Herring */ 43724ba675SRob Herring 44724ba675SRob Herring#include <dt-bindings/interrupt-controller/arm-gic.h> 45724ba675SRob Herring#include <dt-bindings/clock/sun6i-rtc.h> 46724ba675SRob Herring#include <dt-bindings/clock/sun8i-de2.h> 47724ba675SRob Herring#include <dt-bindings/clock/sun8i-r40-ccu.h> 48724ba675SRob Herring#include <dt-bindings/clock/sun8i-tcon-top.h> 49724ba675SRob Herring#include <dt-bindings/reset/sun8i-r40-ccu.h> 50724ba675SRob Herring#include <dt-bindings/reset/sun8i-de2.h> 51724ba675SRob Herring#include <dt-bindings/thermal/thermal.h> 52724ba675SRob Herring 53724ba675SRob Herring/ { 54724ba675SRob Herring #address-cells = <1>; 55724ba675SRob Herring #size-cells = <1>; 56724ba675SRob Herring interrupt-parent = <&gic>; 57724ba675SRob Herring 58724ba675SRob Herring clocks { 59724ba675SRob Herring #address-cells = <1>; 60724ba675SRob Herring #size-cells = <1>; 61724ba675SRob Herring ranges; 62724ba675SRob Herring 63724ba675SRob Herring osc24M: osc24M { 64724ba675SRob Herring #clock-cells = <0>; 65724ba675SRob Herring compatible = "fixed-clock"; 66724ba675SRob Herring clock-frequency = <24000000>; 67724ba675SRob Herring clock-accuracy = <50000>; 68724ba675SRob Herring clock-output-names = "osc24M"; 69724ba675SRob Herring }; 70724ba675SRob Herring 71724ba675SRob Herring osc32k: osc32k { 72724ba675SRob Herring #clock-cells = <0>; 73724ba675SRob Herring compatible = "fixed-clock"; 74724ba675SRob Herring clock-frequency = <32768>; 75724ba675SRob Herring clock-accuracy = <20000>; 76724ba675SRob Herring clock-output-names = "ext-osc32k"; 77724ba675SRob Herring }; 78724ba675SRob Herring }; 79724ba675SRob Herring 80724ba675SRob Herring cpus { 81724ba675SRob Herring #address-cells = <1>; 82724ba675SRob Herring #size-cells = <0>; 83724ba675SRob Herring 84724ba675SRob Herring cpu0: cpu@0 { 85724ba675SRob Herring compatible = "arm,cortex-a7"; 86724ba675SRob Herring device_type = "cpu"; 87724ba675SRob Herring reg = <0>; 88724ba675SRob Herring clocks = <&ccu CLK_CPU>; 89724ba675SRob Herring clock-names = "cpu"; 90724ba675SRob Herring #cooling-cells = <2>; 91724ba675SRob Herring }; 92724ba675SRob Herring 93724ba675SRob Herring cpu1: cpu@1 { 94724ba675SRob Herring compatible = "arm,cortex-a7"; 95724ba675SRob Herring device_type = "cpu"; 96724ba675SRob Herring reg = <1>; 97724ba675SRob Herring clocks = <&ccu CLK_CPU>; 98724ba675SRob Herring clock-names = "cpu"; 99724ba675SRob Herring #cooling-cells = <2>; 100724ba675SRob Herring }; 101724ba675SRob Herring 102724ba675SRob Herring cpu2: cpu@2 { 103724ba675SRob Herring compatible = "arm,cortex-a7"; 104724ba675SRob Herring device_type = "cpu"; 105724ba675SRob Herring reg = <2>; 106724ba675SRob Herring clocks = <&ccu CLK_CPU>; 107724ba675SRob Herring clock-names = "cpu"; 108724ba675SRob Herring #cooling-cells = <2>; 109724ba675SRob Herring }; 110724ba675SRob Herring 111724ba675SRob Herring cpu3: cpu@3 { 112724ba675SRob Herring compatible = "arm,cortex-a7"; 113724ba675SRob Herring device_type = "cpu"; 114724ba675SRob Herring reg = <3>; 115724ba675SRob Herring clocks = <&ccu CLK_CPU>; 116724ba675SRob Herring clock-names = "cpu"; 117724ba675SRob Herring #cooling-cells = <2>; 118724ba675SRob Herring }; 119724ba675SRob Herring }; 120724ba675SRob Herring 121724ba675SRob Herring de: display-engine { 122724ba675SRob Herring compatible = "allwinner,sun8i-r40-display-engine"; 123724ba675SRob Herring allwinner,pipelines = <&mixer0>, <&mixer1>; 124724ba675SRob Herring status = "disabled"; 125724ba675SRob Herring }; 126724ba675SRob Herring 127724ba675SRob Herring thermal-zones { 128724ba675SRob Herring cpu_thermal: cpu0-thermal { 129724ba675SRob Herring /* milliseconds */ 130724ba675SRob Herring polling-delay-passive = <0>; 131724ba675SRob Herring polling-delay = <0>; 132724ba675SRob Herring thermal-sensors = <&ths 0>; 133724ba675SRob Herring 134724ba675SRob Herring trips { 135724ba675SRob Herring cpu_hot_trip: cpu-hot { 136724ba675SRob Herring temperature = <80000>; 137724ba675SRob Herring hysteresis = <2000>; 138724ba675SRob Herring type = "passive"; 139724ba675SRob Herring }; 140724ba675SRob Herring 141724ba675SRob Herring cpu_very_hot_trip: cpu-very-hot { 142724ba675SRob Herring temperature = <115000>; 143724ba675SRob Herring hysteresis = <0>; 144724ba675SRob Herring type = "critical"; 145724ba675SRob Herring }; 146724ba675SRob Herring }; 147724ba675SRob Herring 148724ba675SRob Herring cooling-maps { 149724ba675SRob Herring cpu-hot-limit { 150724ba675SRob Herring trip = <&cpu_hot_trip>; 151724ba675SRob Herring cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 152724ba675SRob Herring <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 153724ba675SRob Herring <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 154724ba675SRob Herring <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 155724ba675SRob Herring }; 156724ba675SRob Herring }; 157724ba675SRob Herring }; 158724ba675SRob Herring 159724ba675SRob Herring gpu_thermal: gpu-thermal { 160724ba675SRob Herring /* milliseconds */ 161724ba675SRob Herring polling-delay-passive = <0>; 162724ba675SRob Herring polling-delay = <0>; 163724ba675SRob Herring thermal-sensors = <&ths 1>; 164724ba675SRob Herring }; 165724ba675SRob Herring }; 166724ba675SRob Herring 167724ba675SRob Herring soc { 168724ba675SRob Herring compatible = "simple-bus"; 169724ba675SRob Herring #address-cells = <1>; 170724ba675SRob Herring #size-cells = <1>; 171724ba675SRob Herring ranges; 172724ba675SRob Herring 173724ba675SRob Herring display_clocks: clock@1000000 { 174724ba675SRob Herring compatible = "allwinner,sun8i-r40-de2-clk", 175724ba675SRob Herring "allwinner,sun8i-h3-de2-clk"; 176724ba675SRob Herring reg = <0x01000000 0x10000>; 177724ba675SRob Herring clocks = <&ccu CLK_BUS_DE>, 178724ba675SRob Herring <&ccu CLK_DE>; 179724ba675SRob Herring clock-names = "bus", 180724ba675SRob Herring "mod"; 181724ba675SRob Herring resets = <&ccu RST_BUS_DE>; 182724ba675SRob Herring #clock-cells = <1>; 183724ba675SRob Herring #reset-cells = <1>; 184724ba675SRob Herring }; 185724ba675SRob Herring 186724ba675SRob Herring mixer0: mixer@1100000 { 187724ba675SRob Herring compatible = "allwinner,sun8i-r40-de2-mixer-0"; 188724ba675SRob Herring reg = <0x01100000 0x100000>; 189724ba675SRob Herring clocks = <&display_clocks CLK_BUS_MIXER0>, 190724ba675SRob Herring <&display_clocks CLK_MIXER0>; 191724ba675SRob Herring clock-names = "bus", 192724ba675SRob Herring "mod"; 193724ba675SRob Herring resets = <&display_clocks RST_MIXER0>; 194724ba675SRob Herring 195724ba675SRob Herring ports { 196724ba675SRob Herring #address-cells = <1>; 197724ba675SRob Herring #size-cells = <0>; 198724ba675SRob Herring 199724ba675SRob Herring mixer0_out: port@1 { 200724ba675SRob Herring reg = <1>; 201724ba675SRob Herring mixer0_out_tcon_top: endpoint { 202724ba675SRob Herring remote-endpoint = <&tcon_top_mixer0_in_mixer0>; 203724ba675SRob Herring }; 204724ba675SRob Herring }; 205724ba675SRob Herring }; 206724ba675SRob Herring }; 207724ba675SRob Herring 208724ba675SRob Herring mixer1: mixer@1200000 { 209724ba675SRob Herring compatible = "allwinner,sun8i-r40-de2-mixer-1"; 210724ba675SRob Herring reg = <0x01200000 0x100000>; 211724ba675SRob Herring clocks = <&display_clocks CLK_BUS_MIXER1>, 212724ba675SRob Herring <&display_clocks CLK_MIXER1>; 213724ba675SRob Herring clock-names = "bus", 214724ba675SRob Herring "mod"; 215724ba675SRob Herring resets = <&display_clocks RST_WB>; 216724ba675SRob Herring 217724ba675SRob Herring ports { 218724ba675SRob Herring #address-cells = <1>; 219724ba675SRob Herring #size-cells = <0>; 220724ba675SRob Herring 221724ba675SRob Herring mixer1_out: port@1 { 222724ba675SRob Herring reg = <1>; 223724ba675SRob Herring mixer1_out_tcon_top: endpoint { 224724ba675SRob Herring remote-endpoint = <&tcon_top_mixer1_in_mixer1>; 225724ba675SRob Herring }; 226724ba675SRob Herring }; 227724ba675SRob Herring }; 228724ba675SRob Herring }; 229724ba675SRob Herring 230724ba675SRob Herring deinterlace: deinterlace@1400000 { 231724ba675SRob Herring compatible = "allwinner,sun8i-r40-deinterlace", 232724ba675SRob Herring "allwinner,sun8i-h3-deinterlace"; 233724ba675SRob Herring reg = <0x01400000 0x20000>; 234724ba675SRob Herring clocks = <&ccu CLK_BUS_DEINTERLACE>, 235724ba675SRob Herring <&ccu CLK_DEINTERLACE>, 236724ba675SRob Herring /* 237724ba675SRob Herring * NOTE: Contrary to what datasheet claims, 238724ba675SRob Herring * DRAM deinterlace gate doesn't exist and 239724ba675SRob Herring * it's shared with CSI1. 240724ba675SRob Herring */ 241724ba675SRob Herring <&ccu CLK_DRAM_CSI1>; 242724ba675SRob Herring clock-names = "bus", "mod", "ram"; 243724ba675SRob Herring resets = <&ccu RST_BUS_DEINTERLACE>; 244724ba675SRob Herring interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 245724ba675SRob Herring interconnects = <&mbus 9>; 246724ba675SRob Herring interconnect-names = "dma-mem"; 247724ba675SRob Herring }; 248724ba675SRob Herring 249724ba675SRob Herring syscon: system-control@1c00000 { 250724ba675SRob Herring compatible = "allwinner,sun8i-r40-system-control", 251724ba675SRob Herring "allwinner,sun4i-a10-system-control"; 252724ba675SRob Herring reg = <0x01c00000 0x30>; 253724ba675SRob Herring #address-cells = <1>; 254724ba675SRob Herring #size-cells = <1>; 255724ba675SRob Herring ranges; 256724ba675SRob Herring 257724ba675SRob Herring sram_c: sram@1d00000 { 258724ba675SRob Herring compatible = "mmio-sram"; 259724ba675SRob Herring reg = <0x01d00000 0xd0000>; 260724ba675SRob Herring #address-cells = <1>; 261724ba675SRob Herring #size-cells = <1>; 262724ba675SRob Herring ranges = <0 0x01d00000 0xd0000>; 263724ba675SRob Herring 264724ba675SRob Herring ve_sram: sram-section@0 { 265724ba675SRob Herring compatible = "allwinner,sun8i-r40-sram-c1", 266724ba675SRob Herring "allwinner,sun4i-a10-sram-c1"; 267724ba675SRob Herring reg = <0x000000 0x80000>; 268724ba675SRob Herring }; 269724ba675SRob Herring }; 270724ba675SRob Herring }; 271724ba675SRob Herring 272724ba675SRob Herring nmi_intc: interrupt-controller@1c00030 { 273724ba675SRob Herring compatible = "allwinner,sun7i-a20-sc-nmi"; 274724ba675SRob Herring interrupt-controller; 275724ba675SRob Herring #interrupt-cells = <2>; 276724ba675SRob Herring reg = <0x01c00030 0x0c>; 277724ba675SRob Herring interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 278724ba675SRob Herring }; 279724ba675SRob Herring 280724ba675SRob Herring dma: dma-controller@1c02000 { 281724ba675SRob Herring compatible = "allwinner,sun8i-r40-dma", 282724ba675SRob Herring "allwinner,sun50i-a64-dma"; 283724ba675SRob Herring reg = <0x01c02000 0x1000>; 284724ba675SRob Herring interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 285724ba675SRob Herring clocks = <&ccu CLK_BUS_DMA>; 286724ba675SRob Herring dma-channels = <16>; 287724ba675SRob Herring dma-requests = <31>; 288724ba675SRob Herring resets = <&ccu RST_BUS_DMA>; 289724ba675SRob Herring #dma-cells = <1>; 290724ba675SRob Herring }; 291724ba675SRob Herring 292724ba675SRob Herring spi0: spi@1c05000 { 293724ba675SRob Herring compatible = "allwinner,sun8i-r40-spi", 294724ba675SRob Herring "allwinner,sun8i-h3-spi"; 295724ba675SRob Herring reg = <0x01c05000 0x1000>; 296724ba675SRob Herring interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 297724ba675SRob Herring clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>; 298724ba675SRob Herring clock-names = "ahb", "mod"; 299724ba675SRob Herring resets = <&ccu RST_BUS_SPI0>; 300724ba675SRob Herring status = "disabled"; 301724ba675SRob Herring #address-cells = <1>; 302724ba675SRob Herring #size-cells = <0>; 303724ba675SRob Herring }; 304724ba675SRob Herring 305724ba675SRob Herring spi1: spi@1c06000 { 306724ba675SRob Herring compatible = "allwinner,sun8i-r40-spi", 307724ba675SRob Herring "allwinner,sun8i-h3-spi"; 308724ba675SRob Herring reg = <0x01c06000 0x1000>; 309724ba675SRob Herring interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 310724ba675SRob Herring clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>; 311724ba675SRob Herring clock-names = "ahb", "mod"; 312724ba675SRob Herring resets = <&ccu RST_BUS_SPI1>; 313724ba675SRob Herring status = "disabled"; 314724ba675SRob Herring #address-cells = <1>; 315724ba675SRob Herring #size-cells = <0>; 316724ba675SRob Herring }; 317724ba675SRob Herring 318724ba675SRob Herring csi0: csi@1c09000 { 319724ba675SRob Herring compatible = "allwinner,sun8i-r40-csi0", 320724ba675SRob Herring "allwinner,sun7i-a20-csi0"; 321724ba675SRob Herring reg = <0x01c09000 0x1000>; 322724ba675SRob Herring interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 323724ba675SRob Herring clocks = <&ccu CLK_BUS_CSI0>, <&ccu CLK_CSI_SCLK>, 324724ba675SRob Herring <&ccu CLK_DRAM_CSI0>; 325724ba675SRob Herring clock-names = "bus", "isp", "ram"; 326724ba675SRob Herring resets = <&ccu RST_BUS_CSI0>; 327724ba675SRob Herring interconnects = <&mbus 5>; 328724ba675SRob Herring interconnect-names = "dma-mem"; 329724ba675SRob Herring status = "disabled"; 330724ba675SRob Herring }; 331724ba675SRob Herring 332724ba675SRob Herring video-codec@1c0e000 { 333724ba675SRob Herring compatible = "allwinner,sun8i-r40-video-engine"; 334724ba675SRob Herring reg = <0x01c0e000 0x1000>; 335724ba675SRob Herring clocks = <&ccu CLK_BUS_VE>, <&ccu CLK_VE>, 336724ba675SRob Herring <&ccu CLK_DRAM_VE>; 337724ba675SRob Herring clock-names = "ahb", "mod", "ram"; 338724ba675SRob Herring resets = <&ccu RST_BUS_VE>; 339724ba675SRob Herring interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 340724ba675SRob Herring allwinner,sram = <&ve_sram 1>; 341*61ebaa04SJernej Skrabec interconnects = <&mbus 4>; 342*61ebaa04SJernej Skrabec interconnect-names = "dma-mem"; 343724ba675SRob Herring }; 344724ba675SRob Herring 345724ba675SRob Herring mmc0: mmc@1c0f000 { 346724ba675SRob Herring compatible = "allwinner,sun8i-r40-mmc", 347724ba675SRob Herring "allwinner,sun50i-a64-mmc"; 348724ba675SRob Herring reg = <0x01c0f000 0x1000>; 349724ba675SRob Herring clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>; 350724ba675SRob Herring clock-names = "ahb", "mmc"; 351724ba675SRob Herring resets = <&ccu RST_BUS_MMC0>; 352724ba675SRob Herring reset-names = "ahb"; 353724ba675SRob Herring pinctrl-0 = <&mmc0_pins>; 354724ba675SRob Herring pinctrl-names = "default"; 355724ba675SRob Herring interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 356724ba675SRob Herring status = "disabled"; 357724ba675SRob Herring #address-cells = <1>; 358724ba675SRob Herring #size-cells = <0>; 359724ba675SRob Herring }; 360724ba675SRob Herring 361724ba675SRob Herring mmc1: mmc@1c10000 { 362724ba675SRob Herring compatible = "allwinner,sun8i-r40-mmc", 363724ba675SRob Herring "allwinner,sun50i-a64-mmc"; 364724ba675SRob Herring reg = <0x01c10000 0x1000>; 365724ba675SRob Herring clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>; 366724ba675SRob Herring clock-names = "ahb", "mmc"; 367724ba675SRob Herring resets = <&ccu RST_BUS_MMC1>; 368724ba675SRob Herring reset-names = "ahb"; 369724ba675SRob Herring interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 370724ba675SRob Herring status = "disabled"; 371724ba675SRob Herring #address-cells = <1>; 372724ba675SRob Herring #size-cells = <0>; 373724ba675SRob Herring }; 374724ba675SRob Herring 375724ba675SRob Herring mmc2: mmc@1c11000 { 376724ba675SRob Herring compatible = "allwinner,sun8i-r40-emmc", 377724ba675SRob Herring "allwinner,sun50i-a64-emmc"; 378724ba675SRob Herring reg = <0x01c11000 0x1000>; 379724ba675SRob Herring clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>; 380724ba675SRob Herring clock-names = "ahb", "mmc"; 381724ba675SRob Herring resets = <&ccu RST_BUS_MMC2>; 382724ba675SRob Herring reset-names = "ahb"; 383724ba675SRob Herring pinctrl-0 = <&mmc2_pins>; 384724ba675SRob Herring pinctrl-names = "default"; 385724ba675SRob Herring interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 386724ba675SRob Herring status = "disabled"; 387724ba675SRob Herring #address-cells = <1>; 388724ba675SRob Herring #size-cells = <0>; 389724ba675SRob Herring }; 390724ba675SRob Herring 391724ba675SRob Herring mmc3: mmc@1c12000 { 392724ba675SRob Herring compatible = "allwinner,sun8i-r40-mmc", 393724ba675SRob Herring "allwinner,sun50i-a64-mmc"; 394724ba675SRob Herring reg = <0x01c12000 0x1000>; 395724ba675SRob Herring clocks = <&ccu CLK_BUS_MMC3>, <&ccu CLK_MMC3>; 396724ba675SRob Herring clock-names = "ahb", "mmc"; 397724ba675SRob Herring resets = <&ccu RST_BUS_MMC3>; 398724ba675SRob Herring reset-names = "ahb"; 399724ba675SRob Herring pinctrl-0 = <&mmc3_pins>; 400724ba675SRob Herring pinctrl-names = "default"; 401724ba675SRob Herring interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 402724ba675SRob Herring status = "disabled"; 403724ba675SRob Herring #address-cells = <1>; 404724ba675SRob Herring #size-cells = <0>; 405724ba675SRob Herring }; 406724ba675SRob Herring 407724ba675SRob Herring usbphy: phy@1c13400 { 408724ba675SRob Herring compatible = "allwinner,sun8i-r40-usb-phy"; 409724ba675SRob Herring reg = <0x01c13400 0x14>, 410724ba675SRob Herring <0x01c14800 0x4>, 411724ba675SRob Herring <0x01c19800 0x4>, 412724ba675SRob Herring <0x01c1c800 0x4>; 413724ba675SRob Herring reg-names = "phy_ctrl", 414724ba675SRob Herring "pmu0", 415724ba675SRob Herring "pmu1", 416724ba675SRob Herring "pmu2"; 417724ba675SRob Herring clocks = <&ccu CLK_USB_PHY0>, 418724ba675SRob Herring <&ccu CLK_USB_PHY1>, 419724ba675SRob Herring <&ccu CLK_USB_PHY2>; 420724ba675SRob Herring clock-names = "usb0_phy", 421724ba675SRob Herring "usb1_phy", 422724ba675SRob Herring "usb2_phy"; 423724ba675SRob Herring resets = <&ccu RST_USB_PHY0>, 424724ba675SRob Herring <&ccu RST_USB_PHY1>, 425724ba675SRob Herring <&ccu RST_USB_PHY2>; 426724ba675SRob Herring reset-names = "usb0_reset", 427724ba675SRob Herring "usb1_reset", 428724ba675SRob Herring "usb2_reset"; 429724ba675SRob Herring status = "disabled"; 430724ba675SRob Herring #phy-cells = <1>; 431724ba675SRob Herring }; 432724ba675SRob Herring 433724ba675SRob Herring crypto: crypto@1c15000 { 434724ba675SRob Herring compatible = "allwinner,sun8i-r40-crypto"; 435724ba675SRob Herring reg = <0x01c15000 0x1000>; 436724ba675SRob Herring interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 437724ba675SRob Herring clocks = <&ccu CLK_BUS_CE>, <&ccu CLK_CE>; 438724ba675SRob Herring clock-names = "bus", "mod"; 439724ba675SRob Herring resets = <&ccu RST_BUS_CE>; 440724ba675SRob Herring }; 441724ba675SRob Herring 442724ba675SRob Herring spi2: spi@1c17000 { 443724ba675SRob Herring compatible = "allwinner,sun8i-r40-spi", 444724ba675SRob Herring "allwinner,sun8i-h3-spi"; 445724ba675SRob Herring reg = <0x01c17000 0x1000>; 446724ba675SRob Herring interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 447724ba675SRob Herring clocks = <&ccu CLK_BUS_SPI2>, <&ccu CLK_SPI2>; 448724ba675SRob Herring clock-names = "ahb", "mod"; 449724ba675SRob Herring resets = <&ccu RST_BUS_SPI2>; 450724ba675SRob Herring status = "disabled"; 451724ba675SRob Herring #address-cells = <1>; 452724ba675SRob Herring #size-cells = <0>; 453724ba675SRob Herring }; 454724ba675SRob Herring 455724ba675SRob Herring ahci: sata@1c18000 { 456724ba675SRob Herring compatible = "allwinner,sun8i-r40-ahci"; 457724ba675SRob Herring reg = <0x01c18000 0x1000>; 458724ba675SRob Herring interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; 459724ba675SRob Herring clocks = <&ccu CLK_BUS_SATA>, <&ccu CLK_SATA>; 460724ba675SRob Herring resets = <&ccu RST_BUS_SATA>; 461724ba675SRob Herring reset-names = "ahci"; 462724ba675SRob Herring status = "disabled"; 463724ba675SRob Herring }; 464724ba675SRob Herring 465724ba675SRob Herring ehci1: usb@1c19000 { 466724ba675SRob Herring compatible = "allwinner,sun8i-r40-ehci", "generic-ehci"; 467724ba675SRob Herring reg = <0x01c19000 0x100>; 468724ba675SRob Herring interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 469724ba675SRob Herring clocks = <&ccu CLK_BUS_EHCI1>; 470724ba675SRob Herring resets = <&ccu RST_BUS_EHCI1>; 471724ba675SRob Herring phys = <&usbphy 1>; 472724ba675SRob Herring phy-names = "usb"; 473724ba675SRob Herring status = "disabled"; 474724ba675SRob Herring }; 475724ba675SRob Herring 476724ba675SRob Herring ohci1: usb@1c19400 { 477724ba675SRob Herring compatible = "allwinner,sun8i-r40-ohci", "generic-ohci"; 478724ba675SRob Herring reg = <0x01c19400 0x100>; 479724ba675SRob Herring interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; 480724ba675SRob Herring clocks = <&ccu CLK_BUS_OHCI1>, 481724ba675SRob Herring <&ccu CLK_USB_OHCI1>; 482724ba675SRob Herring resets = <&ccu RST_BUS_OHCI1>; 483724ba675SRob Herring phys = <&usbphy 1>; 484724ba675SRob Herring phy-names = "usb"; 485724ba675SRob Herring status = "disabled"; 486724ba675SRob Herring }; 487724ba675SRob Herring 488724ba675SRob Herring ehci2: usb@1c1c000 { 489724ba675SRob Herring compatible = "allwinner,sun8i-r40-ehci", "generic-ehci"; 490724ba675SRob Herring reg = <0x01c1c000 0x100>; 491724ba675SRob Herring interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 492724ba675SRob Herring clocks = <&ccu CLK_BUS_EHCI2>; 493724ba675SRob Herring resets = <&ccu RST_BUS_EHCI2>; 494724ba675SRob Herring phys = <&usbphy 2>; 495724ba675SRob Herring phy-names = "usb"; 496724ba675SRob Herring status = "disabled"; 497724ba675SRob Herring }; 498724ba675SRob Herring 499724ba675SRob Herring ohci2: usb@1c1c400 { 500724ba675SRob Herring compatible = "allwinner,sun8i-r40-ohci", "generic-ohci"; 501724ba675SRob Herring reg = <0x01c1c400 0x100>; 502724ba675SRob Herring interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 503724ba675SRob Herring clocks = <&ccu CLK_BUS_OHCI2>, 504724ba675SRob Herring <&ccu CLK_USB_OHCI2>; 505724ba675SRob Herring resets = <&ccu RST_BUS_OHCI2>; 506724ba675SRob Herring phys = <&usbphy 2>; 507724ba675SRob Herring phy-names = "usb"; 508724ba675SRob Herring status = "disabled"; 509724ba675SRob Herring }; 510724ba675SRob Herring 511724ba675SRob Herring spi3: spi@1c1f000 { 512724ba675SRob Herring compatible = "allwinner,sun8i-r40-spi", 513724ba675SRob Herring "allwinner,sun8i-h3-spi"; 514724ba675SRob Herring reg = <0x01c1f000 0x1000>; 515724ba675SRob Herring interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 516724ba675SRob Herring clocks = <&ccu CLK_BUS_SPI3>, <&ccu CLK_SPI3>; 517724ba675SRob Herring clock-names = "ahb", "mod"; 518724ba675SRob Herring resets = <&ccu RST_BUS_SPI3>; 519724ba675SRob Herring status = "disabled"; 520724ba675SRob Herring #address-cells = <1>; 521724ba675SRob Herring #size-cells = <0>; 522724ba675SRob Herring }; 523724ba675SRob Herring 524724ba675SRob Herring ccu: clock@1c20000 { 525724ba675SRob Herring compatible = "allwinner,sun8i-r40-ccu"; 526724ba675SRob Herring reg = <0x01c20000 0x400>; 527724ba675SRob Herring clocks = <&osc24M>, <&rtc CLK_OSC32K>; 528724ba675SRob Herring clock-names = "hosc", "losc"; 529724ba675SRob Herring #clock-cells = <1>; 530724ba675SRob Herring #reset-cells = <1>; 531724ba675SRob Herring }; 532724ba675SRob Herring 533724ba675SRob Herring rtc: rtc@1c20400 { 534724ba675SRob Herring compatible = "allwinner,sun8i-r40-rtc"; 535724ba675SRob Herring reg = <0x01c20400 0x400>; 536724ba675SRob Herring interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 537724ba675SRob Herring clock-output-names = "osc32k", "osc32k-out"; 538724ba675SRob Herring clocks = <&osc32k>; 539724ba675SRob Herring #clock-cells = <1>; 540724ba675SRob Herring }; 541724ba675SRob Herring 542724ba675SRob Herring pio: pinctrl@1c20800 { 543724ba675SRob Herring compatible = "allwinner,sun8i-r40-pinctrl"; 544724ba675SRob Herring reg = <0x01c20800 0x400>; 545724ba675SRob Herring interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 546724ba675SRob Herring clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, 547724ba675SRob Herring <&rtc CLK_OSC32K>; 548724ba675SRob Herring clock-names = "apb", "hosc", "losc"; 549724ba675SRob Herring gpio-controller; 550724ba675SRob Herring interrupt-controller; 551724ba675SRob Herring #interrupt-cells = <3>; 552724ba675SRob Herring #gpio-cells = <3>; 553724ba675SRob Herring 554724ba675SRob Herring can_ph_pins: can-ph-pins { 555724ba675SRob Herring pins = "PH20", "PH21"; 556724ba675SRob Herring function = "can"; 557724ba675SRob Herring }; 558724ba675SRob Herring 559724ba675SRob Herring can_pa_pins: can-pa-pins { 560724ba675SRob Herring pins = "PA16", "PA17"; 561724ba675SRob Herring function = "can"; 562724ba675SRob Herring }; 563724ba675SRob Herring 564724ba675SRob Herring clk_out_a_pin: clk-out-a-pin { 565724ba675SRob Herring pins = "PI12"; 566724ba675SRob Herring function = "clk_out_a"; 567724ba675SRob Herring }; 568724ba675SRob Herring 569724ba675SRob Herring /omit-if-no-ref/ 570724ba675SRob Herring csi0_8bits_pins: csi0-8bits-pins { 571724ba675SRob Herring pins = "PE0", "PE2", "PE3", "PE4", "PE5", 572724ba675SRob Herring "PE6", "PE7", "PE8", "PE9", "PE10", 573724ba675SRob Herring "PE11"; 574724ba675SRob Herring function = "csi0"; 575724ba675SRob Herring }; 576724ba675SRob Herring 577724ba675SRob Herring /omit-if-no-ref/ 578724ba675SRob Herring csi0_mclk_pin: csi0-mclk-pin { 579724ba675SRob Herring pins = "PE1"; 580724ba675SRob Herring function = "csi0"; 581724ba675SRob Herring }; 582724ba675SRob Herring 583724ba675SRob Herring gmac_rgmii_pins: gmac-rgmii-pins { 584724ba675SRob Herring pins = "PA0", "PA1", "PA2", "PA3", 585724ba675SRob Herring "PA4", "PA5", "PA6", "PA7", 586724ba675SRob Herring "PA8", "PA10", "PA11", "PA12", 587724ba675SRob Herring "PA13", "PA15", "PA16"; 588724ba675SRob Herring function = "gmac"; 589724ba675SRob Herring /* 590724ba675SRob Herring * data lines in RGMII mode use DDR mode 591724ba675SRob Herring * and need a higher signal drive strength 592724ba675SRob Herring */ 593724ba675SRob Herring drive-strength = <40>; 594724ba675SRob Herring }; 595724ba675SRob Herring 596724ba675SRob Herring i2c0_pins: i2c0-pins { 597724ba675SRob Herring pins = "PB0", "PB1"; 598724ba675SRob Herring function = "i2c0"; 599724ba675SRob Herring }; 600724ba675SRob Herring 601724ba675SRob Herring i2c1_pins: i2c1-pins { 602724ba675SRob Herring pins = "PB18", "PB19"; 603724ba675SRob Herring function = "i2c1"; 604724ba675SRob Herring }; 605724ba675SRob Herring 606724ba675SRob Herring i2c2_pins: i2c2-pins { 607724ba675SRob Herring pins = "PB20", "PB21"; 608724ba675SRob Herring function = "i2c2"; 609724ba675SRob Herring }; 610724ba675SRob Herring 611724ba675SRob Herring i2c3_pins: i2c3-pins { 612724ba675SRob Herring pins = "PI0", "PI1"; 613724ba675SRob Herring function = "i2c3"; 614724ba675SRob Herring }; 615724ba675SRob Herring 616724ba675SRob Herring i2c4_pins: i2c4-pins { 617724ba675SRob Herring pins = "PI2", "PI3"; 618724ba675SRob Herring function = "i2c4"; 619724ba675SRob Herring }; 620724ba675SRob Herring 621724ba675SRob Herring ir0_pins: ir0-pins { 622724ba675SRob Herring pins = "PB4"; 623724ba675SRob Herring function = "ir0"; 624724ba675SRob Herring }; 625724ba675SRob Herring 626724ba675SRob Herring ir1_pins: ir1-pins { 627724ba675SRob Herring pins = "PB23"; 628724ba675SRob Herring function = "ir1"; 629724ba675SRob Herring }; 630724ba675SRob Herring 631724ba675SRob Herring mmc0_pins: mmc0-pins { 632724ba675SRob Herring pins = "PF0", "PF1", "PF2", 633724ba675SRob Herring "PF3", "PF4", "PF5"; 634724ba675SRob Herring function = "mmc0"; 635724ba675SRob Herring drive-strength = <30>; 636724ba675SRob Herring bias-pull-up; 637724ba675SRob Herring }; 638724ba675SRob Herring 639724ba675SRob Herring mmc1_pg_pins: mmc1-pg-pins { 640724ba675SRob Herring pins = "PG0", "PG1", "PG2", 641724ba675SRob Herring "PG3", "PG4", "PG5"; 642724ba675SRob Herring function = "mmc1"; 643724ba675SRob Herring drive-strength = <30>; 644724ba675SRob Herring bias-pull-up; 645724ba675SRob Herring }; 646724ba675SRob Herring 647724ba675SRob Herring mmc2_pins: mmc2-pins { 648724ba675SRob Herring pins = "PC5", "PC6", "PC7", "PC8", "PC9", 649724ba675SRob Herring "PC10", "PC11", "PC12", "PC13", "PC14", 650724ba675SRob Herring "PC15", "PC24"; 651724ba675SRob Herring function = "mmc2"; 652724ba675SRob Herring drive-strength = <30>; 653724ba675SRob Herring bias-pull-up; 654724ba675SRob Herring }; 655724ba675SRob Herring 656724ba675SRob Herring /omit-if-no-ref/ 657724ba675SRob Herring mmc3_pins: mmc3-pins { 658724ba675SRob Herring pins = "PI4", "PI5", "PI6", 659724ba675SRob Herring "PI7", "PI8", "PI9"; 660724ba675SRob Herring function = "mmc3"; 661724ba675SRob Herring drive-strength = <30>; 662724ba675SRob Herring bias-pull-up; 663724ba675SRob Herring }; 664724ba675SRob Herring 665724ba675SRob Herring /omit-if-no-ref/ 666724ba675SRob Herring spi0_pc_pins: spi0-pc-pins { 667724ba675SRob Herring pins = "PC0", "PC1", "PC2"; 668724ba675SRob Herring function = "spi0"; 669724ba675SRob Herring }; 670724ba675SRob Herring 671724ba675SRob Herring /omit-if-no-ref/ 672724ba675SRob Herring spi0_cs0_pc_pin: spi0-cs0-pc-pin { 673724ba675SRob Herring pins = "PC23"; 674724ba675SRob Herring function = "spi0"; 675724ba675SRob Herring }; 676724ba675SRob Herring 677724ba675SRob Herring /omit-if-no-ref/ 678724ba675SRob Herring spi1_pi_pins: spi1-pi-pins { 679724ba675SRob Herring pins = "PI17", "PI18", "PI19"; 680724ba675SRob Herring function = "spi1"; 681724ba675SRob Herring }; 682724ba675SRob Herring 683724ba675SRob Herring /omit-if-no-ref/ 684724ba675SRob Herring spi1_cs0_pi_pin: spi1-cs0-pi-pin { 685724ba675SRob Herring pins = "PI16"; 686724ba675SRob Herring function = "spi1"; 687724ba675SRob Herring }; 688724ba675SRob Herring 689724ba675SRob Herring /omit-if-no-ref/ 690724ba675SRob Herring spi1_cs1_pi_pin: spi1-cs1-pi-pin { 691724ba675SRob Herring pins = "PI15"; 692724ba675SRob Herring function = "spi1"; 693724ba675SRob Herring }; 694724ba675SRob Herring 695724ba675SRob Herring /omit-if-no-ref/ 696724ba675SRob Herring uart0_pb_pins: uart0-pb-pins { 697724ba675SRob Herring pins = "PB22", "PB23"; 698724ba675SRob Herring function = "uart0"; 699724ba675SRob Herring }; 700724ba675SRob Herring 701724ba675SRob Herring /omit-if-no-ref/ 702724ba675SRob Herring uart2_pi_pins: uart2-pi-pins { 703724ba675SRob Herring pins = "PI18", "PI19"; 704724ba675SRob Herring function = "uart2"; 705724ba675SRob Herring }; 706724ba675SRob Herring 707724ba675SRob Herring /omit-if-no-ref/ 708724ba675SRob Herring uart2_rts_cts_pi_pins: uart2-rts-cts-pi-pins{ 709724ba675SRob Herring pins = "PI16", "PI17"; 710724ba675SRob Herring function = "uart2"; 711724ba675SRob Herring }; 712724ba675SRob Herring 713724ba675SRob Herring /omit-if-no-ref/ 714724ba675SRob Herring uart3_pg_pins: uart3-pg-pins { 715724ba675SRob Herring pins = "PG6", "PG7"; 716724ba675SRob Herring function = "uart3"; 717724ba675SRob Herring }; 718724ba675SRob Herring 719724ba675SRob Herring /omit-if-no-ref/ 720724ba675SRob Herring uart3_rts_cts_pg_pins: uart3-rts-cts-pg-pins { 721724ba675SRob Herring pins = "PG8", "PG9"; 722724ba675SRob Herring function = "uart3"; 723724ba675SRob Herring }; 724724ba675SRob Herring 725724ba675SRob Herring /omit-if-no-ref/ 726724ba675SRob Herring uart4_pg_pins: uart4-pg-pins { 727724ba675SRob Herring pins = "PG10", "PG11"; 728724ba675SRob Herring function = "uart4"; 729724ba675SRob Herring }; 730724ba675SRob Herring 731724ba675SRob Herring /omit-if-no-ref/ 732724ba675SRob Herring uart5_ph_pins: uart5-ph-pins { 733724ba675SRob Herring pins = "PH6", "PH7"; 734724ba675SRob Herring function = "uart5"; 735724ba675SRob Herring }; 736724ba675SRob Herring 737724ba675SRob Herring /omit-if-no-ref/ 738724ba675SRob Herring uart7_pi_pins: uart7-pi-pins { 739724ba675SRob Herring pins = "PI20", "PI21"; 740724ba675SRob Herring function = "uart7"; 741724ba675SRob Herring }; 742724ba675SRob Herring }; 743724ba675SRob Herring 744724ba675SRob Herring timer@1c20c00 { 745724ba675SRob Herring compatible = "allwinner,sun4i-a10-timer"; 746724ba675SRob Herring reg = <0x01c20c00 0x90>; 747724ba675SRob Herring interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>, 748724ba675SRob Herring <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>, 749724ba675SRob Herring <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>, 750724ba675SRob Herring <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>, 751724ba675SRob Herring <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>, 752724ba675SRob Herring <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; 753724ba675SRob Herring clocks = <&osc24M>; 754724ba675SRob Herring }; 755724ba675SRob Herring 756724ba675SRob Herring wdt: watchdog@1c20c90 { 757724ba675SRob Herring compatible = "allwinner,sun4i-a10-wdt"; 758724ba675SRob Herring reg = <0x01c20c90 0x10>; 759724ba675SRob Herring interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 760724ba675SRob Herring clocks = <&osc24M>; 761724ba675SRob Herring }; 762724ba675SRob Herring 763724ba675SRob Herring ir0: ir@1c21800 { 764724ba675SRob Herring compatible = "allwinner,sun8i-r40-ir", 765724ba675SRob Herring "allwinner,sun6i-a31-ir"; 766724ba675SRob Herring reg = <0x01c21800 0x400>; 767724ba675SRob Herring pinctrl-0 = <&ir0_pins>; 768724ba675SRob Herring pinctrl-names = "default"; 769724ba675SRob Herring clocks = <&ccu CLK_BUS_IR0>, <&ccu CLK_IR0>; 770724ba675SRob Herring clock-names = "apb", "ir"; 771724ba675SRob Herring interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 772724ba675SRob Herring resets = <&ccu RST_BUS_IR0>; 773724ba675SRob Herring status = "disabled"; 774724ba675SRob Herring }; 775724ba675SRob Herring 776724ba675SRob Herring ir1: ir@1c21c00 { 777724ba675SRob Herring compatible = "allwinner,sun8i-r40-ir", 778724ba675SRob Herring "allwinner,sun6i-a31-ir"; 779724ba675SRob Herring reg = <0x01c21c00 0x400>; 780724ba675SRob Herring pinctrl-0 = <&ir1_pins>; 781724ba675SRob Herring pinctrl-names = "default"; 782724ba675SRob Herring clocks = <&ccu CLK_BUS_IR1>, <&ccu CLK_IR1>; 783724ba675SRob Herring clock-names = "apb", "ir"; 784724ba675SRob Herring interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 785724ba675SRob Herring resets = <&ccu RST_BUS_IR1>; 786724ba675SRob Herring status = "disabled"; 787724ba675SRob Herring }; 788724ba675SRob Herring 789724ba675SRob Herring i2s0: i2s@1c22000 { 790724ba675SRob Herring #sound-dai-cells = <0>; 791724ba675SRob Herring compatible = "allwinner,sun8i-r40-i2s", 792724ba675SRob Herring "allwinner,sun8i-h3-i2s"; 793724ba675SRob Herring reg = <0x01c22000 0x400>; 794724ba675SRob Herring interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 795724ba675SRob Herring clocks = <&ccu CLK_BUS_I2S0>, <&ccu CLK_I2S0>; 796724ba675SRob Herring clock-names = "apb", "mod"; 797724ba675SRob Herring resets = <&ccu RST_BUS_I2S0>; 798724ba675SRob Herring dmas = <&dma 3>, <&dma 3>; 799724ba675SRob Herring dma-names = "rx", "tx"; 800724ba675SRob Herring }; 801724ba675SRob Herring 802724ba675SRob Herring i2s1: i2s@1c22400 { 803724ba675SRob Herring #sound-dai-cells = <0>; 804724ba675SRob Herring compatible = "allwinner,sun8i-r40-i2s", 805724ba675SRob Herring "allwinner,sun8i-h3-i2s"; 806724ba675SRob Herring reg = <0x01c22400 0x400>; 807724ba675SRob Herring interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 808724ba675SRob Herring clocks = <&ccu CLK_BUS_I2S1>, <&ccu CLK_I2S1>; 809724ba675SRob Herring clock-names = "apb", "mod"; 810724ba675SRob Herring resets = <&ccu RST_BUS_I2S1>; 811724ba675SRob Herring dmas = <&dma 4>, <&dma 4>; 812724ba675SRob Herring dma-names = "rx", "tx"; 813724ba675SRob Herring }; 814724ba675SRob Herring 815724ba675SRob Herring i2s2: i2s@1c22800 { 816724ba675SRob Herring #sound-dai-cells = <0>; 817724ba675SRob Herring compatible = "allwinner,sun8i-r40-i2s", 818724ba675SRob Herring "allwinner,sun8i-h3-i2s"; 819724ba675SRob Herring reg = <0x01c22800 0x400>; 820724ba675SRob Herring interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 821724ba675SRob Herring clocks = <&ccu CLK_BUS_I2S2>, <&ccu CLK_I2S2>; 822724ba675SRob Herring clock-names = "apb", "mod"; 823724ba675SRob Herring resets = <&ccu RST_BUS_I2S2>; 824724ba675SRob Herring dmas = <&dma 6>, <&dma 6>; 825724ba675SRob Herring dma-names = "rx", "tx"; 826724ba675SRob Herring }; 827724ba675SRob Herring 828724ba675SRob Herring ths: thermal-sensor@1c24c00 { 829724ba675SRob Herring compatible = "allwinner,sun8i-r40-ths"; 830724ba675SRob Herring reg = <0x01c24c00 0x100>; 831724ba675SRob Herring clocks = <&ccu CLK_BUS_THS>, <&ccu CLK_THS>; 832724ba675SRob Herring clock-names = "bus", "mod"; 833724ba675SRob Herring interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 834724ba675SRob Herring resets = <&ccu RST_BUS_THS>; 835724ba675SRob Herring /* TODO: add nvmem-cells for calibration */ 836724ba675SRob Herring #thermal-sensor-cells = <1>; 837724ba675SRob Herring }; 838724ba675SRob Herring 839724ba675SRob Herring uart0: serial@1c28000 { 840724ba675SRob Herring compatible = "snps,dw-apb-uart"; 841724ba675SRob Herring reg = <0x01c28000 0x400>; 842724ba675SRob Herring interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 843724ba675SRob Herring reg-shift = <2>; 844724ba675SRob Herring reg-io-width = <4>; 845724ba675SRob Herring clocks = <&ccu CLK_BUS_UART0>; 846724ba675SRob Herring resets = <&ccu RST_BUS_UART0>; 847724ba675SRob Herring status = "disabled"; 848724ba675SRob Herring }; 849724ba675SRob Herring 850724ba675SRob Herring uart1: serial@1c28400 { 851724ba675SRob Herring compatible = "snps,dw-apb-uart"; 852724ba675SRob Herring reg = <0x01c28400 0x400>; 853724ba675SRob Herring interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 854724ba675SRob Herring reg-shift = <2>; 855724ba675SRob Herring reg-io-width = <4>; 856724ba675SRob Herring clocks = <&ccu CLK_BUS_UART1>; 857724ba675SRob Herring resets = <&ccu RST_BUS_UART1>; 858724ba675SRob Herring status = "disabled"; 859724ba675SRob Herring }; 860724ba675SRob Herring 861724ba675SRob Herring uart2: serial@1c28800 { 862724ba675SRob Herring compatible = "snps,dw-apb-uart"; 863724ba675SRob Herring reg = <0x01c28800 0x400>; 864724ba675SRob Herring interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 865724ba675SRob Herring reg-shift = <2>; 866724ba675SRob Herring reg-io-width = <4>; 867724ba675SRob Herring clocks = <&ccu CLK_BUS_UART2>; 868724ba675SRob Herring resets = <&ccu RST_BUS_UART2>; 869724ba675SRob Herring status = "disabled"; 870724ba675SRob Herring }; 871724ba675SRob Herring 872724ba675SRob Herring uart3: serial@1c28c00 { 873724ba675SRob Herring compatible = "snps,dw-apb-uart"; 874724ba675SRob Herring reg = <0x01c28c00 0x400>; 875724ba675SRob Herring interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 876724ba675SRob Herring reg-shift = <2>; 877724ba675SRob Herring reg-io-width = <4>; 878724ba675SRob Herring clocks = <&ccu CLK_BUS_UART3>; 879724ba675SRob Herring resets = <&ccu RST_BUS_UART3>; 880724ba675SRob Herring status = "disabled"; 881724ba675SRob Herring }; 882724ba675SRob Herring 883724ba675SRob Herring uart4: serial@1c29000 { 884724ba675SRob Herring compatible = "snps,dw-apb-uart"; 885724ba675SRob Herring reg = <0x01c29000 0x400>; 886724ba675SRob Herring interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 887724ba675SRob Herring reg-shift = <2>; 888724ba675SRob Herring reg-io-width = <4>; 889724ba675SRob Herring clocks = <&ccu CLK_BUS_UART4>; 890724ba675SRob Herring resets = <&ccu RST_BUS_UART4>; 891724ba675SRob Herring status = "disabled"; 892724ba675SRob Herring }; 893724ba675SRob Herring 894724ba675SRob Herring uart5: serial@1c29400 { 895724ba675SRob Herring compatible = "snps,dw-apb-uart"; 896724ba675SRob Herring reg = <0x01c29400 0x400>; 897724ba675SRob Herring interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 898724ba675SRob Herring reg-shift = <2>; 899724ba675SRob Herring reg-io-width = <4>; 900724ba675SRob Herring clocks = <&ccu CLK_BUS_UART5>; 901724ba675SRob Herring resets = <&ccu RST_BUS_UART5>; 902724ba675SRob Herring status = "disabled"; 903724ba675SRob Herring }; 904724ba675SRob Herring 905724ba675SRob Herring uart6: serial@1c29800 { 906724ba675SRob Herring compatible = "snps,dw-apb-uart"; 907724ba675SRob Herring reg = <0x01c29800 0x400>; 908724ba675SRob Herring interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 909724ba675SRob Herring reg-shift = <2>; 910724ba675SRob Herring reg-io-width = <4>; 911724ba675SRob Herring clocks = <&ccu CLK_BUS_UART6>; 912724ba675SRob Herring resets = <&ccu RST_BUS_UART6>; 913724ba675SRob Herring status = "disabled"; 914724ba675SRob Herring }; 915724ba675SRob Herring 916724ba675SRob Herring uart7: serial@1c29c00 { 917724ba675SRob Herring compatible = "snps,dw-apb-uart"; 918724ba675SRob Herring reg = <0x01c29c00 0x400>; 919724ba675SRob Herring interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 920724ba675SRob Herring reg-shift = <2>; 921724ba675SRob Herring reg-io-width = <4>; 922724ba675SRob Herring clocks = <&ccu CLK_BUS_UART7>; 923724ba675SRob Herring resets = <&ccu RST_BUS_UART7>; 924724ba675SRob Herring status = "disabled"; 925724ba675SRob Herring }; 926724ba675SRob Herring 927724ba675SRob Herring i2c0: i2c@1c2ac00 { 928724ba675SRob Herring compatible = "allwinner,sun6i-a31-i2c"; 929724ba675SRob Herring reg = <0x01c2ac00 0x400>; 930724ba675SRob Herring interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 931724ba675SRob Herring clocks = <&ccu CLK_BUS_I2C0>; 932724ba675SRob Herring resets = <&ccu RST_BUS_I2C0>; 933724ba675SRob Herring pinctrl-0 = <&i2c0_pins>; 934724ba675SRob Herring pinctrl-names = "default"; 935724ba675SRob Herring status = "disabled"; 936724ba675SRob Herring #address-cells = <1>; 937724ba675SRob Herring #size-cells = <0>; 938724ba675SRob Herring }; 939724ba675SRob Herring 940724ba675SRob Herring i2c1: i2c@1c2b000 { 941724ba675SRob Herring compatible = "allwinner,sun6i-a31-i2c"; 942724ba675SRob Herring reg = <0x01c2b000 0x400>; 943724ba675SRob Herring interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 944724ba675SRob Herring clocks = <&ccu CLK_BUS_I2C1>; 945724ba675SRob Herring resets = <&ccu RST_BUS_I2C1>; 946724ba675SRob Herring pinctrl-0 = <&i2c1_pins>; 947724ba675SRob Herring pinctrl-names = "default"; 948724ba675SRob Herring status = "disabled"; 949724ba675SRob Herring #address-cells = <1>; 950724ba675SRob Herring #size-cells = <0>; 951724ba675SRob Herring }; 952724ba675SRob Herring 953724ba675SRob Herring i2c2: i2c@1c2b400 { 954724ba675SRob Herring compatible = "allwinner,sun6i-a31-i2c"; 955724ba675SRob Herring reg = <0x01c2b400 0x400>; 956724ba675SRob Herring interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 957724ba675SRob Herring clocks = <&ccu CLK_BUS_I2C2>; 958724ba675SRob Herring resets = <&ccu RST_BUS_I2C2>; 959724ba675SRob Herring pinctrl-0 = <&i2c2_pins>; 960724ba675SRob Herring pinctrl-names = "default"; 961724ba675SRob Herring status = "disabled"; 962724ba675SRob Herring #address-cells = <1>; 963724ba675SRob Herring #size-cells = <0>; 964724ba675SRob Herring }; 965724ba675SRob Herring 966724ba675SRob Herring i2c3: i2c@1c2b800 { 967724ba675SRob Herring compatible = "allwinner,sun6i-a31-i2c"; 968724ba675SRob Herring reg = <0x01c2b800 0x400>; 969724ba675SRob Herring interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; 970724ba675SRob Herring clocks = <&ccu CLK_BUS_I2C3>; 971724ba675SRob Herring resets = <&ccu RST_BUS_I2C3>; 972724ba675SRob Herring pinctrl-0 = <&i2c3_pins>; 973724ba675SRob Herring pinctrl-names = "default"; 974724ba675SRob Herring status = "disabled"; 975724ba675SRob Herring #address-cells = <1>; 976724ba675SRob Herring #size-cells = <0>; 977724ba675SRob Herring }; 978724ba675SRob Herring 979724ba675SRob Herring can0: can@1c2bc00 { 980724ba675SRob Herring compatible = "allwinner,sun8i-r40-can"; 981724ba675SRob Herring reg = <0x01c2bc00 0x400>; 982724ba675SRob Herring interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 983724ba675SRob Herring clocks = <&ccu CLK_BUS_CAN>; 984724ba675SRob Herring resets = <&ccu RST_BUS_CAN>; 985724ba675SRob Herring status = "disabled"; 986724ba675SRob Herring }; 987724ba675SRob Herring 988724ba675SRob Herring i2c4: i2c@1c2c000 { 989724ba675SRob Herring compatible = "allwinner,sun6i-a31-i2c"; 990724ba675SRob Herring reg = <0x01c2c000 0x400>; 991724ba675SRob Herring interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 992724ba675SRob Herring clocks = <&ccu CLK_BUS_I2C4>; 993724ba675SRob Herring resets = <&ccu RST_BUS_I2C4>; 994724ba675SRob Herring pinctrl-0 = <&i2c4_pins>; 995724ba675SRob Herring pinctrl-names = "default"; 996724ba675SRob Herring status = "disabled"; 997724ba675SRob Herring #address-cells = <1>; 998724ba675SRob Herring #size-cells = <0>; 999724ba675SRob Herring }; 1000724ba675SRob Herring 1001724ba675SRob Herring mali: gpu@1c40000 { 1002724ba675SRob Herring compatible = "allwinner,sun8i-r40-mali", "arm,mali-400"; 1003724ba675SRob Herring reg = <0x01c40000 0x10000>; 1004724ba675SRob Herring interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, 1005724ba675SRob Herring <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 1006724ba675SRob Herring <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>, 1007724ba675SRob Herring <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, 1008724ba675SRob Herring <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>, 1009724ba675SRob Herring <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>, 1010724ba675SRob Herring <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 1011724ba675SRob Herring interrupt-names = "gp", 1012724ba675SRob Herring "gpmmu", 1013724ba675SRob Herring "pp0", 1014724ba675SRob Herring "ppmmu0", 1015724ba675SRob Herring "pp1", 1016724ba675SRob Herring "ppmmu1", 1017724ba675SRob Herring "pmu"; 1018724ba675SRob Herring clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>; 1019724ba675SRob Herring clock-names = "bus", "core"; 1020724ba675SRob Herring resets = <&ccu RST_BUS_GPU>; 1021724ba675SRob Herring }; 1022724ba675SRob Herring 1023724ba675SRob Herring gmac: ethernet@1c50000 { 1024724ba675SRob Herring compatible = "allwinner,sun8i-r40-gmac"; 1025724ba675SRob Herring syscon = <&ccu>; 1026724ba675SRob Herring reg = <0x01c50000 0x10000>; 1027724ba675SRob Herring interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; 1028724ba675SRob Herring interrupt-names = "macirq"; 1029724ba675SRob Herring resets = <&ccu RST_BUS_GMAC>; 1030724ba675SRob Herring reset-names = "stmmaceth"; 1031724ba675SRob Herring clocks = <&ccu CLK_BUS_GMAC>; 1032724ba675SRob Herring clock-names = "stmmaceth"; 1033724ba675SRob Herring status = "disabled"; 1034724ba675SRob Herring 1035724ba675SRob Herring gmac_mdio: mdio { 1036724ba675SRob Herring compatible = "snps,dwmac-mdio"; 1037724ba675SRob Herring #address-cells = <1>; 1038724ba675SRob Herring #size-cells = <0>; 1039724ba675SRob Herring }; 1040724ba675SRob Herring }; 1041724ba675SRob Herring 1042724ba675SRob Herring mbus: dram-controller@1c62000 { 1043724ba675SRob Herring compatible = "allwinner,sun8i-r40-mbus"; 1044724ba675SRob Herring reg = <0x01c62000 0x1000>; 1045724ba675SRob Herring clocks = <&ccu 155>; 1046724ba675SRob Herring #address-cells = <1>; 1047724ba675SRob Herring #size-cells = <1>; 1048724ba675SRob Herring dma-ranges = <0x00000000 0x40000000 0x80000000>; 1049724ba675SRob Herring #interconnect-cells = <1>; 1050724ba675SRob Herring }; 1051724ba675SRob Herring 1052724ba675SRob Herring tcon_top: tcon-top@1c70000 { 1053724ba675SRob Herring compatible = "allwinner,sun8i-r40-tcon-top"; 1054724ba675SRob Herring reg = <0x01c70000 0x1000>; 1055724ba675SRob Herring clocks = <&ccu CLK_BUS_TCON_TOP>, 1056724ba675SRob Herring <&ccu CLK_TCON_TV0>, 1057724ba675SRob Herring <&ccu CLK_TVE0>, 1058724ba675SRob Herring <&ccu CLK_TCON_TV1>, 1059724ba675SRob Herring <&ccu CLK_TVE1>, 1060724ba675SRob Herring <&ccu CLK_DSI_DPHY>; 1061724ba675SRob Herring clock-names = "bus", 1062724ba675SRob Herring "tcon-tv0", 1063724ba675SRob Herring "tve0", 1064724ba675SRob Herring "tcon-tv1", 1065724ba675SRob Herring "tve1", 1066724ba675SRob Herring "dsi"; 1067724ba675SRob Herring clock-output-names = "tcon-top-tv0", 1068724ba675SRob Herring "tcon-top-tv1", 1069724ba675SRob Herring "tcon-top-dsi"; 1070724ba675SRob Herring resets = <&ccu RST_BUS_TCON_TOP>; 1071724ba675SRob Herring #clock-cells = <1>; 1072724ba675SRob Herring 1073724ba675SRob Herring ports { 1074724ba675SRob Herring #address-cells = <1>; 1075724ba675SRob Herring #size-cells = <0>; 1076724ba675SRob Herring 1077724ba675SRob Herring tcon_top_mixer0_in: port@0 { 1078724ba675SRob Herring reg = <0>; 1079724ba675SRob Herring 1080724ba675SRob Herring tcon_top_mixer0_in_mixer0: endpoint { 1081724ba675SRob Herring remote-endpoint = <&mixer0_out_tcon_top>; 1082724ba675SRob Herring }; 1083724ba675SRob Herring }; 1084724ba675SRob Herring 1085724ba675SRob Herring tcon_top_mixer0_out: port@1 { 1086724ba675SRob Herring #address-cells = <1>; 1087724ba675SRob Herring #size-cells = <0>; 1088724ba675SRob Herring reg = <1>; 1089724ba675SRob Herring 1090724ba675SRob Herring tcon_top_mixer0_out_tcon_lcd0: endpoint@0 { 1091724ba675SRob Herring reg = <0>; 1092724ba675SRob Herring }; 1093724ba675SRob Herring 1094724ba675SRob Herring tcon_top_mixer0_out_tcon_lcd1: endpoint@1 { 1095724ba675SRob Herring reg = <1>; 1096724ba675SRob Herring }; 1097724ba675SRob Herring 1098724ba675SRob Herring tcon_top_mixer0_out_tcon_tv0: endpoint@2 { 1099724ba675SRob Herring reg = <2>; 1100724ba675SRob Herring remote-endpoint = <&tcon_tv0_in_tcon_top_mixer0>; 1101724ba675SRob Herring }; 1102724ba675SRob Herring 1103724ba675SRob Herring tcon_top_mixer0_out_tcon_tv1: endpoint@3 { 1104724ba675SRob Herring reg = <3>; 1105724ba675SRob Herring remote-endpoint = <&tcon_tv1_in_tcon_top_mixer0>; 1106724ba675SRob Herring }; 1107724ba675SRob Herring }; 1108724ba675SRob Herring 1109724ba675SRob Herring tcon_top_mixer1_in: port@2 { 1110724ba675SRob Herring #address-cells = <1>; 1111724ba675SRob Herring #size-cells = <0>; 1112724ba675SRob Herring reg = <2>; 1113724ba675SRob Herring 1114724ba675SRob Herring tcon_top_mixer1_in_mixer1: endpoint@1 { 1115724ba675SRob Herring reg = <1>; 1116724ba675SRob Herring remote-endpoint = <&mixer1_out_tcon_top>; 1117724ba675SRob Herring }; 1118724ba675SRob Herring }; 1119724ba675SRob Herring 1120724ba675SRob Herring tcon_top_mixer1_out: port@3 { 1121724ba675SRob Herring #address-cells = <1>; 1122724ba675SRob Herring #size-cells = <0>; 1123724ba675SRob Herring reg = <3>; 1124724ba675SRob Herring 1125724ba675SRob Herring tcon_top_mixer1_out_tcon_lcd0: endpoint@0 { 1126724ba675SRob Herring reg = <0>; 1127724ba675SRob Herring }; 1128724ba675SRob Herring 1129724ba675SRob Herring tcon_top_mixer1_out_tcon_lcd1: endpoint@1 { 1130724ba675SRob Herring reg = <1>; 1131724ba675SRob Herring }; 1132724ba675SRob Herring 1133724ba675SRob Herring tcon_top_mixer1_out_tcon_tv0: endpoint@2 { 1134724ba675SRob Herring reg = <2>; 1135724ba675SRob Herring remote-endpoint = <&tcon_tv0_in_tcon_top_mixer1>; 1136724ba675SRob Herring }; 1137724ba675SRob Herring 1138724ba675SRob Herring tcon_top_mixer1_out_tcon_tv1: endpoint@3 { 1139724ba675SRob Herring reg = <3>; 1140724ba675SRob Herring remote-endpoint = <&tcon_tv1_in_tcon_top_mixer1>; 1141724ba675SRob Herring }; 1142724ba675SRob Herring }; 1143724ba675SRob Herring 1144724ba675SRob Herring tcon_top_hdmi_in: port@4 { 1145724ba675SRob Herring #address-cells = <1>; 1146724ba675SRob Herring #size-cells = <0>; 1147724ba675SRob Herring reg = <4>; 1148724ba675SRob Herring 1149724ba675SRob Herring tcon_top_hdmi_in_tcon_tv0: endpoint@0 { 1150724ba675SRob Herring reg = <0>; 1151724ba675SRob Herring remote-endpoint = <&tcon_tv0_out_tcon_top>; 1152724ba675SRob Herring }; 1153724ba675SRob Herring 1154724ba675SRob Herring tcon_top_hdmi_in_tcon_tv1: endpoint@1 { 1155724ba675SRob Herring reg = <1>; 1156724ba675SRob Herring remote-endpoint = <&tcon_tv1_out_tcon_top>; 1157724ba675SRob Herring }; 1158724ba675SRob Herring }; 1159724ba675SRob Herring 1160724ba675SRob Herring tcon_top_hdmi_out: port@5 { 1161724ba675SRob Herring reg = <5>; 1162724ba675SRob Herring 1163724ba675SRob Herring tcon_top_hdmi_out_hdmi: endpoint { 1164724ba675SRob Herring remote-endpoint = <&hdmi_in_tcon_top>; 1165724ba675SRob Herring }; 1166724ba675SRob Herring }; 1167724ba675SRob Herring }; 1168724ba675SRob Herring }; 1169724ba675SRob Herring 1170724ba675SRob Herring tcon_tv0: lcd-controller@1c73000 { 1171724ba675SRob Herring compatible = "allwinner,sun8i-r40-tcon-tv"; 1172724ba675SRob Herring reg = <0x01c73000 0x1000>; 1173724ba675SRob Herring interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 1174724ba675SRob Herring clocks = <&ccu CLK_BUS_TCON_TV0>, <&tcon_top CLK_TCON_TOP_TV0>; 1175724ba675SRob Herring clock-names = "ahb", "tcon-ch1"; 1176724ba675SRob Herring resets = <&ccu RST_BUS_TCON_TV0>; 1177724ba675SRob Herring reset-names = "lcd"; 1178724ba675SRob Herring status = "disabled"; 1179724ba675SRob Herring 1180724ba675SRob Herring ports { 1181724ba675SRob Herring #address-cells = <1>; 1182724ba675SRob Herring #size-cells = <0>; 1183724ba675SRob Herring 1184724ba675SRob Herring tcon_tv0_in: port@0 { 1185724ba675SRob Herring #address-cells = <1>; 1186724ba675SRob Herring #size-cells = <0>; 1187724ba675SRob Herring reg = <0>; 1188724ba675SRob Herring 1189724ba675SRob Herring tcon_tv0_in_tcon_top_mixer0: endpoint@0 { 1190724ba675SRob Herring reg = <0>; 1191724ba675SRob Herring remote-endpoint = <&tcon_top_mixer0_out_tcon_tv0>; 1192724ba675SRob Herring }; 1193724ba675SRob Herring 1194724ba675SRob Herring tcon_tv0_in_tcon_top_mixer1: endpoint@1 { 1195724ba675SRob Herring reg = <1>; 1196724ba675SRob Herring remote-endpoint = <&tcon_top_mixer1_out_tcon_tv0>; 1197724ba675SRob Herring }; 1198724ba675SRob Herring }; 1199724ba675SRob Herring 1200724ba675SRob Herring tcon_tv0_out: port@1 { 1201724ba675SRob Herring #address-cells = <1>; 1202724ba675SRob Herring #size-cells = <0>; 1203724ba675SRob Herring reg = <1>; 1204724ba675SRob Herring 1205724ba675SRob Herring tcon_tv0_out_tcon_top: endpoint@1 { 1206724ba675SRob Herring reg = <1>; 1207724ba675SRob Herring remote-endpoint = <&tcon_top_hdmi_in_tcon_tv0>; 1208724ba675SRob Herring }; 1209724ba675SRob Herring }; 1210724ba675SRob Herring }; 1211724ba675SRob Herring }; 1212724ba675SRob Herring 1213724ba675SRob Herring tcon_tv1: lcd-controller@1c74000 { 1214724ba675SRob Herring compatible = "allwinner,sun8i-r40-tcon-tv"; 1215724ba675SRob Herring reg = <0x01c74000 0x1000>; 1216724ba675SRob Herring interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 1217724ba675SRob Herring clocks = <&ccu CLK_BUS_TCON_TV1>, <&tcon_top CLK_TCON_TOP_TV1>; 1218724ba675SRob Herring clock-names = "ahb", "tcon-ch1"; 1219724ba675SRob Herring resets = <&ccu RST_BUS_TCON_TV1>; 1220724ba675SRob Herring reset-names = "lcd"; 1221724ba675SRob Herring status = "disabled"; 1222724ba675SRob Herring 1223724ba675SRob Herring ports { 1224724ba675SRob Herring #address-cells = <1>; 1225724ba675SRob Herring #size-cells = <0>; 1226724ba675SRob Herring 1227724ba675SRob Herring tcon_tv1_in: port@0 { 1228724ba675SRob Herring #address-cells = <1>; 1229724ba675SRob Herring #size-cells = <0>; 1230724ba675SRob Herring reg = <0>; 1231724ba675SRob Herring 1232724ba675SRob Herring tcon_tv1_in_tcon_top_mixer0: endpoint@0 { 1233724ba675SRob Herring reg = <0>; 1234724ba675SRob Herring remote-endpoint = <&tcon_top_mixer0_out_tcon_tv1>; 1235724ba675SRob Herring }; 1236724ba675SRob Herring 1237724ba675SRob Herring tcon_tv1_in_tcon_top_mixer1: endpoint@1 { 1238724ba675SRob Herring reg = <1>; 1239724ba675SRob Herring remote-endpoint = <&tcon_top_mixer1_out_tcon_tv1>; 1240724ba675SRob Herring }; 1241724ba675SRob Herring }; 1242724ba675SRob Herring 1243724ba675SRob Herring tcon_tv1_out: port@1 { 1244724ba675SRob Herring #address-cells = <1>; 1245724ba675SRob Herring #size-cells = <0>; 1246724ba675SRob Herring reg = <1>; 1247724ba675SRob Herring 1248724ba675SRob Herring tcon_tv1_out_tcon_top: endpoint@1 { 1249724ba675SRob Herring reg = <1>; 1250724ba675SRob Herring remote-endpoint = <&tcon_top_hdmi_in_tcon_tv1>; 1251724ba675SRob Herring }; 1252724ba675SRob Herring }; 1253724ba675SRob Herring }; 1254724ba675SRob Herring }; 1255724ba675SRob Herring 1256724ba675SRob Herring gic: interrupt-controller@1c81000 { 1257724ba675SRob Herring compatible = "arm,gic-400"; 1258724ba675SRob Herring reg = <0x01c81000 0x1000>, 1259724ba675SRob Herring <0x01c82000 0x2000>, 1260724ba675SRob Herring <0x01c84000 0x2000>, 1261724ba675SRob Herring <0x01c86000 0x2000>; 1262724ba675SRob Herring interrupt-controller; 1263724ba675SRob Herring #interrupt-cells = <3>; 1264724ba675SRob Herring interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 1265724ba675SRob Herring }; 1266724ba675SRob Herring 1267724ba675SRob Herring hdmi: hdmi@1ee0000 { 1268724ba675SRob Herring compatible = "allwinner,sun8i-r40-dw-hdmi", 1269724ba675SRob Herring "allwinner,sun8i-a83t-dw-hdmi"; 1270724ba675SRob Herring reg = <0x01ee0000 0x10000>; 1271724ba675SRob Herring reg-io-width = <1>; 1272724ba675SRob Herring interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; 1273724ba675SRob Herring clocks = <&ccu CLK_BUS_HDMI0>, <&ccu CLK_HDMI_SLOW>, 1274724ba675SRob Herring <&ccu CLK_HDMI>, <&rtc CLK_OSC32K>; 1275724ba675SRob Herring clock-names = "iahb", "isfr", "tmds", "cec"; 1276724ba675SRob Herring resets = <&ccu RST_BUS_HDMI1>; 1277724ba675SRob Herring reset-names = "ctrl"; 1278724ba675SRob Herring phys = <&hdmi_phy>; 1279724ba675SRob Herring phy-names = "phy"; 1280724ba675SRob Herring status = "disabled"; 1281724ba675SRob Herring 1282724ba675SRob Herring ports { 1283724ba675SRob Herring #address-cells = <1>; 1284724ba675SRob Herring #size-cells = <0>; 1285724ba675SRob Herring 1286724ba675SRob Herring hdmi_in: port@0 { 1287724ba675SRob Herring reg = <0>; 1288724ba675SRob Herring 1289724ba675SRob Herring hdmi_in_tcon_top: endpoint { 1290724ba675SRob Herring remote-endpoint = <&tcon_top_hdmi_out_hdmi>; 1291724ba675SRob Herring }; 1292724ba675SRob Herring }; 1293724ba675SRob Herring 1294724ba675SRob Herring hdmi_out: port@1 { 1295724ba675SRob Herring reg = <1>; 1296724ba675SRob Herring }; 1297724ba675SRob Herring }; 1298724ba675SRob Herring }; 1299724ba675SRob Herring 1300724ba675SRob Herring hdmi_phy: hdmi-phy@1ef0000 { 1301724ba675SRob Herring compatible = "allwinner,sun8i-r40-hdmi-phy"; 1302724ba675SRob Herring reg = <0x01ef0000 0x10000>; 1303724ba675SRob Herring clocks = <&ccu CLK_BUS_HDMI1>, <&ccu CLK_HDMI_SLOW>, 1304724ba675SRob Herring <&ccu CLK_PLL_VIDEO0>, <&ccu CLK_PLL_VIDEO1>; 1305724ba675SRob Herring clock-names = "bus", "mod", "pll-0", "pll-1"; 1306724ba675SRob Herring resets = <&ccu RST_BUS_HDMI0>; 1307724ba675SRob Herring reset-names = "phy"; 1308724ba675SRob Herring #phy-cells = <0>; 1309724ba675SRob Herring }; 1310724ba675SRob Herring }; 1311724ba675SRob Herring 1312724ba675SRob Herring pmu { 1313724ba675SRob Herring compatible = "arm,cortex-a7-pmu"; 1314724ba675SRob Herring interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, 1315724ba675SRob Herring <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, 1316724ba675SRob Herring <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>, 1317724ba675SRob Herring <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; 1318724ba675SRob Herring interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 1319724ba675SRob Herring }; 1320724ba675SRob Herring 1321724ba675SRob Herring timer { 1322724ba675SRob Herring compatible = "arm,armv7-timer"; 1323724ba675SRob Herring interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 1324724ba675SRob Herring <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 1325724ba675SRob Herring <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 1326724ba675SRob Herring <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 1327724ba675SRob Herring }; 1328724ba675SRob Herring}; 1329