17423d2d8SStefan Roese/* 27423d2d8SStefan Roese * Copyright 2012 Stefan Roese 37423d2d8SStefan Roese * Stefan Roese <sr@denx.de> 47423d2d8SStefan Roese * 5033ba3d7SMaxime Ripard * This file is dual-licensed: you can use it either under the terms 6033ba3d7SMaxime Ripard * of the GPL or the X11 license, at your option. Note that this dual 7033ba3d7SMaxime Ripard * licensing only applies to this file, and not this project as a 8033ba3d7SMaxime Ripard * whole. 97423d2d8SStefan Roese * 10033ba3d7SMaxime Ripard * a) This library is free software; you can redistribute it and/or 11033ba3d7SMaxime Ripard * modify it under the terms of the GNU General Public License as 12033ba3d7SMaxime Ripard * published by the Free Software Foundation; either version 2 of the 13033ba3d7SMaxime Ripard * License, or (at your option) any later version. 14033ba3d7SMaxime Ripard * 15033ba3d7SMaxime Ripard * This library is distributed in the hope that it will be useful, 16033ba3d7SMaxime Ripard * but WITHOUT ANY WARRANTY; without even the implied warranty of 17033ba3d7SMaxime Ripard * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18033ba3d7SMaxime Ripard * GNU General Public License for more details. 19033ba3d7SMaxime Ripard * 20033ba3d7SMaxime Ripard * Or, alternatively, 21033ba3d7SMaxime Ripard * 22033ba3d7SMaxime Ripard * b) Permission is hereby granted, free of charge, to any person 23033ba3d7SMaxime Ripard * obtaining a copy of this software and associated documentation 24033ba3d7SMaxime Ripard * files (the "Software"), to deal in the Software without 25033ba3d7SMaxime Ripard * restriction, including without limitation the rights to use, 26033ba3d7SMaxime Ripard * copy, modify, merge, publish, distribute, sublicense, and/or 27033ba3d7SMaxime Ripard * sell copies of the Software, and to permit persons to whom the 28033ba3d7SMaxime Ripard * Software is furnished to do so, subject to the following 29033ba3d7SMaxime Ripard * conditions: 30033ba3d7SMaxime Ripard * 31033ba3d7SMaxime Ripard * The above copyright notice and this permission notice shall be 32033ba3d7SMaxime Ripard * included in all copies or substantial portions of the Software. 33033ba3d7SMaxime Ripard * 34033ba3d7SMaxime Ripard * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 35033ba3d7SMaxime Ripard * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 36033ba3d7SMaxime Ripard * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 37033ba3d7SMaxime Ripard * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 38033ba3d7SMaxime Ripard * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 39033ba3d7SMaxime Ripard * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 40033ba3d7SMaxime Ripard * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 41033ba3d7SMaxime Ripard * OTHER DEALINGS IN THE SOFTWARE. 427423d2d8SStefan Roese */ 437423d2d8SStefan Roese 44541ce2caSChen-Yu Tsai#include <dt-bindings/thermal/thermal.h> 451f9f6a78SMaxime Ripard#include <dt-bindings/dma/sun4i-a10.h> 4641193869SPriit Laes#include <dt-bindings/clock/sun4i-a10-ccu.h> 4741193869SPriit Laes#include <dt-bindings/reset/sun4i-a10-ccu.h> 487423d2d8SStefan Roese 497423d2d8SStefan Roese/ { 506ab3cf04SMaxime Ripard #address-cells = <1>; 516ab3cf04SMaxime Ripard #size-cells = <1>; 5269144e3bSMaxime Ripard interrupt-parent = <&intc>; 5369144e3bSMaxime Ripard 54e751cce9SEmilio López aliases { 55e751cce9SEmilio López ethernet0 = &emac; 56e751cce9SEmilio López }; 57e751cce9SEmilio López 585790d4eeSHans de Goede chosen { 595790d4eeSHans de Goede #address-cells = <1>; 605790d4eeSHans de Goede #size-cells = <1>; 615790d4eeSHans de Goede ranges; 625790d4eeSHans de Goede 6371299dd4SMaxime Ripard framebuffer-lcd0-hdmi { 64d8cacaa3SMaxime Ripard compatible = "allwinner,simple-framebuffer", 65d8cacaa3SMaxime Ripard "simple-framebuffer"; 66a9f8cda3SHans de Goede allwinner,pipeline = "de_be0-lcd0-hdmi"; 6741193869SPriit Laes clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_HDMI0>, 6841193869SPriit Laes <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_DE_BE0>, 6941193869SPriit Laes <&ccu CLK_TCON0_CH1>, <&ccu CLK_DRAM_DE_BE0>; 705790d4eeSHans de Goede status = "disabled"; 715790d4eeSHans de Goede }; 728cedd662SHans de Goede 7371299dd4SMaxime Ripard framebuffer-fe0-lcd0-hdmi { 74d8cacaa3SMaxime Ripard compatible = "allwinner,simple-framebuffer", 75d8cacaa3SMaxime Ripard "simple-framebuffer"; 768cedd662SHans de Goede allwinner,pipeline = "de_fe0-de_be0-lcd0-hdmi"; 7741193869SPriit Laes clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_HDMI0>, 7841193869SPriit Laes <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_AHB_DE_FE0>, 79590b0c0cSPascal Roeleven <&ccu CLK_DE_BE0>, <&ccu CLK_DE_FE0>, 8041193869SPriit Laes <&ccu CLK_TCON0_CH1>, <&ccu CLK_HDMI>, 8141193869SPriit Laes <&ccu CLK_DRAM_DE_FE0>, <&ccu CLK_DRAM_DE_BE0>; 828cedd662SHans de Goede status = "disabled"; 838cedd662SHans de Goede }; 84fd18c7eaSHans de Goede 8571299dd4SMaxime Ripard framebuffer-fe0-lcd0 { 86fd18c7eaSHans de Goede compatible = "allwinner,simple-framebuffer", 87fd18c7eaSHans de Goede "simple-framebuffer"; 88fd18c7eaSHans de Goede allwinner,pipeline = "de_fe0-de_be0-lcd0"; 8941193869SPriit Laes clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_DE_BE0>, 9041193869SPriit Laes <&ccu CLK_AHB_DE_FE0>, <&ccu CLK_DE_BE0>, 91590b0c0cSPascal Roeleven <&ccu CLK_DE_FE0>, <&ccu CLK_TCON0_CH0>, 9241193869SPriit Laes <&ccu CLK_DRAM_DE_FE0>, <&ccu CLK_DRAM_DE_BE0>; 93fd18c7eaSHans de Goede status = "disabled"; 94fd18c7eaSHans de Goede }; 95fd18c7eaSHans de Goede 9671299dd4SMaxime Ripard framebuffer-fe0-lcd0-tve0 { 97fd18c7eaSHans de Goede compatible = "allwinner,simple-framebuffer", 98fd18c7eaSHans de Goede "simple-framebuffer"; 99fd18c7eaSHans de Goede allwinner,pipeline = "de_fe0-de_be0-lcd0-tve0"; 10041193869SPriit Laes clocks = <&ccu CLK_AHB_TVE0>, <&ccu CLK_AHB_LCD0>, 10141193869SPriit Laes <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_AHB_DE_FE0>, 102590b0c0cSPascal Roeleven <&ccu CLK_DE_BE0>, <&ccu CLK_DE_FE0>, 10341193869SPriit Laes <&ccu CLK_TCON0_CH1>, <&ccu CLK_DRAM_TVE0>, 10441193869SPriit Laes <&ccu CLK_DRAM_DE_FE0>, <&ccu CLK_DRAM_DE_BE0>; 105fd18c7eaSHans de Goede status = "disabled"; 106fd18c7eaSHans de Goede }; 1075790d4eeSHans de Goede }; 1085790d4eeSHans de Goede 10969144e3bSMaxime Ripard cpus { 1108b2efa89SArnd Bergmann #address-cells = <1>; 1118b2efa89SArnd Bergmann #size-cells = <0>; 1127294be5dSChen-Yu Tsai cpu0: cpu@0 { 11314c44aa5SLorenzo Pieralisi device_type = "cpu"; 11469144e3bSMaxime Ripard compatible = "arm,cortex-a8"; 11514c44aa5SLorenzo Pieralisi reg = <0x0>; 11641193869SPriit Laes clocks = <&ccu CLK_CPU>; 1177294be5dSChen-Yu Tsai clock-latency = <244144>; /* 8 32k periods */ 118*4e0d439dSMaxime Ripard operating-points = 1197294be5dSChen-Yu Tsai /* kHz uV */ 120*4e0d439dSMaxime Ripard <1008000 1400000>, 121*4e0d439dSMaxime Ripard <912000 1350000>, 122*4e0d439dSMaxime Ripard <864000 1300000>, 123*4e0d439dSMaxime Ripard <624000 1250000>; 1247294be5dSChen-Yu Tsai #cooling-cells = <2>; 12569144e3bSMaxime Ripard }; 12669144e3bSMaxime Ripard }; 12769144e3bSMaxime Ripard 128541ce2caSChen-Yu Tsai thermal-zones { 129124d19dcSMaxime Ripard cpu-thermal { 130541ce2caSChen-Yu Tsai /* milliseconds */ 131541ce2caSChen-Yu Tsai polling-delay-passive = <250>; 132541ce2caSChen-Yu Tsai polling-delay = <1000>; 133541ce2caSChen-Yu Tsai thermal-sensors = <&rtp>; 134541ce2caSChen-Yu Tsai 135541ce2caSChen-Yu Tsai cooling-maps { 136541ce2caSChen-Yu Tsai map0 { 137541ce2caSChen-Yu Tsai trip = <&cpu_alert0>; 138541ce2caSChen-Yu Tsai cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 139541ce2caSChen-Yu Tsai }; 140541ce2caSChen-Yu Tsai }; 141541ce2caSChen-Yu Tsai 142541ce2caSChen-Yu Tsai trips { 143124d19dcSMaxime Ripard cpu_alert0: cpu-alert0 { 144541ce2caSChen-Yu Tsai /* milliCelsius */ 145dea252faSClément Péron temperature = <85000>; 146541ce2caSChen-Yu Tsai hysteresis = <2000>; 147541ce2caSChen-Yu Tsai type = "passive"; 148541ce2caSChen-Yu Tsai }; 149541ce2caSChen-Yu Tsai 150124d19dcSMaxime Ripard cpu_crit: cpu-crit { 151541ce2caSChen-Yu Tsai /* milliCelsius */ 152541ce2caSChen-Yu Tsai temperature = <100000>; 153541ce2caSChen-Yu Tsai hysteresis = <2000>; 154541ce2caSChen-Yu Tsai type = "critical"; 155541ce2caSChen-Yu Tsai }; 156541ce2caSChen-Yu Tsai }; 1577423d2d8SStefan Roese }; 1587423d2d8SStefan Roese }; 1597423d2d8SStefan Roese 16069144e3bSMaxime Ripard clocks { 16169144e3bSMaxime Ripard #address-cells = <1>; 16269144e3bSMaxime Ripard #size-cells = <1>; 16369144e3bSMaxime Ripard ranges; 16469144e3bSMaxime Ripard 1655c58319fSMaxime Ripard osc24M: clk-24M { 16669144e3bSMaxime Ripard #clock-cells = <0>; 16741193869SPriit Laes compatible = "fixed-clock"; 16892fd6e06SEmilio López clock-frequency = <24000000>; 169dfb12c0cSChen-Yu Tsai clock-output-names = "osc24M"; 17069144e3bSMaxime Ripard }; 17169144e3bSMaxime Ripard 1725c58319fSMaxime Ripard osc32k: clk-32k { 17369144e3bSMaxime Ripard #clock-cells = <0>; 17469144e3bSMaxime Ripard compatible = "fixed-clock"; 17569144e3bSMaxime Ripard clock-frequency = <32768>; 176dfb12c0cSChen-Yu Tsai clock-output-names = "osc32k"; 17769144e3bSMaxime Ripard }; 17869144e3bSMaxime Ripard }; 17969144e3bSMaxime Ripard 1800df4cf33SChen-Yu Tsai de: display-engine { 1810df4cf33SChen-Yu Tsai compatible = "allwinner,sun4i-a10-display-engine"; 1820df4cf33SChen-Yu Tsai allwinner,pipelines = <&fe0>, <&fe1>; 1830df4cf33SChen-Yu Tsai status = "disabled"; 1840df4cf33SChen-Yu Tsai }; 1850df4cf33SChen-Yu Tsai 1867e345d25SHarald Geyer pmu { 1877e345d25SHarald Geyer compatible = "arm,cortex-a8-pmu"; 1887e345d25SHarald Geyer interrupts = <3>; 1897e345d25SHarald Geyer }; 1907e345d25SHarald Geyer 1915949bc56SPaul Kocialkowski reserved-memory { 1925949bc56SPaul Kocialkowski #address-cells = <1>; 1935949bc56SPaul Kocialkowski #size-cells = <1>; 1945949bc56SPaul Kocialkowski ranges; 1955949bc56SPaul Kocialkowski 1965949bc56SPaul Kocialkowski /* Address must be kept in the lower 256 MiBs of DRAM for VE. */ 1975949bc56SPaul Kocialkowski default-pool { 1985949bc56SPaul Kocialkowski compatible = "shared-dma-pool"; 1995949bc56SPaul Kocialkowski size = <0x6000000>; 20092025b90SMaxime Ripard alloc-ranges = <0x40000000 0x10000000>; 2015949bc56SPaul Kocialkowski reusable; 2025949bc56SPaul Kocialkowski linux,cma-default; 2035949bc56SPaul Kocialkowski }; 2045949bc56SPaul Kocialkowski }; 2055949bc56SPaul Kocialkowski 20639f8a71bSMaxime Ripard soc { 20769144e3bSMaxime Ripard compatible = "simple-bus"; 20869144e3bSMaxime Ripard #address-cells = <1>; 20969144e3bSMaxime Ripard #size-cells = <1>; 21069144e3bSMaxime Ripard ranges; 21169144e3bSMaxime Ripard 21237fb1f8dSPaul Kocialkowski system-control@1c00000 { 21337fb1f8dSPaul Kocialkowski compatible = "allwinner,sun4i-a10-system-control"; 2141fbc1517SMaxime Ripard reg = <0x01c00000 0x30>; 2151fbc1517SMaxime Ripard #address-cells = <1>; 2161fbc1517SMaxime Ripard #size-cells = <1>; 2171fbc1517SMaxime Ripard ranges; 2181fbc1517SMaxime Ripard 2195841f6c0SMaxime Ripard sram_a: sram@0 { 2201fbc1517SMaxime Ripard compatible = "mmio-sram"; 2211fbc1517SMaxime Ripard reg = <0x00000000 0xc000>; 2221fbc1517SMaxime Ripard #address-cells = <1>; 2231fbc1517SMaxime Ripard #size-cells = <1>; 2241fbc1517SMaxime Ripard ranges = <0 0x00000000 0xc000>; 2251fbc1517SMaxime Ripard 2261fbc1517SMaxime Ripard emac_sram: sram-section@8000 { 2271fbc1517SMaxime Ripard compatible = "allwinner,sun4i-a10-sram-a3-a4"; 2281fbc1517SMaxime Ripard reg = <0x8000 0x4000>; 2291fbc1517SMaxime Ripard status = "disabled"; 2301fbc1517SMaxime Ripard }; 2311fbc1517SMaxime Ripard }; 2321fbc1517SMaxime Ripard 2335841f6c0SMaxime Ripard sram_d: sram@10000 { 2341fbc1517SMaxime Ripard compatible = "mmio-sram"; 2351fbc1517SMaxime Ripard reg = <0x00010000 0x1000>; 2361fbc1517SMaxime Ripard #address-cells = <1>; 2371fbc1517SMaxime Ripard #size-cells = <1>; 2381fbc1517SMaxime Ripard ranges = <0 0x00010000 0x1000>; 2391fbc1517SMaxime Ripard 2405841f6c0SMaxime Ripard otg_sram: sram-section@0 { 2411fbc1517SMaxime Ripard compatible = "allwinner,sun4i-a10-sram-d"; 2421fbc1517SMaxime Ripard reg = <0x0000 0x1000>; 2431fbc1517SMaxime Ripard status = "disabled"; 2441fbc1517SMaxime Ripard }; 2451fbc1517SMaxime Ripard }; 246890c5067SPaul Kocialkowski 247890c5067SPaul Kocialkowski sram_c: sram@1d00000 { 248890c5067SPaul Kocialkowski compatible = "mmio-sram"; 249890c5067SPaul Kocialkowski reg = <0x01d00000 0xd0000>; 250890c5067SPaul Kocialkowski #address-cells = <1>; 251890c5067SPaul Kocialkowski #size-cells = <1>; 252890c5067SPaul Kocialkowski ranges = <0 0x01d00000 0xd0000>; 253890c5067SPaul Kocialkowski 254890c5067SPaul Kocialkowski ve_sram: sram-section@0 { 255890c5067SPaul Kocialkowski compatible = "allwinner,sun4i-a10-sram-c1"; 256890c5067SPaul Kocialkowski reg = <0x000000 0x80000>; 257890c5067SPaul Kocialkowski }; 258890c5067SPaul Kocialkowski }; 2591fbc1517SMaxime Ripard }; 2601fbc1517SMaxime Ripard 2615841f6c0SMaxime Ripard dma: dma-controller@1c02000 { 2621324f532SEmilio López compatible = "allwinner,sun4i-a10-dma"; 2631324f532SEmilio López reg = <0x01c02000 0x1000>; 2641324f532SEmilio López interrupts = <27>; 26541193869SPriit Laes clocks = <&ccu CLK_AHB_DMA>; 2661324f532SEmilio López #dma-cells = <2>; 2671324f532SEmilio López }; 2681324f532SEmilio López 269c9d10c3eSMaxime Ripard nfc: nand-controller@1c03000 { 270cefd4860SBoris Brezillon compatible = "allwinner,sun4i-a10-nand"; 271cefd4860SBoris Brezillon reg = <0x01c03000 0x1000>; 272cefd4860SBoris Brezillon interrupts = <37>; 27341193869SPriit Laes clocks = <&ccu CLK_AHB_NAND>, <&ccu CLK_NAND>; 274cefd4860SBoris Brezillon clock-names = "ahb", "mod"; 275cefd4860SBoris Brezillon dmas = <&dma SUN4I_DMA_DEDICATED 3>; 276cefd4860SBoris Brezillon dma-names = "rxtx"; 277cefd4860SBoris Brezillon status = "disabled"; 278cefd4860SBoris Brezillon #address-cells = <1>; 279cefd4860SBoris Brezillon #size-cells = <0>; 280cefd4860SBoris Brezillon }; 281cefd4860SBoris Brezillon 2825841f6c0SMaxime Ripard spi0: spi@1c05000 { 28365918e26SMaxime Ripard compatible = "allwinner,sun4i-a10-spi"; 28465918e26SMaxime Ripard reg = <0x01c05000 0x1000>; 28565918e26SMaxime Ripard interrupts = <10>; 28641193869SPriit Laes clocks = <&ccu CLK_AHB_SPI0>, <&ccu CLK_SPI0>; 28765918e26SMaxime Ripard clock-names = "ahb", "mod"; 2881f9f6a78SMaxime Ripard dmas = <&dma SUN4I_DMA_DEDICATED 27>, 2891f9f6a78SMaxime Ripard <&dma SUN4I_DMA_DEDICATED 26>; 2904192ff81SEmilio López dma-names = "rx", "tx"; 29165918e26SMaxime Ripard status = "disabled"; 29265918e26SMaxime Ripard #address-cells = <1>; 29365918e26SMaxime Ripard #size-cells = <0>; 29465918e26SMaxime Ripard }; 29565918e26SMaxime Ripard 2965841f6c0SMaxime Ripard spi1: spi@1c06000 { 29765918e26SMaxime Ripard compatible = "allwinner,sun4i-a10-spi"; 29865918e26SMaxime Ripard reg = <0x01c06000 0x1000>; 29965918e26SMaxime Ripard interrupts = <11>; 30041193869SPriit Laes clocks = <&ccu CLK_AHB_SPI1>, <&ccu CLK_SPI1>; 30165918e26SMaxime Ripard clock-names = "ahb", "mod"; 3021f9f6a78SMaxime Ripard dmas = <&dma SUN4I_DMA_DEDICATED 9>, 3031f9f6a78SMaxime Ripard <&dma SUN4I_DMA_DEDICATED 8>; 3044192ff81SEmilio López dma-names = "rx", "tx"; 305bca0d7d9SMaxime Ripard pinctrl-names = "default"; 306bca0d7d9SMaxime Ripard pinctrl-0 = <&spi1_pins>, <&spi1_cs0_pin>; 30765918e26SMaxime Ripard status = "disabled"; 30865918e26SMaxime Ripard #address-cells = <1>; 30965918e26SMaxime Ripard #size-cells = <0>; 31065918e26SMaxime Ripard }; 31165918e26SMaxime Ripard 3125841f6c0SMaxime Ripard emac: ethernet@1c0b000 { 3131c70e099SMaxime Ripard compatible = "allwinner,sun4i-a10-emac"; 314e38afcb3SMaxime Ripard reg = <0x01c0b000 0x1000>; 315e38afcb3SMaxime Ripard interrupts = <55>; 31641193869SPriit Laes clocks = <&ccu CLK_AHB_EMAC>; 3171fbc1517SMaxime Ripard allwinner,sram = <&emac_sram 1>; 318bca0d7d9SMaxime Ripard pinctrl-names = "default"; 319bca0d7d9SMaxime Ripard pinctrl-0 = <&emac_pins>; 320e38afcb3SMaxime Ripard status = "disabled"; 321e38afcb3SMaxime Ripard }; 322e38afcb3SMaxime Ripard 3235841f6c0SMaxime Ripard mdio: mdio@1c0b080 { 3241c70e099SMaxime Ripard compatible = "allwinner,sun4i-a10-mdio"; 325e38afcb3SMaxime Ripard reg = <0x01c0b080 0x14>; 326e38afcb3SMaxime Ripard status = "disabled"; 327e38afcb3SMaxime Ripard #address-cells = <1>; 328e38afcb3SMaxime Ripard #size-cells = <0>; 329e38afcb3SMaxime Ripard }; 330e38afcb3SMaxime Ripard 3310df4cf33SChen-Yu Tsai tcon0: lcd-controller@1c0c000 { 3320df4cf33SChen-Yu Tsai compatible = "allwinner,sun4i-a10-tcon"; 3330df4cf33SChen-Yu Tsai reg = <0x01c0c000 0x1000>; 3340df4cf33SChen-Yu Tsai interrupts = <44>; 3350df4cf33SChen-Yu Tsai resets = <&ccu RST_TCON0>; 3360df4cf33SChen-Yu Tsai reset-names = "lcd"; 3370df4cf33SChen-Yu Tsai clocks = <&ccu CLK_AHB_LCD0>, 3380df4cf33SChen-Yu Tsai <&ccu CLK_TCON0_CH0>, 3390df4cf33SChen-Yu Tsai <&ccu CLK_TCON0_CH1>; 3400df4cf33SChen-Yu Tsai clock-names = "ahb", 3410df4cf33SChen-Yu Tsai "tcon-ch0", 3420df4cf33SChen-Yu Tsai "tcon-ch1"; 3430df4cf33SChen-Yu Tsai clock-output-names = "tcon0-pixel-clock"; 34409f29dccSMaxime Ripard #clock-cells = <0>; 3450df4cf33SChen-Yu Tsai dmas = <&dma SUN4I_DMA_DEDICATED 14>; 3460df4cf33SChen-Yu Tsai 3470df4cf33SChen-Yu Tsai ports { 3480df4cf33SChen-Yu Tsai #address-cells = <1>; 3490df4cf33SChen-Yu Tsai #size-cells = <0>; 3500df4cf33SChen-Yu Tsai 3510df4cf33SChen-Yu Tsai tcon0_in: port@0 { 3520df4cf33SChen-Yu Tsai #address-cells = <1>; 3530df4cf33SChen-Yu Tsai #size-cells = <0>; 3540df4cf33SChen-Yu Tsai reg = <0>; 3550df4cf33SChen-Yu Tsai 3560df4cf33SChen-Yu Tsai tcon0_in_be0: endpoint@0 { 3570df4cf33SChen-Yu Tsai reg = <0>; 3580df4cf33SChen-Yu Tsai remote-endpoint = <&be0_out_tcon0>; 3590df4cf33SChen-Yu Tsai }; 3600df4cf33SChen-Yu Tsai 3610df4cf33SChen-Yu Tsai tcon0_in_be1: endpoint@1 { 3620df4cf33SChen-Yu Tsai reg = <1>; 3630df4cf33SChen-Yu Tsai remote-endpoint = <&be1_out_tcon0>; 3640df4cf33SChen-Yu Tsai }; 3650df4cf33SChen-Yu Tsai }; 3660df4cf33SChen-Yu Tsai 3670df4cf33SChen-Yu Tsai tcon0_out: port@1 { 3680df4cf33SChen-Yu Tsai #address-cells = <1>; 3690df4cf33SChen-Yu Tsai #size-cells = <0>; 3700df4cf33SChen-Yu Tsai reg = <1>; 3710df4cf33SChen-Yu Tsai 3720df4cf33SChen-Yu Tsai tcon0_out_hdmi: endpoint@1 { 3730df4cf33SChen-Yu Tsai reg = <1>; 3740df4cf33SChen-Yu Tsai remote-endpoint = <&hdmi_in_tcon0>; 3750df4cf33SChen-Yu Tsai allwinner,tcon-channel = <1>; 3760df4cf33SChen-Yu Tsai }; 3770df4cf33SChen-Yu Tsai }; 3780df4cf33SChen-Yu Tsai }; 3790df4cf33SChen-Yu Tsai }; 3800df4cf33SChen-Yu Tsai 3810df4cf33SChen-Yu Tsai tcon1: lcd-controller@1c0d000 { 3820df4cf33SChen-Yu Tsai compatible = "allwinner,sun4i-a10-tcon"; 3830df4cf33SChen-Yu Tsai reg = <0x01c0d000 0x1000>; 3840df4cf33SChen-Yu Tsai interrupts = <45>; 3850df4cf33SChen-Yu Tsai resets = <&ccu RST_TCON1>; 3860df4cf33SChen-Yu Tsai reset-names = "lcd"; 3870df4cf33SChen-Yu Tsai clocks = <&ccu CLK_AHB_LCD1>, 3880df4cf33SChen-Yu Tsai <&ccu CLK_TCON1_CH0>, 3890df4cf33SChen-Yu Tsai <&ccu CLK_TCON1_CH1>; 3900df4cf33SChen-Yu Tsai clock-names = "ahb", 3910df4cf33SChen-Yu Tsai "tcon-ch0", 3920df4cf33SChen-Yu Tsai "tcon-ch1"; 3930df4cf33SChen-Yu Tsai clock-output-names = "tcon1-pixel-clock"; 39409f29dccSMaxime Ripard #clock-cells = <0>; 3950df4cf33SChen-Yu Tsai dmas = <&dma SUN4I_DMA_DEDICATED 15>; 3960df4cf33SChen-Yu Tsai 3970df4cf33SChen-Yu Tsai ports { 3980df4cf33SChen-Yu Tsai #address-cells = <1>; 3990df4cf33SChen-Yu Tsai #size-cells = <0>; 4000df4cf33SChen-Yu Tsai 4010df4cf33SChen-Yu Tsai tcon1_in: port@0 { 4020df4cf33SChen-Yu Tsai #address-cells = <1>; 4030df4cf33SChen-Yu Tsai #size-cells = <0>; 4040df4cf33SChen-Yu Tsai reg = <0>; 4050df4cf33SChen-Yu Tsai 4060df4cf33SChen-Yu Tsai tcon1_in_be0: endpoint@0 { 4070df4cf33SChen-Yu Tsai reg = <0>; 4080df4cf33SChen-Yu Tsai remote-endpoint = <&be0_out_tcon1>; 4090df4cf33SChen-Yu Tsai }; 4100df4cf33SChen-Yu Tsai 4110df4cf33SChen-Yu Tsai tcon1_in_be1: endpoint@1 { 4120df4cf33SChen-Yu Tsai reg = <1>; 4130df4cf33SChen-Yu Tsai remote-endpoint = <&be1_out_tcon1>; 4140df4cf33SChen-Yu Tsai }; 4150df4cf33SChen-Yu Tsai }; 4160df4cf33SChen-Yu Tsai 4170df4cf33SChen-Yu Tsai tcon1_out: port@1 { 4180df4cf33SChen-Yu Tsai #address-cells = <1>; 4190df4cf33SChen-Yu Tsai #size-cells = <0>; 4200df4cf33SChen-Yu Tsai reg = <1>; 4210df4cf33SChen-Yu Tsai 4220df4cf33SChen-Yu Tsai tcon1_out_hdmi: endpoint@1 { 4230df4cf33SChen-Yu Tsai reg = <1>; 4240df4cf33SChen-Yu Tsai remote-endpoint = <&hdmi_in_tcon1>; 4250df4cf33SChen-Yu Tsai allwinner,tcon-channel = <1>; 4260df4cf33SChen-Yu Tsai }; 4270df4cf33SChen-Yu Tsai }; 4280df4cf33SChen-Yu Tsai }; 4290df4cf33SChen-Yu Tsai }; 4300df4cf33SChen-Yu Tsai 4315949bc56SPaul Kocialkowski video-codec@1c0e000 { 4325949bc56SPaul Kocialkowski compatible = "allwinner,sun4i-a10-video-engine"; 4335949bc56SPaul Kocialkowski reg = <0x01c0e000 0x1000>; 4345949bc56SPaul Kocialkowski clocks = <&ccu CLK_AHB_VE>, <&ccu CLK_VE>, 4355949bc56SPaul Kocialkowski <&ccu CLK_DRAM_VE>; 4365949bc56SPaul Kocialkowski clock-names = "ahb", "mod", "ram"; 4375949bc56SPaul Kocialkowski resets = <&ccu RST_VE>; 4385949bc56SPaul Kocialkowski interrupts = <53>; 4395949bc56SPaul Kocialkowski allwinner,sram = <&ve_sram 1>; 4405949bc56SPaul Kocialkowski }; 4415949bc56SPaul Kocialkowski 4425841f6c0SMaxime Ripard mmc0: mmc@1c0f000 { 443b258b369SDavid Lanzendörfer compatible = "allwinner,sun4i-a10-mmc"; 444b258b369SDavid Lanzendörfer reg = <0x01c0f000 0x1000>; 44541193869SPriit Laes clocks = <&ccu CLK_AHB_MMC0>, <&ccu CLK_MMC0>; 44641193869SPriit Laes clock-names = "ahb", "mmc"; 447b258b369SDavid Lanzendörfer interrupts = <32>; 448bca0d7d9SMaxime Ripard pinctrl-names = "default"; 449bca0d7d9SMaxime Ripard pinctrl-0 = <&mmc0_pins>; 450b258b369SDavid Lanzendörfer status = "disabled"; 4514c1bb9c3SHans de Goede #address-cells = <1>; 4524c1bb9c3SHans de Goede #size-cells = <0>; 453b258b369SDavid Lanzendörfer }; 454b258b369SDavid Lanzendörfer 4555841f6c0SMaxime Ripard mmc1: mmc@1c10000 { 456b258b369SDavid Lanzendörfer compatible = "allwinner,sun4i-a10-mmc"; 457b258b369SDavid Lanzendörfer reg = <0x01c10000 0x1000>; 45841193869SPriit Laes clocks = <&ccu CLK_AHB_MMC1>, <&ccu CLK_MMC1>; 45941193869SPriit Laes clock-names = "ahb", "mmc"; 460b258b369SDavid Lanzendörfer interrupts = <33>; 461b258b369SDavid Lanzendörfer status = "disabled"; 4624c1bb9c3SHans de Goede #address-cells = <1>; 4634c1bb9c3SHans de Goede #size-cells = <0>; 464b258b369SDavid Lanzendörfer }; 465b258b369SDavid Lanzendörfer 4665841f6c0SMaxime Ripard mmc2: mmc@1c11000 { 467b258b369SDavid Lanzendörfer compatible = "allwinner,sun4i-a10-mmc"; 468b258b369SDavid Lanzendörfer reg = <0x01c11000 0x1000>; 46941193869SPriit Laes clocks = <&ccu CLK_AHB_MMC2>, <&ccu CLK_MMC2>; 47041193869SPriit Laes clock-names = "ahb", "mmc"; 471b258b369SDavid Lanzendörfer interrupts = <34>; 472b258b369SDavid Lanzendörfer status = "disabled"; 4734c1bb9c3SHans de Goede #address-cells = <1>; 4744c1bb9c3SHans de Goede #size-cells = <0>; 475b258b369SDavid Lanzendörfer }; 476b258b369SDavid Lanzendörfer 4775841f6c0SMaxime Ripard mmc3: mmc@1c12000 { 478b258b369SDavid Lanzendörfer compatible = "allwinner,sun4i-a10-mmc"; 479b258b369SDavid Lanzendörfer reg = <0x01c12000 0x1000>; 48041193869SPriit Laes clocks = <&ccu CLK_AHB_MMC3>, <&ccu CLK_MMC3>; 48141193869SPriit Laes clock-names = "ahb", "mmc"; 482b258b369SDavid Lanzendörfer interrupts = <35>; 483b258b369SDavid Lanzendörfer status = "disabled"; 4844c1bb9c3SHans de Goede #address-cells = <1>; 4854c1bb9c3SHans de Goede #size-cells = <0>; 486b258b369SDavid Lanzendörfer }; 487b258b369SDavid Lanzendörfer 4885841f6c0SMaxime Ripard usb_otg: usb@1c13000 { 489ce65037fSHans de Goede compatible = "allwinner,sun4i-a10-musb"; 490ce65037fSHans de Goede reg = <0x01c13000 0x0400>; 49141193869SPriit Laes clocks = <&ccu CLK_AHB_OTG>; 492ce65037fSHans de Goede interrupts = <38>; 493ce65037fSHans de Goede interrupt-names = "mc"; 494ce65037fSHans de Goede phys = <&usbphy 0>; 495ce65037fSHans de Goede phy-names = "usb"; 496ce65037fSHans de Goede extcon = <&usbphy 0>; 497ce65037fSHans de Goede allwinner,sram = <&otg_sram 1>; 498d4fe5b15SMaxime Ripard dr_mode = "otg"; 499ce65037fSHans de Goede status = "disabled"; 500ce65037fSHans de Goede }; 501ce65037fSHans de Goede 5025841f6c0SMaxime Ripard usbphy: phy@1c13400 { 5036ab1ce24SRoman Byshko #phy-cells = <1>; 5046ab1ce24SRoman Byshko compatible = "allwinner,sun4i-a10-usb-phy"; 505655c0f42SMaxime Ripard reg = <0x01c13400 0x10>, <0x01c14800 0x4>, <0x01c1c800 0x4>; 5066ab1ce24SRoman Byshko reg-names = "phy_ctrl", "pmu1", "pmu2"; 50741193869SPriit Laes clocks = <&ccu CLK_USB_PHY>; 5086ab1ce24SRoman Byshko clock-names = "usb_phy"; 50941193869SPriit Laes resets = <&ccu RST_USB_PHY0>, 51041193869SPriit Laes <&ccu RST_USB_PHY1>, 51141193869SPriit Laes <&ccu RST_USB_PHY2>; 5124dba4185SChen-Yu Tsai reset-names = "usb0_reset", "usb1_reset", "usb2_reset"; 5136ab1ce24SRoman Byshko status = "disabled"; 5146ab1ce24SRoman Byshko }; 5156ab1ce24SRoman Byshko 5165841f6c0SMaxime Ripard ehci0: usb@1c14000 { 5176ab1ce24SRoman Byshko compatible = "allwinner,sun4i-a10-ehci", "generic-ehci"; 5186ab1ce24SRoman Byshko reg = <0x01c14000 0x100>; 5196ab1ce24SRoman Byshko interrupts = <39>; 52041193869SPriit Laes clocks = <&ccu CLK_AHB_EHCI0>; 5216ab1ce24SRoman Byshko phys = <&usbphy 1>; 522e6064cf4SMaxime Ripard phy-names = "usb"; 5236ab1ce24SRoman Byshko status = "disabled"; 5246ab1ce24SRoman Byshko }; 5256ab1ce24SRoman Byshko 5265841f6c0SMaxime Ripard ohci0: usb@1c14400 { 5276ab1ce24SRoman Byshko compatible = "allwinner,sun4i-a10-ohci", "generic-ohci"; 5286ab1ce24SRoman Byshko reg = <0x01c14400 0x100>; 5296ab1ce24SRoman Byshko interrupts = <64>; 53041193869SPriit Laes clocks = <&ccu CLK_USB_OHCI0>, <&ccu CLK_AHB_OHCI0>; 5316ab1ce24SRoman Byshko phys = <&usbphy 1>; 532e6064cf4SMaxime Ripard phy-names = "usb"; 5336ab1ce24SRoman Byshko status = "disabled"; 5346ab1ce24SRoman Byshko }; 5356ab1ce24SRoman Byshko 5365841f6c0SMaxime Ripard crypto: crypto-engine@1c15000 { 53756ba8c58SLABBE Corentin compatible = "allwinner,sun4i-a10-crypto"; 53856ba8c58SLABBE Corentin reg = <0x01c15000 0x1000>; 53956ba8c58SLABBE Corentin interrupts = <86>; 54041193869SPriit Laes clocks = <&ccu CLK_AHB_SS>, <&ccu CLK_SS>; 54156ba8c58SLABBE Corentin clock-names = "ahb", "mod"; 54256ba8c58SLABBE Corentin }; 54356ba8c58SLABBE Corentin 5440df4cf33SChen-Yu Tsai hdmi: hdmi@1c16000 { 5450df4cf33SChen-Yu Tsai compatible = "allwinner,sun4i-a10-hdmi"; 5460df4cf33SChen-Yu Tsai reg = <0x01c16000 0x1000>; 5470df4cf33SChen-Yu Tsai interrupts = <58>; 5480df4cf33SChen-Yu Tsai clocks = <&ccu CLK_AHB_HDMI0>, <&ccu CLK_HDMI>, 549e17e237cSChen-Yu Tsai <&ccu CLK_PLL_VIDEO0_2X>, 550e17e237cSChen-Yu Tsai <&ccu CLK_PLL_VIDEO1_2X>; 5510df4cf33SChen-Yu Tsai clock-names = "ahb", "mod", "pll-0", "pll-1"; 5520df4cf33SChen-Yu Tsai dmas = <&dma SUN4I_DMA_NORMAL 16>, 5530df4cf33SChen-Yu Tsai <&dma SUN4I_DMA_NORMAL 16>, 5540df4cf33SChen-Yu Tsai <&dma SUN4I_DMA_DEDICATED 24>; 5550df4cf33SChen-Yu Tsai dma-names = "ddc-tx", "ddc-rx", "audio-tx"; 5560df4cf33SChen-Yu Tsai status = "disabled"; 5570df4cf33SChen-Yu Tsai 5580df4cf33SChen-Yu Tsai ports { 5590df4cf33SChen-Yu Tsai #address-cells = <1>; 5600df4cf33SChen-Yu Tsai #size-cells = <0>; 5610df4cf33SChen-Yu Tsai 5620df4cf33SChen-Yu Tsai hdmi_in: port@0 { 5630df4cf33SChen-Yu Tsai #address-cells = <1>; 5640df4cf33SChen-Yu Tsai #size-cells = <0>; 5650df4cf33SChen-Yu Tsai reg = <0>; 5660df4cf33SChen-Yu Tsai 5670df4cf33SChen-Yu Tsai hdmi_in_tcon0: endpoint@0 { 5680df4cf33SChen-Yu Tsai reg = <0>; 5690df4cf33SChen-Yu Tsai remote-endpoint = <&tcon0_out_hdmi>; 5700df4cf33SChen-Yu Tsai }; 5710df4cf33SChen-Yu Tsai 5720df4cf33SChen-Yu Tsai hdmi_in_tcon1: endpoint@1 { 5730df4cf33SChen-Yu Tsai reg = <1>; 5740df4cf33SChen-Yu Tsai remote-endpoint = <&tcon1_out_hdmi>; 5750df4cf33SChen-Yu Tsai }; 5760df4cf33SChen-Yu Tsai }; 5770df4cf33SChen-Yu Tsai 5780df4cf33SChen-Yu Tsai hdmi_out: port@1 { 5790df4cf33SChen-Yu Tsai reg = <1>; 5800df4cf33SChen-Yu Tsai }; 5810df4cf33SChen-Yu Tsai }; 5820df4cf33SChen-Yu Tsai }; 5830df4cf33SChen-Yu Tsai 5845841f6c0SMaxime Ripard spi2: spi@1c17000 { 58565918e26SMaxime Ripard compatible = "allwinner,sun4i-a10-spi"; 58665918e26SMaxime Ripard reg = <0x01c17000 0x1000>; 58765918e26SMaxime Ripard interrupts = <12>; 58841193869SPriit Laes clocks = <&ccu CLK_AHB_SPI2>, <&ccu CLK_SPI2>; 58965918e26SMaxime Ripard clock-names = "ahb", "mod"; 5901f9f6a78SMaxime Ripard dmas = <&dma SUN4I_DMA_DEDICATED 29>, 5911f9f6a78SMaxime Ripard <&dma SUN4I_DMA_DEDICATED 28>; 5924192ff81SEmilio López dma-names = "rx", "tx"; 59365918e26SMaxime Ripard status = "disabled"; 59465918e26SMaxime Ripard #address-cells = <1>; 59565918e26SMaxime Ripard #size-cells = <0>; 59665918e26SMaxime Ripard }; 59765918e26SMaxime Ripard 5985841f6c0SMaxime Ripard ahci: sata@1c18000 { 599248bd1e2SOliver Schinagl compatible = "allwinner,sun4i-a10-ahci"; 600248bd1e2SOliver Schinagl reg = <0x01c18000 0x1000>; 601248bd1e2SOliver Schinagl interrupts = <56>; 60241193869SPriit Laes clocks = <&ccu CLK_AHB_SATA>, <&ccu CLK_SATA>; 603248bd1e2SOliver Schinagl status = "disabled"; 604248bd1e2SOliver Schinagl }; 605248bd1e2SOliver Schinagl 6065841f6c0SMaxime Ripard ehci1: usb@1c1c000 { 6076ab1ce24SRoman Byshko compatible = "allwinner,sun4i-a10-ehci", "generic-ehci"; 6086ab1ce24SRoman Byshko reg = <0x01c1c000 0x100>; 6096ab1ce24SRoman Byshko interrupts = <40>; 61041193869SPriit Laes clocks = <&ccu CLK_AHB_EHCI1>; 6116ab1ce24SRoman Byshko phys = <&usbphy 2>; 612e6064cf4SMaxime Ripard phy-names = "usb"; 6136ab1ce24SRoman Byshko status = "disabled"; 6146ab1ce24SRoman Byshko }; 6156ab1ce24SRoman Byshko 6165841f6c0SMaxime Ripard ohci1: usb@1c1c400 { 6176ab1ce24SRoman Byshko compatible = "allwinner,sun4i-a10-ohci", "generic-ohci"; 6186ab1ce24SRoman Byshko reg = <0x01c1c400 0x100>; 6196ab1ce24SRoman Byshko interrupts = <65>; 62041193869SPriit Laes clocks = <&ccu CLK_USB_OHCI1>, <&ccu CLK_AHB_OHCI1>; 6216ab1ce24SRoman Byshko phys = <&usbphy 2>; 622e6064cf4SMaxime Ripard phy-names = "usb"; 6236ab1ce24SRoman Byshko status = "disabled"; 6246ab1ce24SRoman Byshko }; 6256ab1ce24SRoman Byshko 6267faf7fbfSChen-Yu Tsai csi1: csi@1c1d000 { 6277faf7fbfSChen-Yu Tsai compatible = "allwinner,sun4i-a10-csi1"; 6287faf7fbfSChen-Yu Tsai reg = <0x01c1d000 0x1000>; 6297faf7fbfSChen-Yu Tsai interrupts = <43>; 6307faf7fbfSChen-Yu Tsai clocks = <&ccu CLK_AHB_CSI1>, <&ccu CLK_DRAM_CSI1>; 6317faf7fbfSChen-Yu Tsai clock-names = "bus", "ram"; 6327faf7fbfSChen-Yu Tsai resets = <&ccu RST_CSI1>; 6337faf7fbfSChen-Yu Tsai status = "disabled"; 6347faf7fbfSChen-Yu Tsai }; 6357faf7fbfSChen-Yu Tsai 6365841f6c0SMaxime Ripard spi3: spi@1c1f000 { 63765918e26SMaxime Ripard compatible = "allwinner,sun4i-a10-spi"; 63865918e26SMaxime Ripard reg = <0x01c1f000 0x1000>; 63965918e26SMaxime Ripard interrupts = <50>; 64041193869SPriit Laes clocks = <&ccu CLK_AHB_SPI3>, <&ccu CLK_SPI3>; 64165918e26SMaxime Ripard clock-names = "ahb", "mod"; 6421f9f6a78SMaxime Ripard dmas = <&dma SUN4I_DMA_DEDICATED 31>, 6431f9f6a78SMaxime Ripard <&dma SUN4I_DMA_DEDICATED 30>; 6444192ff81SEmilio López dma-names = "rx", "tx"; 64565918e26SMaxime Ripard status = "disabled"; 64665918e26SMaxime Ripard #address-cells = <1>; 64765918e26SMaxime Ripard #size-cells = <0>; 64865918e26SMaxime Ripard }; 64965918e26SMaxime Ripard 6505841f6c0SMaxime Ripard ccu: clock@1c20000 { 65141193869SPriit Laes compatible = "allwinner,sun4i-a10-ccu"; 65241193869SPriit Laes reg = <0x01c20000 0x400>; 65341193869SPriit Laes clocks = <&osc24M>, <&osc32k>; 65441193869SPriit Laes clock-names = "hosc", "losc"; 65541193869SPriit Laes #clock-cells = <1>; 65641193869SPriit Laes #reset-cells = <1>; 65741193869SPriit Laes }; 65841193869SPriit Laes 6595841f6c0SMaxime Ripard intc: interrupt-controller@1c20400 { 66009504a7dSMaxime Ripard compatible = "allwinner,sun4i-a10-ic"; 66169144e3bSMaxime Ripard reg = <0x01c20400 0x400>; 66269144e3bSMaxime Ripard interrupt-controller; 66369144e3bSMaxime Ripard #interrupt-cells = <1>; 66469144e3bSMaxime Ripard }; 66569144e3bSMaxime Ripard 6665841f6c0SMaxime Ripard pio: pinctrl@1c20800 { 667874b4e45SMaxime Ripard compatible = "allwinner,sun4i-a10-pinctrl"; 668874b4e45SMaxime Ripard reg = <0x01c20800 0x400>; 66939138bc6SMaxime Ripard interrupts = <28>; 67041193869SPriit Laes clocks = <&ccu CLK_APB0_PIO>, <&osc24M>, <&osc32k>; 671be7bc6b9SMaxime Ripard clock-names = "apb", "hosc", "losc"; 672e10911e1SMaxime Ripard gpio-controller; 67339138bc6SMaxime Ripard interrupt-controller; 674b03e0816SMaxime Ripard #interrupt-cells = <3>; 675e10911e1SMaxime Ripard #gpio-cells = <3>; 676581981beSMaxime Ripard 677e53bd761SMaxime Ripard can0_ph_pins: can0-ph-pins { 678908370f6SPatrick Menschel pins = "PH20", "PH21"; 679908370f6SPatrick Menschel function = "can"; 680908370f6SPatrick Menschel }; 681908370f6SPatrick Menschel 6827faf7fbfSChen-Yu Tsai /omit-if-no-ref/ 6837faf7fbfSChen-Yu Tsai csi1_8bits_pg_pins: csi1-8bits-pg-pins { 6847faf7fbfSChen-Yu Tsai pins = "PG0", "PG2", "PG3", "PG4", "PG5", 6857faf7fbfSChen-Yu Tsai "PG6", "PG7", "PG8", "PG9", "PG10", 6867faf7fbfSChen-Yu Tsai "PG11"; 6877faf7fbfSChen-Yu Tsai function = "csi1"; 6887faf7fbfSChen-Yu Tsai }; 6897faf7fbfSChen-Yu Tsai 6907faf7fbfSChen-Yu Tsai /omit-if-no-ref/ 6917faf7fbfSChen-Yu Tsai csi1_24bits_ph_pins: csi1-24bits-ph-pins { 6927faf7fbfSChen-Yu Tsai pins = "PH0", "PH1", "PH2", "PH3", "PH4", 6937faf7fbfSChen-Yu Tsai "PH5", "PH6", "PH7", "PH8", "PH9", 6947faf7fbfSChen-Yu Tsai "PH10", "PH11", "PH12", "PH13", "PH14", 6957faf7fbfSChen-Yu Tsai "PH15", "PH16", "PH17", "PH18", "PH19", 6967faf7fbfSChen-Yu Tsai "PH20", "PH21", "PH22", "PH23", "PH24", 6977faf7fbfSChen-Yu Tsai "PH25", "PH26", "PH27"; 6987faf7fbfSChen-Yu Tsai function = "csi1"; 6997faf7fbfSChen-Yu Tsai }; 7007faf7fbfSChen-Yu Tsai 7017faf7fbfSChen-Yu Tsai /omit-if-no-ref/ 7027faf7fbfSChen-Yu Tsai csi1_clk_pg_pin: csi1-clk-pg-pin { 7037faf7fbfSChen-Yu Tsai pins = "PG1"; 7047faf7fbfSChen-Yu Tsai function = "csi1"; 7057faf7fbfSChen-Yu Tsai }; 7067faf7fbfSChen-Yu Tsai 707e53bd761SMaxime Ripard emac_pins: emac0-pins { 7081edcd36fSMaxime Ripard pins = "PA0", "PA1", "PA2", 70903907ab3SAleksei Mamlin "PA3", "PA4", "PA5", "PA6", 71003907ab3SAleksei Mamlin "PA7", "PA8", "PA9", "PA10", 71103907ab3SAleksei Mamlin "PA11", "PA12", "PA13", "PA14", 71203907ab3SAleksei Mamlin "PA15", "PA16"; 7131edcd36fSMaxime Ripard function = "emac"; 714581981beSMaxime Ripard }; 71527cce4ffSMaxime Ripard 716e53bd761SMaxime Ripard i2c0_pins: i2c0-pins { 7171edcd36fSMaxime Ripard pins = "PB0", "PB1"; 7181edcd36fSMaxime Ripard function = "i2c0"; 71927cce4ffSMaxime Ripard }; 72027cce4ffSMaxime Ripard 721e53bd761SMaxime Ripard i2c1_pins: i2c1-pins { 7221edcd36fSMaxime Ripard pins = "PB18", "PB19"; 7231edcd36fSMaxime Ripard function = "i2c1"; 72427cce4ffSMaxime Ripard }; 72527cce4ffSMaxime Ripard 726e53bd761SMaxime Ripard i2c2_pins: i2c2-pins { 7271edcd36fSMaxime Ripard pins = "PB20", "PB21"; 7281edcd36fSMaxime Ripard function = "i2c2"; 72927cce4ffSMaxime Ripard }; 730496322bcSLinus Torvalds 731e53bd761SMaxime Ripard ir0_rx_pins: ir0-rx-pin { 7321edcd36fSMaxime Ripard pins = "PB4"; 7331edcd36fSMaxime Ripard function = "ir0"; 734a4e1099aSHans de Goede }; 735a4e1099aSHans de Goede 736e53bd761SMaxime Ripard ir0_tx_pins: ir0-tx-pin { 7371edcd36fSMaxime Ripard pins = "PB3"; 7381edcd36fSMaxime Ripard function = "ir0"; 739469a22e6SMarcus Cooper }; 740469a22e6SMarcus Cooper 741e53bd761SMaxime Ripard ir1_rx_pins: ir1-rx-pin { 7421edcd36fSMaxime Ripard pins = "PB23"; 7431edcd36fSMaxime Ripard function = "ir1"; 744469a22e6SMarcus Cooper }; 745469a22e6SMarcus Cooper 746e53bd761SMaxime Ripard ir1_tx_pins: ir1-tx-pin { 7471edcd36fSMaxime Ripard pins = "PB22"; 7481edcd36fSMaxime Ripard function = "ir1"; 749a4e1099aSHans de Goede }; 750ec66d0bbSAlexandru Gagniuc 751e53bd761SMaxime Ripard mmc0_pins: mmc0-pins { 7521edcd36fSMaxime Ripard pins = "PF0", "PF1", "PF2", 75303907ab3SAleksei Mamlin "PF3", "PF4", "PF5"; 7541edcd36fSMaxime Ripard function = "mmc0"; 7551edcd36fSMaxime Ripard drive-strength = <30>; 75680ee72e7SChen-Yu Tsai bias-pull-up; 75703907ab3SAleksei Mamlin }; 75803907ab3SAleksei Mamlin 759e53bd761SMaxime Ripard ps2_ch0_pins: ps2-ch0-pins { 7601edcd36fSMaxime Ripard pins = "PI20", "PI21"; 7611edcd36fSMaxime Ripard function = "ps2"; 76203907ab3SAleksei Mamlin }; 76303907ab3SAleksei Mamlin 764e53bd761SMaxime Ripard ps2_ch1_ph_pins: ps2-ch1-ph-pins { 7651edcd36fSMaxime Ripard pins = "PH12", "PH13"; 7661edcd36fSMaxime Ripard function = "ps2"; 76703907ab3SAleksei Mamlin }; 76803907ab3SAleksei Mamlin 769e53bd761SMaxime Ripard pwm0_pin: pwm0-pin { 7701edcd36fSMaxime Ripard pins = "PB2"; 7711edcd36fSMaxime Ripard function = "pwm"; 77203907ab3SAleksei Mamlin }; 77303907ab3SAleksei Mamlin 774e53bd761SMaxime Ripard pwm1_pin: pwm1-pin { 7751edcd36fSMaxime Ripard pins = "PI3"; 7761edcd36fSMaxime Ripard function = "pwm"; 77703907ab3SAleksei Mamlin }; 77803907ab3SAleksei Mamlin 779e53bd761SMaxime Ripard spdif_tx_pin: spdif-tx-pin { 7801edcd36fSMaxime Ripard pins = "PB13"; 7811edcd36fSMaxime Ripard function = "spdif"; 7821edcd36fSMaxime Ripard bias-pull-up; 78303907ab3SAleksei Mamlin }; 78403907ab3SAleksei Mamlin 785e53bd761SMaxime Ripard spi0_pi_pins: spi0-pi-pins { 7861edcd36fSMaxime Ripard pins = "PI11", "PI12", "PI13"; 7871edcd36fSMaxime Ripard function = "spi0"; 788f3022c6cSMaxime Ripard }; 789f3022c6cSMaxime Ripard 790e53bd761SMaxime Ripard spi0_cs0_pi_pin: spi0-cs0-pi-pin { 7911edcd36fSMaxime Ripard pins = "PI10"; 7921edcd36fSMaxime Ripard function = "spi0"; 793ec66d0bbSAlexandru Gagniuc }; 794ec66d0bbSAlexandru Gagniuc 795e53bd761SMaxime Ripard spi1_pins: spi1-pins { 7961edcd36fSMaxime Ripard pins = "PI17", "PI18", "PI19"; 7971edcd36fSMaxime Ripard function = "spi1"; 798f3022c6cSMaxime Ripard }; 799f3022c6cSMaxime Ripard 800e53bd761SMaxime Ripard spi1_cs0_pin: spi1-cs0-pin { 8011edcd36fSMaxime Ripard pins = "PI16"; 8021edcd36fSMaxime Ripard function = "spi1"; 803ec66d0bbSAlexandru Gagniuc }; 804ec66d0bbSAlexandru Gagniuc 805e53bd761SMaxime Ripard spi2_pb_pins: spi2-pb-pins { 8061edcd36fSMaxime Ripard pins = "PB15", "PB16", "PB17"; 8071edcd36fSMaxime Ripard function = "spi2"; 808f3022c6cSMaxime Ripard }; 809f3022c6cSMaxime Ripard 810e53bd761SMaxime Ripard spi2_pc_pins: spi2-pc-pins { 811e53bd761SMaxime Ripard pins = "PC20", "PC21", "PC22"; 8121edcd36fSMaxime Ripard function = "spi2"; 813f3022c6cSMaxime Ripard }; 814f3022c6cSMaxime Ripard 815e53bd761SMaxime Ripard spi2_cs0_pb_pin: spi2-cs0-pb-pin { 8161edcd36fSMaxime Ripard pins = "PB14"; 8171edcd36fSMaxime Ripard function = "spi2"; 818ec66d0bbSAlexandru Gagniuc }; 8191e8d1567SVishnu Patekar 820e53bd761SMaxime Ripard spi2_cs0_pc_pins: spi2-cs0-pc-pin { 821e53bd761SMaxime Ripard pins = "PC19"; 822e53bd761SMaxime Ripard function = "spi2"; 823e53bd761SMaxime Ripard }; 824e53bd761SMaxime Ripard 825e53bd761SMaxime Ripard uart0_pb_pins: uart0-pb-pins { 8261edcd36fSMaxime Ripard pins = "PB22", "PB23"; 8271edcd36fSMaxime Ripard function = "uart0"; 8281e8d1567SVishnu Patekar }; 8291e8d1567SVishnu Patekar 830e53bd761SMaxime Ripard uart0_pf_pins: uart0-pf-pins { 8311edcd36fSMaxime Ripard pins = "PF2", "PF4"; 8321edcd36fSMaxime Ripard function = "uart0"; 833b5f86a3aSHans de Goede }; 83479f969f0SMarcus Cooper 835e53bd761SMaxime Ripard uart1_pins: uart1-pins { 8361edcd36fSMaxime Ripard pins = "PA10", "PA11"; 8371edcd36fSMaxime Ripard function = "uart1"; 83879f969f0SMarcus Cooper }; 839874b4e45SMaxime Ripard }; 84089b3c99fSMaxime Ripard 8415841f6c0SMaxime Ripard timer@1c20c00 { 842b4f26440SMaxime Ripard compatible = "allwinner,sun4i-a10-timer"; 84369144e3bSMaxime Ripard reg = <0x01c20c00 0x90>; 84414c17ed2SMaxime Ripard interrupts = <22>, 84514c17ed2SMaxime Ripard <23>, 84614c17ed2SMaxime Ripard <24>, 84714c17ed2SMaxime Ripard <25>, 84814c17ed2SMaxime Ripard <67>, 84914c17ed2SMaxime Ripard <68>; 85069144e3bSMaxime Ripard clocks = <&osc24M>; 85169144e3bSMaxime Ripard }; 85269144e3bSMaxime Ripard 8535841f6c0SMaxime Ripard wdt: watchdog@1c20c90 { 854ca5d04d9SMaxime Ripard compatible = "allwinner,sun4i-a10-wdt"; 85569144e3bSMaxime Ripard reg = <0x01c20c90 0x10>; 85689d1e514SMaxime Ripard interrupts = <24>; 8579e1975f0SMaxime Ripard clocks = <&osc24M>; 85869144e3bSMaxime Ripard }; 85969144e3bSMaxime Ripard 8605841f6c0SMaxime Ripard rtc: rtc@1c20d00 { 8615fc4bc89SMaxime Ripard compatible = "allwinner,sun4i-a10-rtc"; 862b5d905c7SCarlo Caione reg = <0x01c20d00 0x20>; 863b5d905c7SCarlo Caione interrupts = <24>; 864b5d905c7SCarlo Caione }; 865b5d905c7SCarlo Caione 8665841f6c0SMaxime Ripard pwm: pwm@1c20e00 { 8674b57a395SAlexandre Belloni compatible = "allwinner,sun4i-a10-pwm"; 8684b57a395SAlexandre Belloni reg = <0x01c20e00 0xc>; 8694b57a395SAlexandre Belloni clocks = <&osc24M>; 8704b57a395SAlexandre Belloni #pwm-cells = <3>; 8714b57a395SAlexandre Belloni status = "disabled"; 8724b57a395SAlexandre Belloni }; 8734b57a395SAlexandre Belloni 8745841f6c0SMaxime Ripard spdif: spdif@1c21000 { 875166db83eSMarcus Cooper #sound-dai-cells = <0>; 876166db83eSMarcus Cooper compatible = "allwinner,sun4i-a10-spdif"; 877166db83eSMarcus Cooper reg = <0x01c21000 0x400>; 878166db83eSMarcus Cooper interrupts = <13>; 87941193869SPriit Laes clocks = <&ccu CLK_APB0_SPDIF>, <&ccu CLK_SPDIF>; 880166db83eSMarcus Cooper clock-names = "apb", "spdif"; 881166db83eSMarcus Cooper dmas = <&dma SUN4I_DMA_NORMAL 2>, 882166db83eSMarcus Cooper <&dma SUN4I_DMA_NORMAL 2>; 883166db83eSMarcus Cooper dma-names = "rx", "tx"; 884166db83eSMarcus Cooper status = "disabled"; 885166db83eSMarcus Cooper }; 886166db83eSMarcus Cooper 8875841f6c0SMaxime Ripard ir0: ir@1c21800 { 888a4e1099aSHans de Goede compatible = "allwinner,sun4i-a10-ir"; 88941193869SPriit Laes clocks = <&ccu CLK_APB0_IR0>, <&ccu CLK_IR0>; 890a4e1099aSHans de Goede clock-names = "apb", "ir"; 891a4e1099aSHans de Goede interrupts = <5>; 892a4e1099aSHans de Goede reg = <0x01c21800 0x40>; 893a4e1099aSHans de Goede status = "disabled"; 894a4e1099aSHans de Goede }; 895a4e1099aSHans de Goede 8965841f6c0SMaxime Ripard ir1: ir@1c21c00 { 897a4e1099aSHans de Goede compatible = "allwinner,sun4i-a10-ir"; 89841193869SPriit Laes clocks = <&ccu CLK_APB0_IR1>, <&ccu CLK_IR1>; 899a4e1099aSHans de Goede clock-names = "apb", "ir"; 900a4e1099aSHans de Goede interrupts = <6>; 901a4e1099aSHans de Goede reg = <0x01c21c00 0x40>; 902a4e1099aSHans de Goede status = "disabled"; 903a4e1099aSHans de Goede }; 904a4e1099aSHans de Goede 9055841f6c0SMaxime Ripard i2s0: i2s@1c22400 { 906d84a0c0aSPriit Laes #sound-dai-cells = <0>; 907d84a0c0aSPriit Laes compatible = "allwinner,sun4i-a10-i2s"; 908d84a0c0aSPriit Laes reg = <0x01c22400 0x400>; 909d84a0c0aSPriit Laes interrupts = <16>; 910d84a0c0aSPriit Laes clocks = <&ccu CLK_APB0_I2S0>, <&ccu CLK_I2S0>; 911d84a0c0aSPriit Laes clock-names = "apb", "mod"; 912d84a0c0aSPriit Laes dmas = <&dma SUN4I_DMA_NORMAL 3>, 913d84a0c0aSPriit Laes <&dma SUN4I_DMA_NORMAL 3>; 914d84a0c0aSPriit Laes dma-names = "rx", "tx"; 915d84a0c0aSPriit Laes status = "disabled"; 916d84a0c0aSPriit Laes }; 917d84a0c0aSPriit Laes 9185841f6c0SMaxime Ripard lradc: lradc@1c22800 { 919b0512e15SHans de Goede compatible = "allwinner,sun4i-a10-lradc-keys"; 920b0512e15SHans de Goede reg = <0x01c22800 0x100>; 921b0512e15SHans de Goede interrupts = <31>; 922b0512e15SHans de Goede status = "disabled"; 923b0512e15SHans de Goede }; 924b0512e15SHans de Goede 9255841f6c0SMaxime Ripard codec: codec@1c22c00 { 926bcf88450SMarcus Cooper #sound-dai-cells = <0>; 927bcf88450SMarcus Cooper compatible = "allwinner,sun4i-a10-codec"; 928bcf88450SMarcus Cooper reg = <0x01c22c00 0x40>; 929bcf88450SMarcus Cooper interrupts = <30>; 93041193869SPriit Laes clocks = <&ccu CLK_APB0_CODEC>, <&ccu CLK_CODEC>; 931bcf88450SMarcus Cooper clock-names = "apb", "codec"; 932bcf88450SMarcus Cooper dmas = <&dma SUN4I_DMA_NORMAL 19>, 933bcf88450SMarcus Cooper <&dma SUN4I_DMA_NORMAL 19>; 934bcf88450SMarcus Cooper dma-names = "rx", "tx"; 935bcf88450SMarcus Cooper status = "disabled"; 936bcf88450SMarcus Cooper }; 937bcf88450SMarcus Cooper 9385841f6c0SMaxime Ripard sid: eeprom@1c23800 { 939043d56eeSMaxime Ripard compatible = "allwinner,sun4i-a10-sid"; 9402bad969fSOliver Schinagl reg = <0x01c23800 0x10>; 9412bad969fSOliver Schinagl }; 9422bad969fSOliver Schinagl 9435841f6c0SMaxime Ripard rtp: rtp@1c25000 { 94440dd8f3bSMaxime Ripard compatible = "allwinner,sun4i-a10-ts"; 94557c8839cSHans de Goede reg = <0x01c25000 0x100>; 94657c8839cSHans de Goede interrupts = <29>; 94741e7afb1SChen-Yu Tsai #thermal-sensor-cells = <0>; 94857c8839cSHans de Goede }; 94957c8839cSHans de Goede 9505841f6c0SMaxime Ripard uart0: serial@1c28000 { 95189b3c99fSMaxime Ripard compatible = "snps,dw-apb-uart"; 95289b3c99fSMaxime Ripard reg = <0x01c28000 0x400>; 95389b3c99fSMaxime Ripard interrupts = <1>; 95489b3c99fSMaxime Ripard reg-shift = <2>; 95589b3c99fSMaxime Ripard reg-io-width = <4>; 95641193869SPriit Laes clocks = <&ccu CLK_APB1_UART0>; 95789b3c99fSMaxime Ripard status = "disabled"; 95889b3c99fSMaxime Ripard }; 95976f14d0aSMaxime Ripard 9605841f6c0SMaxime Ripard uart1: serial@1c28400 { 96169144e3bSMaxime Ripard compatible = "snps,dw-apb-uart"; 96269144e3bSMaxime Ripard reg = <0x01c28400 0x400>; 96369144e3bSMaxime Ripard interrupts = <2>; 96469144e3bSMaxime Ripard reg-shift = <2>; 96569144e3bSMaxime Ripard reg-io-width = <4>; 96641193869SPriit Laes clocks = <&ccu CLK_APB1_UART1>; 96769144e3bSMaxime Ripard status = "disabled"; 96869144e3bSMaxime Ripard }; 96969144e3bSMaxime Ripard 9705841f6c0SMaxime Ripard uart2: serial@1c28800 { 97176f14d0aSMaxime Ripard compatible = "snps,dw-apb-uart"; 97276f14d0aSMaxime Ripard reg = <0x01c28800 0x400>; 97376f14d0aSMaxime Ripard interrupts = <3>; 97476f14d0aSMaxime Ripard reg-shift = <2>; 97576f14d0aSMaxime Ripard reg-io-width = <4>; 97641193869SPriit Laes clocks = <&ccu CLK_APB1_UART2>; 97776f14d0aSMaxime Ripard status = "disabled"; 97876f14d0aSMaxime Ripard }; 97976f14d0aSMaxime Ripard 9805841f6c0SMaxime Ripard uart3: serial@1c28c00 { 98169144e3bSMaxime Ripard compatible = "snps,dw-apb-uart"; 98269144e3bSMaxime Ripard reg = <0x01c28c00 0x400>; 98369144e3bSMaxime Ripard interrupts = <4>; 98469144e3bSMaxime Ripard reg-shift = <2>; 98569144e3bSMaxime Ripard reg-io-width = <4>; 98641193869SPriit Laes clocks = <&ccu CLK_APB1_UART3>; 98769144e3bSMaxime Ripard status = "disabled"; 98869144e3bSMaxime Ripard }; 98969144e3bSMaxime Ripard 9905841f6c0SMaxime Ripard uart4: serial@1c29000 { 99176f14d0aSMaxime Ripard compatible = "snps,dw-apb-uart"; 99276f14d0aSMaxime Ripard reg = <0x01c29000 0x400>; 99376f14d0aSMaxime Ripard interrupts = <17>; 99476f14d0aSMaxime Ripard reg-shift = <2>; 99576f14d0aSMaxime Ripard reg-io-width = <4>; 99641193869SPriit Laes clocks = <&ccu CLK_APB1_UART4>; 99776f14d0aSMaxime Ripard status = "disabled"; 99876f14d0aSMaxime Ripard }; 99976f14d0aSMaxime Ripard 10005841f6c0SMaxime Ripard uart5: serial@1c29400 { 100176f14d0aSMaxime Ripard compatible = "snps,dw-apb-uart"; 100276f14d0aSMaxime Ripard reg = <0x01c29400 0x400>; 100376f14d0aSMaxime Ripard interrupts = <18>; 100476f14d0aSMaxime Ripard reg-shift = <2>; 100576f14d0aSMaxime Ripard reg-io-width = <4>; 100641193869SPriit Laes clocks = <&ccu CLK_APB1_UART5>; 100776f14d0aSMaxime Ripard status = "disabled"; 100876f14d0aSMaxime Ripard }; 100976f14d0aSMaxime Ripard 10105841f6c0SMaxime Ripard uart6: serial@1c29800 { 101176f14d0aSMaxime Ripard compatible = "snps,dw-apb-uart"; 101276f14d0aSMaxime Ripard reg = <0x01c29800 0x400>; 101376f14d0aSMaxime Ripard interrupts = <19>; 101476f14d0aSMaxime Ripard reg-shift = <2>; 101576f14d0aSMaxime Ripard reg-io-width = <4>; 101641193869SPriit Laes clocks = <&ccu CLK_APB1_UART6>; 101776f14d0aSMaxime Ripard status = "disabled"; 101876f14d0aSMaxime Ripard }; 101976f14d0aSMaxime Ripard 10205841f6c0SMaxime Ripard uart7: serial@1c29c00 { 102176f14d0aSMaxime Ripard compatible = "snps,dw-apb-uart"; 102276f14d0aSMaxime Ripard reg = <0x01c29c00 0x400>; 102376f14d0aSMaxime Ripard interrupts = <20>; 102476f14d0aSMaxime Ripard reg-shift = <2>; 102576f14d0aSMaxime Ripard reg-io-width = <4>; 102641193869SPriit Laes clocks = <&ccu CLK_APB1_UART7>; 102776f14d0aSMaxime Ripard status = "disabled"; 102876f14d0aSMaxime Ripard }; 1029f1741fdaSMaxime Ripard 10305841f6c0SMaxime Ripard ps20: ps2@1c2a000 { 1031a2294bd6SPatrick Menschel compatible = "allwinner,sun4i-a10-ps2"; 1032a2294bd6SPatrick Menschel reg = <0x01c2a000 0x400>; 1033a2294bd6SPatrick Menschel interrupts = <62>; 103441193869SPriit Laes clocks = <&ccu CLK_APB1_PS20>; 1035a2294bd6SPatrick Menschel status = "disabled"; 1036a2294bd6SPatrick Menschel }; 1037a2294bd6SPatrick Menschel 10385841f6c0SMaxime Ripard ps21: ps2@1c2a400 { 1039a2294bd6SPatrick Menschel compatible = "allwinner,sun4i-a10-ps2"; 1040a2294bd6SPatrick Menschel reg = <0x01c2a400 0x400>; 1041a2294bd6SPatrick Menschel interrupts = <63>; 104241193869SPriit Laes clocks = <&ccu CLK_APB1_PS21>; 1043a2294bd6SPatrick Menschel status = "disabled"; 1044a2294bd6SPatrick Menschel }; 1045a2294bd6SPatrick Menschel 10465841f6c0SMaxime Ripard i2c0: i2c@1c2ac00 { 1047d275545eSMaxime Ripard compatible = "allwinner,sun4i-a10-i2c"; 1048f1741fdaSMaxime Ripard reg = <0x01c2ac00 0x400>; 1049f1741fdaSMaxime Ripard interrupts = <7>; 105041193869SPriit Laes clocks = <&ccu CLK_APB1_I2C0>; 1051bca0d7d9SMaxime Ripard pinctrl-names = "default"; 1052bca0d7d9SMaxime Ripard pinctrl-0 = <&i2c0_pins>; 1053f1741fdaSMaxime Ripard status = "disabled"; 105460bbe316SHans de Goede #address-cells = <1>; 105560bbe316SHans de Goede #size-cells = <0>; 1056f1741fdaSMaxime Ripard }; 1057f1741fdaSMaxime Ripard 10585841f6c0SMaxime Ripard i2c1: i2c@1c2b000 { 1059d275545eSMaxime Ripard compatible = "allwinner,sun4i-a10-i2c"; 1060f1741fdaSMaxime Ripard reg = <0x01c2b000 0x400>; 1061f1741fdaSMaxime Ripard interrupts = <8>; 106241193869SPriit Laes clocks = <&ccu CLK_APB1_I2C1>; 1063bca0d7d9SMaxime Ripard pinctrl-names = "default"; 1064bca0d7d9SMaxime Ripard pinctrl-0 = <&i2c1_pins>; 1065f1741fdaSMaxime Ripard status = "disabled"; 106660bbe316SHans de Goede #address-cells = <1>; 106760bbe316SHans de Goede #size-cells = <0>; 1068f1741fdaSMaxime Ripard }; 1069f1741fdaSMaxime Ripard 10705841f6c0SMaxime Ripard i2c2: i2c@1c2b400 { 1071d275545eSMaxime Ripard compatible = "allwinner,sun4i-a10-i2c"; 1072f1741fdaSMaxime Ripard reg = <0x01c2b400 0x400>; 1073f1741fdaSMaxime Ripard interrupts = <9>; 107441193869SPriit Laes clocks = <&ccu CLK_APB1_I2C2>; 1075bca0d7d9SMaxime Ripard pinctrl-names = "default"; 1076bca0d7d9SMaxime Ripard pinctrl-0 = <&i2c2_pins>; 1077f1741fdaSMaxime Ripard status = "disabled"; 107860bbe316SHans de Goede #address-cells = <1>; 107960bbe316SHans de Goede #size-cells = <0>; 1080f1741fdaSMaxime Ripard }; 1081196654aeSVishnu Patekar 10825841f6c0SMaxime Ripard can0: can@1c2bc00 { 1083adb83474SPatrick Menschel compatible = "allwinner,sun4i-a10-can"; 1084adb83474SPatrick Menschel reg = <0x01c2bc00 0x400>; 1085adb83474SPatrick Menschel interrupts = <26>; 108641193869SPriit Laes clocks = <&ccu CLK_APB1_CAN>; 1087adb83474SPatrick Menschel status = "disabled"; 1088adb83474SPatrick Menschel }; 10890df4cf33SChen-Yu Tsai 1090c0476a31SSteven Vanden Branden mali: gpu@1c40000 { 1091c0476a31SSteven Vanden Branden compatible = "allwinner,sun4i-a10-mali", "arm,mali-400"; 1092c0476a31SSteven Vanden Branden reg = <0x01c40000 0x10000>; 1093c0476a31SSteven Vanden Branden interrupts = <69>, 1094c0476a31SSteven Vanden Branden <70>, 1095c0476a31SSteven Vanden Branden <71>, 1096c0476a31SSteven Vanden Branden <72>, 1097c0476a31SSteven Vanden Branden <73>; 1098c0476a31SSteven Vanden Branden interrupt-names = "gp", 1099c0476a31SSteven Vanden Branden "gpmmu", 1100c0476a31SSteven Vanden Branden "pp0", 1101c0476a31SSteven Vanden Branden "ppmmu0", 1102c0476a31SSteven Vanden Branden "pmu"; 1103c0476a31SSteven Vanden Branden clocks = <&ccu CLK_AHB_GPU>, <&ccu CLK_GPU>; 1104c0476a31SSteven Vanden Branden clock-names = "bus", "core"; 1105c0476a31SSteven Vanden Branden resets = <&ccu RST_GPU>; 1106c0476a31SSteven Vanden Branden 1107c0476a31SSteven Vanden Branden assigned-clocks = <&ccu CLK_GPU>; 1108c0476a31SSteven Vanden Branden assigned-clock-rates = <384000000>; 1109c0476a31SSteven Vanden Branden }; 1110c0476a31SSteven Vanden Branden 11110df4cf33SChen-Yu Tsai fe0: display-frontend@1e00000 { 11120df4cf33SChen-Yu Tsai compatible = "allwinner,sun4i-a10-display-frontend"; 11130df4cf33SChen-Yu Tsai reg = <0x01e00000 0x20000>; 11140df4cf33SChen-Yu Tsai interrupts = <47>; 11150df4cf33SChen-Yu Tsai clocks = <&ccu CLK_AHB_DE_FE0>, <&ccu CLK_DE_FE0>, 11160df4cf33SChen-Yu Tsai <&ccu CLK_DRAM_DE_FE0>; 11170df4cf33SChen-Yu Tsai clock-names = "ahb", "mod", 11180df4cf33SChen-Yu Tsai "ram"; 11190df4cf33SChen-Yu Tsai resets = <&ccu RST_DE_FE0>; 11200df4cf33SChen-Yu Tsai 11210df4cf33SChen-Yu Tsai ports { 11220df4cf33SChen-Yu Tsai #address-cells = <1>; 11230df4cf33SChen-Yu Tsai #size-cells = <0>; 11240df4cf33SChen-Yu Tsai 11250df4cf33SChen-Yu Tsai fe0_out: port@1 { 11260df4cf33SChen-Yu Tsai #address-cells = <1>; 11270df4cf33SChen-Yu Tsai #size-cells = <0>; 11280df4cf33SChen-Yu Tsai reg = <1>; 11290df4cf33SChen-Yu Tsai 11300df4cf33SChen-Yu Tsai fe0_out_be0: endpoint@0 { 11310df4cf33SChen-Yu Tsai reg = <0>; 11320df4cf33SChen-Yu Tsai remote-endpoint = <&be0_in_fe0>; 11330df4cf33SChen-Yu Tsai }; 11340df4cf33SChen-Yu Tsai 11350df4cf33SChen-Yu Tsai fe0_out_be1: endpoint@1 { 11360df4cf33SChen-Yu Tsai reg = <1>; 11370df4cf33SChen-Yu Tsai remote-endpoint = <&be1_in_fe0>; 11380df4cf33SChen-Yu Tsai }; 11390df4cf33SChen-Yu Tsai }; 11400df4cf33SChen-Yu Tsai }; 11410df4cf33SChen-Yu Tsai }; 11420df4cf33SChen-Yu Tsai 11430df4cf33SChen-Yu Tsai fe1: display-frontend@1e20000 { 11440df4cf33SChen-Yu Tsai compatible = "allwinner,sun4i-a10-display-frontend"; 11450df4cf33SChen-Yu Tsai reg = <0x01e20000 0x20000>; 11460df4cf33SChen-Yu Tsai interrupts = <48>; 11470df4cf33SChen-Yu Tsai clocks = <&ccu CLK_AHB_DE_FE1>, <&ccu CLK_DE_FE1>, 11480df4cf33SChen-Yu Tsai <&ccu CLK_DRAM_DE_FE1>; 11490df4cf33SChen-Yu Tsai clock-names = "ahb", "mod", 11500df4cf33SChen-Yu Tsai "ram"; 11510df4cf33SChen-Yu Tsai resets = <&ccu RST_DE_FE1>; 11520df4cf33SChen-Yu Tsai 11530df4cf33SChen-Yu Tsai ports { 11540df4cf33SChen-Yu Tsai #address-cells = <1>; 11550df4cf33SChen-Yu Tsai #size-cells = <0>; 11560df4cf33SChen-Yu Tsai 11570df4cf33SChen-Yu Tsai fe1_out: port@1 { 11580df4cf33SChen-Yu Tsai #address-cells = <1>; 11590df4cf33SChen-Yu Tsai #size-cells = <0>; 11600df4cf33SChen-Yu Tsai reg = <1>; 11610df4cf33SChen-Yu Tsai 11620df4cf33SChen-Yu Tsai fe1_out_be0: endpoint@0 { 11630df4cf33SChen-Yu Tsai reg = <0>; 11640df4cf33SChen-Yu Tsai remote-endpoint = <&be0_in_fe1>; 11650df4cf33SChen-Yu Tsai }; 11660df4cf33SChen-Yu Tsai 11670df4cf33SChen-Yu Tsai fe1_out_be1: endpoint@1 { 11680df4cf33SChen-Yu Tsai reg = <1>; 11690df4cf33SChen-Yu Tsai remote-endpoint = <&be1_in_fe1>; 11700df4cf33SChen-Yu Tsai }; 11710df4cf33SChen-Yu Tsai }; 11720df4cf33SChen-Yu Tsai }; 11730df4cf33SChen-Yu Tsai }; 11740df4cf33SChen-Yu Tsai 11750df4cf33SChen-Yu Tsai be1: display-backend@1e40000 { 11760df4cf33SChen-Yu Tsai compatible = "allwinner,sun4i-a10-display-backend"; 11770df4cf33SChen-Yu Tsai reg = <0x01e40000 0x10000>; 11780df4cf33SChen-Yu Tsai interrupts = <48>; 11790df4cf33SChen-Yu Tsai clocks = <&ccu CLK_AHB_DE_BE1>, <&ccu CLK_DE_BE1>, 11800df4cf33SChen-Yu Tsai <&ccu CLK_DRAM_DE_BE1>; 11810df4cf33SChen-Yu Tsai clock-names = "ahb", "mod", 11820df4cf33SChen-Yu Tsai "ram"; 11830df4cf33SChen-Yu Tsai resets = <&ccu RST_DE_BE1>; 11840df4cf33SChen-Yu Tsai 11850df4cf33SChen-Yu Tsai ports { 11860df4cf33SChen-Yu Tsai #address-cells = <1>; 11870df4cf33SChen-Yu Tsai #size-cells = <0>; 11880df4cf33SChen-Yu Tsai 11890df4cf33SChen-Yu Tsai be1_in: port@0 { 11900df4cf33SChen-Yu Tsai #address-cells = <1>; 11910df4cf33SChen-Yu Tsai #size-cells = <0>; 11920df4cf33SChen-Yu Tsai reg = <0>; 11930df4cf33SChen-Yu Tsai 11940df4cf33SChen-Yu Tsai be1_in_fe0: endpoint@0 { 11950df4cf33SChen-Yu Tsai reg = <0>; 11960df4cf33SChen-Yu Tsai remote-endpoint = <&fe0_out_be1>; 11970df4cf33SChen-Yu Tsai }; 11980df4cf33SChen-Yu Tsai 11990df4cf33SChen-Yu Tsai be1_in_fe1: endpoint@1 { 12000df4cf33SChen-Yu Tsai reg = <1>; 12010df4cf33SChen-Yu Tsai remote-endpoint = <&fe1_out_be1>; 12020df4cf33SChen-Yu Tsai }; 12030df4cf33SChen-Yu Tsai }; 12040df4cf33SChen-Yu Tsai 12050df4cf33SChen-Yu Tsai be1_out: port@1 { 12060df4cf33SChen-Yu Tsai #address-cells = <1>; 12070df4cf33SChen-Yu Tsai #size-cells = <0>; 12080df4cf33SChen-Yu Tsai reg = <1>; 12090df4cf33SChen-Yu Tsai 12100df4cf33SChen-Yu Tsai be1_out_tcon0: endpoint@0 { 12110df4cf33SChen-Yu Tsai reg = <0>; 1212bdae4470SChen-Yu Tsai remote-endpoint = <&tcon0_in_be1>; 12130df4cf33SChen-Yu Tsai }; 12140df4cf33SChen-Yu Tsai 12150df4cf33SChen-Yu Tsai be1_out_tcon1: endpoint@1 { 12160df4cf33SChen-Yu Tsai reg = <1>; 12170df4cf33SChen-Yu Tsai remote-endpoint = <&tcon1_in_be1>; 12180df4cf33SChen-Yu Tsai }; 12190df4cf33SChen-Yu Tsai }; 12200df4cf33SChen-Yu Tsai }; 12210df4cf33SChen-Yu Tsai }; 12220df4cf33SChen-Yu Tsai 12230df4cf33SChen-Yu Tsai be0: display-backend@1e60000 { 12240df4cf33SChen-Yu Tsai compatible = "allwinner,sun4i-a10-display-backend"; 12250df4cf33SChen-Yu Tsai reg = <0x01e60000 0x10000>; 12260df4cf33SChen-Yu Tsai interrupts = <47>; 12270df4cf33SChen-Yu Tsai clocks = <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_DE_BE0>, 12280df4cf33SChen-Yu Tsai <&ccu CLK_DRAM_DE_BE0>; 12290df4cf33SChen-Yu Tsai clock-names = "ahb", "mod", 12300df4cf33SChen-Yu Tsai "ram"; 12310df4cf33SChen-Yu Tsai resets = <&ccu RST_DE_BE0>; 12320df4cf33SChen-Yu Tsai 12330df4cf33SChen-Yu Tsai ports { 12340df4cf33SChen-Yu Tsai #address-cells = <1>; 12350df4cf33SChen-Yu Tsai #size-cells = <0>; 12360df4cf33SChen-Yu Tsai 12370df4cf33SChen-Yu Tsai be0_in: port@0 { 12380df4cf33SChen-Yu Tsai #address-cells = <1>; 12390df4cf33SChen-Yu Tsai #size-cells = <0>; 12400df4cf33SChen-Yu Tsai reg = <0>; 12410df4cf33SChen-Yu Tsai 12420df4cf33SChen-Yu Tsai be0_in_fe0: endpoint@0 { 12430df4cf33SChen-Yu Tsai reg = <0>; 12440df4cf33SChen-Yu Tsai remote-endpoint = <&fe0_out_be0>; 12450df4cf33SChen-Yu Tsai }; 12460df4cf33SChen-Yu Tsai 12470df4cf33SChen-Yu Tsai be0_in_fe1: endpoint@1 { 12480df4cf33SChen-Yu Tsai reg = <1>; 12490df4cf33SChen-Yu Tsai remote-endpoint = <&fe1_out_be0>; 12500df4cf33SChen-Yu Tsai }; 12510df4cf33SChen-Yu Tsai }; 12520df4cf33SChen-Yu Tsai 12530df4cf33SChen-Yu Tsai be0_out: port@1 { 12540df4cf33SChen-Yu Tsai #address-cells = <1>; 12550df4cf33SChen-Yu Tsai #size-cells = <0>; 12560df4cf33SChen-Yu Tsai reg = <1>; 12570df4cf33SChen-Yu Tsai 12580df4cf33SChen-Yu Tsai be0_out_tcon0: endpoint@0 { 12590df4cf33SChen-Yu Tsai reg = <0>; 12600df4cf33SChen-Yu Tsai remote-endpoint = <&tcon0_in_be0>; 12610df4cf33SChen-Yu Tsai }; 12620df4cf33SChen-Yu Tsai 12630df4cf33SChen-Yu Tsai be0_out_tcon1: endpoint@1 { 12640df4cf33SChen-Yu Tsai reg = <1>; 12650df4cf33SChen-Yu Tsai remote-endpoint = <&tcon1_in_be0>; 12660df4cf33SChen-Yu Tsai }; 12670df4cf33SChen-Yu Tsai }; 12680df4cf33SChen-Yu Tsai }; 12690df4cf33SChen-Yu Tsai }; 1270874b4e45SMaxime Ripard }; 12717423d2d8SStefan Roese}; 1272