From: Heiko Stuebner <heiko@sntech.de>
To: Frank Wang <frank.wang@rock-chips.com>
Cc: kishon@ti.com, william.wu@rock-chips.com,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org, charles.chen@rock-chips.com,
cody.xie@rock-chips.com, kevan.lan@rock-chips.com,
huangtao@rock-chips.com, wmc@rock-chips.com
Subject: Re: [PATCH 4/4] phy: rockchip-inno-usb2: add support of usb2-phy for rk322x SoCs
Date: Thu, 01 Jun 2017 22:18:02 +0200 [thread overview]
Message-ID: <2655472.BTSNDfobEl@phil> (raw)
In-Reply-To: <1495078982-2555-5-git-send-email-frank.wang@rock-chips.com>
Hi Frank,
Am Donnerstag, 18. Mai 2017, 11:43:02 CEST schrieb Frank Wang:
> This adds support usb2-phy for rk322x SoCs and amend phy Documentation.
>
> Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
this adds a devicetree binding, so you should include devicetree people in
the recipient list:
Rob Herring <robh+dt@kernel.org>
Mark Rutland <mark.rutland@arm.com>
devicetree@vger.kernel.org
as they should Ack such binding additions.
> ---
> .../bindings/phy/phy-rockchip-inno-usb2.txt | 1 +
> drivers/phy/phy-rockchip-inno-usb2.c | 60 ++++++++++++++++++++++
> 2 files changed, 61 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt b/Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt
> index e71a8d2..b4ce12e 100644
> --- a/Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt
> +++ b/Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt
> @@ -2,6 +2,7 @@ ROCKCHIP USB2.0 PHY WITH INNO IP BLOCK
>
> Required properties (phy (parent) node):
> - compatible : should be one of the listed compatibles:
> + * "rockchip,rk322x-usb2phy"
devicetree compatibles should not contain wildcards, so please name that
"rockchip,rk3228-usb2phy"
here and in the driver as well.
Heiko
> * "rockchip,rk3328-usb2phy"
> * "rockchip,rk3366-usb2phy"
> * "rockchip,rk3399-usb2phy"
> diff --git a/drivers/phy/phy-rockchip-inno-usb2.c b/drivers/phy/phy-rockchip-inno-usb2.c
> index d026b4cf..b9d4e23 100644
> --- a/drivers/phy/phy-rockchip-inno-usb2.c
> +++ b/drivers/phy/phy-rockchip-inno-usb2.c
> @@ -1144,6 +1144,65 @@ static int rockchip_usb2phy_probe(struct platform_device *pdev)
> return ret;
> }
>
> +static const struct rockchip_usb2phy_cfg rk322x_phy_cfgs[] = {
> + {
> + .reg = 0x760,
> + .num_ports = 2,
> + .clkout_ctl = { 0x0768, 4, 4, 1, 0 },
> + .port_cfgs = {
> + [USB2PHY_PORT_OTG] = {
> + .phy_sus = { 0x0760, 15, 0, 0, 0x1d1 },
> + .bvalid_det_en = { 0x0680, 3, 3, 0, 1 },
> + .bvalid_det_st = { 0x0690, 3, 3, 0, 1 },
> + .bvalid_det_clr = { 0x06a0, 3, 3, 0, 1 },
> + .ls_det_en = { 0x0680, 2, 2, 0, 1 },
> + .ls_det_st = { 0x0690, 2, 2, 0, 1 },
> + .ls_det_clr = { 0x06a0, 2, 2, 0, 1 },
> + .utmi_bvalid = { 0x0480, 4, 4, 0, 1 },
> + .utmi_ls = { 0x0480, 3, 2, 0, 1 },
> + },
> + [USB2PHY_PORT_HOST] = {
> + .phy_sus = { 0x0764, 15, 0, 0, 0x1d1 },
> + .ls_det_en = { 0x0680, 4, 4, 0, 1 },
> + .ls_det_st = { 0x0690, 4, 4, 0, 1 },
> + .ls_det_clr = { 0x06a0, 4, 4, 0, 1 }
> + }
> + },
> + .chg_det = {
> + .opmode = { 0x0760, 3, 0, 5, 1 },
> + .cp_det = { 0x0884, 4, 4, 0, 1 },
> + .dcp_det = { 0x0884, 3, 3, 0, 1 },
> + .dp_det = { 0x0884, 5, 5, 0, 1 },
> + .idm_sink_en = { 0x0768, 8, 8, 0, 1 },
> + .idp_sink_en = { 0x0768, 7, 7, 0, 1 },
> + .idp_src_en = { 0x0768, 9, 9, 0, 1 },
> + .rdm_pdwn_en = { 0x0768, 10, 10, 0, 1 },
> + .vdm_src_en = { 0x0768, 12, 12, 0, 1 },
> + .vdp_src_en = { 0x0768, 11, 11, 0, 1 },
> + },
> + },
> + {
> + .reg = 0x800,
> + .num_ports = 2,
> + .clkout_ctl = { 0x0808, 4, 4, 1, 0 },
> + .port_cfgs = {
> + [USB2PHY_PORT_OTG] = {
> + .phy_sus = { 0x800, 15, 0, 0, 0x1d1 },
> + .ls_det_en = { 0x0684, 0, 0, 0, 1 },
> + .ls_det_st = { 0x0694, 0, 0, 0, 1 },
> + .ls_det_clr = { 0x06a4, 0, 0, 0, 1 }
> + },
> + [USB2PHY_PORT_HOST] = {
> + .phy_sus = { 0x804, 15, 0, 0, 0x1d1 },
> + .ls_det_en = { 0x0684, 1, 1, 0, 1 },
> + .ls_det_st = { 0x0694, 1, 1, 0, 1 },
> + .ls_det_clr = { 0x06a4, 1, 1, 0, 1 }
> + }
> + },
> + },
> + { /* sentinel */ }
> +};
> +
> static const struct rockchip_usb2phy_cfg rk3328_phy_cfgs[] = {
> {
> .reg = 0x100,
> @@ -1269,6 +1328,7 @@ static const struct rockchip_usb2phy_cfg rk3399_phy_cfgs[] = {
> };
>
> static const struct of_device_id rockchip_usb2phy_dt_match[] = {
> + { .compatible = "rockchip,rk322x-usb2phy", .data = &rk322x_phy_cfgs },
> { .compatible = "rockchip,rk3328-usb2phy", .data = &rk3328_phy_cfgs },
> { .compatible = "rockchip,rk3366-usb2phy", .data = &rk3366_phy_cfgs },
> { .compatible = "rockchip,rk3399-usb2phy", .data = &rk3399_phy_cfgs },
>
WARNING: multiple messages have this Message-ID (diff)
From: heiko@sntech.de (Heiko Stuebner)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 4/4] phy: rockchip-inno-usb2: add support of usb2-phy for rk322x SoCs
Date: Thu, 01 Jun 2017 22:18:02 +0200 [thread overview]
Message-ID: <2655472.BTSNDfobEl@phil> (raw)
In-Reply-To: <1495078982-2555-5-git-send-email-frank.wang@rock-chips.com>
Hi Frank,
Am Donnerstag, 18. Mai 2017, 11:43:02 CEST schrieb Frank Wang:
> This adds support usb2-phy for rk322x SoCs and amend phy Documentation.
>
> Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
this adds a devicetree binding, so you should include devicetree people in
the recipient list:
Rob Herring <robh+dt@kernel.org>
Mark Rutland <mark.rutland@arm.com>
devicetree at vger.kernel.org
as they should Ack such binding additions.
> ---
> .../bindings/phy/phy-rockchip-inno-usb2.txt | 1 +
> drivers/phy/phy-rockchip-inno-usb2.c | 60 ++++++++++++++++++++++
> 2 files changed, 61 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt b/Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt
> index e71a8d2..b4ce12e 100644
> --- a/Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt
> +++ b/Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt
> @@ -2,6 +2,7 @@ ROCKCHIP USB2.0 PHY WITH INNO IP BLOCK
>
> Required properties (phy (parent) node):
> - compatible : should be one of the listed compatibles:
> + * "rockchip,rk322x-usb2phy"
devicetree compatibles should not contain wildcards, so please name that
"rockchip,rk3228-usb2phy"
here and in the driver as well.
Heiko
> * "rockchip,rk3328-usb2phy"
> * "rockchip,rk3366-usb2phy"
> * "rockchip,rk3399-usb2phy"
> diff --git a/drivers/phy/phy-rockchip-inno-usb2.c b/drivers/phy/phy-rockchip-inno-usb2.c
> index d026b4cf..b9d4e23 100644
> --- a/drivers/phy/phy-rockchip-inno-usb2.c
> +++ b/drivers/phy/phy-rockchip-inno-usb2.c
> @@ -1144,6 +1144,65 @@ static int rockchip_usb2phy_probe(struct platform_device *pdev)
> return ret;
> }
>
> +static const struct rockchip_usb2phy_cfg rk322x_phy_cfgs[] = {
> + {
> + .reg = 0x760,
> + .num_ports = 2,
> + .clkout_ctl = { 0x0768, 4, 4, 1, 0 },
> + .port_cfgs = {
> + [USB2PHY_PORT_OTG] = {
> + .phy_sus = { 0x0760, 15, 0, 0, 0x1d1 },
> + .bvalid_det_en = { 0x0680, 3, 3, 0, 1 },
> + .bvalid_det_st = { 0x0690, 3, 3, 0, 1 },
> + .bvalid_det_clr = { 0x06a0, 3, 3, 0, 1 },
> + .ls_det_en = { 0x0680, 2, 2, 0, 1 },
> + .ls_det_st = { 0x0690, 2, 2, 0, 1 },
> + .ls_det_clr = { 0x06a0, 2, 2, 0, 1 },
> + .utmi_bvalid = { 0x0480, 4, 4, 0, 1 },
> + .utmi_ls = { 0x0480, 3, 2, 0, 1 },
> + },
> + [USB2PHY_PORT_HOST] = {
> + .phy_sus = { 0x0764, 15, 0, 0, 0x1d1 },
> + .ls_det_en = { 0x0680, 4, 4, 0, 1 },
> + .ls_det_st = { 0x0690, 4, 4, 0, 1 },
> + .ls_det_clr = { 0x06a0, 4, 4, 0, 1 }
> + }
> + },
> + .chg_det = {
> + .opmode = { 0x0760, 3, 0, 5, 1 },
> + .cp_det = { 0x0884, 4, 4, 0, 1 },
> + .dcp_det = { 0x0884, 3, 3, 0, 1 },
> + .dp_det = { 0x0884, 5, 5, 0, 1 },
> + .idm_sink_en = { 0x0768, 8, 8, 0, 1 },
> + .idp_sink_en = { 0x0768, 7, 7, 0, 1 },
> + .idp_src_en = { 0x0768, 9, 9, 0, 1 },
> + .rdm_pdwn_en = { 0x0768, 10, 10, 0, 1 },
> + .vdm_src_en = { 0x0768, 12, 12, 0, 1 },
> + .vdp_src_en = { 0x0768, 11, 11, 0, 1 },
> + },
> + },
> + {
> + .reg = 0x800,
> + .num_ports = 2,
> + .clkout_ctl = { 0x0808, 4, 4, 1, 0 },
> + .port_cfgs = {
> + [USB2PHY_PORT_OTG] = {
> + .phy_sus = { 0x800, 15, 0, 0, 0x1d1 },
> + .ls_det_en = { 0x0684, 0, 0, 0, 1 },
> + .ls_det_st = { 0x0694, 0, 0, 0, 1 },
> + .ls_det_clr = { 0x06a4, 0, 0, 0, 1 }
> + },
> + [USB2PHY_PORT_HOST] = {
> + .phy_sus = { 0x804, 15, 0, 0, 0x1d1 },
> + .ls_det_en = { 0x0684, 1, 1, 0, 1 },
> + .ls_det_st = { 0x0694, 1, 1, 0, 1 },
> + .ls_det_clr = { 0x06a4, 1, 1, 0, 1 }
> + }
> + },
> + },
> + { /* sentinel */ }
> +};
> +
> static const struct rockchip_usb2phy_cfg rk3328_phy_cfgs[] = {
> {
> .reg = 0x100,
> @@ -1269,6 +1328,7 @@ static const struct rockchip_usb2phy_cfg rk3399_phy_cfgs[] = {
> };
>
> static const struct of_device_id rockchip_usb2phy_dt_match[] = {
> + { .compatible = "rockchip,rk322x-usb2phy", .data = &rk322x_phy_cfgs },
> { .compatible = "rockchip,rk3328-usb2phy", .data = &rk3328_phy_cfgs },
> { .compatible = "rockchip,rk3366-usb2phy", .data = &rk3366_phy_cfgs },
> { .compatible = "rockchip,rk3399-usb2phy", .data = &rk3399_phy_cfgs },
>
next prev parent reply other threads:[~2017-06-01 20:18 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-18 3:42 [PATCH 0/4] fix some issues for Rockchip usb2-phy and add rk322x SoCs' support Frank Wang
2017-05-18 3:42 ` Frank Wang
2017-05-18 3:42 ` [PATCH 1/4] phy: rockchip-inno-usb2: add a delay after phy resume Frank Wang
2017-05-18 3:42 ` Frank Wang
2017-05-18 3:43 ` [PATCH 2/4] phy: rockchip-inno-usb2: increase otg sm work first schedule time Frank Wang
2017-05-18 3:43 ` Frank Wang
2017-05-18 3:43 ` [PATCH 3/4] phy: rockchip-inno-usb2: add one phy comprises with two host-ports support Frank Wang
2017-05-18 3:43 ` Frank Wang
2017-05-18 3:43 ` [PATCH 4/4] phy: rockchip-inno-usb2: add support of usb2-phy for rk322x SoCs Frank Wang
2017-05-18 3:43 ` Frank Wang
2017-06-01 20:18 ` Heiko Stuebner [this message]
2017-06-01 20:18 ` Heiko Stuebner
2017-06-02 1:42 ` Frank Wang
2017-06-02 1:42 ` Frank Wang
2017-05-25 7:25 ` [PATCH 0/4] fix some issues for Rockchip usb2-phy and add rk322x SoCs' support Frank Wang
2017-05-25 7:25 ` Frank Wang
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=2655472.BTSNDfobEl@phil \
--to=heiko@sntech.de \
--cc=charles.chen@rock-chips.com \
--cc=cody.xie@rock-chips.com \
--cc=frank.wang@rock-chips.com \
--cc=huangtao@rock-chips.com \
--cc=kevan.lan@rock-chips.com \
--cc=kishon@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=william.wu@rock-chips.com \
--cc=wmc@rock-chips.com \
/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.