This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM335x 无法使 MMC2控制 WL1835 Wifi

Guru**** 2560390 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/708415/am335x-cannot-enable-mmc2-to-control-wl1835-wifi

器件型号:WL1835MOD
Thread 中讨论的其他器件:WL1835

工具/软件:Linux

您好!  

我在定制板上工作、尝试通过 MMC2控制 WL1835。

基于以下文档: processors.wiki.ti.com/.../WL18xx_Platform_Integration_Guide

这里是我的引导状态、检测 MMC 无法设置、WL_EN 仍然为低电平。

请给我一些解决方案来解决它。  

. 在这里剪切

[1.343584] pinctrl-single 44e10800.pinmux:44e10800.pinmux 已请求引脚 PIN10;无法申请4781000.mc
[1.354833] pinctrl-single 44e10800.pinmux:pin-10 (4781000.MMC) status -22
[1.362086] pinctrl-single 44e10800.pinmux:无法从器件 pinctrl-single 上的组 pinmux_WLAN_pins_default 请求引脚10 (PIN10)
[1.374706] OMAP_hsmmc 4781000.MMC:应用设置时出错、反向

(笑声)

[1.760452]  WLAN-en-regulator:正在禁用

(笑声)

设备树

/*
*版权所有(C) 2012德州仪器(TI)公司- http://www.ti.com/
*
*此程序是免费软件;您可以重新分发和/或修改
*根据 GNU 通用公共许可证第2版的条款,如所示
*由免费软件基金会发布。
*
/DTS-v1/;

#include "am33xx.dtsi"
#include "AM335x-bone-common.dtsi"
#include
#include

/{
型号="网关";
兼容="ti、am335x-bone-black"、"ti、am335x-bone-"、"ti、am33xx";

wlan_en_reg:fixedregator@2{
兼容="稳压器固定";
reguler-name ="wlan-en-regulator ";
稳压器最小微伏=<1800000>;
稳压器最大值微伏=<1800000>;
启动延迟-us =<70000>;

最大频率=<10000000>;
GPIO =<&GPIO0 26 GPIO_ACTIVE_HIGH_>;
使能端高电平有效;
};

tibt{
兼容="tibt";
nSHUTDOWN_GPIO =<23>;/*组1、pin12 *
DEV_name ="/dev/ttyS1;
flow_Cntrl =<1>;
波特率=<3000000>;
};
};

ldo3_reg{(&L)
稳压器最小微伏=<1800000>;
稳压器最大值微伏=<1800000>;
稳压器常开;
};

mmc1{(&M)
VMMC-SUPPLY =<&vmmcsd_fixed>;
};

mmc2{(&M)
VMMC-SUPPLY =<&vmmcsd_fixed>;
pinctrl-names ="default";
pinctrl-0 =<&eMMC_PINs>;
总线宽度=<8>;
状态="正常";
};

CPU0_OPP_TABLE{
/*
*所有 PG 2.0器件可能都不支持1GHz、但有些器件支持较早的频率
* BeagleBone Black 具有可保证的 PG 2.0器件
*支持1GHz OPP、因此请在此板上启用 PG 2.0。
*
硝基平@1000000000{
opp-supported-HW =<0x06 0x0100>;
};
};

am33xx_pinmux{(am33xx_pinmux)}

NXP_HDMI_bonelt_pins:NXP_HDMI_bonelt_pins{
pinctrl-single、pins =<
AM33XX_IOPAD (0x9b0、PIN_OUTPUT 下拉| MUX_MODE3)/* xdma_event_intr0 */
AM33XX_IOPAD (0x8a0、PIN_OUTPUT | MUX_MODE0)/* LCD_Data0.LCD_Data0 *
AM33XX_IOPAD (0x8a4、PIN_OUTPUT | MUX_MODE0)/* LCD_data1.LCD_data1 *
AM33XX_IOPAD (0x8a8、PIN_OUTPUT | MUX_MODE0)/* LCD_data2.LCD_data2 *
AM33XX_IOPAD (0x8ac、PIN_OUTPUT | MUX_MODE0)/* LCD_data3.LCD_data3 *
AM33XX_IOPAD (0x8b0、PIN_OUTPUT | MUX_MODE0)/* LCD_data4.LCD_data4 *
AM33XX_IOPAD (0x8b4、PIN_OUTPUT | MUX_MODE0)/* LCD_data5.LCD_data5 *
AM33XX_IOPAD (0x8b8、PIN_OUTPUT | MUX_MODE0)/* LCD_data6.LCD_data6 *
AM33XX_IOPAD (0x8bc、PIN_OUTPUT | MUX_MODE0)/* LCD_data7.LCD_data7 *
AM33XX_IOPAD (0x8c0、PIN_OUTPUT | MUX_MODE0)/* LCD_data8.LCD_data8 *
AM33XX_IOPAD (0x8c4、PIN_OUTPUT | MUX_MODE0)/* LCD_data9.LCD_data9 *
AM33XX_IOPAD (0x8c8、PIN_OUTPUT | MUX_MODE0)/* LCD_data10.LCD_data10 *
AM33XX_IOPAD (0x8cc、PIN_OUTPUT | MUX_MODE0)/* LCD_data11.LCD_data11 *
AM33XX_IOPAD (0x8d0、PIN_OUTPUT | MUX_MODE0)/* LCD_data12.LCD_data12 *
AM33XX_IOPAD (0x8d4、PIN_OUTPUT | MUX_MODE0)/* LCD_data13.LCD_data13 *
AM33XX_IOPAD (0x8d8、PIN_OUTPUT | MUX_MODE0)/* LCD_data14.LCD_data14 *
AM33XX_IOPAD (0x8dc、PIN_OUTPUT | MUX_MODE0)/* LCD_data15.LCD_data15 *
AM33XX_IOPAD (0x8e0、PIN_OUTPUT 下拉| MUX_MODE0)/* LCD_vSYNC.LCD_vsync *
AM33XX_IOPAD (0x8e4、PIN_OUTPUT 下拉| MUX_MODE0)/* LCD_HSYNC.LCD_HSYNC *
AM33XX_IOPAD (0x8e8、PIN_OUTPUT 下拉| MUX_MODE0)/* LCD_pclk.LCD_pclk *
AM33XX_IOPAD (0x8ec、PIN_OUTPUT 下拉| MUX_MODE0)/* LCD_AC_BIAS_EN.LCD_AC_BIAS_EN *
>;
};
NXP_HDMI_bonelt_off_pins:NXP_HDMI_bonelt_off_pins{
pinctrl-single、pins =<
AM33XX_IOPAD (0x9b0、PIN_OUTPUT 下拉| MUX_MODE3)/* xdma_event_intr0 */
>;
};

McASP0_Pins:McASP0_Pins{
pinctrl-single、pins =<
AM33XX_IOPAD (0x9ac、PIN_INPUT_PULLUP | MUX_MODE0)/* McASP0_ahcklx.McASP0_ahclkx *
AM33XX_IOPAD (0x99c、PIN_OUTPUT 下拉| MUX_Mode2)/* McASP0_ahclkr.McASP0_axr2*/
AM33XX_IOPAD (0x994、PIN_OUTPUT 上拉| MUX_MODE0)/* McASP0_FSX.McASP0_FSX *
AM33XX_IOPAD (0x990、PIN_OUTPUT 下拉| MUX_MODE0)/* McASP0_aclkx.McASP0_aclkx *
AM33XX_IOPAD (0x86c、PIN_OUTPUT 下拉| MUX_MODE7)/* GPMC_A11.GPIO1_27 *
>;
};
uart1_PINS_DEFAULT:pinmux_uart1_PINS_DEFAULT{
pinctrl-single、pins =<
0x178 (PIN_INPUT | MUX_MODE0)/*(D18) uart1_CTSN.uart1_CTS*
0x17c (PIN_OUTPUT 下拉| MUX_MODE0)/*(D17) uart1_rts.uart1_rtsn *
0x180 (PIN_INPUT_PULLUP | MUX_MODE0)/*(D16) uart1_Rxd.uart1_RxD */
0x184 (PIN_OUTPUT 下拉| MUX_MODE0)/*(D15) uart1_TXD.uart1_TXD *
>;
};

mmc3_PINS_DEFAULT:pinmux_mmc3_PIN_DEFAULT{
pinctrl-single、pins =<
0x8c (PIN_INPUT_PULLUP | MUX_MODE3)/*(V12) GPMC_clk.mmc2_clk *
0x88 (PIN_INPUT_PULLUP | MUX_MODE3)/*(T13) GPMC_csn3.mmc2_cmd *
0x30 (PIN_INPUT_PULLUP | MUX_MODE3)/*(T12) GPMC_AD12.mmc2_dat0 */
0x34 (PIN_INPUT_PULLUP | MUX_MODE3)/*(R12) GPMC_AD13.mmc2_DAT1 */
0x38 (PIN_INPUT_PULLUP | MUX_MODE3)/*(V13) GPMC_AD14.mmc2_DAT2 */
0x3c (PIN_INPUT_PULLUP | MUX_MODE3)/*(U13) GPMC_ad15.mmc2_dat3 */
>;
};

mmc3_PINS_SLEEP:pinmux_mmc3_PIN_SLEEP{
pinctrl-single、pins =<
0x8c (PIN_INPUT_PULLUGDOWN | MUX_MODE7)/*(V12) GPMC_clk.mmc2_clk *
0x88 (PIN_INPUT_PULLDOWN | MUX_MODE7)/*(T13) GPMC_csn3.mmc2_cmd *
0x30 (PIN_INPUT 下拉| MUX_MODE7)/*(T12) GPMC_AD12.mmc2_dat0 */
0x34 (PIN_INPUT 下拉| MUX_MODE7)/*(R12) GPMC_AD13.mmc2_DAT1 */
0x38 (PIN_INPUT_PULLUX | MUX_MODE7)/*(V13) GPMC_ad14.mmc2_DAT2 */
0x3c (PIN_INPUT_PULLUX | MUX_MODE7)/*(U13) GPMC_ad15.mmc2_dat3 */
>;
};

wlan_pins_default:pinmux_wlan_pins_default{
pinctrl-single、pins =<
0x28 (PIN_OUTPUT 下拉| MUX_MODE7)/* GPMC_ad10.GPIO0_26 WL_EN*/
0x2C (PIN_INPUT | MUX_MODE7)/* GPMC_AD11.GPIO0_27 WL_IRQ*/
0x24 (PIN_OUTPUT 下拉| MUX_MODE7)/*(T10) GPMC_ad9.GPIO0[23] BT_EN*/
0x7C (PIN_OUTPUT 上拉| MUX_MODE0)/*(V6) GPMC_csn0.GPIO1[29]*/
>;
};

wlan_pins_sleep:pinmux_wlan_pins_sleep{
pinctrl-single、pins =<
0x28 (PIN_OUTPUT 下拉| MUX_MODE7)/* GPMC_ad10.GPIO0_26 WL_EN*/
0x2C (PIN_INPUT | MUX_MODE7)/* GPMC_AD11.GPIO0_27 WL_IRQ*/
0x30 (PIN_OUTPUT 上拉| MUX_MODE7)/*(T10) GPMC_ad9.GPIO0[23] BT_EN*/
0x7C (PIN_OUTPUT 上拉| MUX_MODE0)/*(V6) GPMC_csn0.GPIO1[29]*/

>;
};
};

uart1{(&U)
pinctrl-names ="default";
pinctrl-0 =<&uart1_PINS_DEFAULT>;
状态="正常";
};

EDMA{(&E)

TI、EDMA-Xbar-event-map =<1 12.
2 13>;
};

mmc3{(&M)
状态="正常";
VMMC-supply =<&wlan_en_reg>;
总线宽度=<4>;
DMA =<&EDMA_Xbar 12 0 1 &EDMA_Xbar 13 0 2 >;
dma-names ="TX"、"Rx";
pinctrl-names ="default"、"sleep";
pinctrl-0 =<&mmc3_PINs_default &wlan_pins_default>;
pinctrl-1 =<&mmc3_PINS_SLEEP &wlan_PINs_SLEEP>;
TI、不可拆卸;
TI、需要特殊处理;
电容断电卡;
暂停时保持供电;

#address-cells =<1>;
#size-cells =<0>;
wlcore:wlcore@0{
兼容="ti、wl1835";
reg =<2>;
interrupt-parent =<&GPIO0>;
中断=<27 IRQ_TYPE_EDGE_RISING >;
};
};

GPIO1{&gpio1}
Ls_buf_en{
GPIO-hog;
GPIO =<29 GPIO_ACTIVE_HIGH_>;
输出高电平;
线路名称="LS_BUF_EN";
};
};
LCDC{
状态="正常";

/*如果您希望获得24位 RGB 和16 BGR 模式,而不是
*当前16位 RGB 和24 BGR 模式、设置相应的参数
*将下面的更改为"交叉"并取消注释 VIDEA-PORTS -PRO属性
*在 tda19988节点中。
*
蓝色和红色配线="直向";

端口{
LCDC_0:端点@0{
远程端点=<&HDMI_0>;
};
};
};

i2c0{(&I)
tda19988:tda19988{
兼容="NXP、tda998x";
reg =<0x70>;

pinctrl-names ="default"、"off";
pinctrl-0 =<&NXP_HDMI_bonelt_PINs>;
pinctrl-1 =<&NXP_HDMI_bonelt_OFF_PINs>;

/*将24位 BGR 转换为 RGB、例如交叉红色和蓝色接线*/
/*视频端口=<0x234501>;*/

#sound-di-cells =<0>;
音频端口=< TDA998x_I2S 0x03>;

端口{
端口@0{
HDMI_0:端点@0{
远程端点=<&LCDC_0>;
};
};
};
};
};

RTC{(&R)
系统功率控制器;
};

&McASP0{
#sound-di-cells =<0>;
pinctrl-names ="default";
pinctrl-0 =<&McASP0_PINs>;
状态="正常";
OP-MODE =<0>;/* MCASP_IIS_MODE */
TDM-SLOTS =<2>;
serial-dir =</* 0:非活动、1:TX、2:Rx *
0 0 1 0
>;
tx-num-evt =<32>;
Rx-num-evt =<32>;
};

&SGX{
状态="正常";
};

/{
CLK_McASP0_FIXED:CLK_McASP0_FIXED{
#clock-cells =<0>;
兼容="固定时钟";
时钟频率=<24576000>;
};

CLK_McASP0:CLK_McASP0{
#clock-cells =<0>;
兼容="GPIO-GATE -时钟";
时钟=<&clk_McASP0_FIXED>;
ENABLE-GPIO =<&GPIO1 27 0>;//在 GPIO1_27上启用 BeagleBone Black Clk *
};

听起来{
兼容="简单音频卡";
simple-audio-card、name ="TI BeagleBone Black";
simple-audio-card、format ="I2S";
simple-audio-card、bitclock-master =<&dailink0_master>;
simple-audio-card、frame-master =<&dailink0_master>;

dailink0_master:simple-audio-card、CPU{
Sound-Dai =<&McASP0>;
时钟=<&clk_McASP0>;
};

简单音频卡、编解码器{
Sound-Dai =<&tda19988>;
};
};
};

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您似乎有一些引脚复用错误:

    [1.343584] pinctrl-single 44e10800.pinmux:44e10800.pinmux 已请求引脚 PIN10;无法申请4781000.mc
    [1.354833] pinctrl-single 44e10800.pinmux:pin-10 (4781000.MMC) status -22
    [1.362086] pinctrl-single 44e10800.pinmux:无法从器件 pinctrl-single 上的组 pinmux_WLAN_pins_default 请求引脚10 (PIN10)
    [1.374706] OMAP_hsmmc 4781000.MMC:应用设置时出错、反向

    您需要对引脚10的双重用途进行分类。

    此致、
    Eyal
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、我的问题通过添加频率参数得到解决、我可以看到 mmc2在引导序列中被激活。

    wlan_en_reg:fixedregator@2{
    兼容="稳压器固定";
    reguler-name ="wlan-en-regulator ";
    稳压器最小微伏=<1800000>;
    稳压器最大值微伏=<1800000>;
    启动延迟-us =<70000>;

    最大频率=<10000000>;//在此处添加
    GPIO =<&GPIO0 26 GPIO_ACTIVE_HIGH_>;
    使能端高电平有效;
    };