* Re: ti_am33x_adc sampling bugs [not found] ` <CAExKytzRv4CT9zTor=-fc5Mfv+xG9uTjQP=LWosVnhEHsa9Y0A@mail.gmail.com> @ 2014-03-31 3:56 ` Rob Mosher [not found] ` <CAExKytzRv4CT9zTor=-fc5Mfv+xG9uTjQP=LWosVnhEHsa9Y0A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 1 sibling, 0 replies; 14+ messages in thread From: Rob Mosher @ 2014-03-31 3:56 UTC (permalink / raw) To: Zubair Lutfullah Cc: Sebastian Andrzej Siewior, robertcnelson, Samuel Ortiz, Jonathan Cameron, Dmitry Torokhov, Felipe Balbi, linux-iio, linux-input, balbi, Lee Jones [-- Attachment #1: Type: text/plain, Size: 6617 bytes --] The specified patch is already included. The system was running the latest kernel from Robert Nelson's repo. Any suggestions? I'll try removing some of the patches to see if it fixes this behavior. I have a feeling I know which one is doing it. Thanks. output from running patch.sh with source pulled from https://github.com/beagleboard/kernel/tree/3.8 /home/bbuild/comp/kernel/patches/adc/0017-IIO-ADC-ti_adc-Fix-1st-sample-read.patch: applied Just in case, I built and installed the kernel and the same behavior persisted. root@rbone:/# uname -a Linux rbone 3.8.13-00737-g7dfad77 #1 SMP Sun Mar 30 22:11:44 EDT 2014 armv7l GNU/Linux gpio30 is connected to AIN4 using a voltage divider root@rbone:/# cd /sys/class/gpio/ root@rbone:/sys/class/gpio# echo 30 > export root@rbone:/sys/class/gpio# echo BB-ADC > /sys/devices/bone_capemgr.9/slots root@rbone:/sys/class/gpio# cd /sys/devices/ocp.3/helper.11/ root@rbone:/sys/devices/ocp.3/helper.11# echo out > /sys/class/gpio/gpio30/direction root@rbone:/sys/devices/ocp.3/helper.11# echo 1 > /sys/class/gpio/gpio30/value root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 1460 root@rbone:/sys/devices/ocp.3/helper.11# echo 0 > /sys/class/gpio/gpio30/value root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 0 root@rbone:/sys/devices/ocp.3/helper.11# grep . AIN[0-3] AIN[5-7] AIN0:1550 AIN1:1213 AIN2:1485 AIN3:795 AIN5:513 AIN6:744 AIN7:1698 root@rbone:/sys/devices/ocp.3/helper.11# echo 1 > /sys/class/gpio/gpio30/value root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 0 root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 0 root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 0 root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 0 root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 0 root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 0 root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 1460 On 3/30/2014 9:16 AM, Zubair Lutfullah wrote: > https://github.com/beagleboard/kernel/blob/3.8/patches/adc/0017-IIO-ADC-ti_adc-Fix-1st-sample-read.patch > IIRC, this patch fixes this issue > > Can you compile the kernel from the sources and check? > https://github.com/beagleboard/kernel/tree/3.8 > > Regards > ZubairLK > > On Sun, Mar 30, 2014 at 7:04 AM, Rob Mosher <nyt@countercultured.net > <mailto:nyt@countercultured.net>> wrote: > > Just a note, the same behavior persists with BB-ADC dtb and > reading from in_voltage4_raw > > > On 3/30/2014 12:30 AM, Rob Mosher wrote: > > Hello fine developers, > > It seems I've stumbled upon a problem while developing a full > featured Ruby gem for the Beaglebone. > > It seems a patch included in the beaglebone kernel causes some > issues while reading analog inputs. Apparently the samples > get backlogged by the number of adc pins in use. I'm not sure > which patch exactly as there are a number that affect adc > buffering and I'm not currently setup for kernel building, > however the below output should detail the problem. > > Using the official Debian image. > Linux rbone 3.8.13-bone43 #1 SMP Wed Mar 26 14:21:39 UTC 2014 > armv7l GNU/Linux > > Distributor ID: Debian > Description: Debian GNU/Linux 7.4 (wheezy) > Release: 7.4 > Codename: wheezy > > root@rbone:~# echo cape-bone-iio > > /sys/devices/bone_capemgr.9/slots > > This is the normal and expected behavior. > > 1.8v applied to AIN4 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1798 > > 0v applied to AIN4 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > > 1.8v applied to AIN4 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1798 > > 0v applied to AIN4 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > > So far working as intended.... Now reading from the other pins. > > root@rbone:/sys/devices/ocp.3/helper.12# grep . AIN[0-3] AIN[5-7] > AIN0:1563 > AIN1:1221 > AIN2:1487 > AIN3:789 > AIN5:514 > AIN6:743 > AIN7:1698 > > Now applying 1.8v to AIN4 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1798 > > Now applying 0v to AIN4 > > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1460 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1798 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1798 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1460 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1460 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1460 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > > > > And another example, showing relation to the number of pins in > use. > > 1.8v to AIN4 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1460 > root@rbone:/sys/devices/ocp.3/helper.12# grep . AIN[0-3] > AIN0:1697 > AIN1:1298 > AIN2:1524 > AIN3:816 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1798 > > 0v to AIN4 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1798 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1460 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1460 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1460 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > > 1.8v to AIN4 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1798 > > -- > Rob Mosher > Senior Network and Software Engineer > Hurricane Electric / AS6939 > > > > > [-- Attachment #2: Type: text/html, Size: 15465 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
[parent not found: <CAExKytzRv4CT9zTor=-fc5Mfv+xG9uTjQP=LWosVnhEHsa9Y0A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: ti_am33x_adc sampling bugs [not found] ` <CAExKytzRv4CT9zTor=-fc5Mfv+xG9uTjQP=LWosVnhEHsa9Y0A@mail.gmail.com> @ 2014-03-31 4:04 ` Rob Mosher [not found] ` <CAExKytzRv4CT9zTor=-fc5Mfv+xG9uTjQP=LWosVnhEHsa9Y0A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 1 sibling, 0 replies; 14+ messages in thread From: Rob Mosher @ 2014-03-31 4:04 UTC (permalink / raw) To: Zubair Lutfullah Cc: Sebastian Andrzej Siewior, robertcnelson-Re5JQEeQqe8AvxtiuMwx3w, Samuel Ortiz, Jonathan Cameron, Dmitry Torokhov, Felipe Balbi, linux-iio-u79uwXL29TY76Z2rM5mHXA, linux-input-u79uwXL29TY76Z2rM5mHXA (sorry for the duplicate, got bounces due to HTML encoding) The specified patch is already included. The system was running the latest kernel from Robert Nelson's repo. Any suggestions? I'll try removing some of the patches to see if it fixes this behavior. I have a feeling I know which one is doing it. Thanks. output from running patch.sh with source pulled from https://github.com/beagleboard/kernel/tree/3.8 /home/bbuild/comp/kernel/patches/adc/0017-IIO-ADC-ti_adc-Fix-1st-sample-read.patch: applied Just in case, I built and installed the kernel and the same behavior persisted. root@rbone:/# uname -a Linux rbone 3.8.13-00737-g7dfad77 #1 SMP Sun Mar 30 22:11:44 EDT 2014 armv7l GNU/Linux gpio30 is connected to AIN4 using a voltage divider root@rbone:/# cd /sys/class/gpio/ root@rbone:/sys/class/gpio# echo 30 > export root@rbone:/sys/class/gpio# echo BB-ADC > /sys/devices/bone_capemgr.9/slots root@rbone:/sys/class/gpio# cd /sys/devices/ocp.3/helper.11/ root@rbone:/sys/devices/ocp.3/helper.11# echo out > /sys/class/gpio/gpio30/direction root@rbone:/sys/devices/ocp.3/helper.11# echo 1 > /sys/class/gpio/gpio30/value root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 1460 root@rbone:/sys/devices/ocp.3/helper.11# echo 0 > /sys/class/gpio/gpio30/value root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 0 root@rbone:/sys/devices/ocp.3/helper.11# grep . AIN[0-3] AIN[5-7] AIN0:1550 AIN1:1213 AIN2:1485 AIN3:795 AIN5:513 AIN6:744 AIN7:1698 root@rbone:/sys/devices/ocp.3/helper.11# echo 1 > /sys/class/gpio/gpio30/value root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 0 root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 0 root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 0 root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 0 root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 0 root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 0 root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 1460 On 3/30/2014 9:16 AM, Zubair Lutfullah wrote: > https://github.com/beagleboard/kernel/blob/3.8/patches/adc/0017-IIO-ADC-ti_adc-Fix-1st-sample-read.patch > IIRC, this patch fixes this issue > > Can you compile the kernel from the sources and check? > https://github.com/beagleboard/kernel/tree/3.8 > > Regards > ZubairLK > > On Sun, Mar 30, 2014 at 7:04 AM, Rob Mosher <nyt-fuEpAR7jH0UNb0vsIHg089HuzzzSOjJt@public.gmane.org > <mailto:nyt-fuEpAR7jH0UNb0vsIHg089HuzzzSOjJt@public.gmane.org>> wrote: > > Just a note, the same behavior persists with BB-ADC dtb and > reading from in_voltage4_raw > > > On 3/30/2014 12:30 AM, Rob Mosher wrote: > > Hello fine developers, > > It seems I've stumbled upon a problem while developing a full > featured Ruby gem for the Beaglebone. > > It seems a patch included in the beaglebone kernel causes some > issues while reading analog inputs. Apparently the samples > get backlogged by the number of adc pins in use. I'm not sure > which patch exactly as there are a number that affect adc > buffering and I'm not currently setup for kernel building, > however the below output should detail the problem. > > Using the official Debian image. > Linux rbone 3.8.13-bone43 #1 SMP Wed Mar 26 14:21:39 UTC 2014 > armv7l GNU/Linux > > Distributor ID: Debian > Description: Debian GNU/Linux 7.4 (wheezy) > Release: 7.4 > Codename: wheezy > > root@rbone:~# echo cape-bone-iio > > /sys/devices/bone_capemgr.9/slots > > This is the normal and expected behavior. > > 1.8v applied to AIN4 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1798 > > 0v applied to AIN4 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > > 1.8v applied to AIN4 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1798 > > 0v applied to AIN4 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > > So far working as intended.... Now reading from the other pins. > > root@rbone:/sys/devices/ocp.3/helper.12# grep . AIN[0-3] AIN[5-7] > AIN0:1563 > AIN1:1221 > AIN2:1487 > AIN3:789 > AIN5:514 > AIN6:743 > AIN7:1698 > > Now applying 1.8v to AIN4 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1798 > > Now applying 0v to AIN4 > > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1460 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1798 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1798 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1460 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1460 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1460 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > > > > And another example, showing relation to the number of pins in > use. > > 1.8v to AIN4 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1460 > root@rbone:/sys/devices/ocp.3/helper.12# grep . AIN[0-3] > AIN0:1697 > AIN1:1298 > AIN2:1524 > AIN3:816 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1798 > > 0v to AIN4 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1798 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1460 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1460 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1460 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > > 1.8v to AIN4 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1798 > > -- > Rob Mosher > Senior Network and Software Engineer > Hurricane Electric / AS6939 > > > > > ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ti_am33x_adc sampling bugs @ 2014-03-31 4:04 ` Rob Mosher 0 siblings, 0 replies; 14+ messages in thread From: Rob Mosher @ 2014-03-31 4:04 UTC (permalink / raw) To: Zubair Lutfullah Cc: Sebastian Andrzej Siewior, robertcnelson, Samuel Ortiz, Jonathan Cameron, Dmitry Torokhov, Felipe Balbi, linux-iio, linux-input, balbi, Lee Jones (sorry for the duplicate, got bounces due to HTML encoding) The specified patch is already included. The system was running the latest kernel from Robert Nelson's repo. Any suggestions? I'll try removing some of the patches to see if it fixes this behavior. I have a feeling I know which one is doing it. Thanks. output from running patch.sh with source pulled from https://github.com/beagleboard/kernel/tree/3.8 /home/bbuild/comp/kernel/patches/adc/0017-IIO-ADC-ti_adc-Fix-1st-sample-read.patch: applied Just in case, I built and installed the kernel and the same behavior persisted. root@rbone:/# uname -a Linux rbone 3.8.13-00737-g7dfad77 #1 SMP Sun Mar 30 22:11:44 EDT 2014 armv7l GNU/Linux gpio30 is connected to AIN4 using a voltage divider root@rbone:/# cd /sys/class/gpio/ root@rbone:/sys/class/gpio# echo 30 > export root@rbone:/sys/class/gpio# echo BB-ADC > /sys/devices/bone_capemgr.9/slots root@rbone:/sys/class/gpio# cd /sys/devices/ocp.3/helper.11/ root@rbone:/sys/devices/ocp.3/helper.11# echo out > /sys/class/gpio/gpio30/direction root@rbone:/sys/devices/ocp.3/helper.11# echo 1 > /sys/class/gpio/gpio30/value root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 1460 root@rbone:/sys/devices/ocp.3/helper.11# echo 0 > /sys/class/gpio/gpio30/value root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 0 root@rbone:/sys/devices/ocp.3/helper.11# grep . AIN[0-3] AIN[5-7] AIN0:1550 AIN1:1213 AIN2:1485 AIN3:795 AIN5:513 AIN6:744 AIN7:1698 root@rbone:/sys/devices/ocp.3/helper.11# echo 1 > /sys/class/gpio/gpio30/value root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 0 root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 0 root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 0 root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 0 root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 0 root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 0 root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 1460 On 3/30/2014 9:16 AM, Zubair Lutfullah wrote: > https://github.com/beagleboard/kernel/blob/3.8/patches/adc/0017-IIO-ADC-ti_adc-Fix-1st-sample-read.patch > IIRC, this patch fixes this issue > > Can you compile the kernel from the sources and check? > https://github.com/beagleboard/kernel/tree/3.8 > > Regards > ZubairLK > > On Sun, Mar 30, 2014 at 7:04 AM, Rob Mosher <nyt@countercultured.net > <mailto:nyt@countercultured.net>> wrote: > > Just a note, the same behavior persists with BB-ADC dtb and > reading from in_voltage4_raw > > > On 3/30/2014 12:30 AM, Rob Mosher wrote: > > Hello fine developers, > > It seems I've stumbled upon a problem while developing a full > featured Ruby gem for the Beaglebone. > > It seems a patch included in the beaglebone kernel causes some > issues while reading analog inputs. Apparently the samples > get backlogged by the number of adc pins in use. I'm not sure > which patch exactly as there are a number that affect adc > buffering and I'm not currently setup for kernel building, > however the below output should detail the problem. > > Using the official Debian image. > Linux rbone 3.8.13-bone43 #1 SMP Wed Mar 26 14:21:39 UTC 2014 > armv7l GNU/Linux > > Distributor ID: Debian > Description: Debian GNU/Linux 7.4 (wheezy) > Release: 7.4 > Codename: wheezy > > root@rbone:~# echo cape-bone-iio > > /sys/devices/bone_capemgr.9/slots > > This is the normal and expected behavior. > > 1.8v applied to AIN4 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1798 > > 0v applied to AIN4 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > > 1.8v applied to AIN4 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1798 > > 0v applied to AIN4 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > > So far working as intended.... Now reading from the other pins. > > root@rbone:/sys/devices/ocp.3/helper.12# grep . AIN[0-3] AIN[5-7] > AIN0:1563 > AIN1:1221 > AIN2:1487 > AIN3:789 > AIN5:514 > AIN6:743 > AIN7:1698 > > Now applying 1.8v to AIN4 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1798 > > Now applying 0v to AIN4 > > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1460 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1798 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1798 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1460 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1460 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1460 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > > > > And another example, showing relation to the number of pins in > use. > > 1.8v to AIN4 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1460 > root@rbone:/sys/devices/ocp.3/helper.12# grep . AIN[0-3] > AIN0:1697 > AIN1:1298 > AIN2:1524 > AIN3:816 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1798 > > 0v to AIN4 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1798 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1460 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1460 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1460 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > > 1.8v to AIN4 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 > 1798 > > -- > Rob Mosher > Senior Network and Software Engineer > Hurricane Electric / AS6939 > > > > > ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ti_am33x_adc sampling bugs 2014-03-31 4:04 ` Rob Mosher (?) @ 2014-03-31 8:17 ` Rob Mosher 2014-03-31 16:14 ` Jonathan Cameron -1 siblings, 1 reply; 14+ messages in thread From: Rob Mosher @ 2014-03-31 8:17 UTC (permalink / raw) To: Zubair Lutfullah Cc: Sebastian Andrzej Siewior, robertcnelson, Samuel Ortiz, Jonathan Cameron, Dmitry Torokhov, Felipe Balbi, linux-iio, linux-input, Lee Jones The following patches were removed and behavior returned to normal. 0019-iio-ti_am335x_adc-Add-continuous-sampling-and-trigge.patch 0020-iio-ti_am335x_adc-Add-IIO-map-interface.patch Once 19 was re-applied, the bug returned. It would appear that patch19 is the problem. On an unrelated note, the continuous sampling patch seems to still be missing the mode file to tell it to sample continuously or oneshot in the sysfs directory as referenced at http://processors.wiki.ti.com/index.php/AM335x_ADC_Driver%27s_Guide. Maybe this should be moved to the beta kernel until stable? Cheers. On 3/31/2014 12:04 AM, Rob Mosher wrote: > (sorry for the duplicate, got bounces due to HTML encoding) > > The specified patch is already included. The system was running the > latest kernel from Robert Nelson's repo. Any suggestions? I'll try > removing some of the patches to see if it fixes this behavior. I have a > feeling I know which one is doing it. > > Thanks. > > output from running patch.sh with source pulled from > https://github.com/beagleboard/kernel/tree/3.8 > > /home/bbuild/comp/kernel/patches/adc/0017-IIO-ADC-ti_adc-Fix-1st-sample-read.patch: > applied > > Just in case, I built and installed the kernel and the same behavior > persisted. > > root@rbone:/# uname -a > Linux rbone 3.8.13-00737-g7dfad77 #1 SMP Sun Mar 30 22:11:44 EDT 2014 > armv7l GNU/Linux > > gpio30 is connected to AIN4 using a voltage divider > > root@rbone:/# cd /sys/class/gpio/ > root@rbone:/sys/class/gpio# echo 30 > export > root@rbone:/sys/class/gpio# echo BB-ADC > /sys/devices/bone_capemgr.9/slots > root@rbone:/sys/class/gpio# cd /sys/devices/ocp.3/helper.11/ > root@rbone:/sys/devices/ocp.3/helper.11# echo out > > /sys/class/gpio/gpio30/direction > > root@rbone:/sys/devices/ocp.3/helper.11# echo 1 > > /sys/class/gpio/gpio30/value > root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 > 1460 > > root@rbone:/sys/devices/ocp.3/helper.11# echo 0 > > /sys/class/gpio/gpio30/value > root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 > 0 > > root@rbone:/sys/devices/ocp.3/helper.11# grep . AIN[0-3] AIN[5-7] > AIN0:1550 > AIN1:1213 > AIN2:1485 > AIN3:795 > AIN5:513 > AIN6:744 > AIN7:1698 > > root@rbone:/sys/devices/ocp.3/helper.11# echo 1 > > /sys/class/gpio/gpio30/value > root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 > 0 > root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 > 1460 > > On 3/30/2014 9:16 AM, Zubair Lutfullah wrote: >> https://github.com/beagleboard/kernel/blob/3.8/patches/adc/0017-IIO-ADC-ti_adc-Fix-1st-sample-read.patch >> >> IIRC, this patch fixes this issue >> >> Can you compile the kernel from the sources and check? >> https://github.com/beagleboard/kernel/tree/3.8 >> >> Regards >> ZubairLK >> >> On Sun, Mar 30, 2014 at 7:04 AM, Rob Mosher <nyt@countercultured.net >> <mailto:nyt@countercultured.net>> wrote: >> >> Just a note, the same behavior persists with BB-ADC dtb and >> reading from in_voltage4_raw >> >> >> On 3/30/2014 12:30 AM, Rob Mosher wrote: >> >> Hello fine developers, >> >> It seems I've stumbled upon a problem while developing a full >> featured Ruby gem for the Beaglebone. >> >> It seems a patch included in the beaglebone kernel causes some >> issues while reading analog inputs. Apparently the samples >> get backlogged by the number of adc pins in use. I'm not sure >> which patch exactly as there are a number that affect adc >> buffering and I'm not currently setup for kernel building, >> however the below output should detail the problem. >> >> Using the official Debian image. >> Linux rbone 3.8.13-bone43 #1 SMP Wed Mar 26 14:21:39 UTC 2014 >> armv7l GNU/Linux >> >> Distributor ID: Debian >> Description: Debian GNU/Linux 7.4 (wheezy) >> Release: 7.4 >> Codename: wheezy >> >> root@rbone:~# echo cape-bone-iio > >> /sys/devices/bone_capemgr.9/slots >> >> This is the normal and expected behavior. >> >> 1.8v applied to AIN4 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 1798 >> >> 0v applied to AIN4 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 0 >> >> 1.8v applied to AIN4 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 1798 >> >> 0v applied to AIN4 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 0 >> >> So far working as intended.... Now reading from the other pins. >> >> root@rbone:/sys/devices/ocp.3/helper.12# grep . AIN[0-3] AIN[5-7] >> AIN0:1563 >> AIN1:1221 >> AIN2:1487 >> AIN3:789 >> AIN5:514 >> AIN6:743 >> AIN7:1698 >> >> Now applying 1.8v to AIN4 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 0 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 0 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 0 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 0 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 0 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 0 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 1798 >> >> Now applying 0v to AIN4 >> >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 1460 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 1798 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 1798 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 1460 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 1460 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 1460 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 0 >> >> >> >> And another example, showing relation to the number of pins in >> use. >> >> 1.8v to AIN4 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 1460 >> root@rbone:/sys/devices/ocp.3/helper.12# grep . AIN[0-3] >> AIN0:1697 >> AIN1:1298 >> AIN2:1524 >> AIN3:816 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 1798 >> >> 0v to AIN4 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 1798 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 1460 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 1460 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 1460 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 0 >> >> 1.8v to AIN4 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 0 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 0 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 0 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 0 >> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >> 1798 >> >> -- Rob Mosher >> Senior Network and Software Engineer >> Hurricane Electric / AS6939 >> >> >> >> >> > ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ti_am33x_adc sampling bugs 2014-03-31 8:17 ` Rob Mosher @ 2014-03-31 16:14 ` Jonathan Cameron [not found] ` <d8950cff-fd37-46bb-b438-d42f15851602-2ueSQiBKiTY7tOexoI0I+QC/G2K4zDHf@public.gmane.org> 0 siblings, 1 reply; 14+ messages in thread From: Jonathan Cameron @ 2014-03-31 16:14 UTC (permalink / raw) To: Rob Mosher, Zubair Lutfullah Cc: Sebastian Andrzej Siewior, robertcnelson, Samuel Ortiz, Dmitry Torokhov, Felipe Balbi, linux-iio, linux-input, Lee Jones On March 31, 2014 9:17:53 AM GMT+01:00, Rob Mosher <nyt@countercultured.net> wrote: >The following patches were removed and behavior returned to normal. > >0019-iio-ti_am335x_adc-Add-continuous-sampling-and-trigge.patch >0020-iio-ti_am335x_adc-Add-IIO-map-interface.patch > >Once 19 was re-applied, the bug returned. > >It would appear that patch19 is the problem. On an unrelated note, the > >continuous sampling patch seems to still be missing the mode file to >tell it to sample continuously or oneshot in the sysfs directory as >referenced at >http://processors.wiki.ti.com/index.php/AM335x_ADC_Driver%27s_Guide. Someone should update that wiki page. Such an attribute was not and will not be part of the mainline kernel ABI. Drivers can play fast and loose in staging but to move out the ABI must conform to existing definitions or be proposed reviewed and accepted. I am somewhat confused. Where did the AIN sysfs attributes come from? >Maybe this should be moved to the beta kernel until stable? > >Cheers. > >On 3/31/2014 12:04 AM, Rob Mosher wrote: >> (sorry for the duplicate, got bounces due to HTML encoding) >> >> The specified patch is already included. The system was running the >> latest kernel from Robert Nelson's repo. Any suggestions? I'll try >> removing some of the patches to see if it fixes this behavior. I >have a >> feeling I know which one is doing it. >> >> Thanks. >> >> output from running patch.sh with source pulled from >> https://github.com/beagleboard/kernel/tree/3.8 >> >> >/home/bbuild/comp/kernel/patches/adc/0017-IIO-ADC-ti_adc-Fix-1st-sample-read.patch: >> applied >> >> Just in case, I built and installed the kernel and the same behavior >> persisted. >> >> root@rbone:/# uname -a >> Linux rbone 3.8.13-00737-g7dfad77 #1 SMP Sun Mar 30 22:11:44 EDT 2014 >> armv7l GNU/Linux >> >> gpio30 is connected to AIN4 using a voltage divider >> >> root@rbone:/# cd /sys/class/gpio/ >> root@rbone:/sys/class/gpio# echo 30 > export >> root@rbone:/sys/class/gpio# echo BB-ADC > >/sys/devices/bone_capemgr.9/slots >> root@rbone:/sys/class/gpio# cd /sys/devices/ocp.3/helper.11/ >> root@rbone:/sys/devices/ocp.3/helper.11# echo out > >> /sys/class/gpio/gpio30/direction >> >> root@rbone:/sys/devices/ocp.3/helper.11# echo 1 > >> /sys/class/gpio/gpio30/value >> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >> 1460 >> >> root@rbone:/sys/devices/ocp.3/helper.11# echo 0 > >> /sys/class/gpio/gpio30/value >> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >> 0 >> >> root@rbone:/sys/devices/ocp.3/helper.11# grep . AIN[0-3] AIN[5-7] >> AIN0:1550 >> AIN1:1213 >> AIN2:1485 >> AIN3:795 >> AIN5:513 >> AIN6:744 >> AIN7:1698 >> >> root@rbone:/sys/devices/ocp.3/helper.11# echo 1 > >> /sys/class/gpio/gpio30/value >> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >> 0 >> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >> 0 >> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >> 0 >> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >> 0 >> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >> 0 >> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >> 0 >> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >> 1460 >> >> On 3/30/2014 9:16 AM, Zubair Lutfullah wrote: >>> >https://github.com/beagleboard/kernel/blob/3.8/patches/adc/0017-IIO-ADC-ti_adc-Fix-1st-sample-read.patch >>> >>> IIRC, this patch fixes this issue >>> >>> Can you compile the kernel from the sources and check? >>> https://github.com/beagleboard/kernel/tree/3.8 >>> >>> Regards >>> ZubairLK >>> >>> On Sun, Mar 30, 2014 at 7:04 AM, Rob Mosher <nyt@countercultured.net >>> <mailto:nyt@countercultured.net>> wrote: >>> >>> Just a note, the same behavior persists with BB-ADC dtb and >>> reading from in_voltage4_raw >>> >>> >>> On 3/30/2014 12:30 AM, Rob Mosher wrote: >>> >>> Hello fine developers, >>> >>> It seems I've stumbled upon a problem while developing a >full >>> featured Ruby gem for the Beaglebone. >>> >>> It seems a patch included in the beaglebone kernel causes >some >>> issues while reading analog inputs. Apparently the samples >>> get backlogged by the number of adc pins in use. I'm not >sure >>> which patch exactly as there are a number that affect adc >>> buffering and I'm not currently setup for kernel building, >>> however the below output should detail the problem. >>> >>> Using the official Debian image. >>> Linux rbone 3.8.13-bone43 #1 SMP Wed Mar 26 14:21:39 UTC >2014 >>> armv7l GNU/Linux >>> >>> Distributor ID: Debian >>> Description: Debian GNU/Linux 7.4 (wheezy) >>> Release: 7.4 >>> Codename: wheezy >>> >>> root@rbone:~# echo cape-bone-iio > >>> /sys/devices/bone_capemgr.9/slots >>> >>> This is the normal and expected behavior. >>> >>> 1.8v applied to AIN4 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 1798 >>> >>> 0v applied to AIN4 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 0 >>> >>> 1.8v applied to AIN4 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 1798 >>> >>> 0v applied to AIN4 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 0 >>> >>> So far working as intended.... Now reading from the other >pins. >>> >>> root@rbone:/sys/devices/ocp.3/helper.12# grep . AIN[0-3] >AIN[5-7] >>> AIN0:1563 >>> AIN1:1221 >>> AIN2:1487 >>> AIN3:789 >>> AIN5:514 >>> AIN6:743 >>> AIN7:1698 >>> >>> Now applying 1.8v to AIN4 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 0 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 0 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 0 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 0 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 0 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 0 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 1798 >>> >>> Now applying 0v to AIN4 >>> >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 1460 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 1798 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 1798 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 1460 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 1460 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 1460 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 0 >>> >>> >>> >>> And another example, showing relation to the number of pins >in >>> use. >>> >>> 1.8v to AIN4 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 1460 >>> root@rbone:/sys/devices/ocp.3/helper.12# grep . AIN[0-3] >>> AIN0:1697 >>> AIN1:1298 >>> AIN2:1524 >>> AIN3:816 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 1798 >>> >>> 0v to AIN4 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 1798 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 1460 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 1460 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 1460 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 0 >>> >>> 1.8v to AIN4 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 0 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 0 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 0 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 0 >>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>> 1798 >>> >>> -- Rob Mosher >>> Senior Network and Software Engineer >>> Hurricane Electric / AS6939 >>> >>> >>> >>> >>> >> >-- >To unsubscribe from this list: send the line "unsubscribe linux-iio" in >the body of a message to majordomo@vger.kernel.org >More majordomo info at http://vger.kernel.org/majordomo-info.html -- Sent from my Android phone with K-9 Mail. Please excuse my brevity. ^ permalink raw reply [flat|nested] 14+ messages in thread
[parent not found: <d8950cff-fd37-46bb-b438-d42f15851602-2ueSQiBKiTY7tOexoI0I+QC/G2K4zDHf@public.gmane.org>]
* Re: ti_am33x_adc sampling bugs 2014-03-31 16:14 ` Jonathan Cameron @ 2014-03-31 16:47 ` Rob Mosher 0 siblings, 0 replies; 14+ messages in thread From: Rob Mosher @ 2014-03-31 16:47 UTC (permalink / raw) To: Jonathan Cameron, Zubair Lutfullah Cc: Sebastian Andrzej Siewior, robertcnelson-Re5JQEeQqe8AvxtiuMwx3w, Samuel Ortiz, Dmitry Torokhov, Felipe Balbi, linux-iio-u79uwXL29TY76Z2rM5mHXA, linux-input-u79uwXL29TY76Z2rM5mHXA, Lee Jones I believe the AIN files came from 0020-iio-ti_am335x_adc-Add-IIO-map-interface.patch. The bug is the same reading from in_voltageX_raw files. On 3/31/2014 12:14 PM, Jonathan Cameron wrote: > > > On March 31, 2014 9:17:53 AM GMT+01:00, Rob Mosher <nyt-fuEpAR7jH0UNb0vsIHg089HuzzzSOjJt@public.gmane.org> wrote: >> The following patches were removed and behavior returned to normal. >> >> 0019-iio-ti_am335x_adc-Add-continuous-sampling-and-trigge.patch >> 0020-iio-ti_am335x_adc-Add-IIO-map-interface.patch >> >> Once 19 was re-applied, the bug returned. >> >> It would appear that patch19 is the problem. On an unrelated note, the >> >> continuous sampling patch seems to still be missing the mode file to >> tell it to sample continuously or oneshot in the sysfs directory as >> referenced at >> http://processors.wiki.ti.com/index.php/AM335x_ADC_Driver%27s_Guide. > Someone should update that wiki page. > Such an attribute was not and will not be > part of the mainline kernel ABI. Drivers can play fast and loose in staging but to move > out the ABI must conform to existing definitions or be proposed reviewed and accepted. > > I am somewhat confused. Where did the AIN sysfs attributes come from? > >> Maybe this should be moved to the beta kernel until stable? > >> >> Cheers. >> >> On 3/31/2014 12:04 AM, Rob Mosher wrote: >>> (sorry for the duplicate, got bounces due to HTML encoding) >>> >>> The specified patch is already included. The system was running the >>> latest kernel from Robert Nelson's repo. Any suggestions? I'll try >>> removing some of the patches to see if it fixes this behavior. I >> have a >>> feeling I know which one is doing it. >>> >>> Thanks. >>> >>> output from running patch.sh with source pulled from >>> https://github.com/beagleboard/kernel/tree/3.8 >>> >>> >> /home/bbuild/comp/kernel/patches/adc/0017-IIO-ADC-ti_adc-Fix-1st-sample-read.patch: >>> applied >>> >>> Just in case, I built and installed the kernel and the same behavior >>> persisted. >>> >>> root@rbone:/# uname -a >>> Linux rbone 3.8.13-00737-g7dfad77 #1 SMP Sun Mar 30 22:11:44 EDT 2014 >>> armv7l GNU/Linux >>> >>> gpio30 is connected to AIN4 using a voltage divider >>> >>> root@rbone:/# cd /sys/class/gpio/ >>> root@rbone:/sys/class/gpio# echo 30 > export >>> root@rbone:/sys/class/gpio# echo BB-ADC > >> /sys/devices/bone_capemgr.9/slots >>> root@rbone:/sys/class/gpio# cd /sys/devices/ocp.3/helper.11/ >>> root@rbone:/sys/devices/ocp.3/helper.11# echo out > >>> /sys/class/gpio/gpio30/direction >>> >>> root@rbone:/sys/devices/ocp.3/helper.11# echo 1 > >>> /sys/class/gpio/gpio30/value >>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>> 1460 >>> >>> root@rbone:/sys/devices/ocp.3/helper.11# echo 0 > >>> /sys/class/gpio/gpio30/value >>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>> 0 >>> >>> root@rbone:/sys/devices/ocp.3/helper.11# grep . AIN[0-3] AIN[5-7] >>> AIN0:1550 >>> AIN1:1213 >>> AIN2:1485 >>> AIN3:795 >>> AIN5:513 >>> AIN6:744 >>> AIN7:1698 >>> >>> root@rbone:/sys/devices/ocp.3/helper.11# echo 1 > >>> /sys/class/gpio/gpio30/value >>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>> 0 >>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>> 0 >>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>> 0 >>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>> 0 >>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>> 0 >>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>> 0 >>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>> 1460 >>> >>> On 3/30/2014 9:16 AM, Zubair Lutfullah wrote: >>>> >> https://github.com/beagleboard/kernel/blob/3.8/patches/adc/0017-IIO-ADC-ti_adc-Fix-1st-sample-read.patch >>>> >>>> IIRC, this patch fixes this issue >>>> >>>> Can you compile the kernel from the sources and check? >>>> https://github.com/beagleboard/kernel/tree/3.8 >>>> >>>> Regards >>>> ZubairLK >>>> >>>> On Sun, Mar 30, 2014 at 7:04 AM, Rob Mosher <nyt-fuEpAR7jH0UNb0vsIHg089HuzzzSOjJt@public.gmane.org >>>> <mailto:nyt-fuEpAR7jH0UNb0vsIHg089HuzzzSOjJt@public.gmane.org>> wrote: >>>> >>>> Just a note, the same behavior persists with BB-ADC dtb and >>>> reading from in_voltage4_raw >>>> >>>> >>>> On 3/30/2014 12:30 AM, Rob Mosher wrote: >>>> >>>> Hello fine developers, >>>> >>>> It seems I've stumbled upon a problem while developing a >> full >>>> featured Ruby gem for the Beaglebone. >>>> >>>> It seems a patch included in the beaglebone kernel causes >> some >>>> issues while reading analog inputs. Apparently the samples >>>> get backlogged by the number of adc pins in use. I'm not >> sure >>>> which patch exactly as there are a number that affect adc >>>> buffering and I'm not currently setup for kernel building, >>>> however the below output should detail the problem. >>>> >>>> Using the official Debian image. >>>> Linux rbone 3.8.13-bone43 #1 SMP Wed Mar 26 14:21:39 UTC >> 2014 >>>> armv7l GNU/Linux >>>> >>>> Distributor ID: Debian >>>> Description: Debian GNU/Linux 7.4 (wheezy) >>>> Release: 7.4 >>>> Codename: wheezy >>>> >>>> root@rbone:~# echo cape-bone-iio > >>>> /sys/devices/bone_capemgr.9/slots >>>> >>>> This is the normal and expected behavior. >>>> >>>> 1.8v applied to AIN4 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1798 >>>> >>>> 0v applied to AIN4 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> >>>> 1.8v applied to AIN4 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1798 >>>> >>>> 0v applied to AIN4 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> >>>> So far working as intended.... Now reading from the other >> pins. >>>> >>>> root@rbone:/sys/devices/ocp.3/helper.12# grep . AIN[0-3] >> AIN[5-7] >>>> AIN0:1563 >>>> AIN1:1221 >>>> AIN2:1487 >>>> AIN3:789 >>>> AIN5:514 >>>> AIN6:743 >>>> AIN7:1698 >>>> >>>> Now applying 1.8v to AIN4 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1798 >>>> >>>> Now applying 0v to AIN4 >>>> >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1460 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1798 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1798 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1460 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1460 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1460 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> >>>> >>>> >>>> And another example, showing relation to the number of pins >> in >>>> use. >>>> >>>> 1.8v to AIN4 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1460 >>>> root@rbone:/sys/devices/ocp.3/helper.12# grep . AIN[0-3] >>>> AIN0:1697 >>>> AIN1:1298 >>>> AIN2:1524 >>>> AIN3:816 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1798 >>>> >>>> 0v to AIN4 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1798 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1460 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1460 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1460 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> >>>> 1.8v to AIN4 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1798 >>>> >>>> -- Rob Mosher >>>> Senior Network and Software Engineer >>>> Hurricane Electric / AS6939 >>>> >>>> >>>> >>>> >>>> >>> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-iio" in >> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html > ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ti_am33x_adc sampling bugs @ 2014-03-31 16:47 ` Rob Mosher 0 siblings, 0 replies; 14+ messages in thread From: Rob Mosher @ 2014-03-31 16:47 UTC (permalink / raw) To: Jonathan Cameron, Zubair Lutfullah Cc: Sebastian Andrzej Siewior, robertcnelson, Samuel Ortiz, Dmitry Torokhov, Felipe Balbi, linux-iio, linux-input, Lee Jones I believe the AIN files came from 0020-iio-ti_am335x_adc-Add-IIO-map-interface.patch. The bug is the same reading from in_voltageX_raw files. On 3/31/2014 12:14 PM, Jonathan Cameron wrote: > > > On March 31, 2014 9:17:53 AM GMT+01:00, Rob Mosher <nyt@countercultured.net> wrote: >> The following patches were removed and behavior returned to normal. >> >> 0019-iio-ti_am335x_adc-Add-continuous-sampling-and-trigge.patch >> 0020-iio-ti_am335x_adc-Add-IIO-map-interface.patch >> >> Once 19 was re-applied, the bug returned. >> >> It would appear that patch19 is the problem. On an unrelated note, the >> >> continuous sampling patch seems to still be missing the mode file to >> tell it to sample continuously or oneshot in the sysfs directory as >> referenced at >> http://processors.wiki.ti.com/index.php/AM335x_ADC_Driver%27s_Guide. > Someone should update that wiki page. > Such an attribute was not and will not be > part of the mainline kernel ABI. Drivers can play fast and loose in staging but to move > out the ABI must conform to existing definitions or be proposed reviewed and accepted. > > I am somewhat confused. Where did the AIN sysfs attributes come from? > >> Maybe this should be moved to the beta kernel until stable? > >> >> Cheers. >> >> On 3/31/2014 12:04 AM, Rob Mosher wrote: >>> (sorry for the duplicate, got bounces due to HTML encoding) >>> >>> The specified patch is already included. The system was running the >>> latest kernel from Robert Nelson's repo. Any suggestions? I'll try >>> removing some of the patches to see if it fixes this behavior. I >> have a >>> feeling I know which one is doing it. >>> >>> Thanks. >>> >>> output from running patch.sh with source pulled from >>> https://github.com/beagleboard/kernel/tree/3.8 >>> >>> >> /home/bbuild/comp/kernel/patches/adc/0017-IIO-ADC-ti_adc-Fix-1st-sample-read.patch: >>> applied >>> >>> Just in case, I built and installed the kernel and the same behavior >>> persisted. >>> >>> root@rbone:/# uname -a >>> Linux rbone 3.8.13-00737-g7dfad77 #1 SMP Sun Mar 30 22:11:44 EDT 2014 >>> armv7l GNU/Linux >>> >>> gpio30 is connected to AIN4 using a voltage divider >>> >>> root@rbone:/# cd /sys/class/gpio/ >>> root@rbone:/sys/class/gpio# echo 30 > export >>> root@rbone:/sys/class/gpio# echo BB-ADC > >> /sys/devices/bone_capemgr.9/slots >>> root@rbone:/sys/class/gpio# cd /sys/devices/ocp.3/helper.11/ >>> root@rbone:/sys/devices/ocp.3/helper.11# echo out > >>> /sys/class/gpio/gpio30/direction >>> >>> root@rbone:/sys/devices/ocp.3/helper.11# echo 1 > >>> /sys/class/gpio/gpio30/value >>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>> 1460 >>> >>> root@rbone:/sys/devices/ocp.3/helper.11# echo 0 > >>> /sys/class/gpio/gpio30/value >>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>> 0 >>> >>> root@rbone:/sys/devices/ocp.3/helper.11# grep . AIN[0-3] AIN[5-7] >>> AIN0:1550 >>> AIN1:1213 >>> AIN2:1485 >>> AIN3:795 >>> AIN5:513 >>> AIN6:744 >>> AIN7:1698 >>> >>> root@rbone:/sys/devices/ocp.3/helper.11# echo 1 > >>> /sys/class/gpio/gpio30/value >>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>> 0 >>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>> 0 >>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>> 0 >>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>> 0 >>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>> 0 >>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>> 0 >>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>> 1460 >>> >>> On 3/30/2014 9:16 AM, Zubair Lutfullah wrote: >>>> >> https://github.com/beagleboard/kernel/blob/3.8/patches/adc/0017-IIO-ADC-ti_adc-Fix-1st-sample-read.patch >>>> >>>> IIRC, this patch fixes this issue >>>> >>>> Can you compile the kernel from the sources and check? >>>> https://github.com/beagleboard/kernel/tree/3.8 >>>> >>>> Regards >>>> ZubairLK >>>> >>>> On Sun, Mar 30, 2014 at 7:04 AM, Rob Mosher <nyt@countercultured.net >>>> <mailto:nyt@countercultured.net>> wrote: >>>> >>>> Just a note, the same behavior persists with BB-ADC dtb and >>>> reading from in_voltage4_raw >>>> >>>> >>>> On 3/30/2014 12:30 AM, Rob Mosher wrote: >>>> >>>> Hello fine developers, >>>> >>>> It seems I've stumbled upon a problem while developing a >> full >>>> featured Ruby gem for the Beaglebone. >>>> >>>> It seems a patch included in the beaglebone kernel causes >> some >>>> issues while reading analog inputs. Apparently the samples >>>> get backlogged by the number of adc pins in use. I'm not >> sure >>>> which patch exactly as there are a number that affect adc >>>> buffering and I'm not currently setup for kernel building, >>>> however the below output should detail the problem. >>>> >>>> Using the official Debian image. >>>> Linux rbone 3.8.13-bone43 #1 SMP Wed Mar 26 14:21:39 UTC >> 2014 >>>> armv7l GNU/Linux >>>> >>>> Distributor ID: Debian >>>> Description: Debian GNU/Linux 7.4 (wheezy) >>>> Release: 7.4 >>>> Codename: wheezy >>>> >>>> root@rbone:~# echo cape-bone-iio > >>>> /sys/devices/bone_capemgr.9/slots >>>> >>>> This is the normal and expected behavior. >>>> >>>> 1.8v applied to AIN4 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1798 >>>> >>>> 0v applied to AIN4 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> >>>> 1.8v applied to AIN4 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1798 >>>> >>>> 0v applied to AIN4 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> >>>> So far working as intended.... Now reading from the other >> pins. >>>> >>>> root@rbone:/sys/devices/ocp.3/helper.12# grep . AIN[0-3] >> AIN[5-7] >>>> AIN0:1563 >>>> AIN1:1221 >>>> AIN2:1487 >>>> AIN3:789 >>>> AIN5:514 >>>> AIN6:743 >>>> AIN7:1698 >>>> >>>> Now applying 1.8v to AIN4 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1798 >>>> >>>> Now applying 0v to AIN4 >>>> >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1460 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1798 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1798 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1460 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1460 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1460 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> >>>> >>>> >>>> And another example, showing relation to the number of pins >> in >>>> use. >>>> >>>> 1.8v to AIN4 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1460 >>>> root@rbone:/sys/devices/ocp.3/helper.12# grep . AIN[0-3] >>>> AIN0:1697 >>>> AIN1:1298 >>>> AIN2:1524 >>>> AIN3:816 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1798 >>>> >>>> 0v to AIN4 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1798 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1460 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1460 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1460 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> >>>> 1.8v to AIN4 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 0 >>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>> 1798 >>>> >>>> -- Rob Mosher >>>> Senior Network and Software Engineer >>>> Hurricane Electric / AS6939 >>>> >>>> >>>> >>>> >>>> >>> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-iio" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html > ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ti_am33x_adc sampling bugs 2014-03-31 16:47 ` Rob Mosher (?) @ 2014-03-31 20:59 ` Jonathan Cameron 2014-03-31 21:03 ` Rob Mosher -1 siblings, 1 reply; 14+ messages in thread From: Jonathan Cameron @ 2014-03-31 20:59 UTC (permalink / raw) To: Rob Mosher, Zubair Lutfullah Cc: Sebastian Andrzej Siewior, robertcnelson, Samuel Ortiz, Dmitry Torokhov, Felipe Balbi, linux-iio, linux-input, Lee Jones On March 31, 2014 5:47:54 PM GMT+01:00, Rob Mosher <nyt@countercultured.net> wrote: >I believe the AIN files came from >0020-iio-ti_am335x_adc-Add-IIO-map-interface.patch. Ouch that is an 'unusual' patch... No more recent patches in mainline appear related to what you are seeing unfortunately. >The bug is the >same >reading from in_voltageX_raw files. > >On 3/31/2014 12:14 PM, Jonathan Cameron wrote: >> >> >> On March 31, 2014 9:17:53 AM GMT+01:00, Rob Mosher ><nyt@countercultured.net> wrote: >>> The following patches were removed and behavior returned to normal. >>> >>> 0019-iio-ti_am335x_adc-Add-continuous-sampling-and-trigge.patch >>> 0020-iio-ti_am335x_adc-Add-IIO-map-interface.patch >>> >>> Once 19 was re-applied, the bug returned. >>> >>> It would appear that patch19 is the problem. On an unrelated note, >the >>> >>> continuous sampling patch seems to still be missing the mode file to >>> tell it to sample continuously or oneshot in the sysfs directory as >>> referenced at >>> http://processors.wiki.ti.com/index.php/AM335x_ADC_Driver%27s_Guide. >> Someone should update that wiki page. >> Such an attribute was not and will not be >> part of the mainline kernel ABI. Drivers can play fast and loose in >staging but to move >> out the ABI must conform to existing definitions or be proposed >reviewed and accepted. >> >> I am somewhat confused. Where did the AIN sysfs attributes come from? >> >>> Maybe this should be moved to the beta kernel until stable? >> >>> >>> Cheers. >>> >>> On 3/31/2014 12:04 AM, Rob Mosher wrote: >>>> (sorry for the duplicate, got bounces due to HTML encoding) >>>> >>>> The specified patch is already included. The system was running >the >>>> latest kernel from Robert Nelson's repo. Any suggestions? I'll >try >>>> removing some of the patches to see if it fixes this behavior. I >>> have a >>>> feeling I know which one is doing it. >>>> >>>> Thanks. >>>> >>>> output from running patch.sh with source pulled from >>>> https://github.com/beagleboard/kernel/tree/3.8 >>>> >>>> >>> >/home/bbuild/comp/kernel/patches/adc/0017-IIO-ADC-ti_adc-Fix-1st-sample-read.patch: >>>> applied >>>> >>>> Just in case, I built and installed the kernel and the same >behavior >>>> persisted. >>>> >>>> root@rbone:/# uname -a >>>> Linux rbone 3.8.13-00737-g7dfad77 #1 SMP Sun Mar 30 22:11:44 EDT >2014 >>>> armv7l GNU/Linux >>>> >>>> gpio30 is connected to AIN4 using a voltage divider >>>> >>>> root@rbone:/# cd /sys/class/gpio/ >>>> root@rbone:/sys/class/gpio# echo 30 > export >>>> root@rbone:/sys/class/gpio# echo BB-ADC > >>> /sys/devices/bone_capemgr.9/slots >>>> root@rbone:/sys/class/gpio# cd /sys/devices/ocp.3/helper.11/ >>>> root@rbone:/sys/devices/ocp.3/helper.11# echo out > >>>> /sys/class/gpio/gpio30/direction >>>> >>>> root@rbone:/sys/devices/ocp.3/helper.11# echo 1 > >>>> /sys/class/gpio/gpio30/value >>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>> 1460 >>>> >>>> root@rbone:/sys/devices/ocp.3/helper.11# echo 0 > >>>> /sys/class/gpio/gpio30/value >>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>> 0 >>>> >>>> root@rbone:/sys/devices/ocp.3/helper.11# grep . AIN[0-3] AIN[5-7] >>>> AIN0:1550 >>>> AIN1:1213 >>>> AIN2:1485 >>>> AIN3:795 >>>> AIN5:513 >>>> AIN6:744 >>>> AIN7:1698 >>>> >>>> root@rbone:/sys/devices/ocp.3/helper.11# echo 1 > >>>> /sys/class/gpio/gpio30/value >>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>> 0 >>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>> 0 >>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>> 0 >>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>> 0 >>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>> 0 >>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>> 0 >>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>> 1460 >>>> >>>> On 3/30/2014 9:16 AM, Zubair Lutfullah wrote: >>>>> >>> >https://github.com/beagleboard/kernel/blob/3.8/patches/adc/0017-IIO-ADC-ti_adc-Fix-1st-sample-read.patch >>>>> >>>>> IIRC, this patch fixes this issue >>>>> >>>>> Can you compile the kernel from the sources and check? >>>>> https://github.com/beagleboard/kernel/tree/3.8 >>>>> >>>>> Regards >>>>> ZubairLK >>>>> >>>>> On Sun, Mar 30, 2014 at 7:04 AM, Rob Mosher ><nyt@countercultured.net >>>>> <mailto:nyt@countercultured.net>> wrote: >>>>> >>>>> Just a note, the same behavior persists with BB-ADC dtb and >>>>> reading from in_voltage4_raw >>>>> >>>>> >>>>> On 3/30/2014 12:30 AM, Rob Mosher wrote: >>>>> >>>>> Hello fine developers, >>>>> >>>>> It seems I've stumbled upon a problem while developing a >>> full >>>>> featured Ruby gem for the Beaglebone. >>>>> >>>>> It seems a patch included in the beaglebone kernel causes >>> some >>>>> issues while reading analog inputs. Apparently the >samples >>>>> get backlogged by the number of adc pins in use. I'm not >>> sure >>>>> which patch exactly as there are a number that affect adc >>>>> buffering and I'm not currently setup for kernel >building, >>>>> however the below output should detail the problem. >>>>> >>>>> Using the official Debian image. >>>>> Linux rbone 3.8.13-bone43 #1 SMP Wed Mar 26 14:21:39 UTC >>> 2014 >>>>> armv7l GNU/Linux >>>>> >>>>> Distributor ID: Debian >>>>> Description: Debian GNU/Linux 7.4 (wheezy) >>>>> Release: 7.4 >>>>> Codename: wheezy >>>>> >>>>> root@rbone:~# echo cape-bone-iio > >>>>> /sys/devices/bone_capemgr.9/slots >>>>> >>>>> This is the normal and expected behavior. >>>>> >>>>> 1.8v applied to AIN4 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 1798 >>>>> >>>>> 0v applied to AIN4 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 0 >>>>> >>>>> 1.8v applied to AIN4 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 1798 >>>>> >>>>> 0v applied to AIN4 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 0 >>>>> >>>>> So far working as intended.... Now reading from the >other >>> pins. >>>>> >>>>> root@rbone:/sys/devices/ocp.3/helper.12# grep . AIN[0-3] >>> AIN[5-7] >>>>> AIN0:1563 >>>>> AIN1:1221 >>>>> AIN2:1487 >>>>> AIN3:789 >>>>> AIN5:514 >>>>> AIN6:743 >>>>> AIN7:1698 >>>>> >>>>> Now applying 1.8v to AIN4 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 0 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 0 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 0 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 0 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 0 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 0 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 1798 >>>>> >>>>> Now applying 0v to AIN4 >>>>> >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 1460 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 1798 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 1798 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 1460 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 1460 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 1460 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 0 >>>>> >>>>> >>>>> >>>>> And another example, showing relation to the number of >pins >>> in >>>>> use. >>>>> >>>>> 1.8v to AIN4 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 1460 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# grep . AIN[0-3] >>>>> AIN0:1697 >>>>> AIN1:1298 >>>>> AIN2:1524 >>>>> AIN3:816 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 1798 >>>>> >>>>> 0v to AIN4 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 1798 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 1460 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 1460 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 1460 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 0 >>>>> >>>>> 1.8v to AIN4 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 0 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 0 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 0 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 0 >>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>> 1798 >>>>> >>>>> -- Rob Mosher >>>>> Senior Network and Software Engineer >>>>> Hurricane Electric / AS6939 >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>> -- >>> To unsubscribe from this list: send the line "unsubscribe linux-iio" >in >>> the body of a message to majordomo@vger.kernel.org >>> More majordomo info at http://vger.kernel.org/majordomo-info.html >> -- Sent from my Android phone with K-9 Mail. Please excuse my brevity. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ti_am33x_adc sampling bugs 2014-03-31 20:59 ` Jonathan Cameron @ 2014-03-31 21:03 ` Rob Mosher 2014-03-31 21:20 ` Jonathan Cameron 0 siblings, 1 reply; 14+ messages in thread From: Rob Mosher @ 2014-03-31 21:03 UTC (permalink / raw) To: Jonathan Cameron, Zubair Lutfullah Cc: Sebastian Andrzej Siewior, robertcnelson, Samuel Ortiz, Dmitry Torokhov, Felipe Balbi, linux-iio, linux-input, Lee Jones I'm not quite aware of what's in mainline or not, this list was CC'd by Zubair Lutfullah who authored the patches in question. Hopefully he can provide more insight or a possible fix. 0019-iio-ti_am335x_adc-Add-continuous-sampling-and-trigge.patch Subject: [PATCH 19/21] iio: ti_am335x_adc: Add continuous sampling and trigger support Previously the driver had only one-shot reading functionality. This patch adds triggered buffer support to the driver. A buffer of samples can now be read via /dev/iio. On 3/31/2014 4:59 PM, Jonathan Cameron wrote: > > > On March 31, 2014 5:47:54 PM GMT+01:00, Rob Mosher <nyt@countercultured.net> wrote: >> I believe the AIN files came from >> 0020-iio-ti_am335x_adc-Add-IIO-map-interface.patch. > > Ouch that is an 'unusual' patch... No more recent patches in mainline appear related to what you are seeing unfortunately. > > > >> The bug is the >> same >> reading from in_voltageX_raw files. >> >> On 3/31/2014 12:14 PM, Jonathan Cameron wrote: >>> >>> >>> On March 31, 2014 9:17:53 AM GMT+01:00, Rob Mosher >> <nyt@countercultured.net> wrote: >>>> The following patches were removed and behavior returned to normal. >>>> >>>> 0019-iio-ti_am335x_adc-Add-continuous-sampling-and-trigge.patch >>>> 0020-iio-ti_am335x_adc-Add-IIO-map-interface.patch >>>> >>>> Once 19 was re-applied, the bug returned. >>>> >>>> It would appear that patch19 is the problem. On an unrelated note, >> the >>>> >>>> continuous sampling patch seems to still be missing the mode file to >>>> tell it to sample continuously or oneshot in the sysfs directory as >>>> referenced at >>>> http://processors.wiki.ti.com/index.php/AM335x_ADC_Driver%27s_Guide. >>> Someone should update that wiki page. >>> Such an attribute was not and will not be >>> part of the mainline kernel ABI. Drivers can play fast and loose in >> staging but to move >>> out the ABI must conform to existing definitions or be proposed >> reviewed and accepted. >>> >>> I am somewhat confused. Where did the AIN sysfs attributes come from? >>> >>>> Maybe this should be moved to the beta kernel until stable? >>> >>>> >>>> Cheers. >>>> >>>> On 3/31/2014 12:04 AM, Rob Mosher wrote: >>>>> (sorry for the duplicate, got bounces due to HTML encoding) >>>>> >>>>> The specified patch is already included. The system was running >> the >>>>> latest kernel from Robert Nelson's repo. Any suggestions? I'll >> try >>>>> removing some of the patches to see if it fixes this behavior. I >>>> have a >>>>> feeling I know which one is doing it. >>>>> >>>>> Thanks. >>>>> >>>>> output from running patch.sh with source pulled from >>>>> https://github.com/beagleboard/kernel/tree/3.8 >>>>> >>>>> >>>> >> /home/bbuild/comp/kernel/patches/adc/0017-IIO-ADC-ti_adc-Fix-1st-sample-read.patch: >>>>> applied >>>>> >>>>> Just in case, I built and installed the kernel and the same >> behavior >>>>> persisted. >>>>> >>>>> root@rbone:/# uname -a >>>>> Linux rbone 3.8.13-00737-g7dfad77 #1 SMP Sun Mar 30 22:11:44 EDT >> 2014 >>>>> armv7l GNU/Linux >>>>> >>>>> gpio30 is connected to AIN4 using a voltage divider >>>>> >>>>> root@rbone:/# cd /sys/class/gpio/ >>>>> root@rbone:/sys/class/gpio# echo 30 > export >>>>> root@rbone:/sys/class/gpio# echo BB-ADC > >>>> /sys/devices/bone_capemgr.9/slots >>>>> root@rbone:/sys/class/gpio# cd /sys/devices/ocp.3/helper.11/ >>>>> root@rbone:/sys/devices/ocp.3/helper.11# echo out > >>>>> /sys/class/gpio/gpio30/direction >>>>> >>>>> root@rbone:/sys/devices/ocp.3/helper.11# echo 1 > >>>>> /sys/class/gpio/gpio30/value >>>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>>> 1460 >>>>> >>>>> root@rbone:/sys/devices/ocp.3/helper.11# echo 0 > >>>>> /sys/class/gpio/gpio30/value >>>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>>> 0 >>>>> >>>>> root@rbone:/sys/devices/ocp.3/helper.11# grep . AIN[0-3] AIN[5-7] >>>>> AIN0:1550 >>>>> AIN1:1213 >>>>> AIN2:1485 >>>>> AIN3:795 >>>>> AIN5:513 >>>>> AIN6:744 >>>>> AIN7:1698 >>>>> >>>>> root@rbone:/sys/devices/ocp.3/helper.11# echo 1 > >>>>> /sys/class/gpio/gpio30/value >>>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>>> 0 >>>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>>> 0 >>>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>>> 0 >>>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>>> 0 >>>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>>> 0 >>>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>>> 0 >>>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>>> 1460 >>>>> >>>>> On 3/30/2014 9:16 AM, Zubair Lutfullah wrote: >>>>>> >>>> >> https://github.com/beagleboard/kernel/blob/3.8/patches/adc/0017-IIO-ADC-ti_adc-Fix-1st-sample-read.patch >>>>>> >>>>>> IIRC, this patch fixes this issue >>>>>> >>>>>> Can you compile the kernel from the sources and check? >>>>>> https://github.com/beagleboard/kernel/tree/3.8 >>>>>> >>>>>> Regards >>>>>> ZubairLK >>>>>> >>>>>> On Sun, Mar 30, 2014 at 7:04 AM, Rob Mosher >> <nyt@countercultured.net >>>>>> <mailto:nyt@countercultured.net>> wrote: >>>>>> >>>>>> Just a note, the same behavior persists with BB-ADC dtb and >>>>>> reading from in_voltage4_raw >>>>>> >>>>>> >>>>>> On 3/30/2014 12:30 AM, Rob Mosher wrote: >>>>>> >>>>>> Hello fine developers, >>>>>> >>>>>> It seems I've stumbled upon a problem while developing a >>>> full >>>>>> featured Ruby gem for the Beaglebone. >>>>>> >>>>>> It seems a patch included in the beaglebone kernel causes >>>> some >>>>>> issues while reading analog inputs. Apparently the >> samples >>>>>> get backlogged by the number of adc pins in use. I'm not >>>> sure >>>>>> which patch exactly as there are a number that affect adc >>>>>> buffering and I'm not currently setup for kernel >> building, >>>>>> however the below output should detail the problem. >>>>>> >>>>>> Using the official Debian image. >>>>>> Linux rbone 3.8.13-bone43 #1 SMP Wed Mar 26 14:21:39 UTC >>>> 2014 >>>>>> armv7l GNU/Linux >>>>>> >>>>>> Distributor ID: Debian >>>>>> Description: Debian GNU/Linux 7.4 (wheezy) >>>>>> Release: 7.4 >>>>>> Codename: wheezy >>>>>> >>>>>> root@rbone:~# echo cape-bone-iio > >>>>>> /sys/devices/bone_capemgr.9/slots >>>>>> >>>>>> This is the normal and expected behavior. >>>>>> >>>>>> 1.8v applied to AIN4 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 1798 >>>>>> >>>>>> 0v applied to AIN4 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 0 >>>>>> >>>>>> 1.8v applied to AIN4 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 1798 >>>>>> >>>>>> 0v applied to AIN4 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 0 >>>>>> >>>>>> So far working as intended.... Now reading from the >> other >>>> pins. >>>>>> >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# grep . AIN[0-3] >>>> AIN[5-7] >>>>>> AIN0:1563 >>>>>> AIN1:1221 >>>>>> AIN2:1487 >>>>>> AIN3:789 >>>>>> AIN5:514 >>>>>> AIN6:743 >>>>>> AIN7:1698 >>>>>> >>>>>> Now applying 1.8v to AIN4 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 0 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 0 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 0 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 0 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 0 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 0 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 1798 >>>>>> >>>>>> Now applying 0v to AIN4 >>>>>> >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 1460 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 1798 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 1798 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 1460 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 1460 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 1460 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 0 >>>>>> >>>>>> >>>>>> >>>>>> And another example, showing relation to the number of >> pins >>>> in >>>>>> use. >>>>>> >>>>>> 1.8v to AIN4 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 1460 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# grep . AIN[0-3] >>>>>> AIN0:1697 >>>>>> AIN1:1298 >>>>>> AIN2:1524 >>>>>> AIN3:816 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 1798 >>>>>> >>>>>> 0v to AIN4 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 1798 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 1460 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 1460 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 1460 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 0 >>>>>> >>>>>> 1.8v to AIN4 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 0 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 0 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 0 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 0 >>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>> 1798 >>>>>> >>>>>> -- Rob Mosher >>>>>> Senior Network and Software Engineer >>>>>> Hurricane Electric / AS6939 >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>> -- >>>> To unsubscribe from this list: send the line "unsubscribe linux-iio" >> in >>>> the body of a message to majordomo@vger.kernel.org >>>> More majordomo info at http://vger.kernel.org/majordomo-info.html >>> > ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ti_am33x_adc sampling bugs 2014-03-31 21:03 ` Rob Mosher @ 2014-03-31 21:20 ` Jonathan Cameron [not found] ` <c21be082-4ad8-46e2-a5f3-ad29b4239d94-2ueSQiBKiTY7tOexoI0I+QC/G2K4zDHf@public.gmane.org> 0 siblings, 1 reply; 14+ messages in thread From: Jonathan Cameron @ 2014-03-31 21:20 UTC (permalink / raw) To: Rob Mosher, Zubair Lutfullah Cc: Sebastian Andrzej Siewior, robertcnelson, Samuel Ortiz, Dmitry Torokhov, Felipe Balbi, linux-iio, linux-input, Lee Jones On March 31, 2014 10:03:12 PM GMT+01:00, Rob Mosher <nyt@countercultured.net> wrote: >I'm not quite aware of what's in mainline or not, this list was CC'd by > Sure. I just thought I would save anyone else who was going to look the effort! >Zubair Lutfullah who authored the patches in question. Hopefully he >can >provide more insight or a possible fix. Indeed. > >0019-iio-ti_am335x_adc-Add-continuous-sampling-and-trigge.patch >Subject: [PATCH 19/21] iio: ti_am335x_adc: Add continuous sampling and > trigger support > >Previously the driver had only one-shot reading functionality. >This patch adds triggered buffer support to the driver. >A buffer of samples can now be read via /dev/iio. > > >On 3/31/2014 4:59 PM, Jonathan Cameron wrote: >> >> >> On March 31, 2014 5:47:54 PM GMT+01:00, Rob Mosher ><nyt@countercultured.net> wrote: >>> I believe the AIN files came from >>> 0020-iio-ti_am335x_adc-Add-IIO-map-interface.patch. >> >> Ouch that is an 'unusual' patch... No more recent patches in mainline >appear related to what you are seeing unfortunately. >> >> >> >>> The bug is the >>> same >>> reading from in_voltageX_raw files. >>> >>> On 3/31/2014 12:14 PM, Jonathan Cameron wrote: >>>> >>>> >>>> On March 31, 2014 9:17:53 AM GMT+01:00, Rob Mosher >>> <nyt@countercultured.net> wrote: >>>>> The following patches were removed and behavior returned to >normal. >>>>> >>>>> 0019-iio-ti_am335x_adc-Add-continuous-sampling-and-trigge.patch >>>>> 0020-iio-ti_am335x_adc-Add-IIO-map-interface.patch >>>>> >>>>> Once 19 was re-applied, the bug returned. >>>>> >>>>> It would appear that patch19 is the problem. On an unrelated >note, >>> the >>>>> >>>>> continuous sampling patch seems to still be missing the mode file >to >>>>> tell it to sample continuously or oneshot in the sysfs directory >as >>>>> referenced at >>>>> >http://processors.wiki.ti.com/index.php/AM335x_ADC_Driver%27s_Guide. >>>> Someone should update that wiki page. >>>> Such an attribute was not and will not be >>>> part of the mainline kernel ABI. Drivers can play fast and loose >in >>> staging but to move >>>> out the ABI must conform to existing definitions or be proposed >>> reviewed and accepted. >>>> >>>> I am somewhat confused. Where did the AIN sysfs attributes come >from? >>>> >>>>> Maybe this should be moved to the beta kernel until stable? >>>> >>>>> >>>>> Cheers. >>>>> >>>>> On 3/31/2014 12:04 AM, Rob Mosher wrote: >>>>>> (sorry for the duplicate, got bounces due to HTML encoding) >>>>>> >>>>>> The specified patch is already included. The system was running >>> the >>>>>> latest kernel from Robert Nelson's repo. Any suggestions? I'll >>> try >>>>>> removing some of the patches to see if it fixes this behavior. I >>>>> have a >>>>>> feeling I know which one is doing it. >>>>>> >>>>>> Thanks. >>>>>> >>>>>> output from running patch.sh with source pulled from >>>>>> https://github.com/beagleboard/kernel/tree/3.8 >>>>>> >>>>>> >>>>> >>> >/home/bbuild/comp/kernel/patches/adc/0017-IIO-ADC-ti_adc-Fix-1st-sample-read.patch: >>>>>> applied >>>>>> >>>>>> Just in case, I built and installed the kernel and the same >>> behavior >>>>>> persisted. >>>>>> >>>>>> root@rbone:/# uname -a >>>>>> Linux rbone 3.8.13-00737-g7dfad77 #1 SMP Sun Mar 30 22:11:44 EDT >>> 2014 >>>>>> armv7l GNU/Linux >>>>>> >>>>>> gpio30 is connected to AIN4 using a voltage divider >>>>>> >>>>>> root@rbone:/# cd /sys/class/gpio/ >>>>>> root@rbone:/sys/class/gpio# echo 30 > export >>>>>> root@rbone:/sys/class/gpio# echo BB-ADC > >>>>> /sys/devices/bone_capemgr.9/slots >>>>>> root@rbone:/sys/class/gpio# cd /sys/devices/ocp.3/helper.11/ >>>>>> root@rbone:/sys/devices/ocp.3/helper.11# echo out > >>>>>> /sys/class/gpio/gpio30/direction >>>>>> >>>>>> root@rbone:/sys/devices/ocp.3/helper.11# echo 1 > >>>>>> /sys/class/gpio/gpio30/value >>>>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>>>> 1460 >>>>>> >>>>>> root@rbone:/sys/devices/ocp.3/helper.11# echo 0 > >>>>>> /sys/class/gpio/gpio30/value >>>>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>>>> 0 >>>>>> >>>>>> root@rbone:/sys/devices/ocp.3/helper.11# grep . AIN[0-3] AIN[5-7] >>>>>> AIN0:1550 >>>>>> AIN1:1213 >>>>>> AIN2:1485 >>>>>> AIN3:795 >>>>>> AIN5:513 >>>>>> AIN6:744 >>>>>> AIN7:1698 >>>>>> >>>>>> root@rbone:/sys/devices/ocp.3/helper.11# echo 1 > >>>>>> /sys/class/gpio/gpio30/value >>>>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>>>> 0 >>>>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>>>> 0 >>>>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>>>> 0 >>>>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>>>> 0 >>>>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>>>> 0 >>>>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>>>> 0 >>>>>> root@rbone:/sys/devices/ocp.3/helper.11# cat AIN4 >>>>>> 1460 >>>>>> >>>>>> On 3/30/2014 9:16 AM, Zubair Lutfullah wrote: >>>>>>> >>>>> >>> >https://github.com/beagleboard/kernel/blob/3.8/patches/adc/0017-IIO-ADC-ti_adc-Fix-1st-sample-read.patch >>>>>>> >>>>>>> IIRC, this patch fixes this issue >>>>>>> >>>>>>> Can you compile the kernel from the sources and check? >>>>>>> https://github.com/beagleboard/kernel/tree/3.8 >>>>>>> >>>>>>> Regards >>>>>>> ZubairLK >>>>>>> >>>>>>> On Sun, Mar 30, 2014 at 7:04 AM, Rob Mosher >>> <nyt@countercultured.net >>>>>>> <mailto:nyt@countercultured.net>> wrote: >>>>>>> >>>>>>> Just a note, the same behavior persists with BB-ADC dtb >and >>>>>>> reading from in_voltage4_raw >>>>>>> >>>>>>> >>>>>>> On 3/30/2014 12:30 AM, Rob Mosher wrote: >>>>>>> >>>>>>> Hello fine developers, >>>>>>> >>>>>>> It seems I've stumbled upon a problem while developing >a >>>>> full >>>>>>> featured Ruby gem for the Beaglebone. >>>>>>> >>>>>>> It seems a patch included in the beaglebone kernel >causes >>>>> some >>>>>>> issues while reading analog inputs. Apparently the >>> samples >>>>>>> get backlogged by the number of adc pins in use. I'm >not >>>>> sure >>>>>>> which patch exactly as there are a number that affect >adc >>>>>>> buffering and I'm not currently setup for kernel >>> building, >>>>>>> however the below output should detail the problem. >>>>>>> >>>>>>> Using the official Debian image. >>>>>>> Linux rbone 3.8.13-bone43 #1 SMP Wed Mar 26 14:21:39 >UTC >>>>> 2014 >>>>>>> armv7l GNU/Linux >>>>>>> >>>>>>> Distributor ID: Debian >>>>>>> Description: Debian GNU/Linux 7.4 (wheezy) >>>>>>> Release: 7.4 >>>>>>> Codename: wheezy >>>>>>> >>>>>>> root@rbone:~# echo cape-bone-iio > >>>>>>> /sys/devices/bone_capemgr.9/slots >>>>>>> >>>>>>> This is the normal and expected behavior. >>>>>>> >>>>>>> 1.8v applied to AIN4 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 1798 >>>>>>> >>>>>>> 0v applied to AIN4 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 0 >>>>>>> >>>>>>> 1.8v applied to AIN4 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 1798 >>>>>>> >>>>>>> 0v applied to AIN4 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 0 >>>>>>> >>>>>>> So far working as intended.... Now reading from the >>> other >>>>> pins. >>>>>>> >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# grep . >AIN[0-3] >>>>> AIN[5-7] >>>>>>> AIN0:1563 >>>>>>> AIN1:1221 >>>>>>> AIN2:1487 >>>>>>> AIN3:789 >>>>>>> AIN5:514 >>>>>>> AIN6:743 >>>>>>> AIN7:1698 >>>>>>> >>>>>>> Now applying 1.8v to AIN4 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 0 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 0 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 0 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 0 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 0 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 0 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 1798 >>>>>>> >>>>>>> Now applying 0v to AIN4 >>>>>>> >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 1460 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 1798 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 1798 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 1460 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 1460 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 1460 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 0 >>>>>>> >>>>>>> >>>>>>> >>>>>>> And another example, showing relation to the number of >>> pins >>>>> in >>>>>>> use. >>>>>>> >>>>>>> 1.8v to AIN4 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 1460 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# grep . >AIN[0-3] >>>>>>> AIN0:1697 >>>>>>> AIN1:1298 >>>>>>> AIN2:1524 >>>>>>> AIN3:816 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 1798 >>>>>>> >>>>>>> 0v to AIN4 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 1798 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 1460 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 1460 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 1460 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 0 >>>>>>> >>>>>>> 1.8v to AIN4 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 0 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 0 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 0 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 0 >>>>>>> root@rbone:/sys/devices/ocp.3/helper.12# cat AIN4 >>>>>>> 1798 >>>>>>> >>>>>>> -- Rob Mosher >>>>>>> Senior Network and Software Engineer >>>>>>> Hurricane Electric / AS6939 >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>> -- >>>>> To unsubscribe from this list: send the line "unsubscribe >linux-iio" >>> in >>>>> the body of a message to majordomo@vger.kernel.org >>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html >>>> >> -- Sent from my Android phone with K-9 Mail. Please excuse my brevity. ^ permalink raw reply [flat|nested] 14+ messages in thread
[parent not found: <c21be082-4ad8-46e2-a5f3-ad29b4239d94-2ueSQiBKiTY7tOexoI0I+QC/G2K4zDHf@public.gmane.org>]
* Re: ti_am33x_adc sampling bugs 2014-03-31 21:20 ` Jonathan Cameron @ 2014-04-01 5:42 ` Zubair Lutfullah : 0 siblings, 0 replies; 14+ messages in thread From: Zubair Lutfullah : @ 2014-04-01 5:42 UTC (permalink / raw) To: Jonathan Cameron Cc: Rob Mosher, Zubair Lutfullah, Sebastian Andrzej Siewior, robertcnelson-Re5JQEeQqe8AvxtiuMwx3w, Samuel Ortiz, Dmitry Torokhov, Felipe Balbi, linux-iio-u79uwXL29TY76Z2rM5mHXA, linux-input-u79uwXL29TY76Z2rM5mHXA, Lee Jones Sorry for taking this long to reply. The confusion here is due to vendor/mainline trees for the kernel. This discussion should have been carried out on https://github.com/beagleboard/kernel/issues instead of the kernel mailing lists. Sorry Jonathan. The IIO-map-interface patch is in the vendor tree for the Beaglebone. And it is not intended to be mainlined. Just like the other TI wiki stuff. But it used to make life a little easier before the IIO sysfs entries were fixed for the am335x ADC. The patch was kept as it is because of the ton of guides/wikis out there for the Beaglebone asking for AIN0/AIN7 pins. And iirc capemgr (another out of tree module which is being mainlined) used it. Which made it necessary to keep this. As far as patch 19 (Add continuous sampling) is concerned, I didn't observe it causing these bugs. But it is good that you have pointed them out. Thank-you. Could you please go through the patch and suggest a fix as well? Seems like a FIFO isn't cleared somewhere.. Hope this clears the confusion. Again, this discussion should have been carried out https://github.com/beagleboard/kernel/issues Not the kernel mailing list. Regards ZubairLK > ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ti_am33x_adc sampling bugs @ 2014-04-01 5:42 ` Zubair Lutfullah : 0 siblings, 0 replies; 14+ messages in thread From: Zubair Lutfullah : @ 2014-04-01 5:42 UTC (permalink / raw) To: Jonathan Cameron Cc: Rob Mosher, Zubair Lutfullah, Sebastian Andrzej Siewior, robertcnelson, Samuel Ortiz, Dmitry Torokhov, Felipe Balbi, linux-iio, linux-input, Lee Jones Sorry for taking this long to reply. The confusion here is due to vendor/mainline trees for the kernel. This discussion should have been carried out on https://github.com/beagleboard/kernel/issues instead of the kernel mailing lists. Sorry Jonathan. The IIO-map-interface patch is in the vendor tree for the Beaglebone. And it is not intended to be mainlined. Just like the other TI wiki stuff. But it used to make life a little easier before the IIO sysfs entries were fixed for the am335x ADC. The patch was kept as it is because of the ton of guides/wikis out there for the Beaglebone asking for AIN0/AIN7 pins. And iirc capemgr (another out of tree module which is being mainlined) used it. Which made it necessary to keep this. As far as patch 19 (Add continuous sampling) is concerned, I didn't observe it causing these bugs. But it is good that you have pointed them out. Thank-you. Could you please go through the patch and suggest a fix as well? Seems like a FIFO isn't cleared somewhere.. Hope this clears the confusion. Again, this discussion should have been carried out https://github.com/beagleboard/kernel/issues Not the kernel mailing list. Regards ZubairLK > ^ permalink raw reply [flat|nested] 14+ messages in thread
[parent not found: <20140401054158.GA3261-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* Re: ti_am33x_adc sampling bugs 2014-04-01 5:42 ` Zubair Lutfullah : @ 2014-04-04 13:41 ` gmane -1 siblings, 0 replies; 14+ messages in thread From: gmane-G/ASJRsgvFgvW+L+VdN226ESeJV5RFUqQQ4Iyu8u01E @ 2014-04-04 13:41 UTC (permalink / raw) To: Zubair Lutfullah : Cc: Jonathan Cameron, Rob Mosher, Sebastian Andrzej Siewior, robertcnelson-Re5JQEeQqe8AvxtiuMwx3w, Samuel Ortiz, Dmitry Torokhov, Felipe Balbi, linux-iio-u79uwXL29TY76Z2rM5mHXA, linux-input-u79uwXL29TY76Z2rM5mHXA, Lee Jones Hi, On 2014-04-01 00:42, Zubair Lutfullah : wrote: > Sorry for taking this long to reply. > > The confusion here is due to vendor/mainline trees for the kernel. > > This discussion should have been carried out on > https://github.com/beagleboard/kernel/issues > instead of the kernel mailing lists. Sorry for jumping in here. I use a more recent kernel 3.13.x and currently try to move to 3.14.x. The sampling seems to work, but I would like to use the generic_buffer test [1]. The kernel used here [1] is a 3.13.6 stable plus those patches [2] (from Rob Nelson) Can someone please tell me what's the status with beagle bone black and iio (and maybe whom to talk to about it). Regards, Robert [1] http://thread.gmane.org/gmane.linux.kernel.iio/11631 [2] https://github.com/RobertBerger/meta-mainline/blob/dora-training-v3.13.x/beagle-bone-black-ml/recipes-kernel/linux/linux-yocto-custom/beagle-bone-black-ml-user-patches.scc ...do it-do it right-do it right now- Bobby Riggs My public pgp key is available,at: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x90320BF1 ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ti_am33x_adc sampling bugs @ 2014-04-04 13:41 ` gmane 0 siblings, 0 replies; 14+ messages in thread From: gmane @ 2014-04-04 13:41 UTC (permalink / raw) To: Zubair Lutfullah : Cc: Jonathan Cameron, Rob Mosher, Sebastian Andrzej Siewior, robertcnelson, Samuel Ortiz, Dmitry Torokhov, Felipe Balbi, linux-iio, linux-input, Lee Jones Hi, On 2014-04-01 00:42, Zubair Lutfullah : wrote: > Sorry for taking this long to reply. > > The confusion here is due to vendor/mainline trees for the kernel. > > This discussion should have been carried out on > https://github.com/beagleboard/kernel/issues > instead of the kernel mailing lists. Sorry for jumping in here. I use a more recent kernel 3.13.x and currently try to move to 3.14.x. The sampling seems to work, but I would like to use the generic_buffer test [1]. The kernel used here [1] is a 3.13.6 stable plus those patches [2] (from Rob Nelson) Can someone please tell me what's the status with beagle bone black and iio (and maybe whom to talk to about it). Regards, Robert [1] http://thread.gmane.org/gmane.linux.kernel.iio/11631 [2] https://github.com/RobertBerger/meta-mainline/blob/dora-training-v3.13.x/beagle-bone-black-ml/recipes-kernel/linux/linux-yocto-custom/beagle-bone-black-ml-user-patches.scc ...do it-do it right-do it right now- Bobby Riggs My public pgp key is available,at: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x90320BF1 ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2014-04-04 13:41 UTC | newest] Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <53379DF2.7050004@rznt.com> [not found] ` <5337B3F4.30500@countercultured.net> [not found] ` <CAExKytzRv4CT9zTor=-fc5Mfv+xG9uTjQP=LWosVnhEHsa9Y0A@mail.gmail.com> 2014-03-31 3:56 ` ti_am33x_adc sampling bugs Rob Mosher [not found] ` <CAExKytzRv4CT9zTor=-fc5Mfv+xG9uTjQP=LWosVnhEHsa9Y0A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2014-03-31 4:04 ` Rob Mosher 2014-03-31 4:04 ` Rob Mosher 2014-03-31 8:17 ` Rob Mosher 2014-03-31 16:14 ` Jonathan Cameron [not found] ` <d8950cff-fd37-46bb-b438-d42f15851602-2ueSQiBKiTY7tOexoI0I+QC/G2K4zDHf@public.gmane.org> 2014-03-31 16:47 ` Rob Mosher 2014-03-31 16:47 ` Rob Mosher 2014-03-31 20:59 ` Jonathan Cameron 2014-03-31 21:03 ` Rob Mosher 2014-03-31 21:20 ` Jonathan Cameron [not found] ` <c21be082-4ad8-46e2-a5f3-ad29b4239d94-2ueSQiBKiTY7tOexoI0I+QC/G2K4zDHf@public.gmane.org> 2014-04-01 5:42 ` Zubair Lutfullah : 2014-04-01 5:42 ` Zubair Lutfullah : [not found] ` <20140401054158.GA3261-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-04-04 13:41 ` gmane-G/ASJRsgvFgvW+L+VdN226ESeJV5RFUqQQ4Iyu8u01E 2014-04-04 13:41 ` gmane
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.