RE: [PATCH] arm64: dts: renesas: add/enable USB2.0 peripheral for R-Car [DE]3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Shimoda-San,

Thanks for the patch.

> -----Original Message-----
> From: linux-renesas-soc-owner@xxxxxxxxxxxxxxx <linux-renesas-soc-
> owner@xxxxxxxxxxxxxxx> On Behalf Of Yoshihiro Shimoda
> Sent: 09 October 2018 11:45
> To: horms@xxxxxxxxxxxx; magnus.damm@xxxxxxxxx
> Cc: linux-renesas-soc@xxxxxxxxxxxxxxx; Yoshihiro Shimoda
> <yoshihiro.shimoda.uh@xxxxxxxxxxx>
> Subject: [PATCH] arm64: dts: renesas: add/enable USB2.0 peripheral for R-
> Car [DE]3
>
>  arch/arm64/boot/dts/renesas/r8a77995-draak.dts |  8 +++++
>  arch/arm64/boot/dts/renesas/r8a77995.dtsi      | 45
> ++++++++++++++++++++++++++
>  4 files changed, 106 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/renesas/r8a77990.dtsi
> b/arch/arm64/boot/dts/renesas/r8a77990.dtsi
> index 7278cd5..e3726307 100644
> --- a/arch/arm64/boot/dts/renesas/r8a77990.dtsi
> +++ b/arch/arm64/boot/dts/renesas/r8a77990.dtsi
> @@ -357,6 +357,51 @@
>  resets = <&cpg 407>;
>  };
>
> +hsusb: usb@e6590000 {
> +compatible = "renesas,usbhs-r8a77990",
> +     "renesas,rcar-gen3-usbhs";
> +reg = <0 0xe6590000 0 0x100>;

is it not 0x200?

Renesas_usbhs driver("drivers/usb/renesas_usbhs/common.c ")  maps the address up to 0x100 using "devm_ioremap_resource" function

where as the  "drivers/usb/renesas_usbhs/rcar3"  access  addresses beyond 0x100 (for eg:- 0x102,0x180,0x184,0x188) using iowrite32/16 calls.

This issue is present in other R-Car Gen3 variant as well(for eg:- R-Car H3/M3-W,..... etc).

> +interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
> +clocks = <&cpg CPG_MOD 704>, <&cpg CPG_MOD
> 703>;
> +dmas = <&usb_dmac0 0>, <&usb_dmac0 1>,
> +       <&usb_dmac1 0>, <&usb_dmac1 1>;
> +dma-names = "ch0", "ch1", "ch2", "ch3";
> +renesas,buswait = <11>;
> +phys = <&usb2_phy0>;
> +phy-names = "usb";
> +power-domains = <&sysc
> R8A77990_PD_ALWAYS_ON>;
> +resets = <&cpg 704>, <&cpg 703>;
> +status = "disabled";
> +};
> +
> +usb_dmac0: dma-controller@e65a0000 {
> +compatible = "renesas,r8a77990-usb-dmac",
> +     "renesas,usb-dmac";
> +reg = <0 0xe65a0000 0 0x100>;
> +interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH
> +      GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
> +interrupt-names = "ch0", "ch1";
> +clocks = <&cpg CPG_MOD 330>;
> +power-domains = <&sysc
> R8A77990_PD_ALWAYS_ON>;
> +resets = <&cpg 330>;
> +#dma-cells = <1>;
> +dma-channels = <2>;
> +};
> +
> +usb_dmac1: dma-controller@e65b0000 {
> +compatible = "renesas,r8a77990-usb-dmac",
> +     "renesas,usb-dmac";
> +reg = <0 0xe65b0000 0 0x100>;
> +interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH
> +      GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
> +interrupt-names = "ch0", "ch1";
> +clocks = <&cpg CPG_MOD 331>;
> +power-domains = <&sysc
> R8A77990_PD_ALWAYS_ON>;
> +resets = <&cpg 331>;
> +#dma-cells = <1>;
> +dma-channels = <2>;
> +};
> +
>  dmac0: dma-controller@e6700000 {
>  compatible = "renesas,dmac-r8a77990",
>       "renesas,rcar-dmac";
> diff --git a/arch/arm64/boot/dts/renesas/r8a77995-draak.dts
> b/arch/arm64/boot/dts/renesas/r8a77995-draak.dts
> index 2405eaa..48bb1d7 100644
> --- a/arch/arm64/boot/dts/renesas/r8a77995-draak.dts
> +++ b/arch/arm64/boot/dts/renesas/r8a77995-draak.dts
> @@ -179,6 +179,7 @@
>  };
>
>  &ehci0 {
> +dr_mode = "host";
>  status = "okay";
>  };
>
> @@ -186,6 +187,11 @@
>  clock-frequency = <48000000>;
>  };
>
> +&hsusb {
> +dr_mode = "host";
> +status = "okay";
> +};
> +
>  &i2c0 {
>  pinctrl-0 = <&i2c0_pins>;
>  pinctrl-names = "default";
> @@ -337,6 +343,7 @@
>  };
>
>  &ohci0 {
> +dr_mode = "host";
>  status = "okay";
>  };
>
> @@ -445,6 +452,7 @@
>  pinctrl-0 = <&usb0_pins>;
>  pinctrl-names = "default";
>
> +renesas,no-otg-pins;
>  status = "okay";
>  };
>
> diff --git a/arch/arm64/boot/dts/renesas/r8a77995.dtsi
> b/arch/arm64/boot/dts/renesas/r8a77995.dtsi
> index 214f495..186f477 100644
> --- a/arch/arm64/boot/dts/renesas/r8a77995.dtsi
> +++ b/arch/arm64/boot/dts/renesas/r8a77995.dtsi
> @@ -344,6 +344,51 @@
>  status = "disabled";
>  };
>
> +hsusb: usb@e6590000 {
> +compatible = "renesas,usbhs-r8a77995",
> +     "renesas,rcar-gen3-usbhs";
> +reg = <0 0xe6590000 0 0x100>;

Same as above.

> +interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
> +clocks = <&cpg CPG_MOD 704>, <&cpg CPG_MOD
> 703>;
> +dmas = <&usb_dmac0 0>, <&usb_dmac0 1>,
> +       <&usb_dmac1 0>, <&usb_dmac1 1>;
> +dma-names = "ch0", "ch1", "ch2", "ch3";
> +renesas,buswait = <11>;
> +phys = <&usb2_phy0>;
> +phy-names = "usb";
> +power-domains = <&sysc
> R8A77995_PD_ALWAYS_ON>;
> +resets = <&cpg 704>, <&cpg 703>;
> +status = "disabled";
> +};
> +
> +usb_dmac0: dma-controller@e65a0000 {
> +compatible = "renesas,r8a77995-usb-dmac",
> +     "renesas,usb-dmac";
> +reg = <0 0xe65a0000 0 0x100>;
> +interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH
> +      GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
> +interrupt-names = "ch0", "ch1";
> +clocks = <&cpg CPG_MOD 330>;
> +power-domains = <&sysc
> R8A77995_PD_ALWAYS_ON>;
> +resets = <&cpg 330>;
> +#dma-cells = <1>;
> +dma-channels = <2>;
> +};
> +
> +usb_dmac1: dma-controller@e65b0000 {
> +compatible = "renesas,r8a77995-usb-dmac",
> +     "renesas,usb-dmac";
> +reg = <0 0xe65b0000 0 0x100>;
> +interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH
> +      GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
> +interrupt-names = "ch0", "ch1";
> +clocks = <&cpg CPG_MOD 331>;
> +power-domains = <&sysc
> R8A77995_PD_ALWAYS_ON>;
> +resets = <&cpg 331>;
> +#dma-cells = <1>;
> +dma-channels = <2>;
> +};
> +
>  canfd: can@e66c0000 {
>  compatible = "renesas,r8a77995-canfd",
>       "renesas,rcar-gen3-canfd";
> --
> 1.9.1




Renesas Electronics Europe Ltd, Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, UK. Registered in England & Wales under Registered No. 04586709.




[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux