3568工业核心板 wifi无法识别

固件类型:自行编译的固件
SDK包名称:ITX-3568Q_Buildroot_v1.3.0a_221027.img
SDK修改内容:diff --git a/arch/arm64/boot/dts/rockchip/rk3568-firefly-port.dtsi b/arch/arm64/boot/dts/rockchip/rk3568-firefly-port.dtsi
index 8fe2169c35e8..a9803adbca9e 100644
— a/arch/arm64/boot/dts/rockchip/rk3568-firefly-port.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3568-firefly-port.dtsi
@@ -120,7 +120,7 @@
* - SDIO_RESET_L_WL_REG_ON
* - PDN (power down when low)
*/
- reset-gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_LOW>;
+ reset-gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>;
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-firefly-aioj.dtsi b/arch/arm64/boot/dts/rockchip/rk3568-firefly-aioj.dtsi
index 3a1b56088703..e30ee5f83dab 100644
— a/arch/arm64/boot/dts/rockchip/rk3568-firefly-aioj.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3568-firefly-aioj.dtsi
@@ -28,15 +28,15 @@
&pcie30phy {
- status = "okay";
+ status = "disabled";
};
&pcie3x2 {
- reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>;
- vpcie3v3-supply = <&pcie30_3v3>;
-
- status = "okay";
+ // reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>;
+ // vpcie3v3-supply = <&pcie30_3v3>;
+ status = "disabled";
};
&sdio_pwrseq {
status = "okay";
- reset-gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_LOW>;
+ reset-gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>;
post-power-on-delay-ms = <100>;
};
&wireless_wlan {
- wifi_chip_type = "ap6275s";
+ wifi_chip_type = "wilc1000";
status = "okay";
};
Log日志:wifi.zip

3568的底板是我们根据官方文件自己设计的。
wifi模组换成了wilc1000, wifi_rst高电平有效
目前现象是启动后无法发现sdio设备, 日志有报错

mmc3 mmc_send_io_op_cond err: -110

硬件组有测量电压是正常的
请帮忙分析一下可能是什么原因?

tchip_askquestions
wifi.zip (17.3 KB)

wilc1000 要打开对应驱动 CONFIG_WILC1000,dts 配置也不能套用 bcmdhd 模组的

即使不加载驱动, 只要WIFI_REG_ON(我们原理图上标注的WIFI_RST)拉高, sdio总线上也应该发现设备吧?
目前我们的情况是 /sys/bus/sdio/devices/ 下面没有设备

目前能识别了,软件上主要有两点:

  1. pmu_io_domains 修改电压3v3
vccio6-supply = <&vcc_3v3>;
  1. sdio_pwrseq 配置 GPIO_ACTIVE_LOW
reset-gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_LOW>;

这个跟使能状态恰好是相反

同时硬件同事也修改了部分电阻

识别还是有一点问题,之前mmc加了很多打印日志,去掉打印后就不识别了
但是 sdmmc2 中降低频率,就会识别成功

&sdmmc2 {
    // max-frequency = <150000000>;
	max-frequency = <100000000>;
    status = "okay";

加载驱动也会报错

root@RK356X:/# insmod /data/wilc1000.ko
[   25.682079] wilc1000: module is from the staging directory, the quality is unknown, you have been warned.

root@RK356X:/# insmod /data/wilc1000-sdio.ko
[   28.025799] wilc1000_sdio: module is from the staging directory, the quality is unknown, you have been warned.
[   28.027342] mmc3: starting CMD52 arg 80022000 flags 00000195
[   28.027442] mmc3: req done (CMD52): -110: 00000000 00000000 00000000 00000000
[   28.027525] wilc1000_sdio: probe of mmc3:0001:1 failed with error -110

相关内核日志
putty1.zip (18.2 KB)