162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/mips-gic.h> 362306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 462306a36Sopenharmony_ci#include <dt-bindings/clock/mt7621-clk.h> 562306a36Sopenharmony_ci#include <dt-bindings/reset/mt7621-reset.h> 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci/ { 862306a36Sopenharmony_ci #address-cells = <1>; 962306a36Sopenharmony_ci #size-cells = <1>; 1062306a36Sopenharmony_ci compatible = "mediatek,mt7621-soc"; 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci cpus { 1362306a36Sopenharmony_ci #address-cells = <1>; 1462306a36Sopenharmony_ci #size-cells = <0>; 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci cpu@0 { 1762306a36Sopenharmony_ci device_type = "cpu"; 1862306a36Sopenharmony_ci compatible = "mips,mips1004Kc"; 1962306a36Sopenharmony_ci reg = <0>; 2062306a36Sopenharmony_ci }; 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci cpu@1 { 2362306a36Sopenharmony_ci device_type = "cpu"; 2462306a36Sopenharmony_ci compatible = "mips,mips1004Kc"; 2562306a36Sopenharmony_ci reg = <1>; 2662306a36Sopenharmony_ci }; 2762306a36Sopenharmony_ci }; 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci cpuintc: cpuintc { 3062306a36Sopenharmony_ci #address-cells = <0>; 3162306a36Sopenharmony_ci #interrupt-cells = <1>; 3262306a36Sopenharmony_ci interrupt-controller; 3362306a36Sopenharmony_ci compatible = "mti,cpu-interrupt-controller"; 3462306a36Sopenharmony_ci }; 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci mmc_fixed_3v3: regulator-3v3 { 3762306a36Sopenharmony_ci compatible = "regulator-fixed"; 3862306a36Sopenharmony_ci regulator-name = "mmc_power"; 3962306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 4062306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 4162306a36Sopenharmony_ci enable-active-high; 4262306a36Sopenharmony_ci regulator-always-on; 4362306a36Sopenharmony_ci }; 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci mmc_fixed_1v8_io: regulator-1v8 { 4662306a36Sopenharmony_ci compatible = "regulator-fixed"; 4762306a36Sopenharmony_ci regulator-name = "mmc_io"; 4862306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 4962306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 5062306a36Sopenharmony_ci enable-active-high; 5162306a36Sopenharmony_ci regulator-always-on; 5262306a36Sopenharmony_ci }; 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci palmbus: palmbus@1e000000 { 5562306a36Sopenharmony_ci compatible = "palmbus"; 5662306a36Sopenharmony_ci reg = <0x1e000000 0x100000>; 5762306a36Sopenharmony_ci ranges = <0x0 0x1e000000 0x0fffff>; 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci #address-cells = <1>; 6062306a36Sopenharmony_ci #size-cells = <1>; 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci sysc: syscon@0 { 6362306a36Sopenharmony_ci compatible = "mediatek,mt7621-sysc", "syscon"; 6462306a36Sopenharmony_ci reg = <0x0 0x100>; 6562306a36Sopenharmony_ci #clock-cells = <1>; 6662306a36Sopenharmony_ci #reset-cells = <1>; 6762306a36Sopenharmony_ci ralink,memctl = <&memc>; 6862306a36Sopenharmony_ci clock-output-names = "xtal", "cpu", "bus", 6962306a36Sopenharmony_ci "50m", "125m", "150m", 7062306a36Sopenharmony_ci "250m", "270m"; 7162306a36Sopenharmony_ci }; 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci wdt: watchdog@100 { 7462306a36Sopenharmony_ci compatible = "mediatek,mt7621-wdt"; 7562306a36Sopenharmony_ci reg = <0x100 0x100>; 7662306a36Sopenharmony_ci mediatek,sysctl = <&sysc>; 7762306a36Sopenharmony_ci }; 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci gpio: gpio@600 { 8062306a36Sopenharmony_ci #gpio-cells = <2>; 8162306a36Sopenharmony_ci #interrupt-cells = <2>; 8262306a36Sopenharmony_ci compatible = "mediatek,mt7621-gpio"; 8362306a36Sopenharmony_ci gpio-controller; 8462306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 0 95>; 8562306a36Sopenharmony_ci interrupt-controller; 8662306a36Sopenharmony_ci reg = <0x600 0x100>; 8762306a36Sopenharmony_ci interrupt-parent = <&gic>; 8862306a36Sopenharmony_ci interrupts = <GIC_SHARED 12 IRQ_TYPE_LEVEL_HIGH>; 8962306a36Sopenharmony_ci }; 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ci i2c: i2c@900 { 9262306a36Sopenharmony_ci compatible = "mediatek,mt7621-i2c"; 9362306a36Sopenharmony_ci reg = <0x900 0x100>; 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_ci clocks = <&sysc MT7621_CLK_I2C>; 9662306a36Sopenharmony_ci clock-names = "i2c"; 9762306a36Sopenharmony_ci resets = <&sysc MT7621_RST_I2C>; 9862306a36Sopenharmony_ci reset-names = "i2c"; 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ci #address-cells = <1>; 10162306a36Sopenharmony_ci #size-cells = <0>; 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci status = "disabled"; 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ci pinctrl-names = "default"; 10662306a36Sopenharmony_ci pinctrl-0 = <&i2c_pins>; 10762306a36Sopenharmony_ci }; 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci memc: memory-controller@5000 { 11062306a36Sopenharmony_ci compatible = "mediatek,mt7621-memc", "syscon"; 11162306a36Sopenharmony_ci reg = <0x5000 0x1000>; 11262306a36Sopenharmony_ci }; 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ci serial0: serial@c00 { 11562306a36Sopenharmony_ci compatible = "ns16550a"; 11662306a36Sopenharmony_ci reg = <0xc00 0x100>; 11762306a36Sopenharmony_ci 11862306a36Sopenharmony_ci clocks = <&sysc MT7621_CLK_UART1>; 11962306a36Sopenharmony_ci 12062306a36Sopenharmony_ci interrupt-parent = <&gic>; 12162306a36Sopenharmony_ci interrupts = <GIC_SHARED 26 IRQ_TYPE_LEVEL_HIGH>; 12262306a36Sopenharmony_ci 12362306a36Sopenharmony_ci reg-shift = <2>; 12462306a36Sopenharmony_ci reg-io-width = <4>; 12562306a36Sopenharmony_ci no-loopback-test; 12662306a36Sopenharmony_ci }; 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ci spi0: spi@b00 { 12962306a36Sopenharmony_ci status = "disabled"; 13062306a36Sopenharmony_ci 13162306a36Sopenharmony_ci compatible = "ralink,mt7621-spi"; 13262306a36Sopenharmony_ci reg = <0xb00 0x100>; 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ci clocks = <&sysc MT7621_CLK_SPI>; 13562306a36Sopenharmony_ci clock-names = "spi"; 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ci resets = <&sysc MT7621_RST_SPI>; 13862306a36Sopenharmony_ci reset-names = "spi"; 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci #address-cells = <1>; 14162306a36Sopenharmony_ci #size-cells = <0>; 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ci pinctrl-names = "default"; 14462306a36Sopenharmony_ci pinctrl-0 = <&spi_pins>; 14562306a36Sopenharmony_ci }; 14662306a36Sopenharmony_ci }; 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ci pinctrl: pinctrl { 14962306a36Sopenharmony_ci compatible = "ralink,mt7621-pinctrl"; 15062306a36Sopenharmony_ci 15162306a36Sopenharmony_ci i2c_pins: i2c0-pins { 15262306a36Sopenharmony_ci pinmux { 15362306a36Sopenharmony_ci groups = "i2c"; 15462306a36Sopenharmony_ci function = "i2c"; 15562306a36Sopenharmony_ci }; 15662306a36Sopenharmony_ci }; 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ci spi_pins: spi0-pins { 15962306a36Sopenharmony_ci pinmux { 16062306a36Sopenharmony_ci groups = "spi"; 16162306a36Sopenharmony_ci function = "spi"; 16262306a36Sopenharmony_ci }; 16362306a36Sopenharmony_ci }; 16462306a36Sopenharmony_ci 16562306a36Sopenharmony_ci uart1_pins: uart1-pins { 16662306a36Sopenharmony_ci pinmux { 16762306a36Sopenharmony_ci groups = "uart1"; 16862306a36Sopenharmony_ci function = "uart1"; 16962306a36Sopenharmony_ci }; 17062306a36Sopenharmony_ci }; 17162306a36Sopenharmony_ci 17262306a36Sopenharmony_ci uart2_pins: uart2-pins { 17362306a36Sopenharmony_ci pinmux { 17462306a36Sopenharmony_ci groups = "uart2"; 17562306a36Sopenharmony_ci function = "uart2"; 17662306a36Sopenharmony_ci }; 17762306a36Sopenharmony_ci }; 17862306a36Sopenharmony_ci 17962306a36Sopenharmony_ci uart3_pins: uart3-pins { 18062306a36Sopenharmony_ci pinmux { 18162306a36Sopenharmony_ci groups = "uart3"; 18262306a36Sopenharmony_ci function = "uart3"; 18362306a36Sopenharmony_ci }; 18462306a36Sopenharmony_ci }; 18562306a36Sopenharmony_ci 18662306a36Sopenharmony_ci rgmii1_pins: rgmii1-pins { 18762306a36Sopenharmony_ci pinmux { 18862306a36Sopenharmony_ci groups = "rgmii1"; 18962306a36Sopenharmony_ci function = "rgmii1"; 19062306a36Sopenharmony_ci }; 19162306a36Sopenharmony_ci }; 19262306a36Sopenharmony_ci 19362306a36Sopenharmony_ci rgmii2_pins: rgmii2-pins { 19462306a36Sopenharmony_ci pinmux { 19562306a36Sopenharmony_ci groups = "rgmii2"; 19662306a36Sopenharmony_ci function = "rgmii2"; 19762306a36Sopenharmony_ci }; 19862306a36Sopenharmony_ci }; 19962306a36Sopenharmony_ci 20062306a36Sopenharmony_ci mdio_pins: mdio0-pins { 20162306a36Sopenharmony_ci pinmux { 20262306a36Sopenharmony_ci groups = "mdio"; 20362306a36Sopenharmony_ci function = "mdio"; 20462306a36Sopenharmony_ci }; 20562306a36Sopenharmony_ci }; 20662306a36Sopenharmony_ci 20762306a36Sopenharmony_ci pcie_pins: pcie0-pins { 20862306a36Sopenharmony_ci pinmux { 20962306a36Sopenharmony_ci groups = "pcie"; 21062306a36Sopenharmony_ci function = "gpio"; 21162306a36Sopenharmony_ci }; 21262306a36Sopenharmony_ci }; 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_ci nand_pins: nand0-pins { 21562306a36Sopenharmony_ci spi-pinmux { 21662306a36Sopenharmony_ci groups = "spi"; 21762306a36Sopenharmony_ci function = "nand1"; 21862306a36Sopenharmony_ci }; 21962306a36Sopenharmony_ci 22062306a36Sopenharmony_ci sdhci-pinmux { 22162306a36Sopenharmony_ci groups = "sdhci"; 22262306a36Sopenharmony_ci function = "nand2"; 22362306a36Sopenharmony_ci }; 22462306a36Sopenharmony_ci }; 22562306a36Sopenharmony_ci 22662306a36Sopenharmony_ci sdhci_pins: sdhci0-pins { 22762306a36Sopenharmony_ci pinmux { 22862306a36Sopenharmony_ci groups = "sdhci"; 22962306a36Sopenharmony_ci function = "sdhci"; 23062306a36Sopenharmony_ci }; 23162306a36Sopenharmony_ci }; 23262306a36Sopenharmony_ci }; 23362306a36Sopenharmony_ci 23462306a36Sopenharmony_ci mmc: mmc@1e130000 { 23562306a36Sopenharmony_ci status = "disabled"; 23662306a36Sopenharmony_ci 23762306a36Sopenharmony_ci compatible = "mediatek,mt7620-mmc"; 23862306a36Sopenharmony_ci reg = <0x1e130000 0x4000>; 23962306a36Sopenharmony_ci 24062306a36Sopenharmony_ci bus-width = <4>; 24162306a36Sopenharmony_ci max-frequency = <48000000>; 24262306a36Sopenharmony_ci cap-sd-highspeed; 24362306a36Sopenharmony_ci cap-mmc-highspeed; 24462306a36Sopenharmony_ci vmmc-supply = <&mmc_fixed_3v3>; 24562306a36Sopenharmony_ci vqmmc-supply = <&mmc_fixed_1v8_io>; 24662306a36Sopenharmony_ci disable-wp; 24762306a36Sopenharmony_ci 24862306a36Sopenharmony_ci pinctrl-names = "default", "state_uhs"; 24962306a36Sopenharmony_ci pinctrl-0 = <&sdhci_pins>; 25062306a36Sopenharmony_ci pinctrl-1 = <&sdhci_pins>; 25162306a36Sopenharmony_ci 25262306a36Sopenharmony_ci clocks = <&sysc MT7621_CLK_SHXC>, 25362306a36Sopenharmony_ci <&sysc MT7621_CLK_50M>; 25462306a36Sopenharmony_ci clock-names = "source", "hclk"; 25562306a36Sopenharmony_ci 25662306a36Sopenharmony_ci interrupt-parent = <&gic>; 25762306a36Sopenharmony_ci interrupts = <GIC_SHARED 20 IRQ_TYPE_LEVEL_HIGH>; 25862306a36Sopenharmony_ci }; 25962306a36Sopenharmony_ci 26062306a36Sopenharmony_ci usb: usb@1e1c0000 { 26162306a36Sopenharmony_ci compatible = "mediatek,mt8173-xhci", "mediatek,mtk-xhci"; 26262306a36Sopenharmony_ci reg = <0x1e1c0000 0x1000 26362306a36Sopenharmony_ci 0x1e1d0700 0x0100>; 26462306a36Sopenharmony_ci reg-names = "mac", "ippc"; 26562306a36Sopenharmony_ci 26662306a36Sopenharmony_ci clocks = <&sysc MT7621_CLK_XTAL>; 26762306a36Sopenharmony_ci clock-names = "sys_ck"; 26862306a36Sopenharmony_ci 26962306a36Sopenharmony_ci interrupt-parent = <&gic>; 27062306a36Sopenharmony_ci interrupts = <GIC_SHARED 22 IRQ_TYPE_LEVEL_HIGH>; 27162306a36Sopenharmony_ci }; 27262306a36Sopenharmony_ci 27362306a36Sopenharmony_ci gic: interrupt-controller@1fbc0000 { 27462306a36Sopenharmony_ci compatible = "mti,gic"; 27562306a36Sopenharmony_ci reg = <0x1fbc0000 0x2000>; 27662306a36Sopenharmony_ci 27762306a36Sopenharmony_ci interrupt-controller; 27862306a36Sopenharmony_ci #interrupt-cells = <3>; 27962306a36Sopenharmony_ci 28062306a36Sopenharmony_ci mti,reserved-cpu-vectors = <7>; 28162306a36Sopenharmony_ci 28262306a36Sopenharmony_ci timer { 28362306a36Sopenharmony_ci compatible = "mti,gic-timer"; 28462306a36Sopenharmony_ci interrupts = <GIC_LOCAL 1 IRQ_TYPE_NONE>; 28562306a36Sopenharmony_ci clocks = <&sysc MT7621_CLK_CPU>; 28662306a36Sopenharmony_ci }; 28762306a36Sopenharmony_ci }; 28862306a36Sopenharmony_ci 28962306a36Sopenharmony_ci cpc: cpc@1fbf0000 { 29062306a36Sopenharmony_ci compatible = "mti,mips-cpc"; 29162306a36Sopenharmony_ci reg = <0x1fbf0000 0x8000>; 29262306a36Sopenharmony_ci }; 29362306a36Sopenharmony_ci 29462306a36Sopenharmony_ci cdmm: cdmm@1fbf8000 { 29562306a36Sopenharmony_ci compatible = "mti,mips-cdmm"; 29662306a36Sopenharmony_ci reg = <0x1fbf8000 0x8000>; 29762306a36Sopenharmony_ci }; 29862306a36Sopenharmony_ci 29962306a36Sopenharmony_ci ethernet: ethernet@1e100000 { 30062306a36Sopenharmony_ci compatible = "mediatek,mt7621-eth"; 30162306a36Sopenharmony_ci reg = <0x1e100000 0x10000>; 30262306a36Sopenharmony_ci 30362306a36Sopenharmony_ci clocks = <&sysc MT7621_CLK_FE>, 30462306a36Sopenharmony_ci <&sysc MT7621_CLK_ETH>; 30562306a36Sopenharmony_ci clock-names = "fe", "ethif"; 30662306a36Sopenharmony_ci 30762306a36Sopenharmony_ci #address-cells = <1>; 30862306a36Sopenharmony_ci #size-cells = <0>; 30962306a36Sopenharmony_ci 31062306a36Sopenharmony_ci resets = <&sysc MT7621_RST_FE &sysc MT7621_RST_ETH>; 31162306a36Sopenharmony_ci reset-names = "fe", "eth"; 31262306a36Sopenharmony_ci 31362306a36Sopenharmony_ci interrupt-parent = <&gic>; 31462306a36Sopenharmony_ci interrupts = <GIC_SHARED 3 IRQ_TYPE_LEVEL_HIGH>; 31562306a36Sopenharmony_ci 31662306a36Sopenharmony_ci mediatek,ethsys = <&sysc>; 31762306a36Sopenharmony_ci 31862306a36Sopenharmony_ci pinctrl-names = "default"; 31962306a36Sopenharmony_ci pinctrl-0 = <&mdio_pins>, <&rgmii1_pins>, <&rgmii2_pins>; 32062306a36Sopenharmony_ci 32162306a36Sopenharmony_ci gmac0: mac@0 { 32262306a36Sopenharmony_ci compatible = "mediatek,eth-mac"; 32362306a36Sopenharmony_ci reg = <0>; 32462306a36Sopenharmony_ci phy-mode = "trgmii"; 32562306a36Sopenharmony_ci 32662306a36Sopenharmony_ci fixed-link { 32762306a36Sopenharmony_ci speed = <1000>; 32862306a36Sopenharmony_ci full-duplex; 32962306a36Sopenharmony_ci pause; 33062306a36Sopenharmony_ci }; 33162306a36Sopenharmony_ci }; 33262306a36Sopenharmony_ci 33362306a36Sopenharmony_ci gmac1: mac@1 { 33462306a36Sopenharmony_ci compatible = "mediatek,eth-mac"; 33562306a36Sopenharmony_ci reg = <1>; 33662306a36Sopenharmony_ci phy-mode = "rgmii"; 33762306a36Sopenharmony_ci 33862306a36Sopenharmony_ci fixed-link { 33962306a36Sopenharmony_ci speed = <1000>; 34062306a36Sopenharmony_ci full-duplex; 34162306a36Sopenharmony_ci pause; 34262306a36Sopenharmony_ci }; 34362306a36Sopenharmony_ci }; 34462306a36Sopenharmony_ci 34562306a36Sopenharmony_ci mdio: mdio-bus { 34662306a36Sopenharmony_ci #address-cells = <1>; 34762306a36Sopenharmony_ci #size-cells = <0>; 34862306a36Sopenharmony_ci 34962306a36Sopenharmony_ci switch0: switch@1f { 35062306a36Sopenharmony_ci compatible = "mediatek,mt7621"; 35162306a36Sopenharmony_ci reg = <0x1f>; 35262306a36Sopenharmony_ci mediatek,mcm; 35362306a36Sopenharmony_ci resets = <&sysc MT7621_RST_MCM>; 35462306a36Sopenharmony_ci reset-names = "mcm"; 35562306a36Sopenharmony_ci interrupt-controller; 35662306a36Sopenharmony_ci #interrupt-cells = <1>; 35762306a36Sopenharmony_ci interrupts = <GIC_SHARED 23 IRQ_TYPE_LEVEL_HIGH>; 35862306a36Sopenharmony_ci 35962306a36Sopenharmony_ci ports { 36062306a36Sopenharmony_ci #address-cells = <1>; 36162306a36Sopenharmony_ci #size-cells = <0>; 36262306a36Sopenharmony_ci 36362306a36Sopenharmony_ci port@0 { 36462306a36Sopenharmony_ci status = "disabled"; 36562306a36Sopenharmony_ci reg = <0>; 36662306a36Sopenharmony_ci label = "swp0"; 36762306a36Sopenharmony_ci }; 36862306a36Sopenharmony_ci 36962306a36Sopenharmony_ci port@1 { 37062306a36Sopenharmony_ci status = "disabled"; 37162306a36Sopenharmony_ci reg = <1>; 37262306a36Sopenharmony_ci label = "swp1"; 37362306a36Sopenharmony_ci }; 37462306a36Sopenharmony_ci 37562306a36Sopenharmony_ci port@2 { 37662306a36Sopenharmony_ci status = "disabled"; 37762306a36Sopenharmony_ci reg = <2>; 37862306a36Sopenharmony_ci label = "swp2"; 37962306a36Sopenharmony_ci }; 38062306a36Sopenharmony_ci 38162306a36Sopenharmony_ci port@3 { 38262306a36Sopenharmony_ci status = "disabled"; 38362306a36Sopenharmony_ci reg = <3>; 38462306a36Sopenharmony_ci label = "swp3"; 38562306a36Sopenharmony_ci }; 38662306a36Sopenharmony_ci 38762306a36Sopenharmony_ci port@4 { 38862306a36Sopenharmony_ci status = "disabled"; 38962306a36Sopenharmony_ci reg = <4>; 39062306a36Sopenharmony_ci label = "swp4"; 39162306a36Sopenharmony_ci }; 39262306a36Sopenharmony_ci 39362306a36Sopenharmony_ci port@5 { 39462306a36Sopenharmony_ci reg = <5>; 39562306a36Sopenharmony_ci ethernet = <&gmac1>; 39662306a36Sopenharmony_ci phy-mode = "rgmii"; 39762306a36Sopenharmony_ci 39862306a36Sopenharmony_ci fixed-link { 39962306a36Sopenharmony_ci speed = <1000>; 40062306a36Sopenharmony_ci full-duplex; 40162306a36Sopenharmony_ci pause; 40262306a36Sopenharmony_ci }; 40362306a36Sopenharmony_ci }; 40462306a36Sopenharmony_ci 40562306a36Sopenharmony_ci port@6 { 40662306a36Sopenharmony_ci reg = <6>; 40762306a36Sopenharmony_ci ethernet = <&gmac0>; 40862306a36Sopenharmony_ci phy-mode = "trgmii"; 40962306a36Sopenharmony_ci 41062306a36Sopenharmony_ci fixed-link { 41162306a36Sopenharmony_ci speed = <1000>; 41262306a36Sopenharmony_ci full-duplex; 41362306a36Sopenharmony_ci pause; 41462306a36Sopenharmony_ci }; 41562306a36Sopenharmony_ci }; 41662306a36Sopenharmony_ci }; 41762306a36Sopenharmony_ci }; 41862306a36Sopenharmony_ci }; 41962306a36Sopenharmony_ci }; 42062306a36Sopenharmony_ci 42162306a36Sopenharmony_ci pcie: pcie@1e140000 { 42262306a36Sopenharmony_ci compatible = "mediatek,mt7621-pci"; 42362306a36Sopenharmony_ci reg = <0x1e140000 0x100>, /* host-pci bridge registers */ 42462306a36Sopenharmony_ci <0x1e142000 0x100>, /* pcie port 0 RC control registers */ 42562306a36Sopenharmony_ci <0x1e143000 0x100>, /* pcie port 1 RC control registers */ 42662306a36Sopenharmony_ci <0x1e144000 0x100>; /* pcie port 2 RC control registers */ 42762306a36Sopenharmony_ci #address-cells = <3>; 42862306a36Sopenharmony_ci #size-cells = <2>; 42962306a36Sopenharmony_ci 43062306a36Sopenharmony_ci pinctrl-names = "default"; 43162306a36Sopenharmony_ci pinctrl-0 = <&pcie_pins>; 43262306a36Sopenharmony_ci 43362306a36Sopenharmony_ci device_type = "pci"; 43462306a36Sopenharmony_ci 43562306a36Sopenharmony_ci ranges = <0x02000000 0 0x60000000 0x60000000 0 0x10000000>, /* pci memory */ 43662306a36Sopenharmony_ci <0x01000000 0 0x00000000 0x1e160000 0 0x00010000>; /* io space */ 43762306a36Sopenharmony_ci 43862306a36Sopenharmony_ci #interrupt-cells = <1>; 43962306a36Sopenharmony_ci interrupt-map-mask = <0xF800 0 0 0>; 44062306a36Sopenharmony_ci interrupt-map = <0x0000 0 0 0 &gic GIC_SHARED 4 IRQ_TYPE_LEVEL_HIGH>, 44162306a36Sopenharmony_ci <0x0800 0 0 0 &gic GIC_SHARED 24 IRQ_TYPE_LEVEL_HIGH>, 44262306a36Sopenharmony_ci <0x1000 0 0 0 &gic GIC_SHARED 25 IRQ_TYPE_LEVEL_HIGH>; 44362306a36Sopenharmony_ci 44462306a36Sopenharmony_ci status = "disabled"; 44562306a36Sopenharmony_ci 44662306a36Sopenharmony_ci reset-gpios = <&gpio 19 GPIO_ACTIVE_LOW>; 44762306a36Sopenharmony_ci 44862306a36Sopenharmony_ci pcie@0,0 { 44962306a36Sopenharmony_ci reg = <0x0000 0 0 0 0>; 45062306a36Sopenharmony_ci #address-cells = <3>; 45162306a36Sopenharmony_ci #size-cells = <2>; 45262306a36Sopenharmony_ci device_type = "pci"; 45362306a36Sopenharmony_ci #interrupt-cells = <1>; 45462306a36Sopenharmony_ci interrupt-map-mask = <0 0 0 0>; 45562306a36Sopenharmony_ci interrupt-map = <0 0 0 0 &gic GIC_SHARED 4 IRQ_TYPE_LEVEL_HIGH>; 45662306a36Sopenharmony_ci resets = <&sysc MT7621_RST_PCIE0>; 45762306a36Sopenharmony_ci clocks = <&sysc MT7621_CLK_PCIE0>; 45862306a36Sopenharmony_ci phys = <&pcie0_phy 1>; 45962306a36Sopenharmony_ci phy-names = "pcie-phy0"; 46062306a36Sopenharmony_ci ranges; 46162306a36Sopenharmony_ci }; 46262306a36Sopenharmony_ci 46362306a36Sopenharmony_ci pcie@1,0 { 46462306a36Sopenharmony_ci reg = <0x0800 0 0 0 0>; 46562306a36Sopenharmony_ci #address-cells = <3>; 46662306a36Sopenharmony_ci #size-cells = <2>; 46762306a36Sopenharmony_ci device_type = "pci"; 46862306a36Sopenharmony_ci #interrupt-cells = <1>; 46962306a36Sopenharmony_ci interrupt-map-mask = <0 0 0 0>; 47062306a36Sopenharmony_ci interrupt-map = <0 0 0 0 &gic GIC_SHARED 24 IRQ_TYPE_LEVEL_HIGH>; 47162306a36Sopenharmony_ci resets = <&sysc MT7621_RST_PCIE1>; 47262306a36Sopenharmony_ci clocks = <&sysc MT7621_CLK_PCIE1>; 47362306a36Sopenharmony_ci phys = <&pcie0_phy 1>; 47462306a36Sopenharmony_ci phy-names = "pcie-phy1"; 47562306a36Sopenharmony_ci ranges; 47662306a36Sopenharmony_ci }; 47762306a36Sopenharmony_ci 47862306a36Sopenharmony_ci pcie@2,0 { 47962306a36Sopenharmony_ci reg = <0x1000 0 0 0 0>; 48062306a36Sopenharmony_ci #address-cells = <3>; 48162306a36Sopenharmony_ci #size-cells = <2>; 48262306a36Sopenharmony_ci device_type = "pci"; 48362306a36Sopenharmony_ci #interrupt-cells = <1>; 48462306a36Sopenharmony_ci interrupt-map-mask = <0 0 0 0>; 48562306a36Sopenharmony_ci interrupt-map = <0 0 0 0 &gic GIC_SHARED 25 IRQ_TYPE_LEVEL_HIGH>; 48662306a36Sopenharmony_ci resets = <&sysc MT7621_RST_PCIE2>; 48762306a36Sopenharmony_ci clocks = <&sysc MT7621_CLK_PCIE2>; 48862306a36Sopenharmony_ci phys = <&pcie2_phy 0>; 48962306a36Sopenharmony_ci phy-names = "pcie-phy2"; 49062306a36Sopenharmony_ci ranges; 49162306a36Sopenharmony_ci }; 49262306a36Sopenharmony_ci }; 49362306a36Sopenharmony_ci 49462306a36Sopenharmony_ci pcie0_phy: pcie-phy@1e149000 { 49562306a36Sopenharmony_ci compatible = "mediatek,mt7621-pci-phy"; 49662306a36Sopenharmony_ci reg = <0x1e149000 0x0700>; 49762306a36Sopenharmony_ci clocks = <&sysc MT7621_CLK_XTAL>; 49862306a36Sopenharmony_ci #phy-cells = <1>; 49962306a36Sopenharmony_ci }; 50062306a36Sopenharmony_ci 50162306a36Sopenharmony_ci pcie2_phy: pcie-phy@1e14a000 { 50262306a36Sopenharmony_ci compatible = "mediatek,mt7621-pci-phy"; 50362306a36Sopenharmony_ci reg = <0x1e14a000 0x0700>; 50462306a36Sopenharmony_ci clocks = <&sysc MT7621_CLK_XTAL>; 50562306a36Sopenharmony_ci #phy-cells = <1>; 50662306a36Sopenharmony_ci }; 50762306a36Sopenharmony_ci}; 508