1c9ccf3a3SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2c9ccf3a3SEmmanuel Vadot#include <dt-bindings/interrupt-controller/mips-gic.h> 3c9ccf3a3SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 4c9ccf3a3SEmmanuel Vadot#include <dt-bindings/clock/mt7621-clk.h> 5c9ccf3a3SEmmanuel Vadot#include <dt-bindings/reset/mt7621-reset.h> 6c9ccf3a3SEmmanuel Vadot 7c9ccf3a3SEmmanuel Vadot/ { 8c9ccf3a3SEmmanuel Vadot #address-cells = <1>; 9c9ccf3a3SEmmanuel Vadot #size-cells = <1>; 10c9ccf3a3SEmmanuel Vadot compatible = "mediatek,mt7621-soc"; 11c9ccf3a3SEmmanuel Vadot 12c9ccf3a3SEmmanuel Vadot cpus { 13c9ccf3a3SEmmanuel Vadot #address-cells = <1>; 14c9ccf3a3SEmmanuel Vadot #size-cells = <0>; 15c9ccf3a3SEmmanuel Vadot 16c9ccf3a3SEmmanuel Vadot cpu@0 { 17c9ccf3a3SEmmanuel Vadot device_type = "cpu"; 18c9ccf3a3SEmmanuel Vadot compatible = "mips,mips1004Kc"; 19c9ccf3a3SEmmanuel Vadot reg = <0>; 20c9ccf3a3SEmmanuel Vadot }; 21c9ccf3a3SEmmanuel Vadot 22c9ccf3a3SEmmanuel Vadot cpu@1 { 23c9ccf3a3SEmmanuel Vadot device_type = "cpu"; 24c9ccf3a3SEmmanuel Vadot compatible = "mips,mips1004Kc"; 25c9ccf3a3SEmmanuel Vadot reg = <1>; 26c9ccf3a3SEmmanuel Vadot }; 27c9ccf3a3SEmmanuel Vadot }; 28c9ccf3a3SEmmanuel Vadot 29c9ccf3a3SEmmanuel Vadot cpuintc: cpuintc { 30c9ccf3a3SEmmanuel Vadot #address-cells = <0>; 31c9ccf3a3SEmmanuel Vadot #interrupt-cells = <1>; 32c9ccf3a3SEmmanuel Vadot interrupt-controller; 33c9ccf3a3SEmmanuel Vadot compatible = "mti,cpu-interrupt-controller"; 34c9ccf3a3SEmmanuel Vadot }; 35c9ccf3a3SEmmanuel Vadot 36c9ccf3a3SEmmanuel Vadot mmc_fixed_3v3: regulator-3v3 { 37c9ccf3a3SEmmanuel Vadot compatible = "regulator-fixed"; 38c9ccf3a3SEmmanuel Vadot regulator-name = "mmc_power"; 39c9ccf3a3SEmmanuel Vadot regulator-min-microvolt = <3300000>; 40c9ccf3a3SEmmanuel Vadot regulator-max-microvolt = <3300000>; 41c9ccf3a3SEmmanuel Vadot enable-active-high; 42c9ccf3a3SEmmanuel Vadot regulator-always-on; 43c9ccf3a3SEmmanuel Vadot }; 44c9ccf3a3SEmmanuel Vadot 45c9ccf3a3SEmmanuel Vadot mmc_fixed_1v8_io: regulator-1v8 { 46c9ccf3a3SEmmanuel Vadot compatible = "regulator-fixed"; 47c9ccf3a3SEmmanuel Vadot regulator-name = "mmc_io"; 48c9ccf3a3SEmmanuel Vadot regulator-min-microvolt = <1800000>; 49c9ccf3a3SEmmanuel Vadot regulator-max-microvolt = <1800000>; 50c9ccf3a3SEmmanuel Vadot enable-active-high; 51c9ccf3a3SEmmanuel Vadot regulator-always-on; 52c9ccf3a3SEmmanuel Vadot }; 53c9ccf3a3SEmmanuel Vadot 54c9ccf3a3SEmmanuel Vadot palmbus: palmbus@1e000000 { 55c9ccf3a3SEmmanuel Vadot compatible = "palmbus"; 56c9ccf3a3SEmmanuel Vadot reg = <0x1e000000 0x100000>; 57c9ccf3a3SEmmanuel Vadot ranges = <0x0 0x1e000000 0x0fffff>; 58c9ccf3a3SEmmanuel Vadot 59c9ccf3a3SEmmanuel Vadot #address-cells = <1>; 60c9ccf3a3SEmmanuel Vadot #size-cells = <1>; 61c9ccf3a3SEmmanuel Vadot 62c9ccf3a3SEmmanuel Vadot sysc: syscon@0 { 63c9ccf3a3SEmmanuel Vadot compatible = "mediatek,mt7621-sysc", "syscon"; 64c9ccf3a3SEmmanuel Vadot reg = <0x0 0x100>; 65c9ccf3a3SEmmanuel Vadot #clock-cells = <1>; 66c9ccf3a3SEmmanuel Vadot #reset-cells = <1>; 67c9ccf3a3SEmmanuel Vadot ralink,memctl = <&memc>; 68c9ccf3a3SEmmanuel Vadot clock-output-names = "xtal", "cpu", "bus", 69c9ccf3a3SEmmanuel Vadot "50m", "125m", "150m", 70c9ccf3a3SEmmanuel Vadot "250m", "270m"; 71c9ccf3a3SEmmanuel Vadot }; 72c9ccf3a3SEmmanuel Vadot 73cb7aa33aSEmmanuel Vadot wdt: watchdog@100 { 74c9ccf3a3SEmmanuel Vadot compatible = "mediatek,mt7621-wdt"; 75c9ccf3a3SEmmanuel Vadot reg = <0x100 0x100>; 76cb7aa33aSEmmanuel Vadot mediatek,sysctl = <&sysc>; 77c9ccf3a3SEmmanuel Vadot }; 78c9ccf3a3SEmmanuel Vadot 79c9ccf3a3SEmmanuel Vadot gpio: gpio@600 { 80c9ccf3a3SEmmanuel Vadot #gpio-cells = <2>; 81c9ccf3a3SEmmanuel Vadot #interrupt-cells = <2>; 82c9ccf3a3SEmmanuel Vadot compatible = "mediatek,mt7621-gpio"; 83c9ccf3a3SEmmanuel Vadot gpio-controller; 84c9ccf3a3SEmmanuel Vadot gpio-ranges = <&pinctrl 0 0 95>; 85c9ccf3a3SEmmanuel Vadot interrupt-controller; 86c9ccf3a3SEmmanuel Vadot reg = <0x600 0x100>; 87c9ccf3a3SEmmanuel Vadot interrupt-parent = <&gic>; 88c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SHARED 12 IRQ_TYPE_LEVEL_HIGH>; 89c9ccf3a3SEmmanuel Vadot }; 90c9ccf3a3SEmmanuel Vadot 91c9ccf3a3SEmmanuel Vadot i2c: i2c@900 { 92c9ccf3a3SEmmanuel Vadot compatible = "mediatek,mt7621-i2c"; 93c9ccf3a3SEmmanuel Vadot reg = <0x900 0x100>; 94c9ccf3a3SEmmanuel Vadot 95c9ccf3a3SEmmanuel Vadot clocks = <&sysc MT7621_CLK_I2C>; 96c9ccf3a3SEmmanuel Vadot clock-names = "i2c"; 97c9ccf3a3SEmmanuel Vadot resets = <&sysc MT7621_RST_I2C>; 98c9ccf3a3SEmmanuel Vadot reset-names = "i2c"; 99c9ccf3a3SEmmanuel Vadot 100c9ccf3a3SEmmanuel Vadot #address-cells = <1>; 101c9ccf3a3SEmmanuel Vadot #size-cells = <0>; 102c9ccf3a3SEmmanuel Vadot 103c9ccf3a3SEmmanuel Vadot status = "disabled"; 104c9ccf3a3SEmmanuel Vadot 105c9ccf3a3SEmmanuel Vadot pinctrl-names = "default"; 106c9ccf3a3SEmmanuel Vadot pinctrl-0 = <&i2c_pins>; 107c9ccf3a3SEmmanuel Vadot }; 108c9ccf3a3SEmmanuel Vadot 1097ef62cebSEmmanuel Vadot memc: memory-controller@5000 { 110c9ccf3a3SEmmanuel Vadot compatible = "mediatek,mt7621-memc", "syscon"; 111c9ccf3a3SEmmanuel Vadot reg = <0x5000 0x1000>; 112c9ccf3a3SEmmanuel Vadot }; 113c9ccf3a3SEmmanuel Vadot 1147ef62cebSEmmanuel Vadot serial0: serial@c00 { 115c9ccf3a3SEmmanuel Vadot compatible = "ns16550a"; 116c9ccf3a3SEmmanuel Vadot reg = <0xc00 0x100>; 117c9ccf3a3SEmmanuel Vadot 118c9ccf3a3SEmmanuel Vadot clocks = <&sysc MT7621_CLK_UART1>; 119c9ccf3a3SEmmanuel Vadot 120c9ccf3a3SEmmanuel Vadot interrupt-parent = <&gic>; 121c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SHARED 26 IRQ_TYPE_LEVEL_HIGH>; 122c9ccf3a3SEmmanuel Vadot 123c9ccf3a3SEmmanuel Vadot reg-shift = <2>; 124c9ccf3a3SEmmanuel Vadot reg-io-width = <4>; 125c9ccf3a3SEmmanuel Vadot no-loopback-test; 126c9ccf3a3SEmmanuel Vadot }; 127c9ccf3a3SEmmanuel Vadot 128c9ccf3a3SEmmanuel Vadot spi0: spi@b00 { 129c9ccf3a3SEmmanuel Vadot status = "disabled"; 130c9ccf3a3SEmmanuel Vadot 131c9ccf3a3SEmmanuel Vadot compatible = "ralink,mt7621-spi"; 132c9ccf3a3SEmmanuel Vadot reg = <0xb00 0x100>; 133c9ccf3a3SEmmanuel Vadot 134c9ccf3a3SEmmanuel Vadot clocks = <&sysc MT7621_CLK_SPI>; 135c9ccf3a3SEmmanuel Vadot clock-names = "spi"; 136c9ccf3a3SEmmanuel Vadot 137c9ccf3a3SEmmanuel Vadot resets = <&sysc MT7621_RST_SPI>; 138c9ccf3a3SEmmanuel Vadot reset-names = "spi"; 139c9ccf3a3SEmmanuel Vadot 140c9ccf3a3SEmmanuel Vadot #address-cells = <1>; 141c9ccf3a3SEmmanuel Vadot #size-cells = <0>; 142c9ccf3a3SEmmanuel Vadot 143c9ccf3a3SEmmanuel Vadot pinctrl-names = "default"; 144c9ccf3a3SEmmanuel Vadot pinctrl-0 = <&spi_pins>; 145c9ccf3a3SEmmanuel Vadot }; 146c9ccf3a3SEmmanuel Vadot }; 147c9ccf3a3SEmmanuel Vadot 148c9ccf3a3SEmmanuel Vadot pinctrl: pinctrl { 149d5b0e70fSEmmanuel Vadot compatible = "ralink,mt7621-pinctrl"; 150c9ccf3a3SEmmanuel Vadot 151c9ccf3a3SEmmanuel Vadot i2c_pins: i2c0-pins { 152c9ccf3a3SEmmanuel Vadot pinmux { 153c9ccf3a3SEmmanuel Vadot groups = "i2c"; 154c9ccf3a3SEmmanuel Vadot function = "i2c"; 155c9ccf3a3SEmmanuel Vadot }; 156c9ccf3a3SEmmanuel Vadot }; 157c9ccf3a3SEmmanuel Vadot 158c9ccf3a3SEmmanuel Vadot spi_pins: spi0-pins { 159c9ccf3a3SEmmanuel Vadot pinmux { 160c9ccf3a3SEmmanuel Vadot groups = "spi"; 161c9ccf3a3SEmmanuel Vadot function = "spi"; 162c9ccf3a3SEmmanuel Vadot }; 163c9ccf3a3SEmmanuel Vadot }; 164c9ccf3a3SEmmanuel Vadot 165c9ccf3a3SEmmanuel Vadot uart1_pins: uart1-pins { 166c9ccf3a3SEmmanuel Vadot pinmux { 167c9ccf3a3SEmmanuel Vadot groups = "uart1"; 168c9ccf3a3SEmmanuel Vadot function = "uart1"; 169c9ccf3a3SEmmanuel Vadot }; 170c9ccf3a3SEmmanuel Vadot }; 171c9ccf3a3SEmmanuel Vadot 172c9ccf3a3SEmmanuel Vadot uart2_pins: uart2-pins { 173c9ccf3a3SEmmanuel Vadot pinmux { 174c9ccf3a3SEmmanuel Vadot groups = "uart2"; 175c9ccf3a3SEmmanuel Vadot function = "uart2"; 176c9ccf3a3SEmmanuel Vadot }; 177c9ccf3a3SEmmanuel Vadot }; 178c9ccf3a3SEmmanuel Vadot 179c9ccf3a3SEmmanuel Vadot uart3_pins: uart3-pins { 180c9ccf3a3SEmmanuel Vadot pinmux { 181c9ccf3a3SEmmanuel Vadot groups = "uart3"; 182c9ccf3a3SEmmanuel Vadot function = "uart3"; 183c9ccf3a3SEmmanuel Vadot }; 184c9ccf3a3SEmmanuel Vadot }; 185c9ccf3a3SEmmanuel Vadot 186c9ccf3a3SEmmanuel Vadot rgmii1_pins: rgmii1-pins { 187c9ccf3a3SEmmanuel Vadot pinmux { 188c9ccf3a3SEmmanuel Vadot groups = "rgmii1"; 189c9ccf3a3SEmmanuel Vadot function = "rgmii1"; 190c9ccf3a3SEmmanuel Vadot }; 191c9ccf3a3SEmmanuel Vadot }; 192c9ccf3a3SEmmanuel Vadot 193c9ccf3a3SEmmanuel Vadot rgmii2_pins: rgmii2-pins { 194c9ccf3a3SEmmanuel Vadot pinmux { 195c9ccf3a3SEmmanuel Vadot groups = "rgmii2"; 196c9ccf3a3SEmmanuel Vadot function = "rgmii2"; 197c9ccf3a3SEmmanuel Vadot }; 198c9ccf3a3SEmmanuel Vadot }; 199c9ccf3a3SEmmanuel Vadot 200c9ccf3a3SEmmanuel Vadot mdio_pins: mdio0-pins { 201c9ccf3a3SEmmanuel Vadot pinmux { 202c9ccf3a3SEmmanuel Vadot groups = "mdio"; 203c9ccf3a3SEmmanuel Vadot function = "mdio"; 204c9ccf3a3SEmmanuel Vadot }; 205c9ccf3a3SEmmanuel Vadot }; 206c9ccf3a3SEmmanuel Vadot 207c9ccf3a3SEmmanuel Vadot pcie_pins: pcie0-pins { 208c9ccf3a3SEmmanuel Vadot pinmux { 209c9ccf3a3SEmmanuel Vadot groups = "pcie"; 210c9ccf3a3SEmmanuel Vadot function = "gpio"; 211c9ccf3a3SEmmanuel Vadot }; 212c9ccf3a3SEmmanuel Vadot }; 213c9ccf3a3SEmmanuel Vadot 214c9ccf3a3SEmmanuel Vadot nand_pins: nand0-pins { 215c9ccf3a3SEmmanuel Vadot spi-pinmux { 216c9ccf3a3SEmmanuel Vadot groups = "spi"; 217c9ccf3a3SEmmanuel Vadot function = "nand1"; 218c9ccf3a3SEmmanuel Vadot }; 219c9ccf3a3SEmmanuel Vadot 220c9ccf3a3SEmmanuel Vadot sdhci-pinmux { 221c9ccf3a3SEmmanuel Vadot groups = "sdhci"; 222c9ccf3a3SEmmanuel Vadot function = "nand2"; 223c9ccf3a3SEmmanuel Vadot }; 224c9ccf3a3SEmmanuel Vadot }; 225c9ccf3a3SEmmanuel Vadot 226c9ccf3a3SEmmanuel Vadot sdhci_pins: sdhci0-pins { 227c9ccf3a3SEmmanuel Vadot pinmux { 228c9ccf3a3SEmmanuel Vadot groups = "sdhci"; 229c9ccf3a3SEmmanuel Vadot function = "sdhci"; 230c9ccf3a3SEmmanuel Vadot }; 231c9ccf3a3SEmmanuel Vadot }; 232c9ccf3a3SEmmanuel Vadot }; 233c9ccf3a3SEmmanuel Vadot 2347ef62cebSEmmanuel Vadot mmc: mmc@1e130000 { 235c9ccf3a3SEmmanuel Vadot status = "disabled"; 236c9ccf3a3SEmmanuel Vadot 237c9ccf3a3SEmmanuel Vadot compatible = "mediatek,mt7620-mmc"; 238c9ccf3a3SEmmanuel Vadot reg = <0x1e130000 0x4000>; 239c9ccf3a3SEmmanuel Vadot 240c9ccf3a3SEmmanuel Vadot bus-width = <4>; 241c9ccf3a3SEmmanuel Vadot max-frequency = <48000000>; 242c9ccf3a3SEmmanuel Vadot cap-sd-highspeed; 243c9ccf3a3SEmmanuel Vadot cap-mmc-highspeed; 244c9ccf3a3SEmmanuel Vadot vmmc-supply = <&mmc_fixed_3v3>; 245c9ccf3a3SEmmanuel Vadot vqmmc-supply = <&mmc_fixed_1v8_io>; 246c9ccf3a3SEmmanuel Vadot disable-wp; 247c9ccf3a3SEmmanuel Vadot 248c9ccf3a3SEmmanuel Vadot pinctrl-names = "default", "state_uhs"; 249c9ccf3a3SEmmanuel Vadot pinctrl-0 = <&sdhci_pins>; 250c9ccf3a3SEmmanuel Vadot pinctrl-1 = <&sdhci_pins>; 251c9ccf3a3SEmmanuel Vadot 252c9ccf3a3SEmmanuel Vadot clocks = <&sysc MT7621_CLK_SHXC>, 253c9ccf3a3SEmmanuel Vadot <&sysc MT7621_CLK_50M>; 254c9ccf3a3SEmmanuel Vadot clock-names = "source", "hclk"; 255c9ccf3a3SEmmanuel Vadot 256c9ccf3a3SEmmanuel Vadot interrupt-parent = <&gic>; 257c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SHARED 20 IRQ_TYPE_LEVEL_HIGH>; 258c9ccf3a3SEmmanuel Vadot }; 259c9ccf3a3SEmmanuel Vadot 2607ef62cebSEmmanuel Vadot usb: usb@1e1c0000 { 2617ef62cebSEmmanuel Vadot compatible = "mediatek,mt8173-xhci", "mediatek,mtk-xhci"; 262c9ccf3a3SEmmanuel Vadot reg = <0x1e1c0000 0x1000 263c9ccf3a3SEmmanuel Vadot 0x1e1d0700 0x0100>; 264c9ccf3a3SEmmanuel Vadot reg-names = "mac", "ippc"; 265c9ccf3a3SEmmanuel Vadot 266c9ccf3a3SEmmanuel Vadot clocks = <&sysc MT7621_CLK_XTAL>; 267c9ccf3a3SEmmanuel Vadot clock-names = "sys_ck"; 268c9ccf3a3SEmmanuel Vadot 269c9ccf3a3SEmmanuel Vadot interrupt-parent = <&gic>; 270c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SHARED 22 IRQ_TYPE_LEVEL_HIGH>; 271c9ccf3a3SEmmanuel Vadot }; 272c9ccf3a3SEmmanuel Vadot 273c9ccf3a3SEmmanuel Vadot gic: interrupt-controller@1fbc0000 { 274c9ccf3a3SEmmanuel Vadot compatible = "mti,gic"; 275c9ccf3a3SEmmanuel Vadot reg = <0x1fbc0000 0x2000>; 276c9ccf3a3SEmmanuel Vadot 277c9ccf3a3SEmmanuel Vadot interrupt-controller; 278c9ccf3a3SEmmanuel Vadot #interrupt-cells = <3>; 279c9ccf3a3SEmmanuel Vadot 280c9ccf3a3SEmmanuel Vadot mti,reserved-cpu-vectors = <7>; 281c9ccf3a3SEmmanuel Vadot 282c9ccf3a3SEmmanuel Vadot timer { 283c9ccf3a3SEmmanuel Vadot compatible = "mti,gic-timer"; 284c9ccf3a3SEmmanuel Vadot interrupts = <GIC_LOCAL 1 IRQ_TYPE_NONE>; 285c9ccf3a3SEmmanuel Vadot clocks = <&sysc MT7621_CLK_CPU>; 286c9ccf3a3SEmmanuel Vadot }; 287c9ccf3a3SEmmanuel Vadot }; 288c9ccf3a3SEmmanuel Vadot 289c9ccf3a3SEmmanuel Vadot cpc: cpc@1fbf0000 { 290c9ccf3a3SEmmanuel Vadot compatible = "mti,mips-cpc"; 291c9ccf3a3SEmmanuel Vadot reg = <0x1fbf0000 0x8000>; 292c9ccf3a3SEmmanuel Vadot }; 293c9ccf3a3SEmmanuel Vadot 294c9ccf3a3SEmmanuel Vadot cdmm: cdmm@1fbf8000 { 295c9ccf3a3SEmmanuel Vadot compatible = "mti,mips-cdmm"; 296c9ccf3a3SEmmanuel Vadot reg = <0x1fbf8000 0x8000>; 297c9ccf3a3SEmmanuel Vadot }; 298c9ccf3a3SEmmanuel Vadot 299c9ccf3a3SEmmanuel Vadot ethernet: ethernet@1e100000 { 300c9ccf3a3SEmmanuel Vadot compatible = "mediatek,mt7621-eth"; 301c9ccf3a3SEmmanuel Vadot reg = <0x1e100000 0x10000>; 302c9ccf3a3SEmmanuel Vadot 303*84943d6fSEmmanuel Vadot clocks = <&sysc MT7621_CLK_FE>, <&sysc MT7621_CLK_ETH>; 304c9ccf3a3SEmmanuel Vadot clock-names = "fe", "ethif"; 305c9ccf3a3SEmmanuel Vadot 306c9ccf3a3SEmmanuel Vadot #address-cells = <1>; 307c9ccf3a3SEmmanuel Vadot #size-cells = <0>; 308c9ccf3a3SEmmanuel Vadot 309*84943d6fSEmmanuel Vadot resets = <&sysc MT7621_RST_FE>, <&sysc MT7621_RST_ETH>; 310c9ccf3a3SEmmanuel Vadot reset-names = "fe", "eth"; 311c9ccf3a3SEmmanuel Vadot 312c9ccf3a3SEmmanuel Vadot interrupt-parent = <&gic>; 313c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SHARED 3 IRQ_TYPE_LEVEL_HIGH>; 314c9ccf3a3SEmmanuel Vadot 315c9ccf3a3SEmmanuel Vadot mediatek,ethsys = <&sysc>; 316c9ccf3a3SEmmanuel Vadot 317c9ccf3a3SEmmanuel Vadot pinctrl-names = "default"; 318c9ccf3a3SEmmanuel Vadot pinctrl-0 = <&mdio_pins>, <&rgmii1_pins>, <&rgmii2_pins>; 319c9ccf3a3SEmmanuel Vadot 320c9ccf3a3SEmmanuel Vadot gmac0: mac@0 { 321c9ccf3a3SEmmanuel Vadot compatible = "mediatek,eth-mac"; 322c9ccf3a3SEmmanuel Vadot reg = <0>; 323c9ccf3a3SEmmanuel Vadot phy-mode = "trgmii"; 324c9ccf3a3SEmmanuel Vadot 325c9ccf3a3SEmmanuel Vadot fixed-link { 326c9ccf3a3SEmmanuel Vadot speed = <1000>; 327c9ccf3a3SEmmanuel Vadot full-duplex; 328c9ccf3a3SEmmanuel Vadot pause; 329c9ccf3a3SEmmanuel Vadot }; 330c9ccf3a3SEmmanuel Vadot }; 331c9ccf3a3SEmmanuel Vadot 332c9ccf3a3SEmmanuel Vadot gmac1: mac@1 { 333c9ccf3a3SEmmanuel Vadot compatible = "mediatek,eth-mac"; 334c9ccf3a3SEmmanuel Vadot reg = <1>; 3357ef62cebSEmmanuel Vadot phy-mode = "rgmii"; 336cb7aa33aSEmmanuel Vadot 337cb7aa33aSEmmanuel Vadot fixed-link { 338cb7aa33aSEmmanuel Vadot speed = <1000>; 339cb7aa33aSEmmanuel Vadot full-duplex; 340cb7aa33aSEmmanuel Vadot pause; 341cb7aa33aSEmmanuel Vadot }; 342c9ccf3a3SEmmanuel Vadot }; 343c9ccf3a3SEmmanuel Vadot 344d5b0e70fSEmmanuel Vadot mdio: mdio-bus { 345c9ccf3a3SEmmanuel Vadot #address-cells = <1>; 346c9ccf3a3SEmmanuel Vadot #size-cells = <0>; 347c9ccf3a3SEmmanuel Vadot 3487ef62cebSEmmanuel Vadot switch0: switch@1f { 349c9ccf3a3SEmmanuel Vadot compatible = "mediatek,mt7621"; 3507ef62cebSEmmanuel Vadot reg = <0x1f>; 351c9ccf3a3SEmmanuel Vadot mediatek,mcm; 352c9ccf3a3SEmmanuel Vadot resets = <&sysc MT7621_RST_MCM>; 353c9ccf3a3SEmmanuel Vadot reset-names = "mcm"; 354c9ccf3a3SEmmanuel Vadot interrupt-controller; 355c9ccf3a3SEmmanuel Vadot #interrupt-cells = <1>; 356c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SHARED 23 IRQ_TYPE_LEVEL_HIGH>; 357c9ccf3a3SEmmanuel Vadot 358c9ccf3a3SEmmanuel Vadot ports { 359c9ccf3a3SEmmanuel Vadot #address-cells = <1>; 360c9ccf3a3SEmmanuel Vadot #size-cells = <0>; 361c9ccf3a3SEmmanuel Vadot 362c9ccf3a3SEmmanuel Vadot port@0 { 3637ef62cebSEmmanuel Vadot status = "disabled"; 364c9ccf3a3SEmmanuel Vadot reg = <0>; 3658bab661aSEmmanuel Vadot label = "swp0"; 366c9ccf3a3SEmmanuel Vadot }; 367c9ccf3a3SEmmanuel Vadot 368c9ccf3a3SEmmanuel Vadot port@1 { 3697ef62cebSEmmanuel Vadot status = "disabled"; 370c9ccf3a3SEmmanuel Vadot reg = <1>; 3718bab661aSEmmanuel Vadot label = "swp1"; 372c9ccf3a3SEmmanuel Vadot }; 373c9ccf3a3SEmmanuel Vadot 374c9ccf3a3SEmmanuel Vadot port@2 { 3757ef62cebSEmmanuel Vadot status = "disabled"; 376c9ccf3a3SEmmanuel Vadot reg = <2>; 3778bab661aSEmmanuel Vadot label = "swp2"; 378c9ccf3a3SEmmanuel Vadot }; 379c9ccf3a3SEmmanuel Vadot 380c9ccf3a3SEmmanuel Vadot port@3 { 3817ef62cebSEmmanuel Vadot status = "disabled"; 382c9ccf3a3SEmmanuel Vadot reg = <3>; 3838bab661aSEmmanuel Vadot label = "swp3"; 384c9ccf3a3SEmmanuel Vadot }; 385c9ccf3a3SEmmanuel Vadot 386c9ccf3a3SEmmanuel Vadot port@4 { 3877ef62cebSEmmanuel Vadot status = "disabled"; 388c9ccf3a3SEmmanuel Vadot reg = <4>; 3898bab661aSEmmanuel Vadot label = "swp4"; 390c9ccf3a3SEmmanuel Vadot }; 391c9ccf3a3SEmmanuel Vadot 392cb7aa33aSEmmanuel Vadot port@5 { 393cb7aa33aSEmmanuel Vadot reg = <5>; 394cb7aa33aSEmmanuel Vadot ethernet = <&gmac1>; 395cb7aa33aSEmmanuel Vadot phy-mode = "rgmii"; 396cb7aa33aSEmmanuel Vadot 397cb7aa33aSEmmanuel Vadot fixed-link { 398cb7aa33aSEmmanuel Vadot speed = <1000>; 399cb7aa33aSEmmanuel Vadot full-duplex; 400cb7aa33aSEmmanuel Vadot pause; 401cb7aa33aSEmmanuel Vadot }; 402cb7aa33aSEmmanuel Vadot }; 403cb7aa33aSEmmanuel Vadot 404c9ccf3a3SEmmanuel Vadot port@6 { 405c9ccf3a3SEmmanuel Vadot reg = <6>; 406c9ccf3a3SEmmanuel Vadot ethernet = <&gmac0>; 407c9ccf3a3SEmmanuel Vadot phy-mode = "trgmii"; 408c9ccf3a3SEmmanuel Vadot 409c9ccf3a3SEmmanuel Vadot fixed-link { 410c9ccf3a3SEmmanuel Vadot speed = <1000>; 411c9ccf3a3SEmmanuel Vadot full-duplex; 412c9ccf3a3SEmmanuel Vadot pause; 413c9ccf3a3SEmmanuel Vadot }; 414c9ccf3a3SEmmanuel Vadot }; 415c9ccf3a3SEmmanuel Vadot }; 416c9ccf3a3SEmmanuel Vadot }; 417c9ccf3a3SEmmanuel Vadot }; 418c9ccf3a3SEmmanuel Vadot }; 419c9ccf3a3SEmmanuel Vadot 420c9ccf3a3SEmmanuel Vadot pcie: pcie@1e140000 { 421c9ccf3a3SEmmanuel Vadot compatible = "mediatek,mt7621-pci"; 422c9ccf3a3SEmmanuel Vadot reg = <0x1e140000 0x100>, /* host-pci bridge registers */ 423c9ccf3a3SEmmanuel Vadot <0x1e142000 0x100>, /* pcie port 0 RC control registers */ 424c9ccf3a3SEmmanuel Vadot <0x1e143000 0x100>, /* pcie port 1 RC control registers */ 425c9ccf3a3SEmmanuel Vadot <0x1e144000 0x100>; /* pcie port 2 RC control registers */ 426c9ccf3a3SEmmanuel Vadot #address-cells = <3>; 427c9ccf3a3SEmmanuel Vadot #size-cells = <2>; 428c9ccf3a3SEmmanuel Vadot 429c9ccf3a3SEmmanuel Vadot pinctrl-names = "default"; 430c9ccf3a3SEmmanuel Vadot pinctrl-0 = <&pcie_pins>; 431c9ccf3a3SEmmanuel Vadot 432c9ccf3a3SEmmanuel Vadot device_type = "pci"; 433c9ccf3a3SEmmanuel Vadot 434c9ccf3a3SEmmanuel Vadot ranges = <0x02000000 0 0x60000000 0x60000000 0 0x10000000>, /* pci memory */ 435c9ccf3a3SEmmanuel Vadot <0x01000000 0 0x00000000 0x1e160000 0 0x00010000>; /* io space */ 436c9ccf3a3SEmmanuel Vadot 437c9ccf3a3SEmmanuel Vadot #interrupt-cells = <1>; 438c9ccf3a3SEmmanuel Vadot interrupt-map-mask = <0xF800 0 0 0>; 439c9ccf3a3SEmmanuel Vadot interrupt-map = <0x0000 0 0 0 &gic GIC_SHARED 4 IRQ_TYPE_LEVEL_HIGH>, 440c9ccf3a3SEmmanuel Vadot <0x0800 0 0 0 &gic GIC_SHARED 24 IRQ_TYPE_LEVEL_HIGH>, 441c9ccf3a3SEmmanuel Vadot <0x1000 0 0 0 &gic GIC_SHARED 25 IRQ_TYPE_LEVEL_HIGH>; 442c9ccf3a3SEmmanuel Vadot 443c9ccf3a3SEmmanuel Vadot status = "disabled"; 444c9ccf3a3SEmmanuel Vadot 445c9ccf3a3SEmmanuel Vadot reset-gpios = <&gpio 19 GPIO_ACTIVE_LOW>; 446c9ccf3a3SEmmanuel Vadot 447c9ccf3a3SEmmanuel Vadot pcie@0,0 { 448c9ccf3a3SEmmanuel Vadot reg = <0x0000 0 0 0 0>; 449c9ccf3a3SEmmanuel Vadot #address-cells = <3>; 450c9ccf3a3SEmmanuel Vadot #size-cells = <2>; 451c9ccf3a3SEmmanuel Vadot device_type = "pci"; 452c9ccf3a3SEmmanuel Vadot #interrupt-cells = <1>; 453c9ccf3a3SEmmanuel Vadot interrupt-map-mask = <0 0 0 0>; 454c9ccf3a3SEmmanuel Vadot interrupt-map = <0 0 0 0 &gic GIC_SHARED 4 IRQ_TYPE_LEVEL_HIGH>; 455c9ccf3a3SEmmanuel Vadot resets = <&sysc MT7621_RST_PCIE0>; 456c9ccf3a3SEmmanuel Vadot clocks = <&sysc MT7621_CLK_PCIE0>; 457c9ccf3a3SEmmanuel Vadot phys = <&pcie0_phy 1>; 458c9ccf3a3SEmmanuel Vadot phy-names = "pcie-phy0"; 459c9ccf3a3SEmmanuel Vadot ranges; 460c9ccf3a3SEmmanuel Vadot }; 461c9ccf3a3SEmmanuel Vadot 462c9ccf3a3SEmmanuel Vadot pcie@1,0 { 463c9ccf3a3SEmmanuel Vadot reg = <0x0800 0 0 0 0>; 464c9ccf3a3SEmmanuel Vadot #address-cells = <3>; 465c9ccf3a3SEmmanuel Vadot #size-cells = <2>; 466c9ccf3a3SEmmanuel Vadot device_type = "pci"; 467c9ccf3a3SEmmanuel Vadot #interrupt-cells = <1>; 468c9ccf3a3SEmmanuel Vadot interrupt-map-mask = <0 0 0 0>; 469c9ccf3a3SEmmanuel Vadot interrupt-map = <0 0 0 0 &gic GIC_SHARED 24 IRQ_TYPE_LEVEL_HIGH>; 470c9ccf3a3SEmmanuel Vadot resets = <&sysc MT7621_RST_PCIE1>; 471c9ccf3a3SEmmanuel Vadot clocks = <&sysc MT7621_CLK_PCIE1>; 472c9ccf3a3SEmmanuel Vadot phys = <&pcie0_phy 1>; 473c9ccf3a3SEmmanuel Vadot phy-names = "pcie-phy1"; 474c9ccf3a3SEmmanuel Vadot ranges; 475c9ccf3a3SEmmanuel Vadot }; 476c9ccf3a3SEmmanuel Vadot 477c9ccf3a3SEmmanuel Vadot pcie@2,0 { 478c9ccf3a3SEmmanuel Vadot reg = <0x1000 0 0 0 0>; 479c9ccf3a3SEmmanuel Vadot #address-cells = <3>; 480c9ccf3a3SEmmanuel Vadot #size-cells = <2>; 481c9ccf3a3SEmmanuel Vadot device_type = "pci"; 482c9ccf3a3SEmmanuel Vadot #interrupt-cells = <1>; 483c9ccf3a3SEmmanuel Vadot interrupt-map-mask = <0 0 0 0>; 484c9ccf3a3SEmmanuel Vadot interrupt-map = <0 0 0 0 &gic GIC_SHARED 25 IRQ_TYPE_LEVEL_HIGH>; 485c9ccf3a3SEmmanuel Vadot resets = <&sysc MT7621_RST_PCIE2>; 486c9ccf3a3SEmmanuel Vadot clocks = <&sysc MT7621_CLK_PCIE2>; 487c9ccf3a3SEmmanuel Vadot phys = <&pcie2_phy 0>; 488c9ccf3a3SEmmanuel Vadot phy-names = "pcie-phy2"; 489c9ccf3a3SEmmanuel Vadot ranges; 490c9ccf3a3SEmmanuel Vadot }; 491c9ccf3a3SEmmanuel Vadot }; 492c9ccf3a3SEmmanuel Vadot 493c9ccf3a3SEmmanuel Vadot pcie0_phy: pcie-phy@1e149000 { 494c9ccf3a3SEmmanuel Vadot compatible = "mediatek,mt7621-pci-phy"; 495c9ccf3a3SEmmanuel Vadot reg = <0x1e149000 0x0700>; 496c9ccf3a3SEmmanuel Vadot clocks = <&sysc MT7621_CLK_XTAL>; 497c9ccf3a3SEmmanuel Vadot #phy-cells = <1>; 498c9ccf3a3SEmmanuel Vadot }; 499c9ccf3a3SEmmanuel Vadot 500c9ccf3a3SEmmanuel Vadot pcie2_phy: pcie-phy@1e14a000 { 501c9ccf3a3SEmmanuel Vadot compatible = "mediatek,mt7621-pci-phy"; 502c9ccf3a3SEmmanuel Vadot reg = <0x1e14a000 0x0700>; 503c9ccf3a3SEmmanuel Vadot clocks = <&sysc MT7621_CLK_XTAL>; 504c9ccf3a3SEmmanuel Vadot #phy-cells = <1>; 505c9ccf3a3SEmmanuel Vadot }; 506c9ccf3a3SEmmanuel Vadot}; 507