Thread 中讨论的其他器件:WL1835
工具/软件:Linux
大家好、wl1805/wl1835模块支持的时钟速度列表吗? 和其他模式?
我希望将 Linux 驱动程序移植到定制板。 内核版本为4.6.37-ti-r47。 SDIO 模式和速度由`mMC/core/SDIO.c`中的`mMC_SDIO_INIT_CARD ()`函数设置:
/* 切换到高速(如果支持)。 // err = SDIO_ENABLE_hs (card); if (err > 0) MMC_SET_时序(card->host、MMC_timing_SD_HS); 否则(err) 转至 REMOVE; // *更改为卡的最大速度。 */ MMC_SET_CLOCK (HOST、MMC_SDIO_GET_max_CLOCK (CARD)); /* 切换到更宽的总线(如果支持)。 */ err = SDIO_ENABLE_4bit_BUS (card); 如果(err) 转到删除;
这段代码依次调用`mMC/core/core.c`中的`mMC_SET_IOS()`函数、并将时钟设置为25MHz (4位宽度)、如以下日志所示:
mmc2:时钟25000000Hz 总线模式2功率模式2 cs 0 Vdd 21宽度4计时0
现在的问题是块写入工作、但不读取。 我正在研究降低 SDIO 速度、并探讨其他可能适合总线上可能降低的信号质量的模式。
我已经尝试在上面的代码中注释掉`mmc_set_clock()`。 因此、总线将以400kHz 的频率运行、而不是切换到25MHz。 结果仍然相同。 wl18xx 模块是否支持低于25MHz 的任何速度或仅支持列表中的某些值?