vf610.c How to achieve high precision sampling using vf610 driver?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

vf610.c How to achieve high precision sampling using vf610 driver?

554 Views
1048929016
Contributor I

platform:   imx6ul evk

Adds a description of the device tree ,as follows:

329 &adc1 {
330 pinctrl-names = "default";
331 pinctrl-0 = <&pinctrl_adc1>;
332 vref-supply = <&reg_vref_3v3>;
333 fsl,adck-max-frequency = <50000>,<50000>,<50000>;
334 min-sample-time = <1000>;
335 status = "okay";
336 };
337

653 pinctrl_adc1: adc1grp {
654 fsl,pins = <
655 MX6UL_PAD_GPIO1_IO02__GPIO1_IO02 0xb0
656 MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0xb0
657 //MX6UL_PAD_GPIO1_IO09__GPIO1_IO09 0xb0
658 //MX6UL_PAD_GPIO1_IO08__GPIO1_IO08 0xb0
659 >;
660 };

142 reg_vref_3v3: regulator@2 {
143 compatible = "regulator-fixed";
144 regulator-name = "vref-3v3";
145 regulator-min-microvolt = <3300000>;
146 regulator-max-microvolt = <3300000>;
147 };

imx6ul.dtsi

962 adc1: adc@02198000 {
963 compatible = "fsl,imx6ul-adc", "fsl,vf610-adc";
964 reg = <0x02198000 0x4000>;
965 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
966 clocks = <&clks IMX6UL_CLK_ADC1>;
967 num-channels = <2>;
968 clock-names = "adc";
969 status = "disabled";
970 };

I want to use the long-sampling mode to collect data and update the source code of the latest kernel driver. However, once long-sampling mode is turned on, the CPU is always occupied by this driver

root@imx6ulevk:/sys/bus/iio/devices/iio:device0/buffer# echo 1 > enable
vf610_adc_buffer_postenable
vf610_adc_isr
vf610_adc_read_data
vf610_adc_isr
vf610_adc_read_data
vf610_adc_isr
vf610_adc_read_data
vf610_adc_isr
vf610_adc_read_data

can*t stop!!!

Labels (1)
0 Kudos
1 Reply

345 Views
igorpadykov
NXP Employee
NXP Employee

Hi Liu

in linux arm core runs many tasks simultaneously so

it can not serve adc frequently. One can decrease adc sampling rate or

migrate for example to i.MX7D and assign adc servicing to m4 core.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos