メモ-ImX 6 ULL ADC採取


1、設備ツリーarch/arm/boot/dts/imx 6 ull-xxxを開く.dts,xxxは自分の板に対応して、対応するコードシートを見つけて、もしないならば、自分で追加します:regulator設定参考
   reg_vref_3v3: regulator@2 {
			compatible = "regulator-fixed";
			regulator-name = "vref-3v3";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
		};	
&adc1 {
	pinctrl-names = "default";
	pinctrl-0 = ;
	vref-supply = ;
	num-channels = <2>; // ADC , 2 ,0-1
	status = "okay";
};

2、tscピンをADCとして機能するため、tscピンはtsc機能として機能しない.この機能を遮蔽する必要がある.
&tsc{
......
        status = "disabled";
};

元のstatus="okay"は、disabled 3に変更し、他の機能のピン定義を参照し、tscのADCピン定義を追加する必要があります.
pinctrl_adc1: adc1grp {
	fsl,pins = <                                          
		MX6UL_PAD_GPIO1_IO01__GPIO1_IO01              0xb0      
	>;
	/ ADC ...
      };

4、対応するimx 6 ull.dtsiファイルは以下の定義である
adc1: adc@02198000 {
compatible = "fsl,imx6ul-adc", "fsl,vf610-adc";
reg = <0x02198000 0x4000>;
interrupts = ;
clocks = ;
num-channels = <2>;
clock-names = "adc";
status = "disabled";
};

5、追加に成功した後、デバイスツリーtq-imx 6 ullを焼き直す.dtb、tscピンはADC機能であり、ADCの値を読み取ることができるかどうかをテストすることができる
adcデバイスドライバディレクトリ:
cat/sys/devices/platform/soc/2100000.aips-bus/2198000.adc/iio:device0/in_voltage1_raw
添付:カスタム設定チャネル数
使用については、ADC 1入力3、4、6、7のみがimx 6 ullで次の変更を試みることができる.dtsiでnum-channels=4を変更:
adc1:adc @ 02198000 {
  ...
  num-channels = <4>;

drivers/iio/adc/imx 7 d_の変更adc.c
static const struct iio_chan_spec vf610_adc_iio_channels[] = {
    VF610_ADC_CHAN(3, IIO_VOLTAGE),
    VF610_ADC_CHAN(4, IIO_VOLTAGE),
    VF610_ADC_CHAN(6, IIO_VOLTAGE),
    VF610_ADC_CHAN(7, IIO_VOLTAGE),
          ...