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 }; 85bb51b535SNeil Armstrong}; 86fafdbdf7SNeil Armstrong 87458baa95SMartin Blumenstingl&apb { 88458baa95SMartin Blumenstingl usb2_phy2: phy@78040 { 89458baa95SMartin Blumenstingl compatible = "amlogic,meson-gxl-usb2-phy"; 90458baa95SMartin Blumenstingl #phy-cells = <0>; 91458baa95SMartin Blumenstingl reg = <0x0 0x78040 0x0 0x20>; 92458baa95SMartin Blumenstingl clocks = <&clkc CLKID_USB>; 93458baa95SMartin Blumenstingl clock-names = "phy"; 94458baa95SMartin Blumenstingl resets = <&reset RESET_USB_OTG>; 95458baa95SMartin Blumenstingl reset-names = "phy"; 96458baa95SMartin Blumenstingl status = "okay"; 97458baa95SMartin Blumenstingl }; 9811f8e119SChristian Hewitt 9911f8e119SChristian Hewitt mali: gpu@c0000 { 10011f8e119SChristian Hewitt compatible = "amlogic,meson-gxm-mali", "arm,mali-t820"; 10111f8e119SChristian Hewitt reg = <0x0 0xc0000 0x0 0x40000>; 10211f8e119SChristian Hewitt interrupt-parent = <&gic>; 10369fb3f21SNeil Armstrong interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>, 10411f8e119SChristian Hewitt <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>, 10569fb3f21SNeil Armstrong <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>; 10669fb3f21SNeil Armstrong interrupt-names = "job", "mmu", "gpu"; 10711f8e119SChristian Hewitt clocks = <&clkc CLKID_MALI>; 10811f8e119SChristian Hewitt resets = <&reset RESET_MALI_CAPB3>, <&reset RESET_MALI>; 10911f8e119SChristian Hewitt 11011f8e119SChristian Hewitt /* 11111f8e119SChristian Hewitt * Mali clocking is provided by two identical clock paths 11211f8e119SChristian Hewitt * MALI_0 and MALI_1 muxed to a single clock by a glitch 11311f8e119SChristian Hewitt * free mux to safely change frequency while running. 11411f8e119SChristian Hewitt */ 11511f8e119SChristian Hewitt assigned-clocks = <&clkc CLKID_MALI_0_SEL>, 11611f8e119SChristian Hewitt <&clkc CLKID_MALI_0>, 11711f8e119SChristian Hewitt <&clkc CLKID_MALI>; /* Glitch free mux */ 11811f8e119SChristian Hewitt assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>, 11911f8e119SChristian Hewitt <0>, /* Do Nothing */ 12011f8e119SChristian Hewitt <&clkc CLKID_MALI_0>; 12111f8e119SChristian Hewitt assigned-clock-rates = <0>, /* Do Nothing */ 12211f8e119SChristian Hewitt <666666666>, 12311f8e119SChristian Hewitt <0>; /* Do Nothing */ 12411f8e119SChristian Hewitt }; 125458baa95SMartin Blumenstingl}; 126458baa95SMartin Blumenstingl 1277fd2c355SNeil Armstrong&clkc_AO { 1287fd2c355SNeil Armstrong compatible = "amlogic,meson-gxm-aoclkc", "amlogic,meson-gx-aoclkc"; 1297fd2c355SNeil Armstrong}; 1307fd2c355SNeil Armstrong 131cd13d5f1SChristian Hewitt&cpu_cooling_maps { 132cd13d5f1SChristian Hewitt map0 { 133cd13d5f1SChristian Hewitt cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 134cd13d5f1SChristian Hewitt <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 135cd13d5f1SChristian Hewitt <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 136cd13d5f1SChristian Hewitt <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 137cd13d5f1SChristian Hewitt <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 138cd13d5f1SChristian Hewitt <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 139cd13d5f1SChristian Hewitt <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 140cd13d5f1SChristian Hewitt <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 141cd13d5f1SChristian Hewitt }; 142cd13d5f1SChristian Hewitt 143cd13d5f1SChristian Hewitt map1 { 144cd13d5f1SChristian Hewitt cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 145cd13d5f1SChristian Hewitt <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 146cd13d5f1SChristian Hewitt <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 147cd13d5f1SChristian Hewitt <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 148cd13d5f1SChristian Hewitt <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 149cd13d5f1SChristian Hewitt <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 150cd13d5f1SChristian Hewitt <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 151cd13d5f1SChristian Hewitt <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 152cd13d5f1SChristian Hewitt }; 153cd13d5f1SChristian Hewitt}; 154cd13d5f1SChristian Hewitt 155bd80ef5eSMartin Blumenstingl&saradc { 156bd80ef5eSMartin Blumenstingl compatible = "amlogic,meson-gxm-saradc", "amlogic,meson-saradc"; 157bd80ef5eSMartin Blumenstingl}; 158bd80ef5eSMartin Blumenstingl 159bd97abc0SMartin Blumenstingl&scpi_dvfs { 160bd97abc0SMartin Blumenstingl clock-indices = <0 1>; 161bd97abc0SMartin Blumenstingl clock-output-names = "vbig", "vlittle"; 162bd97abc0SMartin Blumenstingl}; 163bd97abc0SMartin Blumenstingl 164fafdbdf7SNeil Armstrong&vpu { 165fafdbdf7SNeil Armstrong compatible = "amlogic,meson-gxm-vpu", "amlogic,meson-gx-vpu"; 166fafdbdf7SNeil Armstrong}; 167bd97abc0SMartin Blumenstingl 1686939db7eSNeil Armstrong&hdmi_tx { 1696939db7eSNeil Armstrong compatible = "amlogic,meson-gxm-dw-hdmi", "amlogic,meson-gx-dw-hdmi"; 1706939db7eSNeil Armstrong}; 171458baa95SMartin Blumenstingl 172*2f9139c2SMartin Blumenstingl&usb { 173*2f9139c2SMartin Blumenstingl compatible = "amlogic,meson-gxm-usb-ctrl"; 174*2f9139c2SMartin Blumenstingl 175*2f9139c2SMartin Blumenstingl phy-names = "usb2-phy0", "usb2-phy1", "usb2-phy2"; 176*2f9139c2SMartin Blumenstingl phys = <&usb2_phy0>, <&usb2_phy1>, <&usb2_phy2>; 177458baa95SMartin Blumenstingl}; 1784be247f7SMaxime Jourdan 1794be247f7SMaxime Jourdan&vdec { 1804be247f7SMaxime Jourdan compatible = "amlogic,gxm-vdec", "amlogic,gx-vdec"; 1814be247f7SMaxime Jourdan}; 182