aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Hagan <mnhagan88@gmail.com>2021-06-13 10:46:37 +0100
committerFlorian Fainelli <f.fainelli@gmail.com>2021-09-14 14:34:49 -0700
commit4bb2642cbd38776f762575912428270f74f005ff (patch)
tree04c2af415968f521f96e3406cc30f61aff9dd8b1
parentARM: dts: NSP: add MDIO bus controller node (diff)
downloadlinux-dev-4bb2642cbd38776f762575912428270f74f005ff.tar.xz
linux-dev-4bb2642cbd38776f762575912428270f74f005ff.zip
ARM: dts: NSP: Move USB3 PHY to internal MDIO bus
This patch largely replicates Vivek Unune's patch "ARM: dts: BCM5301X:Make usb3 phy use mdio phy driver"[1] for the NSP platform, whereby we need to create an mdio-mux to facilitate switches configured via external MDIO, in this case on the Meraki MX65. However in doing so, we are creating an overlap with usb3_phy's ccb-mii range. To resolve this, usb3_phy should be moved to a child node of the internal MDIO bus. The result is heavily based upon Vivek's patch. This has also been cross-referenced with Yendapally Reddy's earlier work which utilised the subsequently dropped brcm,nsp-usb3-phy driver: "[PATCH v2 4/4] arm: dts: nsp: Add USB nodes to device tree" [2]. Finally, this change provides conformance to the bcm-ns-usb3-phy documentation, utilising the required usb3-dmp-syscon property. Note that support for the deprecated ccb-mii bindings has been dropped as of "phy: phy-bcm-ns-usb3: drop support for deprecated DT binding"[3]. [1] https://lore.kernel.org/patchwork/patch/933971/ [2] https://www.spinics.net/lists/arm-kernel/msg555132.html [3] https://lore.kernel.org/linux-devicetree/20201113113423.9466-1-zajec5@gmail.com/ Signed-off-by: Matthew Hagan <mnhagan88@gmail.com> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
-rw-r--r--arch/arm/boot/dts/bcm-nsp.dtsi38
1 files changed, 31 insertions, 7 deletions
diff --git a/arch/arm/boot/dts/bcm-nsp.dtsi b/arch/arm/boot/dts/bcm-nsp.dtsi
index c47edb3458eb..745d1d9d7414 100644
--- a/arch/arm/boot/dts/bcm-nsp.dtsi
+++ b/arch/arm/boot/dts/bcm-nsp.dtsi
@@ -370,6 +370,35 @@
#address-cells = <1>;
};
+ mdio-mux@32000 {
+ compatible = "mdio-mux-mmioreg";
+ reg = <0x32000 0x4>;
+ mux-mask = <0x200>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ mdio-parent-bus = <&mdio>;
+
+ mdio_int: mdio@0 {
+ reg = <0x0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ usb3_phy: usb3-phy@10 {
+ compatible = "brcm,ns-bx-usb3-phy";
+ reg = <0x10>;
+ usb3-dmp-syscon = <&usb3_dmp>;
+ #phy-cells = <0>;
+ status = "disabled";
+ };
+ };
+
+ mdio_ext: mdio@200 {
+ reg = <0x200>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+
rng: rng@33000 {
compatible = "brcm,bcm-nsp-rng";
reg = <0x33000 0x14>;
@@ -528,13 +557,8 @@
};
};
- usb3_phy: usb3-phy@104000 {
- compatible = "brcm,ns-bx-usb3-phy";
- reg = <0x104000 0x1000>,
- <0x032000 0x1000>;
- reg-names = "dmp", "ccb-mii";
- #phy-cells = <0>;
- status = "disabled";
+ usb3_dmp: syscon@104000 {
+ reg = <0x104000 0x1000>;
};
};