My wifi module connects with the sdio interface.(LILY-W1) It doesn’t use the built-in WiFi to use the certified module.
This module requires SDIO PullUp, but in the DTC file it looks like PullDown. (Please check if this recognition is acceptable.) The relevant parts of the DTC file are as follows.
On the other hand, according to the LILY-W1 manual, a 50KΩ Pull Up is required. Is this difficult with PullUp built into the device? Should I solder it to the outside?
[ 1235.386941] rtk_sdmmc_int_wait: reset the card and adjust the driving capacity, cmd=1, SD_TRANSFER=0x78
[ 1235.397026] rtk-sdmmc 98000000.sdmmc: card claims to support voltages below defined range
[ 1235.400122] mmc0: error -3 whilst initialising MMC card
[ 1235.688437] rtk_sdmmc_get_cd: SD card exists, card_exist = 0x32bf04
[ 1235.698454] rtk_sdmmc_get_cd: SD card is being inserted now...!!!
[ 1235.879197] rtk_sdmmc_timeout: command/data timeout, pre_cmd=0, cmd=8, poll=0, ISR=0, ISR_EN=6
[ 1235.879233] Reject SD 2.x command
[ 1235.879450] rtk_sdmmc_int_wait(1682) trans error(timeout) :
trans: 0x00000008, st1: 0x00000000, st2: 0x00000000, bus: 0x0000001f
[ 1235.879462] rtk_sdmmc_int_wait: error opcode = 8
[ 1235.879887] Reject SD 1.x command
[ 1235.880292] Reject SD 1.x command
[ 1235.880698] Reject SD 1.x command
[ 1235.881100] Reject SD 1.x command
[ 1235.881514] rtk_sdmmc_int_wait: reset the card and adjust the driving capacity, cmd=1, SD_TRANSFER=0x78
[ 1235.891602] rtk-sdmmc 98000000.sdmmc: card claims to support voltages below defined range
[ 1235.894686] mmc0: error -3 whilst initialising MMC card
[ 1236.023136] SD card is being removed now...!!!
[ 1236.176478] rtk_sdmmc_get_cd: SD card does not exist, card_exist = 0x32bf0c
Please tell me the procedure to pull up.
The target board is booted with emmc.
sd and sdio have different driver and different dts configuration, not just repalce the gpios, sdmmc is for sd, please check the driver and dts first, enable sdio node, change gpios group and disable sd node.
It seems that GPIO32-39 can be set to SDIO, so I modified the dts file.
However, it stops in the middle of boot. I think my fix is wrong.
I don’t have a data sheet so I don’t know any more.
Would you please fix it correctly?
I know you plug a socket wifi module to sd slot, but one pinctrl can’t be used for both sdmmc and sdio at same time, so you must disable sdmmc node, or change the pinctrl of sdmmc to another group.
I tried to define sdio at the address of sdio@98010400. After all it seems that the definition of the register is insufficient. Boot is possible, but SDIO is not detected.
With the understanding so far, I tried the following, but it doesn’t work.
Is there a recommended setting, I would like to try it.
I look forward to working with you.
It is necessary to set sdio_pins_0 to pull_up and adapt it to sdmmc.
sdio_pins_0 is set to pull_up.
The handle of sdio_pins_0 is assumed to be 0x40.
0x40 was adapted to sdmmc.
GPIO_33 was deleted from sdio_pins_0 because pull up is not required for CLOCK.
compatible = “Realtek, rtk1295-sdio”;
I also changed some gpios.
root@bpi-iot-ros-ai:/mnt/bananapi/bpi-m4/linux# vi rtd-1395-bananapi-m4-1GB.dts
You didn’t understand what i said, I think you should read the dts source file instead of decompile the dtb, and learn some dts basic knownledge before you do this work.
Is the information in each configuration register unnecessary to describe the correct dts file?
I am doing trial and error in the absence of that information.
If you are an expert and you don’t need them and you can build a dts file with the information that is open now, I will study more and more.
If it is necessary and it is close, it is useless to study, so consider other methods.
Especially if you need to change the register settings for sdmmc and sdio