Message ID | 20221213230129.549968-4-fabrizio.castro.jz@renesas.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | SDHI/MMC SoC support for the RZ/V2M | expand |
On Tue, Dec 13, 2022 at 11:01:28PM +0000, Fabrizio Castro wrote: > The SDHI/eMMC IPs found with the RZ/V2M (a.k.a. r9a09g011), are > very similar to the ones found in R-Car Gen3, but they are not > exactly the same, and as a result need an SoC specific compatible > string for fine tuning driver support. > > Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com> Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com> > +static const struct renesas_sdhi_quirks sdhi_quirks_r9a09g011 = { > + .fixed_addr_mode = true, > + .hs400_disabled = true, > +}; Cool, seems like our quirk abstraction works reasonably well :)
On Wed, 14 Dec 2022 at 00:01, Fabrizio Castro <fabrizio.castro.jz@renesas.com> wrote: > > The SDHI/eMMC IPs found with the RZ/V2M (a.k.a. r9a09g011), are > very similar to the ones found in R-Car Gen3, but they are not > exactly the same, and as a result need an SoC specific compatible > string for fine tuning driver support. > > Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com> Applied for next, thanks! Kind regards Uffe > --- > drivers/mmc/host/renesas_sdhi_internal_dmac.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/drivers/mmc/host/renesas_sdhi_internal_dmac.c b/drivers/mmc/host/renesas_sdhi_internal_dmac.c > index 29f562115c66..f38003f6b1ca 100644 > --- a/drivers/mmc/host/renesas_sdhi_internal_dmac.c > +++ b/drivers/mmc/host/renesas_sdhi_internal_dmac.c > @@ -210,6 +210,11 @@ static const struct renesas_sdhi_quirks sdhi_quirks_r8a77990 = { > .manual_tap_correction = true, > }; > > +static const struct renesas_sdhi_quirks sdhi_quirks_r9a09g011 = { > + .fixed_addr_mode = true, > + .hs400_disabled = true, > +}; > + > /* > * Note for r8a7796 / r8a774a1: we can't distinguish ES1.1 and 1.2 as of now. > * So, we want to treat them equally and only have a match for ES1.2 to enforce > @@ -251,6 +256,11 @@ static const struct renesas_sdhi_of_data_with_quirks of_r8a77990_compatible = { > .quirks = &sdhi_quirks_r8a77990, > }; > > +static const struct renesas_sdhi_of_data_with_quirks of_r9a09g011_compatible = { > + .of_data = &of_data_rcar_gen3, > + .quirks = &sdhi_quirks_r9a09g011, > +}; > + > static const struct renesas_sdhi_of_data_with_quirks of_rcar_gen3_compatible = { > .of_data = &of_data_rcar_gen3, > }; > @@ -274,6 +284,7 @@ static const struct of_device_id renesas_sdhi_internal_dmac_of_match[] = { > { .compatible = "renesas,sdhi-r8a77970", .data = &of_r8a77970_compatible, }, > { .compatible = "renesas,sdhi-r8a77990", .data = &of_r8a77990_compatible, }, > { .compatible = "renesas,sdhi-r8a77995", .data = &of_rcar_gen3_nohs400_compatible, }, > + { .compatible = "renesas,sdhi-r9a09g011", .data = &of_r9a09g011_compatible, }, > { .compatible = "renesas,rcar-gen3-sdhi", .data = &of_rcar_gen3_compatible, }, > { .compatible = "renesas,rcar-gen4-sdhi", .data = &of_rcar_gen3_compatible, }, > {}, > -- > 2.34.1 >
diff --git a/drivers/mmc/host/renesas_sdhi_internal_dmac.c b/drivers/mmc/host/renesas_sdhi_internal_dmac.c index 29f562115c66..f38003f6b1ca 100644 --- a/drivers/mmc/host/renesas_sdhi_internal_dmac.c +++ b/drivers/mmc/host/renesas_sdhi_internal_dmac.c @@ -210,6 +210,11 @@ static const struct renesas_sdhi_quirks sdhi_quirks_r8a77990 = { .manual_tap_correction = true, }; +static const struct renesas_sdhi_quirks sdhi_quirks_r9a09g011 = { + .fixed_addr_mode = true, + .hs400_disabled = true, +}; + /* * Note for r8a7796 / r8a774a1: we can't distinguish ES1.1 and 1.2 as of now. * So, we want to treat them equally and only have a match for ES1.2 to enforce @@ -251,6 +256,11 @@ static const struct renesas_sdhi_of_data_with_quirks of_r8a77990_compatible = { .quirks = &sdhi_quirks_r8a77990, }; +static const struct renesas_sdhi_of_data_with_quirks of_r9a09g011_compatible = { + .of_data = &of_data_rcar_gen3, + .quirks = &sdhi_quirks_r9a09g011, +}; + static const struct renesas_sdhi_of_data_with_quirks of_rcar_gen3_compatible = { .of_data = &of_data_rcar_gen3, }; @@ -274,6 +284,7 @@ static const struct of_device_id renesas_sdhi_internal_dmac_of_match[] = { { .compatible = "renesas,sdhi-r8a77970", .data = &of_r8a77970_compatible, }, { .compatible = "renesas,sdhi-r8a77990", .data = &of_r8a77990_compatible, }, { .compatible = "renesas,sdhi-r8a77995", .data = &of_rcar_gen3_nohs400_compatible, }, + { .compatible = "renesas,sdhi-r9a09g011", .data = &of_r9a09g011_compatible, }, { .compatible = "renesas,rcar-gen3-sdhi", .data = &of_rcar_gen3_compatible, }, { .compatible = "renesas,rcar-gen4-sdhi", .data = &of_rcar_gen3_compatible, }, {},
The SDHI/eMMC IPs found with the RZ/V2M (a.k.a. r9a09g011), are very similar to the ones found in R-Car Gen3, but they are not exactly the same, and as a result need an SoC specific compatible string for fine tuning driver support. Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com> --- drivers/mmc/host/renesas_sdhi_internal_dmac.c | 11 +++++++++++ 1 file changed, 11 insertions(+)