|
@@ -0,0 +1,132 @@
|
|
|
|
+From 28d11220a92e9fc4d7d1b8e52dc1c48980e336a1 Mon Sep 17 00:00:00 2001
|
|
|
|
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <[email protected]>
|
|
|
|
+Date: Wed, 20 Jan 2021 20:34:00 +0100
|
|
|
|
+Subject: [PATCH] arm64: dts: broadcom: bcm4908: describe USB PHY
|
|
|
|
+MIME-Version: 1.0
|
|
|
|
+Content-Type: text/plain; charset=UTF-8
|
|
|
|
+Content-Transfer-Encoding: 8bit
|
|
|
|
+
|
|
|
|
+BCM4908 uses slightly modified STB family USB PHY. It handles OHCI/EHCI
|
|
|
|
+and XHCI. It requires powering up using the PMB.
|
|
|
|
+
|
|
|
|
+Signed-off-by: Rafał Miłecki <[email protected]>
|
|
|
|
+---
|
|
|
|
+ .../bcm4908/bcm4906-netgear-r8000p.dts | 17 +++++++++++++
|
|
|
|
+ .../bcm4908/bcm4908-asus-gt-ac5300.dts | 16 ++++++++++++
|
|
|
|
+ .../boot/dts/broadcom/bcm4908/bcm4908.dtsi | 25 ++++++++++++++++---
|
|
|
|
+ 3 files changed, 54 insertions(+), 4 deletions(-)
|
|
|
|
+
|
|
|
|
+--- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-netgear-r8000p.dts
|
|
|
|
++++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-netgear-r8000p.dts
|
|
|
|
+@@ -26,6 +26,23 @@
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
++&usb_phy {
|
|
|
|
++ brcm,ioc = <1>;
|
|
|
|
++ status = "okay";
|
|
|
|
++};
|
|
|
|
++
|
|
|
|
++&ehci {
|
|
|
|
++ status = "okay";
|
|
|
|
++};
|
|
|
|
++
|
|
|
|
++&ohci {
|
|
|
|
++ status = "okay";
|
|
|
|
++};
|
|
|
|
++
|
|
|
|
++&xhci {
|
|
|
|
++ status = "okay";
|
|
|
|
++};
|
|
|
|
++
|
|
|
|
+ &nandcs {
|
|
|
|
+ nand-ecc-strength = <4>;
|
|
|
|
+ nand-ecc-step-size = <512>;
|
|
|
|
+--- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts
|
|
|
|
++++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts
|
|
|
|
+@@ -44,6 +44,22 @@
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
++&usb_phy {
|
|
|
|
++ status = "okay";
|
|
|
|
++};
|
|
|
|
++
|
|
|
|
++&ehci {
|
|
|
|
++ status = "okay";
|
|
|
|
++};
|
|
|
|
++
|
|
|
|
++&ohci {
|
|
|
|
++ status = "okay";
|
|
|
|
++};
|
|
|
|
++
|
|
|
|
++&xhci {
|
|
|
|
++ status = "okay";
|
|
|
|
++};
|
|
|
|
++
|
|
|
|
+ &ports {
|
|
|
|
+ port@0 {
|
|
|
|
+ label = "lan2";
|
|
|
|
+--- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi
|
|
|
|
++++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi
|
|
|
|
+@@ -2,6 +2,8 @@
|
|
|
|
+
|
|
|
|
+ #include <dt-bindings/interrupt-controller/irq.h>
|
|
|
|
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
|
|
++#include <dt-bindings/phy/phy.h>
|
|
|
|
++#include <dt-bindings/soc/bcm-pmb.h>
|
|
|
|
+
|
|
|
|
+ /dts-v1/;
|
|
|
|
+
|
|
|
|
+@@ -110,24 +112,39 @@
|
|
|
|
+ #size-cells = <1>;
|
|
|
|
+ ranges = <0x00 0x00 0x80000000 0x281000>;
|
|
|
|
+
|
|
|
|
+- usb@c300 {
|
|
|
|
++ usb_phy: usb-phy@c200 {
|
|
|
|
++ compatible = "brcm,bcm4908-usb-phy";
|
|
|
|
++ reg = <0xc200 0x100>;
|
|
|
|
++ reg-names = "crtl";
|
|
|
|
++ power-domains = <&pmb BCM_PMB_HOST_USB>;
|
|
|
|
++ dr_mode = "host";
|
|
|
|
++ brcm,has-xhci;
|
|
|
|
++ brcm,has-eohci;
|
|
|
|
++ #phy-cells = <1>;
|
|
|
|
++ status = "disabled";
|
|
|
|
++ };
|
|
|
|
++
|
|
|
|
++ ehci: usb@c300 {
|
|
|
|
+ compatible = "generic-ehci";
|
|
|
|
+ reg = <0xc300 0x100>;
|
|
|
|
+ interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
++ phys = <&usb_phy PHY_TYPE_USB2>;
|
|
|
|
+ status = "disabled";
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+- usb@c400 {
|
|
|
|
++ ohci: usb@c400 {
|
|
|
|
+ compatible = "generic-ohci";
|
|
|
|
+ reg = <0xc400 0x100>;
|
|
|
|
+ interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
++ phys = <&usb_phy PHY_TYPE_USB2>;
|
|
|
|
+ status = "disabled";
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+- usb@d000 {
|
|
|
|
++ xhci: usb@d000 {
|
|
|
|
+ compatible = "generic-xhci";
|
|
|
|
+ reg = <0xd000 0x8c8>;
|
|
|
|
+ interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
++ phys = <&usb_phy PHY_TYPE_USB3>;
|
|
|
|
+ status = "disabled";
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+@@ -222,7 +239,7 @@
|
|
|
|
+ #address-cells = <1>;
|
|
|
|
+ #size-cells = <1>;
|
|
|
|
+
|
|
|
|
+- power-controller@2800c0 {
|
|
|
|
++ pmb: power-controller@2800c0 {
|
|
|
|
+ compatible = "brcm,bcm4908-pmb";
|
|
|
|
+ reg = <0x2800c0 0x40>;
|
|
|
|
+ #power-domain-cells = <1>;
|