From: "Heiko Stübner" <heiko@sntech.de>
To: kishon@ti.com
Cc: linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org
Subject: Re: [PATCH 1/3] phy: rockchip-usb: should be a child device of the GRF
Date: Tue, 19 Apr 2016 08:13:47 +0200 [thread overview]
Message-ID: <2045729.fIbxLc8i6o@diego> (raw)
In-Reply-To: <1459431812-6286-2-git-send-email-heiko@sntech.de>
Hi Kishon.
Am Donnerstag, 31. März 2016, 15:43:30 schrieb Heiko Stuebner:
> The usb-phy is fully enclosed in the general register files (GRF).
> Therefore as seen from the device-tree it shouldn't be a separate platform-
> device but instead a sub-device of the GRF - using the simply-mfd mechanism.
>
> As the usb-phy is part of the kernel for some releases now, we keep
> the old (and now deprecated) binding for compatibility purposes.
>
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
could you look into picking this patch up for 4.7?
Same principle as for the other phy drivers, but it's already in the kernel
for a while, so it gets a fallback for the old binding and can go through the
normal way.
The other two (devicetree-)patches I would then simply queue for 4.8 myself
after you're fine with the driver-side.
Thanks
Heiko
> ---
> .../devicetree/bindings/phy/rockchip-usb-phy.txt | 27
> ++++++++++++++-------- drivers/phy/phy-rockchip-usb.c |
> 14 ++++++++--- 2 files changed, 28 insertions(+), 13 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/phy/rockchip-usb-phy.txt
> b/Documentation/devicetree/bindings/phy/rockchip-usb-phy.txt index
> 68498d5..cc6be96 100644
> --- a/Documentation/devicetree/bindings/phy/rockchip-usb-phy.txt
> +++ b/Documentation/devicetree/bindings/phy/rockchip-usb-phy.txt
> @@ -5,11 +5,13 @@ Required properties:
> "rockchip,rk3066a-usb-phy"
> "rockchip,rk3188-usb-phy"
> "rockchip,rk3288-usb-phy"
> - - rockchip,grf : phandle to the syscon managing the "general
> - register files"
> - #address-cells: should be 1
> - #size-cells: should be 0
>
> +Deprecated properties:
> + - rockchip,grf : phandle to the syscon managing the "general
> + register files" - phy should be a child of the GRF instead
> +
> Sub-nodes:
> Each PHY should be represented as a sub-node.
>
> @@ -28,14 +30,19 @@ Optional Properties:
>
> Example:
>
> -usbphy: phy {
> - compatible = "rockchip,rk3288-usb-phy";
> - rockchip,grf = <&grf>;
> - #address-cells = <1>;
> - #size-cells = <0>;
> +grf: syscon@ff770000 {
> + compatible = "rockchip,rk3288-grf", "syscon", "simple-mfd";
> +
> +...
> +
> + usbphy: phy {
> + compatible = "rockchip,rk3288-usb-phy";
> + #address-cells = <1>;
> + #size-cells = <0>;
>
> - usbphy0: usb-phy0 {
> - #phy-cells = <0>;
> - reg = <0x320>;
> + usbphy0: usb-phy0 {
> + #phy-cells = <0>;
> + reg = <0x320>;
> + };
> };
> };
> diff --git a/drivers/phy/phy-rockchip-usb.c b/drivers/phy/phy-rockchip-usb.c
> index f62d899..23f33db 100644
> --- a/drivers/phy/phy-rockchip-usb.c
> +++ b/drivers/phy/phy-rockchip-usb.c
> @@ -397,8 +397,12 @@ static int rockchip_usb_phy_probe(struct
> platform_device *pdev) phy_base->pdata = match->data;
>
> phy_base->dev = dev;
> - phy_base->reg_base = syscon_regmap_lookup_by_phandle(dev->of_node,
> - "rockchip,grf");
> + phy_base->reg_base = ERR_PTR(-ENODEV);
> + if (dev->parent && dev->parent->of_node)
> + phy_base->reg_base = syscon_node_to_regmap(dev->parent->of_node);
> + if (IS_ERR(phy_base->reg_base))
> + phy_base->reg_base = syscon_regmap_lookup_by_phandle(
> + dev->of_node, "rockchip,grf");
> if (IS_ERR(phy_base->reg_base)) {
> dev_err(&pdev->dev, "Missing rockchip,grf property\n");
> return PTR_ERR(phy_base->reg_base);
> @@ -463,7 +467,11 @@ static int __init rockchip_init_usb_uart(void)
> return -ENOTSUPP;
> }
>
> - grf = syscon_regmap_lookup_by_phandle(np, "rockchip,grf");
> + grf = ERR_PTR(-ENODEV);
> + if (np->parent)
> + grf = syscon_node_to_regmap(np->parent);
> + if (IS_ERR(grf))
> + grf = syscon_regmap_lookup_by_phandle(np, "rockchip,grf");
> if (IS_ERR(grf)) {
> pr_err("%s: Missing rockchip,grf property, %lu\n",
> __func__, PTR_ERR(grf));
next prev parent reply other threads:[~2016-04-19 6:13 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-31 13:43 [PATCH 0/3] move Rockchip usbphy under the GRF mfd Heiko Stuebner
2016-03-31 13:43 ` [PATCH 1/3] phy: rockchip-usb: should be a child device of the GRF Heiko Stuebner
2016-04-19 6:13 ` Heiko Stübner [this message]
2016-04-30 20:07 ` Heiko Stübner
2016-05-03 10:58 ` Kishon Vijay Abraham I
2016-05-03 10:58 ` Kishon Vijay Abraham I
2016-05-03 11:02 ` Heiko Stübner
2016-06-17 12:35 ` Kishon Vijay Abraham I
2016-06-17 12:35 ` Kishon Vijay Abraham I
2016-03-31 13:43 ` [PATCH 2/3] ARM: dts: rockchip: make rk3288-grf a simple-mfd Heiko Stuebner
2016-03-31 13:43 ` [PATCH 3/3] ARM: dts: rockchip: move rk3288 usbphy under the GRF node Heiko Stuebner
[not found] ` <1459431812-6286-4-git-send-email-heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org>
2016-08-03 9:40 ` Heiko Stübner
2016-08-03 9:40 ` Heiko Stübner
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=2045729.fIbxLc8i6o@diego \
--to=heiko@sntech.de \
--cc=kishon@ti.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
/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.