瑞芯微Rockchip开发者社区
直播中

我有一车切糕

11年用户 579经验值
私信 关注
[问答]

怎样去配置Android的SDIO部分呢

怎样去配置Android的电源部分呢?

怎样去配置Android的SDIO部分呢?

回帖(1)

陈婧甄

2022-2-10 09:56:07
Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92
使用的是AP6335, 硬件上用的是SDIO0.
原理图:

配置文件:

电源部分:

wireless-wlan {
    compatible = "wlan-platdata";
    /* wifi_chip_type - wifi chip define
             * ap6210, ap6330, ap6335
             * rtl8188eu, rtl8723bs, rtl8723bu
             * esp8089
    */
    wifi_chip_type = "ap6335";
    sdio_vref = <1800>; //1800mv or 3300mv
    //keep_wifi_power_on;
    //power_ctrl_by_pmu;
    power_pmu_regulator = "act_ldo3";
    power_pmu_enable_level = <1>; //1->HIGH, 0->LOW
    //vref_ctrl_enable;
    //vref_ctrl_gpio = <&gpio0 GPIO_A2 GPIO_ACTIVE_HIGH>;
    vref_pmu_regulator = "act_ldo3";
    vref_pmu_enable_level = <1>; //1->HIGH, 0->LOW
    WIFI,poweren_gpio = <&gpio4 GPIO_D4 GPIO_ACTIVE_HIGH>;
    WIFI,host_wake_irq = <&gpio4 GPIO_D6 GPIO_ACTIVE_HIGH>;
    //WIFI,reset_gpio = <&gpio0 GPIO_A2 GPIO_ACTIVE_LOW>;
    status = "okay";
};
compatible = "wlan-platdata";
和rfkill-wlan.c电源驱动匹配
wifi_chip_type = "ap6335";
用它来判断使用哪个硬件模块,加载对应的wifi驱动,配置。
sdio_vref = <1800>; //1800mv or 3300mv
wifi模组的IO电压,设置错误会导致Wifi通信异常引起WiFi打不开或者工作不稳定问题。
keep_wifi_power_on;
默认关闭,打开后表示开机过程后就直接上电,并且一直保持上电状态,后续的电源操作会失效。
有些WiFi模组可能是WiFi和BT共用电源,这时需要一直保持上电状态。
power_ctrl_by_pmu;
表示WiFi的电源是否直接通过PMU控制,一般都是用GPIO控制,默认是关闭的。
power_pmu_regulator = "act_ldo3";
power_pmu_enable_level = <1>; //1->HIGH, 0->LOW
PMU输出口以及有效电平
vref_ctrl_enable;
在模组不工作(模组上的所有功能芯片都不工作)的情况下切断 IO参考电压输出,以此来降低一定的系统功耗。这个是可选配置并非所有硬件都支持,也不是所有WiFi模组都支持。
WIFI,poweren_gpio = ;
gpio控制WiFi Power
WIFI,host_wake_irq = ;
WiFi中断脚的配置,某些WiFi模组没有这个脚可以不用配置,AP6335需要配置。
SDIO部分:

&sdio {
        clock-frequency = <50000000>;
        clock-freq-min-max = <200000 50000000>;
        supports-highspeed;
        supports-sdio;
        ignore-pm-notify;
        keep-power-in-suspend;
        //cap-sdio-irq;
        status = "okay";
};
举报

更多回帖

发帖
×
20
完善资料,
赚取积分