Part Number:BP-CC3351Other 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的电压值,不知道是什么原因引起的异常。
Alice:
您好,
请问外接3.3V是如何接的?在哪里应用它?是外部来源吗?请问能否提供完整的器件树文件和电路板原理图?
,
Flint:
电路如下,请问会有什么影响吗?
![]()
,
Alice:
您好,
Alice 说:请问能否提供完整的器件树文件和电路板原理图?
请提供器件树文件。
,
Flint:
以下是相关设备树节点信息
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>; };};
,
Alice:
您好,
从中不清楚的是,如果 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。提供内核消息以查看作过程中是否有任何错误也会有所帮助。
TI中文支持网



