I am working on bringing up a custom board that has an eMMC module hooked up to SDHC1 on a Zynq-7000, with the RST_N line (with pull-up) going to MIO0. There is neither a mux or conf pinctl entry for this pin/group in the devicetree.
When in u-boot I am able to “ls mmc 0:1” and see the contents of the filesystem. When I try to boot into linux I get a "Waiting for root device /dev/mmcblk0p1...".
During my troubleshooting I found that If, in u-boot, I do a "gpio clear 0" (drive the pin low) it boots fine. What the heck!?
Other measures I have taked:
Made sure to enable RST_N in the ECSD register with the “mmc” tool - No change
Verified with an oscilloscope that the RST_N pin defaults to high, and only goes low when doing the gpio command from u-boot.
Tried adding pinctl entries into the devicetree to set the pin - this usually prevents the board from booting no matter what I do with the reset line in uboot.
Any advice would be greatly appreciated - I am quickly running out of ideas to try.