bcm53xx: add patch specifying USB controllers in DT

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
This commit is contained in:
Rafał Miłecki 2016-10-01 16:22:24 +02:00
parent d5dcb1bf97
commit 7120a43013
2 changed files with 64 additions and 4 deletions

View file

@ -192,10 +192,11 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
static int bcma_hcd_usb30_init(struct bcma_hcd_device *bcma_hcd) static int bcma_hcd_usb30_init(struct bcma_hcd_device *bcma_hcd)
{ {
struct bcma_device *core = bcma_hcd->core; struct bcma_device *core = bcma_hcd->core;
@@ -419,6 +569,14 @@ static int bcma_hcd_usb30_init(struct bc @@ -419,7 +569,13 @@ static int bcma_hcd_usb30_init(struct bc
bcma_core_enable(core, 0); bcma_core_enable(core, 0);
- of_platform_default_populate(dev->of_node, NULL, dev);
+ bcma_hcd_usb30_phy_init(bcma_hcd); + bcma_hcd_usb30_phy_init(bcma_hcd);
+ +
+ bcma_hcd->xhci_dev = bcma_hcd_create_pdev(core, "xhci-hcd", core->addr, + bcma_hcd->xhci_dev = bcma_hcd_create_pdev(core, "xhci-hcd", core->addr,
@ -203,11 +204,10 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
+ sizeof(xhci_pdata)); + sizeof(xhci_pdata));
+ if (IS_ERR(bcma_hcd->ohci_dev)) + if (IS_ERR(bcma_hcd->ohci_dev))
+ return PTR_ERR(bcma_hcd->ohci_dev); + return PTR_ERR(bcma_hcd->ohci_dev);
+
of_platform_default_populate(dev->of_node, NULL, dev);
return 0; return 0;
@@ -471,11 +629,14 @@ static void bcma_hcd_remove(struct bcma_ }
@@ -471,11 +627,14 @@ static void bcma_hcd_remove(struct bcma_
struct bcma_hcd_device *usb_dev = bcma_get_drvdata(dev); struct bcma_hcd_device *usb_dev = bcma_get_drvdata(dev);
struct platform_device *ohci_dev = usb_dev->ohci_dev; struct platform_device *ohci_dev = usb_dev->ohci_dev;
struct platform_device *ehci_dev = usb_dev->ehci_dev; struct platform_device *ehci_dev = usb_dev->ehci_dev;

View file

@ -0,0 +1,60 @@
From 0ec09deb054c9cb37c444f2d40eccdba0ab0372f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
Date: Sat, 1 Oct 2016 13:57:59 +0200
Subject: [PATCH] ARM: BCM5301X: Specify USB controllers in DT
---
--- a/arch/arm/boot/dts/bcm5301x.dtsi
+++ b/arch/arm/boot/dts/bcm5301x.dtsi
@@ -248,8 +248,29 @@
#address-cells = <1>;
#size-cells = <1>;
+ ranges;
- phys = <&usb2_phy>;
+ interrupt-parent = <&gic>;
+
+ ohci: ohci@21000 {
+ #usb-cells = <0>;
+
+ compatible = "generic-ohci";
+ reg = <0x00022000 0x1000>;
+ interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ ehci: ehci@22000 {
+ #usb-cells = <0>;
+
+ compatible = "generic-ehci";
+ reg = <0x00021000 0x1000>;
+ interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
+ phys = <&usb2_phy>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
};
usb3: usb3@23000 {
@@ -257,6 +278,19 @@
#address-cells = <1>;
#size-cells = <1>;
+ ranges;
+
+ interrupt-parent = <&gic>;
+
+ xhci: xhci@23000 {
+ #usb-cells = <0>;
+
+ compatible = "generic-xhci";
+ reg = <0x00023000 0x1000>;
+ interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
+ phys = <&usb3_phy>;
+ phy-names = "usb";
+ };
};
spi@29000 {