public inbox for linux-iio@vger.kernel.org
 help / color / mirror / Atom feed
From: Rob Mosher <nyt@countercultured.net>
To: Jonathan Cameron <jic23@kernel.org>,
	Zubair Lutfullah <zubair.lutfullah@gmail.com>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	robertcnelson@gmail.com, Samuel Ortiz <sameo@linux.intel.com>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Felipe Balbi <balbi@ti.com>,
	linux-iio@vger.kernel.org, linux-input@vger.kernel.org,
	Lee Jones <lee.jones@linaro.org>
Subject: Re: ti_am33x_adc sampling bugs
Date: Mon, 31 Mar 2014 17:03:12 -0400	[thread overview]
Message-ID: <5339D810.2030400@countercultured.net> (raw)
In-Reply-To: <ab74c908-a1d0-417c-836b-8d4b093a942b@email.android.com>

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
>>>
>

  reply	other threads:[~2014-03-31 21:03 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [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
2014-03-31  4:04     ` Rob Mosher
2014-03-31  8:17       ` Rob Mosher
2014-03-31 16:14         ` Jonathan Cameron
2014-03-31 16:47           ` Rob Mosher
2014-03-31 20:59             ` Jonathan Cameron
2014-03-31 21:03               ` Rob Mosher [this message]
2014-03-31 21:20                 ` Jonathan Cameron
2014-04-01  5:42                   ` Zubair Lutfullah :
2014-04-04 13:41                     ` gmane

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5339D810.2030400@countercultured.net \
    --to=nyt@countercultured.net \
    --cc=balbi@ti.com \
    --cc=bigeasy@linutronix.de \
    --cc=dmitry.torokhov@gmail.com \
    --cc=jic23@kernel.org \
    --cc=lee.jones@linaro.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=robertcnelson@gmail.com \
    --cc=sameo@linux.intel.com \
    --cc=zubair.lutfullah@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox