Thank you so much for your detailed reply!the entire pi0-pi3 family only had sdhost and sdhciI noticed that only emmc2 uses the `brcm,bcm2711`, and the others use `brcm,bcm2835`.
Is it because there is no emmc2 in RPi3?
RPi3 uses sdhost to drive the sd card?
originally, pi1 drove the sd with sdhci, linux already had the drivers, and it only needed one
then with the pi3, they needed SDIO for the wifi, and only sdhci worked
and the sdhost drivers got added to linux, to take over the SD card role
and i assume testing revealed sdhost was faster then sdhci, so sdhost became the default
sdhost and sdhci are 50mhz SDR
but emmc2 on the pi4 is 50mhz DDR, so it can move twice the data
emmc2 also has an 8bit bus, so the CM4 with an emmc can move double again, vs the pi4yeah, the drivers should work without any changesCan the sdhci and sdhost drivers of rpi3 be used directly(or a little change) on rpi4?
but some arent routed to the right pins, and will need hardware to make it work
and keep in mind, the pinmux changes
rpi4-gpio-mux.png
this is a diagram i made a few years back, on all of the pinmux stuff for the pi4
you can see how sdhost can go to bank0 or bank2
sdhci can go to bank0, bank1, bank2, or the uSD slot
and emmc2 can only go to the uSD slot
https://github.com/librerpi/rpi-open-fi ... xt#L63-L71
bit0 of 0x7e2000d0 decides if the uSD is served by emmc2 or sdhci
the red paths in the graph are used by the firmware during boot
and the green paths by linux
![Very Happy :D](http://forums.raspberrypi.com/images/smilies/icon_e_biggrin.gif)
Statistics: Posted by yangn0 — Fri Mar 22, 2024 5:08 am