The mt7621 has two network interfaces, one that connects to an internal switch, and one that can connect to either that switch or an external phy, or possibly an internal phy. The Gnubee-PC2 has an external phy for use with the second interface. This patch add some support for the second interface to mt7621.dtsi and add a gbpc2.dts which makes use of this. This allows the second interface to be used. I don't fully understand how to configure this interface - the documentation is thin - so there could well be room for improvement here. Signed-off-by: NeilBrown <neil@xxxxxxxxxx> --- drivers/staging/mt7621-dts/Kconfig | 7 ++++++- drivers/staging/mt7621-dts/Makefile | 1 + drivers/staging/mt7621-dts/gbpc1.dts | 2 +- drivers/staging/mt7621-dts/gbpc2.dts | 21 +++++++++++++++++++++ drivers/staging/mt7621-dts/mt7621.dtsi | 12 ++++++++---- 5 files changed, 37 insertions(+), 6 deletions(-) create mode 100644 drivers/staging/mt7621-dts/gbpc2.dts diff --git a/drivers/staging/mt7621-dts/Kconfig b/drivers/staging/mt7621-dts/Kconfig index 3ea08ab9d0d3..6932ab7acadf 100644 --- a/drivers/staging/mt7621-dts/Kconfig +++ b/drivers/staging/mt7621-dts/Kconfig @@ -1,6 +1,11 @@ # SPDX-License-Identifier: GPL-2.0 config DTB_GNUBEE1 - bool "GnuBee1 NAS" + bool "GnuBee1 2.5inch NAS" + depends on SOC_MT7621 && DTB_RT_NONE + select BUILTIN_DTB + +config DTB_GNUBEE2 + bool "GnuBee2 3.5inch NAS" depends on SOC_MT7621 && DTB_RT_NONE select BUILTIN_DTB diff --git a/drivers/staging/mt7621-dts/Makefile b/drivers/staging/mt7621-dts/Makefile index aeec48a4edc7..b4ab99fed932 100644 --- a/drivers/staging/mt7621-dts/Makefile +++ b/drivers/staging/mt7621-dts/Makefile @@ -1,4 +1,5 @@ # SPDX-License-Identifier: GPL-2.0 dtb-$(CONFIG_DTB_GNUBEE1) += gbpc1.dtb +dtb-$(CONFIG_DTB_GNUBEE2) += gbpc2.dtb obj-y += $(patsubst %.dtb, %.dtb.o, $(dtb-y)) diff --git a/drivers/staging/mt7621-dts/gbpc1.dts b/drivers/staging/mt7621-dts/gbpc1.dts index 250c15ace2a7..1fb560ff059c 100644 --- a/drivers/staging/mt7621-dts/gbpc1.dts +++ b/drivers/staging/mt7621-dts/gbpc1.dts @@ -119,7 +119,7 @@ &pinctrl { state_default: pinctrl0 { - gpio { + default_gpio: gpio { groups = "wdt", "rgmii2", "uart3"; function = "gpio"; }; diff --git a/drivers/staging/mt7621-dts/gbpc2.dts b/drivers/staging/mt7621-dts/gbpc2.dts new file mode 100644 index 000000000000..52760e7351f6 --- /dev/null +++ b/drivers/staging/mt7621-dts/gbpc2.dts @@ -0,0 +1,21 @@ +/dts-v1/; + +#include "gbpc1.dts" + +/ { + compatible = "gnubee,gb-pc2", "mediatek,mt7621-soc"; + model = "GB-PC2"; +}; + +&default_gpio { + groups = "wdt", "uart3"; + function = "gpio"; +}; + +&gmac1 { + status = "ok"; +}; + +&phy_external { + status = "ok"; +}; diff --git a/drivers/staging/mt7621-dts/mt7621.dtsi b/drivers/staging/mt7621-dts/mt7621.dtsi index 549ff5a0699e..a4c08110094b 100644 --- a/drivers/staging/mt7621-dts/mt7621.dtsi +++ b/drivers/staging/mt7621-dts/mt7621.dtsi @@ -427,16 +427,20 @@ compatible = "mediatek,eth-mac"; reg = <1>; status = "off"; - phy-mode = "rgmii"; - phy-handle = <&phy5>; + phy-mode = "rgmii-rxid"; + phy-handle = <&phy_external>; }; mdio-bus { #address-cells = <1>; #size-cells = <0>; - phy5: ethernet-phy@5 { + phy_external: ethernet-phy@5 { + status = "off"; reg = <5>; - phy-mode = "rgmii"; + phy-mode = "rgmii-rxid"; + + pinctrl-names = "default"; + pinctrl-0 = <&rgmii2_pins>; }; switch0: switch0@0 { _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel