1*01950c46SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only OR MIT 2*01950c46SEmmanuel Vadot 3*01950c46SEmmanuel Vadot#include <dt-bindings/clock/mediatek,mt7981-clk.h> 4*01950c46SEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 5*01950c46SEmmanuel Vadot 6*01950c46SEmmanuel Vadot/ { 7*01950c46SEmmanuel Vadot compatible = "mediatek,mt7981b"; 8*01950c46SEmmanuel Vadot interrupt-parent = <&gic>; 9*01950c46SEmmanuel Vadot #address-cells = <2>; 10*01950c46SEmmanuel Vadot #size-cells = <2>; 11*01950c46SEmmanuel Vadot 12*01950c46SEmmanuel Vadot cpus { 13*01950c46SEmmanuel Vadot #address-cells = <1>; 14*01950c46SEmmanuel Vadot #size-cells = <0>; 15*01950c46SEmmanuel Vadot 16*01950c46SEmmanuel Vadot cpu@0 { 17*01950c46SEmmanuel Vadot compatible = "arm,cortex-a53"; 18*01950c46SEmmanuel Vadot reg = <0x0>; 19*01950c46SEmmanuel Vadot device_type = "cpu"; 20*01950c46SEmmanuel Vadot enable-method = "psci"; 21*01950c46SEmmanuel Vadot }; 22*01950c46SEmmanuel Vadot 23*01950c46SEmmanuel Vadot cpu@1 { 24*01950c46SEmmanuel Vadot compatible = "arm,cortex-a53"; 25*01950c46SEmmanuel Vadot reg = <0x1>; 26*01950c46SEmmanuel Vadot device_type = "cpu"; 27*01950c46SEmmanuel Vadot enable-method = "psci"; 28*01950c46SEmmanuel Vadot }; 29*01950c46SEmmanuel Vadot }; 30*01950c46SEmmanuel Vadot 31*01950c46SEmmanuel Vadot oscillator-40m { 32*01950c46SEmmanuel Vadot compatible = "fixed-clock"; 33*01950c46SEmmanuel Vadot clock-frequency = <40000000>; 34*01950c46SEmmanuel Vadot clock-output-names = "clkxtal"; 35*01950c46SEmmanuel Vadot #clock-cells = <0>; 36*01950c46SEmmanuel Vadot }; 37*01950c46SEmmanuel Vadot 38*01950c46SEmmanuel Vadot psci { 39*01950c46SEmmanuel Vadot compatible = "arm,psci-1.0"; 40*01950c46SEmmanuel Vadot method = "smc"; 41*01950c46SEmmanuel Vadot }; 42*01950c46SEmmanuel Vadot 43*01950c46SEmmanuel Vadot soc { 44*01950c46SEmmanuel Vadot compatible = "simple-bus"; 45*01950c46SEmmanuel Vadot ranges; 46*01950c46SEmmanuel Vadot #address-cells = <2>; 47*01950c46SEmmanuel Vadot #size-cells = <2>; 48*01950c46SEmmanuel Vadot 49*01950c46SEmmanuel Vadot gic: interrupt-controller@c000000 { 50*01950c46SEmmanuel Vadot compatible = "arm,gic-v3"; 51*01950c46SEmmanuel Vadot reg = <0 0x0c000000 0 0x40000>, /* GICD */ 52*01950c46SEmmanuel Vadot <0 0x0c080000 0 0x200000>; /* GICR */ 53*01950c46SEmmanuel Vadot interrupt-parent = <&gic>; 54*01950c46SEmmanuel Vadot interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 55*01950c46SEmmanuel Vadot interrupt-controller; 56*01950c46SEmmanuel Vadot #interrupt-cells = <3>; 57*01950c46SEmmanuel Vadot }; 58*01950c46SEmmanuel Vadot 59*01950c46SEmmanuel Vadot infracfg: clock-controller@10001000 { 60*01950c46SEmmanuel Vadot compatible = "mediatek,mt7981-infracfg", "syscon"; 61*01950c46SEmmanuel Vadot reg = <0 0x10001000 0 0x1000>; 62*01950c46SEmmanuel Vadot #clock-cells = <1>; 63*01950c46SEmmanuel Vadot }; 64*01950c46SEmmanuel Vadot 65*01950c46SEmmanuel Vadot clock-controller@1001b000 { 66*01950c46SEmmanuel Vadot compatible = "mediatek,mt7981-topckgen", "syscon"; 67*01950c46SEmmanuel Vadot reg = <0 0x1001b000 0 0x1000>; 68*01950c46SEmmanuel Vadot #clock-cells = <1>; 69*01950c46SEmmanuel Vadot }; 70*01950c46SEmmanuel Vadot 71*01950c46SEmmanuel Vadot clock-controller@1001e000 { 72*01950c46SEmmanuel Vadot compatible = "mediatek,mt7981-apmixedsys"; 73*01950c46SEmmanuel Vadot reg = <0 0x1001e000 0 0x1000>; 74*01950c46SEmmanuel Vadot #clock-cells = <1>; 75*01950c46SEmmanuel Vadot }; 76*01950c46SEmmanuel Vadot 77*01950c46SEmmanuel Vadot pwm@10048000 { 78*01950c46SEmmanuel Vadot compatible = "mediatek,mt7981-pwm"; 79*01950c46SEmmanuel Vadot reg = <0 0x10048000 0 0x1000>; 80*01950c46SEmmanuel Vadot clocks = <&infracfg CLK_INFRA_PWM_STA>, 81*01950c46SEmmanuel Vadot <&infracfg CLK_INFRA_PWM_HCK>, 82*01950c46SEmmanuel Vadot <&infracfg CLK_INFRA_PWM1_CK>, 83*01950c46SEmmanuel Vadot <&infracfg CLK_INFRA_PWM2_CK>, 84*01950c46SEmmanuel Vadot <&infracfg CLK_INFRA_PWM3_CK>; 85*01950c46SEmmanuel Vadot clock-names = "top", "main", "pwm1", "pwm2", "pwm3"; 86*01950c46SEmmanuel Vadot #pwm-cells = <2>; 87*01950c46SEmmanuel Vadot }; 88*01950c46SEmmanuel Vadot 89*01950c46SEmmanuel Vadot clock-controller@15000000 { 90*01950c46SEmmanuel Vadot compatible = "mediatek,mt7981-ethsys", "syscon"; 91*01950c46SEmmanuel Vadot reg = <0 0x15000000 0 0x1000>; 92*01950c46SEmmanuel Vadot #clock-cells = <1>; 93*01950c46SEmmanuel Vadot #reset-cells = <1>; 94*01950c46SEmmanuel Vadot }; 95*01950c46SEmmanuel Vadot }; 96*01950c46SEmmanuel Vadot 97*01950c46SEmmanuel Vadot timer { 98*01950c46SEmmanuel Vadot compatible = "arm,armv8-timer"; 99*01950c46SEmmanuel Vadot interrupt-parent = <&gic>; 100*01950c46SEmmanuel Vadot interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, 101*01950c46SEmmanuel Vadot <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, 102*01950c46SEmmanuel Vadot <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, 103*01950c46SEmmanuel Vadot <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; 104*01950c46SEmmanuel Vadot }; 105*01950c46SEmmanuel Vadot}; 106