1f126890aSEmmanuel Vadot/* 2f126890aSEmmanuel Vadot * Copyright 2015 Vishnu Patekar 3f126890aSEmmanuel Vadot * 4f126890aSEmmanuel Vadot * Vishnu Patekar <vishnupatekar0510@gmail.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 47f126890aSEmmanuel Vadot#include <dt-bindings/clock/sun8i-a83t-ccu.h> 48f126890aSEmmanuel Vadot#include <dt-bindings/clock/sun8i-de2.h> 49f126890aSEmmanuel Vadot#include <dt-bindings/clock/sun8i-r-ccu.h> 50f126890aSEmmanuel Vadot#include <dt-bindings/reset/sun8i-a83t-ccu.h> 51f126890aSEmmanuel Vadot#include <dt-bindings/reset/sun8i-de2.h> 52f126890aSEmmanuel Vadot#include <dt-bindings/reset/sun8i-r-ccu.h> 53f126890aSEmmanuel Vadot#include <dt-bindings/thermal/thermal.h> 54f126890aSEmmanuel Vadot 55f126890aSEmmanuel Vadot/ { 56f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 57f126890aSEmmanuel Vadot #address-cells = <1>; 58f126890aSEmmanuel Vadot #size-cells = <1>; 59f126890aSEmmanuel Vadot 60f126890aSEmmanuel Vadot cpus { 61f126890aSEmmanuel Vadot #address-cells = <1>; 62f126890aSEmmanuel Vadot #size-cells = <0>; 63f126890aSEmmanuel Vadot 64f126890aSEmmanuel Vadot cpu0: cpu@0 { 65f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 66f126890aSEmmanuel Vadot device_type = "cpu"; 67f126890aSEmmanuel Vadot clocks = <&ccu CLK_C0CPUX>; 68f126890aSEmmanuel Vadot operating-points-v2 = <&cpu0_opp_table>; 69f126890aSEmmanuel Vadot cci-control-port = <&cci_control0>; 70f126890aSEmmanuel Vadot enable-method = "allwinner,sun8i-a83t-smp"; 71f126890aSEmmanuel Vadot reg = <0>; 72f126890aSEmmanuel Vadot #cooling-cells = <2>; 73f126890aSEmmanuel Vadot }; 74f126890aSEmmanuel Vadot 75f126890aSEmmanuel Vadot cpu1: cpu@1 { 76f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 77f126890aSEmmanuel Vadot device_type = "cpu"; 78f126890aSEmmanuel Vadot clocks = <&ccu CLK_C0CPUX>; 79f126890aSEmmanuel Vadot operating-points-v2 = <&cpu0_opp_table>; 80f126890aSEmmanuel Vadot cci-control-port = <&cci_control0>; 81f126890aSEmmanuel Vadot enable-method = "allwinner,sun8i-a83t-smp"; 82f126890aSEmmanuel Vadot reg = <1>; 83f126890aSEmmanuel Vadot #cooling-cells = <2>; 84f126890aSEmmanuel Vadot }; 85f126890aSEmmanuel Vadot 86f126890aSEmmanuel Vadot cpu2: cpu@2 { 87f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 88f126890aSEmmanuel Vadot device_type = "cpu"; 89f126890aSEmmanuel Vadot clocks = <&ccu CLK_C0CPUX>; 90f126890aSEmmanuel Vadot operating-points-v2 = <&cpu0_opp_table>; 91f126890aSEmmanuel Vadot cci-control-port = <&cci_control0>; 92f126890aSEmmanuel Vadot enable-method = "allwinner,sun8i-a83t-smp"; 93f126890aSEmmanuel Vadot reg = <2>; 94f126890aSEmmanuel Vadot #cooling-cells = <2>; 95f126890aSEmmanuel Vadot }; 96f126890aSEmmanuel Vadot 97f126890aSEmmanuel Vadot cpu3: cpu@3 { 98f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 99f126890aSEmmanuel Vadot device_type = "cpu"; 100f126890aSEmmanuel Vadot clocks = <&ccu CLK_C0CPUX>; 101f126890aSEmmanuel Vadot operating-points-v2 = <&cpu0_opp_table>; 102f126890aSEmmanuel Vadot cci-control-port = <&cci_control0>; 103f126890aSEmmanuel Vadot enable-method = "allwinner,sun8i-a83t-smp"; 104f126890aSEmmanuel Vadot reg = <3>; 105f126890aSEmmanuel Vadot #cooling-cells = <2>; 106f126890aSEmmanuel Vadot }; 107f126890aSEmmanuel Vadot 108f126890aSEmmanuel Vadot cpu100: cpu@100 { 109f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 110f126890aSEmmanuel Vadot device_type = "cpu"; 111f126890aSEmmanuel Vadot clocks = <&ccu CLK_C1CPUX>; 112f126890aSEmmanuel Vadot operating-points-v2 = <&cpu1_opp_table>; 113f126890aSEmmanuel Vadot cci-control-port = <&cci_control1>; 114f126890aSEmmanuel Vadot enable-method = "allwinner,sun8i-a83t-smp"; 115f126890aSEmmanuel Vadot reg = <0x100>; 116f126890aSEmmanuel Vadot #cooling-cells = <2>; 117f126890aSEmmanuel Vadot }; 118f126890aSEmmanuel Vadot 119f126890aSEmmanuel Vadot cpu101: cpu@101 { 120f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 121f126890aSEmmanuel Vadot device_type = "cpu"; 122f126890aSEmmanuel Vadot clocks = <&ccu CLK_C1CPUX>; 123f126890aSEmmanuel Vadot operating-points-v2 = <&cpu1_opp_table>; 124f126890aSEmmanuel Vadot cci-control-port = <&cci_control1>; 125f126890aSEmmanuel Vadot enable-method = "allwinner,sun8i-a83t-smp"; 126f126890aSEmmanuel Vadot reg = <0x101>; 127f126890aSEmmanuel Vadot #cooling-cells = <2>; 128f126890aSEmmanuel Vadot }; 129f126890aSEmmanuel Vadot 130f126890aSEmmanuel Vadot cpu102: cpu@102 { 131f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 132f126890aSEmmanuel Vadot device_type = "cpu"; 133f126890aSEmmanuel Vadot clocks = <&ccu CLK_C1CPUX>; 134f126890aSEmmanuel Vadot operating-points-v2 = <&cpu1_opp_table>; 135f126890aSEmmanuel Vadot cci-control-port = <&cci_control1>; 136f126890aSEmmanuel Vadot enable-method = "allwinner,sun8i-a83t-smp"; 137f126890aSEmmanuel Vadot reg = <0x102>; 138f126890aSEmmanuel Vadot #cooling-cells = <2>; 139f126890aSEmmanuel Vadot }; 140f126890aSEmmanuel Vadot 141f126890aSEmmanuel Vadot cpu103: cpu@103 { 142f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 143f126890aSEmmanuel Vadot device_type = "cpu"; 144f126890aSEmmanuel Vadot clocks = <&ccu CLK_C1CPUX>; 145f126890aSEmmanuel Vadot operating-points-v2 = <&cpu1_opp_table>; 146f126890aSEmmanuel Vadot cci-control-port = <&cci_control1>; 147f126890aSEmmanuel Vadot enable-method = "allwinner,sun8i-a83t-smp"; 148f126890aSEmmanuel Vadot reg = <0x103>; 149f126890aSEmmanuel Vadot #cooling-cells = <2>; 150f126890aSEmmanuel Vadot }; 151f126890aSEmmanuel Vadot }; 152f126890aSEmmanuel Vadot 153f126890aSEmmanuel Vadot timer { 154f126890aSEmmanuel Vadot compatible = "arm,armv7-timer"; 155f126890aSEmmanuel Vadot interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 156f126890aSEmmanuel Vadot <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 157f126890aSEmmanuel Vadot <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 158f126890aSEmmanuel Vadot <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; 159f126890aSEmmanuel Vadot }; 160f126890aSEmmanuel Vadot 161f126890aSEmmanuel Vadot clocks { 162f126890aSEmmanuel Vadot #address-cells = <1>; 163f126890aSEmmanuel Vadot #size-cells = <1>; 164f126890aSEmmanuel Vadot ranges; 165f126890aSEmmanuel Vadot 166f126890aSEmmanuel Vadot /* TODO: PRCM block has a mux for this. */ 167*7d0873ebSEmmanuel Vadot osc24M: osc24M-clk { 168f126890aSEmmanuel Vadot #clock-cells = <0>; 169f126890aSEmmanuel Vadot compatible = "fixed-clock"; 170f126890aSEmmanuel Vadot clock-frequency = <24000000>; 171f126890aSEmmanuel Vadot clock-accuracy = <50000>; 172f126890aSEmmanuel Vadot clock-output-names = "osc24M"; 173f126890aSEmmanuel Vadot }; 174f126890aSEmmanuel Vadot 175f126890aSEmmanuel Vadot /* 176f126890aSEmmanuel Vadot * This is called "internal OSC" in some places. 177f126890aSEmmanuel Vadot * It is an internal RC-based oscillator. 178f126890aSEmmanuel Vadot * TODO: Its controls are in the PRCM block. 179f126890aSEmmanuel Vadot */ 180*7d0873ebSEmmanuel Vadot osc16M: osc16M-clk { 181f126890aSEmmanuel Vadot #clock-cells = <0>; 182f126890aSEmmanuel Vadot compatible = "fixed-clock"; 183f126890aSEmmanuel Vadot clock-frequency = <16000000>; 184f126890aSEmmanuel Vadot clock-output-names = "osc16M"; 185f126890aSEmmanuel Vadot }; 186f126890aSEmmanuel Vadot 187*7d0873ebSEmmanuel Vadot osc16Md512: osc16Md512-clk { 188f126890aSEmmanuel Vadot #clock-cells = <0>; 189f126890aSEmmanuel Vadot compatible = "fixed-factor-clock"; 190f126890aSEmmanuel Vadot clock-div = <512>; 191f126890aSEmmanuel Vadot clock-mult = <1>; 192f126890aSEmmanuel Vadot clocks = <&osc16M>; 193f126890aSEmmanuel Vadot clock-output-names = "osc16M-d512"; 194f126890aSEmmanuel Vadot }; 195f126890aSEmmanuel Vadot }; 196f126890aSEmmanuel Vadot 197f126890aSEmmanuel Vadot de: display-engine { 198f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-display-engine"; 199f126890aSEmmanuel Vadot allwinner,pipelines = <&mixer0>, <&mixer1>; 200f126890aSEmmanuel Vadot status = "disabled"; 201f126890aSEmmanuel Vadot }; 202f126890aSEmmanuel Vadot 203f126890aSEmmanuel Vadot cpu0_opp_table: opp-table-cluster0 { 204f126890aSEmmanuel Vadot compatible = "operating-points-v2"; 205f126890aSEmmanuel Vadot opp-shared; 206f126890aSEmmanuel Vadot 207f126890aSEmmanuel Vadot opp-480000000 { 208f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <480000000>; 209f126890aSEmmanuel Vadot opp-microvolt = <840000>; 210f126890aSEmmanuel Vadot clock-latency-ns = <244144>; /* 8 32k periods */ 211f126890aSEmmanuel Vadot }; 212f126890aSEmmanuel Vadot 213f126890aSEmmanuel Vadot opp-600000000 { 214f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <600000000>; 215f126890aSEmmanuel Vadot opp-microvolt = <840000>; 216f126890aSEmmanuel Vadot clock-latency-ns = <244144>; /* 8 32k periods */ 217f126890aSEmmanuel Vadot }; 218f126890aSEmmanuel Vadot 219f126890aSEmmanuel Vadot opp-720000000 { 220f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <720000000>; 221f126890aSEmmanuel Vadot opp-microvolt = <840000>; 222f126890aSEmmanuel Vadot clock-latency-ns = <244144>; /* 8 32k periods */ 223f126890aSEmmanuel Vadot }; 224f126890aSEmmanuel Vadot 225f126890aSEmmanuel Vadot opp-864000000 { 226f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <864000000>; 227f126890aSEmmanuel Vadot opp-microvolt = <840000>; 228f126890aSEmmanuel Vadot clock-latency-ns = <244144>; /* 8 32k periods */ 229f126890aSEmmanuel Vadot }; 230f126890aSEmmanuel Vadot 231f126890aSEmmanuel Vadot opp-912000000 { 232f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <912000000>; 233f126890aSEmmanuel Vadot opp-microvolt = <840000>; 234f126890aSEmmanuel Vadot clock-latency-ns = <244144>; /* 8 32k periods */ 235f126890aSEmmanuel Vadot }; 236f126890aSEmmanuel Vadot 237f126890aSEmmanuel Vadot opp-1008000000 { 238f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <1008000000>; 239f126890aSEmmanuel Vadot opp-microvolt = <840000>; 240f126890aSEmmanuel Vadot clock-latency-ns = <244144>; /* 8 32k periods */ 241f126890aSEmmanuel Vadot }; 242f126890aSEmmanuel Vadot 243f126890aSEmmanuel Vadot opp-1128000000 { 244f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <1128000000>; 245f126890aSEmmanuel Vadot opp-microvolt = <840000>; 246f126890aSEmmanuel Vadot clock-latency-ns = <244144>; /* 8 32k periods */ 247f126890aSEmmanuel Vadot }; 248f126890aSEmmanuel Vadot 249f126890aSEmmanuel Vadot opp-1200000000 { 250f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <1200000000>; 251f126890aSEmmanuel Vadot opp-microvolt = <840000>; 252f126890aSEmmanuel Vadot clock-latency-ns = <244144>; /* 8 32k periods */ 253f126890aSEmmanuel Vadot }; 254f126890aSEmmanuel Vadot }; 255f126890aSEmmanuel Vadot 256f126890aSEmmanuel Vadot cpu1_opp_table: opp-table-cluster1 { 257f126890aSEmmanuel Vadot compatible = "operating-points-v2"; 258f126890aSEmmanuel Vadot opp-shared; 259f126890aSEmmanuel Vadot 260f126890aSEmmanuel Vadot opp-480000000 { 261f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <480000000>; 262f126890aSEmmanuel Vadot opp-microvolt = <840000>; 263f126890aSEmmanuel Vadot clock-latency-ns = <244144>; /* 8 32k periods */ 264f126890aSEmmanuel Vadot }; 265f126890aSEmmanuel Vadot 266f126890aSEmmanuel Vadot opp-600000000 { 267f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <600000000>; 268f126890aSEmmanuel Vadot opp-microvolt = <840000>; 269f126890aSEmmanuel Vadot clock-latency-ns = <244144>; /* 8 32k periods */ 270f126890aSEmmanuel Vadot }; 271f126890aSEmmanuel Vadot 272f126890aSEmmanuel Vadot opp-720000000 { 273f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <720000000>; 274f126890aSEmmanuel Vadot opp-microvolt = <840000>; 275f126890aSEmmanuel Vadot clock-latency-ns = <244144>; /* 8 32k periods */ 276f126890aSEmmanuel Vadot }; 277f126890aSEmmanuel Vadot 278f126890aSEmmanuel Vadot opp-864000000 { 279f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <864000000>; 280f126890aSEmmanuel Vadot opp-microvolt = <840000>; 281f126890aSEmmanuel Vadot clock-latency-ns = <244144>; /* 8 32k periods */ 282f126890aSEmmanuel Vadot }; 283f126890aSEmmanuel Vadot 284f126890aSEmmanuel Vadot opp-912000000 { 285f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <912000000>; 286f126890aSEmmanuel Vadot opp-microvolt = <840000>; 287f126890aSEmmanuel Vadot clock-latency-ns = <244144>; /* 8 32k periods */ 288f126890aSEmmanuel Vadot }; 289f126890aSEmmanuel Vadot 290f126890aSEmmanuel Vadot opp-1008000000 { 291f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <1008000000>; 292f126890aSEmmanuel Vadot opp-microvolt = <840000>; 293f126890aSEmmanuel Vadot clock-latency-ns = <244144>; /* 8 32k periods */ 294f126890aSEmmanuel Vadot }; 295f126890aSEmmanuel Vadot 296f126890aSEmmanuel Vadot opp-1128000000 { 297f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <1128000000>; 298f126890aSEmmanuel Vadot opp-microvolt = <840000>; 299f126890aSEmmanuel Vadot clock-latency-ns = <244144>; /* 8 32k periods */ 300f126890aSEmmanuel Vadot }; 301f126890aSEmmanuel Vadot 302f126890aSEmmanuel Vadot opp-1200000000 { 303f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <1200000000>; 304f126890aSEmmanuel Vadot opp-microvolt = <840000>; 305f126890aSEmmanuel Vadot clock-latency-ns = <244144>; /* 8 32k periods */ 306f126890aSEmmanuel Vadot }; 307f126890aSEmmanuel Vadot }; 308f126890aSEmmanuel Vadot 309f126890aSEmmanuel Vadot soc { 310f126890aSEmmanuel Vadot compatible = "simple-bus"; 311f126890aSEmmanuel Vadot #address-cells = <1>; 312f126890aSEmmanuel Vadot #size-cells = <1>; 313f126890aSEmmanuel Vadot ranges; 314f126890aSEmmanuel Vadot 315f126890aSEmmanuel Vadot display_clocks: clock@1000000 { 316f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-de2-clk"; 317f126890aSEmmanuel Vadot reg = <0x01000000 0x10000>; 318f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_DE>, 319f126890aSEmmanuel Vadot <&ccu CLK_PLL_DE>; 320f126890aSEmmanuel Vadot clock-names = "bus", 321f126890aSEmmanuel Vadot "mod"; 322f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_DE>; 323f126890aSEmmanuel Vadot #clock-cells = <1>; 324f126890aSEmmanuel Vadot #reset-cells = <1>; 325f126890aSEmmanuel Vadot }; 326f126890aSEmmanuel Vadot 327f126890aSEmmanuel Vadot rotate: rotate@1020000 { 328f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-de2-rotate"; 329f126890aSEmmanuel Vadot reg = <0x1020000 0x10000>; 330f126890aSEmmanuel Vadot interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 331f126890aSEmmanuel Vadot clocks = <&display_clocks CLK_BUS_ROT>, 332f126890aSEmmanuel Vadot <&display_clocks CLK_ROT>; 333f126890aSEmmanuel Vadot clock-names = "bus", 334f126890aSEmmanuel Vadot "mod"; 335f126890aSEmmanuel Vadot resets = <&display_clocks RST_ROT>; 336f126890aSEmmanuel Vadot }; 337f126890aSEmmanuel Vadot 338f126890aSEmmanuel Vadot mixer0: mixer@1100000 { 339f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-de2-mixer-0"; 340f126890aSEmmanuel Vadot reg = <0x01100000 0x100000>; 341f126890aSEmmanuel Vadot clocks = <&display_clocks CLK_BUS_MIXER0>, 342f126890aSEmmanuel Vadot <&display_clocks CLK_MIXER0>; 343f126890aSEmmanuel Vadot clock-names = "bus", 344f126890aSEmmanuel Vadot "mod"; 345f126890aSEmmanuel Vadot resets = <&display_clocks RST_MIXER0>; 346f126890aSEmmanuel Vadot 347f126890aSEmmanuel Vadot ports { 348f126890aSEmmanuel Vadot #address-cells = <1>; 349f126890aSEmmanuel Vadot #size-cells = <0>; 350f126890aSEmmanuel Vadot 351f126890aSEmmanuel Vadot mixer0_out: port@1 { 352f126890aSEmmanuel Vadot #address-cells = <1>; 353f126890aSEmmanuel Vadot #size-cells = <0>; 354f126890aSEmmanuel Vadot reg = <1>; 355f126890aSEmmanuel Vadot 356f126890aSEmmanuel Vadot mixer0_out_tcon0: endpoint@0 { 357f126890aSEmmanuel Vadot reg = <0>; 358f126890aSEmmanuel Vadot remote-endpoint = <&tcon0_in_mixer0>; 359f126890aSEmmanuel Vadot }; 360f126890aSEmmanuel Vadot 361f126890aSEmmanuel Vadot mixer0_out_tcon1: endpoint@1 { 362f126890aSEmmanuel Vadot reg = <1>; 363f126890aSEmmanuel Vadot remote-endpoint = <&tcon1_in_mixer0>; 364f126890aSEmmanuel Vadot }; 365f126890aSEmmanuel Vadot }; 366f126890aSEmmanuel Vadot }; 367f126890aSEmmanuel Vadot }; 368f126890aSEmmanuel Vadot 369f126890aSEmmanuel Vadot mixer1: mixer@1200000 { 370f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-de2-mixer-1"; 371f126890aSEmmanuel Vadot reg = <0x01200000 0x100000>; 372f126890aSEmmanuel Vadot clocks = <&display_clocks CLK_BUS_MIXER1>, 373f126890aSEmmanuel Vadot <&display_clocks CLK_MIXER1>; 374f126890aSEmmanuel Vadot clock-names = "bus", 375f126890aSEmmanuel Vadot "mod"; 376f126890aSEmmanuel Vadot resets = <&display_clocks RST_WB>; 377f126890aSEmmanuel Vadot 378f126890aSEmmanuel Vadot ports { 379f126890aSEmmanuel Vadot #address-cells = <1>; 380f126890aSEmmanuel Vadot #size-cells = <0>; 381f126890aSEmmanuel Vadot 382f126890aSEmmanuel Vadot mixer1_out: port@1 { 383f126890aSEmmanuel Vadot #address-cells = <1>; 384f126890aSEmmanuel Vadot #size-cells = <0>; 385f126890aSEmmanuel Vadot reg = <1>; 386f126890aSEmmanuel Vadot 387f126890aSEmmanuel Vadot mixer1_out_tcon0: endpoint@0 { 388f126890aSEmmanuel Vadot reg = <0>; 389f126890aSEmmanuel Vadot remote-endpoint = <&tcon0_in_mixer1>; 390f126890aSEmmanuel Vadot }; 391f126890aSEmmanuel Vadot 392f126890aSEmmanuel Vadot mixer1_out_tcon1: endpoint@1 { 393f126890aSEmmanuel Vadot reg = <1>; 394f126890aSEmmanuel Vadot remote-endpoint = <&tcon1_in_mixer1>; 395f126890aSEmmanuel Vadot }; 396f126890aSEmmanuel Vadot }; 397f126890aSEmmanuel Vadot }; 398f126890aSEmmanuel Vadot }; 399f126890aSEmmanuel Vadot 400f126890aSEmmanuel Vadot cpucfg@1700000 { 401f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-cpucfg"; 402f126890aSEmmanuel Vadot reg = <0x01700000 0x400>; 403f126890aSEmmanuel Vadot }; 404f126890aSEmmanuel Vadot 405f126890aSEmmanuel Vadot cci@1790000 { 406f126890aSEmmanuel Vadot compatible = "arm,cci-400"; 407f126890aSEmmanuel Vadot #address-cells = <1>; 408f126890aSEmmanuel Vadot #size-cells = <1>; 409f126890aSEmmanuel Vadot reg = <0x01790000 0x10000>; 410f126890aSEmmanuel Vadot ranges = <0x0 0x01790000 0x10000>; 411f126890aSEmmanuel Vadot 412f126890aSEmmanuel Vadot cci_control0: slave-if@4000 { 413f126890aSEmmanuel Vadot compatible = "arm,cci-400-ctrl-if"; 414f126890aSEmmanuel Vadot interface-type = "ace"; 415f126890aSEmmanuel Vadot reg = <0x4000 0x1000>; 416f126890aSEmmanuel Vadot }; 417f126890aSEmmanuel Vadot 418f126890aSEmmanuel Vadot cci_control1: slave-if@5000 { 419f126890aSEmmanuel Vadot compatible = "arm,cci-400-ctrl-if"; 420f126890aSEmmanuel Vadot interface-type = "ace"; 421f126890aSEmmanuel Vadot reg = <0x5000 0x1000>; 422f126890aSEmmanuel Vadot }; 423f126890aSEmmanuel Vadot 424f126890aSEmmanuel Vadot pmu@9000 { 425f126890aSEmmanuel Vadot compatible = "arm,cci-400-pmu,r1"; 426f126890aSEmmanuel Vadot reg = <0x9000 0x5000>; 427f126890aSEmmanuel Vadot interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>, 428f126890aSEmmanuel Vadot <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>, 429f126890aSEmmanuel Vadot <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>, 430f126890aSEmmanuel Vadot <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>, 431f126890aSEmmanuel Vadot <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>, 432f126890aSEmmanuel Vadot <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>, 433f126890aSEmmanuel Vadot <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>, 434f126890aSEmmanuel Vadot <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>; 435f126890aSEmmanuel Vadot }; 436f126890aSEmmanuel Vadot }; 437f126890aSEmmanuel Vadot 438f126890aSEmmanuel Vadot syscon: syscon@1c00000 { 439f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-system-controller", 440f126890aSEmmanuel Vadot "syscon"; 441f126890aSEmmanuel Vadot reg = <0x01c00000 0x1000>; 442f126890aSEmmanuel Vadot }; 443f126890aSEmmanuel Vadot 444f126890aSEmmanuel Vadot dma: dma-controller@1c02000 { 445f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-dma"; 446f126890aSEmmanuel Vadot reg = <0x01c02000 0x1000>; 447f126890aSEmmanuel Vadot interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 448f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_DMA>; 449f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_DMA>; 450f126890aSEmmanuel Vadot #dma-cells = <1>; 451f126890aSEmmanuel Vadot }; 452f126890aSEmmanuel Vadot 453f126890aSEmmanuel Vadot tcon0: lcd-controller@1c0c000 { 454f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-tcon-lcd"; 455f126890aSEmmanuel Vadot reg = <0x01c0c000 0x1000>; 456f126890aSEmmanuel Vadot interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 457f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_TCON0>, <&ccu CLK_TCON0>; 458f126890aSEmmanuel Vadot clock-names = "ahb", "tcon-ch0"; 459f126890aSEmmanuel Vadot clock-output-names = "tcon-data-clock"; 460f126890aSEmmanuel Vadot #clock-cells = <0>; 461f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_TCON0>, <&ccu RST_BUS_LVDS>; 462f126890aSEmmanuel Vadot reset-names = "lcd", "lvds"; 463f126890aSEmmanuel Vadot 464f126890aSEmmanuel Vadot ports { 465f126890aSEmmanuel Vadot #address-cells = <1>; 466f126890aSEmmanuel Vadot #size-cells = <0>; 467f126890aSEmmanuel Vadot 468f126890aSEmmanuel Vadot tcon0_in: port@0 { 469f126890aSEmmanuel Vadot #address-cells = <1>; 470f126890aSEmmanuel Vadot #size-cells = <0>; 471f126890aSEmmanuel Vadot reg = <0>; 472f126890aSEmmanuel Vadot 473f126890aSEmmanuel Vadot tcon0_in_mixer0: endpoint@0 { 474f126890aSEmmanuel Vadot reg = <0>; 475f126890aSEmmanuel Vadot remote-endpoint = <&mixer0_out_tcon0>; 476f126890aSEmmanuel Vadot }; 477f126890aSEmmanuel Vadot 478f126890aSEmmanuel Vadot tcon0_in_mixer1: endpoint@1 { 479f126890aSEmmanuel Vadot reg = <1>; 480f126890aSEmmanuel Vadot remote-endpoint = <&mixer1_out_tcon0>; 481f126890aSEmmanuel Vadot }; 482f126890aSEmmanuel Vadot }; 483f126890aSEmmanuel Vadot 484f126890aSEmmanuel Vadot tcon0_out: port@1 { 485f126890aSEmmanuel Vadot reg = <1>; 486f126890aSEmmanuel Vadot }; 487f126890aSEmmanuel Vadot }; 488f126890aSEmmanuel Vadot }; 489f126890aSEmmanuel Vadot 490f126890aSEmmanuel Vadot tcon1: lcd-controller@1c0d000 { 491f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-tcon-tv"; 492f126890aSEmmanuel Vadot reg = <0x01c0d000 0x1000>; 493f126890aSEmmanuel Vadot interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 494f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_TCON1>, <&ccu CLK_TCON1>; 495f126890aSEmmanuel Vadot clock-names = "ahb", "tcon-ch1"; 496f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_TCON1>; 497f126890aSEmmanuel Vadot reset-names = "lcd"; 498f126890aSEmmanuel Vadot 499f126890aSEmmanuel Vadot ports { 500f126890aSEmmanuel Vadot #address-cells = <1>; 501f126890aSEmmanuel Vadot #size-cells = <0>; 502f126890aSEmmanuel Vadot 503f126890aSEmmanuel Vadot tcon1_in: port@0 { 504f126890aSEmmanuel Vadot #address-cells = <1>; 505f126890aSEmmanuel Vadot #size-cells = <0>; 506f126890aSEmmanuel Vadot reg = <0>; 507f126890aSEmmanuel Vadot 508f126890aSEmmanuel Vadot tcon1_in_mixer0: endpoint@0 { 509f126890aSEmmanuel Vadot reg = <0>; 510f126890aSEmmanuel Vadot remote-endpoint = <&mixer0_out_tcon1>; 511f126890aSEmmanuel Vadot }; 512f126890aSEmmanuel Vadot 513f126890aSEmmanuel Vadot tcon1_in_mixer1: endpoint@1 { 514f126890aSEmmanuel Vadot reg = <1>; 515f126890aSEmmanuel Vadot remote-endpoint = <&mixer1_out_tcon1>; 516f126890aSEmmanuel Vadot }; 517f126890aSEmmanuel Vadot }; 518f126890aSEmmanuel Vadot 519f126890aSEmmanuel Vadot tcon1_out: port@1 { 520f126890aSEmmanuel Vadot #address-cells = <1>; 521f126890aSEmmanuel Vadot #size-cells = <0>; 522f126890aSEmmanuel Vadot reg = <1>; 523f126890aSEmmanuel Vadot 524f126890aSEmmanuel Vadot tcon1_out_hdmi: endpoint@1 { 525f126890aSEmmanuel Vadot reg = <1>; 526f126890aSEmmanuel Vadot remote-endpoint = <&hdmi_in_tcon1>; 527f126890aSEmmanuel Vadot }; 528f126890aSEmmanuel Vadot }; 529f126890aSEmmanuel Vadot }; 530f126890aSEmmanuel Vadot }; 531f126890aSEmmanuel Vadot 532f126890aSEmmanuel Vadot mmc0: mmc@1c0f000 { 533f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-mmc", 534f126890aSEmmanuel Vadot "allwinner,sun7i-a20-mmc"; 535f126890aSEmmanuel Vadot reg = <0x01c0f000 0x1000>; 536f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_MMC0>, 537f126890aSEmmanuel Vadot <&ccu CLK_MMC0>, 538f126890aSEmmanuel Vadot <&ccu CLK_MMC0_OUTPUT>, 539f126890aSEmmanuel Vadot <&ccu CLK_MMC0_SAMPLE>; 540f126890aSEmmanuel Vadot clock-names = "ahb", 541f126890aSEmmanuel Vadot "mmc", 542f126890aSEmmanuel Vadot "output", 543f126890aSEmmanuel Vadot "sample"; 544f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_MMC0>; 545f126890aSEmmanuel Vadot reset-names = "ahb"; 546f126890aSEmmanuel Vadot interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; 547f126890aSEmmanuel Vadot status = "disabled"; 548f126890aSEmmanuel Vadot #address-cells = <1>; 549f126890aSEmmanuel Vadot #size-cells = <0>; 550f126890aSEmmanuel Vadot }; 551f126890aSEmmanuel Vadot 552f126890aSEmmanuel Vadot mmc1: mmc@1c10000 { 553f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-mmc", 554f126890aSEmmanuel Vadot "allwinner,sun7i-a20-mmc"; 555f126890aSEmmanuel Vadot reg = <0x01c10000 0x1000>; 556f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_MMC1>, 557f126890aSEmmanuel Vadot <&ccu CLK_MMC1>, 558f126890aSEmmanuel Vadot <&ccu CLK_MMC1_OUTPUT>, 559f126890aSEmmanuel Vadot <&ccu CLK_MMC1_SAMPLE>; 560f126890aSEmmanuel Vadot clock-names = "ahb", 561f126890aSEmmanuel Vadot "mmc", 562f126890aSEmmanuel Vadot "output", 563f126890aSEmmanuel Vadot "sample"; 564f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_MMC1>; 565f126890aSEmmanuel Vadot reset-names = "ahb"; 566f126890aSEmmanuel Vadot interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 567f126890aSEmmanuel Vadot pinctrl-names = "default"; 568f126890aSEmmanuel Vadot pinctrl-0 = <&mmc1_pins>; 569f126890aSEmmanuel Vadot status = "disabled"; 570f126890aSEmmanuel Vadot #address-cells = <1>; 571f126890aSEmmanuel Vadot #size-cells = <0>; 572f126890aSEmmanuel Vadot }; 573f126890aSEmmanuel Vadot 574f126890aSEmmanuel Vadot mmc2: mmc@1c11000 { 575f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-emmc"; 576f126890aSEmmanuel Vadot reg = <0x01c11000 0x1000>; 577f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_MMC2>, 578f126890aSEmmanuel Vadot <&ccu CLK_MMC2>, 579f126890aSEmmanuel Vadot <&ccu CLK_MMC2_OUTPUT>, 580f126890aSEmmanuel Vadot <&ccu CLK_MMC2_SAMPLE>; 581f126890aSEmmanuel Vadot clock-names = "ahb", 582f126890aSEmmanuel Vadot "mmc", 583f126890aSEmmanuel Vadot "output", 584f126890aSEmmanuel Vadot "sample"; 585f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_MMC2>; 586f126890aSEmmanuel Vadot reset-names = "ahb"; 587f126890aSEmmanuel Vadot interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 588f126890aSEmmanuel Vadot status = "disabled"; 589f126890aSEmmanuel Vadot #address-cells = <1>; 590f126890aSEmmanuel Vadot #size-cells = <0>; 591f126890aSEmmanuel Vadot }; 592f126890aSEmmanuel Vadot 593f126890aSEmmanuel Vadot sid: eeprom@1c14000 { 594f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-sid"; 595f126890aSEmmanuel Vadot reg = <0x1c14000 0x400>; 596f126890aSEmmanuel Vadot #address-cells = <1>; 597f126890aSEmmanuel Vadot #size-cells = <1>; 598f126890aSEmmanuel Vadot 599f126890aSEmmanuel Vadot ths_calibration: thermal-sensor-calibration@34 { 600f126890aSEmmanuel Vadot reg = <0x34 8>; 601f126890aSEmmanuel Vadot }; 602f126890aSEmmanuel Vadot }; 603f126890aSEmmanuel Vadot 604f126890aSEmmanuel Vadot crypto: crypto@1c15000 { 605f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-crypto"; 606f126890aSEmmanuel Vadot reg = <0x01c15000 0x1000>; 607f126890aSEmmanuel Vadot interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 608f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_SS>; 609f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_SS>, <&ccu CLK_SS>; 610f126890aSEmmanuel Vadot clock-names = "bus", "mod"; 611f126890aSEmmanuel Vadot }; 612f126890aSEmmanuel Vadot 613f126890aSEmmanuel Vadot msgbox: mailbox@1c17000 { 614f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-msgbox", 615f126890aSEmmanuel Vadot "allwinner,sun6i-a31-msgbox"; 616f126890aSEmmanuel Vadot reg = <0x01c17000 0x1000>; 617f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_MSGBOX>; 618f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_MSGBOX>; 619f126890aSEmmanuel Vadot interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 620f126890aSEmmanuel Vadot #mbox-cells = <1>; 621f126890aSEmmanuel Vadot }; 622f126890aSEmmanuel Vadot 623f126890aSEmmanuel Vadot usb_otg: usb@1c19000 { 624f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-musb", 625f126890aSEmmanuel Vadot "allwinner,sun8i-a33-musb"; 626f126890aSEmmanuel Vadot reg = <0x01c19000 0x0400>; 627f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_OTG>; 628f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_OTG>; 629f126890aSEmmanuel Vadot interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 630f126890aSEmmanuel Vadot interrupt-names = "mc"; 631f126890aSEmmanuel Vadot phys = <&usbphy 0>; 632f126890aSEmmanuel Vadot phy-names = "usb"; 633f126890aSEmmanuel Vadot extcon = <&usbphy 0>; 634f126890aSEmmanuel Vadot dr_mode = "otg"; 635f126890aSEmmanuel Vadot status = "disabled"; 636f126890aSEmmanuel Vadot }; 637f126890aSEmmanuel Vadot 638f126890aSEmmanuel Vadot usbphy: phy@1c19400 { 639f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-usb-phy"; 640f126890aSEmmanuel Vadot reg = <0x01c19400 0x10>, 641f126890aSEmmanuel Vadot <0x01c1a800 0x14>, 642f126890aSEmmanuel Vadot <0x01c1b800 0x14>; 643f126890aSEmmanuel Vadot reg-names = "phy_ctrl", 644f126890aSEmmanuel Vadot "pmu1", 645f126890aSEmmanuel Vadot "pmu2"; 646f126890aSEmmanuel Vadot clocks = <&ccu CLK_USB_PHY0>, 647f126890aSEmmanuel Vadot <&ccu CLK_USB_PHY1>, 648f126890aSEmmanuel Vadot <&ccu CLK_USB_HSIC>, 649f126890aSEmmanuel Vadot <&ccu CLK_USB_HSIC_12M>; 650f126890aSEmmanuel Vadot clock-names = "usb0_phy", 651f126890aSEmmanuel Vadot "usb1_phy", 652f126890aSEmmanuel Vadot "usb2_phy", 653f126890aSEmmanuel Vadot "usb2_hsic_12M"; 654f126890aSEmmanuel Vadot resets = <&ccu RST_USB_PHY0>, 655f126890aSEmmanuel Vadot <&ccu RST_USB_PHY1>, 656f126890aSEmmanuel Vadot <&ccu RST_USB_HSIC>; 657f126890aSEmmanuel Vadot reset-names = "usb0_reset", 658f126890aSEmmanuel Vadot "usb1_reset", 659f126890aSEmmanuel Vadot "usb2_reset"; 660f126890aSEmmanuel Vadot status = "disabled"; 661f126890aSEmmanuel Vadot #phy-cells = <1>; 662f126890aSEmmanuel Vadot }; 663f126890aSEmmanuel Vadot 664f126890aSEmmanuel Vadot ehci0: usb@1c1a000 { 665f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-ehci", 666f126890aSEmmanuel Vadot "generic-ehci"; 667f126890aSEmmanuel Vadot reg = <0x01c1a000 0x100>; 668f126890aSEmmanuel Vadot interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 669f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_EHCI0>; 670f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_EHCI0>; 671f126890aSEmmanuel Vadot phys = <&usbphy 1>; 672f126890aSEmmanuel Vadot phy-names = "usb"; 673f126890aSEmmanuel Vadot status = "disabled"; 674f126890aSEmmanuel Vadot }; 675f126890aSEmmanuel Vadot 676f126890aSEmmanuel Vadot ohci0: usb@1c1a400 { 677f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-ohci", 678f126890aSEmmanuel Vadot "generic-ohci"; 679f126890aSEmmanuel Vadot reg = <0x01c1a400 0x100>; 680f126890aSEmmanuel Vadot interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 681f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_OHCI0>, <&ccu CLK_USB_OHCI0>; 682f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_OHCI0>; 683f126890aSEmmanuel Vadot phys = <&usbphy 1>; 684f126890aSEmmanuel Vadot phy-names = "usb"; 685f126890aSEmmanuel Vadot status = "disabled"; 686f126890aSEmmanuel Vadot }; 687f126890aSEmmanuel Vadot 688f126890aSEmmanuel Vadot ehci1: usb@1c1b000 { 689f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-ehci", 690f126890aSEmmanuel Vadot "generic-ehci"; 691f126890aSEmmanuel Vadot reg = <0x01c1b000 0x100>; 692f126890aSEmmanuel Vadot interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 693f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_EHCI1>; 694f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_EHCI1>; 695f126890aSEmmanuel Vadot phys = <&usbphy 2>; 696f126890aSEmmanuel Vadot phy-names = "usb"; 697f126890aSEmmanuel Vadot status = "disabled"; 698f126890aSEmmanuel Vadot }; 699f126890aSEmmanuel Vadot 700f126890aSEmmanuel Vadot ccu: clock@1c20000 { 701f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-ccu"; 702f126890aSEmmanuel Vadot reg = <0x01c20000 0x400>; 703f126890aSEmmanuel Vadot clocks = <&osc24M>, <&osc16Md512>; 704f126890aSEmmanuel Vadot clock-names = "hosc", "losc"; 705f126890aSEmmanuel Vadot #clock-cells = <1>; 706f126890aSEmmanuel Vadot #reset-cells = <1>; 707f126890aSEmmanuel Vadot }; 708f126890aSEmmanuel Vadot 709f126890aSEmmanuel Vadot pio: pinctrl@1c20800 { 710f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-pinctrl"; 711f126890aSEmmanuel Vadot interrupt-parent = <&r_intc>; 712f126890aSEmmanuel Vadot interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>, 713f126890aSEmmanuel Vadot <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>, 714f126890aSEmmanuel Vadot <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 715f126890aSEmmanuel Vadot reg = <0x01c20800 0x400>; 716f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&osc16Md512>; 717f126890aSEmmanuel Vadot clock-names = "apb", "hosc", "losc"; 718f126890aSEmmanuel Vadot gpio-controller; 719f126890aSEmmanuel Vadot interrupt-controller; 720f126890aSEmmanuel Vadot #interrupt-cells = <3>; 721f126890aSEmmanuel Vadot #gpio-cells = <3>; 722f126890aSEmmanuel Vadot 723f126890aSEmmanuel Vadot /omit-if-no-ref/ 724f126890aSEmmanuel Vadot csi_8bit_parallel_pins: csi-8bit-parallel-pins { 725f126890aSEmmanuel Vadot pins = "PE0", "PE2", "PE3", "PE6", "PE7", 726f126890aSEmmanuel Vadot "PE8", "PE9", "PE10", "PE11", 727f126890aSEmmanuel Vadot "PE12", "PE13"; 728f126890aSEmmanuel Vadot function = "csi"; 729f126890aSEmmanuel Vadot }; 730f126890aSEmmanuel Vadot 731f126890aSEmmanuel Vadot /omit-if-no-ref/ 732f126890aSEmmanuel Vadot csi_mclk_pin: csi-mclk-pin { 733f126890aSEmmanuel Vadot pins = "PE1"; 734f126890aSEmmanuel Vadot function = "csi"; 735f126890aSEmmanuel Vadot }; 736f126890aSEmmanuel Vadot 737f126890aSEmmanuel Vadot emac_rgmii_pins: emac-rgmii-pins { 738f126890aSEmmanuel Vadot pins = "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", 739f126890aSEmmanuel Vadot "PD11", "PD12", "PD13", "PD14", "PD18", 740f126890aSEmmanuel Vadot "PD19", "PD21", "PD22", "PD23"; 741f126890aSEmmanuel Vadot function = "gmac"; 742f126890aSEmmanuel Vadot /* 743f126890aSEmmanuel Vadot * data lines in RGMII mode use DDR mode 744f126890aSEmmanuel Vadot * and need a higher signal drive strength 745f126890aSEmmanuel Vadot */ 746f126890aSEmmanuel Vadot drive-strength = <40>; 747f126890aSEmmanuel Vadot }; 748f126890aSEmmanuel Vadot 749f126890aSEmmanuel Vadot hdmi_pins: hdmi-pins { 750f126890aSEmmanuel Vadot pins = "PH6", "PH7", "PH8"; 751f126890aSEmmanuel Vadot function = "hdmi"; 752f126890aSEmmanuel Vadot }; 753f126890aSEmmanuel Vadot 754f126890aSEmmanuel Vadot i2c0_pins: i2c0-pins { 755f126890aSEmmanuel Vadot pins = "PH0", "PH1"; 756f126890aSEmmanuel Vadot function = "i2c0"; 757f126890aSEmmanuel Vadot }; 758f126890aSEmmanuel Vadot 759f126890aSEmmanuel Vadot i2c1_pins: i2c1-pins { 760f126890aSEmmanuel Vadot pins = "PH2", "PH3"; 761f126890aSEmmanuel Vadot function = "i2c1"; 762f126890aSEmmanuel Vadot }; 763f126890aSEmmanuel Vadot 764f126890aSEmmanuel Vadot /omit-if-no-ref/ 765f126890aSEmmanuel Vadot i2c2_pe_pins: i2c2-pe-pins { 766f126890aSEmmanuel Vadot pins = "PE14", "PE15"; 767f126890aSEmmanuel Vadot function = "i2c2"; 768f126890aSEmmanuel Vadot }; 769f126890aSEmmanuel Vadot 770f126890aSEmmanuel Vadot i2c2_ph_pins: i2c2-ph-pins { 771f126890aSEmmanuel Vadot pins = "PH4", "PH5"; 772f126890aSEmmanuel Vadot function = "i2c2"; 773f126890aSEmmanuel Vadot }; 774f126890aSEmmanuel Vadot 775f126890aSEmmanuel Vadot i2s1_pins: i2s1-pins { 776f126890aSEmmanuel Vadot /* I2S1 does not have external MCLK pin */ 777f126890aSEmmanuel Vadot pins = "PG10", "PG11", "PG12", "PG13"; 778f126890aSEmmanuel Vadot function = "i2s1"; 779f126890aSEmmanuel Vadot }; 780f126890aSEmmanuel Vadot 781f126890aSEmmanuel Vadot lcd_lvds_pins: lcd-lvds-pins { 782f126890aSEmmanuel Vadot pins = "PD18", "PD19", "PD20", "PD21", "PD22", 783f126890aSEmmanuel Vadot "PD23", "PD24", "PD25", "PD26", "PD27"; 784f126890aSEmmanuel Vadot function = "lvds0"; 785f126890aSEmmanuel Vadot }; 786f126890aSEmmanuel Vadot 787f126890aSEmmanuel Vadot mmc0_pins: mmc0-pins { 788f126890aSEmmanuel Vadot pins = "PF0", "PF1", "PF2", 789f126890aSEmmanuel Vadot "PF3", "PF4", "PF5"; 790f126890aSEmmanuel Vadot function = "mmc0"; 791f126890aSEmmanuel Vadot drive-strength = <30>; 792f126890aSEmmanuel Vadot bias-pull-up; 793f126890aSEmmanuel Vadot }; 794f126890aSEmmanuel Vadot 795f126890aSEmmanuel Vadot mmc1_pins: mmc1-pins { 796f126890aSEmmanuel Vadot pins = "PG0", "PG1", "PG2", 797f126890aSEmmanuel Vadot "PG3", "PG4", "PG5"; 798f126890aSEmmanuel Vadot function = "mmc1"; 799f126890aSEmmanuel Vadot drive-strength = <30>; 800f126890aSEmmanuel Vadot bias-pull-up; 801f126890aSEmmanuel Vadot }; 802f126890aSEmmanuel Vadot 803f126890aSEmmanuel Vadot mmc2_8bit_emmc_pins: mmc2-8bit-emmc-pins { 804f126890aSEmmanuel Vadot pins = "PC5", "PC6", "PC8", "PC9", 805f126890aSEmmanuel Vadot "PC10", "PC11", "PC12", "PC13", 806f126890aSEmmanuel Vadot "PC14", "PC15", "PC16"; 807f126890aSEmmanuel Vadot function = "mmc2"; 808f126890aSEmmanuel Vadot drive-strength = <30>; 809f126890aSEmmanuel Vadot bias-pull-up; 810f126890aSEmmanuel Vadot }; 811f126890aSEmmanuel Vadot 812f126890aSEmmanuel Vadot pwm_pin: pwm-pin { 813f126890aSEmmanuel Vadot pins = "PD28"; 814f126890aSEmmanuel Vadot function = "pwm"; 815f126890aSEmmanuel Vadot }; 816f126890aSEmmanuel Vadot 817f126890aSEmmanuel Vadot spdif_tx_pin: spdif-tx-pin { 818f126890aSEmmanuel Vadot pins = "PE18"; 819f126890aSEmmanuel Vadot function = "spdif"; 820f126890aSEmmanuel Vadot }; 821f126890aSEmmanuel Vadot 822f126890aSEmmanuel Vadot uart0_pb_pins: uart0-pb-pins { 823f126890aSEmmanuel Vadot pins = "PB9", "PB10"; 824f126890aSEmmanuel Vadot function = "uart0"; 825f126890aSEmmanuel Vadot }; 826f126890aSEmmanuel Vadot 827f126890aSEmmanuel Vadot uart0_pf_pins: uart0-pf-pins { 828f126890aSEmmanuel Vadot pins = "PF2", "PF4"; 829f126890aSEmmanuel Vadot function = "uart0"; 830f126890aSEmmanuel Vadot }; 831f126890aSEmmanuel Vadot 832f126890aSEmmanuel Vadot uart1_pins: uart1-pins { 833f126890aSEmmanuel Vadot pins = "PG6", "PG7"; 834f126890aSEmmanuel Vadot function = "uart1"; 835f126890aSEmmanuel Vadot }; 836f126890aSEmmanuel Vadot 837f126890aSEmmanuel Vadot uart1_rts_cts_pins: uart1-rts-cts-pins { 838f126890aSEmmanuel Vadot pins = "PG8", "PG9"; 839f126890aSEmmanuel Vadot function = "uart1"; 840f126890aSEmmanuel Vadot }; 841f126890aSEmmanuel Vadot 842f126890aSEmmanuel Vadot /omit-if-no-ref/ 843f126890aSEmmanuel Vadot uart2_pb_pins: uart2-pb-pins { 844f126890aSEmmanuel Vadot pins = "PB0", "PB1"; 845f126890aSEmmanuel Vadot function = "uart2"; 846f126890aSEmmanuel Vadot }; 847f126890aSEmmanuel Vadot }; 848f126890aSEmmanuel Vadot 849f126890aSEmmanuel Vadot timer@1c20c00 { 850f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a23-timer"; 851f126890aSEmmanuel Vadot reg = <0x01c20c00 0xa0>; 852f126890aSEmmanuel Vadot interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>, 853f126890aSEmmanuel Vadot <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 854f126890aSEmmanuel Vadot clocks = <&osc24M>; 855f126890aSEmmanuel Vadot }; 856f126890aSEmmanuel Vadot 857f126890aSEmmanuel Vadot watchdog@1c20ca0 { 858f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-wdt"; 859f126890aSEmmanuel Vadot reg = <0x01c20ca0 0x20>; 860f126890aSEmmanuel Vadot interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 861f126890aSEmmanuel Vadot clocks = <&osc24M>; 862f126890aSEmmanuel Vadot }; 863f126890aSEmmanuel Vadot 864f126890aSEmmanuel Vadot spdif: spdif@1c21000 { 865f126890aSEmmanuel Vadot #sound-dai-cells = <0>; 866f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-spdif", 867f126890aSEmmanuel Vadot "allwinner,sun8i-h3-spdif"; 868f126890aSEmmanuel Vadot reg = <0x01c21000 0x400>; 869f126890aSEmmanuel Vadot interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 870f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_SPDIF>, <&ccu CLK_SPDIF>; 871f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_SPDIF>; 872f126890aSEmmanuel Vadot clock-names = "apb", "spdif"; 873f126890aSEmmanuel Vadot dmas = <&dma 2>; 874f126890aSEmmanuel Vadot dma-names = "tx"; 875f126890aSEmmanuel Vadot pinctrl-names = "default"; 876f126890aSEmmanuel Vadot pinctrl-0 = <&spdif_tx_pin>; 877f126890aSEmmanuel Vadot status = "disabled"; 878f126890aSEmmanuel Vadot }; 879f126890aSEmmanuel Vadot 880f126890aSEmmanuel Vadot i2s0: i2s@1c22000 { 881f126890aSEmmanuel Vadot #sound-dai-cells = <0>; 882f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-i2s"; 883f126890aSEmmanuel Vadot reg = <0x01c22000 0x400>; 884f126890aSEmmanuel Vadot interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 885f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_I2S0>, <&ccu CLK_I2S0>; 886f126890aSEmmanuel Vadot clock-names = "apb", "mod"; 887f126890aSEmmanuel Vadot dmas = <&dma 3>, <&dma 3>; 888f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_I2S0>; 889f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 890f126890aSEmmanuel Vadot status = "disabled"; 891f126890aSEmmanuel Vadot }; 892f126890aSEmmanuel Vadot 893f126890aSEmmanuel Vadot i2s1: i2s@1c22400 { 894f126890aSEmmanuel Vadot #sound-dai-cells = <0>; 895f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-i2s"; 896f126890aSEmmanuel Vadot reg = <0x01c22400 0x400>; 897f126890aSEmmanuel Vadot interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 898f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_I2S1>, <&ccu CLK_I2S1>; 899f126890aSEmmanuel Vadot clock-names = "apb", "mod"; 900f126890aSEmmanuel Vadot dmas = <&dma 4>, <&dma 4>; 901f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_I2S1>; 902f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 903f126890aSEmmanuel Vadot pinctrl-names = "default"; 904f126890aSEmmanuel Vadot pinctrl-0 = <&i2s1_pins>; 905f126890aSEmmanuel Vadot status = "disabled"; 906f126890aSEmmanuel Vadot }; 907f126890aSEmmanuel Vadot 908f126890aSEmmanuel Vadot i2s2: i2s@1c22800 { 909f126890aSEmmanuel Vadot #sound-dai-cells = <0>; 910f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-i2s"; 911f126890aSEmmanuel Vadot reg = <0x01c22800 0x400>; 912f126890aSEmmanuel Vadot interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 913f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_I2S2>, <&ccu CLK_I2S2>; 914f126890aSEmmanuel Vadot clock-names = "apb", "mod"; 915f126890aSEmmanuel Vadot dmas = <&dma 27>; 916f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_I2S2>; 917f126890aSEmmanuel Vadot dma-names = "tx"; 918f126890aSEmmanuel Vadot status = "disabled"; 919f126890aSEmmanuel Vadot }; 920f126890aSEmmanuel Vadot 921f126890aSEmmanuel Vadot pwm: pwm@1c21400 { 922f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-pwm", 923f126890aSEmmanuel Vadot "allwinner,sun8i-h3-pwm"; 924f126890aSEmmanuel Vadot reg = <0x01c21400 0x400>; 925f126890aSEmmanuel Vadot clocks = <&osc24M>; 926f126890aSEmmanuel Vadot #pwm-cells = <3>; 927f126890aSEmmanuel Vadot status = "disabled"; 928f126890aSEmmanuel Vadot }; 929f126890aSEmmanuel Vadot 930f126890aSEmmanuel Vadot uart0: serial@1c28000 { 931f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 932f126890aSEmmanuel Vadot reg = <0x01c28000 0x400>; 933f126890aSEmmanuel Vadot interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 934f126890aSEmmanuel Vadot reg-shift = <2>; 935f126890aSEmmanuel Vadot reg-io-width = <4>; 936f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_UART0>; 937f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_UART0>; 938f126890aSEmmanuel Vadot status = "disabled"; 939f126890aSEmmanuel Vadot }; 940f126890aSEmmanuel Vadot 941f126890aSEmmanuel Vadot uart1: serial@1c28400 { 942f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 943f126890aSEmmanuel Vadot reg = <0x01c28400 0x400>; 944f126890aSEmmanuel Vadot interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 945f126890aSEmmanuel Vadot reg-shift = <2>; 946f126890aSEmmanuel Vadot reg-io-width = <4>; 947f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_UART1>; 948f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_UART1>; 949f126890aSEmmanuel Vadot status = "disabled"; 950f126890aSEmmanuel Vadot }; 951f126890aSEmmanuel Vadot 952f126890aSEmmanuel Vadot uart2: serial@1c28800 { 953f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 954f126890aSEmmanuel Vadot reg = <0x01c28800 0x400>; 955f126890aSEmmanuel Vadot interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 956f126890aSEmmanuel Vadot reg-shift = <2>; 957f126890aSEmmanuel Vadot reg-io-width = <4>; 958f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_UART2>; 959f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_UART2>; 960f126890aSEmmanuel Vadot status = "disabled"; 961f126890aSEmmanuel Vadot }; 962f126890aSEmmanuel Vadot 963f126890aSEmmanuel Vadot uart3: serial@1c28c00 { 964f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 965f126890aSEmmanuel Vadot reg = <0x01c28c00 0x400>; 966f126890aSEmmanuel Vadot interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 967f126890aSEmmanuel Vadot reg-shift = <2>; 968f126890aSEmmanuel Vadot reg-io-width = <4>; 969f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_UART3>; 970f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_UART3>; 971f126890aSEmmanuel Vadot status = "disabled"; 972f126890aSEmmanuel Vadot }; 973f126890aSEmmanuel Vadot 974f126890aSEmmanuel Vadot uart4: serial@1c29000 { 975f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 976f126890aSEmmanuel Vadot reg = <0x01c29000 0x400>; 977f126890aSEmmanuel Vadot interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 978f126890aSEmmanuel Vadot reg-shift = <2>; 979f126890aSEmmanuel Vadot reg-io-width = <4>; 980f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_UART4>; 981f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_UART4>; 982f126890aSEmmanuel Vadot status = "disabled"; 983f126890aSEmmanuel Vadot }; 984f126890aSEmmanuel Vadot 985f126890aSEmmanuel Vadot i2c0: i2c@1c2ac00 { 986f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-i2c", 987f126890aSEmmanuel Vadot "allwinner,sun6i-a31-i2c"; 988f126890aSEmmanuel Vadot reg = <0x01c2ac00 0x400>; 989f126890aSEmmanuel Vadot interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 990f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_I2C0>; 991f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_I2C0>; 992f126890aSEmmanuel Vadot pinctrl-names = "default"; 993f126890aSEmmanuel Vadot pinctrl-0 = <&i2c0_pins>; 994f126890aSEmmanuel Vadot status = "disabled"; 995f126890aSEmmanuel Vadot #address-cells = <1>; 996f126890aSEmmanuel Vadot #size-cells = <0>; 997f126890aSEmmanuel Vadot }; 998f126890aSEmmanuel Vadot 999f126890aSEmmanuel Vadot i2c1: i2c@1c2b000 { 1000f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-i2c", 1001f126890aSEmmanuel Vadot "allwinner,sun6i-a31-i2c"; 1002f126890aSEmmanuel Vadot reg = <0x01c2b000 0x400>; 1003f126890aSEmmanuel Vadot interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 1004f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_I2C1>; 1005f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_I2C1>; 1006f126890aSEmmanuel Vadot pinctrl-names = "default"; 1007f126890aSEmmanuel Vadot pinctrl-0 = <&i2c1_pins>; 1008f126890aSEmmanuel Vadot status = "disabled"; 1009f126890aSEmmanuel Vadot #address-cells = <1>; 1010f126890aSEmmanuel Vadot #size-cells = <0>; 1011f126890aSEmmanuel Vadot }; 1012f126890aSEmmanuel Vadot 1013f126890aSEmmanuel Vadot i2c2: i2c@1c2b400 { 1014f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-i2c", 1015f126890aSEmmanuel Vadot "allwinner,sun6i-a31-i2c"; 1016f126890aSEmmanuel Vadot reg = <0x01c2b400 0x400>; 1017f126890aSEmmanuel Vadot interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 1018f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_I2C2>; 1019f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_I2C2>; 1020f126890aSEmmanuel Vadot status = "disabled"; 1021f126890aSEmmanuel Vadot #address-cells = <1>; 1022f126890aSEmmanuel Vadot #size-cells = <0>; 1023f126890aSEmmanuel Vadot }; 1024f126890aSEmmanuel Vadot 1025f126890aSEmmanuel Vadot emac: ethernet@1c30000 { 1026f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-emac"; 1027f126890aSEmmanuel Vadot syscon = <&syscon>; 1028f126890aSEmmanuel Vadot reg = <0x01c30000 0x104>; 1029f126890aSEmmanuel Vadot interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 1030f126890aSEmmanuel Vadot interrupt-names = "macirq"; 1031f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_EMAC>; 1032f126890aSEmmanuel Vadot clock-names = "stmmaceth"; 1033f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_EMAC>; 1034f126890aSEmmanuel Vadot reset-names = "stmmaceth"; 1035f126890aSEmmanuel Vadot status = "disabled"; 1036f126890aSEmmanuel Vadot 1037f126890aSEmmanuel Vadot mdio: mdio { 1038f126890aSEmmanuel Vadot compatible = "snps,dwmac-mdio"; 1039f126890aSEmmanuel Vadot #address-cells = <1>; 1040f126890aSEmmanuel Vadot #size-cells = <0>; 1041f126890aSEmmanuel Vadot }; 1042f126890aSEmmanuel Vadot }; 1043f126890aSEmmanuel Vadot 1044f126890aSEmmanuel Vadot gic: interrupt-controller@1c81000 { 1045f126890aSEmmanuel Vadot compatible = "arm,gic-400"; 1046f126890aSEmmanuel Vadot reg = <0x01c81000 0x1000>, 1047f126890aSEmmanuel Vadot <0x01c82000 0x2000>, 1048f126890aSEmmanuel Vadot <0x01c84000 0x2000>, 1049f126890aSEmmanuel Vadot <0x01c86000 0x2000>; 1050f126890aSEmmanuel Vadot interrupt-controller; 1051f126890aSEmmanuel Vadot #interrupt-cells = <3>; 1052f126890aSEmmanuel Vadot interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>; 1053f126890aSEmmanuel Vadot }; 1054f126890aSEmmanuel Vadot 1055f126890aSEmmanuel Vadot csi: camera@1cb0000 { 1056f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-csi"; 1057f126890aSEmmanuel Vadot reg = <0x01cb0000 0x1000>; 1058f126890aSEmmanuel Vadot interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 1059f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_CSI>, 1060f126890aSEmmanuel Vadot <&ccu CLK_CSI_SCLK>, 1061f126890aSEmmanuel Vadot <&ccu CLK_DRAM_CSI>; 1062f126890aSEmmanuel Vadot clock-names = "bus", "mod", "ram"; 1063f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_CSI>; 1064f126890aSEmmanuel Vadot status = "disabled"; 1065f126890aSEmmanuel Vadot }; 1066f126890aSEmmanuel Vadot 1067f126890aSEmmanuel Vadot hdmi: hdmi@1ee0000 { 1068f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-dw-hdmi"; 1069f126890aSEmmanuel Vadot reg = <0x01ee0000 0x10000>; 1070f126890aSEmmanuel Vadot reg-io-width = <1>; 1071f126890aSEmmanuel Vadot interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; 1072f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_SLOW>, 1073f126890aSEmmanuel Vadot <&ccu CLK_HDMI>; 1074f126890aSEmmanuel Vadot clock-names = "iahb", "isfr", "tmds"; 1075f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_HDMI1>; 1076f126890aSEmmanuel Vadot reset-names = "ctrl"; 1077f126890aSEmmanuel Vadot phys = <&hdmi_phy>; 1078f126890aSEmmanuel Vadot phy-names = "phy"; 1079f126890aSEmmanuel Vadot pinctrl-names = "default"; 1080f126890aSEmmanuel Vadot pinctrl-0 = <&hdmi_pins>; 1081f126890aSEmmanuel Vadot status = "disabled"; 1082f126890aSEmmanuel Vadot 1083f126890aSEmmanuel Vadot ports { 1084f126890aSEmmanuel Vadot #address-cells = <1>; 1085f126890aSEmmanuel Vadot #size-cells = <0>; 1086f126890aSEmmanuel Vadot 1087f126890aSEmmanuel Vadot hdmi_in: port@0 { 1088f126890aSEmmanuel Vadot reg = <0>; 1089f126890aSEmmanuel Vadot 1090f126890aSEmmanuel Vadot hdmi_in_tcon1: endpoint { 1091f126890aSEmmanuel Vadot remote-endpoint = <&tcon1_out_hdmi>; 1092f126890aSEmmanuel Vadot }; 1093f126890aSEmmanuel Vadot }; 1094f126890aSEmmanuel Vadot 1095f126890aSEmmanuel Vadot hdmi_out: port@1 { 1096f126890aSEmmanuel Vadot reg = <1>; 1097f126890aSEmmanuel Vadot }; 1098f126890aSEmmanuel Vadot }; 1099f126890aSEmmanuel Vadot }; 1100f126890aSEmmanuel Vadot 1101f126890aSEmmanuel Vadot hdmi_phy: hdmi-phy@1ef0000 { 1102f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-hdmi-phy"; 1103f126890aSEmmanuel Vadot reg = <0x01ef0000 0x10000>; 1104f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_SLOW>; 1105f126890aSEmmanuel Vadot clock-names = "bus", "mod"; 1106f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_HDMI0>; 1107f126890aSEmmanuel Vadot reset-names = "phy"; 1108f126890aSEmmanuel Vadot #phy-cells = <0>; 1109f126890aSEmmanuel Vadot }; 1110f126890aSEmmanuel Vadot 1111f126890aSEmmanuel Vadot r_intc: interrupt-controller@1f00c00 { 1112f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-r-intc", 1113f126890aSEmmanuel Vadot "allwinner,sun6i-a31-r-intc"; 1114f126890aSEmmanuel Vadot interrupt-controller; 1115f126890aSEmmanuel Vadot #interrupt-cells = <3>; 1116f126890aSEmmanuel Vadot reg = <0x01f00c00 0x400>; 1117f126890aSEmmanuel Vadot interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 1118f126890aSEmmanuel Vadot }; 1119f126890aSEmmanuel Vadot 1120f126890aSEmmanuel Vadot r_ccu: clock@1f01400 { 1121f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-r-ccu"; 1122f126890aSEmmanuel Vadot reg = <0x01f01400 0x400>; 1123f126890aSEmmanuel Vadot clocks = <&osc24M>, <&osc16Md512>, <&osc16M>, 1124f126890aSEmmanuel Vadot <&ccu CLK_PLL_PERIPH>; 1125f126890aSEmmanuel Vadot clock-names = "hosc", "losc", "iosc", "pll-periph"; 1126f126890aSEmmanuel Vadot #clock-cells = <1>; 1127f126890aSEmmanuel Vadot #reset-cells = <1>; 1128f126890aSEmmanuel Vadot }; 1129f126890aSEmmanuel Vadot 1130*7d0873ebSEmmanuel Vadot cpucfg@1f01c00 { 1131f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-r-cpucfg"; 1132f126890aSEmmanuel Vadot reg = <0x1f01c00 0x400>; 1133f126890aSEmmanuel Vadot }; 1134f126890aSEmmanuel Vadot 1135f126890aSEmmanuel Vadot r_cir: ir@1f02000 { 1136f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-ir", 1137f126890aSEmmanuel Vadot "allwinner,sun6i-a31-ir"; 1138f126890aSEmmanuel Vadot clocks = <&r_ccu CLK_APB0_IR>, <&r_ccu CLK_IR>; 1139f126890aSEmmanuel Vadot clock-names = "apb", "ir"; 1140f126890aSEmmanuel Vadot resets = <&r_ccu RST_APB0_IR>; 1141f126890aSEmmanuel Vadot interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 1142f126890aSEmmanuel Vadot reg = <0x01f02000 0x400>; 1143f126890aSEmmanuel Vadot pinctrl-names = "default"; 1144f126890aSEmmanuel Vadot pinctrl-0 = <&r_cir_pin>; 1145f126890aSEmmanuel Vadot status = "disabled"; 1146f126890aSEmmanuel Vadot }; 1147f126890aSEmmanuel Vadot 1148f126890aSEmmanuel Vadot r_lradc: lradc@1f03c00 { 1149f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-r-lradc"; 1150f126890aSEmmanuel Vadot reg = <0x01f03c00 0x100>; 1151f126890aSEmmanuel Vadot interrupt-parent = <&r_intc>; 1152f126890aSEmmanuel Vadot interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 1153f126890aSEmmanuel Vadot status = "disabled"; 1154f126890aSEmmanuel Vadot }; 1155f126890aSEmmanuel Vadot 1156f126890aSEmmanuel Vadot r_pio: pinctrl@1f02c00 { 1157f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-r-pinctrl"; 1158f126890aSEmmanuel Vadot reg = <0x01f02c00 0x400>; 1159f126890aSEmmanuel Vadot interrupt-parent = <&r_intc>; 1160f126890aSEmmanuel Vadot interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 1161f126890aSEmmanuel Vadot clocks = <&r_ccu CLK_APB0_PIO>, <&osc24M>, 1162f126890aSEmmanuel Vadot <&osc16Md512>; 1163f126890aSEmmanuel Vadot clock-names = "apb", "hosc", "losc"; 1164f126890aSEmmanuel Vadot gpio-controller; 1165f126890aSEmmanuel Vadot #gpio-cells = <3>; 1166f126890aSEmmanuel Vadot interrupt-controller; 1167f126890aSEmmanuel Vadot #interrupt-cells = <3>; 1168f126890aSEmmanuel Vadot 1169f126890aSEmmanuel Vadot r_cir_pin: r-cir-pin { 1170f126890aSEmmanuel Vadot pins = "PL12"; 1171f126890aSEmmanuel Vadot function = "s_cir_rx"; 1172f126890aSEmmanuel Vadot }; 1173f126890aSEmmanuel Vadot 1174f126890aSEmmanuel Vadot r_rsb_pins: r-rsb-pins { 1175f126890aSEmmanuel Vadot pins = "PL0", "PL1"; 1176f126890aSEmmanuel Vadot function = "s_rsb"; 1177f126890aSEmmanuel Vadot drive-strength = <20>; 1178f126890aSEmmanuel Vadot bias-pull-up; 1179f126890aSEmmanuel Vadot }; 1180f126890aSEmmanuel Vadot }; 1181f126890aSEmmanuel Vadot 1182f126890aSEmmanuel Vadot r_rsb: rsb@1f03400 { 1183f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-rsb", 1184f126890aSEmmanuel Vadot "allwinner,sun8i-a23-rsb"; 1185f126890aSEmmanuel Vadot reg = <0x01f03400 0x400>; 1186f126890aSEmmanuel Vadot interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 1187f126890aSEmmanuel Vadot clocks = <&r_ccu CLK_APB0_RSB>; 1188f126890aSEmmanuel Vadot clock-frequency = <3000000>; 1189f126890aSEmmanuel Vadot resets = <&r_ccu RST_APB0_RSB>; 1190f126890aSEmmanuel Vadot pinctrl-names = "default"; 1191f126890aSEmmanuel Vadot pinctrl-0 = <&r_rsb_pins>; 1192f126890aSEmmanuel Vadot status = "disabled"; 1193f126890aSEmmanuel Vadot #address-cells = <1>; 1194f126890aSEmmanuel Vadot #size-cells = <0>; 1195f126890aSEmmanuel Vadot }; 1196f126890aSEmmanuel Vadot 1197f126890aSEmmanuel Vadot ths: thermal-sensor@1f04000 { 1198f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a83t-ths"; 1199f126890aSEmmanuel Vadot reg = <0x01f04000 0x100>; 1200f126890aSEmmanuel Vadot interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 1201f126890aSEmmanuel Vadot nvmem-cells = <&ths_calibration>; 1202f126890aSEmmanuel Vadot nvmem-cell-names = "calibration"; 1203f126890aSEmmanuel Vadot #thermal-sensor-cells = <1>; 1204f126890aSEmmanuel Vadot }; 1205f126890aSEmmanuel Vadot }; 1206f126890aSEmmanuel Vadot 1207f126890aSEmmanuel Vadot thermal-zones { 1208f126890aSEmmanuel Vadot cpu0_thermal: cpu0-thermal { 1209f126890aSEmmanuel Vadot polling-delay-passive = <0>; 1210f126890aSEmmanuel Vadot polling-delay = <0>; 1211f126890aSEmmanuel Vadot thermal-sensors = <&ths 0>; 1212f126890aSEmmanuel Vadot 1213f126890aSEmmanuel Vadot trips { 1214f126890aSEmmanuel Vadot cpu0_hot: cpu-hot { 1215f126890aSEmmanuel Vadot temperature = <80000>; 1216f126890aSEmmanuel Vadot hysteresis = <2000>; 1217f126890aSEmmanuel Vadot type = "passive"; 1218f126890aSEmmanuel Vadot }; 1219f126890aSEmmanuel Vadot 1220f126890aSEmmanuel Vadot cpu0_very_hot: cpu-very-hot { 1221f126890aSEmmanuel Vadot temperature = <100000>; 1222f126890aSEmmanuel Vadot hysteresis = <0>; 1223f126890aSEmmanuel Vadot type = "critical"; 1224f126890aSEmmanuel Vadot }; 1225f126890aSEmmanuel Vadot }; 1226f126890aSEmmanuel Vadot 1227f126890aSEmmanuel Vadot cooling-maps { 1228f126890aSEmmanuel Vadot cpu-hot-limit { 1229f126890aSEmmanuel Vadot trip = <&cpu0_hot>; 1230f126890aSEmmanuel Vadot cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1231f126890aSEmmanuel Vadot <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1232f126890aSEmmanuel Vadot <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1233f126890aSEmmanuel Vadot <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 1234f126890aSEmmanuel Vadot }; 1235f126890aSEmmanuel Vadot }; 1236f126890aSEmmanuel Vadot }; 1237f126890aSEmmanuel Vadot 1238f126890aSEmmanuel Vadot cpu1_thermal: cpu1-thermal { 1239f126890aSEmmanuel Vadot polling-delay-passive = <0>; 1240f126890aSEmmanuel Vadot polling-delay = <0>; 1241f126890aSEmmanuel Vadot thermal-sensors = <&ths 1>; 1242f126890aSEmmanuel Vadot 1243f126890aSEmmanuel Vadot trips { 1244f126890aSEmmanuel Vadot cpu1_hot: cpu-hot { 1245f126890aSEmmanuel Vadot temperature = <80000>; 1246f126890aSEmmanuel Vadot hysteresis = <2000>; 1247f126890aSEmmanuel Vadot type = "passive"; 1248f126890aSEmmanuel Vadot }; 1249f126890aSEmmanuel Vadot 1250f126890aSEmmanuel Vadot cpu1_very_hot: cpu-very-hot { 1251f126890aSEmmanuel Vadot temperature = <100000>; 1252f126890aSEmmanuel Vadot hysteresis = <0>; 1253f126890aSEmmanuel Vadot type = "critical"; 1254f126890aSEmmanuel Vadot }; 1255f126890aSEmmanuel Vadot }; 1256f126890aSEmmanuel Vadot 1257f126890aSEmmanuel Vadot cooling-maps { 1258f126890aSEmmanuel Vadot cpu-hot-limit { 1259f126890aSEmmanuel Vadot trip = <&cpu1_hot>; 1260f126890aSEmmanuel Vadot cooling-device = <&cpu100 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1261f126890aSEmmanuel Vadot <&cpu101 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1262f126890aSEmmanuel Vadot <&cpu102 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1263f126890aSEmmanuel Vadot <&cpu103 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 1264f126890aSEmmanuel Vadot }; 1265f126890aSEmmanuel Vadot }; 1266f126890aSEmmanuel Vadot }; 1267f126890aSEmmanuel Vadot 1268f126890aSEmmanuel Vadot gpu_thermal: gpu-thermal { 1269f126890aSEmmanuel Vadot polling-delay-passive = <0>; 1270f126890aSEmmanuel Vadot polling-delay = <0>; 1271f126890aSEmmanuel Vadot thermal-sensors = <&ths 2>; 1272f126890aSEmmanuel Vadot }; 1273f126890aSEmmanuel Vadot }; 1274f126890aSEmmanuel Vadot}; 1275