From: Oliver Graute <oliver.graute@gmail.com>
To: Peter Chen <peter.chen@nxp.com>
Cc: "linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
Felipe Balbi <balbi@kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Sascha Hauer <s.hauer@pengutronix.de>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Fabio Estevam <festevam@gmail.com>,
Oliver Graute <Oliver.Graute@KoCoConnector.com>,
dl-linux-imx <linux-imx@nxp.com>
Subject: Re: using cdns3-imx driver on imx8qm
Date: Tue, 31 Mar 2020 16:25:29 +0200 [thread overview]
Message-ID: <20200331142528.GA2246@portage> (raw)
In-Reply-To: <20200327132153.GA31668@b29397-desktop>
On 27/03/20, Peter Chen wrote:
> On 20-03-27 10:50:28, Oliver Graute wrote:
> > On 27/03/20, Peter Chen wrote:
> > > On 20-03-26 18:01:09, Oliver Graute wrote:
> > > > Hello,
> > > >
> > > > What is the right way for using the new cdns3-imx glue usb driver on a
> > > > imx8qm soc with linux-next. I added this snippet in imx8qm.dtsi and
> > > > enabled the driver in the kernel configuration.
> > > >
> > >
> > > Hi Oliver,
> > >
> > > I just checked linux-next-0326, there is no imx8qm dtsi.
> >
> > I'am currently using this series on top of linux-next-0214.
> >
> > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatchwork.kernel.org%2Fpatch%2F11248331%2F&data=02%7C01%7Cpeter.chen%40nxp.com%7C1b6963823b924b76684908d7d2344976%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637208994318640157&sdata=HGG4r65ROTeY54uQArcWTZGT9%2BLrr0kndwmDegULtDw%3D&reserved=0
> >
> >
> > > When I worked this driver, I use a internal version
> > > based on v5.4, the dts layout is different with internal tree.
> >
> > I looked also at:
> >
> > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsource.codeaurora.org%2Fexternal%2Fimx%2Flinux-imx%2Ftree%2Farch%2Farm64%2Fboot%2Fdts%2Ffreescale%2Fimx8-ss-conn.dtsi%3Fh%3Dimx_5.4.3_2.0.0&data=02%7C01%7Cpeter.chen%40nxp.com%7C1b6963823b924b76684908d7d2344976%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637208994318640157&sdata=yTiMWh5BpWdtA%2B8Vy06KeCvg2jPzlgPOmKaM3fmK%2F6w%3D&reserved=0
> >
> > How do I adapt the usbotg3 for linux-next? I already ported some usb
> > related dependencies from imx8-ss-conn.dtsi. But the cdns3 core driver
> > is stucked at probe and currently I don't understand how the cdns3-imx glue
> > layer comes into play.
> >
>
> cdns3-imx is the parent device, the cdns3 core is the child device. The
> example dts like below:
>
> usb3_lpcg: clock-controller@5b280000 {
> compatible = "fsl,imx8qxp-lpcg";
> reg = <0x5b280000 0x10000>;
> #clock-cells = <1>;
> bit-offset = <0 4 16 20 24 28>;
> clocks = <&clk IMX_SC_R_USB_2 IMX_SC_PM_CLK_PER>,
> <&clk IMX_SC_R_USB_2 IMX_SC_PM_CLK_MISC>,
> <&conn_ipg_clk>,
> <&conn_ipg_clk>,
> <&conn_ipg_clk>,
> <&clk IMX_SC_R_USB_2 IMX_SC_PM_CLK_MST_BUS>;
> clock-output-names = "usb3_app_clk",
> "usb3_lpm_clk",
> "usb3_ipg_clk",
> "usb3_core_pclk",
> "usb3_phy_clk",
> "usb3_aclk";
> power-domains = <&pd IMX_SC_R_USB_2_PHY>;
> };
>
> usbotg3: usb3@5b110000 {
> compatible = "fsl,imx8qm-usb3";
> #address-cells = <1>;
> #size-cells = <1>;
> ranges;
> reg = <0x5B110000 0x10000>;
> clocks = <&usb3_lpcg 1>,
> <&usb3_lpcg 0>,
> <&usb3_lpcg 5>,
> <&usb3_lpcg 2>,
> <&usb3_lpcg 3>;
> clock-names = "usb3_lpm_clk", "usb3_bus_clk", "usb3_aclk",
> "usb3_ipg_clk", "usb3_core_pclk";
> assigned-clocks = <&clk IMX_SC_R_USB_2 IMX_SC_PM_CLK_PER>,
> <&clk IMX_SC_R_USB_2 IMX_SC_PM_CLK_MISC>,
> <&clk IMX_SC_R_USB_2 IMX_SC_PM_CLK_MST_BUS>;
> assigned-clock-rates = <125000000>, <12000000>, <250000000>;
> power-domains = <&pd IMX_SC_R_USB_2>;
> status = "disabled";
>
> usbotg3_cdns3: cdns3 {
> compatible = "cdns,usb3";
> #address-cells = <1>;
> #size-cells = <1>;
> interrupt-parent = <&gic>;
> interrupts = <GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>,
> <GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>,
> <GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>;
> interrupt-names = "host", "peripheral", "otg";
> reg = <0x5B130000 0x10000>, /* memory area for HOST registers */
> <0x5B140000 0x10000>, /* memory area for DEVICE registers */
> <0x5B120000 0x10000>; /* memory area for OTG/DRD registers */
> reg-names = "xhci", "dev", "otg";
> phys = <&usb3_phy>;
> phy-names = "cdns3,usb3-phy";
> status = "disabled";
> };
> };
Hello Peter,
thx for the dts example. Now I get "wait clkvld timeout" in
"cdns_imx_noncore_init()" So USB3_SSPHY_STATUS register seems to be wrong.
dmesg | grep imx
[ 1.065445] cdns3-imx 5b110000.usb3: Adding to iommu group 0
[ 1.257309] imx-scu scu: NXP i.MX SCU Initialized
[ 1.275489] imx-scu-clk: probe of gpt0_clk failed with error -5
[ 1.291143] imx-scu-clk: probe of pwm_clk failed with error -22
[ 1.302517] imx-scu-clk: probe of lcd_clk failed with error -22
[ 1.341405] imx8qm-pinctrl scu:pinctrl: initialized IMX pinctrl driver
[ 3.029484] cdns3-imx 5b110000.usb3: wait clkvld timeout
[ 3.034891] cdns3-imx: probe of 5b110000.usb3 failed with error -110
[ 3.237393] sdhci-esdhc-imx 5b030000.mmc: Got CD GPIO
[ 3.242468] sdhci-esdhc-imx 5b030000.mmc: Got WP GPIO
[ 3.316687] imx8qxp-lpcg-clk 5a4a0000.clock-controller: ignoring dependency for device, assuming no driver
Some Idea howto fix that?
Best regards,
Oliver
next prev parent reply other threads:[~2020-03-31 14:25 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-26 17:01 using cdns3-imx driver on imx8qm Oliver Graute
2020-03-27 9:05 ` Peter Chen
2020-03-27 9:50 ` Oliver Graute
2020-03-27 13:21 ` Peter Chen
2020-03-31 14:25 ` Oliver Graute [this message]
2020-03-31 14:39 ` Peter Chen
2020-04-01 10:34 ` Oliver Graute
2020-04-01 11:36 ` Felipe Balbi
2020-04-02 1:16 ` Peter Chen
2020-04-03 14:40 ` Oliver Graute
2020-04-06 16:25 ` Oliver Graute
2020-04-07 2:46 ` Peter Chen
2020-04-07 16:37 ` Oliver Graute
2020-04-07 19:57 ` Oliver Graute
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200331142528.GA2246@portage \
--to=oliver.graute@gmail.com \
--cc=Oliver.Graute@KoCoConnector.com \
--cc=balbi@kernel.org \
--cc=festevam@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=kernel@pengutronix.de \
--cc=linux-imx@nxp.com \
--cc=linux-usb@vger.kernel.org \
--cc=peter.chen@nxp.com \
--cc=s.hauer@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.