Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mmc: sunxi-mmc: Add D1 MMC variant

D1's MMC controllers are unique in that they have the DMA address shift
(like A100) with a 13-bit descriptor size field (like sun4i). Add the
compatible and parameters for this new variant.

Signed-off-by: Samuel Holland <samuel@sholland.org>
Acked-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20220203015112.12008-2-samuel@sholland.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>

authored by

Samuel Holland and committed by
Ulf Hansson
75a2f412 02d9c3f4

+9
+9
drivers/mmc/host/sunxi-mmc.c
··· 1167 1167 .can_calibrate = false, 1168 1168 }; 1169 1169 1170 + static const struct sunxi_mmc_cfg sun20i_d1_cfg = { 1171 + .idma_des_size_bits = 13, 1172 + .idma_des_shift = 2, 1173 + .can_calibrate = true, 1174 + .mask_data0 = true, 1175 + .needs_new_timings = true, 1176 + }; 1177 + 1170 1178 static const struct sunxi_mmc_cfg sun50i_a64_cfg = { 1171 1179 .idma_des_size_bits = 16, 1172 1180 .clk_delays = NULL, ··· 1213 1205 { .compatible = "allwinner,sun7i-a20-mmc", .data = &sun7i_a20_cfg }, 1214 1206 { .compatible = "allwinner,sun8i-a83t-emmc", .data = &sun8i_a83t_emmc_cfg }, 1215 1207 { .compatible = "allwinner,sun9i-a80-mmc", .data = &sun9i_a80_cfg }, 1208 + { .compatible = "allwinner,sun20i-d1-mmc", .data = &sun20i_d1_cfg }, 1216 1209 { .compatible = "allwinner,sun50i-a64-mmc", .data = &sun50i_a64_cfg }, 1217 1210 { .compatible = "allwinner,sun50i-a64-emmc", .data = &sun50i_a64_emmc_cfg }, 1218 1211 { .compatible = "allwinner,sun50i-a100-mmc", .data = &sun50i_a100_cfg },