This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/AM4378: AM437x ADC1 Linux driver - Saturated Values

Part Number: AM4378
Other Parts Discussed in Thread: WL1837

Tool/software: Linux

Hi All,

I am working on bringing up ADC1 on the AM4378 in linux kernel version 4.1.6. I've used bits and pieces of code provided in threads such as e2e.ti.com/support/arm/sitara_arm/f/791/p/407934/1486278 , and modified errors in these uploaded files accordingly.
On bootup I am seeing iio :device 0 and iio: device1 within /sys/bus/iio/devices/. Doing a cat of any voltages within device 0 returns expected values. Doing a cat of any voltage within device 1, however, is not resulting in expected values. For voltages in_voltage0-5, the value returned is always 2047, which I am assuming is the saturated value (despite the datasheet stating the saturated value for single-ended mode being 2^12-1). I've confirmed that single ended is selected (bit 25 of the idleconfig register is set low). 

in_voltage6_raw and in_voltage7_raw float ~1536 and ~1792 respectively. The voltages on these pins are 0.021 and 0.091 respectively and my board is using a reference voltage of 1.8V, so these readings also seem incorrect.

Any help in understanding and debugging this strange behavior would be very much appreciated.

Kind regards

  • Update -

    I found it strange that values ranged to 2^11 rather than 2^12, and that was the behavior of the differential mode. I confirmed my idleconfig and step registers are properly clearing the bit for differential mode and that I am properly disabling and bypassing the preamp, so I was curious what would happen if I enabled differential mode and enabled the preamp. This resulted in readings of 1024 on the 8 voltage pins, and shorting any of them resulted in the respective pin becoming 0 and the compliment negative/positive pin becoming 2023 which I believe is expected. This is leading me to believe there is some sort of issue going on with setting the single-ended mode and preamp bypassing. I am more than happy to email the relevant files I've created to someone at TI to assist in diagnosing this issue. Thank you very much for your time and help.
  • Taylor,

    Can you zip up the files and post them here so I can take a look at them?

    Jason Reeder

  • Attached is a zip of the relevant files along with a txt that specifies their locations

    4251.adc files.zip

  • Taylor,

    Thanks for the files. I'll look through them and get back to you here.

    Jason Reeder
  • Taylor,

    After asking around internally I was pointed to this kernel repo: git.ti.com/.../

    In that repo there has been development on a driver that will support ADC1 on the AM437x device in a similar fashion to how ADC0 is supported. The 'int_epos_linux_02.02.x' branch will have the latest development. The following grep commands should show you most of the files that have code necessary for ADC1:
    grep -rn 'mag' arch/arm/boot/dts/ | grep am4
    grep -rn 'ti,am4372-mag' drivers/
    grep -rn 'magadc' Documentation/
    grep -rn 'adc_mag' arch/arm/mach-omap2/

    This repository was based on the 3.14 Linux kernel. The plan is for a refactored version of this code to be upstreamed and make its way into a future release of the Linux Processor SDK.

    Jason Reeder
  • Jason,

    Thank you for your reply, your time and assistance is much appreciated. I thoroughly combed through all of the additions in those files and compared them with the files in my linux distro. I'm confident I correctly have all of my clocks and omap files configured identical to the files provided, and replaced my custom ADC1 drivers with the provided ti_magadc drivers. I also replaced the ti_am335x_tscadc drivers with the drivers provided as there were quite a few changes there as well. This required different iio drivers, so I also completed wiped out my iio drivers and swapped them out with the provided iio drivers.

    After doing all of this and rebooting my board, I am getting quite a few kernel errors on bootup, one of which appears to occur when ti_am335x_tscadc is probed. Looking at /sys/bus/iio/devices, I see iio\:device0 showing up and working as expected; however, iio\: device1 is no longer showing up, likely due to the failed probe. Attached is the kernel output on reboot of my board. Thank you again for your time and help.

    U-Boot SPL 2015.07-00053-g0a26260-dirty (Nov 17 2016 - 17:54:10)
    SPL: Please implement spl_start_uboot() for your board
    SPL: Direct Linux boot not active!


    U-Boot 2015.07-00053-g0a26260-dirty (Nov 17 2016 - 17:54:10 -0500)

    I2C: ready
    DRAM: 512 MiB
    MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
    Card did not respond to voltage select!
    ** Bad device mmc 0 **
    Using default environment

    Net: <ethaddr> not set. Validating first E-fuse MAC
    ethaddr loaded
    <eth1addr> not set. Validating second E-fuse MAC
    eth1addr loaded
    Registering cpsw
    cpsw
    Hit any key to stop autoboot: 0
    switch to partitions #0, OK
    mmc1(part 0) is current device
    Found Macho man eMMC
    2 bytes read in 6 ms (0 Bytes/s)
    Booting from partition 1 ...
    3987448 bytes read in 219 ms (17.4 MiB/s)
    40916 bytes read in 7 ms (5.6 MiB/s)
    Kernel image @ 0x82000000 [ 0x000000 - 0x3cd7f8 ]
    ## Flattened Device Tree blob at 88000000
    Booting using the fdt blob at 0x88000000
    Loading Device Tree to 8fff3000, end 8fffffd3 ... OK

    Starting kernel ...

    [ 0.000000] Booting Linux on physical CPU 0x0
    [ 0.000000] Linux version 4.1.6-g0ba35b4-dirty (tfahey@TFAHEY-MT-LNX) (gcc version 5.3.1 20160412 (Linaro GCC 5.3-2016.05) ) #62 Thu Jan 12 16:15:02 EST 2017
    [ 0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c5387d
    [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [ 0.000000] Machine model: MakerBot Macho Man RevA
    [ 0.000000] cma: Reserved 24 MiB at 0x9e800000
    [ 0.000000] Memory policy: Data cache writeback
    [ 0.000000] CPU: All CPU(s) started in SVC mode.
    [ 0.000000] AM437x ES1.2 (sgx neon )
    [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
    [ 0.000000] Kernel command line: console=ttyS0,115200n8 root=/dev/mmcblk0p1 rw rootfstype=ext4 rootwait
    [ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    [ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    [ 0.000000] Memory: 486724K/524288K available (5491K kernel code, 234K rwdata, 1992K rodata, 264K init, 196K bss, 12988K reserved, 24576K cma-reserved, 0K highmem)
    [ 0.000000] Virtual kernel memory layout:
    [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
    [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
    [ 0.000000] vmalloc : 0xe0800000 - 0xff000000 ( 488 MB)
    [ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
    [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
    [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
    [ 0.000000] .text : 0xc0008000 - 0xc075711c (7485 kB)
    [ 0.000000] .init : 0xc0758000 - 0xc079a000 ( 264 kB)
    [ 0.000000] .data : 0xc079a000 - 0xc07d4b28 ( 235 kB)
    [ 0.000000] .bss : 0xc07d7000 - 0xc08080d4 ( 197 kB)
    [ 0.000000] NR_IRQS:16 nr_irqs:16 16
    [ 0.000000] L2C: platform modifies aux control register: 0x0e030000 -> 0x3e430000
    [ 0.000000] L2C: DT/platform modifies aux control register: 0x0e030000 -> 0x3e430000
    [ 0.000000] L2C-310 enabling early BRESP for Cortex-A9
    [ 0.000000] OMAP L2C310: ROM does not support power control setting
    [ 0.000000] L2C-310 ID prefetch enabled, offset 1 lines
    [ 0.000000] L2C-310 dynamic clock gating disabled, standby mode disabled
    [ 0.000000] L2C-310 cache controller enabled, 16 ways, 256 kB
    [ 0.000000] L2C-310: CACHE_ID 0x410000c9, AUX_CTRL 0x7e430000
    [ 0.000000] OMAP clockevent source: timer2 at 25000000 Hz
    [ 0.000013] sched_clock: 32 bits at 25MHz, resolution 40ns, wraps every 85899345900ns
    [ 0.000035] clocksource timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 76450417870 ns
    [ 0.000047] OMAP clocksource: timer1 at 25000000 Hz
    [ 0.000288] Console: colour dummy device 80x30
    [ 0.000325] Calibrating delay loop... 1196.85 BogoMIPS (lpj=5984256)
    [ 0.089060] pid_max: default: 32768 minimum: 301
    [ 0.089173] Security Framework initialized
    [ 0.089236] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.089249] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.089966] CPU: Testing write buffer coherency: ok
    [ 0.090325] Setting up static identity map for 0x80008200 - 0x80008258
    [ 0.091824] devtmpfs: initialized
    [ 0.103655] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
    [ 0.119523] omap_hwmod: tptc0 using broken dt data from edma
    [ 0.119678] omap_hwmod: tptc1 using broken dt data from edma
    [ 0.119812] omap_hwmod: tptc2 using broken dt data from edma
    [ 0.185264] omap_hwmod: adc_mag: _wait_target_ready failed: -16
    [ 0.185279] omap_hwmod: adc_mag: cannot be enabled for reset (3)
    [ 0.194633] omap_hwmod: rtc: _wait_target_disable failed
    [ 0.195204] clocksource jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [ 0.197057] pinctrl core: initialized pinctrl subsystem
    [ 0.198315] NET: Registered protocol family 16
    [ 0.201091] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [ 0.202995] cpuidle: using governor ladder
    [ 0.203021] cpuidle: using governor menu
    [ 0.207232] omap_l3_noc 44000000.ocp: L3 debug error: target 8 mod:0 (unclearable)
    [ 0.207266] omap_l3_noc 44000000.ocp: L3 debug error: target 13 mod:1 (unclearable)
    [ 0.207324] omap_l3_noc 44000000.ocp: L3 application error: target 8 mod:0 (unclearable)
    [ 0.207343] ------------[ cut here ]------------
    [ 0.207381] WARNING: CPU: 0 PID: 1 at ../drivers/bus/omap_l3_noc.c:147 l3_interrupt_handler+0x268/0x370()
    [ 0.207395] 44000000.ocp:L3 Custom Error: MASTER M2 (64-bit) TARGET L4_WKUP (Read): Data Access in User mode during Functional access
    [ 0.207402] Modules linked in:
    [ 0.207421] CPU: 0 PID: 1 Comm: swapper Not tainted 4.1.6-g0ba35b4-dirty #62
    [ 0.207431] Hardware name: Generic AM43 (Flattened Device Tree)
    [ 0.207439] Backtrace:
    [ 0.207475] [<c0012820>] (dump_backtrace) from [<c0012a44>] (show_stack+0x18/0x1c)
    [ 0.207484] r7:c0265f70 r6:00000093 r5:00000009 r4:00000000
    [ 0.207527] [<c0012a2c>] (show_stack) from [<c055d174>] (dump_stack+0x24/0x28)
    [ 0.207552] [<c055d150>] (dump_stack) from [<c0037340>] (warn_slowpath_common+0x88/0xb4)
    [ 0.207569] [<c00372b8>] (warn_slowpath_common) from [<c00373a4>] (warn_slowpath_fmt+0x38/0x40)
    [ 0.207577] r8:c06d3b20 r7:c058dd68 r6:c06d39c0 r5:ddce3ed0 r4:c06d3a64
    [ 0.207606] [<c0037370>] (warn_slowpath_fmt) from [<c0265f70>] (l3_interrupt_handler+0x268/0x370)
    [ 0.207613] r3:ddce3c40 r2:c06d3a64
    [ 0.207623] r4:80080003
    [ 0.207655] [<c0265d08>] (l3_interrupt_handler) from [<c0061048>] (handle_irq_event_percpu+0xa4/0x160)
    [ 0.207663] r10:c07d4694 r9:ddcdf7c0 r8:00000013 r7:00000000 r6:00000000 r5:c07a10f8
    [ 0.207682] r4:ddcbb640
    [ 0.207700] [<c0060fa4>] (handle_irq_event_percpu) from [<c0061134>] (handle_irq_event+0x30/0x40)
    [ 0.207708] r10:ddcdf7c0 r9:00000000 r8:ddc04000 r7:00000001 r6:00000000 r5:c07a10f8
    [ 0.207727] r4:ddcdf7c0
    [ 0.207746] [<c0061104>] (handle_irq_event) from [<c0063934>] (handle_fasteoi_irq+0xa4/0x16c)
    [ 0.207754] r5:c07a10f8 r4:ddcdf7c0
    [ 0.207773] [<c0063890>] (handle_fasteoi_irq) from [<c006078c>] (generic_handle_irq+0x34/0x44)
    [ 0.207781] r5:00000000 r4:00000013
    [ 0.207802] [<c0060758>] (generic_handle_irq) from [<c00609f0>] (__handle_domain_irq+0x5c/0xb0)
    [ 0.207809] r5:00000000 r4:c07b1fc0
    [ 0.207829] [<c0060994>] (__handle_domain_irq) from [<c000943c>] (gic_handle_irq+0x2c/0x5c)
    [ 0.207836] r9:00000000 r8:ddcdf7f8 r7:fa240100 r6:ddc4dbb0 r5:c079c390 r4:fa24010c
    [ 0.207868] [<c0009410>] (gic_handle_irq) from [<c05614c0>] (__irq_svc+0x40/0x54)
    [ 0.207878] Exception stack(0xddc4dbb0 to 0xddc4dbf8)
    [ 0.207890] dba0: ddcdf7c0 ddcbb640 00000000 00000000
    [ 0.207904] dbc0: ddcdf7c0 ddcbb640 00000013 60000153 ddcdf7f8 00000000 ddcdf7c0 ddc4dc24
    [ 0.207917] dbe0: ddc4dbf8 ddc4dbf8 c0062390 c0062280 60000153 ffffffff
    [ 0.207924] r7:ddc4dbe4 r6:ffffffff r5:60000153 r4:c0062280
    [ 0.207947] [<c0061fbc>] (__setup_irq) from [<c0062634>] (request_threaded_irq+0xcc/0x14c)
    [ 0.207954] r9:00000000 r8:00000013 r7:00000000 r6:ddce3ed0 r5:c0265d08 r4:ddcbb640
    [ 0.207983] [<c0062568>] (request_threaded_irq) from [<c0064588>] (devm_request_threaded_irq+0x60/0xa4)
    [ 0.207991] r10:00000002 r9:ddcd6210 r8:00000000 r7:00000013 r6:ddce3ed0 r5:ddcd4990
    [ 0.208010] r4:c0265d08 r3:00000000
    [ 0.208031] [<c0064528>] (devm_request_threaded_irq) from [<c0265c70>] (omap_l3_probe+0x1d8/0x270)
    [ 0.208039] r9:ddcd6210 r8:c07f75f0 r7:ddce3ed4 r6:00000004 r5:ddce3ed0 r4:00000000
    [ 0.208079] [<c0265a98>] (omap_l3_probe) from [<c030ebbc>] (platform_drv_probe+0x4c/0xb4)
    [ 0.208086] r10:00000000 r9:00000000 r8:00000000 r7:fffffdfb r6:c07b252c r5:ddcd6210
    [ 0.208105] r4:c07fee8c
    [ 0.208123] [<c030eb70>] (platform_drv_probe) from [<c030d1f8>] (driver_probe_device+0x184/0x2bc)
    [ 0.208130] r7:c07b252c r6:00000000 r5:ddcd6210 r4:c07fee8c
    [ 0.208154] [<c030d074>] (driver_probe_device) from [<c030d378>] (__device_attach+0x48/0x4c)
    [ 0.208161] r9:00000000 r8:c07fee68 r7:00000000 r6:c030d330 r5:ddcd6210 r4:c07b252c
    [ 0.208189] [<c030d330>] (__device_attach) from [<c030b75c>] (bus_for_each_drv+0x68/0x9c)
    [ 0.208197] r5:ddcd6210 r4:00000000
    [ 0.208214] [<c030b6f4>] (bus_for_each_drv) from [<c030d038>] (device_attach+0x88/0x9c)
    [ 0.208222] r6:ddcd6244 r5:ddcd6210 r4:ddcd6210
    [ 0.208243] [<c030cfb0>] (device_attach) from [<c030c66c>] (bus_probe_device+0x8c/0xb0)
    [ 0.208250] r7:00000000 r6:c07be3e0 r5:ddcd6210 r4:ddcd6218
    [ 0.208272] [<c030c5e0>] (bus_probe_device) from [<c030a7f8>] (device_add+0x37c/0x578)
    [ 0.208279] r7:00000000 r6:ddcd6210 r5:c07be280 r4:ddcd6218
    [ 0.208303] [<c030a47c>] (device_add) from [<c04441ac>] (of_device_add+0x3c/0x44)
    [ 0.208310] r10:00000000 r9:00000000 r8:c0795430 r7:ddcd6210 r6:00000000 r5:de3cd794
    [ 0.208329] r4:ddcd6200
    [ 0.208344] [<c0444170>] (of_device_add) from [<c0444a1c>] (of_platform_device_create_pdata+0x88/0xc8)
    [ 0.208360] [<c0444994>] (of_platform_device_create_pdata) from [<c0444b68>] (of_platform_bus_create+0xf0/0x194)
    [ 0.208368] r7:00000001 r6:c078f124 r5:de3cd794 r4:00000000
    [ 0.208390] [<c0444a78>] (of_platform_bus_create) from [<c0444d4c>] (of_platform_populate+0x64/0xc0)
    [ 0.208398] r10:00000000 r9:00000001 r8:00000000 r7:c078f124 r6:c0795430 r5:de3cc750
    [ 0.208416] r4:de3cd794
    [ 0.208446] [<c0444ce8>] (of_platform_populate) from [<c076709c>] (pdata_quirks_init+0x40/0x4c)
    [ 0.208453] r9:00000004 r8:c0758600 r7:ddce3940 r6:c079e8e0 r5:c0795430 r4:c078f11c
    [ 0.208484] [<c076705c>] (pdata_quirks_init) from [<c0767054>] (omap_generic_init+0x1c/0x24)
    [ 0.208491] r5:c075b770 r4:c079e8e0
    [ 0.208511] [<c0767038>] (omap_generic_init) from [<c075b79c>] (customize_machine+0x2c/0x4c)
    [ 0.208526] [<c075b770>] (customize_machine) from [<c0009660>] (do_one_initcall+0x94/0x1dc)
    [ 0.208554] [<c00095cc>] (do_one_initcall) from [<c0758e30>] (kernel_init_freeable+0x128/0x1bc)
    [ 0.208561] r10:c078dbd8 r9:00000004 r8:c0758600 r7:c078dbc4 r6:c07992f8 r5:c07d7000
    [ 0.208580] r4:c07d7000
    [ 0.208600] [<c0758d08>] (kernel_init_freeable) from [<c055ad2c>] (kernel_init+0x10/0xf0)
    [ 0.208607] r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c055ad1c
    [ 0.208625] r4:00000000
    [ 0.208643] [<c055ad1c>] (kernel_init) from [<c000f608>] (ret_from_fork+0x14/0x2c)
    [ 0.208650] r5:c055ad1c r4:00000000
    [ 0.208686] ---[ end trace 0f82fe5ca5702278 ]---
    [ 0.208714] omap_l3_noc 44000000.ocp: L3 application error: target 13 mod:1 (unclearable)
    [ 0.215246] OMAP GPIO hardware version 0.1
    [ 0.235309] No ATAGs?
    [ 0.235348] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
    [ 0.235361] hw-breakpoint: maximum watchpoint size is 4 bytes.
    [ 0.237866] omap4_sram_init:Unable to get sram pool needed to handle errata I688
    [ 0.279309] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
    [ 0.287390] SCSI subsystem initialized
    [ 0.288094] usbcore: registered new interface driver usbfs
    [ 0.288239] usbcore: registered new interface driver hub
    [ 0.288341] usbcore: registered new device driver usb
    [ 0.289423] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/i2c0_pins, deferring probe
    [ 0.289485] omap_i2c 4819c000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/i2c2_pins, deferring probe
    [ 0.289837] pps_core: LinuxPPS API ver. 1 registered
    [ 0.289849] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [ 0.289938] PTP clock support registered
    [ 0.292395] Advanced Linux Sound Architecture Driver Initialized.
    [ 0.293793] Switched to clocksource timer1
    [ 0.315200] NET: Registered protocol family 2
    [ 0.317243] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
    [ 0.317304] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
    [ 0.317375] TCP: Hash tables configured (established 4096 bind 4096)
    [ 0.317477] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [ 0.317502] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [ 0.317688] NET: Registered protocol family 1
    [ 0.318036] RPC: Registered named UNIX socket transport module.
    [ 0.318050] RPC: Registered udp transport module.
    [ 0.318057] RPC: Registered tcp transport module.
    [ 0.318065] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 0.321345] futex hash table entries: 256 (order: -1, 3072 bytes)
    [ 0.323601] VFS: Disk quotas dquot_6.6.0
    [ 0.323716] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    [ 0.324379] NFS: Registering the id_resolver key type
    [ 0.324434] Key type id_resolver registered
    [ 0.324444] Key type id_legacy registered
    [ 0.326372] NET: Registered protocol family 38
    [ 0.326441] io scheduler noop registered
    [ 0.326458] io scheduler deadline registered
    [ 0.326495] io scheduler cfq registered (default)
    [ 0.329936] pinctrl-single 44e10800.pinmux: 199 pins at pa f9e10800 size 796
    [ 0.339555] 4832a000.dss supply vdda_video not found, using dummy regulator
    [ 0.339702] OMAP DSS rev 2.0
    [ 0.340812] omapdss_dss 4832a000.dss: bound 4832a400.dispc (ops dispc_component_ops)
    [ 0.347209] Console: switching to colour frame buffer device 60x34
    [ 0.351890] omapfb omapfb: using display 'lcd' mode 480x272
    [ 0.354230] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [ 0.359164] omap8250 44e09000.serial: No clock speed specified: using default: 48000000
    [ 0.359785] console [ttyS0] disabled
    [ 0.359848] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 25, base_baud = 3000000) is a 8250
    [ 1.602838] console [ttyS0] enabled
    [ 1.608859] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
    [ 1.633537] brd: module loaded
    [ 1.645393] loop: module loaded
    [ 1.653991] omap_hwmod: adc_mag: _wait_target_ready failed: -16
    [ 1.660238] ------------[ cut here ]------------
    [ 1.664914] WARNING: CPU: 0 PID: 1 at ../drivers/bus/omap_l3_noc.c:147 l3_interrupt_handler+0x268/0x370()
    [ 1.674527] 44000000.ocp:L3 Custom Error: MASTER M2 (64-bit) TARGET L4_PER_0 (Idle): Data Access in Supervisor mode during Functional access
    [ 1.687186] Modules linked in:
    [ 1.690269] CPU: 0 PID: 1 Comm: swapper Tainted: G W 4.1.6-g0ba35b4-dirty #62
    [ 1.698569] Hardware name: Generic AM43 (Flattened Device Tree)
    [ 1.704512] Backtrace:
    [ 1.707002] [<c0012820>] (dump_backtrace) from [<c0012a44>] (show_stack+0x18/0x1c)
    [ 1.714603] r7:c0265f70 r6:00000093 r5:00000009 r4:00000000
    [ 1.720340] [<c0012a2c>] (show_stack) from [<c055d174>] (dump_stack+0x24/0x28)
    [ 1.727609] [<c055d150>] (dump_stack) from [<c0037340>] (warn_slowpath_common+0x88/0xb4)
    [ 1.735742] [<c00372b8>] (warn_slowpath_common) from [<c00373a4>] (warn_slowpath_fmt+0x38/0x40)
    [ 1.744477] r8:c06d3b20 r7:c058dd60 r6:c06d39c0 r5:ddce3ed0 r4:c06d3a64
    [ 1.751257] [<c0037370>] (warn_slowpath_fmt) from [<c0265f70>] (l3_interrupt_handler+0x268/0x370)
    [ 1.760166] r3:ddce3c40 r2:c06d3a64
    [ 1.763770] r4:80080003
    [ 1.766343] [<c0265d08>] (l3_interrupt_handler) from [<c0061048>] (handle_irq_event_percpu+0xa4/0x160)
    [ 1.775688] r10:c07d4694 r9:ddcdf7c0 r8:00000013 r7:00000000 r6:00000000 r5:c07a10f8
    [ 1.783590] r4:ddcbb640
    [ 1.786148] [<c0060fa4>] (handle_irq_event_percpu) from [<c0061134>] (handle_irq_event+0x30/0x40)
    [ 1.795056] r10:dddf1610 r9:017d7840 r8:ddc04000 r7:00000001 r6:00000000 r5:c07a10f8
    [ 1.802957] r4:ddcdf7c0
    [ 1.805516] [<c0061104>] (handle_irq_event) from [<c0063934>] (handle_fasteoi_irq+0xa4/0x16c)
    [ 1.814075] r5:c07a10f8 r4:ddcdf7c0
    [ 1.817685] [<c0063890>] (handle_fasteoi_irq) from [<c006078c>] (generic_handle_irq+0x34/0x44)
    [ 1.826332] r5:00000000 r4:00000013
    [ 1.829945] [<c0060758>] (generic_handle_irq) from [<c00609f0>] (__handle_domain_irq+0x5c/0xb0)
    [ 1.838680] r5:00000000 r4:c07b1fc0
    [ 1.842290] [<c0060994>] (__handle_domain_irq) from [<c000943c>] (gic_handle_irq+0x2c/0x5c)
    [ 1.850675] r9:017d7840 r8:c05a49fc r7:fa240100 r6:ddc4dd00 r5:c079c390 r4:fa24010c
    [ 1.858503] [<c0009410>] (gic_handle_irq) from [<c05614c0>] (__irq_svc+0x40/0x54)
    [ 1.866019] Exception stack(0xddc4dd00 to 0xddc4dd48)
    [ 1.871098] dd00: ddea5000 00000000 00000004 60000153 ddea5000 00000000 00000007 ddd16c00
    [ 1.879317] dd20: c05a49fc 017d7840 dddf1610 ddc4dd54 ddc4dd58 ddc4dd48 c031f32c c031c92c
    [ 1.887530] dd40: 00000153 ffffffff
    [ 1.891031] r7:ddc4dd34 r6:ffffffff r5:00000153 r4:c031c92c
    [ 1.896768] [<c031c918>] (regmap_unlock_spinlock) from [<c031f32c>] (regmap_write+0x58/0x68)
    [ 1.905262] [<c031f2d4>] (regmap_write) from [<c032a4bc>] (ti_tscadc_probe+0x2a0/0x5f4)
    [ 1.913298] r7:ddd16c00 r6:ddd16c10 r5:ddea3080 r4:00000001
    [ 1.919030] [<c032a21c>] (ti_tscadc_probe) from [<c030ebbc>] (platform_drv_probe+0x4c/0xb4)
    [ 1.927416] r10:00000000 r9:00000007 r8:00000000 r7:fffffdfb r6:c07bef84 r5:ddd16c10
    [ 1.935318] r4:c07fee8c
    [ 1.937877] [<c030eb70>] (platform_drv_probe) from [<c030d1f8>] (driver_probe_device+0x184/0x2bc)
    [ 1.946785] r7:c07bef84 r6:00000000 r5:ddd16c10 r4:c07fee8c
    [ 1.952510] [<c030d074>] (driver_probe_device) from [<c030d410>] (__driver_attach+0x94/0x98)
    [ 1.960982] r9:00000007 r8:c0758600 r7:00000000 r6:ddd16c44 r5:c07bef84 r4:ddd16c10
    [ 1.968804] [<c030d37c>] (__driver_attach) from [<c030b69c>] (bus_for_each_dev+0x70/0xa4)
    [ 1.977016] r7:00000000 r6:c030d37c r5:c07bef84 r4:00000000
    [ 1.982738] [<c030b62c>] (bus_for_each_dev) from [<c030cc4c>] (driver_attach+0x24/0x28)
    [ 1.990774] r6:c07be3e0 r5:ddea0e80 r4:c07bef84
    [ 1.995437] [<c030cc28>] (driver_attach) from [<c030c8f0>] (bus_add_driver+0x150/0x1f8)
    [ 2.003483] [<c030c7a0>] (bus_add_driver) from [<c030da94>] (driver_register+0x80/0x100)
    [ 2.011607] r7:ddea35c0 r6:c079e8e0 r5:c077c40c r4:c07bef84
    [ 2.017326] [<c030da14>] (driver_register) from [<c030eb00>] (__platform_driver_register+0x5c/0x64)
    [ 2.026410] r5:c077c40c r4:c079e8e0
    [ 2.030027] [<c030eaa4>] (__platform_driver_register) from [<c077c428>] (ti_tscadc_driver_init+0x1c/0x20)
    [ 2.039642] [<c077c40c>] (ti_tscadc_driver_init) from [<c0009660>] (do_one_initcall+0x94/0x1dc)
    [ 2.048397] [<c00095cc>] (do_one_initcall) from [<c0758e30>] (kernel_init_freeable+0x128/0x1bc)
    [ 2.057131] r10:c078dbd8 r9:00000007 r8:c0758600 r7:c078dbd0 r6:c0799718 r5:c07d7000
    [ 2.065034] r4:c07d7000
    [ 2.067596] [<c0758d08>] (kernel_init_freeable) from [<c055ad2c>] (kernel_init+0x10/0xf0)
    [ 2.075807] r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c055ad1c
    [ 2.083706] r4:00000000
    [ 2.086265] [<c055ad1c>] (kernel_init) from [<c000f608>] (ret_from_fork+0x14/0x2c)
    [ 2.093865] r5:c055ad1c r4:00000000
    [ 2.097470] ---[ end trace 0f82fe5ca5702279 ]---
    [ 2.102189] ------------[ cut here ]------------
    [ 2.106848] WARNING: CPU: 0 PID: 1 at ../drivers/bus/omap_l3_noc.c:147 l3_interrupt_handler+0x268/0x370()
    [ 2.116460] 44000000.ocp:L3 Custom Error: MASTER M2 (64-bit) TARGET L4_PER_0 (Read): Data Access in User mode during Functional access
    [ 2.128595] Modules linked in:
    [ 2.131673] CPU: 0 PID: 1 Comm: swapper Tainted: G W 4.1.6-g0ba35b4-dirty #62
    [ 2.139971] Hardware name: Generic AM43 (Flattened Device Tree)
    [ 2.145915] Backtrace:
    [ 2.148392] [<c0012820>] (dump_backtrace) from [<c0012a44>] (show_stack+0x18/0x1c)
    [ 2.155994] r7:c0265f70 r6:00000093 r5:00000009 r4:00000000
    [ 2.161717] [<c0012a2c>] (show_stack) from [<c055d174>] (dump_stack+0x24/0x28)
    [ 2.168983] [<c055d150>] (dump_stack) from [<c0037340>] (warn_slowpath_common+0x88/0xb4)
    [ 2.177116] [<c00372b8>] (warn_slowpath_common) from [<c00373a4>] (warn_slowpath_fmt+0x38/0x40)
    [ 2.185851] r8:c06d3b20 r7:c058dd68 r6:c06d39c0 r5:ddce3ed0 r4:c06d3a64
    [ 2.192626] [<c0037370>] (warn_slowpath_fmt) from [<c0265f70>] (l3_interrupt_handler+0x268/0x370)
    [ 2.201536] r3:ddce3c40 r2:c06d3a64
    [ 2.205136] r4:80080003
    [ 2.207699] [<c0265d08>] (l3_interrupt_handler) from [<c0061048>] (handle_irq_event_percpu+0xa4/0x160)
    [ 2.217044] r10:c07d4694 r9:ddcdf7c0 r8:00000013 r7:00000000 r6:00000000 r5:c07a10f8
    [ 2.224945] r4:ddcbb640
    [ 2.227505] [<c0060fa4>] (handle_irq_event_percpu) from [<c0061134>] (handle_irq_event+0x30/0x40)
    [ 2.236413] r10:dddf1610 r9:017d7840 r8:ddc04000 r7:00000001 r6:00000000 r5:c07a10f8
    [ 2.244316] r4:ddcdf7c0
    [ 2.246874] [<c0061104>] (handle_irq_event) from [<c0063934>] (handle_fasteoi_irq+0xa4/0x16c)
    [ 2.255435] r5:c07a10f8 r4:ddcdf7c0
    [ 2.259047] [<c0063890>] (handle_fasteoi_irq) from [<c006078c>] (generic_handle_irq+0x34/0x44)
    [ 2.267693] r5:00000000 r4:00000013
    [ 2.271306] [<c0060758>] (generic_handle_irq) from [<c00609f0>] (__handle_domain_irq+0x5c/0xb0)
    [ 2.280040] r5:00000000 r4:c07b1fc0
    [ 2.283653] [<c0060994>] (__handle_domain_irq) from [<c000943c>] (gic_handle_irq+0x2c/0x5c)
    [ 2.292038] r9:017d7840 r8:c05a49fc r7:fa240100 r6:ddc4dd00 r5:c079c390 r4:fa24010c
    [ 2.299860] [<c0009410>] (gic_handle_irq) from [<c05614c0>] (__irq_svc+0x40/0x54)
    [ 2.307375] Exception stack(0xddc4dd00 to 0xddc4dd48)
    [ 2.312454] dd00: ddea5000 00000044 00000004 60000153 ddea5000 00000000 ddc4dd9c ddd16c00
    [ 2.320672] dd20: c05a49fc 017d7840 dddf1610 ddc4dd54 ddc4dd58 ddc4dd48 c031dfec c031c92c
    [ 2.328885] dd40: 20000153 ffffffff
    [ 2.332386] r7:ddc4dd34 r6:ffffffff r5:20000153 r4:c031c92c
    [ 2.338110] [<c031c918>] (regmap_unlock_spinlock) from [<c031dfec>] (regmap_read+0x58/0x68)
    [ 2.346508] [<c031df94>] (regmap_read) from [<c032a4fc>] (ti_tscadc_probe+0x2e0/0x5f4)
    [ 2.354457] r7:ddd16c00 r6:ddd16c10 r5:ddea3080 r4:00000001
    [ 2.360181] [<c032a21c>] (ti_tscadc_probe) from [<c030ebbc>] (platform_drv_probe+0x4c/0xb4)
    [ 2.368566] r10:00000000 r9:00000007 r8:00000000 r7:fffffdfb r6:c07bef84 r5:ddd16c10
    [ 2.376467] r4:c07fee8c
    [ 2.379025] [<c030eb70>] (platform_drv_probe) from [<c030d1f8>] (driver_probe_device+0x184/0x2bc)
    [ 2.387932] r7:c07bef84 r6:00000000 r5:ddd16c10 r4:c07fee8c
    [ 2.393653] [<c030d074>] (driver_probe_device) from [<c030d410>] (__driver_attach+0x94/0x98)
    [ 2.402126] r9:00000007 r8:c0758600 r7:00000000 r6:ddd16c44 r5:c07bef84 r4:ddd16c10
    [ 2.409944] [<c030d37c>] (__driver_attach) from [<c030b69c>] (bus_for_each_dev+0x70/0xa4)
    [ 2.418156] r7:00000000 r6:c030d37c r5:c07bef84 r4:00000000
    [ 2.423874] [<c030b62c>] (bus_for_each_dev) from [<c030cc4c>] (driver_attach+0x24/0x28)
    [ 2.431911] r6:c07be3e0 r5:ddea0e80 r4:c07bef84
    [ 2.436579] [<c030cc28>] (driver_attach) from [<c030c8f0>] (bus_add_driver+0x150/0x1f8)
    [ 2.444624] [<c030c7a0>] (bus_add_driver) from [<c030da94>] (driver_register+0x80/0x100)
    [ 2.452747] r7:ddea35c0 r6:c079e8e0 r5:c077c40c r4:c07bef84
    [ 2.458468] [<c030da14>] (driver_register) from [<c030eb00>] (__platform_driver_register+0x5c/0x64)
    [ 2.467551] r5:c077c40c r4:c079e8e0
    [ 2.471164] [<c030eaa4>] (__platform_driver_register) from [<c077c428>] (ti_tscadc_driver_init+0x1c/0x20)
    [ 2.480777] [<c077c40c>] (ti_tscadc_driver_init) from [<c0009660>] (do_one_initcall+0x94/0x1dc)
    [ 2.489523] [<c00095cc>] (do_one_initcall) from [<c0758e30>] (kernel_init_freeable+0x128/0x1bc)
    [ 2.498257] r10:c078dbd8 r9:00000007 r8:c0758600 r7:c078dbd0 r6:c0799718 r5:c07d7000
    [ 2.506160] r4:c07d7000
    [ 2.508718] [<c0758d08>] (kernel_init_freeable) from [<c055ad2c>] (kernel_init+0x10/0xf0)
    [ 2.516930] r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c055ad1c
    [ 2.524833] r4:00000000
    [ 2.527391] [<c055ad1c>] (kernel_init) from [<c000f608>] (ret_from_fork+0x14/0x2c)
    [ 2.534991] r5:c055ad1c r4:00000000
    [ 2.538593] ---[ end trace 0f82fe5ca570227a ]---
    [ 2.543281] ------------[ cut here ]------------
    [ 2.547934] WARNING: CPU: 0 PID: 1 at ../drivers/bus/omap_l3_noc.c:147 l3_interrupt_handler+0x268/0x370()
    [ 2.557545] 44000000.ocp:L3 Custom Error: MASTER M2 (64-bit) TARGET L4_PER_0 (Idle): Data Access in Supervisor mode during Functional access
    [ 2.570203] Modules linked in:
    [ 2.573281] CPU: 0 PID: 1 Comm: swapper Tainted: G W 4.1.6-g0ba35b4-dirty #62
    [ 2.581579] Hardware name: Generic AM43 (Flattened Device Tree)
    [ 2.587522] Backtrace:
    [ 2.589996] [<c0012820>] (dump_backtrace) from [<c0012a44>] (show_stack+0x18/0x1c)
    [ 2.597598] r7:c0265f70 r6:00000093 r5:00000009 r4:00000000
    [ 2.603326] [<c0012a2c>] (show_stack) from [<c055d174>] (dump_stack+0x24/0x28)
    [ 2.610591] [<c055d150>] (dump_stack) from [<c0037340>] (warn_slowpath_common+0x88/0xb4)
    [ 2.618723] [<c00372b8>] (warn_slowpath_common) from [<c00373a4>] (warn_slowpath_fmt+0x38/0x40)
    [ 2.627457] r8:c06d3b20 r7:c058dd60 r6:c06d39c0 r5:ddce3ed0 r4:c06d3a64
    [ 2.634233] [<c0037370>] (warn_slowpath_fmt) from [<c0265f70>] (l3_interrupt_handler+0x268/0x370)
    [ 2.643141] r3:ddce3c40 r2:c06d3a64
    [ 2.646745] r4:80080003
    [ 2.649307] [<c0265d08>] (l3_interrupt_handler) from [<c0061048>] (handle_irq_event_percpu+0xa4/0x160)
    [ 2.658652] r10:c07d4694 r9:ddcdf7c0 r8:00000013 r7:00000000 r6:00000000 r5:c07a10f8
    [ 2.666552] r4:ddcbb640
    [ 2.669111] [<c0060fa4>] (handle_irq_event_percpu) from [<c0061134>] (handle_irq_event+0x30/0x40)
    [ 2.678021] r10:dddf1610 r9:017d7840 r8:ddc04000 r7:00000001 r6:00000000 r5:c07a10f8
    [ 2.685920] r4:ddcdf7c0
    [ 2.688479] [<c0061104>] (handle_irq_event) from [<c0063934>] (handle_fasteoi_irq+0xa4/0x16c)
    [ 2.697040] r5:c07a10f8 r4:ddcdf7c0
    [ 2.700653] [<c0063890>] (handle_fasteoi_irq) from [<c006078c>] (generic_handle_irq+0x34/0x44)
    [ 2.709300] r5:00000000 r4:00000013
    [ 2.712912] [<c0060758>] (generic_handle_irq) from [<c00609f0>] (__handle_domain_irq+0x5c/0xb0)
    [ 2.721646] r5:00000000 r4:c07b1fc0
    [ 2.725258] [<c0060994>] (__handle_domain_irq) from [<c000943c>] (gic_handle_irq+0x2c/0x5c)
    [ 2.733643] r9:017d7840 r8:c05a49fc r7:fa240100 r6:ddc4dd30 r5:c079c390 r4:fa24010c
    [ 2.741465] [<c0009410>] (gic_handle_irq) from [<c05614c0>] (__irq_svc+0x40/0x54)
    [ 2.748981] Exception stack(0xddc4dd30 to 0xddc4dd78)
    [ 2.754056] dd20: 00000000 00000000 00000004 60000153
    [ 2.762275] dd40: 00000001 ddea3080 ddd16c10 ddd16c00 c05a49fc 017d7840 dddf1610 ddc4ddcc
    [ 2.770491] dd60: ddc4dd58 ddc4dd78 c031f32c c032a514 00000153 ffffffff
    [ 2.777131] r7:ddc4dd64 r6:ffffffff r5:00000153 r4:c032a514
    [ 2.782859] [<c032a21c>] (ti_tscadc_probe) from [<c030ebbc>] (platform_drv_probe+0x4c/0xb4)
    [ 2.791244] r10:00000000 r9:00000007 r8:00000000 r7:fffffdfb r6:c07bef84 r5:ddd16c10
    [ 2.799145] r4:c07fee8c
    [ 2.801702] [<c030eb70>] (platform_drv_probe) from [<c030d1f8>] (driver_probe_device+0x184/0x2bc)
    [ 2.810612] r7:c07bef84 r6:00000000 r5:ddd16c10 r4:c07fee8c
    [ 2.816331] [<c030d074>] (driver_probe_device) from [<c030d410>] (__driver_attach+0x94/0x98)
    [ 2.824804] r9:00000007 r8:c0758600 r7:00000000 r6:ddd16c44 r5:c07bef84 r4:ddd16c10
    [ 2.832627] [<c030d37c>] (__driver_attach) from [<c030b69c>] (bus_for_each_dev+0x70/0xa4)
    [ 2.840839] r7:00000000 r6:c030d37c r5:c07bef84 r4:00000000
    [ 2.846556] [<c030b62c>] (bus_for_each_dev) from [<c030cc4c>] (driver_attach+0x24/0x28)
    [ 2.854593] r6:c07be3e0 r5:ddea0e80 r4:c07bef84
    [ 2.859259] [<c030cc28>] (driver_attach) from [<c030c8f0>] (bus_add_driver+0x150/0x1f8)
    [ 2.867305] [<c030c7a0>] (bus_add_driver) from [<c030da94>] (driver_register+0x80/0x100)
    [ 2.875428] r7:ddea35c0 r6:c079e8e0 r5:c077c40c r4:c07bef84
    [ 2.881148] [<c030da14>] (driver_register) from [<c030eb00>] (__platform_driver_register+0x5c/0x64)
    [ 2.890231] r5:c077c40c r4:c079e8e0
    [ 2.893843] [<c030eaa4>] (__platform_driver_register) from [<c077c428>] (ti_tscadc_driver_init+0x1c/0x20)
    [ 2.903456] [<c077c40c>] (ti_tscadc_driver_init) from [<c0009660>] (do_one_initcall+0x94/0x1dc)
    [ 2.912202] [<c00095cc>] (do_one_initcall) from [<c0758e30>] (kernel_init_freeable+0x128/0x1bc)
    [ 2.920936] r10:c078dbd8 r9:00000007 r8:c0758600 r7:c078dbd0 r6:c0799718 r5:c07d7000
    [ 2.928838] r4:c07d7000
    [ 2.931396] [<c0758d08>] (kernel_init_freeable) from [<c055ad2c>] (kernel_init+0x10/0xf0)
    [ 2.939606] r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c055ad1c
    [ 2.947505] r4:00000000
    [ 2.950062] [<c055ad1c>] (kernel_init) from [<c000f608>] (ret_from_fork+0x14/0x2c)
    [ 2.957661] r5:c055ad1c r4:00000000
    [ 2.961262] ---[ end trace 0f82fe5ca570227b ]---
    [ 2.973234] usbcore: registered new interface driver r8152
    [ 2.979522] usbcore: registered new interface driver asix
    [ 2.985228] usbcore: registered new interface driver ax88179_178a
    [ 2.991604] usbcore: registered new interface driver cdc_ether
    [ 2.997660] usbcore: registered new interface driver smsc95xx
    [ 3.003684] usbcore: registered new interface driver net1080
    [ 3.009524] usbcore: registered new interface driver cdc_subset
    [ 3.015687] usbcore: registered new interface driver zaurus
    [ 3.021588] usbcore: registered new interface driver cdc_ncm
    [ 3.835016] dwc3 48390000.usb: otg: primary host xhci-hcd.0.auto registered
    [ 3.842035] dwc3 48390000.usb: otg: shared host xhci-hcd.0.auto registered
    [ 3.849003] dwc3 48390000.usb: otg: can't start till gadget registers
    [ 3.856094] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
    [ 3.862008] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 1
    [ 3.870343] xhci-hcd xhci-hcd.1.auto: hcc params 0x0238f06d hci version 0x100 quirks 0x00010010
    [ 3.879174] xhci-hcd xhci-hcd.1.auto: irq 291, io mem 0x483d0000
    [ 3.885391] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    [ 3.892221] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [ 3.899501] usb usb1: Product: xHCI Host Controller
    [ 3.904422] usb usb1: Manufacturer: Linux 4.1.6-g0ba35b4-dirty xhci-hcd
    [ 3.911067] usb usb1: SerialNumber: xhci-hcd.1.auto
    [ 3.916917] hub 1-0:1.0: USB hub found
    [ 3.920919] hub 1-0:1.0: 1 port detected
    [ 3.925339] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
    [ 3.931182] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 2
    [ 3.939120] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
    [ 3.947399] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003
    [ 3.954248] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [ 3.961508] usb usb2: Product: xHCI Host Controller
    [ 3.966438] usb usb2: Manufacturer: Linux 4.1.6-g0ba35b4-dirty xhci-hcd
    [ 3.973085] usb usb2: SerialNumber: xhci-hcd.1.auto
    [ 3.978926] hub 2-0:1.0: USB hub found
    [ 3.982918] hub 2-0:1.0: 1 port detected
    [ 3.987492] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [ 3.994213] ehci-pci: EHCI PCI platform driver
    [ 3.998856] ehci-omap: OMAP-EHCI Host Controller driver
    [ 4.004827] usbcore: registered new interface driver cdc_wdm
    [ 4.010999] usbcore: registered new interface driver usb-storage
    [ 4.017468] mousedev: PS/2 mouse device common for all mice
    [ 4.025645] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
    [ 4.034549] i2c /dev entries driver
    [ 4.040398] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [ 4.088040] omap-aes 53501000.aes: OMAP AES hw accel rev: 0.1
    [ 4.095454] omap-des 53701000.des: OMAP DES hw accel rev: 0.33
    [ 4.102895] omap-sham 53100000.sham: hw accel on OMAP rev 0.0
    [ 4.111809] usbcore: registered new interface driver usbhid
    [ 4.117465] usbhid: USB HID core driver
    [ 4.126213] ------------[ cut here ]------------
    [ 4.130892] WARNING: CPU: 0 PID: 1 at ../drivers/bus/omap_l3_noc.c:147 l3_interrupt_handler+0x268/0x370()
    [ 4.140505] 44000000.ocp:L3 Custom Error: MASTER M2 (64-bit) TARGET L4_PER_0 (Idle): Data Access in Supervisor mode during Functional access
    [ 4.153165] Modules linked in:
    [ 4.156248] CPU: 0 PID: 1 Comm: swapper Tainted: G W 4.1.6-g0ba35b4-dirty #62
    [ 4.164548] Hardware name: Generic AM43 (Flattened Device Tree)
    [ 4.170493] Backtrace:
    [ 4.172983] [<c0012820>] (dump_backtrace) from [<c0012a44>] (show_stack+0x18/0x1c)
    [ 4.180583] r7:c0265f70 r6:00000093 r5:00000009 r4:00000000
    [ 4.186319] [<c0012a2c>] (show_stack) from [<c055d174>] (dump_stack+0x24/0x28)
    [ 4.193590] [<c055d150>] (dump_stack) from [<c0037340>] (warn_slowpath_common+0x88/0xb4)
    [ 4.201724] [<c00372b8>] (warn_slowpath_common) from [<c00373a4>] (warn_slowpath_fmt+0x38/0x40)
    [ 4.210459] r8:c06d3b20 r7:c058dd60 r6:c06d39c0 r5:ddce3ed0 r4:c06d3a64
    [ 4.217234] [<c0037370>] (warn_slowpath_fmt) from [<c0265f70>] (l3_interrupt_handler+0x268/0x370)
    [ 4.226144] r3:ddce3c40 r2:c06d3a64
    [ 4.229747] r4:80080003
    [ 4.232318] [<c0265d08>] (l3_interrupt_handler) from [<c0061048>] (handle_irq_event_percpu+0xa4/0x160)
    [ 4.241664] r10:c07d4694 r9:ddcdf7c0 r8:00000013 r7:00000000 r6:00000000 r5:c07a10f8
    [ 4.249564] r4:ddcbb640
    [ 4.252121] [<c0060fa4>] (handle_irq_event_percpu) from [<c0061134>] (handle_irq_event+0x30/0x40)
    [ 4.261029] r10:00000000 r9:00000007 r8:ddc04000 r7:00000001 r6:00000000 r5:c07a10f8
    [ 4.268929] r4:ddcdf7c0
    [ 4.271489] [<c0061104>] (handle_irq_event) from [<c0063934>] (handle_fasteoi_irq+0xa4/0x16c)
    [ 4.280050] r5:c07a10f8 r4:ddcdf7c0
    [ 4.283662] [<c0063890>] (handle_fasteoi_irq) from [<c006078c>] (generic_handle_irq+0x34/0x44)
    [ 4.292308] r5:00000000 r4:00000013
    [ 4.295921] [<c0060758>] (generic_handle_irq) from [<c00609f0>] (__handle_domain_irq+0x5c/0xb0)
    [ 4.304655] r5:00000000 r4:c07b1fc0
    [ 4.308267] [<c0060994>] (__handle_domain_irq) from [<c000943c>] (gic_handle_irq+0x2c/0x5c)
    [ 4.316652] r9:00000007 r8:dde9de10 r7:fa240100 r6:ddc4dd20 r5:c079c390 r4:fa24010c
    [ 4.324479] [<c0009410>] (gic_handle_irq) from [<c05614c0>] (__irq_svc+0x40/0x54)
    [ 4.331996] Exception stack(0xddc4dd20 to 0xddc4dd68)
    [ 4.337075] dd20: ddf46400 00000000 c07a0568 c07d72f4 ddf46400 c05bf808 00000001 00000001
    [ 4.345294] dd40: dde9de10 00000007 00000000 ddc4dd74 ddc4dd78 ddc4dd68 c001b160 c001e64c
    [ 4.353507] dd60: a0000113 ffffffff
    [ 4.357008] r7:ddc4dd54 r6:ffffffff r5:a0000113 r4:c001e64c
    [ 4.362745] [<c001e62c>] (l2c210_sync) from [<c001b160>] (arm_heavy_mb+0x24/0x40)
    [ 4.370274] [<c001b13c>] (arm_heavy_mb) from [<c045c11c>] (tiadc_probe+0xe8/0x61c)
    [ 4.377896] [<c045c034>] (tiadc_probe) from [<c030ebbc>] (platform_drv_probe+0x4c/0xb4)
    [ 4.385933] r10:00000000 r9:00000007 r8:00000000 r7:fffffdfb r6:c07cd2f4 r5:dde9de10
    [ 4.393834] r4:c07fee8c
    [ 4.396393] [<c030eb70>] (platform_drv_probe) from [<c030d1f8>] (driver_probe_device+0x184/0x2bc)
    [ 4.405303] r7:c07cd2f4 r6:00000000 r5:dde9de10 r4:c07fee8c
    [ 4.411025] [<c030d074>] (driver_probe_device) from [<c030d410>] (__driver_attach+0x94/0x98)
    [ 4.419498] r9:00000007 r8:c0758600 r7:00000000 r6:dde9de44 r5:c07cd2f4 r4:dde9de10
    [ 4.427326] [<c030d37c>] (__driver_attach) from [<c030b69c>] (bus_for_each_dev+0x70/0xa4)
    [ 4.435538] r7:00000000 r6:c030d37c r5:c07cd2f4 r4:00000000
    [ 4.441256] [<c030b62c>] (bus_for_each_dev) from [<c030cc4c>] (driver_attach+0x24/0x28)
    [ 4.449293] r6:c07be3e0 r5:ddf43a00 r4:c07cd2f4
    [ 4.453962] [<c030cc28>] (driver_attach) from [<c030c8f0>] (bus_add_driver+0x150/0x1f8)
    [ 4.462007] [<c030c7a0>] (bus_add_driver) from [<c030da94>] (driver_register+0x80/0x100)
    [ 4.470131] r7:ddf456c0 r6:c079e8e0 r5:c0783d08 r4:c07cd2f4
    [ 4.475852] [<c030da14>] (driver_register) from [<c030eb00>] (__platform_driver_register+0x5c/0x64)
    [ 4.484936] r5:c0783d08 r4:c079e8e0
    [ 4.488562] [<c030eaa4>] (__platform_driver_register) from [<c0783d24>] (tiadc_driver_init+0x1c/0x20)
    [ 4.497829] [<c0783d08>] (tiadc_driver_init) from [<c0009660>] (do_one_initcall+0x94/0x1dc)
    [ 4.506235] [<c00095cc>] (do_one_initcall) from [<c0758e30>] (kernel_init_freeable+0x128/0x1bc)
    [ 4.514970] r10:c078dbd8 r9:00000007 r8:c0758600 r7:c078dbd0 r6:c0799864 r5:c07d7000
    [ 4.522874] r4:c07d7000
    [ 4.525432] [<c0758d08>] (kernel_init_freeable) from [<c055ad2c>] (kernel_init+0x10/0xf0)
    [ 4.533644] r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c055ad1c
    [ 4.541545] r4:00000000
    [ 4.544105] [<c055ad1c>] (kernel_init) from [<c000f608>] (ret_from_fork+0x14/0x2c)
    [ 4.551705] r5:c055ad1c r4:00000000
    [ 4.555306] ---[ end trace 0f82fe5ca570227c ]---
    [ 4.560039] ------------[ cut here ]------------
    [ 4.564697] WARNING: CPU: 0 PID: 1 at ../drivers/bus/omap_l3_noc.c:147 l3_interrupt_handler+0x268/0x370()
    [ 4.574309] 44000000.ocp:L3 Custom Error: MASTER M2 (64-bit) TARGET L4_PER_0 (Idle): Data Access in Supervisor mode during Functional access
    [ 4.586967] Modules linked in:
    [ 4.590045] CPU: 0 PID: 1 Comm: swapper Tainted: G W 4.1.6-g0ba35b4-dirty #62
    [ 4.598345] Hardware name: Generic AM43 (Flattened Device Tree)
    [ 4.604288] Backtrace:
    [ 4.606765] [<c0012820>] (dump_backtrace) from [<c0012a44>] (show_stack+0x18/0x1c)
    [ 4.614365] r7:c0265f70 r6:00000093 r5:00000009 r4:00000000
    [ 4.620091] [<c0012a2c>] (show_stack) from [<c055d174>] (dump_stack+0x24/0x28)
    [ 4.627358] [<c055d150>] (dump_stack) from [<c0037340>] (warn_slowpath_common+0x88/0xb4)
    [ 4.635491] [<c00372b8>] (warn_slowpath_common) from [<c00373a4>] (warn_slowpath_fmt+0x38/0x40)
    [ 4.644225] r8:c06d3b20 r7:c058dd60 r6:c06d39c0 r5:ddce3ed0 r4:c06d3a64
    [ 4.651005] [<c0037370>] (warn_slowpath_fmt) from [<c0265f70>] (l3_interrupt_handler+0x268/0x370)
    [ 4.659915] r3:ddce3c40 r2:c06d3a64
    [ 4.663517] r4:80080003
    [ 4.666079] [<c0265d08>] (l3_interrupt_handler) from [<c0061048>] (handle_irq_event_percpu+0xa4/0x160)
    [ 4.675424] r10:c07d4694 r9:ddcdf7c0 r8:00000013 r7:00000000 r6:00000000 r5:c07a10f8
    [ 4.683328] r4:ddcbb640
    [ 4.685886] [<c0060fa4>] (handle_irq_event_percpu) from [<c0061134>] (handle_irq_event+0x30/0x40)
    [ 4.694796] r10:00000000 r9:00000007 r8:ddc04000 r7:00000001 r6:00000000 r5:c07a10f8
    [ 4.702696] r4:ddcdf7c0
    [ 4.705255] [<c0061104>] (handle_irq_event) from [<c0063934>] (handle_fasteoi_irq+0xa4/0x16c)
    [ 4.713816] r5:c07a10f8 r4:ddcdf7c0
    [ 4.717428] [<c0063890>] (handle_fasteoi_irq) from [<c006078c>] (generic_handle_irq+0x34/0x44)
    [ 4.726075] r5:00000000 r4:00000013
    [ 4.729686] [<c0060758>] (generic_handle_irq) from [<c00609f0>] (__handle_domain_irq+0x5c/0xb0)
    [ 4.738420] r5:00000000 r4:c07b1fc0
    [ 4.742033] [<c0060994>] (__handle_domain_irq) from [<c000943c>] (gic_handle_irq+0x2c/0x5c)
    [ 4.750418] r9:00000007 r8:dde9de10 r7:fa240100 r6:ddc4dd20 r5:c079c390 r4:fa24010c
    [ 4.758241] [<c0009410>] (gic_handle_irq) from [<c05614c0>] (__irq_svc+0x40/0x54)
    [ 4.765756] Exception stack(0xddc4dd20 to 0xddc4dd68)
    [ 4.770836] dd20: 00000044 000080d0 00000013 03c3c3c3 000080d0 c05bf808 00000001 00000001
    [ 4.779054] dd40: dde9de10 00000007 00000000 ddc4dd84 ddc4dd88 ddc4dd68 c00d6a54 c00bb1c0
    [ 4.787265] dd60: 80000113 ffffffff
    [ 4.790767] r7:ddc4dd54 r6:ffffffff r5:80000113 r4:c00bb1c0
    [ 4.796502] [<c00d6a40>] (__kmalloc) from [<c045c160>] (tiadc_probe+0x12c/0x61c)
    [ 4.803928] r7:00000001 r6:00000001 r5:c05bf808 r4:ddf46400
    [ 4.809650] [<c045c034>] (tiadc_probe) from [<c030ebbc>] (platform_drv_probe+0x4c/0xb4)
    [ 4.817687] r10:00000000 r9:00000007 r8:00000000 r7:fffffdfb r6:c07cd2f4 r5:dde9de10
    [ 4.825587] r4:c07fee8c
    [ 4.828145] [<c030eb70>] (platform_drv_probe) from [<c030d1f8>] (driver_probe_device+0x184/0x2bc)
    [ 4.837053] r7:c07cd2f4 r6:00000000 r5:dde9de10 r4:c07fee8c
    [ 4.842774] [<c030d074>] (driver_probe_device) from [<c030d410>] (__driver_attach+0x94/0x98)
    [ 4.851246] r9:00000007 r8:c0758600 r7:00000000 r6:dde9de44 r5:c07cd2f4 r4:dde9de10
    [ 4.859071] [<c030d37c>] (__driver_attach) from [<c030b69c>] (bus_for_each_dev+0x70/0xa4)
    [ 4.867283] r7:00000000 r6:c030d37c r5:c07cd2f4 r4:00000000
    [ 4.873000] [<c030b62c>] (bus_for_each_dev) from [<c030cc4c>] (driver_attach+0x24/0x28)
    [ 4.881037] r6:c07be3e0 r5:ddf43a00 r4:c07cd2f4
    [ 4.885703] [<c030cc28>] (driver_attach) from [<c030c8f0>] (bus_add_driver+0x150/0x1f8)
    [ 4.893749] [<c030c7a0>] (bus_add_driver) from [<c030da94>] (driver_register+0x80/0x100)
    [ 4.901872] r7:ddf456c0 r6:c079e8e0 r5:c0783d08 r4:c07cd2f4
    [ 4.907594] [<c030da14>] (driver_register) from [<c030eb00>] (__platform_driver_register+0x5c/0x64)
    [ 4.916676] r5:c0783d08 r4:c079e8e0
    [ 4.920295] [<c030eaa4>] (__platform_driver_register) from [<c0783d24>] (tiadc_driver_init+0x1c/0x20)
    [ 4.929562] [<c0783d08>] (tiadc_driver_init) from [<c0009660>] (do_one_initcall+0x94/0x1dc)
    [ 4.937959] [<c00095cc>] (do_one_initcall) from [<c0758e30>] (kernel_init_freeable+0x128/0x1bc)
    [ 4.946694] r10:c078dbd8 r9:00000007 r8:c0758600 r7:c078dbd0 r6:c0799864 r5:c07d7000
    [ 4.954597] r4:c07d7000
    [ 4.957158] [<c0758d08>] (kernel_init_freeable) from [<c055ad2c>] (kernel_init+0x10/0xf0)
    [ 4.965369] r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c055ad1c
    [ 4.973268] r4:00000000
    [ 4.975828] [<c055ad1c>] (kernel_init) from [<c000f608>] (ret_from_fork+0x14/0x2c)
    [ 4.983430] r5:c055ad1c r4:00000000
    [ 4.987031] ---[ end trace 0f82fe5ca570227d ]---
    [ 4.992067] TI-am335x-adc: probe of TI-am43xx-adc failed with error -22
    [ 5.001435] oprofile: no performance counters
    [ 5.006831] oprofile: using timer interrupt.
    [ 5.011510] mmc0: MAN_BKOPS_EN bit is not set
    [ 5.016227] Initializing XFRM netlink socket
    [ 5.020618] NET: Registered protocol family 17
    [ 5.025190] NET: Registered protocol family 15
    [ 5.029790] Key type dns_resolver registered
    [ 5.034406] omap_voltage_late_init: Voltage driver support not added
    [ 5.041760] ThumbEE CPU extension supported.
    [ 5.046571] Registering SWP/SWPB emulation handler
    [ 5.052150] mmc0: new high speed MMC card at address 0001
    [ 5.060822] mmcblk0: mmc0:0001 008G30 7.28 GiB
    [ 5.065978] mmcblk0boot0: mmc0:0001 008G30 partition 1 4.00 MiB
    [ 5.072091] mmcblk0boot1: mmc0:0001 008G30 partition 2 4.00 MiB
    [ 5.080116] mmcblk0: p1 p2 p3
    [ 5.083538] rtc-pcf8523 0-0068: rtc core: registered rtc-pcf8523 as rtc1
    [ 5.093687] omap_i2c 44e0b000.i2c: bus 0 rev0.12 at 100 kHz
    [ 5.100611] omap_i2c 4819c000.i2c: bus 2 rev0.12 at 100 kHz
    [ 16.393824] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
    [ 16.399965] davinci_mdio 4a101000.mdio: detected phy mask fffffffd
    [ 16.406940] libphy: 4a101000.mdio: probed
    [ 16.410988] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01, driver unknown
    [ 16.420168] cpsw 4a100000.ethernet: Detected MACID = c4:be:84:cb:4b:8b
    [ 16.428786] omap_rtc 44e3e000.rtc: hctosys: unable to read the hardware clock
    [ 16.440839] ALSA device list:
    [ 16.443929] No soundcards found.
    [ 16.453240] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null)
    [ 16.461595] VFS: Mounted root (ext4 filesystem) on device 179:1.
    [ 16.470571] devtmpfs: mounted
    [ 16.474078] Freeing unused kernel memory: 264K (c0758000 - c079a000)
    [ 16.595731] systemd[1]: Failed to insert module 'autofs4': Function not implemented
    [ 16.612848] random: systemd urandom read with 23 bits of entropy available
    [ 16.623364] systemd[1]: systemd 221 running in system mode. (-PAM -AUDIT -SELINUX +IMA -APPARMOR -SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS -ACL -XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN)
    [ 16.642062] systemd[1]: Detected architecture arm.

    Welcome to Buildroot 2015.08.1!

    [ 16.665410] systemd[1]: Set hostname to <morepork>.
    [ 16.750954] systemd-fstab-generator[801]: Ignoring "noauto" for root device
    [ OK ] Reached target Swap.
    [ 16.993998] systemd[1]: Reached target Swap.
    [ 16.998415] systemd[1]: Starting Swap.
    [ OK ] Created slice Root Slice.
    [ 17.013979] systemd[1]: Created slice Root Slice.
    [ 17.018816] systemd[1]: Starting Root Slice.
    [ OK ] Created slice System Slice.
    [ 17.044067] systemd[1]: Created slice System Slice.
    [ 17.049126] systemd[1]: Starting System Slice.
    [ OK ] Listening on udev Kernel Socket.
    [ 17.074032] systemd[1]: Listening on udev Kernel Socket.
    [ 17.079488] systemd[1]: Starting udev Kernel Socket.
    [ OK ] Listening on udev Control Socket.
    [ 17.103985] systemd[1]: Listening on udev Control Socket.
    [ 17.109530] systemd[1]: Starting udev Control Socket.
    [ OK ] Listening on /dev/initctl Compatibility Named Pipe.
    [ 17.133980] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
    [ 17.141088] systemd[1]: Starting /dev/initctl Compatibility Named Pipe.
    [ OK ] Listening on Journal Socket.
    [ 17.163989] systemd[1]: Listening on Journal Socket.
    [ 17.169132] systemd[1]: Starting Journal Socket.
    [ 17.176821] systemd[1]: Started Load Kernel Modules.
    [ 17.182012] systemd[1]: Mounted FUSE Control File System.
    [ 17.189625] systemd[1]: Mounting POSIX Message Queue File System...
    Mounting POSIX Message Queue File System...
    [ 17.214719] systemd[1]: Mounted Huge Pages File System.
    [ 17.229570] systemd[1]: Starting Apply Kernel Variables...
    Starting Apply Kernel Variables...
    [ 17.254254] systemd[1]: Started File System Check on Root Device.
    [ 17.262689] systemd[1]: Starting Setup Virtual Console...
    Starting Setup Virtual Console...
    [ 17.294272] systemd[1]: Starting of Arbitrary Executable File Formats File System Automount Point not supported.
    [ 17.308730] systemd[1]: Started Set Up Additional Binary Formats.
    [ 17.315397] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [ 17.323465] systemd[1]: Starting Dispatch Password Requests to Console Directory Watch.
    [ 17.334481] systemd[1]: Starting Create list of required static device nodes for the current kernel...
    Starting Create list of required st... nodes for the current kernel...
    [ 17.358213] systemd[1]: Starting Remount Root and Kernel File Systems...
    Starting Remount Root and Kernel File Systems...
    [ OK ] Listening on Journal Socket (/dev/log).
    [ 17.414178] systemd[1]: Listening on Journal Socket (/dev/log).
    [ 17.420301] systemd[1]: Starting Journal Socket (/dev/log).
    [ 17.438392] EXT4-fs (mmcblk0p1): re-mounted. Opts: (null)
    [ 17.461921] systemd[1]: Listening on Journal Audit Socket.
    [ 17.469933] systemd[1]: Starting Journal Service...
    Starting Journal Service...
    [ OK ] Created slice system-serial\x2dgetty.slice.
    [ 17.514119] systemd[1]: Created slice system-serial\x2dgetty.slice.
    [ 17.520564] systemd[1]: Starting system-serial\x2dgetty.slice.
    [ 17.544421] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    [ 17.552160] systemd[1]: Starting Forward Password Requests to Wall Directory Watch.
    [ OK ] Reached target Paths.
    [ 17.594083] systemd[1]: Reached target Paths.
    [ 17.598604] systemd[1]: Starting Paths.
    [ 17.615080] systemd[1]: Mounting Debug File System...
    Mounting Debug File System...
    [ 17.643551] systemd[1]: Mounted Configuration File System.
    [ OK ] Created slice User and Session Slice.
    [ 17.674109] systemd[1]: Created slice User and Session Slice.
    [ 17.680031] systemd[1]: Starting User and Session Slice.
    [ OK ] Reached target Slices.
    [ 17.724140] systemd[1]: Reached target Slices.
    [ 17.728752] systemd[1]: Starting Slices.
    [ OK ] Mounted Debug File System.
    [ 17.764078] systemd[1]: Mounted Debug File System.
    [ OK ] Mounted POSIX Message Queue File System.
    [ 17.784082] systemd[1]: Mounted POSIX Message Queue File System.
    [ OK ] Started Journal Service.
    [ 17.804056] systemd[1]: Started Journal Service.
    [ OK ] Started Apply Kernel Variables.
    [ OK ] Started Setup Virtual Console.
    [ OK ] Started Create list of required sta...ce nodes for the current kernel.
    [ OK ] Started Remount Root and Kernel File Systems.
    Starting udev Coldplug all Devices...
    Starting Create Static Device Nodes in /dev...
    [ OK ] Started Create Static Device Nodes in /dev.
    Starting udev Kernel Device Manager...
    [ OK ] Reached target Local File Systems (Pre).
    Mounting /tmp...
    [ OK ] Mounted /tmp.
    [ OK ] Started udev Kernel Device Manager.
    [ OK ] Found device /dev/ttyS0.
    /MMC:[ OK ] Started udev Coldplug all Devices.
    [ 19.610827] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [ OK ] Found device /dev/mmcblk0p3.
    Mounting /var...
    [ 20.074826] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null)
    [ OK ] Mounted /var.
    [ OK ] Reached target Local File Systems.
    Starting Load/Save Random Seed...
    Starting Flush Journal to Persistent Storage...
    [ OK ] Started Load/Save Random Seed.
    [ 20.433775] pruss-rproc 54440000.pruss0: null or error resource: shrdram2: 0: skipping
    [ 20.484634] i2c-gpio i2c-gpio-0: using pins 180 (SDA) and 179 (SCL)
    [ 20.504244] pruss-rproc 54440000.pruss0: creating platform devices for PRU cores
    [ 20.560721] pruss-rproc 54400000.pruss1: creating platform devices for PRU cores
    [ 20.596353] systemd-journald[827]: Received request to flush runtime journal from PID 1
    [ 20.625271] pru-rproc 54474000.pru0_0: no interrupt mbox: -19
    [ 20.631137] remoteproc0: 54474000.pru0_0 is available
    [ 20.636367] remoteproc0: Note: remoteproc is still under development and considered experimental.
    [ 20.645387] remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    [ OK ] Started Flush Journal to Persistent Storage.
    [ 20.826212] remoteproc0: registered virtio0 (type 7)
    [ 20.831467] pru-rproc 54474000.pru0_0: PRU rproc node /ocp/pruss@54440000/pru@54474000 probed successfully
    [ 20.879145] pru-rproc 54434000.pru1_0: generated interrupt mailbox channel
    [ 20.924517] pru-rproc 54434000.pru1_0: pru interrupt interface set up successfully on 247:0
    [ 20.932992] remoteproc1: 54434000.pru1_0 is available
    [ 20.938220] remoteproc1: Note: remoteproc is still under development and considered experimental.
    [ 20.947240] remoteproc1: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    Starting Create Volatile Files and Directories...
    [ 21.104458] remoteproc1: registered virtio1 (type 7)
    [ 21.109625] pru-rproc 54434000.pru1_0: PRU rproc node /ocp/pruss@54400000/pru@54434000 probed successfully
    [ OK ] Started Create Volatile Files and Directories.
    Starting Update UTMP about System Boot/Shutdown...
    [ OK ] Started Update UTMP about System Boot/Shutdown.
    [ 21.474030] remoteproc0: powering up 54474000.pru0_0
    [ 21.479658] remoteproc0: Booting fw image rproc-pr0-pru0-fw, size 73880
    [ 21.486558] remoteproc0: remote processor 54474000.pru0_0 is now up
    [ OK ] Reached target System Initialization.
    [ 21.495415] virtio_rpmsg_bus virtio0: rpmsg host is online
    [ 21.505617] remoteproc1: powering up 54434000.pru1_0
    [ 21.511521] remoteproc1: Booting fw image rproc-pr1-pru0-fw, size 179924
    [ 21.518609] remoteproc1: remote processor 54434000.pru1_0 is now up
    [ OK ] Reached target Timers.
    [ 21.528433] virtio_rpmsg_bus virtio0: creating channel rpmsg-pru addr 0x1e
    [ 21.545386] virtio_rpmsg_bus virtio1: rpmsg host is online
    [ OK ] Listening on D-Bus System Message Bus Socket.
    [ 21.557069] virtio_rpmsg_bus virtio1: creating channel rpmsg-pru addr 0x1d
    [ 21.567657] rpmsg_init: rpmsg bus registered
    [ OK ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
    [ 21.595741] rpmsg rpmsg0: rpmsg bus: seeking driver for channel rpmsg-pru
    [ 21.602589] rpmsg rpmsg0: rpmsg bus: found driver for channel rpmsg-pru!
    [ OK ] Reached target Sockets.
    [ 21.616962] rpmsg_pru rpmsg0: new rpmsg_pru device: /dev/rpmsg_pru30
    [ 21.623388] rpmsg rpmsg1: rpmsg bus: seeking driver for channel rpmsg-pru
    [ 21.630284] rpmsg rpmsg1: rpmsg bus: found driver for channel rpmsg-pru!
    [ OK ] Reached target Basic System.
    [ 21.646801] rpmsg_pru rpmsg1: new rpmsg_pru device: /dev/rpmsg_pru29
    Starting Connection service...
    Starting USB Host Bringup...
    Starting Avahi mDNS/DNS-SD Stack...
    [ OK ] Started Serial Getty on ttyS0.
    Starting Serial Getty on ttyS0...
    [ OK ] Started D-Bus System Message Bus.
    [ 21.936708] 3dprinter gadget: MakerBot Industries Desktop 3D Printer, version: status: 02013 JUL 19
    [ 21.946012] 3dprinter gadget: 3dprinter ready
    [ 21.983223] dwc3 48390000.usb: otg: gadget gadget registered
    [ OK ] Started Avahi mDNS/DNS-SD Stack.
    [ OK ] Started Connection service.
    Starting D-Bus System Message Bus...
    [ OK ] Reached target Remote File Systems (Pre).
    [ OK ] Reached target Remote File Systems.
    [ OK ] Started Avahi DNS Configuration Daemon.
    [ 22.134920] net eth0: initializing cpsw version 1.15 (0)
    [ 22.141459] libphy: PHY 4a101000.mdio:00 not found
    [ 22.146338] net eth0: phy 4a101000.mdio:00 not found on slave 0
    Starting Avahi DNS Configuration Daemon...
    Starting OpenSSH server daemon...
    Starting Update clock from rtc...
    Starting Login Service...
    Starting Network Name Resolution...
    [ 22.254272] net eth0: phy found : id is : 0x2000a240
    [ OK ] Started USB Host Bringup.
    [ OK ] Started OpenSSH server daemon.
    [FAILED] Failed to start Update clock from rtc.
    See 'systemctl status rtcupdate.service' for details.
    [ OK ] Started Network Name Resolution.
    [ OK ] Started Login Service.
    Starting WPA supplicant...
    Mounting Configuration File System...
    [ OK ] Started Kaiten.
    Starting Kaiten...
    [ OK ] Started Auto auther.
    Starting Auto auther...
    [ OK ] Mounted Configuration File System.
    [ 25.254559] cpsw 4a100000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off
    [ 26.672658] random: nonblocking pool is initialized

  • Jason,

    I've been spending most of the day today trying to figure out the root cause of the errors in my previous reply. 

    the error between 0.207343 and 0.208686  is irrelevant to adcs, we have spent a couple days trying to find the root origin of this error unsuccessfully and still have it as a TODO. 

    the errors between 1.653991 and 2.961262 occur whenever tscadc_writel is called within ti_am335x_tscadc.c during the probing of the magadc. The error appears to be linked to reg = <0x4834c000 0x2000>; of am4362.dtsi, if instead we give magadc the same reg value as tscadc (0x44e0d000) these errors go away, but of course magadc doesn’t work (device still never shows up). The number of errors is equivalent to the number of times tscadc_writel is called.

    The final error, [ 4.992067] TI-am335x-adc: probe of TI-am43xx-adc failed with error -22, occurs when the magadc probe ultimately calls request_threaded_irq(irq, pollfunc_th, pollfunc_bh,

    flags, indio_dev->name, indio_dev); within tiadc_iio_buffered_hardware_setup of ti_am335x_adc.c. I’ve attempted different irq settings without luck.

    I am going to continue to try debugging these issues, but figured this information would be helpful to you once you get back to this ticket.

    Thank you again for your time and assistance.

  • Taylor,

    Your errors on attempted tscadc_writel writes appear to be caused by a clock issue somewhere. This type of error usually means that the peripheral or its clocks are not powered on. Double check everything in 'arch/arm/mach-omap2/omap_hwmod_43xx-data.c', 'arch/arm/mach-omap2/prcm43xx.h', and 'drivers/clk/ti/clk-43xx.c'.

    I have spent the better part of a day trying to port the ADC1 code from the repo I sent you to the latest version of the Linux Processor SDK (v3.2.0.5) and I am now stuck at the same request_threaded_irq as you. I can see that the first time through the probe function (ADC0 I'm assuming) gets an IRQ mapping of 145 and uses it to request the threaded IRQ. However, when ADC1 comes through the probe function it enters the threaded IRQ request with an IRQ mapping of 0 which I think is why -22 (invalid) is getting returned.

    I'll see if I can make some progress tomorrow. If I don't make any progress you may have to wait until ADC1 is officially supported in an upcoming release of the Linux Processor SDK.

    Jason Reeder

  • Jason,

    Thank you for your response. I've once more thoroughly checked the changes related to the adc's in my clock configuration files; however, I am still getting the errors on writel calls. There are a few changes I haven't incorporated because they seem to be unrelated to the ADC's, but perhaps one of these changes is actually required. Any chance you can send me the copies of the files you made changes to in the latest SDK so I can compare with those files? Thanks again for your time and help.

    Kind regards,
    Taylor Fahey

  • Taylor,

    I was able to get ADC1 working on my AM437x GP EVM using the Linux Processor SDK v3.2.0.5. See the attached patch:/cfs-file/__key/communityserver-discussions-components-files/354/5850.0001_2D00_HACK_2D00_Add_2D00_ADC1_2D00_support_2D00_to_2D00_the_2D00_AM437x_2D00_GP_2D00_EVM.patch

    In addition to whatever changes you'll need to get your clocking/register writes working, I also had to make a couple changes to the 'drivers/mfd/ti_am335x_tscadc.c' file. Search for 'JR' in that file to find the changes that I had to make. The first change was to allow the magadc node to get a valid IRQ number and the second change was to write the correct bit in the ADC1_CTRL register in order to store the Step ID number with the captured ADC data (without the Step ID being written I could only read from iio:device1/in_voltage0_raw).

    If you'd like to bypass the preamplifier for ADC1 (in order to get readings back from 0 - 4095 (I checked)) you'll need to uncomment one of the lines in my second change (the one that modifies the ADC1_CTRL register) in order to bypass and power down the preamplifier.

    Let me know if this doesn't get you up and running. I've tested all 16 inputs on my AM437x GP EVM and I can get values from 0-4095 when I touch the pins to either GND or 1.8V.

    Jason Reeder

  • Jason,

    Thank you very much for this patch, that solved all of my problems and I am now able to read values from 0-4096 on both adcs! Unfortunately though, I am still seeing some weird behavior when shorting and testing readings.

    At steady state, ADC1 has the following voltages and readings:
    ADC1-0 = 1.783V - 4094
    ADC1-1 = 1.783V - 4087
    ADC1-2 = 1.783V - 4082
    ADC1-3 = 1.783V - 4082
    ADC1-4 = 1.783V - 4070
    ADC1-5 = 1.783V - 4072
    ADC1-6 = 0.21V - 48
    ADC1-7 = 0.092V - 220


    So these values all seem fine. The interesting stuff happens when I begin to short pins to ground.
    Shorting ADC1-0 to ground results in the following values:
    ADC1-0 = 0.0V - 1
    ADC1-1 = 0.183V - 424
    ADC1-2 = 1.783V - 4023
    ADC1-3 = 1.783V - 4026
    ADC1-4 = 1.783V - 4023
    ADC1-5 = 1.783V - 4026
    ADC1-6 = 0.21V - 48
    ADC1-7 = 0.092V - 220

    Shorting ADC1-3 to ground results in the following values:
    ADC1-0 = 1.783V - 4094
    ADC1-1 = 1.783V - 4086
    ADC1-2 = 0.184V - 429
    ADC1-3 = 0V - 2
    ADC1-4 = 1.783V - 4081
    ADC1-5 = 1.783V - 4082
    ADC1-6 = 0.21V - 48
    ADC1-7 = 0.092V - 220


    Shorting ADC1-4 to ground results in the following values:
    ADC1-0 = 1.783V - 4094
    ADC1-1 = 1.783V - 4086
    ADC1-2 = 1.783V - 4082
    ADC1-3 = 1.783V - 4081
    ADC1-4 = 0V - 1
    ADC1-5 = 0.183V - 411
    ADC1-6 = 0.21V - 48
    ADC1-7 = 0.092V - 219

    So it appears that shorting an ADC1 pin results in its differential pin getting a lowered voltage, in all cases moving from 1.783V to 0.183V. Any chance you see this behavior on your board as well? Unfortunately i am unable to easily short my ADC0 pins to see if this happens to them as well.

    A final concern I have is that in order to get this to work I had to copy entirely all of the iio drivers and includes from the older kernel to our kernel, which obviously introduced a lot of changes that are unnecessary. Other than going through and attempting to cherry pick proper commits or waiting for an official release, do you see any simple way to avoid this? 

    Thank you for your time and help

  • Taylor,

    Take a look at section 12.3.2.1 in the AM437x TRM (http://www.ti.com/lit/spruhl7). This section provides a block diagram of the internals of ADC1 in Figure 12-5 with a zoomed in view in Figure 12-4.

    The third paragraph in this section gives the following warning:

    If the preamplifiers are bypassed, the user may configure a step to use any 1 of the 8 inputs when
    operating in single-ended mode or any 2 of the 8 inputs when operating in differential mode. However, the
    effect of the bias resistors and bias supply on the attached voltage source(s) should be considered when
    using ADC1 as a general purpose ADC. Each internal bias supply has a high output impedance when
    turned off which will be the case when bypassing the preamplifiers. In this use case, the majority of the
    input leakage current from any of the analog inputs will be based on the external voltage source
    connected to the other input associated with the preamplifier. For example, the ADC would measure 0.975
    volts on ADC1_AIN1 if it were connected to a 1.0 volt, 1 kohm source while ADC1_AIN2 is connected to a
    0.5 volt, 1 kohm source. The error caused by the internal bias resistors can be minimized by connecting
    the analog inputs to low impedance voltage sources or leaving the other input associated with the
    preamplifier open-circuit.

    Have you tried connecting a pair of inputs (0 and 1 for instance) to two different known voltage sources to see if the reading that you desire is off by an unacceptable amount on either of them (or if they affect one another more than a small error as mentioned above)? I'm not sure that leaving one input disconnected from any voltage source and then seeing its ADC reading change is indicative of a problem yet. I do see similar behavior on my board when leaving one pin floating, but once I connect both inputs to voltage sources (GND and 1.8V in my case) I see both reading basically where they should be (~8 and 4095 respectively).

    Outside of cherry picking or waiting for the official release, no, I don't see a simple way.

    Jason Reeder

  • Jason,

    Ok this solves all my questions related to this issue, thank you very much for your help.
    Any chance there is a way I can contact you directly in the future to solve some other issues we are having, or will I have to open up a separate e2e ticket for every issue? Specifically, I am now trying to get ECap0 and Ecap1 to determine the duty of a tach fan pin (it looks like TI only bothered to write the PWM output portion of the drivers and has yet to support the input capture portion of this). I'm also running into many issues trying to get the WL1837 wifi chip working with the AM4378. Thank you for your time and assistance.
  • Taylor,

    Thanks for coming back and confirming.

    You'll need to create new E2E posts for each distinct question. This allows the rest of the community to benefit from any solutions offered and also helps us to get the right set of eyes on the question.

    Jason Reeder

  • Jason,

    I've made another post for the issues I am having with the PWM modules of the AM437x chip, your feedback would be much appreciated - e2e.ti.com/.../569359
    Thank you very much!

    Kind regards
  • Hi, Taylor:

          I am working on bringing up ADC1 on the AM4379 in SDK ti-processor-sdk-linux-rt-am437x-evm-03.01.00.06. Following the advice from the ticket, I  patch my source code according to :/cfs-file/__key/communityserver-discussions-componentsfiles/354/0001_2D00_HACK_2D00_Add_2D00_ADC1_2D00_support_2D00_to_2D00_the_2D00_AM437x_2D00_GP_2D00_EVM.patch. Then I  uncomment one of the lines in second "JR" change (the one that modifies the ADC1_CTRL register) in order to bypass and power down the preamplifier.

        On my board, VDD_ADC1=1.8V, VDDADC1_VREFP=1.22V, ADC1_AIN0/1/2/3/5/6/7 is unconnected, ADC1_AIN4 input is stable 0.15V,  the following is the information i get:

    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage4_raw 
    357
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage4_raw 
    364
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage4_raw 
    356
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage4_raw 
    358
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage4_raw 
    364
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage4_raw 
    369
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage4_raw 
    347
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage4_raw 
    358
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage4_raw 
    365
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage4_raw 
    352
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage4_raw 
    366
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage4_raw 
    352
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage4_raw 
    363
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage4_raw 
    351
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage4_raw 
    365
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage4_raw 
    361
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage4_raw 
    359
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage4_raw

    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage0_raw 
    4090
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage1_raw 
    4093
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage2_raw 
    4095
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage3_raw 
    4095

    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage5_raw 
    751
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage5_raw 
    746
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage5_raw 
    744
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage5_raw 
    743
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage5_raw 
    739
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage5_raw 
    750
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage5_raw 
    739
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage5_raw 
    738
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage5_raw 
    746

    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage6_raw 

    4093
    root@am437x-evm:/sys/bus/iio/devices/iio:device0# cat in_voltage7_raw 
    4095

    assume ADC1_AIN4 is 365, then 1.22/4096 x 365 = 0.11V, which is not 0.15V,  if ADC1_VREFP is1.8V, 1.8/4096 x 365=0.16V,  It seems like 1.22V Vref  does not work.

      Because my SDK version is not the same as   provied, and I had changed  source code about ADC by manual, Can you zip the source code of the following files to me because i worry about that  i I  made some mistakes when I patched my soure code , so I can compare the source code, I need the following files:

    am43xx-clocks.dtsi

    am4372.dtsi

    prcm43xx.h

    clk-43xx.c

    omap_hwmod_43xx_data.c

    ti_am335x_tscadc.h

    ti_am335x_tscadc.c

    ti_magadc.h

    ti_magadc.c

    ti_am335x_tsc.c

    ti_am335x_adc.c

    Thank you!