19ea34af7SStefan Roese// SPDX-License-Identifier: GPL-2.0 2232085d1SSergio Paracuellos#include <dt-bindings/clock/mediatek,mtmips-sysc.h> 39ea34af7SStefan Roese 47d4ad2e7SHarvey Hunt/ { 57d4ad2e7SHarvey Hunt #address-cells = <1>; 67d4ad2e7SHarvey Hunt #size-cells = <1>; 77d4ad2e7SHarvey Hunt compatible = "ralink,mt7628a-soc"; 87d4ad2e7SHarvey Hunt 97d4ad2e7SHarvey Hunt cpus { 107d4ad2e7SHarvey Hunt #address-cells = <1>; 117d4ad2e7SHarvey Hunt #size-cells = <0>; 127d4ad2e7SHarvey Hunt 137d4ad2e7SHarvey Hunt cpu@0 { 147d4ad2e7SHarvey Hunt compatible = "mti,mips24KEc"; 157d4ad2e7SHarvey Hunt device_type = "cpu"; 167d4ad2e7SHarvey Hunt reg = <0>; 177d4ad2e7SHarvey Hunt }; 187d4ad2e7SHarvey Hunt }; 197d4ad2e7SHarvey Hunt 207d4ad2e7SHarvey Hunt cpuintc: interrupt-controller { 217d4ad2e7SHarvey Hunt #address-cells = <0>; 227d4ad2e7SHarvey Hunt #interrupt-cells = <1>; 237d4ad2e7SHarvey Hunt interrupt-controller; 247d4ad2e7SHarvey Hunt compatible = "mti,cpu-interrupt-controller"; 257d4ad2e7SHarvey Hunt }; 267d4ad2e7SHarvey Hunt 277d4ad2e7SHarvey Hunt palmbus@10000000 { 287d4ad2e7SHarvey Hunt compatible = "palmbus"; 297d4ad2e7SHarvey Hunt reg = <0x10000000 0x200000>; 307d4ad2e7SHarvey Hunt ranges = <0x0 0x10000000 0x1FFFFF>; 317d4ad2e7SHarvey Hunt 327d4ad2e7SHarvey Hunt #address-cells = <1>; 337d4ad2e7SHarvey Hunt #size-cells = <1>; 347d4ad2e7SHarvey Hunt 35232085d1SSergio Paracuellos sysc: syscon@0 { 360e029c91SEzra Buehler compatible = "ralink,mt7628-sysc", "ralink,mt7688-sysc", "syscon"; 37380f072cSStefan Roese reg = <0x0 0x60>; 38232085d1SSergio Paracuellos #clock-cells = <1>; 39232085d1SSergio Paracuellos #reset-cells = <1>; 40380f072cSStefan Roese }; 41380f072cSStefan Roese 42380f072cSStefan Roese pinmux: pinmux@60 { 43380f072cSStefan Roese compatible = "pinctrl-single"; 44380f072cSStefan Roese reg = <0x60 0x8>; 45380f072cSStefan Roese #address-cells = <1>; 46380f072cSStefan Roese #size-cells = <0>; 47380f072cSStefan Roese #pinctrl-cells = <2>; 48380f072cSStefan Roese pinctrl-single,bit-per-mux; 49380f072cSStefan Roese pinctrl-single,register-width = <32>; 50380f072cSStefan Roese pinctrl-single,function-mask = <0x1>; 51380f072cSStefan Roese 525cad8323STony Lindgren pinmux_gpio_gpio: gpio-gpio-pins { 53380f072cSStefan Roese pinctrl-single,bits = <0x0 0x0 0x3>; 54380f072cSStefan Roese }; 55380f072cSStefan Roese 565cad8323STony Lindgren pinmux_spi_cs1_cs: spi-cs1-cs-pins { 57380f072cSStefan Roese pinctrl-single,bits = <0x0 0x0 0x30>; 58380f072cSStefan Roese }; 59380f072cSStefan Roese 605cad8323STony Lindgren pinmux_i2s_gpio: i2s-gpio-pins { 61380f072cSStefan Roese pinctrl-single,bits = <0x0 0x40 0xc0>; 62380f072cSStefan Roese }; 63380f072cSStefan Roese 645cad8323STony Lindgren pinmux_uart0_uart: uart0-uart0-pins { 65380f072cSStefan Roese pinctrl-single,bits = <0x0 0x0 0x300>; 66380f072cSStefan Roese }; 67380f072cSStefan Roese 685cad8323STony Lindgren pinmux_sdmode_sdxc: sdmode-sdxc-pins { 69380f072cSStefan Roese pinctrl-single,bits = <0x0 0x0 0xc00>; 70380f072cSStefan Roese }; 71380f072cSStefan Roese 725cad8323STony Lindgren pinmux_sdmode_gpio: sdmode-gpio-pins { 73380f072cSStefan Roese pinctrl-single,bits = <0x0 0x400 0xc00>; 74380f072cSStefan Roese }; 75380f072cSStefan Roese 765cad8323STony Lindgren pinmux_spi_spi: spi-spi-pins { 77380f072cSStefan Roese pinctrl-single,bits = <0x0 0x0 0x1000>; 78380f072cSStefan Roese }; 79380f072cSStefan Roese 805cad8323STony Lindgren pinmux_refclk_gpio: refclk-gpio-pins { 81380f072cSStefan Roese pinctrl-single,bits = <0x0 0x40000 0x40000>; 82380f072cSStefan Roese }; 83380f072cSStefan Roese 845cad8323STony Lindgren pinmux_i2c_i2c: i2c-i2c-pins { 85380f072cSStefan Roese pinctrl-single,bits = <0x0 0x0 0x300000>; 86380f072cSStefan Roese }; 87380f072cSStefan Roese 885cad8323STony Lindgren pinmux_uart1_uart: uart1-uart1-pins { 89380f072cSStefan Roese pinctrl-single,bits = <0x0 0x0 0x3000000>; 90380f072cSStefan Roese }; 91380f072cSStefan Roese 925cad8323STony Lindgren pinmux_uart2_uart: uart2-uart-pins { 93380f072cSStefan Roese pinctrl-single,bits = <0x0 0x0 0xc000000>; 94380f072cSStefan Roese }; 95380f072cSStefan Roese 965cad8323STony Lindgren pinmux_pwm0_pwm: pwm0-pwm-pins { 97380f072cSStefan Roese pinctrl-single,bits = <0x0 0x0 0x30000000>; 98380f072cSStefan Roese }; 99380f072cSStefan Roese 1005cad8323STony Lindgren pinmux_pwm0_gpio: pwm0-gpio-pins { 101380f072cSStefan Roese pinctrl-single,bits = <0x0 0x10000000 102380f072cSStefan Roese 0x30000000>; 103380f072cSStefan Roese }; 104380f072cSStefan Roese 1055cad8323STony Lindgren pinmux_pwm1_pwm: pwm1-pwm-pins { 106380f072cSStefan Roese pinctrl-single,bits = <0x0 0x0 0xc0000000>; 107380f072cSStefan Roese }; 108380f072cSStefan Roese 1095cad8323STony Lindgren pinmux_pwm1_gpio: pwm1-gpio-pins { 110380f072cSStefan Roese pinctrl-single,bits = <0x0 0x40000000 111380f072cSStefan Roese 0xc0000000>; 112380f072cSStefan Roese }; 113380f072cSStefan Roese 1145cad8323STony Lindgren pinmux_p0led_an_gpio: p0led-an-gpio-pins { 115380f072cSStefan Roese pinctrl-single,bits = <0x4 0x4 0xc>; 116380f072cSStefan Roese }; 117380f072cSStefan Roese 1185cad8323STony Lindgren pinmux_p1led_an_gpio: p1led-an-gpio-pins { 119380f072cSStefan Roese pinctrl-single,bits = <0x4 0x10 0x30>; 120380f072cSStefan Roese }; 121380f072cSStefan Roese 1225cad8323STony Lindgren pinmux_p2led_an_gpio: p2led-an-gpio-pins { 123380f072cSStefan Roese pinctrl-single,bits = <0x4 0x40 0xc0>; 124380f072cSStefan Roese }; 125380f072cSStefan Roese 1265cad8323STony Lindgren pinmux_p3led_an_gpio: p3led-an-gpio-pins { 127380f072cSStefan Roese pinctrl-single,bits = <0x4 0x100 0x300>; 128380f072cSStefan Roese }; 129380f072cSStefan Roese 1305cad8323STony Lindgren pinmux_p4led_an_gpio: p4led-an-gpio-pins { 131380f072cSStefan Roese pinctrl-single,bits = <0x4 0x400 0xc00>; 132380f072cSStefan Roese }; 1337d4ad2e7SHarvey Hunt }; 1347d4ad2e7SHarvey Hunt 1351bca2eacSStefan Roese watchdog: watchdog@100 { 1361bca2eacSStefan Roese compatible = "mediatek,mt7621-wdt"; 137*87eaf31fSEzra Buehler reg = <0x100 0x100>; 138*87eaf31fSEzra Buehler mediatek,sysctl = <&sysc>; 1391bca2eacSStefan Roese 1401bca2eacSStefan Roese status = "disabled"; 1411bca2eacSStefan Roese }; 1421bca2eacSStefan Roese 1437d4ad2e7SHarvey Hunt intc: interrupt-controller@200 { 1447d4ad2e7SHarvey Hunt compatible = "ralink,rt2880-intc"; 1457d4ad2e7SHarvey Hunt reg = <0x200 0x100>; 1467d4ad2e7SHarvey Hunt 1477d4ad2e7SHarvey Hunt interrupt-controller; 1487d4ad2e7SHarvey Hunt #interrupt-cells = <1>; 1497d4ad2e7SHarvey Hunt 150232085d1SSergio Paracuellos resets = <&sysc 9>; 1517d4ad2e7SHarvey Hunt reset-names = "intc"; 1527d4ad2e7SHarvey Hunt 1537d4ad2e7SHarvey Hunt interrupt-parent = <&cpuintc>; 1547d4ad2e7SHarvey Hunt interrupts = <2>; 1557d4ad2e7SHarvey Hunt 1567d4ad2e7SHarvey Hunt ralink,intc-registers = <0x9c 0xa0 1577d4ad2e7SHarvey Hunt 0x6c 0xa4 1587d4ad2e7SHarvey Hunt 0x80 0x78>; 1597d4ad2e7SHarvey Hunt }; 1607d4ad2e7SHarvey Hunt 1617d4ad2e7SHarvey Hunt memory-controller@300 { 1627d4ad2e7SHarvey Hunt compatible = "ralink,mt7620a-memc"; 1637d4ad2e7SHarvey Hunt reg = <0x300 0x100>; 1647d4ad2e7SHarvey Hunt }; 1657d4ad2e7SHarvey Hunt 166e456a3bdSStefan Roese gpio: gpio@600 { 167e456a3bdSStefan Roese compatible = "mediatek,mt7621-gpio"; 168e456a3bdSStefan Roese reg = <0x600 0x100>; 169e456a3bdSStefan Roese 170e456a3bdSStefan Roese gpio-controller; 171e456a3bdSStefan Roese interrupt-controller; 172e456a3bdSStefan Roese #gpio-cells = <2>; 173e456a3bdSStefan Roese #interrupt-cells = <2>; 174e456a3bdSStefan Roese 175e456a3bdSStefan Roese interrupt-parent = <&intc>; 176e456a3bdSStefan Roese interrupts = <6>; 177e456a3bdSStefan Roese }; 178e456a3bdSStefan Roese 1794e41b745SStefan Roese spi: spi@b00 { 1804e41b745SStefan Roese compatible = "ralink,mt7621-spi"; 1814e41b745SStefan Roese reg = <0xb00 0x100>; 1824e41b745SStefan Roese 1834e41b745SStefan Roese pinctrl-names = "default"; 1844e41b745SStefan Roese pinctrl-0 = <&pinmux_spi_spi>; 1854e41b745SStefan Roese 186232085d1SSergio Paracuellos clocks = <&sysc MT76X8_CLK_SPI1>; 187232085d1SSergio Paracuellos 188232085d1SSergio Paracuellos resets = <&sysc 18>; 1894e41b745SStefan Roese reset-names = "spi"; 1904e41b745SStefan Roese 1914e41b745SStefan Roese #address-cells = <1>; 1924e41b745SStefan Roese #size-cells = <0>; 1934e41b745SStefan Roese 1944e41b745SStefan Roese status = "disabled"; 1954e41b745SStefan Roese }; 1964e41b745SStefan Roese 197cd5f9e4fSStefan Roese i2c: i2c@900 { 198cd5f9e4fSStefan Roese compatible = "mediatek,mt7621-i2c"; 199cd5f9e4fSStefan Roese reg = <0x900 0x100>; 200cd5f9e4fSStefan Roese 201cd5f9e4fSStefan Roese pinctrl-names = "default"; 202cd5f9e4fSStefan Roese pinctrl-0 = <&pinmux_i2c_i2c>; 203cd5f9e4fSStefan Roese 204232085d1SSergio Paracuellos clocks = <&sysc MT76X8_CLK_I2C>; 205232085d1SSergio Paracuellos 206232085d1SSergio Paracuellos resets = <&sysc 16>; 207cd5f9e4fSStefan Roese reset-names = "i2c"; 208cd5f9e4fSStefan Roese 209cd5f9e4fSStefan Roese #address-cells = <1>; 210cd5f9e4fSStefan Roese #size-cells = <0>; 211cd5f9e4fSStefan Roese 212cd5f9e4fSStefan Roese status = "disabled"; 213cd5f9e4fSStefan Roese }; 214cd5f9e4fSStefan Roese 2157d4ad2e7SHarvey Hunt uart0: uartlite@c00 { 2167d4ad2e7SHarvey Hunt compatible = "ns16550a"; 2177d4ad2e7SHarvey Hunt reg = <0xc00 0x100>; 2187d4ad2e7SHarvey Hunt 2196394de39SStefan Roese pinctrl-names = "default"; 2206394de39SStefan Roese pinctrl-0 = <&pinmux_uart0_uart>; 2216394de39SStefan Roese 222232085d1SSergio Paracuellos clocks = <&sysc MT76X8_CLK_UART0>; 223232085d1SSergio Paracuellos 224232085d1SSergio Paracuellos resets = <&sysc 12>; 2257d4ad2e7SHarvey Hunt reset-names = "uart0"; 2267d4ad2e7SHarvey Hunt 2277d4ad2e7SHarvey Hunt interrupt-parent = <&intc>; 2287d4ad2e7SHarvey Hunt interrupts = <20>; 2297d4ad2e7SHarvey Hunt 2307d4ad2e7SHarvey Hunt reg-shift = <2>; 2317d4ad2e7SHarvey Hunt }; 2327d4ad2e7SHarvey Hunt 2337d4ad2e7SHarvey Hunt uart1: uart1@d00 { 2347d4ad2e7SHarvey Hunt compatible = "ns16550a"; 2357d4ad2e7SHarvey Hunt reg = <0xd00 0x100>; 2367d4ad2e7SHarvey Hunt 2376394de39SStefan Roese pinctrl-names = "default"; 2386394de39SStefan Roese pinctrl-0 = <&pinmux_uart1_uart>; 2396394de39SStefan Roese 240232085d1SSergio Paracuellos clocks = <&sysc MT76X8_CLK_UART1>; 241232085d1SSergio Paracuellos 242232085d1SSergio Paracuellos resets = <&sysc 19>; 2437d4ad2e7SHarvey Hunt reset-names = "uart1"; 2447d4ad2e7SHarvey Hunt 2457d4ad2e7SHarvey Hunt interrupt-parent = <&intc>; 2467d4ad2e7SHarvey Hunt interrupts = <21>; 2477d4ad2e7SHarvey Hunt 2487d4ad2e7SHarvey Hunt reg-shift = <2>; 2497d4ad2e7SHarvey Hunt }; 2507d4ad2e7SHarvey Hunt 2517d4ad2e7SHarvey Hunt uart2: uart2@e00 { 2527d4ad2e7SHarvey Hunt compatible = "ns16550a"; 2537d4ad2e7SHarvey Hunt reg = <0xe00 0x100>; 2547d4ad2e7SHarvey Hunt 2556394de39SStefan Roese pinctrl-names = "default"; 2566394de39SStefan Roese pinctrl-0 = <&pinmux_uart2_uart>; 2576394de39SStefan Roese 258232085d1SSergio Paracuellos clocks = <&sysc MT76X8_CLK_UART2>; 259232085d1SSergio Paracuellos 260232085d1SSergio Paracuellos resets = <&sysc 20>; 2617d4ad2e7SHarvey Hunt reset-names = "uart2"; 2627d4ad2e7SHarvey Hunt 2637d4ad2e7SHarvey Hunt interrupt-parent = <&intc>; 2647d4ad2e7SHarvey Hunt interrupts = <22>; 2657d4ad2e7SHarvey Hunt 2667d4ad2e7SHarvey Hunt reg-shift = <2>; 2677d4ad2e7SHarvey Hunt }; 2687d4ad2e7SHarvey Hunt }; 2697d4ad2e7SHarvey Hunt 2707d4ad2e7SHarvey Hunt usb_phy: usb-phy@10120000 { 2717d4ad2e7SHarvey Hunt compatible = "mediatek,mt7628-usbphy"; 2727d4ad2e7SHarvey Hunt reg = <0x10120000 0x1000>; 2737d4ad2e7SHarvey Hunt 2747d4ad2e7SHarvey Hunt #phy-cells = <0>; 2757d4ad2e7SHarvey Hunt 2767d4ad2e7SHarvey Hunt ralink,sysctl = <&sysc>; 277232085d1SSergio Paracuellos resets = <&sysc 22 &sysc 25>; 2787d4ad2e7SHarvey Hunt reset-names = "host", "device"; 2797d4ad2e7SHarvey Hunt }; 2807d4ad2e7SHarvey Hunt 2813180b64aSSerge Semin usb@101c0000 { 2827d4ad2e7SHarvey Hunt compatible = "generic-ehci"; 2837d4ad2e7SHarvey Hunt reg = <0x101c0000 0x1000>; 2847d4ad2e7SHarvey Hunt 2857d4ad2e7SHarvey Hunt phys = <&usb_phy>; 2867d4ad2e7SHarvey Hunt phy-names = "usb"; 2877d4ad2e7SHarvey Hunt 2887d4ad2e7SHarvey Hunt interrupt-parent = <&intc>; 2897d4ad2e7SHarvey Hunt interrupts = <18>; 2907d4ad2e7SHarvey Hunt }; 291ff68d0daSReto Schneider 292ff68d0daSReto Schneider wmac: wmac@10300000 { 293ff68d0daSReto Schneider compatible = "mediatek,mt7628-wmac"; 294ff68d0daSReto Schneider reg = <0x10300000 0x100000>; 295ff68d0daSReto Schneider 296232085d1SSergio Paracuellos clocks = <&sysc MT76X8_CLK_WMAC>; 297232085d1SSergio Paracuellos 298ff68d0daSReto Schneider interrupt-parent = <&cpuintc>; 299ff68d0daSReto Schneider interrupts = <6>; 300ff68d0daSReto Schneider 301ff68d0daSReto Schneider status = "disabled"; 302ff68d0daSReto Schneider }; 3037d4ad2e7SHarvey Hunt}; 304