On Mon, Oct 14, 2013 at 04:42:34PM +0100, Valentine Barshak wrote:
> R-Car Gen2 SoCs have a different PHY which is not compatible
> with the older R-Car H1 (R8A7779) version.
> This adds OF/platform device id tables and PHY initialization
> callbacks for the following Gen2 SoCs:
>   * R-Car H2: R8A7790;
>   * R-Car M2: R8A7791.
> 
> PHY initialization method is chosen, based on the device id.
> Default PHY settings are applied for Gen2 SoCs, which should
> suit the Gen2 boards available.
> 
> The R8A7779 platform code is modified to use "sata-r8a7779"
> device id.
> 
> Signed-off-by: Valentine Barshak <[email protected]>
> ---
>  .../devicetree/bindings/ata/sata_rcar.txt          |   5 +-
>  arch/arm/mach-shmobile/clock-r8a7779.c             |   2 +-
>  arch/arm/mach-shmobile/setup-r8a7779.c             |   2 +-
>  drivers/ata/sata_rcar.c                            | 112 
> ++++++++++++++++++---
>  4 files changed, 102 insertions(+), 19 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/ata/sata_rcar.txt 
> b/Documentation/devicetree/bindings/ata/sata_rcar.txt
> index 2465183..b5a41bf 100644
> --- a/Documentation/devicetree/bindings/ata/sata_rcar.txt
> +++ b/Documentation/devicetree/bindings/ata/sata_rcar.txt
> @@ -1,7 +1,10 @@
>  * Renesas R-Car SATA
>  
>  Required properties:
> -- compatible         : must be "renesas,sata-r8a7779"
> +- compatible         : must be one of the following:

s/must be/should contain/

> +                       - "renesas,sata-r8a7779" for R-Car H1
> +                       - "renesas,sata-r8a7790" for R-Car H2
> +                       - "renesas,sata-r8a7791" for R-Car M2

How do renesas,sata-r8a7790 and renesas,sata-r8a7791 differ?

>  - reg                        : address range of the SATA registers.

It's a size too...

>  - interrupt-parent   : interrupt parent controller phandle

Not required.

[...]

> +static struct of_device_id sata_rcar_match[] = {
> +     {
> +             .compatible = "renesas,sata-r8a7779",
> +             .data = (void *)RCAR_GEN1_SATA,
> +     },
> +     {
> +             .compatible = "renesas,sata-r8a7790",
> +             .data = (void *)RCAR_GEN2_SATA
> +     },
> +     {
> +             .compatible = "renesas,sata-r8a7791",
> +             .data = (void *)RCAR_GEN2_SATA
> +     },
> +     {},
> +};
> +MODULE_DEVICE_TABLE(of, sata_rcar_match);

Are the renesas,sata-r8a779x variants identical?

If so, why the two strings?

Could we not require sata-r8a7791 devices to have "sata-r8a7790" in the
compatible list:

        compatible = "sata-r8a7791", "sata-r8a7790";

That way we can match on "sata-r8a7791" if we want to later, but don't
need code for it now.

Thanks,
Mark.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to