Thread (22 messages) 22 messages, 6 authors, 2015-07-20

[PATCH v2 5/5] arm64: dts: mediatek: add xHCI & usb phy for mt8173

From: chunfeng.yun@mediatek.com (chunfeng yun)
Date: 2015-07-20 14:39:52
Also in: linux-devicetree, linux-mediatek, lkml

Hi,

On Tue, 2015-07-14 at 18:12 +0800, Daniel Kurtz wrote:
Hi Chunfeng,

On Wed, Jul 8, 2015 at 5:41 PM, Chunfeng Yun [off-list ref] wrote:
quoted
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
---
 arch/arm64/boot/dts/mediatek/mt8173-evb.dts | 15 +++++++++++++++
 arch/arm64/boot/dts/mediatek/mt8173.dtsi    | 27 +++++++++++++++++++++++++++
 2 files changed, 42 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8173-evb.dts b/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
index f433c21..cb63dc3 100644
--- a/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
@@ -13,6 +13,7 @@
  */

 /dts-v1/;
+#include <dt-bindings/gpio/gpio.h>
 #include "mt8173.dtsi"

 / {
@@ -32,6 +33,15 @@
        };

        chosen { };
+
+       usb_p1_vbus: fixedregulator at 0 {
Why @0 ?
It is the first fixed regulator, so set it to 0 as a index.
I will remove it later
quoted
+               compatible = "regulator-fixed";
+               regulator-name = "usb_vbus";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               gpio = <&pio 130 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };

 &pwrap {
@@ -211,3 +221,8 @@
 &uart0 {
        status = "okay";
 };
+
+&usb {
+       reg-vusb33-supply = <&mt6397_vusb_reg>;
+       reg-vbus-supply = <&usb_p1_vbus>;
+};
diff --git a/arch/arm64/boot/dts/mediatek/mt8173.dtsi b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
index 0696f8f..452bd0a 100644
--- a/arch/arm64/boot/dts/mediatek/mt8173.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
@@ -15,6 +15,7 @@
 #include <dt-bindings/interrupt-controller/irq.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/reset-controller/mt8173-resets.h>
+#include <dt-bindings/power/mt8173-power.h>
Sort alphabetically, so:
power before reset
Ok
quoted
 #include "mt8173-pinfunc.h"

 / {
@@ -393,6 +394,32 @@
                        #size-cells = <0>;
                        status = "disabled";
                };
+
+               usb: usb30 at 11270000 {
+                       compatible = "mediatek,mt8173-xhci";
+                       reg = <0 0x11270000 0 0x1000>;
+                       interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_LOW>;
+                       usb-phy = <&u3phy>;
+                       usb3-lpm-capable;
+                       clocks = <&topckgen CLK_TOP_USB30_SEL>;
+                       clock-names = "sys_mac";
+               };
+
+               u3phy: usb-phy at 11271000 {
+                       compatible = "mediatek,mt8173-u3phy";
+                       reg = <0 0x11271000 0 0x3000>,
+                             <0 0x11280000 0 0x20000>;
+                       power-domains = <&scpsys MT8173_POWER_DOMAIN_USB>;
+                       usb-wakeup-ctrl = <&pericfg>;
+                       wakeup-src = <1>;
+                       u2port-num = <2>;
Mediatek specific properties should be prefixed with "mediatek,".
I also find it nicer if you put the standard properties first:
  (compatible, reg, clocks, clock-names, power-domains)
then device specific properties:
  (usb-wakeup-ctrl, wakeup-src, u2port-num)
and then the final:
  status="disabled";

This last is currently missing, so please add it, too.
I will revise it. Thanks a lot.
Also, is there some pinctrl settings that must be set for USB?
There is no special pinctrl setting for USB on EVB board on which driver
is tested.
Lastly, I could not quite figure out which patch this set was based on.
Patch [0] mentions v4.2-rc1, however, the .dts changes in this patch
did not apply cleanly.
Perhaps it was based on a particular patch of Matthias tree?
Yes, it is.
Thanks!
-Dan
quoted
+                       clocks = <&pericfg CLK_PERI_USB0>,
+                                <&pericfg CLK_PERI_USB1>,
+                                <&apmixedsys CLK_APMIXED_REF2USB_TX>;
+                       clock-names = "wakeup_deb_p0",
+                                     "wakeup_deb_p1",
+                                     "u3phya_ref";
+               };
        };
 };

--
1.8.1.1.dirty


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help