[GPIO]MT2601平台L1.MP9版本DWS配置方法
[DESCRIPTION]
MT2601平台L1.MP9版本只是修改kernel下面的DWS文件没有办法让LK里面的GPIO生效
[SOLUTION]
原因是:
从lk drvgen.mk以及build log看,lk out目录下面生成的头文件是直接拷贝的
lk/target/$project/inc/跟lk/target/$project/include/target/下的文件。
所以只是修改kernel-3.10/arch/arm/mach-mt2601/$project/dct/dct/codegen.dws
不会生效
解决方法:
手动修改下面目录的头文件,然后build。
/alps/bootable/bootloader/lk/target/$project/inc
/alps/bootable/bootloader/lk/target/$project/include/target/
比如:修改cust_gpio_boot.h GPIO1 配置为输入上拉。一定要确保IES为1
//Configureation for Pin1
#define GPIO1_MODE GPIO_MODE_00
#define GPIO1_DIR GPIO_DIR_IN
#define GPIO1_PULLEN GPIO_PULL_ENABLE
#define GPIO1_PULL GPIO_PULL_DOWN
#define GPIO1_DATAOUT GPIO_OUT_ZERO
#define GPIO1_DATAINV GPIO_DATA_UNINV
#define GPIO1_IES 0
#define GPIO1_SMT GPIO_SMT_DISABLE
修改为:
#define GPIO1_MODE GPIO_MODE_00
#define GPIO1_DIR GPIO_DIR_IN
#define GPIO1_PULLEN GPIO_PULL_ENABLE
#define GPIO1_PULL GPIO_PULL_UP
#define GPIO1_DATAOUT GPIO_OUT_ZERO
#define GPIO1_DATAINV GPIO_DATA_UNINV
#define GPIO1_IES 1
#define GPIO1_SMT GPIO_SMT_DISABLE
MT2601平台L1.MP9版本只是修改kernel下面的DWS文件没有办法让LK里面的GPIO生效
[SOLUTION]
原因是:
从lk drvgen.mk以及build log看,lk out目录下面生成的头文件是直接拷贝的
lk/target/$project/inc/跟lk/target/$project/include/target/下的文件。
所以只是修改kernel-3.10/arch/arm/mach-mt2601/$project/dct/dct/codegen.dws
不会生效
解决方法:
手动修改下面目录的头文件,然后build。
/alps/bootable/bootloader/lk/target/$project/inc
/alps/bootable/bootloader/lk/target/$project/include/target/
比如:修改cust_gpio_boot.h GPIO1 配置为输入上拉。一定要确保IES为1
//Configureation for Pin1
#define GPIO1_MODE GPIO_MODE_00
#define GPIO1_DIR GPIO_DIR_IN
#define GPIO1_PULLEN GPIO_PULL_ENABLE
#define GPIO1_PULL GPIO_PULL_DOWN
#define GPIO1_DATAOUT GPIO_OUT_ZERO
#define GPIO1_DATAINV GPIO_DATA_UNINV
#define GPIO1_IES 0
#define GPIO1_SMT GPIO_SMT_DISABLE
修改为:
#define GPIO1_MODE GPIO_MODE_00
#define GPIO1_DIR GPIO_DIR_IN
#define GPIO1_PULLEN GPIO_PULL_ENABLE
#define GPIO1_PULL GPIO_PULL_UP
#define GPIO1_DATAOUT GPIO_OUT_ZERO
#define GPIO1_DATAINV GPIO_DATA_UNINV
#define GPIO1_IES 1
#define GPIO1_SMT GPIO_SMT_DISABLE