1114abfe1SNeil Armstrong// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2bb51b535SNeil Armstrong/* 3bb51b535SNeil Armstrong * Copyright (c) 2016 Endless Computers, Inc. 4bb51b535SNeil Armstrong * Author: Carlo Caione <carlo@endlessm.com> 5bb51b535SNeil Armstrong */ 6bb51b535SNeil Armstrong 7bb51b535SNeil Armstrong#include "meson-gxl.dtsi" 8bb51b535SNeil Armstrong 9bb51b535SNeil Armstrong/ { 10bb51b535SNeil Armstrong compatible = "amlogic,meson-gxm"; 11bb51b535SNeil Armstrong 12bb51b535SNeil Armstrong cpus { 13bb51b535SNeil Armstrong cpu-map { 14bb51b535SNeil Armstrong cluster0 { 15bb51b535SNeil Armstrong core0 { 16bb51b535SNeil Armstrong cpu = <&cpu0>; 17bb51b535SNeil Armstrong }; 18bb51b535SNeil Armstrong core1 { 19bb51b535SNeil Armstrong cpu = <&cpu1>; 20bb51b535SNeil Armstrong }; 21bb51b535SNeil Armstrong core2 { 22bb51b535SNeil Armstrong cpu = <&cpu2>; 23bb51b535SNeil Armstrong }; 24bb51b535SNeil Armstrong core3 { 25bb51b535SNeil Armstrong cpu = <&cpu3>; 26bb51b535SNeil Armstrong }; 27bb51b535SNeil Armstrong }; 28bb51b535SNeil Armstrong 29bb51b535SNeil Armstrong cluster1 { 30bb51b535SNeil Armstrong core0 { 31bb51b535SNeil Armstrong cpu = <&cpu4>; 32bb51b535SNeil Armstrong }; 33bb51b535SNeil Armstrong core1 { 34bb51b535SNeil Armstrong cpu = <&cpu5>; 35bb51b535SNeil Armstrong }; 36bb51b535SNeil Armstrong core2 { 37bb51b535SNeil Armstrong cpu = <&cpu6>; 38bb51b535SNeil Armstrong }; 39bb51b535SNeil Armstrong core3 { 40bb51b535SNeil Armstrong cpu = <&cpu7>; 41bb51b535SNeil Armstrong }; 42bb51b535SNeil Armstrong }; 43bb51b535SNeil Armstrong }; 44bb51b535SNeil Armstrong 45*4592bfe9SChristian Hewitt cpu0: cpu@0 { 46*4592bfe9SChristian Hewitt capacity-dmips-mhz = <1024>; 47*4592bfe9SChristian Hewitt }; 48*4592bfe9SChristian Hewitt 49*4592bfe9SChristian Hewitt cpu1: cpu@1 { 50*4592bfe9SChristian Hewitt capacity-dmips-mhz = <1024>; 51*4592bfe9SChristian Hewitt }; 52*4592bfe9SChristian Hewitt 53*4592bfe9SChristian Hewitt cpu2: cpu@2 { 54*4592bfe9SChristian Hewitt capacity-dmips-mhz = <1024>; 55*4592bfe9SChristian Hewitt }; 56*4592bfe9SChristian Hewitt 57*4592bfe9SChristian Hewitt cpu3: cpu@3 { 58*4592bfe9SChristian Hewitt capacity-dmips-mhz = <1024>; 59*4592bfe9SChristian Hewitt }; 60*4592bfe9SChristian Hewitt 61bb51b535SNeil Armstrong cpu4: cpu@100 { 62bb51b535SNeil Armstrong device_type = "cpu"; 6331af04cdSRob Herring compatible = "arm,cortex-a53"; 64bb51b535SNeil Armstrong reg = <0x0 0x100>; 65bb51b535SNeil Armstrong enable-method = "psci"; 66*4592bfe9SChristian Hewitt capacity-dmips-mhz = <1024>; 67bb51b535SNeil Armstrong next-level-cache = <&l2>; 68bd97abc0SMartin Blumenstingl clocks = <&scpi_dvfs 1>; 69cd13d5f1SChristian Hewitt #cooling-cells = <2>; 70bb51b535SNeil Armstrong }; 71bb51b535SNeil Armstrong 72bb51b535SNeil Armstrong cpu5: cpu@101 { 73bb51b535SNeil Armstrong device_type = "cpu"; 7431af04cdSRob Herring compatible = "arm,cortex-a53"; 75bb51b535SNeil Armstrong reg = <0x0 0x101>; 76bb51b535SNeil Armstrong enable-method = "psci"; 77*4592bfe9SChristian Hewitt capacity-dmips-mhz = <1024>; 78bb51b535SNeil Armstrong next-level-cache = <&l2>; 79bd97abc0SMartin Blumenstingl clocks = <&scpi_dvfs 1>; 80cd13d5f1SChristian Hewitt #cooling-cells = <2>; 81bb51b535SNeil Armstrong }; 82bb51b535SNeil Armstrong 83bb51b535SNeil Armstrong cpu6: cpu@102 { 84bb51b535SNeil Armstrong device_type = "cpu"; 8531af04cdSRob Herring compatible = "arm,cortex-a53"; 86bb51b535SNeil Armstrong reg = <0x0 0x102>; 87bb51b535SNeil Armstrong enable-method = "psci"; 88*4592bfe9SChristian Hewitt capacity-dmips-mhz = <1024>; 89bb51b535SNeil Armstrong next-level-cache = <&l2>; 90bd97abc0SMartin Blumenstingl clocks = <&scpi_dvfs 1>; 91cd13d5f1SChristian Hewitt #cooling-cells = <2>; 92bb51b535SNeil Armstrong }; 93bb51b535SNeil Armstrong 94bb51b535SNeil Armstrong cpu7: cpu@103 { 95bb51b535SNeil Armstrong device_type = "cpu"; 9631af04cdSRob Herring compatible = "arm,cortex-a53"; 97bb51b535SNeil Armstrong reg = <0x0 0x103>; 98bb51b535SNeil Armstrong enable-method = "psci"; 99*4592bfe9SChristian Hewitt capacity-dmips-mhz = <1024>; 100bb51b535SNeil Armstrong next-level-cache = <&l2>; 101bd97abc0SMartin Blumenstingl clocks = <&scpi_dvfs 1>; 102cd13d5f1SChristian Hewitt #cooling-cells = <2>; 103bb51b535SNeil Armstrong }; 104bb51b535SNeil Armstrong }; 1058f16cfabSMartin Blumenstingl 1068f16cfabSMartin Blumenstingl gpu_opp_table: opp-table { 1078f16cfabSMartin Blumenstingl compatible = "operating-points-v2"; 1088f16cfabSMartin Blumenstingl 1098f16cfabSMartin Blumenstingl opp-125000000 { 1108f16cfabSMartin Blumenstingl opp-hz = /bits/ 64 <125000000>; 1118f16cfabSMartin Blumenstingl opp-microvolt = <950000>; 1128f16cfabSMartin Blumenstingl }; 1138f16cfabSMartin Blumenstingl opp-250000000 { 1148f16cfabSMartin Blumenstingl opp-hz = /bits/ 64 <250000000>; 1158f16cfabSMartin Blumenstingl opp-microvolt = <950000>; 1168f16cfabSMartin Blumenstingl }; 1178f16cfabSMartin Blumenstingl opp-285714285 { 1188f16cfabSMartin Blumenstingl opp-hz = /bits/ 64 <285714285>; 1198f16cfabSMartin Blumenstingl opp-microvolt = <950000>; 1208f16cfabSMartin Blumenstingl }; 1218f16cfabSMartin Blumenstingl opp-400000000 { 1228f16cfabSMartin Blumenstingl opp-hz = /bits/ 64 <400000000>; 1238f16cfabSMartin Blumenstingl opp-microvolt = <950000>; 1248f16cfabSMartin Blumenstingl }; 1258f16cfabSMartin Blumenstingl opp-500000000 { 1268f16cfabSMartin Blumenstingl opp-hz = /bits/ 64 <500000000>; 1278f16cfabSMartin Blumenstingl opp-microvolt = <950000>; 1288f16cfabSMartin Blumenstingl }; 1298f16cfabSMartin Blumenstingl opp-666666666 { 1308f16cfabSMartin Blumenstingl opp-hz = /bits/ 64 <666666666>; 1318f16cfabSMartin Blumenstingl opp-microvolt = <950000>; 1328f16cfabSMartin Blumenstingl }; 1338f16cfabSMartin Blumenstingl }; 134bb51b535SNeil Armstrong}; 135fafdbdf7SNeil Armstrong 136458baa95SMartin Blumenstingl&apb { 137458baa95SMartin Blumenstingl usb2_phy2: phy@78040 { 138458baa95SMartin Blumenstingl compatible = "amlogic,meson-gxl-usb2-phy"; 139458baa95SMartin Blumenstingl #phy-cells = <0>; 140458baa95SMartin Blumenstingl reg = <0x0 0x78040 0x0 0x20>; 141458baa95SMartin Blumenstingl clocks = <&clkc CLKID_USB>; 142458baa95SMartin Blumenstingl clock-names = "phy"; 143458baa95SMartin Blumenstingl resets = <&reset RESET_USB_OTG>; 144458baa95SMartin Blumenstingl reset-names = "phy"; 145458baa95SMartin Blumenstingl status = "okay"; 146458baa95SMartin Blumenstingl }; 14711f8e119SChristian Hewitt 14811f8e119SChristian Hewitt mali: gpu@c0000 { 14911f8e119SChristian Hewitt compatible = "amlogic,meson-gxm-mali", "arm,mali-t820"; 15011f8e119SChristian Hewitt reg = <0x0 0xc0000 0x0 0x40000>; 15111f8e119SChristian Hewitt interrupt-parent = <&gic>; 15269fb3f21SNeil Armstrong interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>, 15311f8e119SChristian Hewitt <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>, 15469fb3f21SNeil Armstrong <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>; 15569fb3f21SNeil Armstrong interrupt-names = "job", "mmu", "gpu"; 15611f8e119SChristian Hewitt clocks = <&clkc CLKID_MALI>; 15711f8e119SChristian Hewitt resets = <&reset RESET_MALI_CAPB3>, <&reset RESET_MALI>; 1588f16cfabSMartin Blumenstingl operating-points-v2 = <&gpu_opp_table>; 15911f8e119SChristian Hewitt }; 160458baa95SMartin Blumenstingl}; 161458baa95SMartin Blumenstingl 1627fd2c355SNeil Armstrong&clkc_AO { 1637fd2c355SNeil Armstrong compatible = "amlogic,meson-gxm-aoclkc", "amlogic,meson-gx-aoclkc"; 1647fd2c355SNeil Armstrong}; 1657fd2c355SNeil Armstrong 166cd13d5f1SChristian Hewitt&cpu_cooling_maps { 167cd13d5f1SChristian Hewitt map0 { 168cd13d5f1SChristian Hewitt cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 169cd13d5f1SChristian Hewitt <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 170cd13d5f1SChristian Hewitt <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 171cd13d5f1SChristian Hewitt <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 172cd13d5f1SChristian Hewitt <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 173cd13d5f1SChristian Hewitt <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 174cd13d5f1SChristian Hewitt <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 175cd13d5f1SChristian Hewitt <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 176cd13d5f1SChristian Hewitt }; 177cd13d5f1SChristian Hewitt 178cd13d5f1SChristian Hewitt map1 { 179cd13d5f1SChristian Hewitt cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 180cd13d5f1SChristian Hewitt <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 181cd13d5f1SChristian Hewitt <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 182cd13d5f1SChristian Hewitt <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 183cd13d5f1SChristian Hewitt <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 184cd13d5f1SChristian Hewitt <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 185cd13d5f1SChristian Hewitt <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 186cd13d5f1SChristian Hewitt <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 187cd13d5f1SChristian Hewitt }; 188cd13d5f1SChristian Hewitt}; 189cd13d5f1SChristian Hewitt 190bd80ef5eSMartin Blumenstingl&saradc { 191bd80ef5eSMartin Blumenstingl compatible = "amlogic,meson-gxm-saradc", "amlogic,meson-saradc"; 192bd80ef5eSMartin Blumenstingl}; 193bd80ef5eSMartin Blumenstingl 194bd97abc0SMartin Blumenstingl&scpi_dvfs { 195bd97abc0SMartin Blumenstingl clock-indices = <0 1>; 196bd97abc0SMartin Blumenstingl clock-output-names = "vbig", "vlittle"; 197bd97abc0SMartin Blumenstingl}; 198bd97abc0SMartin Blumenstingl 199fafdbdf7SNeil Armstrong&vpu { 200fafdbdf7SNeil Armstrong compatible = "amlogic,meson-gxm-vpu", "amlogic,meson-gx-vpu"; 201fafdbdf7SNeil Armstrong}; 202bd97abc0SMartin Blumenstingl 2036939db7eSNeil Armstrong&hdmi_tx { 2046939db7eSNeil Armstrong compatible = "amlogic,meson-gxm-dw-hdmi", "amlogic,meson-gx-dw-hdmi"; 2056939db7eSNeil Armstrong}; 206458baa95SMartin Blumenstingl 2072f9139c2SMartin Blumenstingl&usb { 2082f9139c2SMartin Blumenstingl compatible = "amlogic,meson-gxm-usb-ctrl"; 2092f9139c2SMartin Blumenstingl 2102f9139c2SMartin Blumenstingl phy-names = "usb2-phy0", "usb2-phy1", "usb2-phy2"; 2112f9139c2SMartin Blumenstingl phys = <&usb2_phy0>, <&usb2_phy1>, <&usb2_phy2>; 212458baa95SMartin Blumenstingl}; 2134be247f7SMaxime Jourdan 2144be247f7SMaxime Jourdan&vdec { 2154be247f7SMaxime Jourdan compatible = "amlogic,gxm-vdec", "amlogic,gx-vdec"; 2164be247f7SMaxime Jourdan}; 217