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/PROCESSOR-SDK-AM335X: ADC driver issue

Part Number: PROCESSOR-SDK-AM335X

Tool/software: Linux

I was creating my own uboot, linux kernel and rootfs based on the  ti-processor-sdk-linux-am335x-evm-04.03.00.05.  Kernel was built based on tisdk_am335x-evm_defconfig with additional configs (via make menuconfig)for Ethernet over usb (for usb0 i/f) support.    Device tree with built with the ADC support included.   I also created a rootfs with all kernel modules installed to it, all went well.  

 

I then created a bootable SD card with the images created above and was able to boot successfully on a BBGW reference board.   However, he ADC driver doesn’t seem to work properly after the driver is loaded.   I couldn’t find any entries under

/sys/bus/iio/devices

  

I used am335x-bonegreen.dts for my BBGW reference board and added below entry to the end.

&tscadc {

        status = "okay";

        adc {

                ti,adc-channels = <4 5 6 7>;

        };

};

 

I also added a few debug prints to the driver (see attached), but I didn’t see anything printed when modprobing the driver.

 

Below is the console log:

root@am335x-evm:~#

root@am335x-evm:~# modprobe ti_am335x_adc

root@am335x-evm:~#

root@am335x-evm:~#

root@am335x-evm:~# lsmod

Module                  Size  Used by

usb_f_ecm               6492  1

g_ether                 4869  0

usb_f_rndis            15482  2 g_ether

u_ether                12937  3 usb_f_ecm,g_ether,usb_f_rndis

libcomposite           44254  3 usb_f_ecm,g_ether,usb_f_rndis

ti_am335x_adc           7031  0

ti_am335x_tscadc        6162  1 ti_am335x_adc

ax88179_178a           14640  0

usbnet                 25750  1 ax88179_178a

pru_rproc              10584  0

pruss_intc              7163  1 pru_rproc

pruss                   9582  1 pru_rproc

musb_dsps               9734  0

musb_hdrc              87973  1 musb_dsps

udc_core               19322  5 usb_f_ecm,musb_hdrc,u_ether,usb_f_rndis,libcomposite

usbcore               201668  3 usbnet,ax88179_178a,musb_hdrc

phy_am335x              2372  2

phy_generic             5372  1 phy_am335x

usb_common              4737  6 phy_am335x,udc_core,musb_hdrc,libcomposite,musb_dsps,usbcore

phy_am335x_control      2873  1 phy_am335x

snd_soc_simple_card     5844  0

snd_soc_simple_card_utils     5095  1 snd_soc_simple_card

pm33xx                  6433  0

wkup_m3_rproc           3670  1

wkup_m3_ipc             8176  1 pm33xx

remoteproc             28453  3 pru_rproc,wkup_m3_rproc,wkup_m3_ipc

omap_aes_driver        19334  0

crypto_engine           7098  1 omap_aes_driver

omap_sham              21950  0

ti_emif_sram            5663  1 pm33xx

pruss_soc_bus           4105  0

rtc_omap                9662  1

musb_am335x             1426  0

omap_wdt                4634  0

sch_fq_codel            9051  4

cryptodev              38083  0

root@am335x-evm:~#

 

Any input is greatly appreciated.

 

 


A second issue I had is the usb0 interface (RNDIS over USB)  is not automatically recognized, I can manually load the modules to make usb0 available, but I can’t ping to the host from it.     Is there anything missing here?   What else  is needed?

 

Thanks

The second issue I got is t

 

  • Hello Mike,

    I will offer support for your ADC question. Did you take a fresh, unmodified version of the SDK and check if your ADC driver was working as expected there? (so we can determine if the issue is in the ADC area, or in one of the other changes you made)

    Regards,
    Nick
  • Hello Mike,

    Could you please create a separate thread for the USB question? That will make it easier for us to help you and easier for others reading the thread in the future.

    Regards,
    Nick
  • Hi Nick,

    Thanks for helping with the issue. Yes, I took a fresh SDK making sure ADC driver is enabled in the Kernel config, added the tsc entry to the default dtb file, built the kernel, device tree, bootloader, and a rootfs. After my BBGW board is booted up, I loaded the ADC driver, but I don't see devices created under /sys/bus/iio/devices/

    Thanks,
    Mike
  • Attached is a console log.

    6433.console_log.txt
    U-Boot SPL 2017.01 (Apr 16 2018 - 10:41:13)
    Trying to boot from MMC1
    *** Warning - bad CRC, using default environment
    
    reading u-boot.img
    reading u-boot.img
    
    
    U-Boot 2017.01 (Apr 16 2018 - 10:41:13 -0400)
    
    CPU  : AM335X-GP rev 2.1
    I2C:   ready
    DRAM:  512 MiB
    MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
    *** Warning - bad CRC, using default environment
    
    <ethaddr> not set. Validating first E-fuse MAC
    Net:   Could not get PHY for cpsw: addr 0
    cpsw, usb_ether
    Press SPACE to abort autoboot in 2 seconds
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    reading boot.scr
    ** Unable to read file boot.scr **
    reading uEnv.txt
    1202 bytes read in 5 ms (234.4 KiB/s)
    Loaded env from uEnv.txt
    Importing environment from mmc0 ...
    switch to partitions #0, OK
    mmc0 is current device
    Scanning mmc 0:1...
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    3624984 bytes read in 304 ms (11.4 MiB/s)
    37889 bytes read in 19 ms (1.9 MiB/s)
    ## Flattened Device Tree blob at 88000000
       Booting using the fdt blob at 0x88000000
       Loading Device Tree to 8fff3000, end 8ffff400 ... OK
    
    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 4.9.69-g9ce43c71ae (xingm@xingm-VirtualBox) (gcc version 6.2.1 20161016 (Linaro GCC 6.2-2016.11) ) #7 PREEMPT Wed Apr 18 11:49:53 EDT 2018
    [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] OF: fdt:Machine model: TI AM335x BeagleBone Black
    [    0.000000] efi: Getting EFI parameters from FDT:
    [    0.000000] efi: UEFI not found.
    [    0.000000] cma: Reserved 48 MiB at 0x9d000000
    [    0.000000] Memory policy: Data cache writeback
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] AM335X ES2.1 (sgx neon)
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 129920
    [    0.000000] Kernel command line: console=ttyO0,115200n8 root=PARTUUID=00000000-02 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: 457972K/524288K available (7168K kernel code, 281K rwdata, 2368K rodata, 1024K init, 280K bss, 17164K reserved, 49152K 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 - 0xff800000   ( 496 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 - 0xc0800000   (8160 kB)
    [    0.000000]       .init : 0xc0b00000 - 0xc0c00000   (1024 kB)
    [    0.000000]       .data : 0xc0c00000 - 0xc0c46750   ( 282 kB)
    [    0.000000]        .bss : 0xc0c46750 - 0xc0c8c9b4   ( 281 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [    0.000000] Preemptible hierarchical RCU implementation.
    [    0.000000]  Build-time adjustment of leaf fanout to 32.
    [    0.000000] NR_IRQS:16 nr_irqs:16 16
    [    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    [    0.000000] OMAP clockevent source: timer2 at 24000000 Hz
    [    0.000014] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
    [    0.000033] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [    0.000042] OMAP clocksource: timer1 at 24000000 Hz
    [    0.000185] clocksource_probe: no matching clocksources found
    [    0.000340] Console: colour dummy device 80x30
    [    0.000363] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
    [    0.000369] This ensures that you still see kernel messages. Please
    [    0.000374] update your kernel commandline.
    [    0.000394] Calibrating delay loop... 996.14 BogoMIPS (lpj=4980736)
    [    0.089241] pid_max: default: 32768 minimum: 301
    [    0.089357] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.089367] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.090071] CPU: Testing write buffer coherency: ok
    [    0.090414] Setting up static identity map for 0x80100000 - 0x80100060
    [    0.091168] EFI services will not be available.
    [    0.092313] devtmpfs: initialized
    [    0.102392] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [    0.102715] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.102737] futex hash table entries: 256 (order: -1, 3072 bytes)
    [    0.106025] pinctrl core: initialized pinctrl subsystem
    [    0.107151] NET: Registered protocol family 16
    [    0.108805] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.121961] omap_hwmod: debugss: _wait_target_disable failed
    [    0.199231] cpuidle: using governor ladder
    [    0.229221] cpuidle: using governor menu
    [    0.234542] OMAP GPIO hardware version 0.1
    [    0.248051] No ATAGs?
    [    0.248077] hw-breakpoint: debug architecture 0x4 unsupported.
    [    0.286478] edma 49000000.edma: TI EDMA DMA engine driver
    [    0.289449] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0_pins, deferring probe
    [    0.289506] omap_i2c 4819c000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c2_pins, deferring probe
    [    0.289622] media: Linux media interface: v0.10
    [    0.289671] Linux video capture interface: v2.00
    [    0.289708] pps_core: LinuxPPS API ver. 1 registered
    [    0.289715] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.289735] PTP clock support registered
    [    0.289779] EDAC MC: Ver: 3.0.0
    [    0.290770] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [    0.291077] Advanced Linux Sound Architecture Driver Initialized.
    [    0.292209] clocksource: Switched to clocksource timer1
    [    0.301266] NET: Registered protocol family 2
    [    0.301960] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.302006] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.302044] TCP: Hash tables configured (established 4096 bind 4096)
    [    0.302108] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [    0.302124] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [    0.302307] NET: Registered protocol family 1
    [    0.302704] RPC: Registered named UNIX socket transport module.
    [    0.302715] RPC: Registered udp transport module.
    [    0.302721] RPC: Registered tcp transport module.
    [    0.302726] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.303554] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
    [    0.305662] workingset: timestamp_bits=14 max_order=17 bucket_order=3
    [    0.312411] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.313256] NFS: Registering the id_resolver key type
    [    0.313296] Key type id_resolver registered
    [    0.313303] Key type id_legacy registered
    [    0.313346] ntfs: driver 2.1.32 [Flags: R/O].
    [    0.315046] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
    [    0.315064] io scheduler noop registered
    [    0.315071] io scheduler deadline registered
    [    0.315215] io scheduler cfq registered (default)
    [    0.316383] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
    [    0.370804] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
    [    0.374236] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 158, base_baud = 3000000) is a 8250
    [    0.969413] console [ttyS0] enabled
    [    0.974497] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
    [    0.981249] [drm] Initialized
    [    0.996634] brd: module loaded
    [    1.005513] loop: module loaded
    [    1.010605] libphy: Fixed MDIO Bus: probed
    [    1.082292] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
    [    1.088428] davinci_mdio 4a101000.mdio: no live phy, scanning all
    [    1.094839] davinci_mdio: probe of 4a101000.mdio failed with error -5
    [    1.101863] cpsw 4a100000.ethernet: Detected MACID = b0:d5:cc:77:93:d1
    [    1.108567] cpsw 4a100000.ethernet: device node lookup for pps timer failed
    [    1.115603] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
    [    1.124462] mousedev: PS/2 mouse device common for all mice
    [    1.130532] i2c /dev entries driver
    [    1.135781] cpuidle: enable-method property 'ti,am3352' found operations
    [    1.143484] omap_hsmmc 48060000.mmc: Got CD GPIO
    [    1.263437] ledtrig-cpu: registered to indicate activity on CPUs
    [    1.275710] NET: Registered protocol family 10
    [    1.281432] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [    1.288396] NET: Registered protocol family 17
    [    1.293245] Key type dns_resolver registered
    [    1.297814] omap_voltage_late_init: Voltage driver support not added
    [    1.315653] mmc0: host does not support reading read-only switch, assuming write-enable
    [    1.329428] mmc0: new high speed SDHC card at address aaaa
    [    1.335655] mmcblk0: mmc0:aaaa SU04G 3.69 GiB
    [    1.343964]  mmcblk0: p1 p2
    [    1.349366] random: fast init done
    [    1.356555] mmc1: new high speed MMC card at address 0001
    [    1.362541] tps65217 0-0024: TPS65217 ID 0xe version 1.2
    [    1.368504] mmcblk1: mmc1:0001 Q2J54A 3.64 GiB
    [    1.373310] at24 0-0050: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
    [    1.374564] tda998x 0-0070: Error -121 writing to cec:0xff
    [    1.381530] tda998x 0-0070: set_page 000a err -121
    [    1.392284] mmcblk1boot0: mmc1:0001 Q2J54A partition 1 2.00 MiB
    [    1.398465] mmcblk1boot1: mmc1:0001 Q2J54A partition 2 2.00 MiB
    [    1.406235]  mmcblk1: p1
    [    1.442298] tda998x 0-0070: set_page 000a err -121
    [    1.512294] tda998x 0-0070: set_page 0001 err -121
    [    1.517160] tda998x 0-0070: set_page 0001 err -121
    [    1.522021] tda998x 0-0070: set_page 0200 err -121
    [    1.526900] tda998x 0-0070: set_page 0201 err -121
    [    1.531760] tda998x 0-0070: set_page 0202 err -121
    [    1.536633] tda998x 0-0070: set_page 0203 err -121
    [    1.541493] tda998x 0-0070: set_page 0204 err -121
    [    1.546373] tda998x 0-0070: set_page 0205 err -121
    [    1.551234] tda998x 0-0070: set_page 020e err -121
    [    1.556107] tda998x 0-0070: set_page 0211 err -121
    [    1.560966] tda998x 0-0070: set_page 0207 err -121
    [    1.565839] tda998x 0-0070: set_page 0208 err -121
    [    1.570698] tda998x 0-0070: set_page 0209 err -121
    [    1.575572] tda998x 0-0070: set_page 020a err -121
    [    1.580431] tda998x 0-0070: set_page 0206 err -121
    [    1.585300] tda998x 0-0070: set_page 0027 err -121
    [    1.590156] tda998x 0-0070: set_page 0000 err -121
    [    1.595033] tda998x 0-0070: set_page 0002 err -121
    [    1.599991] tilcdc 4830e000.lcdc: failed to bind 0-0070 (ops tda998x_ops): -6
    [    1.607366] tilcdc 4830e000.lcdc: master bind failed: -6
    [    1.612917] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
    [    1.733158] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 100 kHz
    [    1.740728] hctosys: unable to open rtc device (rtc0)
    [    1.746407] ALSA device list:
    [    1.749396]   No soundcards found.
    [    2.309568] EXT4-fs (mmcblk0p2): recovery complete
    [    2.318402] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [    2.326731] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [    2.336278] devtmpfs: mounted
    [    2.343179] Freeing unused kernel memory: 1024K
    [    2.529335] systemd[1]: System time before build time, advancing clock.
    [    2.572982] systemd[1]: systemd 230 running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN)
    [    2.591935] systemd[1]: Detected architecture arm.
    
    Welcome to Arago 2017.12!
    
    [    2.635865] systemd[1]: Set hostname to <am335x-evm>.
    [    3.093250] systemd[1]: Listening on udev Control Socket.
    [  OK  ] Listening on udev Control Socket.
    [    3.122997] systemd[1]: Listening on Journal Socket.
    [  OK  ] Listening on Journal Socket.
    [    3.152528] systemd[1]: Reached target Swap.
    [  OK  ] Reached target Swap.
    [    3.188034] systemd[1]: Created slice System Slice.
    [  OK  ] Created slice System Slice.
    [    3.226354] systemd[1]: Mounting Debug File System...
             Mounting Debug File System...
    [    3.238457] systemd[1]: Created slice system-serial\x2dgetty.slice.
    [  OK  ] Created slice system-serial\x2dgetty.slice.
    [    3.276964] systemd[1]: Starting Setup Virtual Console...
             Starting Setup Virtual Console...
    [  OK  ] Created slice system-getty.slice.
    [  OK  ] Listening on Process Core Dump Socket.
    [  OK  ] Listening on udev Kernel Socket.
             Starting Create list of required st... nodes for the current kernel...
    [  OK  ] Started Forward Password Requests to Wall Directory Watch.
    [  OK  ] Listening on Journal Socket (/dev/log).
    [  OK  ] Listening on Syslog Socket.
             Mounting POSIX Message Queue File System...
    [  OK  ] Started Dispatch Password Requests to Console Directory Watch.
    [  OK  ] Reached target Paths.
             Starting Journal Service...
             Mounting Temporary Directory...
    [  OK  ] Created slice User and Session Slice.
    [  OK  ] Reached target Slices.
             Starting Load Kernel Modules...
    [  OK  ] Reached target Remote File Systems.
             Starting Remount Root and Kernel File Systems...
    [  OK  ] Listening on Network Service Netlink Socket.
    [    3.855971] cryptodev: loading out-of-tree module taints kernel.
    [  OK  ] Listening on /dev/initctl Compatibility Named Pipe.
    [    3.882000] cryptodev: driver 1.8 loaded.
    [    3.919878] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
    [  OK  ] Mounted POSIX Message Queue File System.
    [  OK  ] Mounted Debug File System.
    [  OK  ] Mounted Temporary Directory.
    [  OK  ] Started Journal Service.
    [  OK  ] Started Setup Virtual Console.
    [  OK  ] Started Create list of required sta...ce nodes for the current kernel.
    [  OK  ] Started Load Kernel Modules.
    [  OK  ] Started Remount Root and Kernel File Systems.
             Starting udev Coldplug all Devices...
             Mounting Configuration File System...
             Starting Apply Kernel Variables...
             Starting Create Static Device Nodes in /dev...
             Starting Flush Journal to Persistent Storage...
    [  OK  ] Mounted Configuration File System.
    [  OK  ] Started Apply Kernel Variables.
    [  OK  ] Started Create Static Device Nodes in /dev.
    [    4.583042] systemd-journald[97]: Received request to flush runtime journal from PID 1
    [  OK  ] Started Flush Journal to Persistent Storage.
             Starting udev Kernel Device Manager...
    [  OK  ] Reached target Local File Systems (Pre).
             Mounting /var/volatile...
             Mounting /media/ram...
    [  OK  ] Mounted /var/volatile.
    [  OK  ] Mounted /media/ram.
    [  OK  ] Started udev Kernel Device Manager.
             Starting Load/Save Random Seed...
    [  OK  ] Reached target Local File Systems.
             Starting Create Volatile Files and Directories...
    [  OK  ] Started Load/Save Random Seed.
    [  OK  ] Started Create Volatile Files and Directories.
             Starting Network Time Synchronization...
             Starting Update UTMP about System Boot/Shutdown...
    [  OK  ] Started Update UTMP about System Boot/Shutdown.
    [  OK  ] Started Network Time Synchronization.
    [  OK  ] Reached target System Time Synchronized.
    [    6.193452] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
    [  OK  ] Found device /dev/ttyS0.
    [    6.283442] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [  OK  ] Started udev Coldplug all Devices.
    [  OK  ] Reached target System Initialization.
    [  OK  ] Started Daily Cleanup of Temporary Directories.
    [  OK  ] Reached target Timers.
    [  OK  ] Listening on D-Bus System Message Bus Socket.
    [  OK  ] Listening on RPCbind Server Activation Socket.
    [  OK  ] Reached target Sockets.
    [  OK  ] Reached target Basic System.
    [  OK  ] Started D-Bus System Message Bus.
    [    7.010106] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
    [    7.208680] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
    [    7.253429] omap-aes 53500000.aes: will run requests pump with realtime priority
             Starting Print notice about GPLv3 packages...
             Starting telnetd.service...
             Starting Login Service...
    [    7.352160] remoteproc remoteproc0: wkup_m3 is available
    [    7.370646] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
    [    7.401410] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
    [    7.441166] PM: Cannot get wkup_m3_ipc handle
    [  OK  ] Started Kernel Logging Service.
    [    7.758780] PM: Cannot get wkup_m3_ipc handle
    [    7.771763] remoteproc remoteproc0: powering up wkup_m3
    [    7.833752] remoteproc remoteproc0: Booting fw image am335x-pm-firmware.elf, size 224268
    [    7.834020] remoteproc remoteproc0: remote processor wkup_m3 is now up
    [    7.834049] wkup_m3_ipc 44e11324.wkup_m3_ipc: CM3 Firmware Version = 0x192
    [  OK  ] Started Periodic Command Scheduler.
    [  OK  ] Started System Logging Service.
    [  OK  ] Started Job spooling tools.
             Starting Network Service...
    [  OK  ] Started telnetd.service.
    [  OK  ] Found device /dev/ttyS3.
    [  OK  ] Started Network Service.
    [    9.362698] net eth0: initializing cpsw version 1.12 (0)
    [    9.368061] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
    [  OK  ] Started Login Service.
    [    9.604262] cpsw 4a100000.ethernet: ALE Table size 1024
    [    9.611121] libphy: PHY 4a101000.mdio:00 not found
    [    9.803545] net eth0: phy "4a101000.mdio:00" not found on slave 0, err -19
    [    9.830566] cpts ptp bc clkid 0
    [    9.885958] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [  OK  ] Reached target Network.
             Starting Permit User Sessions...
             Starting Network Name Resolution...
    [   10.222093] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
             Starting thttpd.service...
    [  OK  ] Started Permit User Sessions.
    [   10.781506] EXT4-fs (mmcblk1p1): recovery complete
    [   10.802773] EXT4-fs (mmcblk1p1): mounted filesystem with ordered data mode. Opts: (null)
    [  OK  ] Started Network Name Resolution.
    [  OK  ] Started thttpd.service.
    [  OK  ] Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch.
             Starting rng-tools.service...
    [  OK  ] Started Getty on tty1.
    [  OK  ] Started Serial Getty on ttyS3.
    [  OK  ] Started Serial Getty on ttyS0.
    [  OK  ] Reached target Login Prompts.
             Starting Synchronize System and HW clocks...
    [   11.989556] random: crng init done
    [  OK  ] Started rng-tools.service.
    [  OK  ] Started Synchronize System and HW clocks.
             Starting thermal-zone-init.service...
    [  OK  ] Started thermal-zone-init.service.
    ***************************************************************
    ***************************************************************
    NOTICE: This file system contains the following GPLv3 packages:
            binutils
            cifs-utils
            cpio
            dosfstools
            gawk
            gzip
            libreadline6
            m4
            which
    
    If you do not wish to distribute GPLv3 components please remove
    the above packages prior to distribution.  This can be done using
    the opkg remove command.  i.e.:
        opkg remove <package>
    Where <package> is the name printed in the list above
    
    NOTE: If the package is a dependency of another package you
          will be notified of the dependent packages.  You should
          use the --force-removal-of-dependent-packages option to
          also remove the dependent packages as well
    ***************************************************************
    ***************************************************************
    [  OK  ] Started Print notice about GPLv3 packages.
    [   13.370058] PM: bootloader does not support rtc-only!
    [   13.395829] 47401300.usb-phy supply vcc not found, using dummy regulator
    [   13.396378] 47401b00.usb-phy supply vcc not found, using dummy regulator
    [   13.450839] usbcore: registered new interface driver usbfs
    [   13.450904] usbcore: registered new interface driver hub
    [   13.484962] usbcore: registered new device driver usb
    [   13.652192] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
    [   13.678911] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 1
    [   13.770991] hub 1-0:1.0: USB hub found
    [   13.797977] hub 1-0:1.0: 1 port detected
    [   14.160609] ti-pruss 4a300000.pruss: creating PRU cores and other child platform devices
    [   14.217811] irq: no irq domain found for /ocp/pruss_soc_bus@4a326000/pruss@4a300000/intc@4a320000 !
    [   14.262388] usb 1-1: new high-speed USB device number 2 using musb-hdrc
    [   14.289965] irq: no irq domain found for /ocp/pruss_soc_bus@4a326000/pruss@4a300000/intc@4a320000 !
    [   14.410877] remoteproc remoteproc1: 4a334000.pru0 is available
    [   14.432779] pru-rproc 4a334000.pru0: PRU rproc node /ocp/pruss_soc_bus@4a326000/pruss@4a300000/pru@4a334000 probed successfully
    [   14.449557] hub 1-1:1.0: USB hub found
    [   14.450114] hub 1-1:1.0: 4 ports detected
    [   14.526161] remoteproc remoteproc2: 4a338000.pru1 is available
    [   14.532119] pru-rproc 4a338000.pru1: PRU rproc node /ocp/pruss_soc_bus@4a326000/pruss@4a300000/pru@4a338000 probed successfully
    [  OK  ] Reached target Multi-User System.
             Starting Update UTMP about System Runlevel Changes...
    [  OK  ] Started Update UTMP about System Runlevel Changes.
    
     _____                    _____           _         _
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
                  |___|                    |___|
    
    Arago Project http://arago-project.org am335x-evm ttyS0
    
    Arago 2017.12 am335x-evm ttyS0
    
    am335x-evm login: root
    root@am335x-evm:~# ifconfig
    eth0      Link encap:Ethernet  HWaddr B0:D5:CC:77:93:D1
              UP BROADCAST MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
              Interrupt:173
    
    lo        Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1%763860/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:160 errors:0 dropped:0 overruns:0 frame:0
              TX packets:160 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1
              RX bytes:12160 (11.8 KiB)  TX bytes:12160 (11.8 KiB)
    
    root@am335x-evm:~#
    root@am335x-evm:~# modprobe g_ether
    [   57.895402] using random self ethernet address
    [   57.899931] using random host ethernet address
    [   57.946678] usb0: HOST MAC 3a:db:ee:e5:ce:b2
    [   57.957719] usb0: MAC 92:d6:35:fa:8f:42
    [   57.961710] using random self ethernet address
    [   57.980787] using random host ethernet address
    [   58.002786] g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
    [   58.009492] g_ether gadget: g_ether ready
    root@am335x-evm:~# [   58.115764] IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
    [   58.256012] g_ether gadget: high-speed config #2: RNDIS
    [   58.261536] IPv6: ADDRCONF(NETDEV_CHANGE): usb0: link becomes ready
    
    root@am335x-evm:~#
    root@am335x-evm:~# modprobe rndis_host
    [   86.522170] usbcore: registered new interface driver cdc_ether
    [   86.576091] usbcore: registered new interface driver rndis_host
    root@am335x-evm:~#
    root@am335x-evm:~#
    root@am335x-evm:~#
    root@am335x-evm:~# ifconfig
    eth0      Link encap:Ethernet  HWaddr B0:D5:CC:77:93:D1
              UP BROADCAST MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
              Interrupt:173
    
    lo        Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1%763860/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:483 errors:0 dropped:0 overruns:0 frame:0
              TX packets:483 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1
              RX bytes:36792 (35.9 KiB)  TX bytes:36792 (35.9 KiB)
    
    usb0      Link encap:Ethernet  HWaddr 92:D6:35:FA:8F:42
              inet6 addr: fe80::90d6:35ff:fefa:8f42%763860/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    
    root@am335x-evm:~#
    root@am335x-evm:~# ifconfig usb0 192.168.7.2 netmask 255.255.255.0 up
    root@am335x-evm:~#
    root@am335x-evm:~# ifconfig
    eth0      Link encap:Ethernet  HWaddr B0:D5:CC:77:93:D1
              UP BROADCAST MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
              Interrupt:173
    
    lo        Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1%763860/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:566 errors:0 dropped:0 overruns:0 frame:0
              TX packets:566 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1
              RX bytes:43088 (42.0 KiB)  TX bytes:43088 (42.0 KiB)
    
    usb0      Link encap:Ethernet  HWaddr 92:D6:35:FA:8F:42
              inet addr:192.168.7.2  Bcast:192.168.7.255  Mask:255.255.255.0
              inet6 addr: fe80::90d6:35ff:fefa:8f42%763860/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    
    root@am335x-evm:~#
    root@am335x-evm:~#
    root@am335x-evm:~# ping 192.168.7.1
    PING 192.168.7.1 (192.168.7.1): 56 data bytes
    ^C
    --- 192.168.7.1 ping statistics ---
    6 packets transmitted, 0 packets received, 100% packet loss
    root@am335x-evm:~#
    root@am335x-evm:~#
    root@am335x-evm:~#
    root@am335x-evm:~# cd /sys/bus/iio/
    devices/           drivers/           drivers_autoprobe  drivers_probe      uevent
    root@am335x-evm:~# cd /sys/bus/iio/devices/
    root@am335x-evm:/sys/bus/iio/devices# ls
    root@am335x-evm:/sys/bus/iio/devices# lsmod
    Module                  Size  Used by
    rndis_host              6564  0
    cdc_ether               6080  1 rndis_host
    usbnet                 25750  2 rndis_host,cdc_ether
    usb_f_ecm               6492  1
    g_ether                 4869  0
    usb_f_rndis            15482  2 g_ether
    u_ether                12937  3 usb_f_ecm,g_ether,usb_f_rndis
    libcomposite           44254  3 usb_f_ecm,g_ether,usb_f_rndis
    pru_rproc              10584  0
    pruss_intc              7163  1 pru_rproc
    pruss                   9582  1 pru_rproc
    musb_dsps               9734  0
    musb_hdrc              87973  1 musb_dsps
    udc_core               19322  5 usb_f_ecm,musb_hdrc,u_ether,usb_f_rndis,libcomposite
    usbcore               201668  4 rndis_host,usbnet,cdc_ether,musb_hdrc
    phy_am335x              2372  2
    phy_generic             5372  1 phy_am335x
    phy_am335x_control      2873  1 phy_am335x
    usb_common              4737  6 phy_am335x,udc_core,musb_hdrc,libcomposite,musb_dsps,usbcore
    snd_soc_simple_card     5844  0
    snd_soc_simple_card_utils     5095  1 snd_soc_simple_card
    pm33xx                  6433  0
    wkup_m3_ipc             8176  1 pm33xx
    wkup_m3_rproc           3670  1
    remoteproc             28453  3 pru_rproc,wkup_m3_rproc,wkup_m3_ipc
    omap_aes_driver        19334  0
    crypto_engine           7098  1 omap_aes_driver
    omap_sham              21950  0
    pruss_soc_bus           4105  0
    ti_emif_sram            5663  1 pm33xx
    rtc_omap                9662  1
    musb_am335x             1426  0
    omap_wdt                4634  0
    sch_fq_codel            9051  3
    cryptodev              38083  0
    root@am335x-evm:/sys/bus/iio/devices#
    root@am335x-evm:/sys/bus/iio/devices#
    root@am335x-evm:/sys/bus/iio/devices#
    root@am335x-evm:/sys/bus/iio/devices# find /lib -name *adc*.ko
    /lib/modules/4.9.69-g9ce43c71ae/kernel/drivers/iio/adc/vf610_adc.ko
    /lib/modules/4.9.69-g9ce43c71ae/kernel/drivers/iio/adc/ti_am335x_adc.ko
    /lib/modules/4.9.69-g9ce43c71ae/kernel/drivers/mfd/ti_am335x_tscadc.ko
    root@am335x-evm:/sys/bus/iio/devices#
    root@am335x-evm:/sys/bus/iio/devices#
    root@am335x-evm:/sys/bus/iio/devices# modprobe ti_am335x_adc
    root@am335x-evm:/sys/bus/iio/devices# lsmod
    Module                  Size  Used by
    ti_am335x_adc           6837  0
    ti_am335x_tscadc        6162  1 ti_am335x_adc
    rndis_host              6564  0
    cdc_ether               6080  1 rndis_host
    usbnet                 25750  2 rndis_host,cdc_ether
    usb_f_ecm               6492  1
    g_ether                 4869  0
    usb_f_rndis            15482  2 g_ether
    u_ether                12937  3 usb_f_ecm,g_ether,usb_f_rndis
    libcomposite           44254  3 usb_f_ecm,g_ether,usb_f_rndis
    pru_rproc              10584  0
    pruss_intc              7163  1 pru_rproc
    pruss                   9582  1 pru_rproc
    musb_dsps               9734  0
    musb_hdrc              87973  1 musb_dsps
    udc_core               19322  5 usb_f_ecm,musb_hdrc,u_ether,usb_f_rndis,libcomposite
    usbcore               201668  4 rndis_host,usbnet,cdc_ether,musb_hdrc
    phy_am335x              2372  2
    phy_generic             5372  1 phy_am335x
    phy_am335x_control      2873  1 phy_am335x
    usb_common              4737  6 phy_am335x,udc_core,musb_hdrc,libcomposite,musb_dsps,usbcore
    snd_soc_simple_card     5844  0
    snd_soc_simple_card_utils     5095  1 snd_soc_simple_card
    pm33xx                  6433  0
    wkup_m3_ipc             8176  1 pm33xx
    wkup_m3_rproc           3670  1
    remoteproc             28453  3 pru_rproc,wkup_m3_rproc,wkup_m3_ipc
    omap_aes_driver        19334  0
    crypto_engine           7098  1 omap_aes_driver
    omap_sham              21950  0
    pruss_soc_bus           4105  0
    ti_emif_sram            5663  1 pm33xx
    rtc_omap                9662  1
    musb_am335x             1426  0
    omap_wdt                4634  0
    sch_fq_codel            9051  3
    cryptodev              38083  0
    root@am335x-evm:/sys/bus/iio/devices# ls
    root@am335x-evm:/sys/bus/iio/devices#

  • Hello Mike,

    Just as an FYI - we don't support the beaglebone green wireless on TI forums - however, I can answer questions like the one you asked since it is generic to AM335x regardless of the board. I am running my tests on a beaglebone black.

    Your &tscadc device tree addition looks fine. As long as you didn't modify the original tscadc entry in am33xx.dtsi your device tree should be ok. 

    1) Could you check your make menuconfig to see if the driver configuration matches the "Building as a Loadable Kernel Module" section of the ADC documentation?

    2) You are calling "make modules", right?

    Regards, 

    Nick

  • Hi Nick,

    To answer your questions:

    1) Could you check your make menuconfig to see if the driver configuration matches the "Building as a Loadable Kernel Module" section of the ADC documentation?

        yes, it matches.

    2) You are calling "make modules", right?

        Right, modules were built and installed to the filesystem.

    Just a quick update, the ADC driver is working now, it's the device tree that is causing the issue.  Thanks to Brad Griffis' help from TI.

    Thanks for your follow-up on this issue.

    Regards,

    Mike

  • Hello Mike,

    Awesome, glad to hear! What was the device tree issue?

    Regards,
    Nick
  • Hi Nick,
    I didn't dive in deeply, but with the device tree patch (without any changes to the kernel and modules), ADC just started to work.

    Regards,
    Mike
  • Sounds good, glad it's working Mike!

    For others reading this: Mike's adc code from his dts file is correct. 

    It looks like there was something else keeping the beaglebone green DTS file from working properly on a beaglebone green wireless board. Brad probably created his device tree patch by taking the (not TI-supported) Debian beaglebone green wireless DTS file (Linux kernel unknown but later than 4.9), backporting it to Linux kernel 4.9 to match the kernel version of Mike's Processor SDK 4.3, and then creating an am335x-bonegreen-wireless.dts file based on that backport.


    Regards,
    Nick