TQIMX6UL添加ADC功能

这里使用天嵌的TQIMX6UL平台,TQIMX6UL核心板引出的4个ADC引脚默认留空,如果要使用ADC功能,需要自行将GPIO_0~GPIO_9的任意引脚配置成ADC,这里将扩展接口的pwm2_out为例配置成ADC功能(pwm2_out对应GPIO为GPIO_9),配置方法如下:
1、打开设备树arch/arm/boot/dts/tq-imx6ul.dts,找到ADC对应的代码片,若没有,自行添加:

&adc1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_adc1>;
	vref-supply = <®_vref_3v3>;
	num-channels = <5>; //此参数为ADC的通道
	status = "okay";
};

2、因为是将pwm2_out引脚作为ADC功能,所以pwm2_out引脚则不能作为PWM功能,需将此功能屏蔽:

&pwm2 {
......
        status = "disabled";
};

原本status = “okay”,需将其改为disabled
3、参考其他功能的管脚定义,添加pwm2_out的ADC管脚定义:

pinctrl_adc1: adc1grp{
	fsl,pins = <
		//MX6UL_PAD_GPIO1_IO05__GPIO1_IO05	0xb0
		MX6UL_PAD_GPIO1_IO09__GPIO1_IO09    0xb0  //将pwm2作为adc,在管脚定义这里加上此行
		>;
};

添加成功之后重新烧写设备树tq-imx6ul.dtb,pwm2_out引脚即为ADC功能,可测试是否可读取ADC的值

adc设备驱动目录:

cat /sys/devices/platform/soc/2100000.aips-bus/2198000.adc/iio\:device0/in_voltage9_raw

你可能感兴趣的:(linux)