Thread 中讨论的其他器件:WL1835
工具/软件:Linux
大家好、
我尝试在 mmc2 (mmc0、mmc1、mmc2)中设置 wifi 模块、但无法使其在 HS 模式下工作(时钟速率高于48Mhz)、
最大频率为24MHz 意味着默认模式工作正常。
故障日志:
[6.294967] mmc2:来自 MMC 的错误在 MMC_IO_RW_DIC_HOST 中等待 cmd:0
[6.294969] 退出 MMC_SDIO_SWITCH_hs
[6.294973] mmc2:时钟400000Hz 总线模式2功率模式2 cs 0 Vdd 21宽度1计时2.
[6.294995] mmc2:时钟48000000Hz 总线模式2功率模式2 cs 0 Vdd 21宽度4计时2.
[6.295001] mmc2:SDIO 初始化卡在 MMC_ATE_SDIO 中完成
[6.295005] mmc2:funcs:3.
[6.295007] 输入 SDIO_INIT_FUNC
[6.295011] mmc2:Alloc Fun Done fn:1.
[6.295015] mmc2:启动 CMD52 arg00020000标志00000195
[6.295020] 写入完成:mmc2:CMD52、参数0x00020000
[6.295025] mmc2:请求完成(CMD52):0:00000000 00000000 00000000 00000000
[6.295045] mmc2:来自 MMC 的错误在 MMC_IO_RW_DIC_HOST 中等待 cmd:0
[6.295047] 进入 SDIO_READ_CIS
[6.295053] mmc2:启动 CMD52 arg 00021200标志00000195
[6.295058] 写入完成:mmc2:CMD52、参数0x00021200
[6.295063] mmc2:请求完成(CMD52):0:00000000 00000000 00000000 00000000
[6.295082] mmc2:来自 MMC 的错误在 MMC_IO_RW_DIC_HOST 中等待 cmd:0
[6.295084] mmc2:RET:0 MMC_IO_RW_Direct 在 SDIO_READ_CIS 中完成
[6.295090] mmc2:启动 CMD52 arg 00021400标志00000195
[6.295095] 写入完成:mmc2:CMD52、参数0x00021400
[6.295102] mmc2:Req Done (CMD52):-84:00000000 00000000 00000000 00000000
[6.295118] mmc2:从 MMC 读取错误、等待 MMC_IO_RW_DIC_HOST 中的 cmd:-84
[6.295121] mmc2:RET:-84 MMC_IO_RW_Direct 在 SDIO_READ_CIS 中完成
[6.295123] mmc2:SDIO 读取 func CIS 在 SDIO_init_func 中完成
[6.295136] mmc2:初始化 SDIO 卡时出错-84
[6.295140] mmc2:启动 CMD55 arg 00000000标志000000f5
[6.295145] 写入完成:mmc2:CMD55、参数0x00000000
[6.295152] mmc2:Req Done (CMD55):-110:00000000 00000000 00000000 00000000
[6.295171] mmc2:启动 CMD55 arg 00000000标志000000f5
--------------
设备树:
mmc3_PINS_DEFAULT:mmc3_PINS_DEFAULT{
pinctrl-single、pins =<
DRA7XX_CORE_IOPAD (0x377c、(PIN_INPUT_PULLUP | MUX_MODE0))/* mmc3_clk.mmc3_clk *
DRA7XX_CORE_IOPAD (0x3780、(PIN_INPUT_PULLUP | MUX_MODE0))/* mmc3_cmd.mmc3_cmd *
DRA7XX_CORE_IOPAD (0x3784、(PIN_INPUT_PULLUP | MUX_MODE0))/* mmc3_dat0.mmc3_dat0 *
DRA7XX_CORE_IOPAD (0x3788、(PIN_INPUT_PULLUP | MUX_MODE0))/* mmc3_dat1.mmc3_dat1 *
DRA7XX_CORE_IOPAD (0x378c、(PIN_INPUT_PULLUP | MUX_MODE0))/* mmc3_dat2.mmc3_dat2 *
DRA7XX_CORE_IOPAD (0x3790、(PIN_INPUT_PULLUP | MUX_MODE0))/* mmc3_dat3.mmc3_dat3 *
>;
};
mmc3_PINs_hs:mmc3_PINs_hs{
pinctrl-single、pins =<
DRA7XX_CORE_IOPAD (0x377c、(PIN_INPUT_PULLUP | MUX_MODE0))/* mmc3_clk.mmc3_clk *
DRA7XX_CORE_IOPAD (0x3780、(PIN_INPUT_PULLUP | MUX_MODE0))/* mmc3_cmd.mmc3_cmd *
DRA7XX_CORE_IOPAD (0x3784、(PIN_INPUT_PULLUP | MUX_MODE0))/* mmc3_dat0.mmc3_dat0 *
DRA7XX_CORE_IOPAD (0x3788、(PIN_INPUT_PULLUP | MUX_MODE0))/* mmc3_dat1.mmc3_dat1 *
DRA7XX_CORE_IOPAD (0x378c、(PIN_INPUT_PULLUP | MUX_MODE0))/* mmc3_dat2.mmc3_dat2 *
DRA7XX_CORE_IOPAD (0x3790、(PIN_INPUT_PULLUP | MUX_MODE0))/* mmc3_dat3.mmc3_dat3 *
>;
};
vmmcwl_fixed:fixedreguler-mmcwl{
兼容="稳压器固定";
电脑控制器名称="vmmcwl_fixed";
/*对于 TI WL12xx,请使用1.8V*/
/*
稳压器最小微伏=<1800000>;
稳压器最大值微伏=<1800000>;
*
稳压器最小微伏=<3300000>;
稳压器最大值微伏=<3300000>;
GPIO =<&GPIO5 8 GPIO_ACTIVE_HIGH_>;
使能端高电平有效;
};
wlreg_on:fixedregulator@100{
兼容="稳压器固定";
电脑控制器名称="wlreg_on";
稳压器最小微伏=<3300000>;
稳压器最大值微伏=<3300000>;
启动延迟-us =<70000>;
GPIO =<&GPIO5 8 GPIO_ACTIVE_HIGH_>;
使能端高电平有效;
};
};
mmc3{(&M)
状态="正常";
VMMC-SUPPLY =<&vmmcwl_fixed>;
总线宽度=<4>;
pinctrl-names ="default";
电容断电卡;
暂停时保持供电;
TI、不可拆卸;
TI、需要特殊处理;
使能 SDIO 唤醒;
CD 开机自检;//这会延迟卡检测,直到我们调用 wifi 卡检测()*/
WiFi-host;/*这使 WiFi_card_detect()能够工作*/
CAP-SDIO-IRQ;/*要在中断模式默认设置中设置 SDIO mmc3,请使用轮询模式*/
pinctrl-names ="默认值"、"hs"、"sdr12"、"sdr25"、"sdr50";
pinctrl-0 =<&mmc3_PINS_DEFAULT>;
pinctrl-1 =<&mmc3_PINs_hs>;
pinctrl-2 =<&mmc3_PINs_sdr12>;
pinctrl-3 =<&mmc3_PINs_sdr25>;
pinctrl-4 =<&mmc3_PINs_sdr50 &mmc3_iodelay_manual1_conf>;
最大频率=<48000000>;
#address-cells =<1>;
#size-cells =<0>;
wlcore:wlcore@2{
兼容="ti、wl1835";
reg =<2>;
interrupt-parent =<&GPIO5>;
中断=<7 IRQ_TYPE_LEVEL_HIGH_>;
};
};
----------------
DTS 配置中有任何错误?
我将使用内核4.9.28-geed43d1050的最新 SDK 4.00。
谢谢、
Suraj