[openwrt/openwrt] bcm4908: add DTS patches for USB PHY and partitions

LEDE Commits lede-commits at lists.infradead.org
Wed Jan 20 16:01:05 EST 2021


rmilecki pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/e6fb4d08a1aef49c5a10743dcdb72f59ff53870a

commit e6fb4d08a1aef49c5a10743dcdb72f59ff53870a
Author: Rafał Miłecki <rafal at milecki.pl>
AuthorDate: Wed Jan 20 21:23:49 2021 +0100

    bcm4908: add DTS patches for USB PHY and partitions
    
    Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
---
 ...m64-dts-broadcom-bcm4908-describe-USB-PHY.patch | 132 +++++++++++++++++++++
 ...roadcom-bcm4908-improve-partitions-descri.patch |  69 +++++++++++
 2 files changed, 201 insertions(+)

diff --git a/target/linux/bcm4908/patches-5.4/300-arm64-dts-broadcom-bcm4908-describe-USB-PHY.patch b/target/linux/bcm4908/patches-5.4/300-arm64-dts-broadcom-bcm4908-describe-USB-PHY.patch
new file mode 100644
index 0000000000..b0b8cc5748
--- /dev/null
+++ b/target/linux/bcm4908/patches-5.4/300-arm64-dts-broadcom-bcm4908-describe-USB-PHY.patch
@@ -0,0 +1,132 @@
+From 28d11220a92e9fc4d7d1b8e52dc1c48980e336a1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal at milecki.pl>
+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 <rafal at milecki.pl>
+---
+ .../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 at 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 at c300 {
++		usb_phy: usb-phy at 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 at c300 {
+ 			compatible = "generic-ehci";
+ 			reg = <0xc300 0x100>;
+ 			interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
++			phys = <&usb_phy PHY_TYPE_USB2>;
+ 			status = "disabled";
+ 		};
+ 
+-		usb at c400 {
++		ohci: usb at c400 {
+ 			compatible = "generic-ohci";
+ 			reg = <0xc400 0x100>;
+ 			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
++			phys = <&usb_phy PHY_TYPE_USB2>;
+ 			status = "disabled";
+ 		};
+ 
+-		usb at d000 {
++		xhci: usb at 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 at 2800c0 {
++			pmb: power-controller at 2800c0 {
+ 				compatible = "brcm,bcm4908-pmb";
+ 				reg = <0x2800c0 0x40>;
+ 				#power-domain-cells = <1>;
diff --git a/target/linux/bcm4908/patches-5.4/301-arm64-dts-broadcom-bcm4908-improve-partitions-descri.patch b/target/linux/bcm4908/patches-5.4/301-arm64-dts-broadcom-bcm4908-improve-partitions-descri.patch
new file mode 100644
index 0000000000..524a433335
--- /dev/null
+++ b/target/linux/bcm4908/patches-5.4/301-arm64-dts-broadcom-bcm4908-improve-partitions-descri.patch
@@ -0,0 +1,69 @@
+From e401e6fe9195eabfc6c81d8aed920a75b5d7987b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal at milecki.pl>
+Date: Wed, 20 Jan 2021 20:53:35 +0100
+Subject: [PATCH] arm64: dts: broadcom: bcm4908: improve partitions description
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+1. Use proper bindings
+2. Add missing partitions
+
+Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
+---
+ .../bcm4908/bcm4906-netgear-r8000p.dts        |  1 +
+ .../bcm4908/bcm4908-asus-gt-ac5300.dts        | 27 ++++++++++++++++++-
+ 2 files changed, 27 insertions(+), 1 deletion(-)
+
+--- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-netgear-r8000p.dts
++++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-netgear-r8000p.dts
+@@ -62,6 +62,7 @@
+ 		};
+ 
+ 		partition at 100000 {
++			compatible = "brcm,bcm4908-firmware";
+ 			label = "firmware";
+ 			reg = <0x100000 0x4400000>;
+ 		};
+--- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts
++++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts
+@@ -121,7 +121,7 @@
+ 	#size-cells = <0>;
+ 
+ 	partitions {
+-		compatible = "fixed-partitions";
++		compatible = "brcm,bcm4908-partitions";
+ 		#address-cells = <1>;
+ 		#size-cells = <1>;
+ 
+@@ -129,5 +129,30 @@
+ 			label = "cferom";
+ 			reg = <0x0 0x100000>;
+ 		};
++
++		partition at 100000 {
++			compatible = "brcm,bcm4908-firmware";
++			reg = <0x100000 0x5700000>;
++		};
++
++		partition at 5800000 {
++			compatible = "brcm,bcm4908-firmware";
++			reg = <0x5800000 0x5700000>;
++		};
++
++		partition at af00000 {
++			label = "misc1";
++			reg = <0xaf00000 0x800000>;
++		};
++
++		partition at b700000 {
++			label = "misc2";
++			reg = <0xb700000 0x4000000>;
++		};
++
++		partition at f700000 {
++			label = "data";
++			reg = <0xf700000 0x800000>;
++		};
+ 	};
+ };



More information about the lede-commits mailing list