| From 3c321ba794ca6383a4aa68ea803e18cc6ad44412 Mon Sep 17 00:00:00 2001 |
| From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl> |
| Date: Fri, 19 Feb 2021 06:50:26 +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 <rafal@milecki.pl> |
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> |
| --- |
| .../bcm4908/bcm4906-netgear-r8000p.dts | 17 +++++++++++++ |
| .../bcm4908/bcm4908-asus-gt-ac5300.dts | 17 +++++++++++++ |
| .../boot/dts/broadcom/bcm4908/bcm4908.dtsi | 25 ++++++++++++++++--- |
| 3 files changed, 55 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,23 @@ |
| }; |
| }; |
| |
| +&usb_phy { |
| + brcm,ioc = <1>; |
| + 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 = "ctrl"; |
| + 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>; |