查看: 3540|回复: 1

瑞芯微 RK3399 android7.1 wifi 兼容软硬件注意事项

[复制链接]

该用户从未签到

发表于 2018-10-15 15:59:07 | 显示全部楼层 |阅读模式
分享到:
    RK3399的CPU采用big.LITTLE大小核架构,双Cortex-A72大核+四Cortex-A53小核结构,对整数、浮点、内存等作了大幅优化,在整体性能、功耗及核心面积三个方面都具革命性提升。 RK3399的GPU采用四核ARM新一代高端图像处理器Mali-T860,集成更多带宽压缩技术:如智能迭加、ASTC、本地像素存储等,还支持更多的图形和计算接口,总体性能比上一代提升45%。
    盈鹏飞科技最新研发的RK3399安卓主板,搭载了最新android7.1 系统,4G DDR3内存,32G EMMC 存诸等...RK3399开发板主板尺寸为:146*102mm,设计有非常丰富的接口,板载5路UART,支持USB3.0高性能设备接口, WIFI/BT二合一,HDMI OUT 、HDMI INT、Type C、4G、IR、以太网等;可扩展模块包括4G模块、Camera(1300万、500万)等应用类功能模块。
     RK3399安卓主板为消费类电子、智能终端、MID、无线通讯、医疗设备、工业控制等行业产品的应用开发而设计,超强的视频处理能力,超高清视频输出优势,口丰富、性能稳定。支持Android\Linux\Ubuntu系统,软件支持完善,开放源代码适合企业二次开发带高清显示的商显广告机、自助售货机、教育终端等,可降低研发门槛,缩短产品研发周期。
底板接口标示图-cn.png

XPC-3399正面.png
RK3399 android7.1 wifi 兼容软硬件注意事项
    目前发布的 SDK 一套固件可以兼容 sdio 2.0 和 sdio 3.0 wifi, sdio2.0 clk 最高跑 50M,sdio 3.0 clk最高跑 150Mwifi 自动兼容方案可以做到一套固件兼容多个 wifi,特别需要注意:SDIO wifi io 参考电压,sdio 2.0 wifi 和 sdio 3.0 wifi 在硬件设计有下面两种选择:(强烈推荐第一种参考设计)
    1.硬件对于 sdio wifi 动态设计的板型
也即是支持 sdio3.0 wifi 模块 wccio_wl 设计为 1.8v, 支持 sdio2.0 的 wifi 模块 wccio_wl 设计为 3.3v
     2.硬件上所有 wifi wccio_wl 统一为 1.8v,但内核软件需要如下修改(注意红色字体部分):
         kernel/drivers/mmc/host/rk_sdmmc.c
         void dw_mci_sdio_switch_iovel(struct mmc_host *mmc, int enable)
         {
             struct dw_mci_slot *slot = mmc_priv(mmc);
             struct dw_mci *host = slot->host;
             const struct dw_mci_rockchip_priv_data *priv = host->priv;

             switch (priv->ctrl_type) {
             case DW_MCI_TYPE_RK322XH:
                      regmap_write(host->grf, RK322XH_GRF_SOC_CON4,
            -                              (enable << 3) | ((1 << 3) << 16));
            +                             (1 << 3) | ((1 << 3) << 16));
                    if (enable)
                          host->bus_hz = 150000000;
                    else
                           host->bus_hz = 50000000; break;
                     default:
                              pr_info("%s not switch iovel.\n", mmc_hostname(host->mmc));
                      }
                      }
wifi ko 编译注意事项
  本章节主要说明内核网络相关配置修改,对应 wifi ko 驱动的编译方法。
  wifi ko 要跟内核网络配置编译出的 kernel.img 一致,如果内核有修改网络配置,以 RK3328为例,若需要支持 VLAN,内核 rk322xh_android-7.1_defconfig 需要打开内核如下配置:
CONFIG_VLAN_8021Q=y
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_VLAN_8021Q_MVRP=y
  如上修改后 wifi ko 必须重新编译,可以按照如下两种方法进行编译 ko,建议使用方法 1,方法 1执行脚本后会先 make wifi ko,再将 wifi ko 拷贝到源码 vendor/rockchip/common/wifi/modules 目录,最后编译 android  并生成固件,方法 2  只会重新编译 ko,并拷贝到源码
vendor/rockchip/common/wifi/modules 目录。
方法 1:android 根目录执行:
souce build.sh
方法 2:android 根目录执行:
lunch rk3328_box-userdebug   && souce device/rockchip/common/build_wifi_ko.sh
    注意:每次修改了内核网络配置,都需要重新编译 ko,如果没有修改网络配置(使用 RK 发布 SDK默认的网路配置),编译一次 ko 后,以后系统可以通用这些 ko,采用以上方法系统也会编译出 ko, git status 同样会看到新编译的 ko, git status 查看结果如下:

瑞芯微 RK3399 android7.1 wifi 兼容软硬件注意事项1.png
红色方框部分表明是新编译出来的 wifi ko,建议用 git add 命令合入到工程。

    盈鹏飞嵌入式专注于Atmel、TI、NXP、Rockchip等平台产品的研发。公司团队拥有超过10年的ARM软硬件开发经验,拥有智能家居、人机界面、工业缝纫机、电力采集器等多个成功案例;公司2005年成立至今,主要从事工业控制领域开发,先后开发了以ARM9- AT91SAM9G45、Cortex-A8-335x 、A7- i.MX6UL 、A9-I.MX6Q为主控的各种方案,深入WINCE/LINUX 嵌入式系统开发多年,产品以高稳定性,高可靠性获得客户的信赖!2017年我们再出发,依赖工业控制领域多年的设计造诣,公司以创"芯"科技,智造双赢为经营理念,先后开发了以RK3288、RK3399 等处理器为应用的ANDROID解决方案,承接项目定制、BSP以及APP开发,为客户提供专业化的量身定制广告机、消费类电子等解决方案。

回复

使用道具 举报

  • TA的每日心情
    难过
    2021-2-27 22:16
  • 签到天数: 1568 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2019-1-17 14:56:52 | 显示全部楼层
    看来学起来难
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-3-28 18:16 , Processed in 0.129988 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.