* [PATCH 0/2] phy: rcar-gen2, rcar-gen3-usb2: add fallback binding @ 2016-03-02 2:37 Simon Horman 2016-03-02 2:37 ` [PATCH 1/2] phy: rcar-gen2: " Simon Horman 2016-03-02 2:37 ` [PATCH 2/2] phy: rcar-gen3-usb2: " Simon Horman 0 siblings, 2 replies; 6+ messages in thread From: Simon Horman @ 2016-03-02 2:37 UTC (permalink / raw) To: Kishon Vijay Abraham I Cc: Yoshihiro Shimoda, Magnus Damm, linux-kernel, linux-renesas-soc, Simon Horman Add fallback compatibility strings for rcar phy drivers. In the case of Renesas R-Car hardware we know that there are generations of SoCs, e.g. Gen 2 and Gen 3. But beyond that its not clear what the relationship between IP blocks might be. For example, I believe that r8a7790 is older than r8a7791 but that doesn't imply that the latter is a descendant of the former or vice versa. We can, however, by examining the documentation and behaviour of the hardware at run-time observe that the current driver implementation appears to be compatible with the IP blocks on SoCs within a given generation. For the above reasons and convenience when enabling new SoCs a per-generation fallback compatibility string scheme being adopted for drivers for Renesas SoCs. Based on v4.5-rc1 Simon Horman (2): phy: rcar-gen2: add fallback binding phy: rcar-gen3-usb2: add fallback binding Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt | 8 +++++++- Documentation/devicetree/bindings/phy/rcar-gen3-phy-usb2.txt | 10 ++++++++-- drivers/phy/phy-rcar-gen2.c | 1 + drivers/phy/phy-rcar-gen3-usb2.c | 1 + 4 files changed, 17 insertions(+), 3 deletions(-) -- 2.1.4 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/2] phy: rcar-gen2: add fallback binding 2016-03-02 2:37 [PATCH 0/2] phy: rcar-gen2, rcar-gen3-usb2: add fallback binding Simon Horman @ 2016-03-02 2:37 ` Simon Horman 2016-03-02 9:37 ` Geert Uytterhoeven 2016-03-02 2:37 ` [PATCH 2/2] phy: rcar-gen3-usb2: " Simon Horman 1 sibling, 1 reply; 6+ messages in thread From: Simon Horman @ 2016-03-02 2:37 UTC (permalink / raw) To: Kishon Vijay Abraham I Cc: Yoshihiro Shimoda, Magnus Damm, linux-kernel, linux-renesas-soc, Simon Horman In the case of Renesas R-Car hardware we know that there are generations of SoCs, e.g. Gen 2 and Gen 3. But beyond that its not clear what the relationship between IP blocks might be. For example, I believe that r8a7790 is older than r8a7791 but that doesn't imply that the latter is a descendant of the former or vice versa. We can, however, by examining the documentation and behaviour of the hardware at run-time observe that the current driver implementation appears to be compatible with the IP blocks on SoCs within a given generation. For the above reasons and convenience when enabling new SoCs a per-generation fallback compatibility string scheme being adopted for drivers for Renesas SoCs. Signed-off-by: Simon Horman <horms+renesas@verge.net.au> --- Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt | 8 +++++++- drivers/phy/phy-rcar-gen2.c | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt b/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt index d564ba4f1cf6..f1102ee464fb 100644 --- a/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt +++ b/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt @@ -7,6 +7,12 @@ Required properties: - compatible: "renesas,usb-phy-r8a7790" if the device is a part of R8A7790 SoC. "renesas,usb-phy-r8a7791" if the device is a part of R8A7791 SoC. "renesas,usb-phy-r8a7794" if the device is a part of R8A7794 SoC. + "renesas,usb-phy-gen2" for a generic R-Car Gen2 compatible device. + + When compatible with the generic version, nodes must list the + SoC-specific version corresponding to the platform first + followed by the generic version. + - reg: offset and length of the register block. - #address-cells: number of address cells for the USB channel subnodes, must be <1>. @@ -34,7 +40,7 @@ the USB channel; see the selector meanings below: Example (Lager board): usb-phy@e6590100 { - compatible = "renesas,usb-phy-r8a7790"; + compatible = "renesas,usb-phy-r8a7790","renesas,usb-phy-gen2"; reg = <0 0xe6590100 0 0x100>; #address-cells = <1>; #size-cells = <0>; diff --git a/drivers/phy/phy-rcar-gen2.c b/drivers/phy/phy-rcar-gen2.c index c7a05996d5c1..e10d326d51e7 100644 --- a/drivers/phy/phy-rcar-gen2.c +++ b/drivers/phy/phy-rcar-gen2.c @@ -195,6 +195,7 @@ static const struct of_device_id rcar_gen2_phy_match_table[] = { { .compatible = "renesas,usb-phy-r8a7790" }, { .compatible = "renesas,usb-phy-r8a7791" }, { .compatible = "renesas,usb-phy-r8a7794" }, + { .compatible = "renesas,usb-phy-gen2" }, { } }; MODULE_DEVICE_TABLE(of, rcar_gen2_phy_match_table); -- 2.1.4 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] phy: rcar-gen2: add fallback binding 2016-03-02 2:37 ` [PATCH 1/2] phy: rcar-gen2: " Simon Horman @ 2016-03-02 9:37 ` Geert Uytterhoeven 2016-03-03 0:13 ` Simon Horman 0 siblings, 1 reply; 6+ messages in thread From: Geert Uytterhoeven @ 2016-03-02 9:37 UTC (permalink / raw) To: Simon Horman Cc: Kishon Vijay Abraham I, Yoshihiro Shimoda, Magnus Damm, linux-kernel, linux-renesas-soc On Wed, Mar 2, 2016 at 3:37 AM, Simon Horman <horms+renesas@verge.net.au> wrote: > In the case of Renesas R-Car hardware we know that there are generations of > SoCs, e.g. Gen 2 and Gen 3. But beyond that its not clear what the > relationship between IP blocks might be. For example, I believe that > r8a7790 is older than r8a7791 but that doesn't imply that the latter is a > descendant of the former or vice versa. > > We can, however, by examining the documentation and behaviour of the > hardware at run-time observe that the current driver implementation appears > to be compatible with the IP blocks on SoCs within a given generation. > > For the above reasons and convenience when enabling new SoCs a > per-generation fallback compatibility string scheme being adopted for > drivers for Renesas SoCs. > > Signed-off-by: Simon Horman <horms+renesas@verge.net.au> > --- a/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt > +++ b/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt > @@ -7,6 +7,12 @@ Required properties: > - compatible: "renesas,usb-phy-r8a7790" if the device is a part of R8A7790 SoC. > "renesas,usb-phy-r8a7791" if the device is a part of R8A7791 SoC. > "renesas,usb-phy-r8a7794" if the device is a part of R8A7794 SoC. > + "renesas,usb-phy-gen2" for a generic R-Car Gen2 compatible device. "renesas,rcar-gen2-usb-phy"? Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] phy: rcar-gen2: add fallback binding 2016-03-02 9:37 ` Geert Uytterhoeven @ 2016-03-03 0:13 ` Simon Horman 0 siblings, 0 replies; 6+ messages in thread From: Simon Horman @ 2016-03-03 0:13 UTC (permalink / raw) To: Geert Uytterhoeven Cc: Kishon Vijay Abraham I, Yoshihiro Shimoda, Magnus Damm, linux-kernel, linux-renesas-soc On Wed, Mar 02, 2016 at 10:37:31AM +0100, Geert Uytterhoeven wrote: > On Wed, Mar 2, 2016 at 3:37 AM, Simon Horman <horms+renesas@verge.net.au> wrote: > > In the case of Renesas R-Car hardware we know that there are generations of > > SoCs, e.g. Gen 2 and Gen 3. But beyond that its not clear what the > > relationship between IP blocks might be. For example, I believe that > > r8a7790 is older than r8a7791 but that doesn't imply that the latter is a > > descendant of the former or vice versa. > > > > We can, however, by examining the documentation and behaviour of the > > hardware at run-time observe that the current driver implementation appears > > to be compatible with the IP blocks on SoCs within a given generation. > > > > For the above reasons and convenience when enabling new SoCs a > > per-generation fallback compatibility string scheme being adopted for > > drivers for Renesas SoCs. > > > > Signed-off-by: Simon Horman <horms+renesas@verge.net.au> > > > --- a/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt > > +++ b/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt > > @@ -7,6 +7,12 @@ Required properties: > > - compatible: "renesas,usb-phy-r8a7790" if the device is a part of R8A7790 SoC. > > "renesas,usb-phy-r8a7791" if the device is a part of R8A7791 SoC. > > "renesas,usb-phy-r8a7794" if the device is a part of R8A7794 SoC. > > + "renesas,usb-phy-gen2" for a generic R-Car Gen2 compatible device. > > "renesas,rcar-gen2-usb-phy"? I seem to always get these backwards first go :( I'll update this and the following patch as you suggest. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 2/2] phy: rcar-gen3-usb2: add fallback binding 2016-03-02 2:37 [PATCH 0/2] phy: rcar-gen2, rcar-gen3-usb2: add fallback binding Simon Horman 2016-03-02 2:37 ` [PATCH 1/2] phy: rcar-gen2: " Simon Horman @ 2016-03-02 2:37 ` Simon Horman 2016-03-02 9:38 ` Geert Uytterhoeven 1 sibling, 1 reply; 6+ messages in thread From: Simon Horman @ 2016-03-02 2:37 UTC (permalink / raw) To: Kishon Vijay Abraham I Cc: Yoshihiro Shimoda, Magnus Damm, linux-kernel, linux-renesas-soc, Simon Horman In the case of Renesas R-Car hardware we know that there are generations of SoCs, e.g. Gen 2 and Gen 3. But beyond that its not clear what the relationship between IP blocks might be. For example, I believe that r8a7790 is older than r8a7791 but that doesn't imply that the latter is a descendant of the former or vice versa. We can, however, by examining the documentation and behaviour of the hardware at run-time observe that the current driver implementation appears to be compatible with the IP blocks on SoCs within a given generation. For the above reasons and convenience when enabling new SoCs a per-generation fallback compatibility string scheme being adopted for drivers for Renesas SoCs. Signed-off-by: Simon Horman <horms+renesas@verge.net.au> --- Documentation/devicetree/bindings/phy/rcar-gen3-phy-usb2.txt | 10 ++++++++-- drivers/phy/phy-rcar-gen3-usb2.c | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/phy/rcar-gen3-phy-usb2.txt b/Documentation/devicetree/bindings/phy/rcar-gen3-phy-usb2.txt index 2390e4e9c84c..1da9bb978824 100644 --- a/Documentation/devicetree/bindings/phy/rcar-gen3-phy-usb2.txt +++ b/Documentation/devicetree/bindings/phy/rcar-gen3-phy-usb2.txt @@ -6,6 +6,12 @@ This file provides information on what the device node for the R-Car generation Required properties: - compatible: "renesas,usb2-phy-r8a7795" if the device is a part of an R8A7795 SoC. + "renesas,usb2-phy-gen3" for a generic R-Car Gen3 compatible device. + + When compatible with the generic version, nodes must list the + SoC-specific version corresponding to the platform first + followed by the generic version. + - reg: offset and length of the partial USB 2.0 Host register block. - reg-names: must be "usb2_host". - clocks: clock phandle and specifier pair(s). @@ -23,7 +29,7 @@ peripheral at that channel: Example (R-Car H3): usb-phy@ee080200 { - compatible = "renesas,usb2-phy-r8a7795"; + compatible = "renesas,usb2-phy-r8a7795","renesas,usb2-phy-gen3"; reg = <0 0xee080200 0 0x700>, <0 0xe6590100 0 0x100>; reg-names = "usb2_host", "hsusb"; interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; @@ -32,7 +38,7 @@ Example (R-Car H3): }; usb-phy@ee0a0200 { - compatible = "renesas,usb2-phy-r8a7795"; + compatible = "renesas,usb2-phy-r8a7795","renesas,usb2-phy-gen3"; reg = <0 0xee0a0200 0 0x700>; reg-names = "usb2_host"; clocks = <&mstp7_clks R8A7795_CLK_EHCI0>; diff --git a/drivers/phy/phy-rcar-gen3-usb2.c b/drivers/phy/phy-rcar-gen3-usb2.c index ef332ef4abc7..ddd171814d36 100644 --- a/drivers/phy/phy-rcar-gen3-usb2.c +++ b/drivers/phy/phy-rcar-gen3-usb2.c @@ -303,6 +303,7 @@ static irqreturn_t rcar_gen3_phy_usb2_irq(int irq, void *_ch) static const struct of_device_id rcar_gen3_phy_usb2_match_table[] = { { .compatible = "renesas,usb2-phy-r8a7795" }, + { .compatible = "renesas,usb2-phy-gen3" }, { } }; MODULE_DEVICE_TABLE(of, rcar_gen3_phy_usb2_match_table); -- 2.1.4 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] phy: rcar-gen3-usb2: add fallback binding 2016-03-02 2:37 ` [PATCH 2/2] phy: rcar-gen3-usb2: " Simon Horman @ 2016-03-02 9:38 ` Geert Uytterhoeven 0 siblings, 0 replies; 6+ messages in thread From: Geert Uytterhoeven @ 2016-03-02 9:38 UTC (permalink / raw) To: Simon Horman Cc: Kishon Vijay Abraham I, Yoshihiro Shimoda, Magnus Damm, linux-kernel, linux-renesas-soc On Wed, Mar 2, 2016 at 3:37 AM, Simon Horman <horms+renesas@verge.net.au> wrote: > In the case of Renesas R-Car hardware we know that there are generations of > SoCs, e.g. Gen 2 and Gen 3. But beyond that its not clear what the > relationship between IP blocks might be. For example, I believe that > r8a7790 is older than r8a7791 but that doesn't imply that the latter is a > descendant of the former or vice versa. > > We can, however, by examining the documentation and behaviour of the > hardware at run-time observe that the current driver implementation appears > to be compatible with the IP blocks on SoCs within a given generation. > > For the above reasons and convenience when enabling new SoCs a > per-generation fallback compatibility string scheme being adopted for > drivers for Renesas SoCs. > > Signed-off-by: Simon Horman <horms+renesas@verge.net.au> > --- a/Documentation/devicetree/bindings/phy/rcar-gen3-phy-usb2.txt > +++ b/Documentation/devicetree/bindings/phy/rcar-gen3-phy-usb2.txt > @@ -6,6 +6,12 @@ This file provides information on what the device node for the R-Car generation > Required properties: > - compatible: "renesas,usb2-phy-r8a7795" if the device is a part of an R8A7795 > SoC. > + "renesas,usb2-phy-gen3" for a generic R-Car Gen3 compatible device. "renesas,rcar-gen3-usb2-phy"? Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-03-03 0:13 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2016-03-02 2:37 [PATCH 0/2] phy: rcar-gen2, rcar-gen3-usb2: add fallback binding Simon Horman 2016-03-02 2:37 ` [PATCH 1/2] phy: rcar-gen2: " Simon Horman 2016-03-02 9:37 ` Geert Uytterhoeven 2016-03-03 0:13 ` Simon Horman 2016-03-02 2:37 ` [PATCH 2/2] phy: rcar-gen3-usb2: " Simon Horman 2016-03-02 9:38 ` Geert Uytterhoeven
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®