[v3,5/5] arm64: dts: mediatek: add xHCI & usb phy for mt8173
diff mbox

Message ID 1437573945-31586-6-git-send-email-chunfeng.yun@mediatek.com
State New
Headers show

Commit Message

Chunfeng Yun July 22, 2015, 2:05 p.m. UTC
add xHCI and phy drivers for MT8173-EVB

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    | 31 +++++++++++++++++++++++++++++
 2 files changed, 46 insertions(+)

Comments

Sergei Shtylyov July 22, 2015, 6:11 p.m. UTC | #1
Hello.

On 07/22/2015 05:05 PM, Chunfeng Yun wrote:

> add xHCI and phy drivers for MT8173-EVB

> 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    | 31 +++++++++++++++++++++++++++++
>   2 files changed, 46 insertions(+)

> diff --git a/arch/arm64/boot/dts/mediatek/mt8173-evb.dts b/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
> index f433c21..202b2b9 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@0 {

    Just "regulator@0" please. This is more in line with what ePAPR requires 
from the node names.

> +		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 {
[...]
> diff --git a/arch/arm64/boot/dts/mediatek/mt8173.dtsi b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
> index 0696f8f..aa1ecc7 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8173.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
[...]
> @@ -393,6 +394,36 @@
>   			#size-cells = <0>;
>   			status = "disabled";
>   		};
> +
> +		usb: usb30@11270000 {

    ePAPR standardizes the name "usb" for such nodes, please fix.

[...]

MBR, Sergei
Chunfeng Yun July 26, 2015, 2:41 a.m. UTC | #2
hi
On Wed, 2015-07-22 at 21:11 +0300, Sergei Shtylyov wrote:
> Hello.
> 
> On 07/22/2015 05:05 PM, Chunfeng Yun wrote:
> 
> > add xHCI and phy drivers for MT8173-EVB
> 
> > 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    | 31 +++++++++++++++++++++++++++++
> >   2 files changed, 46 insertions(+)
> 
> > diff --git a/arch/arm64/boot/dts/mediatek/mt8173-evb.dts b/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
> > index f433c21..202b2b9 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@0 {
> 
>     Just "regulator@0" please. This is more in line with what ePAPR requires 
> from the node names.
> 
> > +		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 {
> [...]
> > diff --git a/arch/arm64/boot/dts/mediatek/mt8173.dtsi b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
> > index 0696f8f..aa1ecc7 100644
> > --- a/arch/arm64/boot/dts/mediatek/mt8173.dtsi
> > +++ b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
> [...]
> > @@ -393,6 +394,36 @@
> >   			#size-cells = <0>;
> >   			status = "disabled";
> >   		};
> > +
> > +		usb: usb30@11270000 {
> 
>     ePAPR standardizes the name "usb" for such nodes, please fix.
> 
> [...]
> 
ok, I'll revise it, thanks a lot

> MBR, Sergei
>

Patch
diff mbox

diff --git a/arch/arm64/boot/dts/mediatek/mt8173-evb.dts b/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
index f433c21..202b2b9 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@0 {
+		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 {
+	vusb33-supply = <&mt6397_vusb_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..aa1ecc7 100644
--- a/arch/arm64/boot/dts/mediatek/mt8173.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
@@ -14,6 +14,7 @@ 
 #include <dt-bindings/clock/mt8173-clk.h>
 #include <dt-bindings/interrupt-controller/irq.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/power/mt8173-power.h>
 #include <dt-bindings/reset-controller/mt8173-resets.h>
 #include "mt8173-pinfunc.h"
 
@@ -393,6 +394,36 @@ 
 			#size-cells = <0>;
 			status = "disabled";
 		};
+
+		usb: usb30@11270000 {
+			compatible = "mediatek,mt8173-xhci";
+			reg = <0 0x11270000 0 0x4000>,
+			      <0 0x11280000 0 0x0800>;
+			interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_LOW>;
+			power-domains = <&scpsys MT8173_POWER_DOMAIN_USB>;
+			clocks = <&topckgen CLK_TOP_USB30_SEL>,
+				 <&pericfg CLK_PERI_USB0>,
+				 <&pericfg CLK_PERI_USB1>;
+			clock-names = "sys_mac",
+				      "wakeup_deb_p0",
+				      "wakeup_deb_p1";
+			phys = <&u3phy 0>, <&u3phy 1>;
+			phy-names = "phy-0", "phy-1";
+			usb3-lpm-capable;
+			mediatek,usb-wakeup = <&pericfg>;
+			mediatek,wakeup-src = <1>;
+			mediatek,u2port-num = <2>;
+			status = "okay";
+		};
+
+		u3phy: usb-phy@11290000 {
+			compatible = "mediatek,mt8173-u3phy";
+			reg = <0 0x11290000 0 0x3000>;
+			clocks = <&apmixedsys CLK_APMIXED_REF2USB_TX>;
+			clock-names = "u3phya_ref";
+			#phy-cells = <1>;
+			status = "okay";
+		};
 	};
 };