1cf294275SRafał Miłecki// SPDX-License-Identifier: GPL-2.0-only OR MIT 2cf294275SRafał Miłecki 3cf294275SRafał Miłecki#include <dt-bindings/clock/mediatek,mt7981-clk.h> 4cf294275SRafał Miłecki#include <dt-bindings/interrupt-controller/arm-gic.h> 58f5a9d6bSRafał Miłecki#include <dt-bindings/reset/mt7986-resets.h> 6cf294275SRafał Miłecki 7cf294275SRafał Miłecki/ { 8cf294275SRafał Miłecki compatible = "mediatek,mt7981b"; 9cf294275SRafał Miłecki interrupt-parent = <&gic>; 10cf294275SRafał Miłecki #address-cells = <2>; 11cf294275SRafał Miłecki #size-cells = <2>; 12cf294275SRafał Miłecki 13cf294275SRafał Miłecki cpus { 14cf294275SRafał Miłecki #address-cells = <1>; 15cf294275SRafał Miłecki #size-cells = <0>; 16cf294275SRafał Miłecki 17cf294275SRafał Miłecki cpu@0 { 18cf294275SRafał Miłecki compatible = "arm,cortex-a53"; 19cf294275SRafał Miłecki reg = <0x0>; 20cf294275SRafał Miłecki device_type = "cpu"; 21cf294275SRafał Miłecki enable-method = "psci"; 22cf294275SRafał Miłecki }; 23cf294275SRafał Miłecki 24cf294275SRafał Miłecki cpu@1 { 25cf294275SRafał Miłecki compatible = "arm,cortex-a53"; 26cf294275SRafał Miłecki reg = <0x1>; 27cf294275SRafał Miłecki device_type = "cpu"; 28cf294275SRafał Miłecki enable-method = "psci"; 29cf294275SRafał Miłecki }; 30cf294275SRafał Miłecki }; 31cf294275SRafał Miłecki 32cf294275SRafał Miłecki oscillator-40m { 33cf294275SRafał Miłecki compatible = "fixed-clock"; 34cf294275SRafał Miłecki clock-frequency = <40000000>; 35cf294275SRafał Miłecki clock-output-names = "clkxtal"; 36cf294275SRafał Miłecki #clock-cells = <0>; 37cf294275SRafał Miłecki }; 38cf294275SRafał Miłecki 39cf294275SRafał Miłecki psci { 40cf294275SRafał Miłecki compatible = "arm,psci-1.0"; 41cf294275SRafał Miłecki method = "smc"; 42cf294275SRafał Miłecki }; 43cf294275SRafał Miłecki 44cf294275SRafał Miłecki soc { 45cf294275SRafał Miłecki compatible = "simple-bus"; 46cf294275SRafał Miłecki ranges; 47cf294275SRafał Miłecki #address-cells = <2>; 48cf294275SRafał Miłecki #size-cells = <2>; 49cf294275SRafał Miłecki 50cf294275SRafał Miłecki gic: interrupt-controller@c000000 { 51cf294275SRafał Miłecki compatible = "arm,gic-v3"; 52cf294275SRafał Miłecki reg = <0 0x0c000000 0 0x40000>, /* GICD */ 53cf294275SRafał Miłecki <0 0x0c080000 0 0x200000>; /* GICR */ 54cf294275SRafał Miłecki interrupt-parent = <&gic>; 55cf294275SRafał Miłecki interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 56cf294275SRafał Miłecki interrupt-controller; 57cf294275SRafał Miłecki #interrupt-cells = <3>; 58cf294275SRafał Miłecki }; 59cf294275SRafał Miłecki 60cf294275SRafał Miłecki infracfg: clock-controller@10001000 { 61cf294275SRafał Miłecki compatible = "mediatek,mt7981-infracfg", "syscon"; 62cf294275SRafał Miłecki reg = <0 0x10001000 0 0x1000>; 63cf294275SRafał Miłecki #clock-cells = <1>; 64cf294275SRafał Miłecki }; 65cf294275SRafał Miłecki 668f5a9d6bSRafał Miłecki topckgen: clock-controller@1001b000 { 67cf294275SRafał Miłecki compatible = "mediatek,mt7981-topckgen", "syscon"; 68cf294275SRafał Miłecki reg = <0 0x1001b000 0 0x1000>; 69cf294275SRafał Miłecki #clock-cells = <1>; 70cf294275SRafał Miłecki }; 71cf294275SRafał Miłecki 728f5a9d6bSRafał Miłecki watchdog: watchdog@1001c000 { 738f5a9d6bSRafał Miłecki compatible = "mediatek,mt7986-wdt"; 748f5a9d6bSRafał Miłecki reg = <0 0x1001c000 0 0x1000>; 758f5a9d6bSRafał Miłecki interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; 768f5a9d6bSRafał Miłecki #reset-cells = <1>; 778f5a9d6bSRafał Miłecki }; 788f5a9d6bSRafał Miłecki 79cf294275SRafał Miłecki clock-controller@1001e000 { 80cf294275SRafał Miłecki compatible = "mediatek,mt7981-apmixedsys"; 81cf294275SRafał Miłecki reg = <0 0x1001e000 0 0x1000>; 82cf294275SRafał Miłecki #clock-cells = <1>; 83cf294275SRafał Miłecki }; 84cf294275SRafał Miłecki 85cf294275SRafał Miłecki pwm@10048000 { 86cf294275SRafał Miłecki compatible = "mediatek,mt7981-pwm"; 87cf294275SRafał Miłecki reg = <0 0x10048000 0 0x1000>; 88cf294275SRafał Miłecki clocks = <&infracfg CLK_INFRA_PWM_STA>, 89cf294275SRafał Miłecki <&infracfg CLK_INFRA_PWM_HCK>, 90cf294275SRafał Miłecki <&infracfg CLK_INFRA_PWM1_CK>, 91cf294275SRafał Miłecki <&infracfg CLK_INFRA_PWM2_CK>, 92cf294275SRafał Miłecki <&infracfg CLK_INFRA_PWM3_CK>; 93cf294275SRafał Miłecki clock-names = "top", "main", "pwm1", "pwm2", "pwm3"; 94cf294275SRafał Miłecki #pwm-cells = <2>; 95cf294275SRafał Miłecki }; 96cf294275SRafał Miłecki 97*254a6b0bSRafał Miłecki serial@11002000 { 98*254a6b0bSRafał Miłecki compatible = "mediatek,mt7981-uart", "mediatek,mt6577-uart"; 99*254a6b0bSRafał Miłecki reg = <0 0x11002000 0 0x100>; 100*254a6b0bSRafał Miłecki interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; 101*254a6b0bSRafał Miłecki interrupt-names = "uart", "wakeup"; 102*254a6b0bSRafał Miłecki clocks = <&infracfg CLK_INFRA_UART0_SEL>, 103*254a6b0bSRafał Miłecki <&infracfg CLK_INFRA_UART0_CK>; 104*254a6b0bSRafał Miłecki clock-names = "baud", "bus"; 105*254a6b0bSRafał Miłecki status = "disabled"; 106*254a6b0bSRafał Miłecki }; 107*254a6b0bSRafał Miłecki 108*254a6b0bSRafał Miłecki serial@11003000 { 109*254a6b0bSRafał Miłecki compatible = "mediatek,mt7981-uart", "mediatek,mt6577-uart"; 110*254a6b0bSRafał Miłecki reg = <0 0x11003000 0 0x100>; 111*254a6b0bSRafał Miłecki interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>; 112*254a6b0bSRafał Miłecki interrupt-names = "uart", "wakeup"; 113*254a6b0bSRafał Miłecki clocks = <&infracfg CLK_INFRA_UART1_SEL>, 114*254a6b0bSRafał Miłecki <&infracfg CLK_INFRA_UART1_CK>; 115*254a6b0bSRafał Miłecki clock-names = "baud", "bus"; 116*254a6b0bSRafał Miłecki status = "disabled"; 117*254a6b0bSRafał Miłecki }; 118*254a6b0bSRafał Miłecki 119*254a6b0bSRafał Miłecki serial@11004000 { 120*254a6b0bSRafał Miłecki compatible = "mediatek,mt7981-uart", "mediatek,mt6577-uart"; 121*254a6b0bSRafał Miłecki reg = <0 0x11004000 0 0x100>; 122*254a6b0bSRafał Miłecki interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>; 123*254a6b0bSRafał Miłecki interrupt-names = "uart", "wakeup"; 124*254a6b0bSRafał Miłecki clocks = <&infracfg CLK_INFRA_UART2_SEL>, 125*254a6b0bSRafał Miłecki <&infracfg CLK_INFRA_UART2_CK>; 126*254a6b0bSRafał Miłecki clock-names = "baud", "bus"; 127*254a6b0bSRafał Miłecki status = "disabled"; 128*254a6b0bSRafał Miłecki }; 129*254a6b0bSRafał Miłecki 130c3e87229SRafał Miłecki i2c@11007000 { 131c3e87229SRafał Miłecki compatible = "mediatek,mt7981-i2c"; 132c3e87229SRafał Miłecki reg = <0 0x11007000 0 0x1000>, 133c3e87229SRafał Miłecki <0 0x10217080 0 0x80>; 134c3e87229SRafał Miłecki interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>; 135c3e87229SRafał Miłecki clocks = <&infracfg CLK_INFRA_I2C0_CK>, 136c3e87229SRafał Miłecki <&infracfg CLK_INFRA_AP_DMA_CK>, 137c3e87229SRafał Miłecki <&infracfg CLK_INFRA_I2C_MCK_CK>, 138c3e87229SRafał Miłecki <&infracfg CLK_INFRA_I2C_PCK_CK>; 139c3e87229SRafał Miłecki clock-names = "main", "dma", "arb", "pmic"; 140c3e87229SRafał Miłecki #address-cells = <1>; 141c3e87229SRafał Miłecki #size-cells = <0>; 142c3e87229SRafał Miłecki status = "disabled"; 143c3e87229SRafał Miłecki }; 144c3e87229SRafał Miłecki 145ec5c04abSRafał Miłecki spi@11009000 { 146ec5c04abSRafał Miłecki compatible = "mediatek,mt7981-spi-ipm", "mediatek,spi-ipm"; 147ec5c04abSRafał Miłecki reg = <0 0x11009000 0 0x1000>; 148ec5c04abSRafał Miłecki interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>; 149ec5c04abSRafał Miłecki clocks = <&topckgen CLK_TOP_CB_M_D2>, 150ec5c04abSRafał Miłecki <&topckgen CLK_TOP_SPI_SEL>, 151ec5c04abSRafał Miłecki <&infracfg CLK_INFRA_SPI2_CK>, 152ec5c04abSRafał Miłecki <&infracfg CLK_INFRA_SPI2_HCK_CK>; 153ec5c04abSRafał Miłecki clock-names = "parent-clk", "sel-clk", "spi-clk", "hclk"; 154ec5c04abSRafał Miłecki #address-cells = <1>; 155ec5c04abSRafał Miłecki #size-cells = <0>; 156ec5c04abSRafał Miłecki status = "disabled"; 157ec5c04abSRafał Miłecki }; 158ec5c04abSRafał Miłecki 159ec5c04abSRafał Miłecki spi@1100a000 { 160ec5c04abSRafał Miłecki compatible = "mediatek,mt7981-spi-ipm", "mediatek,spi-ipm"; 161ec5c04abSRafał Miłecki reg = <0 0x1100a000 0 0x1000>; 162ec5c04abSRafał Miłecki interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>; 163ec5c04abSRafał Miłecki clocks = <&topckgen CLK_TOP_CB_M_D2>, 164ec5c04abSRafał Miłecki <&topckgen CLK_TOP_SPI_SEL>, 165ec5c04abSRafał Miłecki <&infracfg CLK_INFRA_SPI0_CK>, 166ec5c04abSRafał Miłecki <&infracfg CLK_INFRA_SPI0_HCK_CK>; 167ec5c04abSRafał Miłecki clock-names = "parent-clk", "sel-clk", "spi-clk", "hclk"; 168ec5c04abSRafał Miłecki #address-cells = <1>; 169ec5c04abSRafał Miłecki #size-cells = <0>; 170ec5c04abSRafał Miłecki status = "disabled"; 171ec5c04abSRafał Miłecki }; 172ec5c04abSRafał Miłecki 173ec5c04abSRafał Miłecki spi@1100b000 { 174ec5c04abSRafał Miłecki compatible = "mediatek,mt7981-spi-ipm", "mediatek,spi-ipm"; 175ec5c04abSRafał Miłecki reg = <0 0x1100b000 0 0x1000>; 176ec5c04abSRafał Miłecki interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>; 177ec5c04abSRafał Miłecki clocks = <&topckgen CLK_TOP_CB_M_D2>, 178ec5c04abSRafał Miłecki <&topckgen CLK_TOP_SPI_SEL>, 179ec5c04abSRafał Miłecki <&infracfg CLK_INFRA_SPI1_CK>, 180ec5c04abSRafał Miłecki <&infracfg CLK_INFRA_SPI1_HCK_CK>; 181ec5c04abSRafał Miłecki clock-names = "parent-clk", "sel-clk", "spi-clk", "hclk"; 182ec5c04abSRafał Miłecki #address-cells = <1>; 183ec5c04abSRafał Miłecki #size-cells = <0>; 184ec5c04abSRafał Miłecki status = "disabled"; 185ec5c04abSRafał Miłecki }; 186ec5c04abSRafał Miłecki 18762b24c7fSRafał Miłecki pio: pinctrl@11d00000 { 18862b24c7fSRafał Miłecki compatible = "mediatek,mt7981-pinctrl"; 18962b24c7fSRafał Miłecki reg = <0 0x11d00000 0 0x1000>, 19062b24c7fSRafał Miłecki <0 0x11c00000 0 0x1000>, 19162b24c7fSRafał Miłecki <0 0x11c10000 0 0x1000>, 19262b24c7fSRafał Miłecki <0 0x11d20000 0 0x1000>, 19362b24c7fSRafał Miłecki <0 0x11e00000 0 0x1000>, 19462b24c7fSRafał Miłecki <0 0x11e20000 0 0x1000>, 19562b24c7fSRafał Miłecki <0 0x11f00000 0 0x1000>, 19662b24c7fSRafał Miłecki <0 0x11f10000 0 0x1000>, 19762b24c7fSRafał Miłecki <0 0x1000b000 0 0x1000>; 19862b24c7fSRafał Miłecki reg-names = "gpio", "iocfg_rt", "iocfg_rm", "iocfg_rb", "iocfg_lb", 19962b24c7fSRafał Miłecki "iocfg_bl", "iocfg_tm", "iocfg_tl", "eint"; 20062b24c7fSRafał Miłecki interrupt-controller; 20162b24c7fSRafał Miłecki interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>; 20262b24c7fSRafał Miłecki interrupt-parent = <&gic>; 20362b24c7fSRafał Miłecki gpio-ranges = <&pio 0 0 56>; 20462b24c7fSRafał Miłecki gpio-controller; 20562b24c7fSRafał Miłecki #gpio-cells = <2>; 20662b24c7fSRafał Miłecki #interrupt-cells = <2>; 20762b24c7fSRafał Miłecki }; 20862b24c7fSRafał Miłecki 209454880d6SRafał Miłecki efuse@11f20000 { 210454880d6SRafał Miłecki compatible = "mediatek,mt7981-efuse", "mediatek,efuse"; 211454880d6SRafał Miłecki reg = <0 0x11f20000 0 0x1000>; 212454880d6SRafał Miłecki #address-cells = <1>; 213454880d6SRafał Miłecki #size-cells = <1>; 214454880d6SRafał Miłecki }; 215454880d6SRafał Miłecki 216cf294275SRafał Miłecki clock-controller@15000000 { 217cf294275SRafał Miłecki compatible = "mediatek,mt7981-ethsys", "syscon"; 218cf294275SRafał Miłecki reg = <0 0x15000000 0 0x1000>; 219cf294275SRafał Miłecki #clock-cells = <1>; 220cf294275SRafał Miłecki #reset-cells = <1>; 221cf294275SRafał Miłecki }; 2228f5a9d6bSRafał Miłecki 2238f5a9d6bSRafał Miłecki wifi@18000000 { 2248f5a9d6bSRafał Miłecki compatible = "mediatek,mt7981-wmac"; 2258f5a9d6bSRafał Miłecki reg = <0 0x18000000 0 0x1000000>, 2268f5a9d6bSRafał Miłecki <0 0x10003000 0 0x1000>, 2278f5a9d6bSRafał Miłecki <0 0x11d10000 0 0x1000>; 2288f5a9d6bSRafał Miłecki interrupts = <GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>, 2298f5a9d6bSRafał Miłecki <GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>, 2308f5a9d6bSRafał Miłecki <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>, 2318f5a9d6bSRafał Miłecki <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>; 2328f5a9d6bSRafał Miłecki clocks = <&topckgen CLK_TOP_NETSYS_MCU_SEL>, 2338f5a9d6bSRafał Miłecki <&topckgen CLK_TOP_AP2CNN_HOST_SEL>; 2348f5a9d6bSRafał Miłecki clock-names = "mcu", "ap2conn"; 2358f5a9d6bSRafał Miłecki resets = <&watchdog MT7986_TOPRGU_CONSYS_SW_RST>; 2368f5a9d6bSRafał Miłecki reset-names = "consys"; 2378f5a9d6bSRafał Miłecki }; 238cf294275SRafał Miłecki }; 239cf294275SRafał Miłecki 240cf294275SRafał Miłecki timer { 241cf294275SRafał Miłecki compatible = "arm,armv8-timer"; 242cf294275SRafał Miłecki interrupt-parent = <&gic>; 243cf294275SRafał Miłecki interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, 244cf294275SRafał Miłecki <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, 245cf294275SRafał Miłecki <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, 246cf294275SRafał Miłecki <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; 247cf294275SRafał Miłecki }; 248cf294275SRafał Miłecki}; 249