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

chunfeng yun chunfeng.yun at mediatek.com
Mon Jul 20 07:39:39 PDT 2015


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 <chunfeng.yun at mediatek.com> wrote:
> > Signed-off-by: Chunfeng Yun <chunfeng.yun at 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
> 
> > +               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
> >  #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
> 
> > +                       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





More information about the linux-arm-kernel mailing list