1677092c3SNeil Armstrong// SPDX-License-Identifier: GPL-2.0 OR MIT 24a69fcd3SCarlo Caione/* 34a69fcd3SCarlo Caione * Copyright 2015 Endless Mobile, Inc. 44a69fcd3SCarlo Caione * Author: Carlo Caione <carlo@endlessm.com> 54a69fcd3SCarlo Caione */ 64a69fcd3SCarlo Caione 76d549ff5SMartin Blumenstingl#include <dt-bindings/clock/meson8-ddr-clkc.h> 84a69fcd3SCarlo Caione#include <dt-bindings/clock/meson8b-clkc.h> 94a69fcd3SCarlo Caione#include <dt-bindings/gpio/meson8b-gpio.h> 109960cacbSMartin Blumenstingl#include <dt-bindings/power/meson8-power.h> 11cad059c6SNeil Armstrong#include <dt-bindings/reset/amlogic,meson8b-reset.h> 124692142aSCarlo Caione#include <dt-bindings/reset/amlogic,meson8b-clkc-reset.h> 139073f694SMartin Blumenstingl#include <dt-bindings/thermal/thermal.h> 14f44135e1SMartin Blumenstingl#include "meson.dtsi" 154a69fcd3SCarlo Caione 164a69fcd3SCarlo Caione/ { 174a69fcd3SCarlo Caione cpus { 184a69fcd3SCarlo Caione #address-cells = <1>; 194a69fcd3SCarlo Caione #size-cells = <0>; 204a69fcd3SCarlo Caione 21e8d85d76SMartin Blumenstingl cpu0: cpu@200 { 224a69fcd3SCarlo Caione device_type = "cpu"; 234a69fcd3SCarlo Caione compatible = "arm,cortex-a5"; 244a69fcd3SCarlo Caione next-level-cache = <&L2>; 254a69fcd3SCarlo Caione reg = <0x200>; 264692142aSCarlo Caione enable-method = "amlogic,meson8b-smp"; 274692142aSCarlo Caione resets = <&clkc CLKC_RESET_CPU0_SOFT_RESET>; 28c311552aSMartin Blumenstingl operating-points-v2 = <&cpu_opp_table>; 29c311552aSMartin Blumenstingl clocks = <&clkc CLKID_CPUCLK>; 309073f694SMartin Blumenstingl #cooling-cells = <2>; /* min followed by max */ 314a69fcd3SCarlo Caione }; 324a69fcd3SCarlo Caione 33e8d85d76SMartin Blumenstingl cpu1: cpu@201 { 344a69fcd3SCarlo Caione device_type = "cpu"; 354a69fcd3SCarlo Caione compatible = "arm,cortex-a5"; 364a69fcd3SCarlo Caione next-level-cache = <&L2>; 374a69fcd3SCarlo Caione reg = <0x201>; 384692142aSCarlo Caione enable-method = "amlogic,meson8b-smp"; 394692142aSCarlo Caione resets = <&clkc CLKC_RESET_CPU1_SOFT_RESET>; 40c311552aSMartin Blumenstingl operating-points-v2 = <&cpu_opp_table>; 41c311552aSMartin Blumenstingl clocks = <&clkc CLKID_CPUCLK>; 429073f694SMartin Blumenstingl #cooling-cells = <2>; /* min followed by max */ 434a69fcd3SCarlo Caione }; 444a69fcd3SCarlo Caione 45e8d85d76SMartin Blumenstingl cpu2: cpu@202 { 464a69fcd3SCarlo Caione device_type = "cpu"; 474a69fcd3SCarlo Caione compatible = "arm,cortex-a5"; 484a69fcd3SCarlo Caione next-level-cache = <&L2>; 494a69fcd3SCarlo Caione reg = <0x202>; 504692142aSCarlo Caione enable-method = "amlogic,meson8b-smp"; 514692142aSCarlo Caione resets = <&clkc CLKC_RESET_CPU2_SOFT_RESET>; 52c311552aSMartin Blumenstingl operating-points-v2 = <&cpu_opp_table>; 53c311552aSMartin Blumenstingl clocks = <&clkc CLKID_CPUCLK>; 549073f694SMartin Blumenstingl #cooling-cells = <2>; /* min followed by max */ 554a69fcd3SCarlo Caione }; 564a69fcd3SCarlo Caione 57e8d85d76SMartin Blumenstingl cpu3: cpu@203 { 584a69fcd3SCarlo Caione device_type = "cpu"; 594a69fcd3SCarlo Caione compatible = "arm,cortex-a5"; 604a69fcd3SCarlo Caione next-level-cache = <&L2>; 614a69fcd3SCarlo Caione reg = <0x203>; 624692142aSCarlo Caione enable-method = "amlogic,meson8b-smp"; 634692142aSCarlo Caione resets = <&clkc CLKC_RESET_CPU3_SOFT_RESET>; 64c311552aSMartin Blumenstingl operating-points-v2 = <&cpu_opp_table>; 65c311552aSMartin Blumenstingl clocks = <&clkc CLKID_CPUCLK>; 669073f694SMartin Blumenstingl #cooling-cells = <2>; /* min followed by max */ 67c311552aSMartin Blumenstingl }; 68c311552aSMartin Blumenstingl }; 69c311552aSMartin Blumenstingl 70c311552aSMartin Blumenstingl cpu_opp_table: opp-table { 71c311552aSMartin Blumenstingl compatible = "operating-points-v2"; 72c311552aSMartin Blumenstingl opp-shared; 73c311552aSMartin Blumenstingl 74c311552aSMartin Blumenstingl opp-96000000 { 75c311552aSMartin Blumenstingl opp-hz = /bits/ 64 <96000000>; 76c311552aSMartin Blumenstingl opp-microvolt = <860000>; 77c311552aSMartin Blumenstingl }; 78c311552aSMartin Blumenstingl opp-192000000 { 79c311552aSMartin Blumenstingl opp-hz = /bits/ 64 <192000000>; 80c311552aSMartin Blumenstingl opp-microvolt = <860000>; 81c311552aSMartin Blumenstingl }; 82c311552aSMartin Blumenstingl opp-312000000 { 83c311552aSMartin Blumenstingl opp-hz = /bits/ 64 <312000000>; 84c311552aSMartin Blumenstingl opp-microvolt = <860000>; 85c311552aSMartin Blumenstingl }; 86c311552aSMartin Blumenstingl opp-408000000 { 87c311552aSMartin Blumenstingl opp-hz = /bits/ 64 <408000000>; 88c311552aSMartin Blumenstingl opp-microvolt = <860000>; 89c311552aSMartin Blumenstingl }; 90c311552aSMartin Blumenstingl opp-504000000 { 91c311552aSMartin Blumenstingl opp-hz = /bits/ 64 <504000000>; 92c311552aSMartin Blumenstingl opp-microvolt = <860000>; 93c311552aSMartin Blumenstingl }; 94c311552aSMartin Blumenstingl opp-600000000 { 95c311552aSMartin Blumenstingl opp-hz = /bits/ 64 <600000000>; 96c311552aSMartin Blumenstingl opp-microvolt = <860000>; 97c311552aSMartin Blumenstingl }; 98c311552aSMartin Blumenstingl opp-720000000 { 99c311552aSMartin Blumenstingl opp-hz = /bits/ 64 <720000000>; 100c311552aSMartin Blumenstingl opp-microvolt = <860000>; 101c311552aSMartin Blumenstingl }; 102c311552aSMartin Blumenstingl opp-816000000 { 103c311552aSMartin Blumenstingl opp-hz = /bits/ 64 <816000000>; 104c311552aSMartin Blumenstingl opp-microvolt = <900000>; 105c311552aSMartin Blumenstingl }; 106c311552aSMartin Blumenstingl opp-1008000000 { 107c311552aSMartin Blumenstingl opp-hz = /bits/ 64 <1008000000>; 108c311552aSMartin Blumenstingl opp-microvolt = <1140000>; 109c311552aSMartin Blumenstingl }; 110c311552aSMartin Blumenstingl opp-1200000000 { 111c311552aSMartin Blumenstingl opp-hz = /bits/ 64 <1200000000>; 112c311552aSMartin Blumenstingl opp-microvolt = <1140000>; 113c311552aSMartin Blumenstingl }; 114c311552aSMartin Blumenstingl opp-1320000000 { 115c311552aSMartin Blumenstingl opp-hz = /bits/ 64 <1320000000>; 116c311552aSMartin Blumenstingl opp-microvolt = <1140000>; 117c311552aSMartin Blumenstingl }; 118c311552aSMartin Blumenstingl opp-1488000000 { 119c311552aSMartin Blumenstingl opp-hz = /bits/ 64 <1488000000>; 120c311552aSMartin Blumenstingl opp-microvolt = <1140000>; 121c311552aSMartin Blumenstingl }; 122c311552aSMartin Blumenstingl opp-1536000000 { 123c311552aSMartin Blumenstingl opp-hz = /bits/ 64 <1536000000>; 124c311552aSMartin Blumenstingl opp-microvolt = <1140000>; 1254a69fcd3SCarlo Caione }; 1264a69fcd3SCarlo Caione }; 127d8dd3d29SMartin Blumenstingl 1285f441684SKrzysztof Kozlowski gpu_opp_table: opp-table-gpu { 129c3ea80b6SMartin Blumenstingl compatible = "operating-points-v2"; 130c3ea80b6SMartin Blumenstingl 131c3ea80b6SMartin Blumenstingl opp-255000000 { 132c3ea80b6SMartin Blumenstingl opp-hz = /bits/ 64 <255000000>; 13326d65140SMartin Blumenstingl opp-microvolt = <1100000>; 134c3ea80b6SMartin Blumenstingl }; 135c3dd3315SMartin Blumenstingl opp-364285714 { 136c3dd3315SMartin Blumenstingl opp-hz = /bits/ 64 <364285714>; 13726d65140SMartin Blumenstingl opp-microvolt = <1100000>; 138c3ea80b6SMartin Blumenstingl }; 139c3ea80b6SMartin Blumenstingl opp-425000000 { 140c3ea80b6SMartin Blumenstingl opp-hz = /bits/ 64 <425000000>; 14126d65140SMartin Blumenstingl opp-microvolt = <1100000>; 142c3ea80b6SMartin Blumenstingl }; 143c3ea80b6SMartin Blumenstingl opp-510000000 { 144c3ea80b6SMartin Blumenstingl opp-hz = /bits/ 64 <510000000>; 14526d65140SMartin Blumenstingl opp-microvolt = <1100000>; 146c3ea80b6SMartin Blumenstingl }; 147c3ea80b6SMartin Blumenstingl opp-637500000 { 148c3ea80b6SMartin Blumenstingl opp-hz = /bits/ 64 <637500000>; 14926d65140SMartin Blumenstingl opp-microvolt = <1100000>; 150c3ea80b6SMartin Blumenstingl turbo-mode; 151c3ea80b6SMartin Blumenstingl }; 152c3ea80b6SMartin Blumenstingl }; 153c3ea80b6SMartin Blumenstingl 154e8d85d76SMartin Blumenstingl pmu { 155e8d85d76SMartin Blumenstingl compatible = "arm,cortex-a5-pmu"; 156e8d85d76SMartin Blumenstingl interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>, 157e8d85d76SMartin Blumenstingl <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>, 158e8d85d76SMartin Blumenstingl <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>, 159e8d85d76SMartin Blumenstingl <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>; 160e8d85d76SMartin Blumenstingl interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 161e8d85d76SMartin Blumenstingl }; 162e8d85d76SMartin Blumenstingl 163b9b4bf50SLinus Lüssing reserved-memory { 164b9b4bf50SLinus Lüssing #address-cells = <1>; 165b9b4bf50SLinus Lüssing #size-cells = <1>; 166b9b4bf50SLinus Lüssing ranges; 167b9b4bf50SLinus Lüssing 168b9b4bf50SLinus Lüssing /* 2 MiB reserved for Hardware ROM Firmware? */ 169b9b4bf50SLinus Lüssing hwrom@0 { 170b9b4bf50SLinus Lüssing reg = <0x0 0x200000>; 171b9b4bf50SLinus Lüssing no-map; 172b9b4bf50SLinus Lüssing }; 173b9b4bf50SLinus Lüssing }; 174e402d24dSMartin Blumenstingl 1759073f694SMartin Blumenstingl thermal-zones { 176285d2d64SNeil Armstrong soc-thermal { 1779073f694SMartin Blumenstingl polling-delay-passive = <250>; /* milliseconds */ 1789073f694SMartin Blumenstingl polling-delay = <1000>; /* milliseconds */ 1799073f694SMartin Blumenstingl thermal-sensors = <&thermal_sensor>; 1809073f694SMartin Blumenstingl 1819073f694SMartin Blumenstingl cooling-maps { 1829073f694SMartin Blumenstingl map0 { 1839073f694SMartin Blumenstingl trip = <&soc_passive>; 1849073f694SMartin Blumenstingl cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1859073f694SMartin Blumenstingl <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1869073f694SMartin Blumenstingl <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1879073f694SMartin Blumenstingl <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1889073f694SMartin Blumenstingl <&mali THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 1899073f694SMartin Blumenstingl }; 1909073f694SMartin Blumenstingl 1919073f694SMartin Blumenstingl map1 { 1929073f694SMartin Blumenstingl trip = <&soc_hot>; 1939073f694SMartin Blumenstingl cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1949073f694SMartin Blumenstingl <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1959073f694SMartin Blumenstingl <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1969073f694SMartin Blumenstingl <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1979073f694SMartin Blumenstingl <&mali THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 1989073f694SMartin Blumenstingl }; 1999073f694SMartin Blumenstingl }; 2009073f694SMartin Blumenstingl 2019073f694SMartin Blumenstingl trips { 2029073f694SMartin Blumenstingl soc_passive: soc-passive { 2039073f694SMartin Blumenstingl temperature = <80000>; /* millicelsius */ 2049073f694SMartin Blumenstingl hysteresis = <2000>; /* millicelsius */ 2059073f694SMartin Blumenstingl type = "passive"; 2069073f694SMartin Blumenstingl }; 2079073f694SMartin Blumenstingl 2089073f694SMartin Blumenstingl soc_hot: soc-hot { 2099073f694SMartin Blumenstingl temperature = <90000>; /* millicelsius */ 2109073f694SMartin Blumenstingl hysteresis = <2000>; /* millicelsius */ 2119073f694SMartin Blumenstingl type = "hot"; 2129073f694SMartin Blumenstingl }; 2139073f694SMartin Blumenstingl 2149073f694SMartin Blumenstingl soc_critical: soc-critical { 2159073f694SMartin Blumenstingl temperature = <110000>; /* millicelsius */ 2169073f694SMartin Blumenstingl hysteresis = <2000>; /* millicelsius */ 2179073f694SMartin Blumenstingl type = "critical"; 2189073f694SMartin Blumenstingl }; 2199073f694SMartin Blumenstingl }; 2209073f694SMartin Blumenstingl }; 2219073f694SMartin Blumenstingl }; 2229073f694SMartin Blumenstingl 223872f881eSMartin Blumenstingl mmcbus: bus@c8000000 { 224872f881eSMartin Blumenstingl compatible = "simple-bus"; 225872f881eSMartin Blumenstingl reg = <0xc8000000 0x8000>; 226872f881eSMartin Blumenstingl #address-cells = <1>; 227872f881eSMartin Blumenstingl #size-cells = <1>; 228872f881eSMartin Blumenstingl ranges = <0x0 0xc8000000 0x8000>; 229872f881eSMartin Blumenstingl 2306d549ff5SMartin Blumenstingl ddr_clkc: clock-controller@400 { 2316d549ff5SMartin Blumenstingl compatible = "amlogic,meson8b-ddr-clkc"; 2326d549ff5SMartin Blumenstingl reg = <0x400 0x20>; 2336d549ff5SMartin Blumenstingl clocks = <&xtal>; 2346d549ff5SMartin Blumenstingl clock-names = "xtal"; 2356d549ff5SMartin Blumenstingl #clock-cells = <1>; 2366d549ff5SMartin Blumenstingl }; 2376d549ff5SMartin Blumenstingl 238872f881eSMartin Blumenstingl dmcbus: bus@6000 { 239872f881eSMartin Blumenstingl compatible = "simple-bus"; 240872f881eSMartin Blumenstingl reg = <0x6000 0x400>; 241872f881eSMartin Blumenstingl #address-cells = <1>; 242872f881eSMartin Blumenstingl #size-cells = <1>; 243872f881eSMartin Blumenstingl ranges = <0x0 0x6000 0x400>; 244872f881eSMartin Blumenstingl 245872f881eSMartin Blumenstingl canvas: video-lut@48 { 246872f881eSMartin Blumenstingl compatible = "amlogic,meson8b-canvas", 247872f881eSMartin Blumenstingl "amlogic,canvas"; 248872f881eSMartin Blumenstingl reg = <0x48 0x14>; 249872f881eSMartin Blumenstingl }; 250872f881eSMartin Blumenstingl }; 251872f881eSMartin Blumenstingl }; 252872f881eSMartin Blumenstingl 253e402d24dSMartin Blumenstingl apb: bus@d0000000 { 254e402d24dSMartin Blumenstingl compatible = "simple-bus"; 255e402d24dSMartin Blumenstingl reg = <0xd0000000 0x200000>; 256e402d24dSMartin Blumenstingl #address-cells = <1>; 257e402d24dSMartin Blumenstingl #size-cells = <1>; 258e402d24dSMartin Blumenstingl ranges = <0x0 0xd0000000 0x200000>; 259c3ea80b6SMartin Blumenstingl 260c3ea80b6SMartin Blumenstingl mali: gpu@c0000 { 261c3ea80b6SMartin Blumenstingl compatible = "amlogic,meson8b-mali", "arm,mali-450"; 262c3ea80b6SMartin Blumenstingl reg = <0xc0000 0x40000>; 263c3ea80b6SMartin Blumenstingl interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>, 264c3ea80b6SMartin Blumenstingl <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>, 265c3ea80b6SMartin Blumenstingl <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>, 266c3ea80b6SMartin Blumenstingl <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>, 267c3ea80b6SMartin Blumenstingl <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>, 268c3ea80b6SMartin Blumenstingl <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>, 269c3ea80b6SMartin Blumenstingl <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>, 270c3ea80b6SMartin Blumenstingl <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>; 271c3ea80b6SMartin Blumenstingl interrupt-names = "gp", "gpmmu", "pp", "pmu", 272c3ea80b6SMartin Blumenstingl "pp0", "ppmmu0", "pp1", "ppmmu1"; 273c3ea80b6SMartin Blumenstingl resets = <&reset RESET_MALI>; 274c3ea80b6SMartin Blumenstingl clocks = <&clkc CLKID_CLK81>, <&clkc CLKID_MALI>; 275c3ea80b6SMartin Blumenstingl clock-names = "bus", "core"; 276c3ea80b6SMartin Blumenstingl operating-points-v2 = <&gpu_opp_table>; 2779073f694SMartin Blumenstingl #cooling-cells = <2>; /* min followed by max */ 278c3ea80b6SMartin Blumenstingl }; 279e402d24dSMartin Blumenstingl }; 280f44135e1SMartin Blumenstingl}; /* end of / */ 2814a69fcd3SCarlo Caione 2824f8ca13dSMartin Blumenstingl&aiu { 2834f8ca13dSMartin Blumenstingl compatible = "amlogic,aiu-meson8b", "amlogic,aiu"; 2844f8ca13dSMartin Blumenstingl clocks = <&clkc CLKID_AIU_GLUE>, 2854f8ca13dSMartin Blumenstingl <&clkc CLKID_I2S_OUT>, 2864f8ca13dSMartin Blumenstingl <&clkc CLKID_AOCLK_GATE>, 2874f8ca13dSMartin Blumenstingl <&clkc CLKID_CTS_AMCLK>, 2884f8ca13dSMartin Blumenstingl <&clkc CLKID_MIXER_IFACE>, 2894f8ca13dSMartin Blumenstingl <&clkc CLKID_IEC958>, 2904f8ca13dSMartin Blumenstingl <&clkc CLKID_IEC958_GATE>, 2914f8ca13dSMartin Blumenstingl <&clkc CLKID_CTS_MCLK_I958>, 2924f8ca13dSMartin Blumenstingl <&clkc CLKID_CTS_I958>; 2934f8ca13dSMartin Blumenstingl clock-names = "pclk", 2944f8ca13dSMartin Blumenstingl "i2s_pclk", 2954f8ca13dSMartin Blumenstingl "i2s_aoclk", 2964f8ca13dSMartin Blumenstingl "i2s_mclk", 2974f8ca13dSMartin Blumenstingl "i2s_mixer", 2984f8ca13dSMartin Blumenstingl "spdif_pclk", 2994f8ca13dSMartin Blumenstingl "spdif_aoclk", 3004f8ca13dSMartin Blumenstingl "spdif_mclk", 3014f8ca13dSMartin Blumenstingl "spdif_mclk_sel"; 3024f8ca13dSMartin Blumenstingl resets = <&reset RESET_AIU>; 3034f8ca13dSMartin Blumenstingl}; 3044f8ca13dSMartin Blumenstingl 305f44135e1SMartin Blumenstingl&aobus { 3064692142aSCarlo Caione pmu: pmu@e0 { 3074692142aSCarlo Caione compatible = "amlogic,meson8b-pmu", "syscon"; 3084692142aSCarlo Caione reg = <0xe0 0x18>; 3094692142aSCarlo Caione }; 3104692142aSCarlo Caione 3112b901e9eSNeil Armstrong pinctrl_aobus: pinctrl@14 { 312b60e1157SCarlo Caione compatible = "amlogic,meson8b-aobus-pinctrl"; 313b60e1157SCarlo Caione #address-cells = <1>; 314b60e1157SCarlo Caione #size-cells = <1>; 3152b901e9eSNeil Armstrong ranges = <0x0 0x14 0x1c>; 3164a69fcd3SCarlo Caione 3172b901e9eSNeil Armstrong gpio_ao: bank@0 { 3182b901e9eSNeil Armstrong reg = <0x0 0x4>, 3192b901e9eSNeil Armstrong <0x18 0x4>, 3202b901e9eSNeil Armstrong <0x10 0x8>; 3214a69fcd3SCarlo Caione reg-names = "mux", "pull", "gpio"; 3224a69fcd3SCarlo Caione gpio-controller; 3234a69fcd3SCarlo Caione #gpio-cells = <2>; 324677c432cSJerome Brunet gpio-ranges = <&pinctrl_aobus 0 0 16>; 3254a69fcd3SCarlo Caione }; 3264a69fcd3SCarlo Caione 3274f8ca13dSMartin Blumenstingl i2s_am_clk_pins: i2s-am-clk-out { 3284f8ca13dSMartin Blumenstingl mux { 3294f8ca13dSMartin Blumenstingl groups = "i2s_am_clk_out"; 3304f8ca13dSMartin Blumenstingl function = "i2s"; 3314f8ca13dSMartin Blumenstingl bias-disable; 3324f8ca13dSMartin Blumenstingl }; 3334f8ca13dSMartin Blumenstingl }; 3344f8ca13dSMartin Blumenstingl 3354f8ca13dSMartin Blumenstingl i2s_out_ao_clk_pins: i2s-ao-clk-out { 3364f8ca13dSMartin Blumenstingl mux { 3374f8ca13dSMartin Blumenstingl groups = "i2s_ao_clk_out"; 3384f8ca13dSMartin Blumenstingl function = "i2s"; 3394f8ca13dSMartin Blumenstingl bias-disable; 3404f8ca13dSMartin Blumenstingl }; 3414f8ca13dSMartin Blumenstingl }; 3424f8ca13dSMartin Blumenstingl 3434f8ca13dSMartin Blumenstingl i2s_out_lr_clk_pins: i2s-lr-clk-out { 3444f8ca13dSMartin Blumenstingl mux { 3454f8ca13dSMartin Blumenstingl groups = "i2s_lr_clk_out"; 3464f8ca13dSMartin Blumenstingl function = "i2s"; 3474f8ca13dSMartin Blumenstingl bias-disable; 3484f8ca13dSMartin Blumenstingl }; 3494f8ca13dSMartin Blumenstingl }; 3504f8ca13dSMartin Blumenstingl 3514f8ca13dSMartin Blumenstingl i2s_out_ch01_ao_pins: i2s-out-ch01 { 3524f8ca13dSMartin Blumenstingl mux { 3534f8ca13dSMartin Blumenstingl groups = "i2s_out_01"; 3544f8ca13dSMartin Blumenstingl function = "i2s"; 3554f8ca13dSMartin Blumenstingl bias-disable; 3564f8ca13dSMartin Blumenstingl }; 3574f8ca13dSMartin Blumenstingl }; 3584f8ca13dSMartin Blumenstingl 3594f8ca13dSMartin Blumenstingl spdif_out_1_pins: spdif-out-1 { 3604f8ca13dSMartin Blumenstingl mux { 3614f8ca13dSMartin Blumenstingl groups = "spdif_out_1"; 3624f8ca13dSMartin Blumenstingl function = "spdif_1"; 3634f8ca13dSMartin Blumenstingl bias-disable; 3644f8ca13dSMartin Blumenstingl }; 3654f8ca13dSMartin Blumenstingl }; 3664f8ca13dSMartin Blumenstingl 3674a69fcd3SCarlo Caione uart_ao_a_pins: uart_ao_a { 3684a69fcd3SCarlo Caione mux { 3694a69fcd3SCarlo Caione groups = "uart_tx_ao_a", "uart_rx_ao_a"; 3704a69fcd3SCarlo Caione function = "uart_ao"; 371*7db1068aSMartin Blumenstingl bias-pull-up; 3724a69fcd3SCarlo Caione }; 3734a69fcd3SCarlo Caione }; 37415b520f1SMartin Blumenstingl 37515b520f1SMartin Blumenstingl ir_recv_pins: remote { 37615b520f1SMartin Blumenstingl mux { 37715b520f1SMartin Blumenstingl groups = "remote_input"; 37815b520f1SMartin Blumenstingl function = "remote"; 3797e26335bSJerome Brunet bias-disable; 38015b520f1SMartin Blumenstingl }; 38115b520f1SMartin Blumenstingl }; 3824a69fcd3SCarlo Caione }; 3834a69fcd3SCarlo Caione}; 384f44135e1SMartin Blumenstingl 385fb606cdaSMartin Blumenstingl&ao_arc_rproc { 386fb606cdaSMartin Blumenstingl compatible = "amlogic,meson8b-ao-arc", "amlogic,meson-mx-ao-arc"; 387fb606cdaSMartin Blumenstingl amlogic,secbus2 = <&secbus2>; 388fb606cdaSMartin Blumenstingl sram = <&ao_arc_sram>; 389fb606cdaSMartin Blumenstingl resets = <&reset RESET_MEDIA_CPU>; 390fb606cdaSMartin Blumenstingl clocks = <&clkc CLKID_AO_MEDIA_CPU>; 391fb606cdaSMartin Blumenstingl}; 392fb606cdaSMartin Blumenstingl 393f44135e1SMartin Blumenstingl&cbus { 394f44135e1SMartin Blumenstingl reset: reset-controller@4404 { 395f44135e1SMartin Blumenstingl compatible = "amlogic,meson8b-reset"; 396a2730ed3SMartin Blumenstingl reg = <0x4404 0x9c>; 397f44135e1SMartin Blumenstingl #reset-cells = <1>; 398f44135e1SMartin Blumenstingl }; 399f44135e1SMartin Blumenstingl 400bd835d53SMartin Blumenstingl analog_top: analog-top@81a8 { 401bd835d53SMartin Blumenstingl compatible = "amlogic,meson8b-analog-top", "syscon"; 402bd835d53SMartin Blumenstingl reg = <0x81a8 0x14>; 403bd835d53SMartin Blumenstingl }; 404bd835d53SMartin Blumenstingl 405f44135e1SMartin Blumenstingl pwm_ef: pwm@86c0 { 406dbf92186SMartin Blumenstingl compatible = "amlogic,meson8b-pwm-v2", "amlogic,meson8-pwm-v2"; 407f44135e1SMartin Blumenstingl reg = <0x86c0 0x10>; 408dbf92186SMartin Blumenstingl clocks = <&xtal>, 409a994b58fSMartin Blumenstingl <0>, /* unknown/untested, the datasheet calls it "Video PLL" */ 410dbf92186SMartin Blumenstingl <&clkc CLKID_FCLK_DIV4>, 411dbf92186SMartin Blumenstingl <&clkc CLKID_FCLK_DIV3>; 412f44135e1SMartin Blumenstingl #pwm-cells = <3>; 413f44135e1SMartin Blumenstingl status = "disabled"; 414f44135e1SMartin Blumenstingl }; 415f44135e1SMartin Blumenstingl 416f1975b98SMartin Blumenstingl clock-measure@8758 { 417f1975b98SMartin Blumenstingl compatible = "amlogic,meson8b-clk-measure"; 418f1975b98SMartin Blumenstingl reg = <0x8758 0x1c>; 419f1975b98SMartin Blumenstingl }; 420f1975b98SMartin Blumenstingl 4212b901e9eSNeil Armstrong pinctrl_cbus: pinctrl@8030 { 422f44135e1SMartin Blumenstingl compatible = "amlogic,meson8b-cbus-pinctrl"; 423f44135e1SMartin Blumenstingl #address-cells = <1>; 424f44135e1SMartin Blumenstingl #size-cells = <1>; 4252b901e9eSNeil Armstrong ranges = <0x0 0x8030 0x108>; 426f44135e1SMartin Blumenstingl 4272b901e9eSNeil Armstrong gpio: bank@80 { 4282b901e9eSNeil Armstrong reg = <0x80 0x28>, 4292b901e9eSNeil Armstrong <0xb8 0x18>, 4302b901e9eSNeil Armstrong <0xf0 0x18>, 4312b901e9eSNeil Armstrong <0x00 0x38>; 432f44135e1SMartin Blumenstingl reg-names = "mux", "pull", "pull-enable", "gpio"; 433f44135e1SMartin Blumenstingl gpio-controller; 434f44135e1SMartin Blumenstingl #gpio-cells = <2>; 4354e461e62SMartin Blumenstingl gpio-ranges = <&pinctrl_cbus 0 0 83>; 436f44135e1SMartin Blumenstingl }; 437b9644654SEmiliano Ingrassia 438b9644654SEmiliano Ingrassia eth_rgmii_pins: eth-rgmii { 439b9644654SEmiliano Ingrassia mux { 440b9644654SEmiliano Ingrassia groups = "eth_tx_clk", 441b9644654SEmiliano Ingrassia "eth_tx_en", 442b9644654SEmiliano Ingrassia "eth_txd1_0", 443b9644654SEmiliano Ingrassia "eth_txd0_0", 444b9644654SEmiliano Ingrassia "eth_rx_clk", 445b9644654SEmiliano Ingrassia "eth_rx_dv", 446b9644654SEmiliano Ingrassia "eth_rxd1", 447b9644654SEmiliano Ingrassia "eth_rxd0", 448b9644654SEmiliano Ingrassia "eth_mdio_en", 449b9644654SEmiliano Ingrassia "eth_mdc", 450b9644654SEmiliano Ingrassia "eth_ref_clk", 451b9644654SEmiliano Ingrassia "eth_txd2", 45229f0023dSMartin Blumenstingl "eth_txd3", 45329f0023dSMartin Blumenstingl "eth_rxd3", 45429f0023dSMartin Blumenstingl "eth_rxd2"; 455b9644654SEmiliano Ingrassia function = "ethernet"; 4567e26335bSJerome Brunet bias-disable; 457b9644654SEmiliano Ingrassia }; 458b9644654SEmiliano Ingrassia }; 459e03efbceSLinus Lüssing 460a77d0babSMartin Blumenstingl eth_rmii_pins: eth-rmii { 461a77d0babSMartin Blumenstingl mux { 462a77d0babSMartin Blumenstingl groups = "eth_tx_en", 463a77d0babSMartin Blumenstingl "eth_txd1_0", 464a77d0babSMartin Blumenstingl "eth_txd0_0", 465a77d0babSMartin Blumenstingl "eth_rx_clk", 466a77d0babSMartin Blumenstingl "eth_rx_dv", 467a77d0babSMartin Blumenstingl "eth_rxd1", 468a77d0babSMartin Blumenstingl "eth_rxd0", 469a77d0babSMartin Blumenstingl "eth_mdio_en", 470a77d0babSMartin Blumenstingl "eth_mdc"; 471a77d0babSMartin Blumenstingl function = "ethernet"; 4727e26335bSJerome Brunet bias-disable; 473a77d0babSMartin Blumenstingl }; 474a77d0babSMartin Blumenstingl }; 475a77d0babSMartin Blumenstingl 476c821b81bSMartin Blumenstingl i2c_a_pins: i2c-a { 477c821b81bSMartin Blumenstingl mux { 478c821b81bSMartin Blumenstingl groups = "i2c_sda_a", "i2c_sck_a"; 479c821b81bSMartin Blumenstingl function = "i2c_a"; 4807e26335bSJerome Brunet bias-disable; 481c821b81bSMartin Blumenstingl }; 482c821b81bSMartin Blumenstingl }; 483c821b81bSMartin Blumenstingl 484e03efbceSLinus Lüssing sd_b_pins: sd-b { 485e03efbceSLinus Lüssing mux { 486e03efbceSLinus Lüssing groups = "sd_d0_b", "sd_d1_b", "sd_d2_b", 487e03efbceSLinus Lüssing "sd_d3_b", "sd_clk_b", "sd_cmd_b"; 488e03efbceSLinus Lüssing function = "sd_b"; 4897e26335bSJerome Brunet bias-disable; 490e03efbceSLinus Lüssing }; 491e03efbceSLinus Lüssing }; 492c821b81bSMartin Blumenstingl 49373106f75SMartin Blumenstingl sdxc_c_pins: sdxc-c { 49473106f75SMartin Blumenstingl mux { 49573106f75SMartin Blumenstingl groups = "sdxc_d0_c", "sdxc_d13_c", 49673106f75SMartin Blumenstingl "sdxc_d47_c", "sdxc_clk_c", 49773106f75SMartin Blumenstingl "sdxc_cmd_c"; 49873106f75SMartin Blumenstingl function = "sdxc_c"; 49973106f75SMartin Blumenstingl bias-pull-up; 50073106f75SMartin Blumenstingl }; 50173106f75SMartin Blumenstingl }; 50273106f75SMartin Blumenstingl 503c821b81bSMartin Blumenstingl pwm_c1_pins: pwm-c1 { 504c821b81bSMartin Blumenstingl mux { 505c821b81bSMartin Blumenstingl groups = "pwm_c1"; 506c821b81bSMartin Blumenstingl function = "pwm_c"; 5077e26335bSJerome Brunet bias-disable; 508c821b81bSMartin Blumenstingl }; 509c821b81bSMartin Blumenstingl }; 510c821b81bSMartin Blumenstingl 511ea241bdfSMartin Blumenstingl pwm_d_pins: pwm-d { 512ea241bdfSMartin Blumenstingl mux { 513ea241bdfSMartin Blumenstingl groups = "pwm_d"; 514ea241bdfSMartin Blumenstingl function = "pwm_d"; 515ea241bdfSMartin Blumenstingl bias-disable; 516ea241bdfSMartin Blumenstingl }; 517ea241bdfSMartin Blumenstingl }; 518ea241bdfSMartin Blumenstingl 519c821b81bSMartin Blumenstingl uart_b0_pins: uart-b0 { 520c821b81bSMartin Blumenstingl mux { 521c821b81bSMartin Blumenstingl groups = "uart_tx_b0", 522c821b81bSMartin Blumenstingl "uart_rx_b0"; 523c821b81bSMartin Blumenstingl function = "uart_b"; 524*7db1068aSMartin Blumenstingl bias-pull-up; 525c821b81bSMartin Blumenstingl }; 526c821b81bSMartin Blumenstingl }; 527c821b81bSMartin Blumenstingl 528c821b81bSMartin Blumenstingl uart_b0_cts_rts_pins: uart-b0-cts-rts { 529c821b81bSMartin Blumenstingl mux { 530c821b81bSMartin Blumenstingl groups = "uart_cts_b0", 531c821b81bSMartin Blumenstingl "uart_rts_b0"; 532c821b81bSMartin Blumenstingl function = "uart_b"; 5337e26335bSJerome Brunet bias-disable; 534c821b81bSMartin Blumenstingl }; 535c821b81bSMartin Blumenstingl }; 536f44135e1SMartin Blumenstingl }; 537f44135e1SMartin Blumenstingl}; 538f44135e1SMartin Blumenstingl 5394692142aSCarlo Caione&ahb_sram { 540e1d42e11SNeil Armstrong ao_arc_sram: aoarc-sram@0 { 541fb606cdaSMartin Blumenstingl compatible = "amlogic,meson8b-ao-arc-sram"; 542fb606cdaSMartin Blumenstingl reg = <0x0 0x8000>; 543fb606cdaSMartin Blumenstingl pool; 544fb606cdaSMartin Blumenstingl }; 545fb606cdaSMartin Blumenstingl 5464692142aSCarlo Caione smp-sram@1ff80 { 5474692142aSCarlo Caione compatible = "amlogic,meson8b-smp-sram"; 5484692142aSCarlo Caione reg = <0x1ff80 0x8>; 5494692142aSCarlo Caione }; 5504692142aSCarlo Caione}; 5514692142aSCarlo Caione 5522cb51a8dSMartin Blumenstingl 5532cb51a8dSMartin Blumenstingl&efuse { 5542cb51a8dSMartin Blumenstingl compatible = "amlogic,meson8b-efuse"; 5552cb51a8dSMartin Blumenstingl clocks = <&clkc CLKID_EFUSE>; 5562cb51a8dSMartin Blumenstingl clock-names = "core"; 557bbbcf643SMartin Blumenstingl 558bbbcf643SMartin Blumenstingl temperature_calib: calib@1f4 { 559bbbcf643SMartin Blumenstingl /* only the upper two bytes are relevant */ 560bbbcf643SMartin Blumenstingl reg = <0x1f4 0x4>; 561bbbcf643SMartin Blumenstingl }; 5622cb51a8dSMartin Blumenstingl}; 5632cb51a8dSMartin Blumenstingl 564f28d4bdbSMartin Blumenstinglðmac { 565b9644654SEmiliano Ingrassia compatible = "amlogic,meson8b-dwmac", "snps,dwmac-3.70a", "snps,dwmac"; 566b9644654SEmiliano Ingrassia 567b9644654SEmiliano Ingrassia reg = <0xc9410000 0x10000 568b9644654SEmiliano Ingrassia 0xc1108140 0x4>; 569b9644654SEmiliano Ingrassia 570b9644654SEmiliano Ingrassia clocks = <&clkc CLKID_ETH>, 571b9644654SEmiliano Ingrassia <&clkc CLKID_MPLL2>, 572b632506cSMartin Blumenstingl <&clkc CLKID_MPLL2>, 573b632506cSMartin Blumenstingl <&clkc CLKID_FCLK_DIV2>; 574b632506cSMartin Blumenstingl clock-names = "stmmaceth", "clkin0", "clkin1", "timing-adjustment"; 5754f0303d4SJerome Brunet rx-fifo-depth = <4096>; 5764f0303d4SJerome Brunet tx-fifo-depth = <2048>; 577b9644654SEmiliano Ingrassia 578b9644654SEmiliano Ingrassia resets = <&reset RESET_ETHERNET>; 579b9644654SEmiliano Ingrassia reset-names = "stmmaceth"; 5809960cacbSMartin Blumenstingl 5819960cacbSMartin Blumenstingl power-domains = <&pwrc PWRC_MESON8_ETHERNET_MEM_ID>; 582f28d4bdbSMartin Blumenstingl}; 583f28d4bdbSMartin Blumenstingl 5847d32bc03SJerome Brunet&gpio_intc { 5850c187ccaSHeiner Kallweit compatible = "amlogic,meson8b-gpio-intc", 5860c187ccaSHeiner Kallweit "amlogic,meson-gpio-intc"; 5877d32bc03SJerome Brunet status = "okay"; 5887d32bc03SJerome Brunet}; 5897d32bc03SJerome Brunet 590b6db3936SMartin Blumenstingl&hhi { 591b6db3936SMartin Blumenstingl clkc: clock-controller { 592da256557SMartin Blumenstingl compatible = "amlogic,meson8b-clkc"; 5936d549ff5SMartin Blumenstingl clocks = <&xtal>, <&ddr_clkc DDR_CLKID_DDR_PLL>; 5946d549ff5SMartin Blumenstingl clock-names = "xtal", "ddr_pll"; 595b6db3936SMartin Blumenstingl #clock-cells = <1>; 596b6db3936SMartin Blumenstingl #reset-cells = <1>; 597b6db3936SMartin Blumenstingl }; 5989960cacbSMartin Blumenstingl 5999960cacbSMartin Blumenstingl pwrc: power-controller { 6009960cacbSMartin Blumenstingl compatible = "amlogic,meson8b-pwrc"; 6019960cacbSMartin Blumenstingl #power-domain-cells = <1>; 6029960cacbSMartin Blumenstingl amlogic,ao-sysctrl = <&pmu>; 6039960cacbSMartin Blumenstingl resets = <&reset RESET_DBLK>, 6049960cacbSMartin Blumenstingl <&reset RESET_PIC_DC>, 6059960cacbSMartin Blumenstingl <&reset RESET_HDMI_APB>, 6069960cacbSMartin Blumenstingl <&reset RESET_HDMI_SYSTEM_RESET>, 6079960cacbSMartin Blumenstingl <&reset RESET_VENCI>, 6089960cacbSMartin Blumenstingl <&reset RESET_VENCP>, 6099960cacbSMartin Blumenstingl <&reset RESET_VDAC_4>, 6109960cacbSMartin Blumenstingl <&reset RESET_VENCL>, 6119960cacbSMartin Blumenstingl <&reset RESET_VIU>, 6129960cacbSMartin Blumenstingl <&reset RESET_VENC>, 6139960cacbSMartin Blumenstingl <&reset RESET_RDMA>; 6149960cacbSMartin Blumenstingl reset-names = "dblk", "pic_dc", "hdmi_apb", "hdmi_system", 6159960cacbSMartin Blumenstingl "venci", "vencp", "vdac", "vencl", "viu", 6169960cacbSMartin Blumenstingl "venc", "rdma"; 6179960cacbSMartin Blumenstingl clocks = <&clkc CLKID_VPU>; 6189960cacbSMartin Blumenstingl clock-names = "vpu"; 6199960cacbSMartin Blumenstingl assigned-clocks = <&clkc CLKID_VPU>; 6209960cacbSMartin Blumenstingl assigned-clock-rates = <182142857>; 6219960cacbSMartin Blumenstingl }; 622b6db3936SMartin Blumenstingl}; 623b6db3936SMartin Blumenstingl 624a35910d3SMartin Blumenstingl&hwrng { 625a35910d3SMartin Blumenstingl clocks = <&clkc CLKID_RNG0>; 626a35910d3SMartin Blumenstingl clock-names = "core"; 627a35910d3SMartin Blumenstingl}; 628a35910d3SMartin Blumenstingl 6297a6cc8beSMartin Blumenstingl&i2c_AO { 6307a6cc8beSMartin Blumenstingl clocks = <&clkc CLKID_CLK81>; 6317a6cc8beSMartin Blumenstingl}; 6327a6cc8beSMartin Blumenstingl 6337a6cc8beSMartin Blumenstingl&i2c_A { 6347a6cc8beSMartin Blumenstingl clocks = <&clkc CLKID_I2C>; 6357a6cc8beSMartin Blumenstingl}; 6367a6cc8beSMartin Blumenstingl 6377a6cc8beSMartin Blumenstingl&i2c_B { 6387a6cc8beSMartin Blumenstingl clocks = <&clkc CLKID_I2C>; 6397a6cc8beSMartin Blumenstingl}; 6407a6cc8beSMartin Blumenstingl 641bbe5b23dSCarlo Caione&L2 { 642bbe5b23dSCarlo Caione arm,data-latency = <3 3 3>; 643bbe5b23dSCarlo Caione arm,tag-latency = <2 2 2>; 644bbe5b23dSCarlo Caione arm,filter-ranges = <0x100000 0xc0000000>; 6459bef306bSMartin Blumenstingl prefetch-data = <1>; 6469bef306bSMartin Blumenstingl prefetch-instr = <1>; 64746f73c1cSMartin Blumenstingl arm,prefetch-offset = <7>; 64846f73c1cSMartin Blumenstingl arm,double-linefill = <1>; 64946f73c1cSMartin Blumenstingl arm,prefetch-drop = <1>; 6509bef306bSMartin Blumenstingl arm,shared-override; 651bbe5b23dSCarlo Caione}; 652bbe5b23dSCarlo Caione 653e8c276d9SMartin Blumenstingl&periph { 654e8c276d9SMartin Blumenstingl scu@0 { 655e8c276d9SMartin Blumenstingl compatible = "arm,cortex-a5-scu"; 656e8c276d9SMartin Blumenstingl reg = <0x0 0x100>; 657e8c276d9SMartin Blumenstingl }; 658f5506e82SMartin Blumenstingl 659da386363SMartin Blumenstingl timer@200 { 660da386363SMartin Blumenstingl compatible = "arm,cortex-a5-global-timer"; 661da386363SMartin Blumenstingl reg = <0x200 0x20>; 662da386363SMartin Blumenstingl interrupts = <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>; 663da386363SMartin Blumenstingl clocks = <&clkc CLKID_PERIPH>; 664da386363SMartin Blumenstingl 665da386363SMartin Blumenstingl /* 666da386363SMartin Blumenstingl * the arm_global_timer driver currently does not handle clock 667da386363SMartin Blumenstingl * rate changes. Keep it disabled for now. 668da386363SMartin Blumenstingl */ 669da386363SMartin Blumenstingl status = "disabled"; 670da386363SMartin Blumenstingl }; 671da386363SMartin Blumenstingl 672f5506e82SMartin Blumenstingl timer@600 { 673f5506e82SMartin Blumenstingl compatible = "arm,cortex-a5-twd-timer"; 674f5506e82SMartin Blumenstingl reg = <0x600 0x20>; 675f5506e82SMartin Blumenstingl interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>; 676f5506e82SMartin Blumenstingl clocks = <&clkc CLKID_PERIPH>; 677f5506e82SMartin Blumenstingl }; 678e8c276d9SMartin Blumenstingl}; 679e8c276d9SMartin Blumenstingl 680440bdcdbSMartin Blumenstingl&pwm_ab { 681dbf92186SMartin Blumenstingl compatible = "amlogic,meson8b-pwm-v2", "amlogic,meson8-pwm-v2"; 682dbf92186SMartin Blumenstingl clocks = <&xtal>, 683a994b58fSMartin Blumenstingl <0>, /* unknown/untested, the datasheet calls it "Video PLL" */ 684dbf92186SMartin Blumenstingl <&clkc CLKID_FCLK_DIV4>, 685dbf92186SMartin Blumenstingl <&clkc CLKID_FCLK_DIV3>; 686440bdcdbSMartin Blumenstingl}; 687440bdcdbSMartin Blumenstingl 688440bdcdbSMartin Blumenstingl&pwm_cd { 689dbf92186SMartin Blumenstingl compatible = "amlogic,meson8b-pwm-v2", "amlogic,meson8-pwm-v2"; 690dbf92186SMartin Blumenstingl clocks = <&xtal>, 691a994b58fSMartin Blumenstingl <0>, /* unknown/untested, the datasheet calls it "Video PLL" */ 692dbf92186SMartin Blumenstingl <&clkc CLKID_FCLK_DIV4>, 693dbf92186SMartin Blumenstingl <&clkc CLKID_FCLK_DIV3>; 694440bdcdbSMartin Blumenstingl}; 695440bdcdbSMartin Blumenstingl 696f6eb973dSMartin Blumenstingl&rtc { 697f6eb973dSMartin Blumenstingl compatible = "amlogic,meson8b-rtc"; 698f6eb973dSMartin Blumenstingl resets = <&reset RESET_RTC>; 699f6eb973dSMartin Blumenstingl}; 700f6eb973dSMartin Blumenstingl 701a39a3b9fSMartin Blumenstingl&saradc { 702a39a3b9fSMartin Blumenstingl compatible = "amlogic,meson8b-saradc", "amlogic,meson-saradc"; 703630ea310SMartin Blumenstingl clocks = <&xtal>, <&clkc CLKID_SAR_ADC>; 704b9b9db02SXingyu Chen clock-names = "clkin", "core"; 705bbbcf643SMartin Blumenstingl amlogic,hhi-sysctrl = <&hhi>; 706bbbcf643SMartin Blumenstingl nvmem-cells = <&temperature_calib>; 707bbbcf643SMartin Blumenstingl nvmem-cell-names = "temperature_calib"; 708a39a3b9fSMartin Blumenstingl}; 709a39a3b9fSMartin Blumenstingl 71073106f75SMartin Blumenstingl&sdhc { 71173106f75SMartin Blumenstingl compatible = "amlogic,meson8-sdhc", "amlogic,meson-mx-sdhc"; 71273106f75SMartin Blumenstingl clocks = <&xtal>, 71373106f75SMartin Blumenstingl <&clkc CLKID_FCLK_DIV4>, 71473106f75SMartin Blumenstingl <&clkc CLKID_FCLK_DIV3>, 71573106f75SMartin Blumenstingl <&clkc CLKID_FCLK_DIV5>, 71673106f75SMartin Blumenstingl <&clkc CLKID_SDHC>; 71773106f75SMartin Blumenstingl clock-names = "clkin0", "clkin1", "clkin2", "clkin3", "pclk"; 71873106f75SMartin Blumenstingl}; 71973106f75SMartin Blumenstingl 720fb606cdaSMartin Blumenstingl&secbus { 721fb606cdaSMartin Blumenstingl secbus2: system-controller@4000 { 722fb606cdaSMartin Blumenstingl compatible = "amlogic,meson8b-secbus2", "syscon"; 723fb606cdaSMartin Blumenstingl reg = <0x4000 0x2000>; 724fb606cdaSMartin Blumenstingl }; 725fb606cdaSMartin Blumenstingl}; 726fb606cdaSMartin Blumenstingl 72788b1b18fSMartin Blumenstingl&sdio { 72888b1b18fSMartin Blumenstingl compatible = "amlogic,meson8b-sdio", "amlogic,meson-mx-sdio"; 72988b1b18fSMartin Blumenstingl clocks = <&clkc CLKID_SDIO>, <&clkc CLKID_CLK81>; 73088b1b18fSMartin Blumenstingl clock-names = "core", "clkin"; 73188b1b18fSMartin Blumenstingl}; 73288b1b18fSMartin Blumenstingl 7337b141abeSMartin Blumenstingl&timer_abcde { 734630ea310SMartin Blumenstingl clocks = <&xtal>, <&clkc CLKID_CLK81>; 7357b141abeSMartin Blumenstingl clock-names = "xtal", "pclk"; 7367b141abeSMartin Blumenstingl}; 7377b141abeSMartin Blumenstingl 738f44135e1SMartin Blumenstingl&uart_AO { 7393375aa77SMartin Blumenstingl compatible = "amlogic,meson8b-uart", "amlogic,meson-ao-uart"; 7403375aa77SMartin Blumenstingl clocks = <&xtal>, <&clkc CLKID_CLK81>, <&clkc CLKID_CLK81>; 7413375aa77SMartin Blumenstingl clock-names = "xtal", "pclk", "baud"; 742f44135e1SMartin Blumenstingl}; 743f44135e1SMartin Blumenstingl 744f44135e1SMartin Blumenstingl&uart_A { 7453375aa77SMartin Blumenstingl compatible = "amlogic,meson8b-uart"; 7463375aa77SMartin Blumenstingl clocks = <&xtal>, <&clkc CLKID_UART0>, <&clkc CLKID_CLK81>; 7473375aa77SMartin Blumenstingl clock-names = "xtal", "pclk", "baud"; 748f44135e1SMartin Blumenstingl}; 749f44135e1SMartin Blumenstingl 750f44135e1SMartin Blumenstingl&uart_B { 7513375aa77SMartin Blumenstingl compatible = "amlogic,meson8b-uart"; 752d542ce8dShfdevel@gmx.net clocks = <&xtal>, <&clkc CLKID_UART1>, <&clkc CLKID_CLK81>; 7533375aa77SMartin Blumenstingl clock-names = "xtal", "pclk", "baud"; 754f44135e1SMartin Blumenstingl}; 755f44135e1SMartin Blumenstingl 756f44135e1SMartin Blumenstingl&uart_C { 7573375aa77SMartin Blumenstingl compatible = "amlogic,meson8b-uart"; 758d542ce8dShfdevel@gmx.net clocks = <&xtal>, <&clkc CLKID_UART2>, <&clkc CLKID_CLK81>; 7593375aa77SMartin Blumenstingl clock-names = "xtal", "pclk", "baud"; 760f44135e1SMartin Blumenstingl}; 761e29b1cf8SMartin Blumenstingl 762e29b1cf8SMartin Blumenstingl&usb0 { 763e29b1cf8SMartin Blumenstingl compatible = "amlogic,meson8b-usb", "snps,dwc2"; 764e29b1cf8SMartin Blumenstingl clocks = <&clkc CLKID_USB0_DDR_BRIDGE>; 765e29b1cf8SMartin Blumenstingl clock-names = "otg"; 766e29b1cf8SMartin Blumenstingl}; 767e29b1cf8SMartin Blumenstingl 768e29b1cf8SMartin Blumenstingl&usb1 { 769e29b1cf8SMartin Blumenstingl compatible = "amlogic,meson8b-usb", "snps,dwc2"; 770e29b1cf8SMartin Blumenstingl clocks = <&clkc CLKID_USB1_DDR_BRIDGE>; 771e29b1cf8SMartin Blumenstingl clock-names = "otg"; 772e29b1cf8SMartin Blumenstingl}; 773e29b1cf8SMartin Blumenstingl 774e29b1cf8SMartin Blumenstingl&usb0_phy { 775e29b1cf8SMartin Blumenstingl compatible = "amlogic,meson8b-usb2-phy", "amlogic,meson-mx-usb2-phy"; 776e29b1cf8SMartin Blumenstingl clocks = <&clkc CLKID_USB>, <&clkc CLKID_USB0>; 777e29b1cf8SMartin Blumenstingl clock-names = "usb_general", "usb"; 778e29b1cf8SMartin Blumenstingl resets = <&reset RESET_USB_OTG>; 779e29b1cf8SMartin Blumenstingl}; 780e29b1cf8SMartin Blumenstingl 781e29b1cf8SMartin Blumenstingl&usb1_phy { 782e29b1cf8SMartin Blumenstingl compatible = "amlogic,meson8b-usb2-phy", "amlogic,meson-mx-usb2-phy"; 783e29b1cf8SMartin Blumenstingl clocks = <&clkc CLKID_USB>, <&clkc CLKID_USB1>; 784e29b1cf8SMartin Blumenstingl clock-names = "usb_general", "usb"; 785e29b1cf8SMartin Blumenstingl resets = <&reset RESET_USB_OTG>; 786e29b1cf8SMartin Blumenstingl}; 7872eca2a16SMartin Blumenstingl 7882eca2a16SMartin Blumenstingl&wdt { 7892eca2a16SMartin Blumenstingl compatible = "amlogic,meson8b-wdt"; 7902eca2a16SMartin Blumenstingl}; 791