On March 31, 2014 10:03:12 PM GMT+01:00, Rob Mosher <nyt@xxxxxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxx >>>>>>> <mailto:nyt@xxxxxxxxxxxxxxxxxxx>> 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@xxxxxxxxxxxxxxx >>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html >>>> >> -- Sent from my Android phone with K-9 Mail. Please excuse my brevity. -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html