From: Heiko Stuebner <heiko@sntech.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3 1/4] usb: rockchip-phy: implement USB2.0 phy control for Synopsys
Date: Thu, 07 Jul 2016 22:33:54 +0200 [thread overview]
Message-ID: <12908616.UVeBjt7Yt7@phil> (raw)
In-Reply-To: <577DB74E.7040001@rock-chips.com>
Am Donnerstag, 7. Juli 2016, 09:58:38 schrieb Ziyuan Xu:
> On 2016?07?06? 21:42, Heiko Stuebner wrote:
> > Am Mittwoch, 6. Juli 2016, 14:48:57 schrieb Heiko Stuebner:
> >> Am Mittwoch, 6. Juli 2016, 18:20:04 schrieb Ziyuan Xu:
> >>> Hi heiko,
> >>>
> >>> On 2016?07?06? 17:34, Ziyuan Xu wrote:
> >>>> From: Xu Ziyuan <xzy.xu@rock-chips.com>
> >>>>
> >>>> So far, Rockchip SoCs have two kinds of USB2.0 phy, like Synopsys and
> >>>> Innosilicon. This patch applys dwc2 usb driver framework to implement
> >>>> phy_init and phy_off for Synopsys phy on Rockchip platform.
> >>>>
> >>>> Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
> >>>>
> >>>> ---
> >>>>
> >>>> Changes in v3:
> >>>> - Make UOC_CON registers to be unfixed which should be got from DT
> >>>>
> >>>> Changes in v2:
> >>>> - Rename rk3288_usb_phy.c to rockchip_usb_syno_phy.c
> >>>> - Rework the behaviour in otg_phy_init() and otg_phy_off()
> >>>>
> >>>> drivers/usb/phy/Makefile | 1 +
> >>>> drivers/usb/phy/rockchip_usb_syno_phy.c | 47
> >>>> +++++++++++++++++++++++++++++++++ 2 files changed, 48
> >>>> insertions(+)
> >>>> create mode 100644 drivers/usb/phy/rockchip_usb_syno_phy.c
> >>>>
> >>>> diff --git a/drivers/usb/phy/Makefile b/drivers/usb/phy/Makefile
> >>>> index 93d147e..8002a18 100644
> >>>> --- a/drivers/usb/phy/Makefile
> >>>> +++ b/drivers/usb/phy/Makefile
> >>>> @@ -7,3 +7,4 @@
> >>>>
> >>>> obj-$(CONFIG_TWL4030_USB) += twl4030.o
> >>>> obj-$(CONFIG_OMAP_USB_PHY) += omap_usb_phy.o
> >>>>
> >>>> +obj-$(CONFIG_ROCKCHIP_USB_SYNO_PHY) += rockchip_usb_syno_phy.o
> >>>> diff --git a/drivers/usb/phy/rockchip_usb_syno_phy.c
> >>>> b/drivers/usb/phy/rockchip_usb_syno_phy.c new file mode 100644
> >>>> index 0000000..ab049e1
> >>>> --- /dev/null
> >>>> +++ b/drivers/usb/phy/rockchip_usb_syno_phy.c
> >>>> @@ -0,0 +1,47 @@
> >>>> +/*
> >>>> + * Copyright 2016 Rockchip Electronics Co., Ltd
> >>>> + *
> >>>> + * SPDX-License-Identifier: GPL-2.0+
> >>>> + */
> >>>> +
> >>>> +#include <common.h>
> >>>> +#include <asm/io.h>
> >>>> +
> >>>> +#include "../gadget/dwc2_udc_otg_priv.h"
> >>>> +
> >>>> +#define UOC_CON(x) ((x) * 0x4)
> >>>
> >>> As you know, dwc2 usb driver didn't apply devicetree model. It's hard
> >>> to
> >>> implement a compatible driver for Rockchip SoCs which use a same udc.
> >>
> >> Yeah, it is pretty strange that the dwc2 host part in uboot uses the
> >> devicetree while the gadget part does not - but I maybe someone else
> >> can
> >> answer this, as my contact with uboot was limited until now.
> >> The dwc2 host driver works just fine on my rk3036 kylin board.
> >>
> >>> For example,
> >>> SOFT_CTRL bit is UOC_CON2[2] on RK3288
> >>> I can't assure it's also UOC_CON[2] on other socs.
> >>> Do you have any good ideas?
> >>
> >> Operating under the current constraints, I guess you could simply do
> >> something similar to what socfpga does in its board file.
>
> socfpga? Could you please indicate which project and file? I can't find
> out it.
>
> >> Aka get the usb controller node, read the phy phandle and get the phy
> >> compatible string from the dts. The usbphys each have per-soc
> >> compatible
> >> values "rockchip,rk3288-usbphy" etc, so you can determine the needed
> >> bits
> >> over that.
>
> In patchset [v3.3/4](http://patchwork.ozlabs.org/patch/645188/), I had
> get usb-phy offset from grf.
> If I understand it correctly, you mean that implement a struct in driver
> to match compatible and platdata. Then define any properties in
> platdata, contains of some bits which will be used. Something similar
> to https://patchwork.kernel.org/patch/9190287/?
yep, you just need to find some mechanism to identify the soc you're running
on so that the phy part can access the right registers on each one.
Heiko
next prev parent reply other threads:[~2016-07-07 20:33 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-06 9:34 [U-Boot] [PATCH v3 0/4] rockchip: rk3288: add fastboot support Ziyuan Xu
2016-07-06 9:34 ` [U-Boot] [PATCH v3 1/4] usb: rockchip-phy: implement USB2.0 phy control for Synopsys Ziyuan Xu
2016-07-06 10:20 ` Ziyuan Xu
2016-07-06 12:48 ` Heiko Stuebner
2016-07-06 13:42 ` Heiko Stuebner
2016-07-07 1:58 ` Ziyuan Xu
2016-07-07 20:33 ` Heiko Stuebner [this message]
2016-07-08 0:40 ` Ziyuan Xu
2016-07-06 9:34 ` [U-Boot] [PATCH v3 2/4] usb: dwc2-otg: re-define fifo-size for Rockchip SoCs Ziyuan Xu
2016-07-06 9:34 ` [U-Boot] [PATCH v3 3/4] rockchip: rk3288: add fastboot support Ziyuan Xu
2016-07-06 9:34 ` [U-Boot] [PATCH v3 4/4] usb: dwc2: invalidate dcache before starting DMA Ziyuan Xu
2016-07-12 12:59 ` Simon Glass
2016-07-13 1:06 ` Ziyuan Xu
2016-07-14 15:00 ` Simon Glass
2016-07-14 15:43 ` Ziyuan Xu
2016-07-15 3:20 ` Simon Glass
2016-07-15 3:56 ` Simon Glass
2016-07-11 23:54 ` [U-Boot] [PATCH v3 0/4] rockchip: rk3288: add fastboot support Simon Glass
2016-07-12 0:32 ` Ziyuan Xu
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=12908616.UVeBjt7Yt7@phil \
--to=heiko@sntech.de \
--cc=u-boot@lists.denx.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox