[PATCH v2 5/5] arm64: dts: mediatek: add xHCI & usb phy for mt8173
Daniel Kurtz
djkurtz at chromium.org
Tue Jul 14 03:12:22 PDT 2015
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 ?
> + 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
> #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.
Also, is there some pinctrl settings that must be set for USB?
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?
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