
On Tue, Apr 16, 2019 at 4:40 PM Robin Murphy robin.murphy@arm.com wrote:
On 16/04/2019 11:56, Jagan Teki wrote:
sdmmc cd pin is configured as RK_FUNC_GPIO which is wrong and indeed failed to detect the sdcard on the board with below error
Card did not respond to voltage select!
So, fix it by replacing RK_FUNC_GPIO with RK_FUNC_1 which is already defined in rk3399.dts so make use of same like other boards.
I guess the U-Boot dwmmc driver doesn't support using a GPIO? The reason we do this for Linux is that the dedicated function is not compatible with runtime power management - once we see that no card is present and suspend the idle controller, the CD logic is also powered off and thus no longer capable of generating the interrupt necessary to wake everything up again. The GPIO function of the same pin, however, is in an always-on power domain so is able to do the right thing.
I can see these gpio pins were managed via drivers/pinctrl/rockchip/pinctrl-rk3399.c and drivers/gpio/rk_gpio.c . On the other hand other boards do use RKFUNC_1 for CD pin(even in Linux) but what is different in nanopi4? do other boards are yet to change?