On 4/22/22 10:41 AM, icenowy@xxxxxxxxxxx wrote: > From: Icenowy Zheng <icenowy@xxxxxxx> > > The two MMC controllers in Allwinner R329 have a mixed feature set > comparing to the previous SoCs' ordinary MMC and eMMC controllers. > > Add support for them. > > Signed-off-by: Icenowy Zheng <icenowy@xxxxxxx> Acked-by: Samuel Holland <samuel@xxxxxxxxxxxx> > --- > drivers/mmc/host/sunxi-mmc.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/mmc/host/sunxi-mmc.c b/drivers/mmc/host/sunxi-mmc.c > index 0e8fbf4957d8..06934eef8be5 100644 > --- a/drivers/mmc/host/sunxi-mmc.c > +++ b/drivers/mmc/host/sunxi-mmc.c > @@ -1207,6 +1207,15 @@ static const struct sunxi_mmc_cfg sun50i_a100_emmc_cfg = { > .needs_new_timings = true, > }; > > +static const struct sunxi_mmc_cfg sun50i_r329_cfg = { > + .idma_des_size_bits = 13, > + .idma_des_shift = 2, > + .clk_delays = NULL, > + .can_calibrate = true, > + .mask_data0 = true, > + .needs_new_timings = true, > +}; > + This is the same as D1, so you could reuse or replace that configuration constant. Regards, Samuel > static const struct of_device_id sunxi_mmc_of_match[] = { > { .compatible = "allwinner,sun4i-a10-mmc", .data = &sun4i_a10_cfg }, > { .compatible = "allwinner,sun5i-a13-mmc", .data = &sun5i_a13_cfg }, > @@ -1218,6 +1227,7 @@ static const struct of_device_id sunxi_mmc_of_match[] = { > { .compatible = "allwinner,sun50i-a64-emmc", .data = &sun50i_a64_emmc_cfg }, > { .compatible = "allwinner,sun50i-a100-mmc", .data = &sun50i_a100_cfg }, > { .compatible = "allwinner,sun50i-a100-emmc", .data = &sun50i_a100_emmc_cfg }, > + { .compatible = "allwinner,sun50i-r329-mmc", .data = &sun50i_r329_cfg }, > { /* sentinel */ } > }; > MODULE_DEVICE_TABLE(of, sunxi_mmc_of_match); >