1f126890aSEmmanuel Vadot/* 2f126890aSEmmanuel Vadot * Copyright 2013 Maxime Ripard 3f126890aSEmmanuel Vadot * 4f126890aSEmmanuel Vadot * Maxime Ripard <maxime.ripard@free-electrons.com> 5f126890aSEmmanuel Vadot * 6f126890aSEmmanuel Vadot * This file is dual-licensed: you can use it either under the terms 7f126890aSEmmanuel Vadot * of the GPL or the X11 license, at your option. Note that this dual 8f126890aSEmmanuel Vadot * licensing only applies to this file, and not this project as a 9f126890aSEmmanuel Vadot * whole. 10f126890aSEmmanuel Vadot * 11f126890aSEmmanuel Vadot * a) This file is free software; you can redistribute it and/or 12f126890aSEmmanuel Vadot * modify it under the terms of the GNU General Public License as 13f126890aSEmmanuel Vadot * published by the Free Software Foundation; either version 2 of the 14f126890aSEmmanuel Vadot * License, or (at your option) any later version. 15f126890aSEmmanuel Vadot * 16f126890aSEmmanuel Vadot * This file is distributed in the hope that it will be useful, 17f126890aSEmmanuel Vadot * but WITHOUT ANY WARRANTY; without even the implied warranty of 18f126890aSEmmanuel Vadot * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19f126890aSEmmanuel Vadot * GNU General Public License for more details. 20f126890aSEmmanuel Vadot * 21f126890aSEmmanuel Vadot * Or, alternatively, 22f126890aSEmmanuel Vadot * 23f126890aSEmmanuel Vadot * b) Permission is hereby granted, free of charge, to any person 24f126890aSEmmanuel Vadot * obtaining a copy of this software and associated documentation 25f126890aSEmmanuel Vadot * files (the "Software"), to deal in the Software without 26f126890aSEmmanuel Vadot * restriction, including without limitation the rights to use, 27f126890aSEmmanuel Vadot * copy, modify, merge, publish, distribute, sublicense, and/or 28f126890aSEmmanuel Vadot * sell copies of the Software, and to permit persons to whom the 29f126890aSEmmanuel Vadot * Software is furnished to do so, subject to the following 30f126890aSEmmanuel Vadot * conditions: 31f126890aSEmmanuel Vadot * 32f126890aSEmmanuel Vadot * The above copyright notice and this permission notice shall be 33f126890aSEmmanuel Vadot * included in all copies or substantial portions of the Software. 34f126890aSEmmanuel Vadot * 35f126890aSEmmanuel Vadot * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 36f126890aSEmmanuel Vadot * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 37f126890aSEmmanuel Vadot * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 38f126890aSEmmanuel Vadot * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 39f126890aSEmmanuel Vadot * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 40f126890aSEmmanuel Vadot * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 41f126890aSEmmanuel Vadot * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 42f126890aSEmmanuel Vadot * OTHER DEALINGS IN THE SOFTWARE. 43f126890aSEmmanuel Vadot */ 44f126890aSEmmanuel Vadot 45f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 46f126890aSEmmanuel Vadot#include <dt-bindings/thermal/thermal.h> 47f126890aSEmmanuel Vadot 48f126890aSEmmanuel Vadot#include <dt-bindings/clock/sun6i-a31-ccu.h> 49f126890aSEmmanuel Vadot#include <dt-bindings/clock/sun6i-rtc.h> 50f126890aSEmmanuel Vadot#include <dt-bindings/reset/sun6i-a31-ccu.h> 51f126890aSEmmanuel Vadot 52f126890aSEmmanuel Vadot/ { 53f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 54f126890aSEmmanuel Vadot #address-cells = <1>; 55f126890aSEmmanuel Vadot #size-cells = <1>; 56f126890aSEmmanuel Vadot 57f126890aSEmmanuel Vadot aliases { 58f126890aSEmmanuel Vadot ethernet0 = &gmac; 59f126890aSEmmanuel Vadot }; 60f126890aSEmmanuel Vadot 61f126890aSEmmanuel Vadot chosen { 62f126890aSEmmanuel Vadot #address-cells = <1>; 63f126890aSEmmanuel Vadot #size-cells = <1>; 64f126890aSEmmanuel Vadot ranges; 65f126890aSEmmanuel Vadot 66f126890aSEmmanuel Vadot simplefb_hdmi: framebuffer-lcd0-hdmi { 67f126890aSEmmanuel Vadot compatible = "allwinner,simple-framebuffer", 68f126890aSEmmanuel Vadot "simple-framebuffer"; 69f126890aSEmmanuel Vadot allwinner,pipeline = "de_be0-lcd0-hdmi"; 70f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_BE0>, <&ccu CLK_AHB1_LCD0>, 71f126890aSEmmanuel Vadot <&ccu CLK_AHB1_HDMI>, <&ccu CLK_DRAM_BE0>, 72f126890aSEmmanuel Vadot <&ccu CLK_IEP_DRC0>, <&ccu CLK_BE0>, 73f126890aSEmmanuel Vadot <&ccu CLK_LCD0_CH1>, <&ccu CLK_HDMI>; 74f126890aSEmmanuel Vadot status = "disabled"; 75f126890aSEmmanuel Vadot }; 76f126890aSEmmanuel Vadot 77f126890aSEmmanuel Vadot simplefb_lcd: framebuffer-lcd0 { 78f126890aSEmmanuel Vadot compatible = "allwinner,simple-framebuffer", 79f126890aSEmmanuel Vadot "simple-framebuffer"; 80f126890aSEmmanuel Vadot allwinner,pipeline = "de_be0-lcd0"; 81f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_BE0>, <&ccu CLK_AHB1_LCD0>, 82f126890aSEmmanuel Vadot <&ccu CLK_DRAM_BE0>, <&ccu CLK_IEP_DRC0>, 83f126890aSEmmanuel Vadot <&ccu CLK_BE0>, <&ccu CLK_LCD0_CH0>; 84f126890aSEmmanuel Vadot status = "disabled"; 85f126890aSEmmanuel Vadot }; 86f126890aSEmmanuel Vadot }; 87f126890aSEmmanuel Vadot 88f126890aSEmmanuel Vadot timer { 89f126890aSEmmanuel Vadot compatible = "arm,armv7-timer"; 90f126890aSEmmanuel Vadot interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 91f126890aSEmmanuel Vadot <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 92f126890aSEmmanuel Vadot <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 93f126890aSEmmanuel Vadot <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 94f126890aSEmmanuel Vadot clock-frequency = <24000000>; 95f126890aSEmmanuel Vadot arm,cpu-registers-not-fw-configured; 96f126890aSEmmanuel Vadot }; 97f126890aSEmmanuel Vadot 98f126890aSEmmanuel Vadot cpus { 99f126890aSEmmanuel Vadot enable-method = "allwinner,sun6i-a31"; 100f126890aSEmmanuel Vadot #address-cells = <1>; 101f126890aSEmmanuel Vadot #size-cells = <0>; 102f126890aSEmmanuel Vadot 103f126890aSEmmanuel Vadot cpu0: cpu@0 { 104f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 105f126890aSEmmanuel Vadot device_type = "cpu"; 106f126890aSEmmanuel Vadot reg = <0>; 107f126890aSEmmanuel Vadot clocks = <&ccu CLK_CPU>; 108f126890aSEmmanuel Vadot clock-latency = <244144>; /* 8 32k periods */ 109f126890aSEmmanuel Vadot operating-points = 110f126890aSEmmanuel Vadot /* kHz uV */ 111f126890aSEmmanuel Vadot <1008000 1200000>, 112f126890aSEmmanuel Vadot <864000 1200000>, 113f126890aSEmmanuel Vadot <720000 1100000>, 114f126890aSEmmanuel Vadot <480000 1000000>; 115f126890aSEmmanuel Vadot #cooling-cells = <2>; 116f126890aSEmmanuel Vadot }; 117f126890aSEmmanuel Vadot 118f126890aSEmmanuel Vadot cpu1: cpu@1 { 119f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 120f126890aSEmmanuel Vadot device_type = "cpu"; 121f126890aSEmmanuel Vadot reg = <1>; 122f126890aSEmmanuel Vadot clocks = <&ccu CLK_CPU>; 123f126890aSEmmanuel Vadot clock-latency = <244144>; /* 8 32k periods */ 124f126890aSEmmanuel Vadot operating-points = 125f126890aSEmmanuel Vadot /* kHz uV */ 126f126890aSEmmanuel Vadot <1008000 1200000>, 127f126890aSEmmanuel Vadot <864000 1200000>, 128f126890aSEmmanuel Vadot <720000 1100000>, 129f126890aSEmmanuel Vadot <480000 1000000>; 130f126890aSEmmanuel Vadot #cooling-cells = <2>; 131f126890aSEmmanuel Vadot }; 132f126890aSEmmanuel Vadot 133f126890aSEmmanuel Vadot cpu2: cpu@2 { 134f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 135f126890aSEmmanuel Vadot device_type = "cpu"; 136f126890aSEmmanuel Vadot reg = <2>; 137f126890aSEmmanuel Vadot clocks = <&ccu CLK_CPU>; 138f126890aSEmmanuel Vadot clock-latency = <244144>; /* 8 32k periods */ 139f126890aSEmmanuel Vadot operating-points = 140f126890aSEmmanuel Vadot /* kHz uV */ 141f126890aSEmmanuel Vadot <1008000 1200000>, 142f126890aSEmmanuel Vadot <864000 1200000>, 143f126890aSEmmanuel Vadot <720000 1100000>, 144f126890aSEmmanuel Vadot <480000 1000000>; 145f126890aSEmmanuel Vadot #cooling-cells = <2>; 146f126890aSEmmanuel Vadot }; 147f126890aSEmmanuel Vadot 148f126890aSEmmanuel Vadot cpu3: cpu@3 { 149f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 150f126890aSEmmanuel Vadot device_type = "cpu"; 151f126890aSEmmanuel Vadot reg = <3>; 152f126890aSEmmanuel Vadot clocks = <&ccu CLK_CPU>; 153f126890aSEmmanuel Vadot clock-latency = <244144>; /* 8 32k periods */ 154f126890aSEmmanuel Vadot operating-points = 155f126890aSEmmanuel Vadot /* kHz uV */ 156f126890aSEmmanuel Vadot <1008000 1200000>, 157f126890aSEmmanuel Vadot <864000 1200000>, 158f126890aSEmmanuel Vadot <720000 1100000>, 159f126890aSEmmanuel Vadot <480000 1000000>; 160f126890aSEmmanuel Vadot #cooling-cells = <2>; 161f126890aSEmmanuel Vadot }; 162f126890aSEmmanuel Vadot }; 163f126890aSEmmanuel Vadot 164f126890aSEmmanuel Vadot thermal-zones { 165f126890aSEmmanuel Vadot cpu-thermal { 166f126890aSEmmanuel Vadot /* milliseconds */ 167f126890aSEmmanuel Vadot polling-delay-passive = <250>; 168f126890aSEmmanuel Vadot polling-delay = <1000>; 169f126890aSEmmanuel Vadot thermal-sensors = <&rtp>; 170f126890aSEmmanuel Vadot 171f126890aSEmmanuel Vadot cooling-maps { 172f126890aSEmmanuel Vadot map0 { 173f126890aSEmmanuel Vadot trip = <&cpu_alert0>; 174f126890aSEmmanuel Vadot cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 175f126890aSEmmanuel Vadot <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 176f126890aSEmmanuel Vadot <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 177f126890aSEmmanuel Vadot <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 178f126890aSEmmanuel Vadot }; 179f126890aSEmmanuel Vadot }; 180f126890aSEmmanuel Vadot 181f126890aSEmmanuel Vadot trips { 182*7d0873ebSEmmanuel Vadot cpu_alert0: cpu-alert0 { 183f126890aSEmmanuel Vadot /* milliCelsius */ 184f126890aSEmmanuel Vadot temperature = <70000>; 185f126890aSEmmanuel Vadot hysteresis = <2000>; 186f126890aSEmmanuel Vadot type = "passive"; 187f126890aSEmmanuel Vadot }; 188f126890aSEmmanuel Vadot 189*7d0873ebSEmmanuel Vadot cpu_crit: cpu-crit { 190f126890aSEmmanuel Vadot /* milliCelsius */ 191f126890aSEmmanuel Vadot temperature = <100000>; 192f126890aSEmmanuel Vadot hysteresis = <2000>; 193f126890aSEmmanuel Vadot type = "critical"; 194f126890aSEmmanuel Vadot }; 195f126890aSEmmanuel Vadot }; 196f126890aSEmmanuel Vadot }; 197f126890aSEmmanuel Vadot }; 198f126890aSEmmanuel Vadot 199f126890aSEmmanuel Vadot pmu { 200f126890aSEmmanuel Vadot compatible = "arm,cortex-a7-pmu"; 201f126890aSEmmanuel Vadot interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, 202f126890aSEmmanuel Vadot <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, 203f126890aSEmmanuel Vadot <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>, 204f126890aSEmmanuel Vadot <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; 205f126890aSEmmanuel Vadot }; 206f126890aSEmmanuel Vadot 207f126890aSEmmanuel Vadot clocks { 208f126890aSEmmanuel Vadot #address-cells = <1>; 209f126890aSEmmanuel Vadot #size-cells = <1>; 210f126890aSEmmanuel Vadot ranges; 211f126890aSEmmanuel Vadot 212f126890aSEmmanuel Vadot osc24M: clk-24M { 213f126890aSEmmanuel Vadot #clock-cells = <0>; 214f126890aSEmmanuel Vadot compatible = "fixed-clock"; 215f126890aSEmmanuel Vadot clock-frequency = <24000000>; 216f126890aSEmmanuel Vadot clock-accuracy = <50000>; 217f126890aSEmmanuel Vadot clock-output-names = "osc24M"; 218f126890aSEmmanuel Vadot }; 219f126890aSEmmanuel Vadot 220f126890aSEmmanuel Vadot osc32k: clk-32k { 221f126890aSEmmanuel Vadot #clock-cells = <0>; 222f126890aSEmmanuel Vadot compatible = "fixed-clock"; 223f126890aSEmmanuel Vadot clock-frequency = <32768>; 224f126890aSEmmanuel Vadot clock-accuracy = <50000>; 225f126890aSEmmanuel Vadot clock-output-names = "ext_osc32k"; 226f126890aSEmmanuel Vadot }; 227f126890aSEmmanuel Vadot 228f126890aSEmmanuel Vadot /* 229f126890aSEmmanuel Vadot * The following two are dummy clocks, placeholders 230f126890aSEmmanuel Vadot * used in the gmac_tx clock. The gmac driver will 231f126890aSEmmanuel Vadot * choose one parent depending on the PHY interface 232f126890aSEmmanuel Vadot * mode, using clk_set_rate auto-reparenting. 233f126890aSEmmanuel Vadot * 234f126890aSEmmanuel Vadot * The actual TX clock rate is not controlled by the 235f126890aSEmmanuel Vadot * gmac_tx clock. 236f126890aSEmmanuel Vadot */ 237f126890aSEmmanuel Vadot mii_phy_tx_clk: clk-mii-phy-tx { 238f126890aSEmmanuel Vadot #clock-cells = <0>; 239f126890aSEmmanuel Vadot compatible = "fixed-clock"; 240f126890aSEmmanuel Vadot clock-frequency = <25000000>; 241f126890aSEmmanuel Vadot clock-output-names = "mii_phy_tx"; 242f126890aSEmmanuel Vadot }; 243f126890aSEmmanuel Vadot 244f126890aSEmmanuel Vadot gmac_int_tx_clk: clk-gmac-int-tx { 245f126890aSEmmanuel Vadot #clock-cells = <0>; 246f126890aSEmmanuel Vadot compatible = "fixed-clock"; 247f126890aSEmmanuel Vadot clock-frequency = <125000000>; 248f126890aSEmmanuel Vadot clock-output-names = "gmac_int_tx"; 249f126890aSEmmanuel Vadot }; 250f126890aSEmmanuel Vadot 251f126890aSEmmanuel Vadot gmac_tx_clk: clk@1c200d0 { 252f126890aSEmmanuel Vadot #clock-cells = <0>; 253f126890aSEmmanuel Vadot compatible = "allwinner,sun7i-a20-gmac-clk"; 254f126890aSEmmanuel Vadot reg = <0x01c200d0 0x4>; 255f126890aSEmmanuel Vadot clocks = <&mii_phy_tx_clk>, <&gmac_int_tx_clk>; 256f126890aSEmmanuel Vadot clock-output-names = "gmac_tx"; 257f126890aSEmmanuel Vadot }; 258f126890aSEmmanuel Vadot }; 259f126890aSEmmanuel Vadot 260f126890aSEmmanuel Vadot de: display-engine { 261f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-display-engine"; 262f126890aSEmmanuel Vadot allwinner,pipelines = <&fe0>, <&fe1>; 263f126890aSEmmanuel Vadot status = "disabled"; 264f126890aSEmmanuel Vadot }; 265f126890aSEmmanuel Vadot 266f126890aSEmmanuel Vadot soc { 267f126890aSEmmanuel Vadot compatible = "simple-bus"; 268f126890aSEmmanuel Vadot #address-cells = <1>; 269f126890aSEmmanuel Vadot #size-cells = <1>; 270f126890aSEmmanuel Vadot ranges; 271f126890aSEmmanuel Vadot 272f126890aSEmmanuel Vadot dma: dma-controller@1c02000 { 273f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-dma"; 274f126890aSEmmanuel Vadot reg = <0x01c02000 0x1000>; 275f126890aSEmmanuel Vadot interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 276f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_DMA>; 277f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_DMA>; 278f126890aSEmmanuel Vadot #dma-cells = <1>; 279f126890aSEmmanuel Vadot }; 280f126890aSEmmanuel Vadot 281f126890aSEmmanuel Vadot tcon0: lcd-controller@1c0c000 { 282f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-tcon"; 283f126890aSEmmanuel Vadot reg = <0x01c0c000 0x1000>; 284f126890aSEmmanuel Vadot interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 285f126890aSEmmanuel Vadot dmas = <&dma 11>; 286f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_LCD0>, 287f126890aSEmmanuel Vadot <&ccu RST_AHB1_LVDS>; 288f126890aSEmmanuel Vadot reset-names = "lcd", 289f126890aSEmmanuel Vadot "lvds"; 290f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_LCD0>, 291f126890aSEmmanuel Vadot <&ccu CLK_LCD0_CH0>, 292f126890aSEmmanuel Vadot <&ccu CLK_LCD0_CH1>, 293f126890aSEmmanuel Vadot <&ccu 15>; 294f126890aSEmmanuel Vadot clock-names = "ahb", 295f126890aSEmmanuel Vadot "tcon-ch0", 296f126890aSEmmanuel Vadot "tcon-ch1", 297f126890aSEmmanuel Vadot "lvds-alt"; 298f126890aSEmmanuel Vadot clock-output-names = "tcon0-pixel-clock"; 299f126890aSEmmanuel Vadot #clock-cells = <0>; 300f126890aSEmmanuel Vadot 301f126890aSEmmanuel Vadot ports { 302f126890aSEmmanuel Vadot #address-cells = <1>; 303f126890aSEmmanuel Vadot #size-cells = <0>; 304f126890aSEmmanuel Vadot 305f126890aSEmmanuel Vadot tcon0_in: port@0 { 306f126890aSEmmanuel Vadot #address-cells = <1>; 307f126890aSEmmanuel Vadot #size-cells = <0>; 308f126890aSEmmanuel Vadot reg = <0>; 309f126890aSEmmanuel Vadot 310f126890aSEmmanuel Vadot tcon0_in_drc0: endpoint@0 { 311f126890aSEmmanuel Vadot reg = <0>; 312f126890aSEmmanuel Vadot remote-endpoint = <&drc0_out_tcon0>; 313f126890aSEmmanuel Vadot }; 314f126890aSEmmanuel Vadot 315f126890aSEmmanuel Vadot tcon0_in_drc1: endpoint@1 { 316f126890aSEmmanuel Vadot reg = <1>; 317f126890aSEmmanuel Vadot remote-endpoint = <&drc1_out_tcon0>; 318f126890aSEmmanuel Vadot }; 319f126890aSEmmanuel Vadot }; 320f126890aSEmmanuel Vadot 321f126890aSEmmanuel Vadot tcon0_out: port@1 { 322f126890aSEmmanuel Vadot #address-cells = <1>; 323f126890aSEmmanuel Vadot #size-cells = <0>; 324f126890aSEmmanuel Vadot reg = <1>; 325f126890aSEmmanuel Vadot 326f126890aSEmmanuel Vadot tcon0_out_hdmi: endpoint@1 { 327f126890aSEmmanuel Vadot reg = <1>; 328f126890aSEmmanuel Vadot remote-endpoint = <&hdmi_in_tcon0>; 329f126890aSEmmanuel Vadot allwinner,tcon-channel = <1>; 330f126890aSEmmanuel Vadot }; 331f126890aSEmmanuel Vadot }; 332f126890aSEmmanuel Vadot }; 333f126890aSEmmanuel Vadot }; 334f126890aSEmmanuel Vadot 335f126890aSEmmanuel Vadot tcon1: lcd-controller@1c0d000 { 336f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-tcon"; 337f126890aSEmmanuel Vadot reg = <0x01c0d000 0x1000>; 338f126890aSEmmanuel Vadot interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 339f126890aSEmmanuel Vadot dmas = <&dma 12>; 340f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_LCD1>, 341f126890aSEmmanuel Vadot <&ccu RST_AHB1_LVDS>; 342f126890aSEmmanuel Vadot reset-names = "lcd", "lvds"; 343f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_LCD1>, 344f126890aSEmmanuel Vadot <&ccu CLK_LCD1_CH0>, 345f126890aSEmmanuel Vadot <&ccu CLK_LCD1_CH1>, 346f126890aSEmmanuel Vadot <&ccu 15>; 347f126890aSEmmanuel Vadot clock-names = "ahb", 348f126890aSEmmanuel Vadot "tcon-ch0", 349f126890aSEmmanuel Vadot "tcon-ch1", 350f126890aSEmmanuel Vadot "lvds-alt"; 351f126890aSEmmanuel Vadot clock-output-names = "tcon1-pixel-clock"; 352f126890aSEmmanuel Vadot #clock-cells = <0>; 353f126890aSEmmanuel Vadot 354f126890aSEmmanuel Vadot ports { 355f126890aSEmmanuel Vadot #address-cells = <1>; 356f126890aSEmmanuel Vadot #size-cells = <0>; 357f126890aSEmmanuel Vadot 358f126890aSEmmanuel Vadot tcon1_in: port@0 { 359f126890aSEmmanuel Vadot #address-cells = <1>; 360f126890aSEmmanuel Vadot #size-cells = <0>; 361f126890aSEmmanuel Vadot reg = <0>; 362f126890aSEmmanuel Vadot 363f126890aSEmmanuel Vadot tcon1_in_drc0: endpoint@0 { 364f126890aSEmmanuel Vadot reg = <0>; 365f126890aSEmmanuel Vadot remote-endpoint = <&drc0_out_tcon1>; 366f126890aSEmmanuel Vadot }; 367f126890aSEmmanuel Vadot 368f126890aSEmmanuel Vadot tcon1_in_drc1: endpoint@1 { 369f126890aSEmmanuel Vadot reg = <1>; 370f126890aSEmmanuel Vadot remote-endpoint = <&drc1_out_tcon1>; 371f126890aSEmmanuel Vadot }; 372f126890aSEmmanuel Vadot }; 373f126890aSEmmanuel Vadot 374f126890aSEmmanuel Vadot tcon1_out: port@1 { 375f126890aSEmmanuel Vadot #address-cells = <1>; 376f126890aSEmmanuel Vadot #size-cells = <0>; 377f126890aSEmmanuel Vadot reg = <1>; 378f126890aSEmmanuel Vadot 379f126890aSEmmanuel Vadot tcon1_out_hdmi: endpoint@1 { 380f126890aSEmmanuel Vadot reg = <1>; 381f126890aSEmmanuel Vadot remote-endpoint = <&hdmi_in_tcon1>; 382f126890aSEmmanuel Vadot allwinner,tcon-channel = <1>; 383f126890aSEmmanuel Vadot }; 384f126890aSEmmanuel Vadot }; 385f126890aSEmmanuel Vadot }; 386f126890aSEmmanuel Vadot }; 387f126890aSEmmanuel Vadot 388f126890aSEmmanuel Vadot mmc0: mmc@1c0f000 { 389f126890aSEmmanuel Vadot compatible = "allwinner,sun7i-a20-mmc"; 390f126890aSEmmanuel Vadot reg = <0x01c0f000 0x1000>; 391f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_MMC0>, 392f126890aSEmmanuel Vadot <&ccu CLK_MMC0>, 393f126890aSEmmanuel Vadot <&ccu CLK_MMC0_OUTPUT>, 394f126890aSEmmanuel Vadot <&ccu CLK_MMC0_SAMPLE>; 395f126890aSEmmanuel Vadot clock-names = "ahb", 396f126890aSEmmanuel Vadot "mmc", 397f126890aSEmmanuel Vadot "output", 398f126890aSEmmanuel Vadot "sample"; 399f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_MMC0>; 400f126890aSEmmanuel Vadot reset-names = "ahb"; 401f126890aSEmmanuel Vadot interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; 402f126890aSEmmanuel Vadot pinctrl-names = "default"; 403f126890aSEmmanuel Vadot pinctrl-0 = <&mmc0_pins>; 404f126890aSEmmanuel Vadot status = "disabled"; 405f126890aSEmmanuel Vadot #address-cells = <1>; 406f126890aSEmmanuel Vadot #size-cells = <0>; 407f126890aSEmmanuel Vadot }; 408f126890aSEmmanuel Vadot 409f126890aSEmmanuel Vadot mmc1: mmc@1c10000 { 410f126890aSEmmanuel Vadot compatible = "allwinner,sun7i-a20-mmc"; 411f126890aSEmmanuel Vadot reg = <0x01c10000 0x1000>; 412f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_MMC1>, 413f126890aSEmmanuel Vadot <&ccu CLK_MMC1>, 414f126890aSEmmanuel Vadot <&ccu CLK_MMC1_OUTPUT>, 415f126890aSEmmanuel Vadot <&ccu CLK_MMC1_SAMPLE>; 416f126890aSEmmanuel Vadot clock-names = "ahb", 417f126890aSEmmanuel Vadot "mmc", 418f126890aSEmmanuel Vadot "output", 419f126890aSEmmanuel Vadot "sample"; 420f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_MMC1>; 421f126890aSEmmanuel Vadot reset-names = "ahb"; 422f126890aSEmmanuel Vadot interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 423f126890aSEmmanuel Vadot pinctrl-names = "default"; 424f126890aSEmmanuel Vadot pinctrl-0 = <&mmc1_pins>; 425f126890aSEmmanuel Vadot status = "disabled"; 426f126890aSEmmanuel Vadot #address-cells = <1>; 427f126890aSEmmanuel Vadot #size-cells = <0>; 428f126890aSEmmanuel Vadot }; 429f126890aSEmmanuel Vadot 430f126890aSEmmanuel Vadot mmc2: mmc@1c11000 { 431f126890aSEmmanuel Vadot compatible = "allwinner,sun7i-a20-mmc"; 432f126890aSEmmanuel Vadot reg = <0x01c11000 0x1000>; 433f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_MMC2>, 434f126890aSEmmanuel Vadot <&ccu CLK_MMC2>, 435f126890aSEmmanuel Vadot <&ccu CLK_MMC2_OUTPUT>, 436f126890aSEmmanuel Vadot <&ccu CLK_MMC2_SAMPLE>; 437f126890aSEmmanuel Vadot clock-names = "ahb", 438f126890aSEmmanuel Vadot "mmc", 439f126890aSEmmanuel Vadot "output", 440f126890aSEmmanuel Vadot "sample"; 441f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_MMC2>; 442f126890aSEmmanuel Vadot reset-names = "ahb"; 443f126890aSEmmanuel Vadot interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 444f126890aSEmmanuel Vadot status = "disabled"; 445f126890aSEmmanuel Vadot #address-cells = <1>; 446f126890aSEmmanuel Vadot #size-cells = <0>; 447f126890aSEmmanuel Vadot }; 448f126890aSEmmanuel Vadot 449f126890aSEmmanuel Vadot mmc3: mmc@1c12000 { 450f126890aSEmmanuel Vadot compatible = "allwinner,sun7i-a20-mmc"; 451f126890aSEmmanuel Vadot reg = <0x01c12000 0x1000>; 452f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_MMC3>, 453f126890aSEmmanuel Vadot <&ccu CLK_MMC3>, 454f126890aSEmmanuel Vadot <&ccu CLK_MMC3_OUTPUT>, 455f126890aSEmmanuel Vadot <&ccu CLK_MMC3_SAMPLE>; 456f126890aSEmmanuel Vadot clock-names = "ahb", 457f126890aSEmmanuel Vadot "mmc", 458f126890aSEmmanuel Vadot "output", 459f126890aSEmmanuel Vadot "sample"; 460f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_MMC3>; 461f126890aSEmmanuel Vadot reset-names = "ahb"; 462f126890aSEmmanuel Vadot interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; 463f126890aSEmmanuel Vadot status = "disabled"; 464f126890aSEmmanuel Vadot #address-cells = <1>; 465f126890aSEmmanuel Vadot #size-cells = <0>; 466f126890aSEmmanuel Vadot }; 467f126890aSEmmanuel Vadot 468f126890aSEmmanuel Vadot hdmi: hdmi@1c16000 { 469f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-hdmi"; 470f126890aSEmmanuel Vadot reg = <0x01c16000 0x1000>; 471f126890aSEmmanuel Vadot interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; 472f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_HDMI>, <&ccu CLK_HDMI>, 473f126890aSEmmanuel Vadot <&ccu CLK_HDMI_DDC>, 474f126890aSEmmanuel Vadot <&ccu CLK_PLL_VIDEO0_2X>, 475f126890aSEmmanuel Vadot <&ccu CLK_PLL_VIDEO1_2X>; 476f126890aSEmmanuel Vadot clock-names = "ahb", "mod", "ddc", "pll-0", "pll-1"; 477f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_HDMI>; 478f126890aSEmmanuel Vadot dma-names = "ddc-tx", "ddc-rx", "audio-tx"; 479f126890aSEmmanuel Vadot dmas = <&dma 13>, <&dma 13>, <&dma 14>; 480f126890aSEmmanuel Vadot status = "disabled"; 481f126890aSEmmanuel Vadot 482f126890aSEmmanuel Vadot ports { 483f126890aSEmmanuel Vadot #address-cells = <1>; 484f126890aSEmmanuel Vadot #size-cells = <0>; 485f126890aSEmmanuel Vadot 486f126890aSEmmanuel Vadot hdmi_in: port@0 { 487f126890aSEmmanuel Vadot #address-cells = <1>; 488f126890aSEmmanuel Vadot #size-cells = <0>; 489f126890aSEmmanuel Vadot reg = <0>; 490f126890aSEmmanuel Vadot 491f126890aSEmmanuel Vadot hdmi_in_tcon0: endpoint@0 { 492f126890aSEmmanuel Vadot reg = <0>; 493f126890aSEmmanuel Vadot remote-endpoint = <&tcon0_out_hdmi>; 494f126890aSEmmanuel Vadot }; 495f126890aSEmmanuel Vadot 496f126890aSEmmanuel Vadot hdmi_in_tcon1: endpoint@1 { 497f126890aSEmmanuel Vadot reg = <1>; 498f126890aSEmmanuel Vadot remote-endpoint = <&tcon1_out_hdmi>; 499f126890aSEmmanuel Vadot }; 500f126890aSEmmanuel Vadot }; 501f126890aSEmmanuel Vadot 502f126890aSEmmanuel Vadot hdmi_out: port@1 { 503f126890aSEmmanuel Vadot reg = <1>; 504f126890aSEmmanuel Vadot }; 505f126890aSEmmanuel Vadot }; 506f126890aSEmmanuel Vadot }; 507f126890aSEmmanuel Vadot 508f126890aSEmmanuel Vadot usb_otg: usb@1c19000 { 509f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-musb"; 510f126890aSEmmanuel Vadot reg = <0x01c19000 0x0400>; 511f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_OTG>; 512f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_OTG>; 513f126890aSEmmanuel Vadot interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 514f126890aSEmmanuel Vadot interrupt-names = "mc"; 515f126890aSEmmanuel Vadot phys = <&usbphy 0>; 516f126890aSEmmanuel Vadot phy-names = "usb"; 517f126890aSEmmanuel Vadot extcon = <&usbphy 0>; 518f126890aSEmmanuel Vadot dr_mode = "otg"; 519f126890aSEmmanuel Vadot status = "disabled"; 520f126890aSEmmanuel Vadot }; 521f126890aSEmmanuel Vadot 522f126890aSEmmanuel Vadot usbphy: phy@1c19400 { 523f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-usb-phy"; 524f126890aSEmmanuel Vadot reg = <0x01c19400 0x10>, 525f126890aSEmmanuel Vadot <0x01c1a800 0x4>, 526f126890aSEmmanuel Vadot <0x01c1b800 0x4>; 527f126890aSEmmanuel Vadot reg-names = "phy_ctrl", 528f126890aSEmmanuel Vadot "pmu1", 529f126890aSEmmanuel Vadot "pmu2"; 530f126890aSEmmanuel Vadot clocks = <&ccu CLK_USB_PHY0>, 531f126890aSEmmanuel Vadot <&ccu CLK_USB_PHY1>, 532f126890aSEmmanuel Vadot <&ccu CLK_USB_PHY2>; 533f126890aSEmmanuel Vadot clock-names = "usb0_phy", 534f126890aSEmmanuel Vadot "usb1_phy", 535f126890aSEmmanuel Vadot "usb2_phy"; 536f126890aSEmmanuel Vadot resets = <&ccu RST_USB_PHY0>, 537f126890aSEmmanuel Vadot <&ccu RST_USB_PHY1>, 538f126890aSEmmanuel Vadot <&ccu RST_USB_PHY2>; 539f126890aSEmmanuel Vadot reset-names = "usb0_reset", 540f126890aSEmmanuel Vadot "usb1_reset", 541f126890aSEmmanuel Vadot "usb2_reset"; 542f126890aSEmmanuel Vadot status = "disabled"; 543f126890aSEmmanuel Vadot #phy-cells = <1>; 544f126890aSEmmanuel Vadot }; 545f126890aSEmmanuel Vadot 546f126890aSEmmanuel Vadot ehci0: usb@1c1a000 { 547f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-ehci", "generic-ehci"; 548f126890aSEmmanuel Vadot reg = <0x01c1a000 0x100>; 549f126890aSEmmanuel Vadot interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 550f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_EHCI0>; 551f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_EHCI0>; 552f126890aSEmmanuel Vadot phys = <&usbphy 1>; 553f126890aSEmmanuel Vadot phy-names = "usb"; 554f126890aSEmmanuel Vadot status = "disabled"; 555f126890aSEmmanuel Vadot }; 556f126890aSEmmanuel Vadot 557f126890aSEmmanuel Vadot ohci0: usb@1c1a400 { 558f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-ohci", "generic-ohci"; 559f126890aSEmmanuel Vadot reg = <0x01c1a400 0x100>; 560f126890aSEmmanuel Vadot interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 561f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_OHCI0>, <&ccu CLK_USB_OHCI0>; 562f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_OHCI0>; 563f126890aSEmmanuel Vadot phys = <&usbphy 1>; 564f126890aSEmmanuel Vadot phy-names = "usb"; 565f126890aSEmmanuel Vadot status = "disabled"; 566f126890aSEmmanuel Vadot }; 567f126890aSEmmanuel Vadot 568f126890aSEmmanuel Vadot ehci1: usb@1c1b000 { 569f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-ehci", "generic-ehci"; 570f126890aSEmmanuel Vadot reg = <0x01c1b000 0x100>; 571f126890aSEmmanuel Vadot interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 572f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_EHCI1>; 573f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_EHCI1>; 574f126890aSEmmanuel Vadot phys = <&usbphy 2>; 575f126890aSEmmanuel Vadot phy-names = "usb"; 576f126890aSEmmanuel Vadot status = "disabled"; 577f126890aSEmmanuel Vadot }; 578f126890aSEmmanuel Vadot 579f126890aSEmmanuel Vadot ohci1: usb@1c1b400 { 580f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-ohci", "generic-ohci"; 581f126890aSEmmanuel Vadot reg = <0x01c1b400 0x100>; 582f126890aSEmmanuel Vadot interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 583f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_OHCI1>, <&ccu CLK_USB_OHCI1>; 584f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_OHCI1>; 585f126890aSEmmanuel Vadot phys = <&usbphy 2>; 586f126890aSEmmanuel Vadot phy-names = "usb"; 587f126890aSEmmanuel Vadot status = "disabled"; 588f126890aSEmmanuel Vadot }; 589f126890aSEmmanuel Vadot 590f126890aSEmmanuel Vadot ohci2: usb@1c1c400 { 591f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-ohci", "generic-ohci"; 592f126890aSEmmanuel Vadot reg = <0x01c1c400 0x100>; 593f126890aSEmmanuel Vadot interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 594f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_OHCI2>, <&ccu CLK_USB_OHCI2>; 595f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_OHCI2>; 596f126890aSEmmanuel Vadot status = "disabled"; 597f126890aSEmmanuel Vadot }; 598f126890aSEmmanuel Vadot 599f126890aSEmmanuel Vadot ccu: clock@1c20000 { 600f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-ccu"; 601f126890aSEmmanuel Vadot reg = <0x01c20000 0x400>; 602f126890aSEmmanuel Vadot clocks = <&osc24M>, <&rtc CLK_OSC32K>; 603f126890aSEmmanuel Vadot clock-names = "hosc", "losc"; 604f126890aSEmmanuel Vadot #clock-cells = <1>; 605f126890aSEmmanuel Vadot #reset-cells = <1>; 606f126890aSEmmanuel Vadot }; 607f126890aSEmmanuel Vadot 608f126890aSEmmanuel Vadot pio: pinctrl@1c20800 { 609f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-pinctrl"; 610f126890aSEmmanuel Vadot reg = <0x01c20800 0x400>; 611f126890aSEmmanuel Vadot interrupt-parent = <&r_intc>; 612f126890aSEmmanuel Vadot interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, 613f126890aSEmmanuel Vadot <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>, 614f126890aSEmmanuel Vadot <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, 615f126890aSEmmanuel Vadot <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 616f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB1_PIO>, <&osc24M>, 617f126890aSEmmanuel Vadot <&rtc CLK_OSC32K>; 618f126890aSEmmanuel Vadot clock-names = "apb", "hosc", "losc"; 619f126890aSEmmanuel Vadot gpio-controller; 620f126890aSEmmanuel Vadot interrupt-controller; 621f126890aSEmmanuel Vadot #interrupt-cells = <3>; 622f126890aSEmmanuel Vadot #gpio-cells = <3>; 623f126890aSEmmanuel Vadot 624f126890aSEmmanuel Vadot gmac_gmii_pins: gmac-gmii-pins { 625f126890aSEmmanuel Vadot pins = "PA0", "PA1", "PA2", "PA3", 626f126890aSEmmanuel Vadot "PA4", "PA5", "PA6", "PA7", 627f126890aSEmmanuel Vadot "PA8", "PA9", "PA10", "PA11", 628f126890aSEmmanuel Vadot "PA12", "PA13", "PA14", "PA15", 629f126890aSEmmanuel Vadot "PA16", "PA17", "PA18", "PA19", 630f126890aSEmmanuel Vadot "PA20", "PA21", "PA22", "PA23", 631f126890aSEmmanuel Vadot "PA24", "PA25", "PA26", "PA27"; 632f126890aSEmmanuel Vadot function = "gmac"; 633f126890aSEmmanuel Vadot /* 634f126890aSEmmanuel Vadot * data lines in GMII mode run at 125MHz and 635f126890aSEmmanuel Vadot * might need a higher signal drive strength 636f126890aSEmmanuel Vadot */ 637f126890aSEmmanuel Vadot drive-strength = <30>; 638f126890aSEmmanuel Vadot }; 639f126890aSEmmanuel Vadot 640f126890aSEmmanuel Vadot gmac_mii_pins: gmac-mii-pins { 641f126890aSEmmanuel Vadot pins = "PA0", "PA1", "PA2", "PA3", 642f126890aSEmmanuel Vadot "PA8", "PA9", "PA11", 643f126890aSEmmanuel Vadot "PA12", "PA13", "PA14", "PA19", 644f126890aSEmmanuel Vadot "PA20", "PA21", "PA22", "PA23", 645f126890aSEmmanuel Vadot "PA24", "PA26", "PA27"; 646f126890aSEmmanuel Vadot function = "gmac"; 647f126890aSEmmanuel Vadot }; 648f126890aSEmmanuel Vadot 649f126890aSEmmanuel Vadot gmac_rgmii_pins: gmac-rgmii-pins { 650f126890aSEmmanuel Vadot pins = "PA0", "PA1", "PA2", "PA3", 651f126890aSEmmanuel Vadot "PA9", "PA10", "PA11", 652f126890aSEmmanuel Vadot "PA12", "PA13", "PA14", "PA19", 653f126890aSEmmanuel Vadot "PA20", "PA25", "PA26", "PA27"; 654f126890aSEmmanuel Vadot function = "gmac"; 655f126890aSEmmanuel Vadot /* 656f126890aSEmmanuel Vadot * data lines in RGMII mode use DDR mode 657f126890aSEmmanuel Vadot * and need a higher signal drive strength 658f126890aSEmmanuel Vadot */ 659f126890aSEmmanuel Vadot drive-strength = <40>; 660f126890aSEmmanuel Vadot }; 661f126890aSEmmanuel Vadot 662f126890aSEmmanuel Vadot i2c0_pins: i2c0-pins { 663f126890aSEmmanuel Vadot pins = "PH14", "PH15"; 664f126890aSEmmanuel Vadot function = "i2c0"; 665f126890aSEmmanuel Vadot }; 666f126890aSEmmanuel Vadot 667f126890aSEmmanuel Vadot i2c1_pins: i2c1-pins { 668f126890aSEmmanuel Vadot pins = "PH16", "PH17"; 669f126890aSEmmanuel Vadot function = "i2c1"; 670f126890aSEmmanuel Vadot }; 671f126890aSEmmanuel Vadot 672f126890aSEmmanuel Vadot i2c2_pins: i2c2-pins { 673f126890aSEmmanuel Vadot pins = "PH18", "PH19"; 674f126890aSEmmanuel Vadot function = "i2c2"; 675f126890aSEmmanuel Vadot }; 676f126890aSEmmanuel Vadot 677f126890aSEmmanuel Vadot lcd0_rgb888_pins: lcd0-rgb888-pins { 678f126890aSEmmanuel Vadot pins = "PD0", "PD1", "PD2", "PD3", 679f126890aSEmmanuel Vadot "PD4", "PD5", "PD6", "PD7", 680f126890aSEmmanuel Vadot "PD8", "PD9", "PD10", "PD11", 681f126890aSEmmanuel Vadot "PD12", "PD13", "PD14", "PD15", 682f126890aSEmmanuel Vadot "PD16", "PD17", "PD18", "PD19", 683f126890aSEmmanuel Vadot "PD20", "PD21", "PD22", "PD23", 684f126890aSEmmanuel Vadot "PD24", "PD25", "PD26", "PD27"; 685f126890aSEmmanuel Vadot function = "lcd0"; 686f126890aSEmmanuel Vadot }; 687f126890aSEmmanuel Vadot 688f126890aSEmmanuel Vadot mmc0_pins: mmc0-pins { 689f126890aSEmmanuel Vadot pins = "PF0", "PF1", "PF2", 690f126890aSEmmanuel Vadot "PF3", "PF4", "PF5"; 691f126890aSEmmanuel Vadot function = "mmc0"; 692f126890aSEmmanuel Vadot drive-strength = <30>; 693f126890aSEmmanuel Vadot bias-pull-up; 694f126890aSEmmanuel Vadot }; 695f126890aSEmmanuel Vadot 696f126890aSEmmanuel Vadot mmc1_pins: mmc1-pins { 697f126890aSEmmanuel Vadot pins = "PG0", "PG1", "PG2", "PG3", 698f126890aSEmmanuel Vadot "PG4", "PG5"; 699f126890aSEmmanuel Vadot function = "mmc1"; 700f126890aSEmmanuel Vadot drive-strength = <30>; 701f126890aSEmmanuel Vadot bias-pull-up; 702f126890aSEmmanuel Vadot }; 703f126890aSEmmanuel Vadot 704f126890aSEmmanuel Vadot mmc2_4bit_pins: mmc2-4bit-pins { 705f126890aSEmmanuel Vadot pins = "PC6", "PC7", "PC8", "PC9", 706f126890aSEmmanuel Vadot "PC10", "PC11"; 707f126890aSEmmanuel Vadot function = "mmc2"; 708f126890aSEmmanuel Vadot drive-strength = <30>; 709f126890aSEmmanuel Vadot bias-pull-up; 710f126890aSEmmanuel Vadot }; 711f126890aSEmmanuel Vadot 712f126890aSEmmanuel Vadot mmc2_8bit_emmc_pins: mmc2-8bit-emmc-pins { 713f126890aSEmmanuel Vadot pins = "PC6", "PC7", "PC8", "PC9", 714f126890aSEmmanuel Vadot "PC10", "PC11", "PC12", 715f126890aSEmmanuel Vadot "PC13", "PC14", "PC15", 716f126890aSEmmanuel Vadot "PC24"; 717f126890aSEmmanuel Vadot function = "mmc2"; 718f126890aSEmmanuel Vadot drive-strength = <30>; 719f126890aSEmmanuel Vadot bias-pull-up; 720f126890aSEmmanuel Vadot }; 721f126890aSEmmanuel Vadot 722f126890aSEmmanuel Vadot mmc3_8bit_emmc_pins: mmc3-8bit-emmc-pins { 723f126890aSEmmanuel Vadot pins = "PC6", "PC7", "PC8", "PC9", 724f126890aSEmmanuel Vadot "PC10", "PC11", "PC12", 725f126890aSEmmanuel Vadot "PC13", "PC14", "PC15", 726f126890aSEmmanuel Vadot "PC24"; 727f126890aSEmmanuel Vadot function = "mmc3"; 728f126890aSEmmanuel Vadot drive-strength = <40>; 729f126890aSEmmanuel Vadot bias-pull-up; 730f126890aSEmmanuel Vadot }; 731f126890aSEmmanuel Vadot 732f126890aSEmmanuel Vadot spdif_tx_pin: spdif-tx-pin { 733f126890aSEmmanuel Vadot pins = "PH28"; 734f126890aSEmmanuel Vadot function = "spdif"; 735f126890aSEmmanuel Vadot }; 736f126890aSEmmanuel Vadot 737f126890aSEmmanuel Vadot uart0_ph_pins: uart0-ph-pins { 738f126890aSEmmanuel Vadot pins = "PH20", "PH21"; 739f126890aSEmmanuel Vadot function = "uart0"; 740f126890aSEmmanuel Vadot }; 741f126890aSEmmanuel Vadot }; 742f126890aSEmmanuel Vadot 743f126890aSEmmanuel Vadot timer@1c20c00 { 744f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-timer"; 745f126890aSEmmanuel Vadot reg = <0x01c20c00 0xa0>; 746f126890aSEmmanuel Vadot interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>, 747f126890aSEmmanuel Vadot <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, 748f126890aSEmmanuel Vadot <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>, 749f126890aSEmmanuel Vadot <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>, 750f126890aSEmmanuel Vadot <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>, 751f126890aSEmmanuel Vadot <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 752f126890aSEmmanuel Vadot clocks = <&osc24M>; 753f126890aSEmmanuel Vadot }; 754f126890aSEmmanuel Vadot 755f126890aSEmmanuel Vadot wdt1: watchdog@1c20ca0 { 756f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-wdt"; 757f126890aSEmmanuel Vadot reg = <0x01c20ca0 0x20>; 758f126890aSEmmanuel Vadot interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 759f126890aSEmmanuel Vadot clocks = <&osc24M>; 760f126890aSEmmanuel Vadot }; 761f126890aSEmmanuel Vadot 762f126890aSEmmanuel Vadot spdif: spdif@1c21000 { 763f126890aSEmmanuel Vadot #sound-dai-cells = <0>; 764f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-spdif"; 765f126890aSEmmanuel Vadot reg = <0x01c21000 0x400>; 766f126890aSEmmanuel Vadot interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 767f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB1_SPDIF>, <&ccu CLK_SPDIF>; 768f126890aSEmmanuel Vadot resets = <&ccu RST_APB1_SPDIF>; 769f126890aSEmmanuel Vadot clock-names = "apb", "spdif"; 770f126890aSEmmanuel Vadot dmas = <&dma 2>, <&dma 2>; 771f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 772f126890aSEmmanuel Vadot status = "disabled"; 773f126890aSEmmanuel Vadot }; 774f126890aSEmmanuel Vadot 775f126890aSEmmanuel Vadot i2s0: i2s@1c22000 { 776f126890aSEmmanuel Vadot #sound-dai-cells = <0>; 777f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-i2s"; 778f126890aSEmmanuel Vadot reg = <0x01c22000 0x400>; 779f126890aSEmmanuel Vadot interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 780f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB1_DAUDIO0>, <&ccu CLK_DAUDIO0>; 781f126890aSEmmanuel Vadot resets = <&ccu RST_APB1_DAUDIO0>; 782f126890aSEmmanuel Vadot clock-names = "apb", "mod"; 783f126890aSEmmanuel Vadot dmas = <&dma 3>, <&dma 3>; 784f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 785f126890aSEmmanuel Vadot status = "disabled"; 786f126890aSEmmanuel Vadot }; 787f126890aSEmmanuel Vadot 788f126890aSEmmanuel Vadot i2s1: i2s@1c22400 { 789f126890aSEmmanuel Vadot #sound-dai-cells = <0>; 790f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-i2s"; 791f126890aSEmmanuel Vadot reg = <0x01c22400 0x400>; 792f126890aSEmmanuel Vadot interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 793f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB1_DAUDIO1>, <&ccu CLK_DAUDIO1>; 794f126890aSEmmanuel Vadot resets = <&ccu RST_APB1_DAUDIO1>; 795f126890aSEmmanuel Vadot clock-names = "apb", "mod"; 796f126890aSEmmanuel Vadot dmas = <&dma 4>, <&dma 4>; 797f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 798f126890aSEmmanuel Vadot status = "disabled"; 799f126890aSEmmanuel Vadot }; 800f126890aSEmmanuel Vadot 801f126890aSEmmanuel Vadot lradc: lradc@1c22800 { 802f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-lradc-keys"; 803f126890aSEmmanuel Vadot reg = <0x01c22800 0x100>; 804f126890aSEmmanuel Vadot interrupt-parent = <&r_intc>; 805f126890aSEmmanuel Vadot interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 806f126890aSEmmanuel Vadot status = "disabled"; 807f126890aSEmmanuel Vadot }; 808f126890aSEmmanuel Vadot 809f126890aSEmmanuel Vadot rtp: rtp@1c25000 { 810f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-ts"; 811f126890aSEmmanuel Vadot reg = <0x01c25000 0x100>; 812f126890aSEmmanuel Vadot interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 813f126890aSEmmanuel Vadot #thermal-sensor-cells = <0>; 814f126890aSEmmanuel Vadot }; 815f126890aSEmmanuel Vadot 816f126890aSEmmanuel Vadot uart0: serial@1c28000 { 817f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 818f126890aSEmmanuel Vadot reg = <0x01c28000 0x400>; 819f126890aSEmmanuel Vadot interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 820f126890aSEmmanuel Vadot reg-shift = <2>; 821f126890aSEmmanuel Vadot reg-io-width = <4>; 822f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB2_UART0>; 823f126890aSEmmanuel Vadot resets = <&ccu RST_APB2_UART0>; 824f126890aSEmmanuel Vadot dmas = <&dma 6>, <&dma 6>; 825f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 826f126890aSEmmanuel Vadot status = "disabled"; 827f126890aSEmmanuel Vadot }; 828f126890aSEmmanuel Vadot 829f126890aSEmmanuel Vadot uart1: serial@1c28400 { 830f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 831f126890aSEmmanuel Vadot reg = <0x01c28400 0x400>; 832f126890aSEmmanuel Vadot interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 833f126890aSEmmanuel Vadot reg-shift = <2>; 834f126890aSEmmanuel Vadot reg-io-width = <4>; 835f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB2_UART1>; 836f126890aSEmmanuel Vadot resets = <&ccu RST_APB2_UART1>; 837f126890aSEmmanuel Vadot dmas = <&dma 7>, <&dma 7>; 838f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 839f126890aSEmmanuel Vadot status = "disabled"; 840f126890aSEmmanuel Vadot }; 841f126890aSEmmanuel Vadot 842f126890aSEmmanuel Vadot uart2: serial@1c28800 { 843f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 844f126890aSEmmanuel Vadot reg = <0x01c28800 0x400>; 845f126890aSEmmanuel Vadot interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 846f126890aSEmmanuel Vadot reg-shift = <2>; 847f126890aSEmmanuel Vadot reg-io-width = <4>; 848f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB2_UART2>; 849f126890aSEmmanuel Vadot resets = <&ccu RST_APB2_UART2>; 850f126890aSEmmanuel Vadot dmas = <&dma 8>, <&dma 8>; 851f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 852f126890aSEmmanuel Vadot status = "disabled"; 853f126890aSEmmanuel Vadot }; 854f126890aSEmmanuel Vadot 855f126890aSEmmanuel Vadot uart3: serial@1c28c00 { 856f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 857f126890aSEmmanuel Vadot reg = <0x01c28c00 0x400>; 858f126890aSEmmanuel Vadot interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 859f126890aSEmmanuel Vadot reg-shift = <2>; 860f126890aSEmmanuel Vadot reg-io-width = <4>; 861f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB2_UART3>; 862f126890aSEmmanuel Vadot resets = <&ccu RST_APB2_UART3>; 863f126890aSEmmanuel Vadot dmas = <&dma 9>, <&dma 9>; 864f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 865f126890aSEmmanuel Vadot status = "disabled"; 866f126890aSEmmanuel Vadot }; 867f126890aSEmmanuel Vadot 868f126890aSEmmanuel Vadot uart4: serial@1c29000 { 869f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 870f126890aSEmmanuel Vadot reg = <0x01c29000 0x400>; 871f126890aSEmmanuel Vadot interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 872f126890aSEmmanuel Vadot reg-shift = <2>; 873f126890aSEmmanuel Vadot reg-io-width = <4>; 874f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB2_UART4>; 875f126890aSEmmanuel Vadot resets = <&ccu RST_APB2_UART4>; 876f126890aSEmmanuel Vadot dmas = <&dma 10>, <&dma 10>; 877f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 878f126890aSEmmanuel Vadot status = "disabled"; 879f126890aSEmmanuel Vadot }; 880f126890aSEmmanuel Vadot 881f126890aSEmmanuel Vadot uart5: serial@1c29400 { 882f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 883f126890aSEmmanuel Vadot reg = <0x01c29400 0x400>; 884f126890aSEmmanuel Vadot interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 885f126890aSEmmanuel Vadot reg-shift = <2>; 886f126890aSEmmanuel Vadot reg-io-width = <4>; 887f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB2_UART5>; 888f126890aSEmmanuel Vadot resets = <&ccu RST_APB2_UART5>; 889f126890aSEmmanuel Vadot dmas = <&dma 22>, <&dma 22>; 890f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 891f126890aSEmmanuel Vadot status = "disabled"; 892f126890aSEmmanuel Vadot }; 893f126890aSEmmanuel Vadot 894f126890aSEmmanuel Vadot i2c0: i2c@1c2ac00 { 895f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-i2c"; 896f126890aSEmmanuel Vadot reg = <0x01c2ac00 0x400>; 897f126890aSEmmanuel Vadot interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 898f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB2_I2C0>; 899f126890aSEmmanuel Vadot resets = <&ccu RST_APB2_I2C0>; 900f126890aSEmmanuel Vadot pinctrl-names = "default"; 901f126890aSEmmanuel Vadot pinctrl-0 = <&i2c0_pins>; 902f126890aSEmmanuel Vadot status = "disabled"; 903f126890aSEmmanuel Vadot #address-cells = <1>; 904f126890aSEmmanuel Vadot #size-cells = <0>; 905f126890aSEmmanuel Vadot }; 906f126890aSEmmanuel Vadot 907f126890aSEmmanuel Vadot i2c1: i2c@1c2b000 { 908f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-i2c"; 909f126890aSEmmanuel Vadot reg = <0x01c2b000 0x400>; 910f126890aSEmmanuel Vadot interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 911f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB2_I2C1>; 912f126890aSEmmanuel Vadot resets = <&ccu RST_APB2_I2C1>; 913f126890aSEmmanuel Vadot pinctrl-names = "default"; 914f126890aSEmmanuel Vadot pinctrl-0 = <&i2c1_pins>; 915f126890aSEmmanuel Vadot status = "disabled"; 916f126890aSEmmanuel Vadot #address-cells = <1>; 917f126890aSEmmanuel Vadot #size-cells = <0>; 918f126890aSEmmanuel Vadot }; 919f126890aSEmmanuel Vadot 920f126890aSEmmanuel Vadot i2c2: i2c@1c2b400 { 921f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-i2c"; 922f126890aSEmmanuel Vadot reg = <0x01c2b400 0x400>; 923f126890aSEmmanuel Vadot interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 924f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB2_I2C2>; 925f126890aSEmmanuel Vadot resets = <&ccu RST_APB2_I2C2>; 926f126890aSEmmanuel Vadot pinctrl-names = "default"; 927f126890aSEmmanuel Vadot pinctrl-0 = <&i2c2_pins>; 928f126890aSEmmanuel Vadot status = "disabled"; 929f126890aSEmmanuel Vadot #address-cells = <1>; 930f126890aSEmmanuel Vadot #size-cells = <0>; 931f126890aSEmmanuel Vadot }; 932f126890aSEmmanuel Vadot 933f126890aSEmmanuel Vadot i2c3: i2c@1c2b800 { 934f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-i2c"; 935f126890aSEmmanuel Vadot reg = <0x01c2b800 0x400>; 936f126890aSEmmanuel Vadot interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 937f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB2_I2C3>; 938f126890aSEmmanuel Vadot resets = <&ccu RST_APB2_I2C3>; 939f126890aSEmmanuel Vadot status = "disabled"; 940f126890aSEmmanuel Vadot #address-cells = <1>; 941f126890aSEmmanuel Vadot #size-cells = <0>; 942f126890aSEmmanuel Vadot }; 943f126890aSEmmanuel Vadot 944f126890aSEmmanuel Vadot gmac: ethernet@1c30000 { 945f126890aSEmmanuel Vadot compatible = "allwinner,sun7i-a20-gmac"; 946f126890aSEmmanuel Vadot reg = <0x01c30000 0x1054>; 947f126890aSEmmanuel Vadot interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 948f126890aSEmmanuel Vadot interrupt-names = "macirq"; 949f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_EMAC>, <&gmac_tx_clk>; 950f126890aSEmmanuel Vadot clock-names = "stmmaceth", "allwinner_gmac_tx"; 951f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_EMAC>; 952f126890aSEmmanuel Vadot reset-names = "stmmaceth"; 953f126890aSEmmanuel Vadot snps,pbl = <2>; 954f126890aSEmmanuel Vadot snps,fixed-burst; 955f126890aSEmmanuel Vadot snps,force_sf_dma_mode; 956f126890aSEmmanuel Vadot status = "disabled"; 957f126890aSEmmanuel Vadot 958f126890aSEmmanuel Vadot mdio: mdio { 959f126890aSEmmanuel Vadot compatible = "snps,dwmac-mdio"; 960f126890aSEmmanuel Vadot #address-cells = <1>; 961f126890aSEmmanuel Vadot #size-cells = <0>; 962f126890aSEmmanuel Vadot }; 963f126890aSEmmanuel Vadot }; 964f126890aSEmmanuel Vadot 965f126890aSEmmanuel Vadot crypto: crypto-engine@1c15000 { 966f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-crypto", 967f126890aSEmmanuel Vadot "allwinner,sun4i-a10-crypto"; 968f126890aSEmmanuel Vadot reg = <0x01c15000 0x1000>; 969f126890aSEmmanuel Vadot interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 970f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_SS>, <&ccu CLK_SS>; 971f126890aSEmmanuel Vadot clock-names = "ahb", "mod"; 972f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_SS>; 973f126890aSEmmanuel Vadot reset-names = "ahb"; 974f126890aSEmmanuel Vadot }; 975f126890aSEmmanuel Vadot 976f126890aSEmmanuel Vadot codec: codec@1c22c00 { 977f126890aSEmmanuel Vadot #sound-dai-cells = <0>; 978f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-codec"; 979f126890aSEmmanuel Vadot reg = <0x01c22c00 0x400>; 980f126890aSEmmanuel Vadot interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 981f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB1_CODEC>, <&ccu CLK_CODEC>; 982f126890aSEmmanuel Vadot clock-names = "apb", "codec"; 983f126890aSEmmanuel Vadot resets = <&ccu RST_APB1_CODEC>; 984f126890aSEmmanuel Vadot dmas = <&dma 15>, <&dma 15>; 985f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 986f126890aSEmmanuel Vadot status = "disabled"; 987f126890aSEmmanuel Vadot }; 988f126890aSEmmanuel Vadot 989f126890aSEmmanuel Vadot timer@1c60000 { 990f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-hstimer", 991f126890aSEmmanuel Vadot "allwinner,sun7i-a20-hstimer"; 992f126890aSEmmanuel Vadot reg = <0x01c60000 0x1000>; 993f126890aSEmmanuel Vadot interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>, 994f126890aSEmmanuel Vadot <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>, 995f126890aSEmmanuel Vadot <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, 996f126890aSEmmanuel Vadot <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 997f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_HSTIMER>; 998f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_HSTIMER>; 999f126890aSEmmanuel Vadot }; 1000f126890aSEmmanuel Vadot 1001f126890aSEmmanuel Vadot spi0: spi@1c68000 { 1002f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-spi"; 1003f126890aSEmmanuel Vadot reg = <0x01c68000 0x1000>; 1004f126890aSEmmanuel Vadot interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 1005f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_SPI0>, <&ccu CLK_SPI0>; 1006f126890aSEmmanuel Vadot clock-names = "ahb", "mod"; 1007f126890aSEmmanuel Vadot dmas = <&dma 23>, <&dma 23>; 1008f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 1009f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_SPI0>; 1010f126890aSEmmanuel Vadot status = "disabled"; 1011f126890aSEmmanuel Vadot #address-cells = <1>; 1012f126890aSEmmanuel Vadot #size-cells = <0>; 1013f126890aSEmmanuel Vadot }; 1014f126890aSEmmanuel Vadot 1015f126890aSEmmanuel Vadot spi1: spi@1c69000 { 1016f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-spi"; 1017f126890aSEmmanuel Vadot reg = <0x01c69000 0x1000>; 1018f126890aSEmmanuel Vadot interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>; 1019f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_SPI1>, <&ccu CLK_SPI1>; 1020f126890aSEmmanuel Vadot clock-names = "ahb", "mod"; 1021f126890aSEmmanuel Vadot dmas = <&dma 24>, <&dma 24>; 1022f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 1023f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_SPI1>; 1024f126890aSEmmanuel Vadot status = "disabled"; 1025f126890aSEmmanuel Vadot #address-cells = <1>; 1026f126890aSEmmanuel Vadot #size-cells = <0>; 1027f126890aSEmmanuel Vadot }; 1028f126890aSEmmanuel Vadot 1029f126890aSEmmanuel Vadot spi2: spi@1c6a000 { 1030f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-spi"; 1031f126890aSEmmanuel Vadot reg = <0x01c6a000 0x1000>; 1032f126890aSEmmanuel Vadot interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 1033f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_SPI2>, <&ccu CLK_SPI2>; 1034f126890aSEmmanuel Vadot clock-names = "ahb", "mod"; 1035f126890aSEmmanuel Vadot dmas = <&dma 25>, <&dma 25>; 1036f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 1037f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_SPI2>; 1038f126890aSEmmanuel Vadot status = "disabled"; 1039f126890aSEmmanuel Vadot #address-cells = <1>; 1040f126890aSEmmanuel Vadot #size-cells = <0>; 1041f126890aSEmmanuel Vadot }; 1042f126890aSEmmanuel Vadot 1043f126890aSEmmanuel Vadot spi3: spi@1c6b000 { 1044f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-spi"; 1045f126890aSEmmanuel Vadot reg = <0x01c6b000 0x1000>; 1046f126890aSEmmanuel Vadot interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; 1047f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_SPI3>, <&ccu CLK_SPI3>; 1048f126890aSEmmanuel Vadot clock-names = "ahb", "mod"; 1049f126890aSEmmanuel Vadot dmas = <&dma 26>, <&dma 26>; 1050f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 1051f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_SPI3>; 1052f126890aSEmmanuel Vadot status = "disabled"; 1053f126890aSEmmanuel Vadot #address-cells = <1>; 1054f126890aSEmmanuel Vadot #size-cells = <0>; 1055f126890aSEmmanuel Vadot }; 1056f126890aSEmmanuel Vadot 1057f126890aSEmmanuel Vadot gic: interrupt-controller@1c81000 { 1058f126890aSEmmanuel Vadot compatible = "arm,gic-400"; 1059f126890aSEmmanuel Vadot reg = <0x01c81000 0x1000>, 1060f126890aSEmmanuel Vadot <0x01c82000 0x2000>, 1061f126890aSEmmanuel Vadot <0x01c84000 0x2000>, 1062f126890aSEmmanuel Vadot <0x01c86000 0x2000>; 1063f126890aSEmmanuel Vadot interrupt-controller; 1064f126890aSEmmanuel Vadot #interrupt-cells = <3>; 1065f126890aSEmmanuel Vadot interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 1066f126890aSEmmanuel Vadot }; 1067f126890aSEmmanuel Vadot 1068f126890aSEmmanuel Vadot fe0: display-frontend@1e00000 { 1069f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-display-frontend"; 1070f126890aSEmmanuel Vadot reg = <0x01e00000 0x20000>; 1071f126890aSEmmanuel Vadot interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 1072f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_FE0>, <&ccu CLK_FE0>, 1073f126890aSEmmanuel Vadot <&ccu CLK_DRAM_FE0>; 1074f126890aSEmmanuel Vadot clock-names = "ahb", "mod", 1075f126890aSEmmanuel Vadot "ram"; 1076f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_FE0>; 1077f126890aSEmmanuel Vadot 1078f126890aSEmmanuel Vadot ports { 1079f126890aSEmmanuel Vadot #address-cells = <1>; 1080f126890aSEmmanuel Vadot #size-cells = <0>; 1081f126890aSEmmanuel Vadot 1082f126890aSEmmanuel Vadot fe0_out: port@1 { 1083f126890aSEmmanuel Vadot #address-cells = <1>; 1084f126890aSEmmanuel Vadot #size-cells = <0>; 1085f126890aSEmmanuel Vadot reg = <1>; 1086f126890aSEmmanuel Vadot 1087f126890aSEmmanuel Vadot fe0_out_be0: endpoint@0 { 1088f126890aSEmmanuel Vadot reg = <0>; 1089f126890aSEmmanuel Vadot remote-endpoint = <&be0_in_fe0>; 1090f126890aSEmmanuel Vadot }; 1091f126890aSEmmanuel Vadot 1092f126890aSEmmanuel Vadot fe0_out_be1: endpoint@1 { 1093f126890aSEmmanuel Vadot reg = <1>; 1094f126890aSEmmanuel Vadot remote-endpoint = <&be1_in_fe0>; 1095f126890aSEmmanuel Vadot }; 1096f126890aSEmmanuel Vadot }; 1097f126890aSEmmanuel Vadot }; 1098f126890aSEmmanuel Vadot }; 1099f126890aSEmmanuel Vadot 1100f126890aSEmmanuel Vadot fe1: display-frontend@1e20000 { 1101f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-display-frontend"; 1102f126890aSEmmanuel Vadot reg = <0x01e20000 0x20000>; 1103f126890aSEmmanuel Vadot interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 1104f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_FE1>, <&ccu CLK_FE1>, 1105f126890aSEmmanuel Vadot <&ccu CLK_DRAM_FE1>; 1106f126890aSEmmanuel Vadot clock-names = "ahb", "mod", 1107f126890aSEmmanuel Vadot "ram"; 1108f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_FE1>; 1109f126890aSEmmanuel Vadot 1110f126890aSEmmanuel Vadot ports { 1111f126890aSEmmanuel Vadot #address-cells = <1>; 1112f126890aSEmmanuel Vadot #size-cells = <0>; 1113f126890aSEmmanuel Vadot 1114f126890aSEmmanuel Vadot fe1_out: port@1 { 1115f126890aSEmmanuel Vadot #address-cells = <1>; 1116f126890aSEmmanuel Vadot #size-cells = <0>; 1117f126890aSEmmanuel Vadot reg = <1>; 1118f126890aSEmmanuel Vadot 1119f126890aSEmmanuel Vadot fe1_out_be0: endpoint@0 { 1120f126890aSEmmanuel Vadot reg = <0>; 1121f126890aSEmmanuel Vadot remote-endpoint = <&be0_in_fe1>; 1122f126890aSEmmanuel Vadot }; 1123f126890aSEmmanuel Vadot 1124f126890aSEmmanuel Vadot fe1_out_be1: endpoint@1 { 1125f126890aSEmmanuel Vadot reg = <1>; 1126f126890aSEmmanuel Vadot remote-endpoint = <&be1_in_fe1>; 1127f126890aSEmmanuel Vadot }; 1128f126890aSEmmanuel Vadot }; 1129f126890aSEmmanuel Vadot }; 1130f126890aSEmmanuel Vadot }; 1131f126890aSEmmanuel Vadot 1132f126890aSEmmanuel Vadot be1: display-backend@1e40000 { 1133f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-display-backend"; 1134f126890aSEmmanuel Vadot reg = <0x01e40000 0x10000>; 1135f126890aSEmmanuel Vadot interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 1136f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_BE1>, <&ccu CLK_BE1>, 1137f126890aSEmmanuel Vadot <&ccu CLK_DRAM_BE1>; 1138f126890aSEmmanuel Vadot clock-names = "ahb", "mod", 1139f126890aSEmmanuel Vadot "ram"; 1140f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_BE1>; 1141f126890aSEmmanuel Vadot 1142f126890aSEmmanuel Vadot ports { 1143f126890aSEmmanuel Vadot #address-cells = <1>; 1144f126890aSEmmanuel Vadot #size-cells = <0>; 1145f126890aSEmmanuel Vadot 1146f126890aSEmmanuel Vadot be1_in: port@0 { 1147f126890aSEmmanuel Vadot #address-cells = <1>; 1148f126890aSEmmanuel Vadot #size-cells = <0>; 1149f126890aSEmmanuel Vadot reg = <0>; 1150f126890aSEmmanuel Vadot 1151f126890aSEmmanuel Vadot be1_in_fe0: endpoint@0 { 1152f126890aSEmmanuel Vadot reg = <0>; 1153f126890aSEmmanuel Vadot remote-endpoint = <&fe0_out_be1>; 1154f126890aSEmmanuel Vadot }; 1155f126890aSEmmanuel Vadot 1156f126890aSEmmanuel Vadot be1_in_fe1: endpoint@1 { 1157f126890aSEmmanuel Vadot reg = <1>; 1158f126890aSEmmanuel Vadot remote-endpoint = <&fe1_out_be1>; 1159f126890aSEmmanuel Vadot }; 1160f126890aSEmmanuel Vadot }; 1161f126890aSEmmanuel Vadot 1162f126890aSEmmanuel Vadot be1_out: port@1 { 1163f126890aSEmmanuel Vadot #address-cells = <1>; 1164f126890aSEmmanuel Vadot #size-cells = <0>; 1165f126890aSEmmanuel Vadot reg = <1>; 1166f126890aSEmmanuel Vadot 1167f126890aSEmmanuel Vadot be1_out_drc1: endpoint@1 { 1168f126890aSEmmanuel Vadot reg = <1>; 1169f126890aSEmmanuel Vadot remote-endpoint = <&drc1_in_be1>; 1170f126890aSEmmanuel Vadot }; 1171f126890aSEmmanuel Vadot }; 1172f126890aSEmmanuel Vadot }; 1173f126890aSEmmanuel Vadot }; 1174f126890aSEmmanuel Vadot 1175f126890aSEmmanuel Vadot drc1: drc@1e50000 { 1176f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-drc"; 1177f126890aSEmmanuel Vadot reg = <0x01e50000 0x10000>; 1178f126890aSEmmanuel Vadot interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 1179f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_DRC1>, <&ccu CLK_IEP_DRC1>, 1180f126890aSEmmanuel Vadot <&ccu CLK_DRAM_DRC1>; 1181f126890aSEmmanuel Vadot clock-names = "ahb", "mod", 1182f126890aSEmmanuel Vadot "ram"; 1183f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_DRC1>; 1184f126890aSEmmanuel Vadot 1185f126890aSEmmanuel Vadot ports { 1186f126890aSEmmanuel Vadot #address-cells = <1>; 1187f126890aSEmmanuel Vadot #size-cells = <0>; 1188f126890aSEmmanuel Vadot 1189f126890aSEmmanuel Vadot drc1_in: port@0 { 1190f126890aSEmmanuel Vadot #address-cells = <1>; 1191f126890aSEmmanuel Vadot #size-cells = <0>; 1192f126890aSEmmanuel Vadot reg = <0>; 1193f126890aSEmmanuel Vadot 1194f126890aSEmmanuel Vadot drc1_in_be1: endpoint@1 { 1195f126890aSEmmanuel Vadot reg = <1>; 1196f126890aSEmmanuel Vadot remote-endpoint = <&be1_out_drc1>; 1197f126890aSEmmanuel Vadot }; 1198f126890aSEmmanuel Vadot }; 1199f126890aSEmmanuel Vadot 1200f126890aSEmmanuel Vadot drc1_out: port@1 { 1201f126890aSEmmanuel Vadot #address-cells = <1>; 1202f126890aSEmmanuel Vadot #size-cells = <0>; 1203f126890aSEmmanuel Vadot reg = <1>; 1204f126890aSEmmanuel Vadot 1205f126890aSEmmanuel Vadot drc1_out_tcon0: endpoint@0 { 1206f126890aSEmmanuel Vadot reg = <0>; 1207f126890aSEmmanuel Vadot remote-endpoint = <&tcon0_in_drc1>; 1208f126890aSEmmanuel Vadot }; 1209f126890aSEmmanuel Vadot 1210f126890aSEmmanuel Vadot drc1_out_tcon1: endpoint@1 { 1211f126890aSEmmanuel Vadot reg = <1>; 1212f126890aSEmmanuel Vadot remote-endpoint = <&tcon1_in_drc1>; 1213f126890aSEmmanuel Vadot }; 1214f126890aSEmmanuel Vadot }; 1215f126890aSEmmanuel Vadot }; 1216f126890aSEmmanuel Vadot }; 1217f126890aSEmmanuel Vadot 1218f126890aSEmmanuel Vadot be0: display-backend@1e60000 { 1219f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-display-backend"; 1220f126890aSEmmanuel Vadot reg = <0x01e60000 0x10000>; 1221f126890aSEmmanuel Vadot interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 1222f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_BE0>, <&ccu CLK_BE0>, 1223f126890aSEmmanuel Vadot <&ccu CLK_DRAM_BE0>; 1224f126890aSEmmanuel Vadot clock-names = "ahb", "mod", 1225f126890aSEmmanuel Vadot "ram"; 1226f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_BE0>; 1227f126890aSEmmanuel Vadot 1228f126890aSEmmanuel Vadot ports { 1229f126890aSEmmanuel Vadot #address-cells = <1>; 1230f126890aSEmmanuel Vadot #size-cells = <0>; 1231f126890aSEmmanuel Vadot 1232f126890aSEmmanuel Vadot be0_in: port@0 { 1233f126890aSEmmanuel Vadot #address-cells = <1>; 1234f126890aSEmmanuel Vadot #size-cells = <0>; 1235f126890aSEmmanuel Vadot reg = <0>; 1236f126890aSEmmanuel Vadot 1237f126890aSEmmanuel Vadot be0_in_fe0: endpoint@0 { 1238f126890aSEmmanuel Vadot reg = <0>; 1239f126890aSEmmanuel Vadot remote-endpoint = <&fe0_out_be0>; 1240f126890aSEmmanuel Vadot }; 1241f126890aSEmmanuel Vadot 1242f126890aSEmmanuel Vadot be0_in_fe1: endpoint@1 { 1243f126890aSEmmanuel Vadot reg = <1>; 1244f126890aSEmmanuel Vadot remote-endpoint = <&fe1_out_be0>; 1245f126890aSEmmanuel Vadot }; 1246f126890aSEmmanuel Vadot }; 1247f126890aSEmmanuel Vadot 1248f126890aSEmmanuel Vadot be0_out: port@1 { 1249f126890aSEmmanuel Vadot reg = <1>; 1250f126890aSEmmanuel Vadot 1251f126890aSEmmanuel Vadot be0_out_drc0: endpoint { 1252f126890aSEmmanuel Vadot remote-endpoint = <&drc0_in_be0>; 1253f126890aSEmmanuel Vadot }; 1254f126890aSEmmanuel Vadot }; 1255f126890aSEmmanuel Vadot }; 1256f126890aSEmmanuel Vadot }; 1257f126890aSEmmanuel Vadot 1258f126890aSEmmanuel Vadot drc0: drc@1e70000 { 1259f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-drc"; 1260f126890aSEmmanuel Vadot reg = <0x01e70000 0x10000>; 1261f126890aSEmmanuel Vadot interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 1262f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB1_DRC0>, <&ccu CLK_IEP_DRC0>, 1263f126890aSEmmanuel Vadot <&ccu CLK_DRAM_DRC0>; 1264f126890aSEmmanuel Vadot clock-names = "ahb", "mod", 1265f126890aSEmmanuel Vadot "ram"; 1266f126890aSEmmanuel Vadot resets = <&ccu RST_AHB1_DRC0>; 1267f126890aSEmmanuel Vadot 1268f126890aSEmmanuel Vadot ports { 1269f126890aSEmmanuel Vadot #address-cells = <1>; 1270f126890aSEmmanuel Vadot #size-cells = <0>; 1271f126890aSEmmanuel Vadot 1272f126890aSEmmanuel Vadot drc0_in: port@0 { 1273f126890aSEmmanuel Vadot reg = <0>; 1274f126890aSEmmanuel Vadot 1275f126890aSEmmanuel Vadot drc0_in_be0: endpoint { 1276f126890aSEmmanuel Vadot remote-endpoint = <&be0_out_drc0>; 1277f126890aSEmmanuel Vadot }; 1278f126890aSEmmanuel Vadot }; 1279f126890aSEmmanuel Vadot 1280f126890aSEmmanuel Vadot drc0_out: port@1 { 1281f126890aSEmmanuel Vadot #address-cells = <1>; 1282f126890aSEmmanuel Vadot #size-cells = <0>; 1283f126890aSEmmanuel Vadot reg = <1>; 1284f126890aSEmmanuel Vadot 1285f126890aSEmmanuel Vadot drc0_out_tcon0: endpoint@0 { 1286f126890aSEmmanuel Vadot reg = <0>; 1287f126890aSEmmanuel Vadot remote-endpoint = <&tcon0_in_drc0>; 1288f126890aSEmmanuel Vadot }; 1289f126890aSEmmanuel Vadot 1290f126890aSEmmanuel Vadot drc0_out_tcon1: endpoint@1 { 1291f126890aSEmmanuel Vadot reg = <1>; 1292f126890aSEmmanuel Vadot remote-endpoint = <&tcon1_in_drc0>; 1293f126890aSEmmanuel Vadot }; 1294f126890aSEmmanuel Vadot }; 1295f126890aSEmmanuel Vadot }; 1296f126890aSEmmanuel Vadot }; 1297f126890aSEmmanuel Vadot 1298f126890aSEmmanuel Vadot rtc: rtc@1f00000 { 1299f126890aSEmmanuel Vadot #clock-cells = <1>; 1300f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-rtc"; 1301f126890aSEmmanuel Vadot reg = <0x01f00000 0x54>; 1302f126890aSEmmanuel Vadot interrupt-parent = <&r_intc>; 1303f126890aSEmmanuel Vadot interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, 1304f126890aSEmmanuel Vadot <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 1305f126890aSEmmanuel Vadot clocks = <&osc32k>; 1306f126890aSEmmanuel Vadot clock-output-names = "osc32k"; 1307f126890aSEmmanuel Vadot }; 1308f126890aSEmmanuel Vadot 1309f126890aSEmmanuel Vadot r_intc: interrupt-controller@1f00c00 { 1310f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-r-intc"; 1311f126890aSEmmanuel Vadot interrupt-controller; 1312f126890aSEmmanuel Vadot #interrupt-cells = <3>; 1313f126890aSEmmanuel Vadot reg = <0x01f00c00 0x400>; 1314f126890aSEmmanuel Vadot interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 1315f126890aSEmmanuel Vadot }; 1316f126890aSEmmanuel Vadot 1317f126890aSEmmanuel Vadot prcm@1f01400 { 1318f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-prcm"; 1319f126890aSEmmanuel Vadot reg = <0x01f01400 0x200>; 1320f126890aSEmmanuel Vadot 1321*7d0873ebSEmmanuel Vadot ar100: ar100-clk { 1322f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-ar100-clk"; 1323f126890aSEmmanuel Vadot #clock-cells = <0>; 1324f126890aSEmmanuel Vadot clocks = <&rtc CLK_OSC32K>, <&osc24M>, 1325f126890aSEmmanuel Vadot <&ccu CLK_PLL_PERIPH>, 1326f126890aSEmmanuel Vadot <&ccu CLK_PLL_PERIPH>; 1327f126890aSEmmanuel Vadot clock-output-names = "ar100"; 1328f126890aSEmmanuel Vadot }; 1329f126890aSEmmanuel Vadot 1330*7d0873ebSEmmanuel Vadot ahb0: ahb0-clk { 1331f126890aSEmmanuel Vadot compatible = "fixed-factor-clock"; 1332f126890aSEmmanuel Vadot #clock-cells = <0>; 1333f126890aSEmmanuel Vadot clock-div = <1>; 1334f126890aSEmmanuel Vadot clock-mult = <1>; 1335f126890aSEmmanuel Vadot clocks = <&ar100>; 1336f126890aSEmmanuel Vadot clock-output-names = "ahb0"; 1337f126890aSEmmanuel Vadot }; 1338f126890aSEmmanuel Vadot 1339*7d0873ebSEmmanuel Vadot apb0: apb0-clk { 1340f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-apb0-clk"; 1341f126890aSEmmanuel Vadot #clock-cells = <0>; 1342f126890aSEmmanuel Vadot clocks = <&ahb0>; 1343f126890aSEmmanuel Vadot clock-output-names = "apb0"; 1344f126890aSEmmanuel Vadot }; 1345f126890aSEmmanuel Vadot 1346*7d0873ebSEmmanuel Vadot apb0_gates: apb0-gates-clk { 1347f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-apb0-gates-clk"; 1348f126890aSEmmanuel Vadot #clock-cells = <1>; 1349f126890aSEmmanuel Vadot clocks = <&apb0>; 1350f126890aSEmmanuel Vadot clock-output-names = "apb0_pio", "apb0_ir", 1351f126890aSEmmanuel Vadot "apb0_timer", "apb0_p2wi", 1352f126890aSEmmanuel Vadot "apb0_uart", "apb0_1wire", 1353f126890aSEmmanuel Vadot "apb0_i2c"; 1354f126890aSEmmanuel Vadot }; 1355f126890aSEmmanuel Vadot 1356*7d0873ebSEmmanuel Vadot ir_clk: ir-clk { 1357f126890aSEmmanuel Vadot #clock-cells = <0>; 1358f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-mod0-clk"; 1359f126890aSEmmanuel Vadot clocks = <&rtc CLK_OSC32K>, <&osc24M>; 1360f126890aSEmmanuel Vadot clock-output-names = "ir"; 1361f126890aSEmmanuel Vadot }; 1362f126890aSEmmanuel Vadot 1363*7d0873ebSEmmanuel Vadot apb0_rst: apb0-rst { 1364f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-clock-reset"; 1365f126890aSEmmanuel Vadot #reset-cells = <1>; 1366f126890aSEmmanuel Vadot }; 1367f126890aSEmmanuel Vadot }; 1368f126890aSEmmanuel Vadot 1369f126890aSEmmanuel Vadot cpucfg@1f01c00 { 1370f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-cpuconfig"; 1371f126890aSEmmanuel Vadot reg = <0x01f01c00 0x300>; 1372f126890aSEmmanuel Vadot }; 1373f126890aSEmmanuel Vadot 1374f126890aSEmmanuel Vadot ir: ir@1f02000 { 1375f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-ir"; 1376f126890aSEmmanuel Vadot clocks = <&apb0_gates 1>, <&ir_clk>; 1377f126890aSEmmanuel Vadot clock-names = "apb", "ir"; 1378f126890aSEmmanuel Vadot resets = <&apb0_rst 1>; 1379f126890aSEmmanuel Vadot interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 1380f126890aSEmmanuel Vadot reg = <0x01f02000 0x40>; 1381f126890aSEmmanuel Vadot status = "disabled"; 1382f126890aSEmmanuel Vadot }; 1383f126890aSEmmanuel Vadot 1384f126890aSEmmanuel Vadot r_pio: pinctrl@1f02c00 { 1385f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-r-pinctrl"; 1386f126890aSEmmanuel Vadot reg = <0x01f02c00 0x400>; 1387f126890aSEmmanuel Vadot interrupt-parent = <&r_intc>; 1388f126890aSEmmanuel Vadot interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>, 1389f126890aSEmmanuel Vadot <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 1390f126890aSEmmanuel Vadot clocks = <&apb0_gates 0>, <&osc24M>, <&rtc CLK_OSC32K>; 1391f126890aSEmmanuel Vadot clock-names = "apb", "hosc", "losc"; 1392f126890aSEmmanuel Vadot gpio-controller; 1393f126890aSEmmanuel Vadot interrupt-controller; 1394f126890aSEmmanuel Vadot #interrupt-cells = <3>; 1395f126890aSEmmanuel Vadot #gpio-cells = <3>; 1396f126890aSEmmanuel Vadot 1397f126890aSEmmanuel Vadot s_ir_rx_pin: s-ir-rx-pin { 1398f126890aSEmmanuel Vadot pins = "PL4"; 1399f126890aSEmmanuel Vadot function = "s_ir"; 1400f126890aSEmmanuel Vadot }; 1401f126890aSEmmanuel Vadot 1402f126890aSEmmanuel Vadot s_p2wi_pins: s-p2wi-pins { 1403f126890aSEmmanuel Vadot pins = "PL0", "PL1"; 1404f126890aSEmmanuel Vadot function = "s_p2wi"; 1405f126890aSEmmanuel Vadot }; 1406f126890aSEmmanuel Vadot }; 1407f126890aSEmmanuel Vadot 1408f126890aSEmmanuel Vadot p2wi: i2c@1f03400 { 1409f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-p2wi"; 1410f126890aSEmmanuel Vadot reg = <0x01f03400 0x400>; 1411f126890aSEmmanuel Vadot interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 1412f126890aSEmmanuel Vadot clocks = <&apb0_gates 3>; 1413f126890aSEmmanuel Vadot clock-frequency = <100000>; 1414f126890aSEmmanuel Vadot resets = <&apb0_rst 3>; 1415f126890aSEmmanuel Vadot pinctrl-names = "default"; 1416f126890aSEmmanuel Vadot pinctrl-0 = <&s_p2wi_pins>; 1417f126890aSEmmanuel Vadot status = "disabled"; 1418f126890aSEmmanuel Vadot #address-cells = <1>; 1419f126890aSEmmanuel Vadot #size-cells = <0>; 1420f126890aSEmmanuel Vadot }; 1421f126890aSEmmanuel Vadot }; 1422f126890aSEmmanuel Vadot}; 1423