RK356x 海华AW-CM358SM Wi-Fi/Bt模组调试记录

1、环境介绍

硬件:飞凌ok3568-c开发板

软件:原厂rk356x sdk

2、目标

调试海华AW-CM358SM WIFI/BT模组,可以正常上网、使用蓝牙。

3、海华AW-CM358SM

3.1、基本信息

  • 主芯片:NXP的88W8987
  • Wi-Fi接口:SDIO
  • BT接口:UART

3.2、支持SDIO3.0

3.3、电气特性

AW-CM358SM的VDDIO为1.8V:

所以,RK3568的SDIO接口的工作电压也要是1.8V,请检查设备树电源域&pmu_io_domains节点vccio6是否配置为1.8v(同时,SDIO3.0模式必须为1.8v):

4、适配流程步骤

  1. 配置设备树,让SDIO控制器工作。
  2. 配置设备树,让SDIO控制器可以发现WIFI/BT模组。
  3. Wi-Fi适配:配置设备树,移植设备驱动。
  4. 验证Wi-Fi功能。
  5. 蓝牙适配:配置设备树。
  6. 验证蓝牙功能。

5、SDIO控制器适配

现在先解决“适配流程步骤”的第1,第2点。即让SDIO控制器工作,且可以扫到WIFI卡。

5.1、sdio dts配置

从下面两幅原理图可以得出:

  • WIFI模组的WIFI_REG_ON引脚接到了RK3568的GPIO3_D4。
  • WIFI模组的SDIO接口接到了RK3568的SDMMC2接口。

设备树配置如下:

/* WL_REG_ON 由 sdio_pwrseq 节点进行管理控制 */
&sdio_pwrseq {
   
    compatible = "mmc-pwrseq-simple";
    pinctrl-names = "default";
    pinctrl-0 = <&wifi_enable_h>;
    
    /*
    * On the module itself this is one of these (depending
    * on the actual card populated):
    * - SDIO_RESET_L_WL_REG_ON
    * - PDN (power down when low)
    */
    post-power-on-delay-ms = <200>;
    /* 这里配置的是WL_REG_ON引脚	*/
    reset-gpios = <&gpio3 RK_PD4 GPIO_ACTIVE_LOW>;	
};

&pinctrl {
   
    sdio-pwrseq {
   
        wifi_enable_h: wifi-enable-h {
   
            /* 这里配置的是WL_REG_ON引脚	*/
            rockchip,pins = <3 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;	
        };
    };
};

/* SDIO接口Wi-Fi专用配置:SDIO接口节点 */
&sdmmc2 {
   
	max-frequency = <150000000>;	/* sdio接口的最大频率,可调整 */
	supports-sdio;
	bus-width = <4>;				/* 4线模式,可调整1线模式 */
	disable-wp;
	cap-sd-highspeed;
	cap-sdio-irq;
	keep-power-in-suspend;
	mmc-pwrseq = <&sdio_pwrseq>;	/* WL_REG_ON 管理 */
	non-removable;
	pinctrl-names = "default";
	pinctrl-0 = <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值