|
发表于 2021-5-14 12:21:25
19827 浏览 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工具,路径如下:
- vendor\mediatek\proprietary\scripts\dct\DrvGen.exe
- DWS路径(xxx路径根据lunch所选工程名来定):
- lk的路径:vendor\mediatek\proprietary\bootable\bootloader\lk\target\xxxx\dct\dct\codegen.dws :xxx 比如:k65v1_64_bsp
- lk的路径:kernel-4.9\drivers\misc\mediatek\dws\mt6765\k65v1_64_bsp.dws
复制代码
2、选择DWS文件:
GPIO的配置说明如下
I2C的配置说明
配置完成支持,编译会生成新的dts,比如XY6765为例,生成的dtsi路径和CAP_TOUCH说对应的代码的具体如下
- 生成的dtsi路径:out\target\product\k65v1_64_bsp\obj\KERNEL_OBJ\arch\arm64\boot\dts\k65v1_64_bsp\cust.dtsi
- &i2c0 {
- #address-cells = <1>;
- #size-cells = <0>;
- clock-frequency = <100000>;
- mediatek,use-open-drain;
- cap_touch_mtk:cap_touch@5d {
- compatible = "mediatek,cap_touch";
- reg = <0x5d>;
- status = "okay";
- };
- lt8912b_mtk:lt8912b@48 {
- compatible = "mediatek,lt8912b";
- reg = <0x48>;
- status = "okay";
- };
- };
复制代码
KEYPAD配置说明
Row与KPROW相对应,Column与KPCOL相对应,比如按上述配置,KEY1000为音量减功能、KEY1002为音量加功能、KEY1001为返回功能、KEY1003为菜单功能
编译之后,生成的cust.dtsi中所对应的代码为:
- &keypad {
- mediatek,kpd-key-debounce = <1024>;
- mediatek,kpd-sw-pwrkey = <116>;
- mediatek,kpd-hw-pwrkey = <8>;
- mediatek,kpd-sw-rstkey = <102>;
- mediatek,kpd-hw-rstkey = <17>;
- mediatek,kpd-use-extend-type = <0>;
- mediatek,kpd-hw-map-num = <72>;
- 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 >;
- mediatek,kpd-pwrkey-eint-gpio = <0>;
- mediatek,kpd-pwkey-gpio-din = <0>;
- mediatek,kpd-hw-dl-key1 = <0>;
- mediatek,kpd-hw-dl-key2 = <8>;
- mediatek,kpd-hw-recovery-key = <8>;
- mediatek,kpd-hw-factory-key = <0>;
- status = "okay";
- };
复制代码
三、编译下载
修改dws尽量让lk dws和kernel 保持同步,修改完之后,执行编译指令:
- rm -rf out/target/product/k65v1_64_bsp/obj/BOOTLOADER_OBJ/
- rm -rf out/target/product/k65v1_64_bsp/obj/KERNEL_OBJ/
- make -j24
复制代码 下载箭头所指模块即可:
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|
手机微信同号:13682654092
|
|
|
|
|
|
发表于 2021-7-8 16:39:10
本帖最后由 zhang 于 2021-7-9 14:50 编辑
mark,跟高通方案区别蛮大 |
|
|
|
|
|
|
|
楼主|
发表于 2021-7-12 19:27:49
|
手机微信同号:13682654092
|
|
|
|
|
|
发表于 2023-12-11 20:59:34
codegen.dws 文件和 k80_bsp.dws文件一样吗? 然后为什么配置完就一直说 codegen.dws is not xml format ,try to use old DCT |
|
|
|
|
|
|
|
楼主|
发表于 2023-12-12 09:12:01
|
手机微信同号:13682654092
|
|
|
|
|
登录或注册
|