本次说明以 XY6765 的核心板为例,其它平台类似

一、DWS 的作用
       MTK 通过 WIN 工具 DCT 来配置 DWS 的目的是为了集中管理 CPU 的接口资源,这样更加直观(也是从功能机平台一直沿用下来的)知道这些接口的使用情况,源码中的 DWS 有效的一般是配置两个部分的,一部分是 LK、另一部分是 Kernel;
      LK 模块中的 DWS 主要作用是为了初始化 GPIO 口,比如修改某些 GPIO 的模式,或者让 GPIO 口默认输出高电平等等,其它模块比如 PMIC 等无需做修改;
      Kernel 模块中的 DWS 主要配置 I2C、EINT、SIM 部分,修改完成之后,编译会生成相应的 dts 临时文件;

二、如何配置 DWS;
1、打开 DCT 工具,路径如下:

  1. vendor\mediatek\proprietary\scripts\dct\DrvGen.exe
  2. DWS 路径 (xxx 路径根据 lunch 所选工程名来定):
  3. lk 的路径:vendor\mediatek\proprietary\bootable\bootloader\lk\target\xxxx\dct\dct\codegen.dws  :xxx 比如:k65v1_64_bsp
  4. lk 的路径:kernel-4.9\drivers\misc\mediatek\dws\mt6765\k65v1_64_bsp.dws

2、选择 DWS 文件:

GPIO 的配置说明如下

I2C 的配置说明

配置完成支持,编译会生成新的 dts,比如 XY6765 为例,生成的 dtsi 路径和 CAP_TOUCH 说对应的代码的具体如下

  1. 生成的 dtsi 路径:out\target\product\k65v1_64_bsp\obj\KERNEL_OBJ\arch\arm64\boot\dts\k65v1_64_bsp\cust.dtsi
  2. &i2c0 {
  3. #address-cells = <1>;
  4. #size-cells = <0>;
  5. clock-frequency = <100000>;
  6. mediatek,use-open-drain;
  7. cap_touch_mtk:cap_touch{
  8. compatible = "mediatek,cap_touch";
  9. reg = <0x5d>;
  10. status = "okay";
  11. };
  12. lt8912b_mtk:lt8912b {
  13. compatible = "mediatek,lt8912b";
  14. reg = <0x48>;
  15. status = "okay";
  16. };
  17. };

KEYPAD 配置说明

Row 与 KPROW 相对应,Column 与 KPCOL 相对应,比如按上述配置,KEY1000 为音量减功能、KEY1002 为音量加功能、KEY1001 为返回功能、KEY1003 为菜单功能

编译之后,生成的 cust.dtsi 中所对应的代码为:

  1. &keypad {
  2. mediatek,kpd-key-debounce = <1024>;
  3. mediatek,kpd-sw-pwrkey = <116>;
  4. mediatek,kpd-hw-pwrkey = <8>;
  5. mediatek,kpd-sw-rstkey = <102>;
  6. mediatek,kpd-hw-rstkey = <17>;
  7. mediatek,kpd-use-extend-type = <0>;
  8. mediatek,kpd-hw-map-num = <72>;
  9. mediatek,kpd-hw-init-map = <114 158 0 0 0 0 0 0 0 115 139 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 >;
  10. mediatek,kpd-pwrkey-eint-gpio = <0>;
  11. mediatek,kpd-pwkey-gpio-din = <0>;
  12. mediatek,kpd-hw-dl-key1 = <0>;
  13. mediatek,kpd-hw-dl-key2 = <8>;
  14. mediatek,kpd-hw-recovery-key = <8>;
  15. mediatek,kpd-hw-factory-key = <0>;
  16. status = "okay";
  17. };

三、编译下载
修改 dws 尽量让 lk dws 和 kernel 保持同步,修改完之后,执行编译指令:

  1. rm -rf out/target/product/k65v1_64_bsp/obj/BOOTLOADER_OBJ/
  2. rm -rf out/target/product/k65v1_64_bsp/obj/KERNEL_OBJ/
  3. make -j24

XY6762/XY6765/XY8788 如何使用 DCT 工具配置 DWS 文件?相关推荐

  1. MTK 驱动---(13)DCT工具使用介绍

    1.工具介绍 DCT 全名:Driver Customization Tool 提供一个可操作dws文件的UI 界面 导入dws文件来产生驱动代码 2.DCT客制化流程 1)根据原理图 产生codeg ...

  2. JetBrains DataGrip工具配置数据库过程详解

    JetBrains DataGrip工具配置数据库过程详解 DataGrip是一款数据库管理客户端工具,方便连接到数据库服务器,执行sql.创建表.创建索引以及导出数据等. DataGrip 是 Je ...

  3. swing开发图形界面工具配置(可自由拖控件上去)

    swing开发图形界面工具,eclipse swing图形化操作界面工具配置 1.有一个小功能要有一个界面,之前知道有一个 图形化界面的(就是可以往上面拖控件布局的工具)JBuilder,今天上午就下 ...

  4. Bootstrap 编码规范之编辑工具配置

    编辑工具配置 为了避免常见的代码不一致和差异,请按照下面的配置对你的代码编辑工具进行设置: 用两个空格代替制表符(soft-tab 即用空格代表 tab 符). 保存文件时,删除尾部的空白符. 设置文 ...

  5. ultraedit教程java_Java开发工具配置UltraEdit基础教程

    确定你的jdk环境变量配置是正确的. 对于java初学者来说,编译和运行java程序是一件很头疼的东西. 显然,在命令方式下编译和运行java程序用久了,确实是很麻烦, 而我们又不想使用大型的开发工具 ...

  6. 【实用工具】之在VS中使用自定义工具配置nasm/yasm

    1 在VS中使用自定义工具配置nasm/yasm 1.1 方法一(参考开源工具)  可参考开源工具,具体做法是: (1).下载x264源码 (2).在windows下使用cmake便可产生vs的解决方 ...

  7. Linux ct获取本机ip,[原]archlinux 下最新的netct工具配置ip地址

    archlinux官方使用了netctl替代netcfg工具,更适合配合systemd使用 [code] sudo netctl enable ethernet-master 自动通过systemct ...

  8. linux连接wpa wifi密码,Linux环境下使用WIFI模块:使用wpa_supplicant工具配置和连接WIFI-Go语言中文社区...

    使用wpa_supplicant工具配置和连接WIFI 实验版本及下载地址 wpa_supplicant:wpa_supplicant-2.7 链接: [http://w1.fi/wpa_suppli ...

  9. Golang (Go语言) Mac OS X下环境搭建 环境变量配置 开发工具配置 Sublime Text 2 【转】...

    一.安装Golang的SDK 在官网 http://golang.org/ 直接下载安装包安装即可.下载pkg格式的最新安装包,直接双击运行,一路按照提示操作即可完成安装. 安装完成后,打开终端,输入 ...

最新文章

  1. linux怎么复制手册,程序员的Linux上手手册(2) - 基础文件操作命令
  2. NIFI的ERROR报错信息如何清空
  3. 抖音快手小视频推荐算法之--协同过滤算法剖析
  4. GPIO应用开发方法【ZT】
  5. 区块链宠物社区Pawtocol与去中心化社交网络memeunity达成合作
  6. 【MySQL-5.7】日期与时间类型
  7. php 时分秒转时分_php 时分秒转为秒,秒转化为天时分秒
  8. 卡在一直同步_Apple Music,可能是最好的本地音乐云同步平台
  9. 计算机网络原理基础知识点总结
  10. Python3.4中文手册chm,3.7中文手册HTML
  11. 边缘云计算概念、架构及应用场景
  12. 如何使用奥特歌词制作双语LRC字幕
  13. Laravel多表连接,多个查询(Eloquent)
  14. @click.stop作用(阻止点击事件继续传播,即阻止事件冒泡)
  15. SuperMapr测量地图面积
  16. 【PWA学习】4. 使用 Push API 实现消息推送
  17. 元宇宙十大技术及其产业
  18. IDEA Tomcat 部署,找不到依赖包的问题,比如 ClassNotFound
  19. BZOJ 3036 绿豆蛙的归宿 期望DP
  20. java计算机毕业设计ssm理想电子商城网站c48j7(附源码、数据库)

热门文章

  1. Alwayson 同步模式的坑
  2. Field baseMapper in com.xxx required a single bean,but 100 were found --------Mybatis-Plus
  3. hadoop暂时永久关闭安全模式
  4. TiDB HTAP特性的应用场景简析
  5. SEO中巧用个人博客优化关键字
  6. cocos creator 做一个涂鸦跳跃
  7. 堪称神级的Java技术栈手册火了!
  8. SSM与Spring
  9. Selenium浏览器自动化测试工具
  10. kindEditor 富文本编辑器 使用介绍