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 45bb51b535SNeil Armstrong cpu4: cpu@100 { 46bb51b535SNeil Armstrong device_type = "cpu"; 4731af04cdSRob Herring compatible = "arm,cortex-a53"; 48bb51b535SNeil Armstrong reg = <0x0 0x100>; 49bb51b535SNeil Armstrong enable-method = "psci"; 50bb51b535SNeil Armstrong next-level-cache = <&l2>; 51bd97abc0SMartin Blumenstingl clocks = <&scpi_dvfs 1>; 52cd13d5f1SChristian Hewitt #cooling-cells = <2>; 53bb51b535SNeil Armstrong }; 54bb51b535SNeil Armstrong 55bb51b535SNeil Armstrong cpu5: cpu@101 { 56bb51b535SNeil Armstrong device_type = "cpu"; 5731af04cdSRob Herring compatible = "arm,cortex-a53"; 58bb51b535SNeil Armstrong reg = <0x0 0x101>; 59bb51b535SNeil Armstrong enable-method = "psci"; 60bb51b535SNeil Armstrong next-level-cache = <&l2>; 61bd97abc0SMartin Blumenstingl clocks = <&scpi_dvfs 1>; 62cd13d5f1SChristian Hewitt #cooling-cells = <2>; 63bb51b535SNeil Armstrong }; 64bb51b535SNeil Armstrong 65bb51b535SNeil Armstrong cpu6: cpu@102 { 66bb51b535SNeil Armstrong device_type = "cpu"; 6731af04cdSRob Herring compatible = "arm,cortex-a53"; 68bb51b535SNeil Armstrong reg = <0x0 0x102>; 69bb51b535SNeil Armstrong enable-method = "psci"; 70bb51b535SNeil Armstrong next-level-cache = <&l2>; 71bd97abc0SMartin Blumenstingl clocks = <&scpi_dvfs 1>; 72cd13d5f1SChristian Hewitt #cooling-cells = <2>; 73bb51b535SNeil Armstrong }; 74bb51b535SNeil Armstrong 75bb51b535SNeil Armstrong cpu7: cpu@103 { 76bb51b535SNeil Armstrong device_type = "cpu"; 7731af04cdSRob Herring compatible = "arm,cortex-a53"; 78bb51b535SNeil Armstrong reg = <0x0 0x103>; 79bb51b535SNeil Armstrong enable-method = "psci"; 80bb51b535SNeil Armstrong next-level-cache = <&l2>; 81bd97abc0SMartin Blumenstingl clocks = <&scpi_dvfs 1>; 82cd13d5f1SChristian Hewitt #cooling-cells = <2>; 83bb51b535SNeil Armstrong }; 84bb51b535SNeil Armstrong }; 858f16cfabSMartin Blumenstingl 868f16cfabSMartin Blumenstingl gpu_opp_table: opp-table { 878f16cfabSMartin Blumenstingl compatible = "operating-points-v2"; 888f16cfabSMartin Blumenstingl 898f16cfabSMartin Blumenstingl opp-125000000 { 908f16cfabSMartin Blumenstingl opp-hz = /bits/ 64 <125000000>; 918f16cfabSMartin Blumenstingl opp-microvolt = <950000>; 928f16cfabSMartin Blumenstingl }; 938f16cfabSMartin Blumenstingl opp-250000000 { 948f16cfabSMartin Blumenstingl opp-hz = /bits/ 64 <250000000>; 958f16cfabSMartin Blumenstingl opp-microvolt = <950000>; 968f16cfabSMartin Blumenstingl }; 978f16cfabSMartin Blumenstingl opp-285714285 { 988f16cfabSMartin Blumenstingl opp-hz = /bits/ 64 <285714285>; 998f16cfabSMartin Blumenstingl opp-microvolt = <950000>; 1008f16cfabSMartin Blumenstingl }; 1018f16cfabSMartin Blumenstingl opp-400000000 { 1028f16cfabSMartin Blumenstingl opp-hz = /bits/ 64 <400000000>; 1038f16cfabSMartin Blumenstingl opp-microvolt = <950000>; 1048f16cfabSMartin Blumenstingl }; 1058f16cfabSMartin Blumenstingl opp-500000000 { 1068f16cfabSMartin Blumenstingl opp-hz = /bits/ 64 <500000000>; 1078f16cfabSMartin Blumenstingl opp-microvolt = <950000>; 1088f16cfabSMartin Blumenstingl }; 1098f16cfabSMartin Blumenstingl opp-666666666 { 1108f16cfabSMartin Blumenstingl opp-hz = /bits/ 64 <666666666>; 1118f16cfabSMartin Blumenstingl opp-microvolt = <950000>; 1128f16cfabSMartin Blumenstingl }; 1138f16cfabSMartin Blumenstingl }; 114bb51b535SNeil Armstrong}; 115fafdbdf7SNeil Armstrong 116458baa95SMartin Blumenstingl&apb { 117458baa95SMartin Blumenstingl usb2_phy2: phy@78040 { 118458baa95SMartin Blumenstingl compatible = "amlogic,meson-gxl-usb2-phy"; 119458baa95SMartin Blumenstingl #phy-cells = <0>; 120458baa95SMartin Blumenstingl reg = <0x0 0x78040 0x0 0x20>; 121458baa95SMartin Blumenstingl clocks = <&clkc CLKID_USB>; 122458baa95SMartin Blumenstingl clock-names = "phy"; 123458baa95SMartin Blumenstingl resets = <&reset RESET_USB_OTG>; 124458baa95SMartin Blumenstingl reset-names = "phy"; 125458baa95SMartin Blumenstingl status = "okay"; 126458baa95SMartin Blumenstingl }; 12711f8e119SChristian Hewitt 12811f8e119SChristian Hewitt mali: gpu@c0000 { 12911f8e119SChristian Hewitt compatible = "amlogic,meson-gxm-mali", "arm,mali-t820"; 13011f8e119SChristian Hewitt reg = <0x0 0xc0000 0x0 0x40000>; 13111f8e119SChristian Hewitt interrupt-parent = <&gic>; 13269fb3f21SNeil Armstrong interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>, 13311f8e119SChristian Hewitt <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>, 13469fb3f21SNeil Armstrong <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>; 13569fb3f21SNeil Armstrong interrupt-names = "job", "mmu", "gpu"; 13611f8e119SChristian Hewitt clocks = <&clkc CLKID_MALI>; 13711f8e119SChristian Hewitt resets = <&reset RESET_MALI_CAPB3>, <&reset RESET_MALI>; 1388f16cfabSMartin Blumenstingl operating-points-v2 = <&gpu_opp_table>; 13911f8e119SChristian Hewitt }; 140458baa95SMartin Blumenstingl}; 141458baa95SMartin Blumenstingl 1427fd2c355SNeil Armstrong&clkc_AO { 1437fd2c355SNeil Armstrong compatible = "amlogic,meson-gxm-aoclkc", "amlogic,meson-gx-aoclkc"; 1447fd2c355SNeil Armstrong}; 1457fd2c355SNeil Armstrong 146cd13d5f1SChristian Hewitt&cpu_cooling_maps { 147cd13d5f1SChristian Hewitt map0 { 148cd13d5f1SChristian Hewitt cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 149cd13d5f1SChristian Hewitt <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 150cd13d5f1SChristian Hewitt <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 151cd13d5f1SChristian Hewitt <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 152cd13d5f1SChristian Hewitt <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 153cd13d5f1SChristian Hewitt <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 154cd13d5f1SChristian Hewitt <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 155cd13d5f1SChristian Hewitt <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 156cd13d5f1SChristian Hewitt }; 157cd13d5f1SChristian Hewitt 158cd13d5f1SChristian Hewitt map1 { 159cd13d5f1SChristian Hewitt cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 160cd13d5f1SChristian Hewitt <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 161cd13d5f1SChristian Hewitt <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 162cd13d5f1SChristian Hewitt <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 163cd13d5f1SChristian Hewitt <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 164cd13d5f1SChristian Hewitt <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 165cd13d5f1SChristian Hewitt <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 166cd13d5f1SChristian Hewitt <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 167cd13d5f1SChristian Hewitt }; 168cd13d5f1SChristian Hewitt}; 169cd13d5f1SChristian Hewitt 170bd80ef5eSMartin Blumenstingl&saradc { 171bd80ef5eSMartin Blumenstingl compatible = "amlogic,meson-gxm-saradc", "amlogic,meson-saradc"; 172bd80ef5eSMartin Blumenstingl}; 173bd80ef5eSMartin Blumenstingl 174bd97abc0SMartin Blumenstingl&scpi_dvfs { 175bd97abc0SMartin Blumenstingl clock-indices = <0 1>; 176bd97abc0SMartin Blumenstingl clock-output-names = "vbig", "vlittle"; 177bd97abc0SMartin Blumenstingl}; 178bd97abc0SMartin Blumenstingl 179fafdbdf7SNeil Armstrong&vpu { 180fafdbdf7SNeil Armstrong compatible = "amlogic,meson-gxm-vpu", "amlogic,meson-gx-vpu"; 181fafdbdf7SNeil Armstrong}; 182bd97abc0SMartin Blumenstingl 1836939db7eSNeil Armstrong&hdmi_tx { 1846939db7eSNeil Armstrong compatible = "amlogic,meson-gxm-dw-hdmi", "amlogic,meson-gx-dw-hdmi"; 1856939db7eSNeil Armstrong}; 186458baa95SMartin Blumenstingl 1872f9139c2SMartin Blumenstingl&usb { 1882f9139c2SMartin Blumenstingl compatible = "amlogic,meson-gxm-usb-ctrl"; 1892f9139c2SMartin Blumenstingl 1902f9139c2SMartin Blumenstingl phy-names = "usb2-phy0", "usb2-phy1", "usb2-phy2"; 1912f9139c2SMartin Blumenstingl phys = <&usb2_phy0>, <&usb2_phy1>, <&usb2_phy2>; 192458baa95SMartin Blumenstingl}; 1934be247f7SMaxime Jourdan 1944be247f7SMaxime Jourdan&vdec { 1954be247f7SMaxime Jourdan compatible = "amlogic,gxm-vdec", "amlogic,gx-vdec"; 1964be247f7SMaxime Jourdan}; 197