Skip to contentSkip to conversation

ti_am33x_adc sampling bugs

DISCUSSION Rob Mosher 4 participants 10 messages Mar 31, 2014 – Apr 4, 2014 3 messages not in the archive

Subsystems (2)
lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): CAExKytzRv4CT9zTor=-fc5Mfv+xG9uTjQP=LWosVnhEHsa9Y0A@mail.gmail.com

Rob Mosher

author
#3 lore raw

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
Quoted 152 lines · Zubair Lutfullah

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 <[email protected] <mailto:[email protected]>> 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
author
#4 lore raw
In reply to a message not in the archive

(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
Quoted 152 lines · Zubair Lutfullah

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 <[email protected] <mailto:[email protected]>> 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
author
#5 lore raw

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.

Quoted 222 lines · Rob Mosher

(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
Quoted 153 lines · Zubair Lutfullah

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 <[email protected] <mailto:[email protected]>> 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
maintainer
#6 lore raw
Quoted 5 lines · Rob Mosher

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

Quoted 8 lines

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?

Quoted 243 lines

Maybe this should be moved to the beta kernel until stable?

Cheers.

Quoted 5 lines · Rob Mosher

(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

Quoted 8 lines

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:

Quoted 9 lines

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
Quoted 5 lines

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

Quoted 40 lines
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
Quoted 2 lines
Quoted 1 line · Zubair Lutfullah

https://github.com/beagleboard/kernel/blob/3.8/patches/adc/0017-IIO-ADC-ti_adc-Fix-1st-sample-read.patch

Quoted 16 lines
Quoted 16 lines

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 <[email protected] <mailto:[email protected]>> wrote:

Just a note, the same behavior persists with BB-ADC dtb and reading from in_voltage4_raw

Quoted 5 lines
Quoted 5 lines · Rob Mosher

Hello fine developers,

It seems I've stumbled upon a problem while developing a

full

Quoted 3 lines
Quoted 3 lines

featured Ruby gem for the Beaglebone.

It seems a patch included in the beaglebone kernel causes

some

Quoted 2 lines
Quoted 2 lines

issues while reading analog inputs. Apparently the samples get backlogged by the number of adc pins in use. I'm not

sure

Quoted 6 lines
Quoted 6 lines

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

Quoted 24 lines
Quoted 24 lines

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

Quoted 5 lines
Quoted 5 lines

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.

Quoted 2 lines
Quoted 2 lines
        root@rbone:/sys/devices/ocp.3/helper.12# grep . AIN[0-3]

AIN[5-7]

Quoted 43 lines
Quoted 43 lines
        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
Quoted 1 line
Quoted 1 line

And another example, showing relation to the number of pins

in

Quoted 37 lines
Quoted 37 lines
        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
Quoted 9 lines
Quoted 8 lines

-- 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Signature · 1 line
Sent from my Android phone with K-9 Mail. Please excuse my brevity.
author
#7 lore raw

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.

Quoted 267 lines · Jonathan Cameron
Quoted 5 lines · Rob Mosher

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

Quoted 8 lines

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?

Quoted 243 lines

Maybe this should be moved to the beta kernel until stable?

Cheers.

Quoted 5 lines · Rob Mosher

(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

Quoted 8 lines

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:

Quoted 9 lines

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
Quoted 5 lines

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

Quoted 40 lines
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
Quoted 2 lines
Quoted 1 line · Zubair Lutfullah

https://github.com/beagleboard/kernel/blob/3.8/patches/adc/0017-IIO-ADC-ti_adc-Fix-1st-sample-read.patch

Quoted 16 lines
Quoted 16 lines

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 <[email protected] <mailto:[email protected]>> wrote:

Just a note, the same behavior persists with BB-ADC dtb and reading from in_voltage4_raw

Quoted 5 lines
Quoted 5 lines · Rob Mosher

Hello fine developers,

It seems I've stumbled upon a problem while developing a

full

Quoted 3 lines
Quoted 3 lines

featured Ruby gem for the Beaglebone.

It seems a patch included in the beaglebone kernel causes

some

Quoted 2 lines
Quoted 2 lines

issues while reading analog inputs. Apparently the samples get backlogged by the number of adc pins in use. I'm not

sure

Quoted 6 lines
Quoted 6 lines

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

Quoted 24 lines
Quoted 24 lines

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

Quoted 5 lines
Quoted 5 lines

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.

Quoted 2 lines
Quoted 2 lines
         root@rbone:/sys/devices/ocp.3/helper.12# grep . AIN[0-3]

AIN[5-7]

Quoted 43 lines
Quoted 43 lines
         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
Quoted 1 line
Quoted 1 line

And another example, showing relation to the number of pins

in

Quoted 37 lines
Quoted 37 lines
         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
Quoted 9 lines
Quoted 8 lines

-- 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

maintainer
#8 lore raw
Quoted 2 lines · Rob Mosher

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.

Quoted 288 lines

The bug is the
same
reading from in_voltageX_raw files.

Quoted 3 lines · Jonathan Cameron

On March 31, 2014 9:17:53 AM GMT+01:00, Rob Mosher

Quoted 8 lines · <[email protected]> wrote:
Quoted 8 lines

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

Quoted 8 lines
Quoted 5 lines

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

Quoted 1 line

out the ABI must conform to existing definitions or be proposed

reviewed and accepted.

Quoted 12 lines

I am somewhat confused. Where did the AIN sysfs attributes come from?

Quoted 9 lines

Maybe this should be moved to the beta kernel until stable?

Cheers.

Quoted 3 lines · Rob Mosher

(sorry for the duplicate, got bounces due to HTML encoding)

The specified patch is already included. The system was running

the

Quoted 1 line
Quoted 1 line
Quoted 1 line

latest kernel from Robert Nelson's repo. Any suggestions? I'll

try

Quoted 11 lines
Quoted 11 lines
Quoted 1 line

removing some of the patches to see if it fixes this behavior. I

have a

Quoted 8 lines

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:

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

applied

Just in case, I built and installed the kernel and the same

behavior

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines

persisted.

root@rbone:/# uname -a
Linux rbone 3.8.13-00737-g7dfad77 #1 SMP Sun Mar 30 22:11:44 EDT

2014

Quoted 48 lines
Quoted 48 lines
Quoted 7 lines

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

Quoted 40 lines
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
Quoted 3 lines
Quoted 3 lines
Quoted 2 lines · Zubair Lutfullah
Quoted 1 line

https://github.com/beagleboard/kernel/blob/3.8/patches/adc/0017-IIO-ADC-ti_adc-Fix-1st-sample-read.patch

Quoted 10 lines
Quoted 10 lines
Quoted 10 lines
Quoted 10 lines

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

<[email protected]

Quoted 10 lines
Quoted 10 lines
Quoted 10 lines
Quoted 10 lines

<mailto:[email protected]>> 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,

Quoted 7 lines
Quoted 7 lines
Quoted 1 line
Quoted 1 line

It seems I've stumbled upon a problem while developing a

full

Quoted 3 lines
Quoted 3 lines

featured Ruby gem for the Beaglebone.

It seems a patch included in the beaglebone kernel causes

some

Quoted 1 line
Quoted 1 line

issues while reading analog inputs. Apparently the

samples

Quoted 4 lines
Quoted 4 lines
Quoted 1 line
Quoted 1 line

get backlogged by the number of adc pins in use. I'm not

sure

Quoted 2 lines
Quoted 2 lines

which patch exactly as there are a number that affect adc buffering and I'm not currently setup for kernel

building,

Quoted 29 lines
Quoted 29 lines
Quoted 4 lines
Quoted 4 lines

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

Quoted 24 lines
Quoted 24 lines

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

Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines

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

Quoted 47 lines
Quoted 47 lines

pins.

Quoted 2 lines
Quoted 2 lines
         root@rbone:/sys/devices/ocp.3/helper.12# grep . AIN[0-3]

AIN[5-7]

Quoted 43 lines
Quoted 43 lines
         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
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

And another example, showing relation to the number of

pins

Quoted 47 lines
Quoted 47 lines

in

Quoted 46 lines
Quoted 45 lines
         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
Quoted 2 lines
Quoted 2 lines

--
To unsubscribe from this list: send the line "unsubscribe linux-iio"

in

Quoted 3 lines
Quoted 2 lines

the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Signature · 1 line
Sent from my Android phone with K-9 Mail. Please excuse my brevity.
author
#9 lore raw

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.

Quoted 299 lines · Jonathan Cameron
Quoted 2 lines · Rob Mosher

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.

Quoted 288 lines

The bug is the
same
reading from in_voltageX_raw files.

Quoted 3 lines · Jonathan Cameron

On March 31, 2014 9:17:53 AM GMT+01:00, Rob Mosher

Quoted 8 lines · <[email protected]> wrote:
Quoted 8 lines

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

Quoted 8 lines
Quoted 5 lines

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

Quoted 1 line

out the ABI must conform to existing definitions or be proposed

reviewed and accepted.

Quoted 12 lines

I am somewhat confused. Where did the AIN sysfs attributes come from?

Quoted 9 lines

Maybe this should be moved to the beta kernel until stable?

Cheers.

Quoted 3 lines · Rob Mosher

(sorry for the duplicate, got bounces due to HTML encoding)

The specified patch is already included. The system was running

the

Quoted 1 line
Quoted 1 line
Quoted 1 line

latest kernel from Robert Nelson's repo. Any suggestions? I'll

try

Quoted 11 lines
Quoted 11 lines
Quoted 1 line

removing some of the patches to see if it fixes this behavior. I

have a

Quoted 8 lines

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:

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

applied

Just in case, I built and installed the kernel and the same

behavior

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines

persisted.

root@rbone:/# uname -a
Linux rbone 3.8.13-00737-g7dfad77 #1 SMP Sun Mar 30 22:11:44 EDT

2014

Quoted 48 lines
Quoted 48 lines
Quoted 7 lines

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

Quoted 40 lines
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
Quoted 3 lines
Quoted 3 lines
Quoted 2 lines · Zubair Lutfullah
Quoted 1 line

https://github.com/beagleboard/kernel/blob/3.8/patches/adc/0017-IIO-ADC-ti_adc-Fix-1st-sample-read.patch

Quoted 10 lines
Quoted 10 lines
Quoted 10 lines
Quoted 10 lines

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

<[email protected]

Quoted 10 lines
Quoted 10 lines
Quoted 10 lines
Quoted 10 lines

<mailto:[email protected]>> 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,

Quoted 7 lines
Quoted 7 lines
Quoted 1 line
Quoted 1 line

It seems I've stumbled upon a problem while developing a

full

Quoted 3 lines
Quoted 3 lines

featured Ruby gem for the Beaglebone.

It seems a patch included in the beaglebone kernel causes

some

Quoted 1 line
Quoted 1 line

issues while reading analog inputs. Apparently the

samples

Quoted 4 lines
Quoted 4 lines
Quoted 1 line
Quoted 1 line

get backlogged by the number of adc pins in use. I'm not

sure

Quoted 2 lines
Quoted 2 lines

which patch exactly as there are a number that affect adc buffering and I'm not currently setup for kernel

building,

Quoted 29 lines
Quoted 29 lines
Quoted 4 lines
Quoted 4 lines

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

Quoted 24 lines
Quoted 24 lines

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

Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines

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

Quoted 47 lines
Quoted 47 lines

pins.

Quoted 2 lines
Quoted 2 lines
          root@rbone:/sys/devices/ocp.3/helper.12# grep . AIN[0-3]

AIN[5-7]

Quoted 43 lines
Quoted 43 lines
          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
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

And another example, showing relation to the number of

pins

Quoted 47 lines
Quoted 47 lines

in

Quoted 46 lines
Quoted 45 lines
          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
Quoted 2 lines
Quoted 2 lines

--
To unsubscribe from this list: send the line "unsubscribe linux-iio"

in

Quoted 3 lines
Quoted 2 lines

the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

maintainer
#10 lore raw
Quoted 2 lines · Rob Mosher

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!

Quoted 3 lines

Zubair Lutfullah who authored the patches in question. Hopefully he can
provide more insight or a possible fix.

Indeed.

Quoted 330 lines

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.

Quoted 3 lines · Jonathan Cameron

On March 31, 2014 5:47:54 PM GMT+01:00, Rob Mosher

Quoted 4 lines · <[email protected]> wrote:
Quoted 2 lines

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.

Quoted 7 lines
Quoted 7 lines

The bug is the
same
reading from in_voltageX_raw files.

Quoted 6 lines
Quoted 6 lines · Jonathan Cameron
Quoted 3 lines

On March 31, 2014 9:17:53 AM GMT+01:00, Rob Mosher

Quoted 1 line · <[email protected]> wrote:
Quoted 1 line

The following patches were removed and behavior returned to

normal.

Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines

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,

Quoted 3 lines
Quoted 3 lines

the

Quoted 2 lines
Quoted 2 lines

continuous sampling patch seems to still be missing the mode file

to

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

tell it to sample continuously or oneshot in the sysfs directory

as

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

referenced at

http://processors.wiki.ti.com/index.php/AM335x_ADC_Driver%27s_Guide.

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

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

Quoted 5 lines
Quoted 5 lines

staging but to move

Quoted 1 line

out the ABI must conform to existing definitions or be proposed

reviewed and accepted.

Quoted 2 lines

I am somewhat confused. Where did the AIN sysfs attributes come

from?

Quoted 17 lines
Quoted 17 lines
Quoted 10 lines
Quoted 10 lines

Maybe this should be moved to the beta kernel until stable?

Cheers.

Quoted 3 lines · Rob Mosher

(sorry for the duplicate, got bounces due to HTML encoding)

The specified patch is already included. The system was running

the

Quoted 1 line
Quoted 1 line
Quoted 1 line

latest kernel from Robert Nelson's repo. Any suggestions? I'll

try

Quoted 4 lines
Quoted 4 lines
Quoted 1 line

removing some of the patches to see if it fixes this behavior. I

have a

Quoted 2 lines

feeling I know which one is doing it.

Quoted 8 lines
Quoted 8 lines
Quoted 7 lines
Quoted 7 lines
Quoted 6 lines

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:

Quoted 57 lines
Quoted 57 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

applied

Just in case, I built and installed the kernel and the same

behavior

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines

persisted.

root@rbone:/# uname -a
Linux rbone 3.8.13-00737-g7dfad77 #1 SMP Sun Mar 30 22:11:44 EDT

2014

Quoted 48 lines
Quoted 48 lines
Quoted 7 lines

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

Quoted 40 lines
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
Quoted 4 lines
Quoted 4 lines
Quoted 3 lines
Quoted 3 lines
Quoted 2 lines · Zubair Lutfullah
Quoted 1 line

https://github.com/beagleboard/kernel/blob/3.8/patches/adc/0017-IIO-ADC-ti_adc-Fix-1st-sample-read.patch

Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines

IIRC, this patch fixes this issue

Can you compile the kernel from the sources and check?
https://github.com/beagleboard/kernel/tree/3.8

Quoted 8 lines
Quoted 8 lines
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines

Regards
ZubairLK

On Sun, Mar 30, 2014 at 7:04 AM, Rob Mosher

<[email protected]

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

<mailto:[email protected]>> wrote:

Just a note, the same behavior persists with BB-ADC dtb

and

Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines

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

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines

full

Quoted 3 lines
Quoted 3 lines

featured Ruby gem for the Beaglebone.

It seems a patch included in the beaglebone kernel

causes

Quoted 4 lines
Quoted 4 lines
Quoted 2 lines
Quoted 2 lines

some

Quoted 1 line
Quoted 1 line

issues while reading analog inputs. Apparently the

samples

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

get backlogged by the number of adc pins in use. I'm

not

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

sure

Quoted 1 line
Quoted 1 line

which patch exactly as there are a number that affect

adc

Quoted 6 lines
Quoted 6 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

buffering and I'm not currently setup for kernel

building,

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines

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

Quoted 29 lines
Quoted 29 lines
Quoted 29 lines
Quoted 29 lines

2014

Quoted 28 lines
Quoted 28 lines

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

Quoted 5 lines
Quoted 5 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

So far working as intended.... Now reading from the

other

Quoted 3 lines
Quoted 3 lines

pins.

Quoted 2 lines
Quoted 2 lines
          root@rbone:/sys/devices/ocp.3/helper.12# grep .

AIN[0-3]

Quoted 45 lines
Quoted 45 lines
Quoted 45 lines
Quoted 45 lines

AIN[5-7]

Quoted 44 lines
Quoted 44 lines
          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
Quoted 8 lines
Quoted 8 lines

pins

Quoted 7 lines
Quoted 7 lines

in

Quoted 6 lines
Quoted 6 lines
          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]

Quoted 40 lines
Quoted 40 lines
Quoted 40 lines
Quoted 40 lines
Quoted 40 lines
Quoted 39 lines
          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
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

--
To unsubscribe from this list: send the line "unsubscribe

linux-iio"

Quoted 5 lines
Quoted 4 lines

in

Quoted 3 lines
Quoted 2 lines

the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Signature · 1 line
Sent from my Android phone with K-9 Mail. Please excuse my brevity.
#11 lore raw

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

Quoted 1 line
#12 lore raw

Hi,

Quoted 7 lines · Zubair Lutfullah

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