BP-CC3351: am6254和cc3351之间使用SDIO(mmc2)接线,电平异常

Part Number: BP-CC3351
Other Parts Discussed in Thread: CC3351

am6254的设备树配置 SDIO(MMC2)  与 cc3351连接,

wifi_pins_default: wifi-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x0120, PIN_INPUT, 0) /* (C24) MMC2_CMD */
AM62X_IOPAD(0x0118, PIN_INPUT, 0) /* (D25) MMC2_CLK */
AM62X_IOPAD(0x0114, PIN_INPUT, 0) /* (B24) MMC2_DAT0 */
AM62X_IOPAD(0x0110, PIN_INPUT, 0) /* (C25) MMC2_DAT1 */
AM62X_IOPAD(0x010c, PIN_INPUT, 0) /* (E23) MMC2_DAT2 */
AM62X_IOPAD(0x0108, PIN_INPUT, 0) /* (D24) MMC2_DAT3 */
AM62X_IOPAD(0x0124, PIN_INPUT, 0) /* (A23) MMC2_SDCD */
AM62X_IOPAD(0x11c, PIN_INPUT, 0) /* (#N/A) MMC2_CLKB */
>;
};

wifi_en_pins_default: wifi-en-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x009c, PIN_OUTPUT, 7) /* (V25) GPMC0_WAIT1.GPIO0_38 */
>;
};

外接3.3V电压,实际测量CC3351的SDIO接口各个引脚电平值

Vcc = 3.3V
(C24) MMC2_CMD = 0.5V
(D25) MMC2_CLK = 0.5V
(B24) MMC2_DAT0 = 0.5V
(C25) MMC2_DAT1 = 0.5V
(E23) MMC2_DAT2 = 0.5V
(D24) MMC2_DAT3 = 0.5V
IRQ_WL = 0.5V
RESET = 3.3V
GND = 0V

上面出现0.5V的电压值,不知道是什么原因引起的异常。

  • 您好,

    请问外接3.3V是如何接的?在哪里应用它?是外部来源吗?

    请问能否提供完整的器件树文件和电路板原理图?

  • 电路如下,请问会有什么影响吗?

      

  • 您好,

    请问能否提供完整的器件树文件和电路板原理图?

    请提供器件树文件。

  • 以下是相关设备树节点信息

    wlan_en: regulator-3 {
    /* OUTPUT of SN74AVC2T244DQMR */
    compatible = "regulator-fixed";
    regulator-name = "wlan_en";
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    enable-active-high;
    regulator-always-on;
    vin-supply = <&vdd_3v3>;
    gpio = <&main_gpio0 38 GPIO_ACTIVE_HIGH>;
    pinctrl-names = "default";
    pinctrl-0 = <&wifi_en_pins_default>;
    };


    wifi_pins_default: wifi-pins-default {
    pinctrl-single,pins = <
    AM62X_IOPAD(0x0120, PIN_INPUT, 0) /* (C24) MMC2_CMD */
    AM62X_IOPAD(0x0118, PIN_INPUT, 0) /* (D25) MMC2_CLK */
    AM62X_IOPAD(0x0114, PIN_INPUT, 0) /* (B24) MMC2_DAT0 */
    AM62X_IOPAD(0x0110, PIN_INPUT, 0) /* (C25) MMC2_DAT1 */
    AM62X_IOPAD(0x010c, PIN_INPUT, 0) /* (E23) MMC2_DAT2 */
    AM62X_IOPAD(0x0108, PIN_INPUT, 0) /* (D24) MMC2_DAT3 */
    >;
    };

    wifi_en_pins_default: wifi-en-pins-default {
    pinctrl-single,pins = <
    AM62X_IOPAD(0x009C, PIN_OUTPUT, 7) /* MMC2_SDCD (V25)GPMC0_WAIT1.GPIO0_38 */
    >;
    };

    main_wlirq_pins_default: main-wlirq-pins-default {
    pinctrl-single,pins = <
    AM62X_IOPAD(0x00A8, PIN_OUTPUT, 7) /* MMC2_SDWP (M21)GPMC0_CSn0.GPIO0_41 */
    >;
    };

    &sdhci2 {
    status = "okay";
    vmmc-supply = <&wlan_en>;
    pinctrl-names = "default";
    pinctrl-0 = <&wifi_pins_default>;
    non-removable;
    ti,fails-without-test-cd;
    cap-power-off-card;
    keep-power-in-suspend;
    ti,driver-strength-ohm = <50>;
    assigned-clocks = <&k3_clks 157 158>;
    assigned-clock-parents = <&k3_clks 157 160>;
    #address-cells = <1>;
    #size-cells = <0>;

    wlcore: wlcore@2 {
    compatible = "ti,cc33xx";
    reg = <2>;
    pinctrl-names = "default";
    pinctrl-0 = <&main_wlirq_pins_default>;
    interrupt-parent = <&main_gpio0>;
    interrupts = <41 IRQ_TYPE_EDGE_FALLING>;
    };
    // TI-BLE-SDIO interface
    btti: btti@1 {
    compatible = "ti,cc33xxbt";
    reg = <1>;
    };
    };

  • 您好,

        从中不清楚的是,如果 MMC2的 gpio bank 供电至1.8V,也请检查一下。

    在你的设备树中,wlan-en 节点不应该有 'regulator-always-on'。此引脚需要由 MPU 切换。

    另外,请将 “MMC2_CLKB” 添加到您的 “wifi-pins-default” 节点中。这是 MMC 正确作所必需的。您可以在此处找到示例:

         https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti/k3-am625-sk-m2-cc3301.dtso?h=ti-linux-6.6.y-cicd#n57 

    最后,如果 WL_IRQ 引脚从 CC33xx 直接连接到 MPU,那么请EDGE_RISING。如果路径之间有逆变器,则只能使用 EDGE_FALLING。

    提供内核消息以查看作过程中是否有任何错误也会有所帮助。

x 出现错误。请重试或与管理员联系。