搜索

451

主题

663

帖子

5297

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5297
QQ
发表于 2021-5-14 12:21:25 19826 浏览 4 回复

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

本次说明以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@5d {
  8.   compatible = "mediatek,cap_touch";
  9.   reg = <0x5d>;
  10.   status = "okay";
  11. };

  12. lt8912b_mtk:lt8912b@48 {
  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
复制代码
下载箭头所指模块即可:







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
手机微信同号:13682654092
回复

使用道具 举报

0

主题

7

帖子

610

积分

高级会员

Rank: 4

积分
610
发表于 2021-7-8 16:39:10
本帖最后由 zhang 于 2021-7-9 14:50 编辑

mark,跟高通方案区别蛮大
回复

使用道具 举报

451

主题

663

帖子

5297

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5297
QQ
 楼主| 发表于 2021-7-12 19:27:49
zhang 发表于 2021-7-8 16:39
mark,跟高通方案区别蛮大

原理都差不多,你们做什么产品的?
手机微信同号:13682654092
回复

使用道具 举报

3

主题

7

帖子

101

积分

注册会员

Rank: 2

积分
101
QQ
发表于 2023-12-11 20:59:34
codegen.dws 文件和 k80_bsp.dws文件一样吗?  然后为什么配置完就一直说 codegen.dws is not xml format ,try to use old DCT
回复

使用道具 举报

451

主题

663

帖子

5297

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5297
QQ
 楼主| 发表于 2023-12-12 09:12:01
cai 发表于 2023-12-11 12:59
codegen.dws 文件和 k80_bsp.dws文件一样吗?  然后为什么配置完就一直说 codegen.dws is not xml format , ...

那是你配置方法有问题,还原代码之后重新操作
手机微信同号:13682654092
回复

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


登录或注册
快速回复 返回顶部 返回列表