1、工具介绍
DCT 全名:Driver Customization Tool
提供一个可操作dws文件的UI 界面
导入dws文件来产生驱动代码
2、DCT客制化流程
1)根据原理图 产生codegen.dws
2)SW用codegen.dws 产生代码
3)芯片客制化文件
芯片客制化文件描述硬件相关信息,包括GPIO 管脚数,管脚复用模式,上下拉。
ADC通道数
外部中断EINT
键盘扫描阵尺寸
4)器件描述文件
包括GPIO、ADC、EINT、键盘等器件的描述。可以用工具操作dws 文件产生代码。
3、DCT工具相关文件
1)DCT Tool---DrvGen.exe
--- lk:alps/vendor/mediatek/proprietary/bootable/bootloader/lk/scripts/dct
---preloader:alps/vendor/mediatek/proprietary/bootable/bootloader/preloader/tools/dct
---kernel:alps/kernel-3.18/tools/dct
2)Codegen.dws 三个文件必须相同
---lk:alps/vendor/mediatek/proprietary/bootable/bootloader/lk/target/<$project_name>/dct/dct/codegen.dws
---Preloader:alps/vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/<$project_name>/dct/dct/codegen.dws
------kernel:alps/kernel-3.18/drivers/misc/mediatek/mach/</platform>/<$project_name>/dct/dct/codegen.dws
3)产生的代码文件
--Dtsi 文件
cust.dsti | cust_adc.dtsi | cust_clk_buf.dtsi | cust_eint.dtsi |
cust_gpio.dtsi | cust_gpio_mapping.dtsi | cust_i2c.dtsi | cust_kpd.dtsi |
cust_md1.eint.dtsi | cust_pmic.dtsi |
---Header 文件
cust_adc.h | cust_clk_buf.h | cust_eint.h | cust_eint_md1.h |
cust_gpio_boot.h | cust_gpio_usage.h | cust_i2c.h | cust_kpd.h |
cust_power.h | cust_scp_gpio_usage.h | pmic_drv.h | mt6xxx-pinfuc.h |
pinctrl-mtk-mt6xxx.h |
输出文件
--LK: alps/out/target/product/<project>/obj/BOOTLOADER_OBJ/build-<project>/inc
--PreLoader:alps/out/target/product/<project>/obj/PRELOADER/build-<project>/inc
--Kernel:alps/out/target/product/<project>/obj/KERNEL_OBJ/arch/arm64/boot/dts/cust.dtsi