| // SPDX-License-Identifier: GPL-2.0 |
| #include <dt-bindings/clock/mt7620-clk.h> |
| #include <dt-bindings/reset/mt7620-reset.h> |
| |
| / { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| compatible = "mediatek,mt7620-soc"; |
| |
| cpus { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| cpu@0 { |
| compatible = "mti,mips24KEc"; |
| device_type = "cpu"; |
| reg = <0>; |
| }; |
| }; |
| |
| clk48m: clk48m@0 { |
| compatible = "fixed-clock"; |
| |
| clock-frequency = <48000000>; |
| |
| #clock-cells = <0>; |
| }; |
| |
| sysc: sysc@10000000 { |
| compatible = "mediatek,mt7620-sysc"; |
| reg = <0x10000000 0x100>; |
| }; |
| |
| clkctrl: clkctrl@10000030 { |
| compatible = "mediatek,mt7620-clk"; |
| mediatek,sysc = <&sysc>; |
| |
| #clock-cells = <1>; |
| }; |
| |
| rstctrl: rstctrl@10000034 { |
| compatible = "mediatek,mtmips-reset"; |
| reg = <0x10000034 0x4>; |
| #reset-cells = <1>; |
| }; |
| |
| reboot: resetctl-reboot { |
| compatible = "resetctl-reboot"; |
| |
| resets = <&rstctrl SYS_RST>; |
| reset-names = "sysreset"; |
| }; |
| |
| uartfull: uartfull@10000500 { |
| compatible = "mediatek,mt7620-uart"; |
| reg = <10000500 0x100>; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uartf_gpio_pins>; |
| |
| clocks = <&clkctrl CLK_UARTF>; |
| |
| resets = <&rstctrl UARTF_RST>; |
| reset-names = "uartf"; |
| |
| clock-frequency = <40000000>; |
| |
| status = "disabled"; |
| }; |
| |
| uartlite: uartlite@10000c00 { |
| compatible = "mediatek,mt7620-uart"; |
| reg = <0x10000c00 0x100>; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uartl_pins>; |
| |
| clocks = <&clkctrl CLK_UARTL>; |
| |
| resets = <&rstctrl UARTL_RST>; |
| reset-names = "uartl"; |
| |
| clock-frequency = <40000000>; |
| }; |
| |
| pinctrl: pinctrl@10000060 { |
| compatible = "mediatek,mt7620-pinctrl"; |
| reg = <0x10000060 0x4>; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&state_default>; |
| |
| state_default: pin_state { |
| sutif_pins { |
| groups = "sutif"; |
| function = "none"; |
| }; |
| }; |
| |
| nand_pins: nand_pins { |
| groups = "nand"; |
| function = "nand"; |
| }; |
| |
| sd_pins: sd_pins { |
| groups = "nand"; |
| function = "sd"; |
| }; |
| |
| spi_single_pins: spi_single_pins { |
| groups = "spi"; |
| function = "spi"; |
| }; |
| |
| spi_dual_pins: spi_dual_pins { |
| spi_master_pins { |
| groups = "spi"; |
| function = "spi"; |
| }; |
| |
| spi_cs1_pin { |
| groups = "spi cs1"; |
| function = "spi cs1"; |
| }; |
| }; |
| |
| uartl_pins: uartl_pins { |
| groups = "uartl"; |
| function = "uartl"; |
| }; |
| |
| uartf_pins: uartf_pins { |
| groups = "uartf"; |
| function = "uartf"; |
| }; |
| |
| uartf_pcm_pins: uartf_pcm_pins { |
| groups = "uartf"; |
| function = "uartf pcm"; |
| }; |
| |
| uartf_i2s_pins: uartf_i2s_pins { |
| groups = "uartf"; |
| function = "i2s uartf"; |
| }; |
| |
| uartf_gpio_pins: uartf_gpio_pins { |
| groups = "uartf"; |
| function = "uartf gpio"; |
| }; |
| }; |
| |
| watchdog: watchdog@10000120 { |
| compatible = "mediatek,mt7620-wdt"; |
| reg = <0x10000120 0x10>; |
| |
| resets = <&rstctrl TIMER_RST>; |
| reset-names = "wdt"; |
| }; |
| |
| gpio0: gpio0@10000600 { |
| compatible = "mediatek,mt7620-gpio"; |
| reg = <0x10000600 0x34>; |
| |
| resets = <&rstctrl PIO_RST>; |
| reset-names = "pio"; |
| |
| mediatek,bank-name = "PIOA"; |
| mediatek,gpio-num = <24>; |
| mediatek,register-map = <0x20 0x24 0x2c 0x30>; |
| |
| gpio-controller; |
| #gpio-cells = <2>; |
| }; |
| |
| gpio1: gpio1@10000638 { |
| compatible = "mediatek,mt7620-gpio"; |
| reg = <0x10000638 0x24>; |
| |
| resets = <&rstctrl PIO_RST>; |
| reset-names = "pio"; |
| |
| mediatek,bank-name = "PIOB"; |
| mediatek,gpio-num = <16>; |
| mediatek,register-map = <0x10 0x14 0x1c 0x20>; |
| |
| gpio-controller; |
| #gpio-cells = <2>; |
| }; |
| |
| gpio2: gpio2@10000660 { |
| compatible = "mediatek,mt7620-gpio"; |
| reg = <0x10000660 0x24>; |
| |
| resets = <&rstctrl PIO_RST>; |
| reset-names = "pio"; |
| |
| mediatek,bank-name = "PIOC"; |
| mediatek,gpio-num = <32>; |
| mediatek,register-map = <0x10 0x14 0x1c 0x20>; |
| |
| gpio-controller; |
| #gpio-cells = <2>; |
| }; |
| |
| gpio3: gpio3@10000688 { |
| compatible = "mediatek,mt7620-gpio"; |
| reg = <0x10000688 0x24>; |
| |
| resets = <&rstctrl PIO_RST>; |
| reset-names = "pio"; |
| |
| mediatek,bank-name = "PIOD"; |
| mediatek,gpio-num = <1>; |
| mediatek,register-map = <0x10 0x14 0x1c 0x20>; |
| |
| gpio-controller; |
| #gpio-cells = <2>; |
| }; |
| |
| spi0: spi@10000b00 { |
| compatible = "mediatek,mt7620-spi"; |
| reg = <0x10000b00 0x100>; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&spi_single_pins>; |
| |
| resets = <&rstctrl SPI_RST>; |
| reset-names = "spi"; |
| |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| clocks = <&clkctrl CLK_SPI>; |
| }; |
| |
| eth: eth@10100000 { |
| compatible = "mediatek,mt7620-eth"; |
| reg = <0x10100000 0x10000 |
| 0x10110000 0x8000>; |
| reg-names = "fe", "esw"; |
| |
| mediatek,sysc = <&sysc>; |
| |
| resets = <&rstctrl EPHY_RST>, |
| <&rstctrl ESW_RST>, |
| <&rstctrl FE_RST>; |
| reset-names = "ephy", "esw", "fe"; |
| |
| clocks = <&clkctrl CLK_EPHY>, |
| <&clkctrl CLK_ESW>, |
| <&clkctrl CLK_FE>; |
| clock-names = "ephy", "esw", "fe"; |
| |
| status = "disabled"; |
| }; |
| |
| usb_phy: mt7620-usb-phy { |
| compatible = "mediatek,mt7620-usbphy"; |
| |
| #phy-cells = <0>; |
| |
| mediatek,sysc = <&sysc>; |
| |
| clocks = <&clkctrl CLK_UPHY_48M>, <&clkctrl CLK_UPHY_12M>; |
| clock-names = "uphy48m", "uphy12m"; |
| |
| resets = <&rstctrl UHST_RST>, <&rstctrl UDEV_RST>; |
| reset-names = "uhst", "udev"; |
| }; |
| |
| ehci@101c0000 { |
| compatible = "generic-ehci"; |
| reg = <0x101c0000 0x1000>; |
| |
| phys = <&usb_phy>; |
| phy-names = "usb"; |
| }; |
| |
| mmc: mmc@10130000 { |
| compatible = "mediatek,mt7620-mmc"; |
| reg = <0x10130000 0x4000>; |
| builtin-cd = <1>; |
| r_smpl = <1>; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&sd_pins>; |
| |
| clocks = <&clk48m>, <&clkctrl CLK_SDHC>; |
| clock-names = "source", "hclk"; |
| |
| resets = <&rstctrl SDHC_RST>; |
| |
| status = "disabled"; |
| }; |
| }; |