工具与软件:
尊敬的 TI:
我们有一个带有 CC3301的定制 AM62X 板。 我们刚刚获得了新的电路板构建、并且在检测时遇到了问题。 我想验证是否没有会影响我们的器件更改、或者是否需要其他 devicetree 更改。
使用 buildroot (大约离一个月前的主分支机构)
Linux 版本:6.1.80 (ti-linux-09.02.00.009)
U-Boot:2024.01 (ti-u-boot-2024.01)
CC3301驱动器:1.0.0.6
GCC:12.4.0
我们的开发板附带生产日期代码。 CC3301 ENJA TI 418 AZ0Y G4
我们以前的工作板带有生产日期代码:CC3301 ENJA TI 3A8 AN25 G4
在3个新电路板上、下面是我们的调试步骤:
提出了新的电路板-不能用的无线网络
我们移除了418 AZ0Y G4、对418 AZ0Y G4进行了清理和返工-所有3个功能不全的 WiFi
我们移除了418 AZ0Y G4、对3A8 AN25 G4进行了清理和返工-所有3个产品均正常工作
我们已验证这些新电路板上的 WiFi 周围没有任何 PCB 更改、但我们将深入检查 PCB
dmesg 比较:
两个开发板都完全初始化 BLE
Bluetooth: Core ver 2.22 NET: Registered PF_BLUETOOTH protocol family Bluetooth: HCI device and connection manager initialized Bluetooth: HCI socket layer initialized Bluetooth: L2CAP socket layer initialized Bluetooth: SCO socket layer initialized Bluetooth: [bt sdio] BLE SDIO init module Bluetooth: [bt sdio] PROBE vendor=0x97, device=0x4077, class=255, fn=1 0xffff0000018de400 Bluetooth: [bt sdio hci] btti_hci_add_sdio_dev Bluetooth: [bt sdio hci] Starting work thread... Bluetooth: [bt sdio] TI cc33xx BLE-over-SDIO driver is up and running! Bluetooth: [bt sdio hci] work thread is started Bluetooth: [bt sdio hci] work thread is sleeping... Bluetooth: [bt sdio] PROBE vendor=0x97, device=0x4077, class=255, fn=2 0xffff0000018de800 cc33xx_sdio mmc2:0001:2: Using SDIO in-band IRQ
以前的非功能电路板替代了3A8 AN25 G4并使其可以正常工作
cc33xx_driver cc33xx.2.auto: Direct firmware load for ti-connectivity/cc33xx-nvs.bin failed with error -2
wlcore: Wireless driver version 1.7.0.126
wlcore: Wireless firmware version 1.7.0.185
wlcore: Wireless PHY version 1.2.39.5.42.67
wlcore: loaded
wlan0 Link encap:Ethernet HWaddr 34:68:B5:89:86:43
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
配备418 AZ0Y G4的非功能 WIFI 板:
cc33xx_driver cc33xx.2.auto: Direct firmware load for ti-connectivity/cc33xx-nvs.bin failed with error -2 wlcore: ERROR FW is stuck, triggering recovery wlcore: ERROR boot IRQ timeout wlcore: ERROR FW download failed ifconfig: wlan0: error fetching interface information: Device not found
从我们的 DTS (我也会在这里附上整个 DTS):
&sdhci2 {
/* CC3301 */
status = "okay";
vmmc-supply = <&wlan_en>;
pinctrl-names = "default";
pinctrl-0 = <&wifisdio_pins_default>;
bus-width = <4>;
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 = <&wifi_irq_pins_default>;
// interrupt-parent = <&main_gpio0>;
// interrupts = <72 IRQ_TYPE_EDGE_RISING>;
};
// TI-BLE-SDIO interface
btti: btti@1 {
compatible = "ti,cc33xxbt";
reg = <1>;
};
};
wifi_rst_pins_default: wifi-rst-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x0124, PIN_OUTPUT_PULLDOWN, 7) /* (A23) MMC2_SDCD.GPIO0_71 */
>;
};
wifi_irq_pins_default: wifi-irq-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x0128, PIN_INPUT_PULLDOWN, 7) /* (B23) MMC2_SDWP.GPIO0_72 */
>;
};
wifisdio_pins_default: wifisdio-default-pins {
pinctrl-single,pins = <
AM62X_IOPAD(0x0120, PIN_INPUT, 0) /* (C24) MMC2_CMD */
AM62X_IOPAD(0x0118, PIN_OUTPUT, 0) /* (D25) MMC2_CLK */
AM62X_IOPAD(0x011C, PIN_INPUT, 0) /* () MMC2_CLKLB */
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 */
>;
};
我需要在软件中进行任何问题或更改?
