Open jeremysalwen opened 5 months ago
Specific commands: I am not sure which area you feel is missing details, I would be happy to provide details on an any step if it is still not clear. I did not want to fill up the issue with the details of how I ran each experiment, since I expect most of them you would consider irrelevant.
sudo apt update; sudo apt upgrade
)/boot/bcm2711-rpi-4-b.dtb
to a dts file, using dtc
, edited the dts file to change the enabled/disabled status of the /soc/mmc@fe300000
to okay
and /soc/mmcnr@fe300000
to disabled
, and recompiled it back to `/boot/bcm2711-rpi-4-b.dtb. This is simply replacing the string "disabled" with "okay" and "okay" with "disabled". No other changes were made to the device tree./boot/initramfs8
, again stock from the latest raspbian). This can be forced a number of ways, e.g. changing the root=PARTUUID=
in /boot/cmdline.txt
to a different UUID (thus making it fail to find the root fs on boot).devmem 0xfe2000d0 b 0x03
Reason for wanting to do this:
The emmc2 driver causes significant EMI at 1200 and 1250 MHz, which causes interference with the L2 band of GPS. The SDHCI driver causes less interference in my tests. I have tried underclocking emmc2 with echo $CLOCK > /sys/kernel/debug/mmc0/clock
but found that still did not reduce the EMI much.
Official Support I understand you cannot debug my specific problem, but any help I could find would be appreciated. Especially any reference to a working example of using this functionality.
Describe the bug The SDHCI controller gives the error "mmc3: error -84 whilst initialising SD card" when it is connected to the microSD Card slot (by using the 0xfe2000d0 bit1 mux). This is robust to changing a variety of other factors, such as the driver, and the microSD card.
To reproduce The following is the simplest way to reproduce:
devmem 0xfe2000d0 b 0x03
However, I have tested a wide variety of configurations, which I will detail below.
Expected behaviour SD Card to be detected and appear in /dev/mmcblk*
Actual behaviour dmesg periodically shows the error "mmc3: error -84 whilst initialising SD card" Occasionally it will show "mmc3: error -110 whilst initialising SD card"
System raspinfo: https://pastebin.com/6r7yZG5n
NOTE: the dmesg logs are from a boot where I did not use the mux at 0xfe2000d0, so the mmc3 error I believe is just from the removable mmc@fe300000 talking to the wifi module
Additional context I have run a variety of experiment to determine if some other factor was causing the issue:
mw.b 0xfe2000d0 0x03
, before booting linux. This gave the same error.ls mmc 3:1
.busybox devmem 0xfe2000d0 b 0x03
, which still generated the same error.Notice how both mmc0 and mmc3 (i.e. the emmc2 and the SDHCI) log the card being removed. This is the only situation in which I have seen SDHCI recognize the card.
broken-cd
to the mmc@fe300000 device tree node, which had no effect.Previous related issues: https://github.com/raspberrypi/firmware/issues/127 and https://github.com/raspberrypi/documentation/issues/1209#issuecomment-513797407