> Date: Tue, 06 Feb 2024 22:37:50 +0900 > From: SASANO Takayoshi <u...@mx5.nisiq.net> > > Hello, > > I am working for H616 since OrangePi Zero2... > > Here's the diff. sximmc.c is reconstructed.
Hi Takayoshi, Apologies; seems I have missed your earlier mails about H616. I'd like to take a closer look at the ehci(4) changes; will come back to you on those soon. The sxiccmu(4) and sxisyscon(4) diffs are ok kettenis@ The sxipio(4) diff is missing a const but is otherwise identical to mine. Shall I commit mine? The sximmc(4) diff isn't quite correct. We need to restrict the maximum segment size for the "allwinner,sun50i-a100-emmc" ones otherwise large reads and writes will fail. Also, we can actually remove the handling of the "allwinner,sun20i-d1-emmc" compatible since the Allwinner D1 device trees include "allwinner,sun50i-a100-emmc" as well. ok? Index: dev/fdt/sximmc.c =================================================================== RCS file: /cvs/src/sys/dev/fdt/sximmc.c,v retrieving revision 1.13 diff -u -p -r1.13 sximmc.c --- dev/fdt/sximmc.c 2 Feb 2024 12:02:26 -0000 1.13 +++ dev/fdt/sximmc.c 6 Feb 2024 20:40:48 -0000 @@ -299,9 +299,10 @@ sximmc_match(struct device *parent, void OF_is_compatible(faa->fa_node, "allwinner,sun7i-a20-mmc") || OF_is_compatible(faa->fa_node, "allwinner,sun9i-a80-mmc") || OF_is_compatible(faa->fa_node, "allwinner,sun20i-d1-mmc") || - OF_is_compatible(faa->fa_node, "allwinner,sun20i-d1-emmc") || OF_is_compatible(faa->fa_node, "allwinner,sun50i-a64-mmc") || - OF_is_compatible(faa->fa_node, "allwinner,sun50i-a64-emmc")); + OF_is_compatible(faa->fa_node, "allwinner,sun50i-a64-emmc") || + OF_is_compatible(faa->fa_node, "allwinner,sun50i-a100-mmc") || + OF_is_compatible(faa->fa_node, "allwinner,sun50i-a100-emmc")); } int @@ -398,7 +399,8 @@ sximmc_attach(struct device *parent, str sc->sc_dma_ftrglevel = SXIMMC_DMA_FTRGLEVEL_A20; if (OF_is_compatible(faa->fa_node, "allwinner,sun20i-d1-mmc") || - OF_is_compatible(faa->fa_node, "allwinner,sun20i-d1-emmc")) + OF_is_compatible(faa->fa_node, "allwinner,sun50i-a100-mmc") || + OF_is_compatible(faa->fa_node, "allwinner,sun50i-a100-emmc")) sc->sc_idma_shift = 2; if (sc->sc_use_dma) { @@ -451,8 +453,8 @@ sximmc_attach(struct device *parent, str if (OF_is_compatible(sc->sc_node, "allwinner,sun4i-a10-mmc") || OF_is_compatible(sc->sc_node, "allwinner,sun20i-d1-mmc") || - OF_is_compatible(sc->sc_node, "allwinner,sun20i-d1-emmc") || - OF_is_compatible(sc->sc_node, "allwinner,sun50i-a64-emmc")) { + OF_is_compatible(sc->sc_node, "allwinner,sun50i-a64-emmc") || + OF_is_compatible(sc->sc_node, "allwinner,sun50i-a100-emmc")) { saa.max_seg = 0x2000; } else { saa.max_seg = 0x10000;