Message ID | 1568080527-1767-1-git-send-email-hayashi.kunihiko@socionext.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | reset: uniphier-glue: Add Pro5 USB3 support | expand |
Hi Kunihiko, On Tue, 2019-09-10 at 10:55 +0900, Kunihiko Hayashi wrote: > Pro5 SoC has same scheme of USB3 reset as Pro4, so the data for Pro5 is > equivalent to Pro4. > > Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com> If it is exactly the same, you could keep using the same compatible: > --- > Documentation/devicetree/bindings/reset/uniphier-reset.txt | 5 +++-- > drivers/reset/reset-uniphier-glue.c | 4 ++++ > 2 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/Documentation/devicetree/bindings/reset/uniphier-reset.txt b/Documentation/devicetree/bindings/reset/uniphier-reset.txt > index ea00517..e320a8c 100644 > --- a/Documentation/devicetree/bindings/reset/uniphier-reset.txt > +++ b/Documentation/devicetree/bindings/reset/uniphier-reset.txt > @@ -130,6 +130,7 @@ this layer. These clocks and resets should be described in each property. > Required properties: > - compatible: Should be > "socionext,uniphier-pro4-usb3-reset" - for Pro4 SoC USB3 > + "socionext,uniphier-pro5-usb3-reset" - for Pro5 SoC USB3 + "socionext,uniphier-pro5-usb3-reset", "socionext,uniphier-pro4-usb3-reset" - for Pro5 SoC USB3 [...] > diff --git a/drivers/reset/reset-uniphier-glue.c b/drivers/reset/reset-uniphier-glue.c > index a45923f..2b188b3bb 100644 > --- a/drivers/reset/reset-uniphier-glue.c > +++ b/drivers/reset/reset-uniphier-glue.c > @@ -141,6 +141,10 @@ static const struct of_device_id uniphier_glue_reset_match[] = { > .data = &uniphier_pro4_data, > }, > { > + .compatible = "socionext,uniphier-pro5-usb3-reset", > + .data = &uniphier_pro4_data, > + }, > + { > .compatible = "socionext,uniphier-pxs2-usb3-reset", > .data = &uniphier_pxs2_data, > }, And this change would not be necessary. regards Philipp
Hi Philipp, On Tue, 10 Sep 2019 09:48:15 +0200 <p.zabel@pengutronix.de> wrote: > Hi Kunihiko, > > On Tue, 2019-09-10 at 10:55 +0900, Kunihiko Hayashi wrote: > > Pro5 SoC has same scheme of USB3 reset as Pro4, so the data for Pro5 is > > equivalent to Pro4. > > > > Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com> > > If it is exactly the same, you could keep using the same compatible: This driver is derived from reset-simple, so the method to control reset in the glue block is the same for each SoC. And both Pro4 and Pro5 need same parent clock and reset, so the data for these SoCs refer same parent clock names and parent reset names. However, since the glue block itself can be different, I think that compatible string should be distinguished for each SoC. For example, "pxs2-usb3-reset", "ld20-usb3-reset" and "pxs3-usb-reset" in this driver are distinguished for the same reason. Thank you, > > > --- > > Documentation/devicetree/bindings/reset/uniphier-reset.txt | 5 +++-- > > drivers/reset/reset-uniphier-glue.c | 4 ++++ > > 2 files changed, 7 insertions(+), 2 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/reset/uniphier-reset.txt b/Documentation/devicetree/bindings/reset/uniphier-reset.txt > > index ea00517..e320a8c 100644 > > --- a/Documentation/devicetree/bindings/reset/uniphier-reset.txt > > +++ b/Documentation/devicetree/bindings/reset/uniphier-reset.txt > > @@ -130,6 +130,7 @@ this layer. These clocks and resets should be described in each property. > > Required properties: > > - compatible: Should be > > "socionext,uniphier-pro4-usb3-reset" - for Pro4 SoC USB3 > > + "socionext,uniphier-pro5-usb3-reset" - for Pro5 SoC USB3 > > + "socionext,uniphier-pro5-usb3-reset", "socionext,uniphier-pro4-usb3-reset" - for Pro5 SoC USB3 > > [...] > > diff --git a/drivers/reset/reset-uniphier-glue.c b/drivers/reset/reset-uniphier-glue.c > > index a45923f..2b188b3bb 100644 > > --- a/drivers/reset/reset-uniphier-glue.c > > +++ b/drivers/reset/reset-uniphier-glue.c > > @@ -141,6 +141,10 @@ static const struct of_device_id uniphier_glue_reset_match[] = { > > .data = &uniphier_pro4_data, > > }, > > { > > + .compatible = "socionext,uniphier-pro5-usb3-reset", > > + .data = &uniphier_pro4_data, > > + }, > > + { > > .compatible = "socionext,uniphier-pxs2-usb3-reset", > > .data = &uniphier_pxs2_data, > > }, > > And this change would not be necessary. > > regards > Philipp --- Best Regards, Kunihiko Hayashi
Hi Kunihiko, On Tue, 2019-09-10 at 20:56 +0900, Kunihiko Hayashi wrote: [...] > This driver is derived from reset-simple, so the method to control reset > in the glue block is the same for each SoC. > > And both Pro4 and Pro5 need same parent clock and reset, so the data for > these SoCs refer same parent clock names and parent reset names. > > However, since the glue block itself can be different, I think that > compatible string should be distinguished for each SoC. Ok, in that case I'll apply the patch as-is. Thank you for clarifying. regards Philipp
On Tue, 10 Sep 2019 10:55:27 +0900, Kunihiko Hayashi wrote: > Pro5 SoC has same scheme of USB3 reset as Pro4, so the data for Pro5 is > equivalent to Pro4. > > Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com> > --- > Documentation/devicetree/bindings/reset/uniphier-reset.txt | 5 +++-- > drivers/reset/reset-uniphier-glue.c | 4 ++++ > 2 files changed, 7 insertions(+), 2 deletions(-) > Reviewed-by: Rob Herring <robh@kernel.org>
diff --git a/Documentation/devicetree/bindings/reset/uniphier-reset.txt b/Documentation/devicetree/bindings/reset/uniphier-reset.txt index ea00517..e320a8c 100644 --- a/Documentation/devicetree/bindings/reset/uniphier-reset.txt +++ b/Documentation/devicetree/bindings/reset/uniphier-reset.txt @@ -130,6 +130,7 @@ this layer. These clocks and resets should be described in each property. Required properties: - compatible: Should be "socionext,uniphier-pro4-usb3-reset" - for Pro4 SoC USB3 + "socionext,uniphier-pro5-usb3-reset" - for Pro5 SoC USB3 "socionext,uniphier-pxs2-usb3-reset" - for PXs2 SoC USB3 "socionext,uniphier-ld20-usb3-reset" - for LD20 SoC USB3 "socionext,uniphier-pxs3-usb3-reset" - for PXs3 SoC USB3 @@ -141,12 +142,12 @@ Required properties: - clocks: A list of phandles to the clock gate for the glue layer. According to the clock-names, appropriate clocks are required. - clock-names: Should contain - "gio", "link" - for Pro4 SoC + "gio", "link" - for Pro4 and Pro5 SoCs "link" - for others - resets: A list of phandles to the reset control for the glue layer. According to the reset-names, appropriate resets are required. - reset-names: Should contain - "gio", "link" - for Pro4 SoC + "gio", "link" - for Pro4 and Pro5 SoCs "link" - for others Example: diff --git a/drivers/reset/reset-uniphier-glue.c b/drivers/reset/reset-uniphier-glue.c index a45923f..2b188b3bb 100644 --- a/drivers/reset/reset-uniphier-glue.c +++ b/drivers/reset/reset-uniphier-glue.c @@ -141,6 +141,10 @@ static const struct of_device_id uniphier_glue_reset_match[] = { .data = &uniphier_pro4_data, }, { + .compatible = "socionext,uniphier-pro5-usb3-reset", + .data = &uniphier_pro4_data, + }, + { .compatible = "socionext,uniphier-pxs2-usb3-reset", .data = &uniphier_pxs2_data, },
Pro5 SoC has same scheme of USB3 reset as Pro4, so the data for Pro5 is equivalent to Pro4. Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com> --- Documentation/devicetree/bindings/reset/uniphier-reset.txt | 5 +++-- drivers/reset/reset-uniphier-glue.c | 4 ++++ 2 files changed, 7 insertions(+), 2 deletions(-)