Firefly开源社区

标题: rockchip_wifi_voltage_select()函数是做什么的? [打印本页]

作者: pqy    时间: 2015-10-29 10:40
标题: rockchip_wifi_voltage_select()函数是做什么的?
  1.     voltage = mrfkill->pdata->sdio_vol;
  2.     if (voltage > 2700 && voltage < 3500) {
  3.         writel_relaxed(0x00100000, RK_GRF_VIRT+0x380); //3.3
  4.         LOG("%s: wifi & sdio reference voltage: 3.3V\n", __func__);
  5.     } else if (voltage  > 1500 && voltage < 1950) {
  6.         writel_relaxed(0x00100010, RK_GRF_VIRT+0x380); //1.8
  7.         LOG("%s: wifi & sdio reference voltage: 1.8V\n", __func__);
  8.     } else {
  9.         LOG("%s: unsupport wifi & sdio reference voltage!\n", __func__);
  10.         return -1;
  11.     }
复制代码
RK_GRF_VIRT+0x380代表的是什么?4.x内核并没有RK_GRF_VIRT这个宏定义,如果直接采用3.10的定义,内核调用这句之后就僵死了,说明这个地址不同的内核是不一样的。4.x怎么得到对应的地址呢?

作者: zhansb    时间: 2015-10-30 10:40
RK_GRF_VIRT+0x380代表的是GRF_IO_VSEL
Address: Operational Base + offset (0x0380)   
IO voltage select

用于配置WIFI IO电压。


作者: pqy    时间: 2015-11-5 16:43
zhansb 发表于 2015-10-30 10:40
RK_GRF_VIRT+0x380代表的是GRF_IO_VSEL
Address: Operational Base + offset (0x0380)   
IO voltage se ...

写入0x00100010是不是也同时设置了bb,audio,sdcard的电压?
作者: zhansb    时间: 2015-11-5 16:47
pqy 发表于 2015-11-5 16:43
写入0x00100010是不是也同时设置了bb,audio,sdcard的电压?

使能wifi io电压为1.8v的意思,可以看看论坛上的手册,里面有详细说明。
作者: pqy    时间: 2015-11-5 19:28
zhansb 发表于 2015-11-5 16:47
使能wifi io电压为1.8v的意思,可以看看论坛上的手册,里面有详细说明。

哦,明白了,一时脑抽,以为0x1的二进制是1111




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1