0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003 * Copyright (c) 2016 Endless Computers, Inc.
0004 * Author: Carlo Caione <carlo@endlessm.com>
0005 */
0006
0007 #include "meson-gxl.dtsi"
0008
0009 / {
0010 compatible = "amlogic,meson-gxm";
0011
0012 cpus {
0013 cpu-map {
0014 cluster0 {
0015 core0 {
0016 cpu = <&cpu0>;
0017 };
0018 core1 {
0019 cpu = <&cpu1>;
0020 };
0021 core2 {
0022 cpu = <&cpu2>;
0023 };
0024 core3 {
0025 cpu = <&cpu3>;
0026 };
0027 };
0028
0029 cluster1 {
0030 core0 {
0031 cpu = <&cpu4>;
0032 };
0033 core1 {
0034 cpu = <&cpu5>;
0035 };
0036 core2 {
0037 cpu = <&cpu6>;
0038 };
0039 core3 {
0040 cpu = <&cpu7>;
0041 };
0042 };
0043 };
0044
0045 cpu0: cpu@0 {
0046 capacity-dmips-mhz = <1024>;
0047 };
0048
0049 cpu1: cpu@1 {
0050 capacity-dmips-mhz = <1024>;
0051 };
0052
0053 cpu2: cpu@2 {
0054 capacity-dmips-mhz = <1024>;
0055 };
0056
0057 cpu3: cpu@3 {
0058 capacity-dmips-mhz = <1024>;
0059 };
0060
0061 cpu4: cpu@100 {
0062 device_type = "cpu";
0063 compatible = "arm,cortex-a53";
0064 reg = <0x0 0x100>;
0065 enable-method = "psci";
0066 capacity-dmips-mhz = <1024>;
0067 next-level-cache = <&l2>;
0068 clocks = <&scpi_dvfs 1>;
0069 #cooling-cells = <2>;
0070 };
0071
0072 cpu5: cpu@101 {
0073 device_type = "cpu";
0074 compatible = "arm,cortex-a53";
0075 reg = <0x0 0x101>;
0076 enable-method = "psci";
0077 capacity-dmips-mhz = <1024>;
0078 next-level-cache = <&l2>;
0079 clocks = <&scpi_dvfs 1>;
0080 #cooling-cells = <2>;
0081 };
0082
0083 cpu6: cpu@102 {
0084 device_type = "cpu";
0085 compatible = "arm,cortex-a53";
0086 reg = <0x0 0x102>;
0087 enable-method = "psci";
0088 capacity-dmips-mhz = <1024>;
0089 next-level-cache = <&l2>;
0090 clocks = <&scpi_dvfs 1>;
0091 #cooling-cells = <2>;
0092 };
0093
0094 cpu7: cpu@103 {
0095 device_type = "cpu";
0096 compatible = "arm,cortex-a53";
0097 reg = <0x0 0x103>;
0098 enable-method = "psci";
0099 capacity-dmips-mhz = <1024>;
0100 next-level-cache = <&l2>;
0101 clocks = <&scpi_dvfs 1>;
0102 #cooling-cells = <2>;
0103 };
0104 };
0105
0106 gpu_opp_table: opp-table {
0107 compatible = "operating-points-v2";
0108
0109 opp-125000000 {
0110 opp-hz = /bits/ 64 <125000000>;
0111 opp-microvolt = <950000>;
0112 };
0113 opp-250000000 {
0114 opp-hz = /bits/ 64 <250000000>;
0115 opp-microvolt = <950000>;
0116 };
0117 opp-285714285 {
0118 opp-hz = /bits/ 64 <285714285>;
0119 opp-microvolt = <950000>;
0120 };
0121 opp-400000000 {
0122 opp-hz = /bits/ 64 <400000000>;
0123 opp-microvolt = <950000>;
0124 };
0125 opp-500000000 {
0126 opp-hz = /bits/ 64 <500000000>;
0127 opp-microvolt = <950000>;
0128 };
0129 opp-666666666 {
0130 opp-hz = /bits/ 64 <666666666>;
0131 opp-microvolt = <950000>;
0132 };
0133 };
0134 };
0135
0136 &apb {
0137 usb2_phy2: phy@78040 {
0138 compatible = "amlogic,meson-gxl-usb2-phy";
0139 #phy-cells = <0>;
0140 reg = <0x0 0x78040 0x0 0x20>;
0141 clocks = <&clkc CLKID_USB>;
0142 clock-names = "phy";
0143 resets = <&reset RESET_USB_OTG>;
0144 reset-names = "phy";
0145 status = "okay";
0146 };
0147
0148 mali: gpu@c0000 {
0149 compatible = "amlogic,meson-gxm-mali", "arm,mali-t820";
0150 reg = <0x0 0xc0000 0x0 0x40000>;
0151 interrupt-parent = <&gic>;
0152 interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
0153 <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
0154 <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
0155 interrupt-names = "job", "mmu", "gpu";
0156 clocks = <&clkc CLKID_MALI>;
0157 resets = <&reset RESET_MALI_CAPB3>, <&reset RESET_MALI>;
0158 operating-points-v2 = <&gpu_opp_table>;
0159 };
0160 };
0161
0162 &clkc_AO {
0163 compatible = "amlogic,meson-gxm-aoclkc", "amlogic,meson-gx-aoclkc";
0164 };
0165
0166 &cpu_cooling_maps {
0167 map0 {
0168 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
0169 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
0170 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
0171 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
0172 <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
0173 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
0174 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
0175 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
0176 };
0177
0178 map1 {
0179 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
0180 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
0181 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
0182 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
0183 <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
0184 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
0185 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
0186 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
0187 };
0188 };
0189
0190 &saradc {
0191 compatible = "amlogic,meson-gxm-saradc", "amlogic,meson-saradc";
0192 };
0193
0194 &scpi_dvfs {
0195 clock-indices = <0 1>;
0196 clock-output-names = "vbig", "vlittle";
0197 };
0198
0199 &vpu {
0200 compatible = "amlogic,meson-gxm-vpu", "amlogic,meson-gx-vpu";
0201 };
0202
0203 &hdmi_tx {
0204 compatible = "amlogic,meson-gxm-dw-hdmi", "amlogic,meson-gx-dw-hdmi";
0205 };
0206
0207 &usb {
0208 compatible = "amlogic,meson-gxm-usb-ctrl";
0209
0210 phy-names = "usb2-phy0", "usb2-phy1", "usb2-phy2";
0211 phys = <&usb2_phy0>, <&usb2_phy1>, <&usb2_phy2>;
0212 };
0213
0214 &vdec {
0215 compatible = "amlogic,gxm-vdec", "amlogic,gx-vdec";
0216 };