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/AM3358: PRU Ethernet RT throttling issue

Part Number: AM3359
Other Parts Discussed in Thread: AM3358, , TPIC2810, PCA9536, SN65HVS882, TPS65910

Tool/software: Linux

hi, I am debugging our own board  and found a "sched: RT throttling activated"n issue.
our processor is  am3358 and we connect two DP83640s to pru MII interface.

right now we can boot up linux  successfully.
but when I plug in a network cable  
the system become very slow and displayed in serial port:

[  395.943979] sched: RT throttling activated
[  406.954540] NOHZ: local_softirq_pending 10e
[  406.963989] NOHZ: local_softirq_pending 10e
[  406.973983] NOHZ: local_softirq_pending 10e
[  406.982973] NOHZ: local_softirq_pending 10e
[  406.983987] NOHZ: local_softirq_pending 10e
[  406.993984] NOHZ: local_softirq_pending 10e
[  416.954523] NOHZ: local_softirq_pending 10e
[  416.963989] NOHZ: local_softirq_pending 10e
[  416.973984] NOHZ: local_softirq_pending 10e
[  416.983984] NOHZ: local_softirq_pending 10e

or sometime change the number 10e to 106:

[  164.954056] NOHZ: local_softirq_pending 106


I have search google and found some similar problems, but I can find a good solution:
e2e.ti.com/.../2038114
e2e.ti.com/.../558320
e2e.ti.com/.../1708033

(1) I use top command and find that ktimersoftd taked up almost all CPU.

Tasks: 101 total,   8 running,  93 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.0 us, 28.8 sy,  0.0 ni,  0.9 id,  0.0 wa,  0.0 hi, 69.3 si,  0.0 st
KiB Mem :   510124 total,   404716 free,    18280 used,    87128 buff/cache
KiB Swap:        0 total,        0 free,        0 used.   468196 avail Mem

   12 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kclksetdelayd
    4 root      -2   0       0      0      0 R 94.8  0.0   0:56.63 ktimersoftd/0
    1 root      20   0    5216   4140   2704 R  1.3  0.8   0:16.82 systemd
    3 root      20   0       0      0      0 R  1.3  0.0   0:00.56 ksoftirqd/0
 1702 root      20   0    3036   1776   1364 R  0.5  0.3   0:00.36 top
  110 root      20   0    5244   2808   2624 S  0.2  0.6   0:02.67 systemd-journal
  544 message+  20   0    4320   2460   2152 S  0.2  0.5   0:00.93 dbus-daemon
 1716 root      20   0    1780   1212   1104 S  0.2  0.2   0:00.01 agetty
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.03 kthreadd
    6 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H
    8 root      -2   0       0      0      0 R  0.0  0.0   0:00.15 rcu_preempt
    9 root      -2   0       0      0      0 R  0.0  0.0   0:00.02 rcu_sched
   10 root      -2   0       0      0      0 S  0.0  0.0   0:00.00 rcub/0
   11 root      -2   0       0      0      0 R  0.0  0.0   0:00.40 rcuc/0
   12 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kclksetdelayd
   13 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 posixcputmr/0
   14 root      20   0       0      0      0 S  0.0  0.0   0:00.01 kdevtmpfs
   15 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 netns
   16 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kswork
   17 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 perf
   19 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 writeback
   20 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 crypto

   and when I run mpstat, I found there are a lot of net tx softirqs.
root@am335x-evm:~# mpstat -I SCPU
Linux 4.4.19-rt25-gf572d285f0 (am335x-evm)      10/03/16        _armv7l_        (1 CPU)

21:23:08     CPU      HI/s   TIMER/s  NET_TX/s  NET_RX/s   BLOCK/s BLOCK_IOPOLL/s TASKLET/s SCHED/s HRTIMER/s  RCU/s
21:23:08       0      0.01    100.51  23963.97      0.69      0.00      0.00     27.07      0.00      5.08      0.00
root@am335x-evm:~#

 
our SDK version is
ti-processor-sdk-linux-rt-am335x-evm-03.01.00.06

I attached my logs and dts file. and also the hardware circuits400-0081-011.pdf

am335 rt throttling.txt
U-Boot SPL 2016.05 (Jan 29 2018 - 17:11:58)
Trying to boot from MMC1
reading args
spl_load_image_fat_os: error reading image args, err - -1
reading u-boot.img
reading u-boot.img
reading u-boot.img
reading u-boot.img


U-Boot 2016.05 (Jan 29 2018 - 17:11:58 +0800)

       Watchdog enabled
DRAM:  512 MiB
NAND:  0 MiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
reading uboot.env

** Unable to read "uboot.env" from mmc0:1 **
Using default environment

<ethaddr> not set. Validating first E-fuse MAC
Net:
Warning: usb_ether MAC addresses don't match:
Address in SROM is         de:ad:be:ef:00:01
Address in environment is  80:30:dc:80:ee:56
eth0: 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
22 bytes read in 4 ms (4.9 KiB/s)
Loaded env from uEnv.txt
Importing environment from mmc0 ...
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
reading /am335x-bcu-aap.dtb
36374 bytes read in 10 ms (3.5 MiB/s)
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
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
22 bytes read in 4 ms (4.9 KiB/s)
Loaded env from uEnv.txt
Importing environment from mmc0 ...
3394824 bytes read in 315 ms (10.3 MiB/s)
36142 bytes read in 52 ms (678.7 KiB/s)
Kernel image @ 0x82000000 [ 0x000000 - 0x33cd08 ]
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
   Loading Device Tree to 8fff4000, end 8ffffd2d ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 4.4.19-rt25-gf572d285f0 (root@tqma28bsp109-VirtualBox) (gcc version 5.3.1 20160113 (Linaro GCC 5.3-2016.02) ) #4 PREEMPT RT Mon Jan 22 16:30:06 AWST 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] Machine model: TI AM3359 ICE-V2
[    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] 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=00030691-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: 484936K/524288K available (6039K kernel code, 296K rwdata, 2256K rodata, 612K init, 273K bss, 14776K 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 - 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 - 0xc0822104   (8297 kB)
[    0.000000]       .init : 0xc0823000 - 0xc08bc000   ( 612 kB)
[    0.000000]       .data : 0xc08bc000 - 0xc09062c0   ( 297 kB)
[    0.000000]        .bss : 0xc09062c0 - 0xc094a738   ( 274 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  RCU kthread priority: 1.
[    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.000015] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[    0.000029] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000037] OMAP clocksource: timer1 at 24000000 Hz
[    0.000183] clocksource_probe: no matching clocksources found
[    0.000386] Console: colour dummy device 80x30
[    0.000553] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
[    0.000555] This ensures that you still see kernel messages. Please
[    0.000557] update your kernel commandline.
[    0.089181] Calibrating delay loop... 795.44 BogoMIPS (lpj=3977216)
[    0.089187] pid_max: default: 32768 minimum: 301
[    0.089324] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.089330] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.090107] Initializing cgroup subsys io
[    0.090131] Initializing cgroup subsys memory
[    0.090174] Initializing cgroup subsys devices
[    0.090187] Initializing cgroup subsys freezer
[    0.090198] Initializing cgroup subsys perf_event
[    0.090207] Initializing cgroup subsys pids
[    0.090287] CPU: Testing write buffer coherency: ok
[    0.090704] Setting up static identity map for 0x80008200 - 0x80008258
[    0.093382] devtmpfs: initialized
[    0.105283] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[    0.171912] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.174343] pinctrl core: initialized pinctrl subsystem
[    0.175800] NET: Registered protocol family 16
[    0.178099] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.183133] omap_gpio 44e07000.gpio: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/gpio0_pins_default, deferring probe
[    0.183428] omap_gpio 4804c000.gpio: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/gpio1_pins_default, deferring probe
[    0.183702] omap_gpio 481ac000.gpio: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/gpio2_pins_default, deferring probe
[    0.183958] omap_gpio 481ae000.gpio: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/gpio3_pins_default, deferring probe
[    0.190726] hw-breakpoint: debug architecture 0x4 unsupported.
[    0.228027] edma 49000000.edma: TI EDMA DMA engine driver
[    0.230431] usbcore: registered new interface driver usbfs
[    0.230525] usbcore: registered new interface driver hub
[    0.230689] usbcore: registered new device driver usb
[    0.231237] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0_pins, deferring probe
[    0.231293] omap_i2c 4802a000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c1_pins, deferring probe
[    0.231392] media: Linux media interface: v0.10
[    0.231458] Linux video capture interface: v2.00
[    0.231508] pps_core: LinuxPPS API ver. 1 registered
[    0.231516] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.231545] PTP clock support registered
[    0.231603] EDAC MC: Ver: 3.0.0
[    0.232811] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
[    0.233986] clocksource: Switched to clocksource timer1
[    0.245239] NET: Registered protocol family 2
[    0.246130] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[    0.246203] TCP bind hash table entries: 4096 (order: 4, 98304 bytes)
[    0.246334] TCP: Hash tables configured (established 4096 bind 4096)
[    0.246424] UDP hash table entries: 256 (order: 2, 16384 bytes)
[    0.246457] UDP-Lite hash table entries: 256 (order: 2, 16384 bytes)
[    0.246666] NET: Registered protocol family 1
[    0.247181] RPC: Registered named UNIX socket transport module.
[    0.247198] RPC: Registered udp transport module.
[    0.247206] RPC: Registered tcp transport module.
[    0.247213] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.248205] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
[    0.250204] futex hash table entries: 256 (order: 1, 8192 bytes)
[    0.258988] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.259841] NFS: Registering the id_resolver key type
[    0.259923] Key type id_resolver registered
[    0.259933] Key type id_legacy registered
[    0.260023] ntfs: driver 2.1.32 [Flags: R/O].
[    0.263893] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)
[    0.263931] io scheduler noop registered
[    0.263945] io scheduler deadline registered
[    0.264465] io scheduler cfq registered (default)
[    0.265695] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
[    0.329797] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
[    0.333344] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 30, base_baud = 3000000) is a 8250
[    0.985180] console [ttyS0] enabled
[    0.989751] 48022000.serial: ttyS1 at MMIO 0x48022000 (irq = 31, base_baud = 3000000) is a 8250
[    0.999393] 481a8000.serial: ttyS4 at MMIO 0x481a8000 (irq = 32, base_baud = 3000000) is a 8250
[    1.009308] [drm] Initialized drm 1.1.0 20060810
[    1.021287] loop: module loaded
[    1.026056] libphy: Fixed MDIO Bus: probed
[    1.031621] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.038194] ehci-pci: EHCI PCI platform driver
[    1.042759] ehci-platform: EHCI generic platform driver
[    1.048174] ehci-omap: OMAP-EHCI Host Controller driver
[    1.053514] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.059756] ohci-pci: OHCI PCI platform driver
[    1.064299] ohci-platform: OHCI generic platform driver
[    1.070022] usbcore: registered new interface driver cdc_acm
[    1.075707] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[    1.083806] usbcore: registered new interface driver cdc_wdm
[    1.089611] usbcore: registered new interface driver usbserial
[    1.097528] 47401300.usb-phy supply vcc not found, using dummy regulator
[    1.106668] musb-hdrc musb-hdrc.0.auto: Failed to request rx1.
[    1.112621] musb-hdrc musb-hdrc.0.auto: musb_init_controller failed with status -517
[    1.121462] 47401b00.usb-phy supply vcc not found, using dummy regulator
[    1.130328] musb-hdrc musb-hdrc.1.auto: Failed to request rx1.
[    1.136264] musb-hdrc musb-hdrc.1.auto: musb_init_controller failed with status -517
[    1.151271] mousedev: PS/2 mouse device common for all mice
[    1.157884] i2c /dev entries driver
[    1.166049] NET: Registered protocol family 17
[    1.170636] 8021q: 802.1Q VLAN Support v1.8
[    1.174957] Key type dns_resolver registered
[    1.179426] omap_voltage_late_init: Voltage driver support not added
[    1.189647] OMAP GPIO hardware version 0.1
[    1.236583] tps65910-rtc tps65910-rtc: zdl1 rtc-tps65910.
[    1.242299] tps65910-rtc tps65910-rtc: zdl3 rtc-tps65910.
[    1.247959] tps65910-rtc tps65910-rtc: zdl2 rtc-tps65910.
[    1.253524] tps65910-rtc tps65910-rtc: zdl4 rtc-tps65910.
[    1.259194] tps65910-rtc tps65910-rtc: zdl5 rtc-tps65910.
[    1.271718] tps65910-rtc tps65910-rtc: rtc core: registered tps65910-rtc as rtc0
[    1.279386] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[    1.286206] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 400 kHz
[    1.297499] musb-hdrc musb-hdrc.0.auto: MUSB HDRC host driver
[    1.303329] musb-hdrc musb-hdrc.0.auto: new USB bus registered, assigned bus number 1
[    1.311444] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    1.318269] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.325526] usb usb1: Product: MUSB HDRC host driver
[    1.330513] usb usb1: Manufacturer: Linux 4.4.19-rt25-gf572d285f0 musb-hcd
[    1.337417] usb usb1: SerialNumber: musb-hdrc.0.auto
[    1.343158] hub 1-0:1.0: USB hub found
[    1.346992] hub 1-0:1.0: 1 port detected
[    1.357394] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[    1.363201] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 2
[    1.371282] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[    1.378107] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.385363] usb usb2: Product: MUSB HDRC host driver
[    1.390349] usb usb2: Manufacturer: Linux 4.4.19-rt25-gf572d285f0 musb-hcd
[    1.397255] usb usb2: SerialNumber: musb-hdrc.1.auto
[    1.402980] hub 2-0:1.0: USB hub found
[    1.406792] hub 2-0:1.0: 1 port detected
[    1.412553] vmmc: supplied by vbat
[    1.491162] mmc0: host does not support reading read-only switch, assuming write-enable
[    1.497151] tps65910-rtc tps65910-rtc: setting system clock to 2016-10-03 21:20:36 UTC (1475529636)
[    1.515428] Waiting for root device PARTUUID=00030691-02...
[    1.516964] mmc0: new high speed SDHC card at address 0007
[    1.524369] mmcblk0: mmc0:0007 SL16G 14.5 GiB
[    1.526134]  mmcblk0: p1 p2
[    1.567840] mmc1: MAN_BKOPS_EN bit is not set
[    1.575509] mmc1: new high speed MMC card at address 0001
[    1.581769] mmcblk1: mmc1:0001 Q2J54A 3.59 GiB
[    1.586650] mmcblk1boot0: mmc1:0001 Q2J54A partition 1 16.0 MiB
[    1.592855] mmcblk1boot1: mmc1:0001 Q2J54A partition 2 16.0 MiB
[    2.020710] musb-hdrc musb-hdrc.1.auto: VBUS_ERROR in a_wait_vrise (80, <SessEnd), retry #3, port1 0008010c
[    3.014784] EXT4-fs (mmcblk0p2): recovery complete
[    3.039775] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    3.047988] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    3.057853] devtmpfs: mounted
[    3.061811] Freeing unused kernel memory: 612K (c0823000 - c08bc000)
[    3.449931] random: systemd: uninitialized urandom read (16 bytes read, 19 bits of entropy available)
[    3.465486] random: systemd: uninitialized urandom read (16 bytes read, 19 bits of entropy available)
[    3.487150] systemd[1]: systemd 229 running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN)
[    3.506064] systemd[1]: Detected architecture arm.

Welcome to Arago 2016.08!

[    3.535879] systemd[1]: Set hostname to <am335x-evm>.
[    3.642978] random: systemd-sysv-ge: uninitialized urandom read (16 bytes read, 22 bits of entropy available)
[    3.647994] random: systemd-gpt-aut: uninitialized urandom read (16 bytes read, 22 bits of entropy available)
[    3.648441] random: systemd-gpt-aut: uninitialized urandom read (16 bytes read, 22 bits of entropy available)
[    3.728982] random: systemd-sysv-ge: uninitialized urandom read (16 bytes read, 25 bits of entropy available)
[    3.748381] random: systemd-sysv-ge: uninitialized urandom read (16 bytes read, 25 bits of entropy available)
[    3.810446] random: systemd: uninitialized urandom read (16 bytes read, 27 bits of entropy available)
[    3.820549] random: systemd: uninitialized urandom read (16 bytes read, 27 bits of entropy available)
[    3.831364] random: systemd: uninitialized urandom read (16 bytes read, 27 bits of entropy available)
[    4.185559] systemd[1]: [/lib/systemd/system/gadget-init.service:15] Unknown lvalue 'ExecStopPre' in section 'Service'
[    4.475818] systemd[1]: sysinit.target: Found ordering cycle on sysinit.target/start
[    4.483659] systemd[1]: sysinit.target: Found dependency on alignment.service/start
[    4.491395] systemd[1]: sysinit.target: Found dependency on basic.target/start
[    4.498680] systemd[1]: sysinit.target: Found dependency on sockets.target/start
[    4.506129] systemd[1]: sysinit.target: Found dependency on avahi-daemon.socket/start
[    4.514027] systemd[1]: sysinit.target: Found dependency on sysinit.target/start
[    4.521470] systemd[1]: sysinit.target: Breaking ordering cycle by deleting job alignment.service/start
[    4.530923] systemd[1]: alignment.service: Job alignment.service/start deleted to break ordering cycle starting with sysinit.target/start
[ SKIP ] Ordering cycle found, skipping alignment.service
[    4.575540] systemd[1]: Created slice System Slice.
[  OK  ] Created slice System Slice.
[    4.606268] systemd[1]: Created slice system-serial\x2dgetty.slice.
[  OK  ] Created slice system-serial\x2dgetty.slice.
[    4.634622] systemd[1]: Reached target Remote File Systems.
[  OK  ] Reached target Remote File Systems.
[    4.655867] systemd[1]: Created slice User and Session Slice.
[  OK  ] Created slice User and Session Slice.
[    4.674566] systemd[1]: Reached target Slices.
[  OK  ] Reached target Slices.
[    4.694875] systemd[1]: Listening on udev Control Socket.
[  OK  ] Listening on udev Control Socket.
[    4.714907] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[  OK  ] Started Forward Password Requests to Wall Directory Watch.
[    4.744752] systemd[1]: Listening on udev Kernel Socket.
[  OK  ] Listening on udev Kernel Socket.
[    4.765246] systemd[1]: Listening on Network Service Netlink Socket.
[  OK  ] Listening on Network Service Netlink Socket.
[    4.819107] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[  OK  ] Started Dispatch Password Requests to Console Directory Watch.
[    4.854572] systemd[1]: Reached target Paths.
[  OK  ] Reached target Paths.
[    4.874524] systemd[1]: Reached target Swap.
[  OK  ] Reached target Swap.
[    4.894909] systemd[1]: Listening on Journal Socket (/dev/log).
[  OK  ] Listening on Journal Socket (/dev/log).
[    4.926123] systemd[1]: Created slice system-getty.slice.
[  OK  ] Created slice system-getty.slice.
[    4.955070] systemd[1]: Listening on Journal Socket.
[  OK  ] Listening on Journal Socket.
[    4.979873] 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...
[    5.030091] systemd[1]: Starting Setup Virtual Console...
         Starting Setup Virtual Console...
[    5.084937] systemd[1]: Starting Load Kernel Modules...
         Starting Load Kernel Modules...
[    5.119773] systemd[1]: Mounting POSIX Message Queue File System...
         Mounting POSIX Message Queue File System...
[    5.207845] systemd[1]: Mounting Temporary Directory...
[    5.214660] cryptodev: driver 1.8 loaded.
         Mounting Temporary Directory...
[    5.269721] systemd[1]: Starting Remount Root and Kernel File Systems...
         Starting Remount Root and Kernel File Systems...
[    5.313584] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[    5.344986] systemd[1]: Listening on Syslog Socket.
[  OK  ] Listening on Syslog Socket.
[    5.380094] systemd[1]: Starting Journal Service...
         Starting Journal Service...
[    5.419616] systemd[1]: Mounting Debug File System...
         Mounting Debug File System...
[    5.471514] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
[  OK  ] Listening on /dev/initctl Compatibility Named Pipe.
[    5.533883] systemd[1]: Mounted POSIX Message Queue File System.
[  OK  ] Mounted POSIX Message Queue File System.
[    5.574996] systemd[1]: Mounted Debug File System.
[  OK  ] Mounted Debug File System.
[    5.615012] systemd[1]: Mounted Temporary Directory.
[  OK  ] Mounted Temporary Directory.
[    5.655712] systemd[1]: Started Journal Service.
[  OK  ] Started Journal Service.
[  OK  ] Started Create list of required sta...ce nodes for the current kernel.
[  OK  ] Started Setup Virtual Console.
[  OK  ] Started Load Kernel Modules.
[  OK  ] Started Remount Root and Kernel File Systems.
         Starting udev Coldplug all Devices...
         Starting Apply Kernel Variables...
         Starting Create Static Device Nodes in /dev...
         Starting Flush Journal to Persistent Storage...
[  OK  ] Started Apply Kernel Variables.
[  OK  ] Started Create Static Device Nodes in /dev.
[    7.274986] systemd-journald[143]: Received request to flush runtime journal from PID 1
[  OK  ] Started Flush Journal to Persistent Storage.
[  OK  ] Reached target Local File Systems (Pre).
         Mounting /media/ram...
         Mounting /var/volatile...
         Starting udev Kernel Device Manager...
[  OK  ] Mounted /var/volatile.
[  OK  ] Mounted /media/ram.
[  OK  ] Started udev Kernel Device Manager.
[  OK  ] Started udev Coldplug all Devices.
[    8.731357] vdd_mpu: supplied by vbat
[    8.944321] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[  OK  ] Found device /dev/ttyS0.
         Starting Load/Save Random Seed...
[  OK  ] Reached target Local File Systems.
         Starting Create Volatile Files and Directories...
[  OK  ] Started Load/Save Random Seed.
[    9.597447] zdl set spi in master mode
[    9.601256] zdl in of_spi_register_master -2 1
[    9.724535] zdl spi device max speed Hz 1000000,speed_hz 24000000, clkd 2, clkg 0 exclk 2 div 48
[    9.733413] zdl setup: speed 24000000, sample leading edge, clk normal
[  OK  ] Started Create Volatile Files and Directories.
[    9.898358] at25 spi1.0: 2 KByte at25 eeprom, pagesize 256
[   10.073222] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
[   10.565412] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
[   10.837412]  remoteproc0: wkup_m3 is available
[   10.841907]  remoteproc0: Note: remoteproc is still under development and considered experimental.
[   10.913618]  remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[   11.189943]  remoteproc0: powering up wkup_m3
[   11.234994]  remoteproc0: Booting fw image am335x-pm-firmware.elf, size 217152
[   11.260663]  remoteproc0: remote processor wkup_m3 is now up
[   11.260712] wkup_m3_ipc 44e11324.wkup_m3_ipc: CM3 Firmware Version = 0x191
[   11.567907] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
[  OK  ] Found device /dev/ttyS3.
[   11.884557] ti-pruss 4a300000.pruss: creating PRU cores and other child platform devices
[   11.893918] irq: no irq domain found for /ocp/pruss@4a300000/intc@4a320000 !
         Starting Network Time Synchronization...
[   12.099504] irq: no irq domain found for /ocp/pruss@4a300000/intc@4a320000 !
         Starting Update UTMP about System Boot/Shutdown...
[   12.274261] davinci_mdio 4a332400.mdio: davinci mdio revision 1.6
[   12.280422] libphy: 4a332400.mdio: probed
[   12.534694] davinci_mdio 4a332400.mdio: phy[1]: device 4a332400.mdio:01, driver NatSemi DP83640
[   12.543464] davinci_mdio 4a332400.mdio: phy[3]: device 4a332400.mdio:03, driver NatSemi DP83640
[  OK  ] Started Network Time Synchronization.
[   12.784872]  remoteproc1: 4a334000.pru0 is available
[   12.789895]  remoteproc1: Note: remoteproc is still under development and considered experimental.
[   12.908976]  remoteproc1: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[   13.035044] pru-rproc 4a334000.pru0: PRU rproc node /ocp/pruss@4a300000/pru0@4a334000 probed successfully
[   13.133591]  remoteproc2: 4a338000.pru1 is available
[   13.168817]  remoteproc2: Note: remoteproc is still under development and considered experimental.
[   13.263684]  remoteproc2: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[   13.387316] pru-rproc 4a338000.pru1: PRU rproc node /ocp/pruss@4a300000/pru1@4a338000 probed successfully
[   13.498279] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[   13.512033] zdl in phy_attach_direct
[   13.512040] zdl in phy_attach_direct2
[   13.587762] dp83640: master PTP_STS  0x0100
[   13.587873] dp83640: master PTP_ESTS 0x00fd
[   13.588523] dp83640: slave  PTP_STS  0x0000
[   13.588653] dp83640: slave  PTP_ESTS 0x0000
[   13.589177] dp83640: slave offset 909960 nanoseconds
[   13.590864] zdl in phy_attach_direct3
[   13.591146] zdl in phy_attach_direct
[   13.591149] zdl in phy_attach_direct2
[   13.667707] dp83640: master PTP_STS  0x0100
[   13.667823] dp83640: master PTP_ESTS 0x007d
[   13.668474] dp83640: slave  PTP_STS  0x0000
[   13.668602] dp83640: slave  PTP_ESTS 0x0000
[   13.669125] dp83640: slave offset 80858120 nanoseconds
[   13.670813] zdl in phy_attach_direct3
[   13.670846] prueth pruss_eth: prueth_netdev_init ret 0
[   13.672629] prueth pruss_eth: TI PRU ethernet driver initialized
[  OK  ] Started Update UTMP about System Boot/Shutdown.
         Starting Synchronize System and HW clocks...
[  OK  ] Reached target System Time Synchronized.
[  OK  ] Started Synchronize System and HW clocks.
[  OK  ] Found device /dev/mmcblk0p1.
[  OK  ] Reached target System Initialization.
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Reached target Timers.
[  OK  ] Listening on dropbear.socket.
[  OK  ] Listening on RPCbind Server Activation Socket.
[  OK  ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
[  OK  ] Reached target Sockets.
[  OK  ] Reached target Basic System.
[  OK  ] Started Kernel Logging Service.
         Starting Print notice about GPLv3 packages...
         Starting Permit User Sessions...
[  OK  ] Started D-Bus System Message Bus.
         Starting Network Service...
         Starting Login Service...
         Starting Start USB gadget...
[  OK  ] Started System Logging Service.
         Starting uim-sysfs.service...
         Starting Telephony service...
[  OK  ] Started strongSwan IPsec IKEv1/IKEv2 daemon using ipsec.conf.
         Starting Avahi mDNS/DNS-SD Stack...
[   18.013022]  remoteproc2: powering up 4a338000.pru1
[  OK  ] Started Network Service.[   18.048934]  remoteproc2: Booting fw image ti-pruss/am335x-pru1-prueth-fw.elf, size 4830

[  OK  ] Started Permit User Sessions.
[   18.188957] ti-pruss 4a300000.pruss: configured system_events = 0x0060000000a00000 intr_channels = 0x0000012a host_intr = 0x0000022a
[   18.328927]  remoteproc2: remote processor 4a338000.pru1 is now up
[   18.392092] net eth1: started
[   18.497345]  remoteproc1: powering up 4a334000.pru0
[   18.502504]  remoteproc1: Booting fw image ti-pruss/am335x-pru0-prueth-fw.elf, size 4754
[   18.511721] using random self ethernet address
[   18.511732] using random host ethernet address
[   18.667085] Mass Storage Function, version: 2009/09/11
[   18.667101] LUN: removable file: (no medium)
[   18.667383] LUN: removable read only file: /dev/mmcblk0p1
[   18.667388] Number of LUNs=1
[   18.891022] ti-pruss 4a300000.pruss: configured system_events = 0x0000060000500000 intr_channels = 0x00000095 host_intr = 0x00000115
[   18.969839]  remoteproc1: remote processor 4a334000.pru0 is now up
[   18.969891] net eth0: started
[   19.024997] random: nonblocking pool is initialized
[   19.038431] usb0: HOST MAC e2:ff:58:f9:e5:e4
[   19.038530] usb0: MAC aa:2d:96:66:1b:e5
[   19.040273] NET: Registered protocol family 15
[   19.050870] g_multi gadget: Multifunction Composite Gadget
[   19.050880] g_multi gadget: g_multi ready
[  OK  ] Found device /dev/ttyGS0.
[   19.664903] eth1: Link is Up - 100Mbps/Full - flow control rx/tx
[  OK  ] Started Start USB gadget.
[   20.161986] Initializing XFRM netlink socket
[  OK  ] Started Telephony service.
[  OK  ] Started Avahi mDNS/DNS-SD Stack.
[  OK  ] Started Login Service.
         Mounting Configuration File System...
[  OK  ] Started Serial Getty on ttyS3.
[  OK  ] Started Serial Getty on ttyGS0.
[  OK  ] Started Serial Getty on ttyS0.
[  OK  ] Started Getty on tty1.
[  OK  ] Reached target Network.
         Starting Network Name Resolution...
         Starting Lightning Fast Webserver With Light System Requirements...
[  OK  ] Mounted Configuration File System.
[  OK  ] Started Network Name Resolution.
[  OK  ] Started Lightning Fast Webserver With Light System Requirements.
[  OK  ] Started uim-sysfs.service.
         Starting rc.pvr.service...
***************************************************************
***************************************************************
NOTICE: This file system contains the following GPLv3 packages:
        autoconf
        binutils
        bison-dev
        bison
        cpp-symlinks
        cpp
        dosfstools
        g++-symlinks
        g++
        gawk-dev
        gawk
        gcc-symlinks
        gcc
        gdb
        gdbserver
        gstreamer1.0-libav
        hidapi
        libcairo-perf-utils
        libgmp10
        libidn11
        libmpc3
        libmpfr4
        make
        nettle
        swig-dev
        swig

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.
[  OK  ] Started rc.pvr.service.
         Starting weston.service...
[  OK  ] Started weston.service.
         Starting telnetd.service...
[  OK  ] Started telnetd.service.
         Starting busybox-udhcpd.service...
         Starting thttpd.service...
[  OK  ] Started busybox-udhcpd.service.
[  OK  ] Started thttpd.service.
         Starting rng-tools.service...
[  OK  ] Started rng-tools.service.
         Starting thermal-zone-init.service...
         Starting parse-ip.service...
[  OK  ] Started thermal-zone-init.service.
[  OK  ] Started parse-ip.service.

 _____                    _____           _         _
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
              |___|                    |___|

Arago Project http://arago-project.org am335x-evm ttyS0

Arago 2016.08 am335x-evm ttyS0

am335x-evm login: root
root@am335x-evm:~# [   38.664523] eth1: Link is Down

root@am335x-evm:~#
root@am335x-evm:~#
root@am335x-evm:~#
root@am335x-evm:~#
root@am335x-evm:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 80:30:DC:80:EE:56
          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)

eth1      Link encap:Ethernet  HWaddr 80:30:DC:80:EE:58
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:216 (216.0 B)  TX bytes:1670 (1.6 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          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)

usb0      Link encap:Ethernet  HWaddr AA:2D:96:66:1B:E5
          inet addr:192.168.7.2  Bcast:192.168.7.3  Mask:255.255.255.252
          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)

root@am335x-evm:~# ifconfig eth1 192.168.1.204
root@am335x-evm:~#
root@am335x-evm:~#
root@am335x-evm:~# mpstat -I SCPU
Linux 4.4.19-rt25-gf572d285f0 (am335x-evm)      10/03/16        _armv7l_        (1 CPU)

21:21:56     CPU      HI/s   TIMER/s  NET_TX/s  NET_RX/s   BLOCK/s BLOCK_IOPOLL/s TASKLET/s SCHED/s HRTIMER/s  RCU/s
21:21:56       0      0.02    100.72      0.06      1.23      0.00      0.00     50.37      0.00      8.68      0.00
root@am335x-evm:~# mpstat -I SCPU &
[1] 1011
Linux 4.4.19-rt25-gf572d285f0 (am335x-evm)      10/03/16        _armv7l_        (1 CPU)

21:22:25     CPU      HI/s   TIMER/s  NET_TX/s  NET_RX/s   BLOCK/s BLOCK_IOPOLL/s TASKLET/s SCHED/s HRTIMER/s  RCU/s
21:22:25       0      0.02    100.59      0.05      0.90      0.00      0.00     37.02      0.00      6.76      0.00
root@am335x-evm:~#
[1]+  Done                    mpstat -I SCPU
root@am335x-evm:~#
root@am335x-evm:~#
root@am335x-evm:~# ps
  PID TTY          TIME CMD
  745 ttyS0    00:00:00 login
  944 ttyS0    00:00:00 sh
 1016 ttyS0    00:00:00 ps
root@am335x-evm:~#
root@am335x-evm:~# mpstat -I SCPU &
[1] 1017
Linux 4.4.19-rt25-gf572d285f0 (am335x-evm)      10/03/16        _armv7l_        (1 CPU)

21:22:41     CPU      HI/s   TIMER/s  NET_TX/s  NET_RX/s   BLOCK/s BLOCK_IOPOLL/s TASKLET/s SCHED/s HRTIMER/s  RCU/s
21:22:41       0      0.02    100.57      0.04      0.79      0.00      0.00     32.73      0.00      5.98      0.00
root@am335x-evm:~# mpstat -I SCPU
Linux 4.4.19-rt25-gf572d285f0 (am335x-evm)      10/03/16        _armv7l_        (1 CPU)

21:22:46     CPU      HI/s   TIMER/s  NET_TX/s  NET_RX/s   BLOCK/s BLOCK_IOPOLL/s TASKLET/s SCHED/s HRTIMER/s  RCU/s
21:22:46       0      0.02    100.55      0.04      0.76      0.00      0.00     31.57      0.00      5.79      0.00
[1]+  Done                    mpstat -I SCPU
root@am335x-evm:~# [  142.664656] eth1: Link is Up - 100Mbps/Full - flow control rx/tx

root@am335x-evm:~#
root@am335x-evm:~# mpstat -I SCPU
Linux 4.4.19-rt25-gf572d285f0 (am335x-evm)      10/03/16        _armv7l_        (1 CPU)

21:23:08     CPU      HI/s   TIMER/s  NET_TX/s  NET_RX/s   BLOCK/s BLOCK_IOPOLL/s TASKLET/s SCHED/s HRTIMER/s  RCU/s
21:23:08       0      0.01    100.51  23963.97      0.69      0.00      0.00     27.07      0.00      5.08      0.00
root@am335x-evm:~#
root@am335x-evm:~# mpstat -I SCPU [  159.953984] sched: RT throttling activated
[  159.956015] NOHZ: local_softirq_pending 106
[  159.964032] NOHZ: local_softirq_pending 106
[  159.973990] NOHZ: local_softirq_pending 106
[  159.983987] NOHZ: local_softirq_pending 106
[  159.993987] NOHZ: local_softirq_pending 106

Linux 4.4.19-rt25-gf572d285f0 (am335x-evm)      10/03/16        _armv7l_        (1 CPU)

21:23:24     CPU      HI/s   TIMER/s  NET_TX/s  NET_RX/s   BLOCK/s BLOCK_IOPOLL/s TASKLET/s SCHED/s HRTIMER/s  RCU/s
21:23:24       0      0.01    100.16  70732.11      0.62      0.00      0.00     24.42      0.00      4.58      0.00
root@am335x-evm:~# [  163.970646] NOHZ: local_softirq_pending 106
[  163.974046] NOHZ: local_softirq_pending 106
[  163.983991] NOHZ: local_softirq_pending 106
[  163.993988] NOHZ: local_softirq_pending 106
[  164.954056] NOHZ: local_softirq_pending 106
▒
aap dts.txt
/*
 * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */
/dts-v1/;

#include "am33xx.dtsi"
#include <dt-bindings/interrupt-controller/irq.h>

/ {
	model = "TI AM3359 ICE-V2";
	compatible = "ti,am3359-icev2", "ti,am33xx";

	chosen {
		stdout-path = &uart0;
		tick-timer = &timer2;
	};

	cpus {
		cpu@0 {
			cpu0-supply = <&vdd1_reg>;
		};
	};

	memory {
		device_type = "memory";
		reg = <0x80000000 0x10000000>; /* 256 MB */
	};
	
	aliases {
		ethernet0 = &pruss_emac0;
		ethernet1 = &pruss_emac1;
	};

	vbat: fixedregulator@0 {
		compatible = "regulator-fixed";
		regulator-name = "vbat";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		regulator-boot-on;
	};
	
	vtt_fixed: fixedregulator@1 {
		compatible = "regulator-fixed";
		regulator-name = "vtt";
		regulator-min-microvolt = <1500000>;
		regulator-max-microvolt = <1500000>;
		gpio = <&gpio2 2 GPIO_ACTIVE_HIGH>;
		regulator-always-on;
		regulator-boot-on;
		enable-active-high;
	};
	
	/* Wakeup M3 Remoteproc */
	/*wkup_m3_ipc {
	    ti,scale-data-fw = "am335x-evm-scale-data.bin";
    };
    */

    /* PRUSS Ethernet */
	pruss_eth {
		compatible = "ti,am3359-prueth";
		pruss = <&pruss>;
		sram = <&ocmcram_nocache>;
		interrupt-parent = <&pruss_intc>;

		pinctrl-0 = <&pruss_eth_default>;
		pinctrl-names = "default";

		/* PRUSS - Ethernet 1 */
		pruss_emac0: ethernet-mii0 {
			phy-handle = <&pruss_eth0_phy>;
			phy-mode = "mii";
			interrupts = <20>, <22>;
			interrupt-names = "rx", "tx";
			/* Filled in by bootloader */
			local-mac-address = [00 00 00 00 00 01];
		};

		/* PRUSS - Ethernet 2 */
		pruss_emac1: ethernet-mii1 {
			phy-handle = <&pruss_eth1_phy>;
			phy-mode = "mii";
			interrupts = <21>, <23>;
			interrupt-names = "rx", "tx";
			/* Filled in by bootloader */
			local-mac-address = [00 00 00 00 00 02];
		};
	};	
};

&am33xx_pinmux {
	pinctrl-names = "default";
	
	/* PRUSS Ethernet - Ethernet 1 & Ethernet 2, both MII */
	pruss_eth_default: pruss_eth_default {
		pinctrl-single,pins = <
			/* Ethernet 1 PRU1_MII0 */
				0x20 ( PIN_INPUT | MUX_MODE5 ) /* (U10) gpmc_ad8.pr1_mii_mt0_clk */
		        0x38 ( PIN_OUTPUT | MUX_MODE5 ) /* (V13) gpmc_ad14.pr1_mii0_txd0 */
		        0x34 ( PIN_OUTPUT | MUX_MODE5 ) /* (R12) gpmc_ad13.pr1_mii0_txd1 */
		        0x30 ( PIN_OUTPUT | MUX_MODE5 ) /* (T12) gpmc_ad12.pr1_mii0_txd2 */
		        0x2c ( PIN_OUTPUT | MUX_MODE5 ) /* (U12) gpmc_ad11.pr1_mii0_txd3 */
		        0xcc ( PIN_INPUT | MUX_MODE5 ) /* (U4) lcd_data11.pr1_mii0_rxd0 */
		        0xc8 ( PIN_INPUT | MUX_MODE5 ) /* (U3) lcd_data10.pr1_mii0_rxd1 */
		        0xc4 ( PIN_INPUT | MUX_MODE5 ) /* (U2) lcd_data9.pr1_mii0_rxd2 */
		        0xc0 ( PIN_INPUT | MUX_MODE5 ) /* (U1) lcd_data8.pr1_mii0_rxd3 */
		        0x28 ( PIN_OUTPUT | MUX_MODE5 ) /* (T11) gpmc_ad10.pr1_mii0_txen */
		        0xd8 ( PIN_INPUT | MUX_MODE5 ) /* (V4) lcd_data14.pr1_mii_mr0_clk */
		        0xdc ( PIN_INPUT | MUX_MODE5 ) /* (T5) lcd_data15.pr1_mii0_rxdv */
		        0xd4 ( PIN_INPUT | MUX_MODE5 ) /* (V3) lcd_data13.pr1_mii0_rxer */
		        0xd0 ( PIN_INPUT | MUX_MODE5 ) /* (V2) lcd_data12.pr1_mii0_rxlink */
		        0xe8 ( PIN_INPUT | MUX_MODE2 ) /* (V5) lcd_pclk.pr1_mii0_crs */
		        0x24 ( PIN_INPUT | MUX_MODE5 ) /* (T10) gpmc_ad9.pr1_mii0_col */

			/* Ethernet 2 PRU1_MII1 */
				0x40 ( PIN_INPUT | MUX_MODE5 ) /* (R13) gpmc_a0.pr1_mii_mt1_clk */
		        0x50 ( PIN_OUTPUT | MUX_MODE5 ) /* (R14) gpmc_a4.pr1_mii1_txd0 */
		        0x4c ( PIN_OUTPUT | MUX_MODE5 ) /* (T14) gpmc_a3.pr1_mii1_txd1 */
		        0x48 ( PIN_OUTPUT | MUX_MODE5 ) /* (U14) gpmc_a2.pr1_mii1_txd2 */
		        0x44 ( PIN_OUTPUT | MUX_MODE5 ) /* (V14) gpmc_a1.pr1_mii1_txd3 */
		        0x60 ( PIN_INPUT | MUX_MODE5 ) /* (V16) gpmc_a8.pr1_mii1_rxd0 */
		        0x5c ( PIN_INPUT | MUX_MODE5 ) /* (T15) gpmc_a7.pr1_mii1_rxd1 */
		        0x58 ( PIN_INPUT | MUX_MODE5 ) /* (U15) gpmc_a6.pr1_mii1_rxd2 */
		        0x54 ( PIN_INPUT | MUX_MODE5 ) /* (V15) gpmc_a5.pr1_mii1_rxd3 */
		        0x74 ( PIN_OUTPUT | MUX_MODE5 ) /* (U17) gpmc_wpn.pr1_mii1_txen */
		        0x64 ( PIN_INPUT | MUX_MODE5 ) /* (U16) gpmc_a9.pr1_mii_mr1_clk */
		        0x68 ( PIN_INPUT | MUX_MODE5 ) /* (T16) gpmc_a10.pr1_mii1_rxdv */
		        0x6c ( PIN_INPUT | MUX_MODE5 ) /* (V17) gpmc_a11.pr1_mii1_rxer */
		        0x78 ( PIN_INPUT | MUX_MODE5 ) /* (U18) gpmc_be1n.pr1_mii1_rxlink */
		        0xec ( PIN_INPUT | MUX_MODE2 ) /* (R6) lcd_ac_bias_en.pr1_mii1_crs */
		        0x70 ( PIN_INPUT | MUX_MODE5 ) /* (T17) gpmc_wait0.pr1_mii1_col */
		>;
	};
	
	pruss_mdio_default: pruss_mdio_default {
	    pinctrl-single,pins = <
		    0x8c ( PIN_OUTPUT | MUX_MODE5 ) /* (V12) gpmc_clk.pr1_mdio_mdclk */
		    0x88 ( PIN_INPUT | MUX_MODE5 ) /* (T13) gpmc_csn3.pr1_mdio_data */
		   /* 0x140 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (M16) gmii1_rxd0.gpio2[21] */
	    >;
	};
	
	gpio3_pins_default: gpio3_pins_default {
	    pinctrl-single,pins = <
		    0x108 ( PIN_INPUT | MUX_MODE7 ) /* (H16) gmii1_col.gpio3[0] */
		  /*  0x110 ( PIN_INPUT | MUX_MODE7 ) /* (J15) gmii1_rxer.gpio3[2] */
		    0x114 ( PIN_INPUT | MUX_MODE7 ) /* (J16) gmii1_txen.gpio3[3] */
		   /* 0x118 ( PIN_INPUT | MUX_MODE7 ) /* (J17) gmii1_rxdv.gpio3[4] */
		    0x12c ( PIN_INPUT | MUX_MODE7 ) /* (K18) gmii1_txclk.gpio3[9] */
		    0x130 ( PIN_INPUT | MUX_MODE7 ) /* (L18) gmii1_rxclk.gpio3[10] */
		    0x194 ( PIN_INPUT | MUX_MODE7 ) /* (B13) mcasp0_fsx.gpio3[15] */
		    0x198 ( PIN_INPUT | MUX_MODE7 ) /* (D12) mcasp0_axr0.gpio3[16] */
		    0x19c ( PIN_INPUT | MUX_MODE7 ) /* (C12) mcasp0_ahclkr.gpio3[17] */
		    0x1a0 ( PIN_INPUT | MUX_MODE7 ) /* (B12) mcasp0_aclkr.gpio3[18] */
		    0x1a4 ( PIN_INPUT | MUX_MODE7 ) /* (C13) mcasp0_fsr.gpio3[19] */
		    0x1a8 ( PIN_INPUT | MUX_MODE7 ) /* (D13) mcasp0_axr1.gpio3[20] */
	    >;
    };
    
    gpio2_pins_default: gpio2_pins_default {
	    pinctrl-single,pins = <
		    0x94 ( PIN_INPUT | MUX_MODE7 ) /* (T7) gpmc_oen_ren.gpio2[3] */
		    0x98 ( PIN_INPUT | MUX_MODE7 ) /* (U6) gpmc_wen.gpio2[4] */
		    0x9c ( PIN_INPUT | MUX_MODE7 ) /* (T6) gpmc_be0n_cle.gpio2[5] */
		    0x134 ( PIN_INPUT | MUX_MODE7 ) /* (L17) gmii1_rxd3.gpio2[18] */
		    0x138 ( PIN_INPUT | MUX_MODE7 ) /* (L16) gmii1_rxd2.gpio2[19] */
		    0x13c ( PIN_INPUT | MUX_MODE7 ) /* (L15) gmii1_rxd1.gpio2[20] */		    
		    0xe4 ( PIN_INPUT | MUX_MODE7 ) /* (R5) lcd_hsync.gpio2[23] */
	        >;
    };
    
    gpio1_pins_default: gpio1_pins_default {
	    pinctrl-single,pins = <
		    0x7c ( PIN_INPUT | MUX_MODE7 ) /* (V6) gpmc_csn0.gpio1[29] */
	    >;
    };
    
     gpio0_pins_default: gpio0_pins_default {
	    pinctrl-single,pins = <
		    0x148 ( PIN_INPUT | MUX_MODE7 ) /* (M17) mdio_data.gpio0[0] */
		    0x14c ( PIN_INPUT | MUX_MODE7 ) /* (M18) mdio_clk.gpio0[1] */
		    0x1b4 ( PIN_INPUT | MUX_MODE7 ) /* (D14) xdma_event_intr1.gpio0[20] */
		    0x124 ( PIN_INPUT | MUX_MODE7 ) /* (K16) gmii1_txd1.gpio0[21] */
		    0x144 ( PIN_INPUT | MUX_MODE7 ) /* (H18) rmii1_refclk.gpio0[29] */
	    >;
    };
	
	dcan0_pins_default: dcan0_pins_default {
		pinctrl-single,pins = <
		0x17c ( PIN_INPUT | MUX_MODE2 ) /* (D17) uart1_rtsn.dcan0_rx */
		0x178 ( PIN_OUTPUT | MUX_MODE2 ) /* (D18) uart1_ctsn.dcan0_tx */
		>;
	};
	
	mmc1_pins: pinmux_mmc1_pins {
		pinctrl-single,pins = <
		0x100 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (G17) mmc0_clk.mmc0_clk */
		0x104 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (G18) mmc0_cmd.mmc0_cmd */
		0xfc ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (G16) mmc0_dat0.mmc0_dat0 */
		0xf8 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (G15) mmc0_dat1.mmc0_dat1 */
		0xf4 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (F18) mmc0_dat2.mmc0_dat2 */
		0xf0 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (F17) mmc0_dat3.mmc0_dat3 */
		0x160 ( PIN_INPUT_PULLUP | MUX_MODE5 ) /* (C15) spi0_cs1.mmc0_sdcd */
		0x164 ( PIN_INPUT_PULLDOWN | MUX_MODE5 ) /* (C18) eCAP0_in_PWM0_out.mmc0_sdwp */
		>;
	};	
	
	mmc2_pins: mmc2_pins_default {
	pinctrl-single,pins = <
		0x80 ( PIN_INPUT_PULLUP | MUX_MODE2 ) /* (U9) gpmc_csn1.mmc1_clk */
        0x84 ( PIN_INPUT_PULLUP | MUX_MODE2 ) /* (V9) gpmc_csn2.mmc1_cmd */
        0x0 ( PIN_INPUT_PULLUP | MUX_MODE1 ) /* (U7) gpmc_ad0.mmc1_dat0 */
        0x4 ( PIN_INPUT_PULLUP | MUX_MODE1 ) /* (V7) gpmc_ad1.mmc1_dat1 */
        0x8 ( PIN_INPUT_PULLUP | MUX_MODE1 ) /* (R8) gpmc_ad2.mmc1_dat2 */
        0xc ( PIN_INPUT_PULLUP | MUX_MODE1 ) /* (T8) gpmc_ad3.mmc1_dat3 */
        0x10 ( PIN_INPUT_PULLUP | MUX_MODE1 ) /* (U8) gpmc_ad4.mmc1_dat4 */
        0x14 ( PIN_INPUT_PULLUP | MUX_MODE1 ) /* (V8) gpmc_ad5.mmc1_dat5 */
        0x18 ( PIN_INPUT_PULLUP | MUX_MODE1 ) /* (R9) gpmc_ad6.mmc1_dat6 */
        0x1c ( PIN_INPUT_PULLUP | MUX_MODE1 ) /* (T9) gpmc_ad7.mmc1_dat7 */
	>;
};


	i2c0_pins: pinmux_i2c0_pins {
		pinctrl-single,pins = <
			0x188 (PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c0_sda.i2c0_sda */
			0x18c (PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c0_scl.i2c0_scl */
		>;
	};

	i2c1_pins: pinmux_i2c1_pins {
		pinctrl-single,pins = <
			0x16c ( PIN_INPUT | MUX_MODE3 ) /* (E17) uart0_rtsn.I2C1_SCL */
		    0x168 ( PIN_INPUT | MUX_MODE3 ) /* (E18) uart0_ctsn.I2C1_SDA */
		>;
	};
	
	usb1_pins_default: usb1_pins_default {
	    pinctrl-single,pins = <
		    0x21c ( PIN_OUTPUT | MUX_MODE0 ) /* (F16) USB0_DRVVBUS.USB0_DRVVBUS */
	    >;
    };

    spi0_pins_default: spi0_pins_default {
	    pinctrl-single,pins = <
		    0x150 ( PIN_INPUT | MUX_MODE0 ) /* (A17) spi0_sclk.spi0_sclk */
		    0x154 ( PIN_INPUT | MUX_MODE0 ) /* (B17) spi0_d0.spi0_d0 */
		    0x158 ( PIN_INPUT | MUX_MODE0 ) /* (B16) spi0_d1.spi0_d1 */
		    0x15c ( PIN_OUTPUT | MUX_MODE0 ) /* (A16) spi0_cs0.spi0_cs0 */
	    >;
    };
    
	uart0_pins: pinmux_uart0_pins {
		pinctrl-single,pins = <
			0x170 (PIN_INPUT_PULLUP | MUX_MODE0)	/* uart0_rxd.uart0_rxd */
			0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* uart0_txd.uart0_txd */
		>;
	};

	uart1_pins: pinmux_uart1_pins {
		pinctrl-single,pins = <			
			0x180 (PIN_INPUT_PULLUP | MUX_MODE0)	/* uart1_rxd.uart1_rxd */
			0x184 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* uart1_txd.uart1_txd */
		>;
	};	
	
	uart4_pins: uart4_pins_default {
	    pinctrl-single,pins = <
		    0x11c ( PIN_INPUT | MUX_MODE3 ) /* (J18) gmii1_txd3.uart4_rxd */
		    0x120 ( PIN_OUTPUT | MUX_MODE3 ) /* (K15) gmii1_txd2.uart4_txd */
	    >;
    };
	
};

&uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart0_pins>;
	status = "okay";
};

&uart1 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart1_pins>;
	status = "okay";
};

&uart4 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart4_pins>;
	status = "okay";
};


/* SPI0 */
&spi0 {
	status = "disabled";
	pinctrl-names = "default";
	pinctrl-0 = <&spi0_pins_default>;
	ti,spi-num-cs = <1>;
	ti,pindir-d0-in-d1-out;
	//spi-cpol;	
	fram@0 {	    
	   //   spi-cpol;	    
	     reg = <0x0>;
	     spi-max-frequency = <1000000>; 
        
        compatible = "atmel,at25", "cypress,fm25l16b";
        pagesize = <256>;
        size = <2048>;
        address-width = <16>; 
    };
	
};


&i2c0 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c0_pins>;

	status = "okay";
	clock-frequency = <400000>;

	tps: tps@2d {
		reg = <0x2d>;
	};
};

&i2c1 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c1_pins>;

	status = "disabled";
	clock-frequency = <400000>;
};


&usb {
	status = "disabled";
};

&usb_ctrl_mod {
	status = "disabled";
};

&usb0_phy {
	status = "disabled";
};

&usb1_phy {
	status = "disabled";
};

&usb0 {
	status = "disabled";
};

&usb1 {
	status = "disabled";
	dr_mode = "host";
};

/*&cppi41dma  {
	status = "okay";
};*/



#include "tps65910.dtsi"


&tps {

    interrupts = <7>;
    interrupt-parent = <&intc>;
    
	vcc1-supply = <&vbat>;
	vcc2-supply = <&vbat>;
	vcc3-supply = <&vbat>;
	vcc4-supply = <&vbat>;
	vcc5-supply = <&vbat>;
	vcc6-supply = <&vbat>;
	vcc7-supply = <&vbat>;
	vccio-supply = <&vbat>;

	regulators {
		vrtc_reg: regulator@0 {
			regulator-always-on;
		};

		vio_reg: regulator@1 {
			regulator-always-on;
		};

		vdd1_reg: regulator@2 {
			/* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
			regulator-name = "vdd_mpu";
			regulator-min-microvolt = <912500>;
			regulator-max-microvolt = <1312500>;
			regulator-boot-on;
			regulator-always-on;
		};

		vdd2_reg: regulator@3 {
			/* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
			regulator-name = "vdd_core";
			regulator-min-microvolt = <912500>;
			regulator-max-microvolt = <1150000>;
			regulator-boot-on;
			regulator-always-on;
		};

		vdd3_reg: regulator@4 {
			regulator-always-on;
		};

		vdig1_reg: regulator@5 {
			regulator-always-on;
		};

		vdig2_reg: regulator@6 {
			regulator-always-on;
		};

		vpll_reg: regulator@7 {
			regulator-always-on;
		};

		vdac_reg: regulator@8 {
			regulator-always-on;
		};

		vaux1_reg: regulator@9 {
			regulator-always-on;
		};

		vaux2_reg: regulator@10 {
			regulator-always-on;
		};

		vaux33_reg: regulator@11 {
			regulator-always-on;
		};

		vmmc_reg: regulator@12 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <3300000>;
			regulator-always-on;
		};
	};
};

/******************/
/* MMC */
/******************/
/* MMC1 - SD-Card */
&mmc1 {
	pinctrl-names = "default";
	pinctrl-0 = <&mmc1_pins>;
	vmmc-supply = <&vmmc_reg>;
	bus-width = <4>;
	status = "okay";
};

/* MMC2 - eMMC */
&mmc2 {
	pinctrl-names = "default";
	pinctrl-0 = <&mmc2_pins>;
	vmmc-supply = <&vmmc_reg>;
	max-frequency = <26000000>;
	bus-width = <8>;
	//ti,non-removable;
	status = "disabled";
};
/******************/

/*
&edma {
	ti,edma-xbar-event-map = /bits/ 16 <1 12
					    2 13>;
};

&sham {
	status = "okay";
};

&aes {
	status = "okay";
};
*/
/******************/
/* CAN */
/******************/
/* CAN0 */
&dcan0 {
	status = "okey";	
	pinctrl-names = "default";
	pinctrl-0 = <&dcan0_pins_default>;
};


/******************/
/* GPIO */

&gpio0 {    
    
	ti,no-reset-on-init;
	ti,no-idle-on-init;
	
	pinctrl-names = "default";
	pinctrl-0 = <&gpio0_pins_default>;
	status = "disabled";
};

&gpio1 {
    ti,no-reset-on-init;
	ti,no-idle-on-init;
	pinctrl-names = "default";
	pinctrl-0 = <&gpio1_pins_default>;
	status = "disabled";
};

&gpio2 {
    ti,no-reset-on-init;
	ti,no-idle-on-init;
	pinctrl-names = "default";
	pinctrl-0 = <&gpio2_pins_default>;
	status = "disabled";
};

&gpio3 {
    ti,no-reset-on-init;
	ti,no-idle-on-init;
	pinctrl-names = "default";
	pinctrl-0 = <&gpio3_pins_default>;
	status = "disabled";
};
/******************/


&pruss_mdio {
	pinctrl-0 = <&pruss_mdio_default>;
	pinctrl-names = "default";
	/* reset-gpios = <&gpio2 21 GPIO_ACTIVE_LOW>;
	reset-delay-us = <2>; /* PHY datasheet states 1uS min */
	status = "okay";

	pruss_eth0_phy: ethernet-phy@1 {
		 reg = <1>;
	 };

	pruss_eth1_phy: ethernet-phy@3 {
		 reg = <3>;
	 };
};


&rtc{

    status="disabled";
    /* ti,hwmods = "disabled"; */
    ti,hwmod-disabled;
};

  • Hi,

    I am looking into this.

    Can you share your bootlog & dts file?

    Best Regards,
    Yordan
  • I have attached log and dts file in last line.
  • I compared my log with ICE2 board boot log and found these two sentence:

    42.642687] irq: no irq domain found for /ocp/pruss@4a300000/intc@4a320000 !
    [ 42.744251] irq: no irq domain found for /ocp/pruss@4a300000/intc@4a320000 !

    but I check my dts file , there are interrupts:

    /* PRUSS - Ethernet 1 */
    pruss_emac0: ethernet-mii0 {
    phy-handle = <&pruss_eth0_phy>;
    phy-mode = "mii";
    interrupts = <20>, <22>;
    interrupt-names = "rx", "tx";
    /* Filled in by bootloader */
    local-mac-address = [00 00 00 00 00 01];
    };

    /* PRUSS - Ethernet 2 */
    pruss_emac1: ethernet-mii1 {
    phy-handle = <&pruss_eth1_phy>;
    phy-mode = "mii";
    interrupts = <21>, <23>;
    interrupt-names = "rx", "tx";
    /* Filled in by bootloader */
    local-mac-address = [00 00 00 00 00 02];
    };
    is there anything I missed in dts?
  • hi, Yordan,

    I have googled a lot but unfortunately did not get any good info.
    Do you have any advice?

    Best regards
    Deliang
  • Hi Deliang,

    I was not able to find the "status" parameter in your pruss_eth dts node. How (at which point) do you enable the pruss_eth?

    Also check the am335x-icev2.dts, there is additional &pruss_soc_bus node.

    Specifically the message:
    sched: RT throttling activated
    is printed from kernel/sched/rt.c:
    balance_runtime(rt_rq);
    runtime = sched_rt_runtime(rt_rq);
    if (runtime == RUNTIME_INF)
    return 0;

    if (rt_rq->rt_time > runtime) {
    struct rt_bandwidth *rt_b = sched_rt_bandwidth(rt_rq);

    /*
    * Don't actually throttle groups that have no runtime assigned
    * but accrue some time due to boosting.
    */
    if (likely(rt_b->rt_runtime)) {
    rt_rq->rt_throttled = 1;
    printk_deferred_once("sched: RT throttling activated\n");

    This may be due to some task exceeding its dedicated runtime...
    Then the other issue:

    comes from kernel/time/tick-sched.c:
    if (ratelimit < 10 &&
    (local_softirq_pending() & SOFTIRQ_STOP_IDLE_MASK)) {
    pr_warn("NOHZ: local_softirq_pending %02x\n",
    (unsigned int) local_softirq_pending());
    ratelimit++;
    }

    Best Regards,
    Yordan
  • Hi, Yordan,

    I can not find the &pruss_soc_bus node in ice2 dts:

    /*
    * Copyright (C) 2016 Texas Instruments Incorporated - http://www.ti.com/
    *
    * This program is free software; you can redistribute it and/or modify
    * it under the terms of the GNU General Public License version 2 as
    * published by the Free Software Foundation.
    */

    /*
    * AM335x ICE V2 board
    * www.ti.com/.../tmdsice3359
    */

    /dts-v1/;

    #include "am33xx.dtsi"

    / {
    model = "TI AM3359 ICE-V2";
    compatible = "ti,am3359-icev2", "ti,am33xx";

    memory {
    device_type = "memory";
    reg = <0x80000000 0x10000000>; /* 256 MB */
    };

    aliases {
    ethernet0 = &pruss_emac0;
    ethernet1 = &pruss_emac1;
    };

    vbat: fixedregulator@0 {
    compatible = "regulator-fixed";
    regulator-name = "vbat";
    regulator-min-microvolt = <5000000>;
    regulator-max-microvolt = <5000000>;
    regulator-boot-on;
    };

    vtt_fixed: fixedregulator@1 {
    compatible = "regulator-fixed";
    regulator-name = "vtt";
    regulator-min-microvolt = <1500000>;
    regulator-max-microvolt = <1500000>;
    gpio = <&gpio0 18 GPIO_ACTIVE_HIGH>;
    regulator-always-on;
    regulator-boot-on;
    enable-active-high;
    };

    leds-iio {
    status = "disabled";
    compatible = "gpio-leds";
    led-out0 {
    label = "out0";
    gpios = <&tpic2810 0 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    };

    led-out1 {
    label = "out1";
    gpios = <&tpic2810 1 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    };

    led-out2 {
    label = "out2";
    gpios = <&tpic2810 2 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    };

    led-out3 {
    label = "out3";
    gpios = <&tpic2810 3 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    };

    led-out4 {
    label = "out4";
    gpios = <&tpic2810 4 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    };

    led-out5 {
    label = "out5";
    gpios = <&tpic2810 5 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    };

    led-out6 {
    label = "out6";
    gpios = <&tpic2810 6 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    };

    led-out7 {
    label = "out7";
    gpios = <&tpic2810 7 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    };
    };

    /* Tricolor status LEDs */
    leds@1 {
    compatible = "gpio-leds";
    pinctrl-names = "default";
    pinctrl-0 = <&user_leds>;

    led@0 {
    label = "status0:red:cpu0";
    gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    linux,default-trigger = "cpu0";
    };

    led@1 {
    label = "status0:green:usr";
    gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    };

    led@2 {
    label = "status0:yellow:usr";
    gpios = <&gpio3 9 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    };

    led@3 {
    label = "status1:red:mmc0";
    gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    linux,default-trigger = "mmc0";
    };

    led@4 {
    label = "status1:green:usr";
    gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    };

    led@5 {
    label = "status1:yellow:usr";
    gpios = <&gpio0 19 GPIO_ACTIVE_HIGH>;
    default-state = "off";
    };
    };

    /* Dual mac ethernet application node on icss */
    pruss_eth {
    compatible = "ti,am3359-prueth";
    pruss = <&pruss>;
    sram = <&ocmcram_nocache>;
    interrupt-parent = <&pruss_intc>;

    pinctrl-0 = <&pruss_eth_default>;
    pinctrl-names = "default";

    pruss_emac0: ethernet-mii0 {
    phy-handle = <&pruss_eth0_phy>;
    phy-mode = "mii";
    interrupts = <20>, <22>;
    interrupt-names = "rx", "tx";
    /* Filled in by bootloader */
    local-mac-address = [00 00 00 00 00 00];
    };

    pruss_emac1: ethernet-mii1 {
    phy-handle = <&pruss_eth1_phy>;
    phy-mode = "mii";
    interrupts = <21>, <23>;
    interrupt-names = "rx", "tx";
    /* Filled in by bootloader */
    local-mac-address = [00 00 00 00 00 00];
    };
    };

    rotary-in0 {
    compatible = "rotary-encoder";
    gpios = <&pca9536 3 GPIO_ACTIVE_HIGH>,
    <&pca9536 2 GPIO_ACTIVE_HIGH>,
    <&pca9536 1 GPIO_ACTIVE_HIGH>,
    <&pca9536 0 GPIO_ACTIVE_HIGH>;
    linux,axis = <0>; /* ABS_X */
    rotary-encoder,steps = <10>;
    rotary-encoder,absolute-encoder;
    };
    };

    &am33xx_pinmux {
    user_leds: user_leds {
    pinctrl-single,pins = <
    AM33XX_IOPAD(0x91c, PIN_OUTPUT | MUX_MODE7) /* (J18) gmii1_txd3.gpio0[16] */
    AM33XX_IOPAD(0x920, PIN_OUTPUT | MUX_MODE7) /* (K15) gmii1_txd2.gpio0[17] */
    AM33XX_IOPAD(0x9b0, PIN_OUTPUT | MUX_MODE7) /* (A15) xdma_event_intr0.gpio0[19] */
    AM33XX_IOPAD(0x9b4, PIN_OUTPUT | MUX_MODE7) /* (D14) xdma_event_intr1.gpio0[20] */
    AM33XX_IOPAD(0x880, PIN_OUTPUT | MUX_MODE7) /* (U9) gpmc_csn1.gpio1[30] */
    AM33XX_IOPAD(0x92c, PIN_OUTPUT | MUX_MODE7) /* (K18) gmii1_txclk.gpio3[9] */
    >;
    };

    mmc0_pins_default: mmc0_pins_default {
    pinctrl-single,pins = <
    AM33XX_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0) /* (F17) mmc0_dat3.mmc0_dat3 */
    AM33XX_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0) /* (F18) mmc0_dat2.mmc0_dat2 */
    AM33XX_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0) /* (G15) mmc0_dat1.mmc0_dat1 */
    AM33XX_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0) /* (G16) mmc0_dat0.mmc0_dat0 */
    AM33XX_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0) /* (G17) mmc0_clk.mmc0_clk */
    AM33XX_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0) /* (G18) mmc0_cmd.mmc0_cmd */
    >;
    };

    i2c0_pins_default: i2c0_pins_default {
    pinctrl-single,pins = <
    AM33XX_IOPAD(0x988, PIN_INPUT | MUX_MODE0) /* (C17) I2C0_SDA.I2C0_SDA */
    AM33XX_IOPAD(0x98c, PIN_INPUT | MUX_MODE0) /* (C16) I2C0_SCL.I2C0_SCL */
    >;
    };

    spi0_pins_default: spi0_pins_default {
    pinctrl-single,pins = <
    AM33XX_IOPAD(0x950, PIN_INPUT_PULLUP | MUX_MODE0) /* (A17) spi0_sclk.spi0_sclk */
    AM33XX_IOPAD(0x954, PIN_INPUT_PULLUP | MUX_MODE0) /* (B17) spi0_d0.spi0_d0 */
    AM33XX_IOPAD(0x958, PIN_INPUT_PULLUP | MUX_MODE0) /* (B16) spi0_d1.spi0_d1 */
    AM33XX_IOPAD(0x95c, PIN_INPUT_PULLUP | MUX_MODE0) /* (A16) spi0_cs0.spi0_cs0 */
    AM33XX_IOPAD(0x960, PIN_INPUT_PULLUP | MUX_MODE0) /* (C15) spi0_cs1.spi0_cs1 */
    AM33XX_IOPAD(0x9a0, PIN_INPUT_PULLUP | MUX_MODE7) /* (B12) mcasp0_aclkr.gpio3[18] */
    >;
    };

    uart0_pins: pinmux_uart0_pins {
    pinctrl-single,pins = <
    0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */
    0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
    >;
    };

    uart3_pins_default: uart3_pins_default {
    pinctrl-single,pins = <
    AM33XX_IOPAD(0x934, PIN_INPUT_PULLUP | MUX_MODE1) /* (L17) gmii1_rxd3.uart3_rxd */
    AM33XX_IOPAD(0x938, PIN_OUTPUT_PULLUP | MUX_MODE1) /* (L16) gmii1_rxd2.uart3_txd */
    >;
    };

    pruss_eth_default: pruss_eth_default {
    pinctrl-single,pins = <
    AM33XX_IOPAD(0x8a0, (PIN_INPUT | MUX_MODE2)) /* dss_data0.pr1_mii_mt0_clk */
    AM33XX_IOPAD(0x8b4, (PIN_OUTPUT | MUX_MODE2)) /* dss_data5.pr1_mii0_txd0 */
    AM33XX_IOPAD(0x8b0, (PIN_OUTPUT | MUX_MODE2)) /* dss_data4.pr1_mii0_txd1 */
    AM33XX_IOPAD(0x8ac, (PIN_OUTPUT | MUX_MODE2)) /* dss_data3.pr1_mii0_txd2 */
    AM33XX_IOPAD(0x8a8, (PIN_OUTPUT | MUX_MODE2)) /* dss_data2.pr1_mii0_txd3 */
    AM33XX_IOPAD(0x8cc, (PIN_INPUT | MUX_MODE5)) /* dss_data11.pr1_mii0_rxd0 */
    AM33XX_IOPAD(0x8c8, (PIN_INPUT | MUX_MODE5)) /* dss_data10.pr1_mii0_rxd1 */
    AM33XX_IOPAD(0x8c4, (PIN_INPUT | MUX_MODE5)) /* dss_data9.pr1_mii0_rxd2 */
    AM33XX_IOPAD(0x8c0, (PIN_INPUT | MUX_MODE5)) /* dss_data8.pr1_mii0_rxd3 */
    AM33XX_IOPAD(0x8a4, (PIN_OUTPUT | MUX_MODE2)) /* dss_data1.pr1_mii0_txen */
    AM33XX_IOPAD(0x8d8, (PIN_INPUT | MUX_MODE5)) /* dss_data14.pr1_mii_mr0_clk */
    AM33XX_IOPAD(0x8dc, (PIN_INPUT | MUX_MODE5)) /* dss_data15.pr1_mii0_rxdv */
    AM33XX_IOPAD(0x8d4, (PIN_INPUT | MUX_MODE5)) /* dss_data13.pr1_mii0_rxer */
    AM33XX_IOPAD(0x8d0, (PIN_INPUT | MUX_MODE5)) /* dss_data12.pr1_mii0_rxlink */
    AM33XX_IOPAD(0x8e8, (PIN_INPUT | MUX_MODE2)) /* dss_pclk.pr1_mii0_crs */

    AM33XX_IOPAD(0x840, (PIN_INPUT | MUX_MODE5)) /* gpmc_a0.pr1_mii_mt1_clk */
    AM33XX_IOPAD(0x850, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a4.pr1_mii1_txd0 */
    AM33XX_IOPAD(0x84c, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a3.pr1_mii1_txd1 */
    AM33XX_IOPAD(0x848, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a2.pr1_mii1_txd2 */
    AM33XX_IOPAD(0x844, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a1.pr1_mii1_txd3 */
    AM33XX_IOPAD(0x860, (PIN_INPUT | MUX_MODE5)) /* gpmc_a8.pr1_mii1_rxd0 */
    AM33XX_IOPAD(0x85c, (PIN_INPUT | MUX_MODE5)) /* gpmc_a7.pr1_mii1_rxd1 */
    AM33XX_IOPAD(0x858, (PIN_INPUT | MUX_MODE5)) /* gpmc_a6.pr1_mii1_rxd2 */
    AM33XX_IOPAD(0x854, (PIN_INPUT | MUX_MODE5)) /* gpmc_a5.pr1_mii1_rxd3 */
    AM33XX_IOPAD(0x874, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_wpn.pr1_mii1_txen */
    AM33XX_IOPAD(0x864, (PIN_INPUT | MUX_MODE5)) /* gpmc_a9.pr1_mii_mr1_clk */
    AM33XX_IOPAD(0x868, (PIN_INPUT | MUX_MODE5)) /* gpmc_a10.pr1_mii1_rxdv */
    AM33XX_IOPAD(0x86c, (PIN_INPUT | MUX_MODE5)) /* gpmc_a11.pr1_mii1_rxer */
    AM33XX_IOPAD(0x878, (PIN_INPUT | MUX_MODE5)) /* gpmc_ben1.pr1_mii1_rxlink */
    AM33XX_IOPAD(0x8ec, (PIN_INPUT | MUX_MODE2)) /* lcd_ac_bias_en.pr1_mii1_crs */
    AM33XX_IOPAD(0x870, (PIN_INPUT | MUX_MODE5)) /* gpmc_wait0.pr1_mii1_col */
    >;
    };

    pruss_mdio_default: pruss_mdio_default {
    pinctrl-single,pins = <
    AM33XX_IOPAD(0x88c, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_clk.pr1_mdio_mdclk */
    AM33XX_IOPAD(0x888, (PIN_INPUT | MUX_MODE5)) /* gpmc_csn3.pr1_mdio_data */
    AM33XX_IOPAD(0x89c, (PIN_INPUT_PULLUP | MUX_MODE7)) /* gpmc_ben0_cle.gpio2_5 */
    /* disable CPSW MDIO */
    AM33XX_IOPAD(0x948, (PIN_INPUT_PULLUP | MUX_MODE7)) /* mdio_data.gpio0_0 */
    AM33XX_IOPAD(0x94c, (PIN_INPUT_PULLUP | MUX_MODE7)) /* mdio_clk.gpio0_1 */
    >;
    };

    cpsw_default: cpsw_default {
    pinctrl-single,pins = <
    /* Slave 1, RMII mode */
    AM33XX_IOPAD(0x90c, (PIN_INPUT_PULLUP | MUX_MODE1)) /* mii1_crs.rmii1_crs_dv */
    AM33XX_IOPAD(0x944, (PIN_INPUT_PULLUP | MUX_MODE0)) /* rmii1_refclk.rmii1_refclk */
    AM33XX_IOPAD(0x940, (PIN_INPUT_PULLUP | MUX_MODE1)) /* mii1_rxd0.rmii1_rxd0 */
    AM33XX_IOPAD(0x93c, (PIN_INPUT_PULLUP | MUX_MODE1)) /* mii1_rxd1.rmii1_rxd1 */
    AM33XX_IOPAD(0x910, (PIN_INPUT_PULLUP | MUX_MODE1)) /* mii1_rxerr.rmii1_rxerr */
    AM33XX_IOPAD(0x928, (PIN_OUTPUT_PULLDOWN | MUX_MODE1)) /* mii1_txd0.rmii1_txd0 */
    AM33XX_IOPAD(0x924, (PIN_OUTPUT_PULLDOWN | MUX_MODE1)) /* mii1_txd1.rmii1_txd1 */
    AM33XX_IOPAD(0x914, (PIN_OUTPUT_PULLDOWN | MUX_MODE1)) /* mii1_txen.rmii1_txen */
    /* Slave 2, RMII mode */
    AM33XX_IOPAD(0x870, (PIN_INPUT_PULLUP | MUX_MODE3)) /* gpmc_wait0.rmii2_crs_dv */
    AM33XX_IOPAD(0x908, (PIN_INPUT_PULLUP | MUX_MODE1)) /* mii1_col.rmii2_refclk */
    AM33XX_IOPAD(0x86c, (PIN_INPUT_PULLUP | MUX_MODE3)) /* gpmc_a11.rmii2_rxd0 */
    AM33XX_IOPAD(0x868, (PIN_INPUT_PULLUP | MUX_MODE3)) /* gpmc_a10.rmii2_rxd1 */
    AM33XX_IOPAD(0x874, (PIN_INPUT_PULLUP | MUX_MODE3)) /* gpmc_wpn.rmii2_rxerr */
    AM33XX_IOPAD(0x854, (PIN_OUTPUT_PULLDOWN | MUX_MODE3)) /* gpmc_a5.rmii2_txd0 */
    AM33XX_IOPAD(0x850, (PIN_OUTPUT_PULLDOWN | MUX_MODE3)) /* gpmc_a4.rmii2_txd1 */
    AM33XX_IOPAD(0x840, (PIN_OUTPUT_PULLDOWN | MUX_MODE3)) /* gpmc_a0.rmii2_txen */
    >;
    };

    cpsw_sleep: cpsw_sleep {
    pinctrl-single,pins = <
    /* Slave 1 reset value */
    AM33XX_IOPAD(0x90c, (PIN_INPUT_PULLDOWN | MUX_MODE7))
    AM33XX_IOPAD(0x944, (PIN_INPUT_PULLDOWN | MUX_MODE7))
    AM33XX_IOPAD(0x940, (PIN_INPUT_PULLDOWN | MUX_MODE7))
    AM33XX_IOPAD(0x93c, (PIN_INPUT_PULLDOWN | MUX_MODE7))
    AM33XX_IOPAD(0x910, (PIN_INPUT_PULLDOWN | MUX_MODE7))
    AM33XX_IOPAD(0x928, (PIN_INPUT_PULLDOWN | MUX_MODE7))
    AM33XX_IOPAD(0x924, (PIN_INPUT_PULLDOWN | MUX_MODE7))
    AM33XX_IOPAD(0x914, (PIN_INPUT_PULLDOWN | MUX_MODE7))

    /* Slave 2 reset value */
    AM33XX_IOPAD(0x870, (PIN_INPUT_PULLDOWN | MUX_MODE7))
    AM33XX_IOPAD(0x908, (PIN_INPUT_PULLDOWN | MUX_MODE7))
    AM33XX_IOPAD(0x86c, (PIN_INPUT_PULLDOWN | MUX_MODE7))
    AM33XX_IOPAD(0x868, (PIN_INPUT_PULLDOWN | MUX_MODE7))
    AM33XX_IOPAD(0x874, (PIN_INPUT_PULLDOWN | MUX_MODE7))
    AM33XX_IOPAD(0x854, (PIN_INPUT_PULLDOWN | MUX_MODE7))
    AM33XX_IOPAD(0x850, (PIN_INPUT_PULLDOWN | MUX_MODE7))
    AM33XX_IOPAD(0x840, (PIN_INPUT_PULLDOWN | MUX_MODE7))
    >;
    };

    davinci_mdio_default: davinci_mdio_default {
    pinctrl-single,pins = <
    /* MDIO */
    AM33XX_IOPAD(0x948, (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)) /* mdio_data.mdio_data */
    AM33XX_IOPAD(0x94c, (PIN_OUTPUT_PULLUP | MUX_MODE0)) /* mdio_clk.mdio_clk */
    >;
    };

    davinci_mdio_sleep: davinci_mdio_sleep {
    pinctrl-single,pins = <
    /* MDIO reset value */
    AM33XX_IOPAD(0x948, (PIN_INPUT_PULLDOWN | MUX_MODE7))
    AM33XX_IOPAD(0x94c, (PIN_INPUT_PULLDOWN | MUX_MODE7))
    >;
    };
    };

    &i2c0 {
    pinctrl-names = "default";
    pinctrl-0 = <&i2c0_pins_default>;

    status = "okay";
    clock-frequency = <400000>;

    tps: power-controller@2d {
    reg = <0x2d>;
    };

    tpic2810: gpio@60 {
    compatible = "ti,tpic2810";
    reg = <0x60>;
    gpio-controller;
    #gpio-cells = <2>;
    };

    /* osd9616p0899-10 */
    display@3c {
    compatible = "solomon,ssd1306fb-i2c";
    reg = <0x3c>;
    solomon,height = <16>;
    solomon,width = <96>;
    solomon,com-seq;
    solomon,com-invdir;
    solomon,page-offset = <0>;
    solomon,prechargep1 = <2>;
    solomon,prechargep2 = <13>;
    };

    pca9536: gpio@41 {
    compatible = "ti,pca9536";
    reg = <0x41>;
    gpio-controller;
    #gpio-cells = <2>;
    };
    };

    &spi0 {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&spi0_pins_default>;

    sn65hvs882@1 {
    compatible = "pisosr-gpio";
    gpio-controller;
    #gpio-cells = <2>;

    load-gpios = <&gpio3 18 GPIO_ACTIVE_LOW>;

    reg = <1>;
    spi-max-frequency = <1000000>;
    spi-cpol;
    };

    spi_nor: flash@0 {
    #address-cells = <1>;
    #size-cells = <1>;
    compatible = "winbond,w25q64", "jedec,spi-nor";
    spi-max-frequency = <80000000>;
    m25p,fast-read;
    reg = <0>;

    partition@0 {
    label = "u-boot-spl";
    reg = <0x0 0x80000>;
    read-only;
    };

    partition@1 {
    label = "u-boot";
    reg = <0x80000 0x100000>;
    read-only;
    };

    partition@2 {
    label = "u-boot-env";
    reg = <0x180000 0x20000>;
    read-only;
    };

    partition@3 {
    label = "misc";
    reg = <0x1A0000 0x660000>;
    };
    };

    };

    &tscadc {
    status = "okay";
    adc {
    ti,adc-channels = <1 2 3 4 5 6 7>;
    };
    };

    #include "tps65910.dtsi"

    &tps {
    vcc1-supply = <&vbat>;
    vcc2-supply = <&vbat>;
    vcc3-supply = <&vbat>;
    vcc4-supply = <&vbat>;
    vcc5-supply = <&vbat>;
    vcc6-supply = <&vbat>;
    vcc7-supply = <&vbat>;
    vccio-supply = <&vbat>;

    regulators {
    vrtc_reg: regulator@0 {
    regulator-always-on;
    };

    vio_reg: regulator@1 {
    regulator-always-on;
    };

    vdd1_reg: regulator@2 {
    regulator-name = "vdd_mpu";
    regulator-min-microvolt = <912500>;
    regulator-max-microvolt = <1326000>;
    regulator-boot-on;
    regulator-always-on;
    };

    vdd2_reg: regulator@3 {
    regulator-name = "vdd_core";
    regulator-min-microvolt = <912500>;
    regulator-max-microvolt = <1144000>;
    regulator-boot-on;
    regulator-always-on;
    };

    vdd3_reg: regulator@4 {
    regulator-always-on;
    };

    vdig1_reg: regulator@5 {
    regulator-always-on;
    };

    vdig2_reg: regulator@6 {
    regulator-always-on;
    };

    vpll_reg: regulator@7 {
    regulator-always-on;
    };

    vdac_reg: regulator@8 {
    regulator-always-on;
    };

    vaux1_reg: regulator@9 {
    regulator-always-on;
    };

    vaux2_reg: regulator@10 {
    regulator-always-on;
    };

    vaux33_reg: regulator@11 {
    regulator-always-on;
    };

    vmmc_reg: regulator@12 {
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <3300000>;
    regulator-always-on;
    };
    };
    };

    &mmc1 {
    status = "okay";
    vmmc-supply = <&vmmc_reg>;
    bus-width = <4>;
    pinctrl-names = "default";
    pinctrl-0 = <&mmc0_pins_default>;
    };

    &gpio0 {
    /* Do not idle the GPIO used for holding the VTT regulator */
    ti,no-reset-on-init;
    ti,no-idle-on-init;

    p7 {
    gpio-hog;
    gpios = <7 GPIO_ACTIVE_HIGH>;
    output-high;
    line-name = "FET_SWITCH_CTRL";
    };
    };

    &uart0 {
    pinctrl-names = "default";
    pinctrl-0 = <&uart0_pins>;

    status = "okay";
    };

    &uart3 {
    pinctrl-names = "default";
    pinctrl-0 = <&uart3_pins_default>;
    status = "okay";
    };

    &gpio3 {
    p4 {
    gpio-hog;
    gpios = <4 GPIO_ACTIVE_HIGH>;
    output-high;
    line-name = "PR1_MII_CTRL";
    };

    p10 {
    gpio-hog;
    gpios = <10 GPIO_ACTIVE_HIGH>;
    /* ETH1 mux: Low for MII-PRU, high for RMII-CPSW */
    output-low;
    line-name = "MUX_MII_CTL1";
    };
    };

    &pruss_mdio {
    pinctrl-0 = <&pruss_mdio_default>;
    pinctrl-names = "default";
    reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;
    reset-delay-us = <2>; /* PHY datasheet states 1uS min */
    status = "okay";

    pruss_eth0_phy: ethernet-phy@1 {
    reg = <1>;
    };

    pruss_eth1_phy: ethernet-phy@3 {
    reg = <3>;
    };
    };

    &cpsw_emac0 {
    phy_id = <&davinci_mdio>, <1>;
    phy-mode = "rmii";
    dual_emac_res_vlan = <1>;
    };

    &cpsw_emac1 {
    phy_id = <&davinci_mdio>, <3>;
    phy-mode = "rmii";
    dual_emac_res_vlan = <2>;
    };

    &mac {
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&cpsw_default>;
    pinctrl-1 = <&cpsw_sleep>;
    status = "disabled";
    dual_emac;
    };

    &phy_sel {
    rmii-clock-ext;
    };

    &davinci_mdio {
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&davinci_mdio_default>;
    pinctrl-1 = <&davinci_mdio_sleep>;
    status = "disabled";
    reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;
    reset-delay-us = <2>; /* PHY datasheet states 1uS min */
    };

    and also I can not find it in the dts directory:
    ~/ti-processor-sdk-linux-rt-am335x-evm-03.01.00.06/board-support/linux-rt-4.4.19+gitAUTOINC+f572d285f0-gf572d285f0/arch/arm/boot/dts$ grep -ir pruss_soc_bus ./
    tqma28bsp109@tqma28bsp109-VirtualBox:~/ti-processor-sdk-linux-rt-am335x-evm-03.01.00.06/board-support/linux-rt-4.4.19+gitAUTOINC+f572d285f0-gf572d285f0/arch/arm/boot/dts$

    so I think maybe your dts is different version. which version do you use?

    and what' more, we use the same dts for another board which use different phy, and the PRU works.

    Best regards
    deliang
  • hi, Yordan,

    today I download latest SDK ti-processor-sdk-linux-rt-am335x-evm-04.02.00.09
    and use create-sdcard.sh to create a new SD card with prebuild images.
    then I test it in ICE board(rev 2.1) and also fond the some print information:
    [ 107.051212] NOHZ: local_softirq_pending 08
    [ 107.057181] NOHZ: local_softirq_pending 08
    [ 107.067121] NOHZ: local_softirq_pending 08
    [ 108.026110] NOHZ: local_softirq_pending 10e
    [ 108.027214] NOHZ: local_softirq_pending 10e
    [ 108.037122] NOHZ: local_softirq_pending 10e
    [ 108.047117] NOHZ: local_softirq_pending 10e
    [ 108.049262] NOHZ: local_softirq_pending 10e
    [ 108.057129] NOHZ: local_softirq_pending 10e
    [ 108.067118] NOHZ: local_softirq_pending 10e

    I attached all log info:

    Arago 2017.10 am335x-evm ttyS3

    am335x-evm login: root
    root@am335x-evm:~#
    root@am335x-evm:~#
    root@am335x-evm:~#
    root@am335x-evm:~#
    root@am335x-evm:~# ifconfig
    eth0 Link encap:Ethernet HWaddr 68:C9:0B:E4:9C:D7
    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)

    eth1 Link encap:Ethernet HWaddr 68:C9:0B:E4:9C:D9
    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)

    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:480 errors:0 dropped:0 overruns:0 frame:0
    TX packets:480 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1
    RX bytes:36480 (35.6 KiB) TX bytes:36480 (35.6 KiB)

    root@am335x-evm:~# [ 100.487800] prueth pruss_eth eth1: Link is Up - 100Mbps/Full - flow control rx/tx
    [ 100.495424] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
    [ 107.047106] sched: RT throttling activated
    [ 107.051212] NOHZ: local_softirq_pending 08
    [ 107.057181] NOHZ: local_softirq_pending 08
    [ 107.067121] NOHZ: local_softirq_pending 08
    [ 108.026110] NOHZ: local_softirq_pending 10e
    [ 108.027214] NOHZ: local_softirq_pending 10e
    [ 108.037122] NOHZ: local_softirq_pending 10e
    [ 108.047117] NOHZ: local_softirq_pending 10e
    [ 108.049262] NOHZ: local_softirq_pending 10e
    [ 108.057129] NOHZ: local_softirq_pending 10e
    [ 108.067118] NOHZ: local_softirq_pending 10e

    root@am335x-evm:~#
    root@am335x-evm:~# ls /nboo
    ls: /nboo: No such file or directory
    root@am335x-evm:~# ls /boot
    am335x-bone.dtb am335x-icev2-pru-excl-uio.dtb devicetree-zImage-am335x-evm.dtb zImage
    am335x-boneblack.dtb am335x-icev2.dtb devicetree-zImage-am335x-evmsk.dtb zImage-4.9.59-rt23-g273202a0d3
    am335x-bonegreen.dtb devicetree-zImage-am335x-bone.dtb devicetree-zImage-am335x-icev2-pru-excl-uio.dtb
    am335x-evm.dtb devicetree-zImage-am335x-boneblack.dtb devicetree-zImage-am335x-icev2.dtb
    am335x-evmsk.dtb devicetree-zImage-am335x-bonegreen.dtb vmlinux-4.9.59-rt23-g273202a0d3
    root@am335x-evm:~#
    root@am335x-evm:~# dmesg
    [ 0.000000] Booting Linux on physical CPU 0x0
    [ 0.000000] Linux version 4.9.59-rt23-g273202a0d3 (gtbldadm@ubuntu-16) (gcc version 6.2.1 20161016 (Linaro GCC 6.2-2016.11) ) #1 PREEMPT RT Sat Dec 23 10:46:20 EST 2017
    [ 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 AM3359 ICE-V2
    [ 0.000000] efi: Getting EFI parameters from FDT:
    [ 0.000000] efi: UEFI not found.
    [ 0.000000] cma: Reserved 48 MiB at 0x8a800000
    [ 0.000000] Memory policy: Data cache writeback
    [ 0.000000] On node 0 totalpages: 65536
    [ 0.000000] free_area_init_node: node 0, pgdat c0c47490, node_mem_map cfda1000
    [ 0.000000] Normal zone: 576 pages used for memmap
    [ 0.000000] Normal zone: 0 pages reserved
    [ 0.000000] Normal zone: 65536 pages, LIFO batch:15
    [ 0.000000] CPU: All CPU(s) started in SVC mode.
    [ 0.000000] AM335X ES2.1 (sgx neon)
    [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
    [ 0.000000] pcpu-alloc: [0] 0
    [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 64960
    [ 0.000000] Kernel command line: console=ttyO3,115200n8 root=PARTUUID=00047b9b-02 rw rootfstype=ext4 rootwait
    [ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
    [ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
    [ 0.000000] Memory: 198272K/262144K available (7168K kernel code, 291K rwdata, 2400K rodata, 1024K init, 324K bss, 14720K reserved, 49152K cma-reserved, 0K highmem)
    [ 0.000000] Virtual kernel memory layout:
    vector : 0xffff0000 - 0xffff1000 ( 4 kB)
    fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
    vmalloc : 0xd0800000 - 0xff800000 ( 752 MB)
    lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
    pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
    modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
    .text : 0xc0008000 - 0xc0800000 (8160 kB)
    .init : 0xc0b00000 - 0xc0c00000 (1024 kB)
    .data : 0xc0c00000 - 0xc0c48ee0 ( 292 kB)
    .bss : 0xc0c48ee0 - 0xc0c99f60 ( 325 kB)
    [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [ 0.000000] Preemptible hierarchical RCU implementation.
    [ 0.000000] RCU kthread priority: 1.
    [ 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.000019] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
    [ 0.000035] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [ 0.000043] OMAP clocksource: timer1 at 24000000 Hz
    [ 0.000269] clocksource_probe: no matching clocksources found
    [ 0.000472] Console: colour dummy device 80x30
    [ 0.000653] WARNING: Your 'console=ttyO3' has been replaced by 'ttyS3'
    [ 0.000655] This ensures that you still see kernel messages. Please
    [ 0.000658] update your kernel commandline.
    [ 0.058777] Calibrating delay loop... 597.60 BogoMIPS (lpj=2988032)
    [ 0.058784] pid_max: default: 32768 minimum: 301
    [ 0.058955] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.058963] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.060061] CPU: Testing write buffer coherency: ok
    [ 0.060442] Setting up static identity map for 0x80100000 - 0x80100060
    [ 0.061962] EFI services will not be available.
    [ 0.063741] devtmpfs: initialized
    [ 0.081843] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [ 0.082314] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [ 0.082352] futex hash table entries: 256 (order: 1, 8192 bytes)
    [ 0.086622] pinctrl core: initialized pinctrl subsystem
    [ 0.088271] NET: Registered protocol family 16
    [ 0.091245] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [ 0.110823] omap_hwmod: debugss: _wait_target_disable failed
    [ 0.172160] GPIO line 7 (FET_SWITCH_CTRL) hogged as output/high
    [ 0.172208] gpio gpiochip0: (gpio): added GPIO chardev (254:0)
    [ 0.172684] gpiochip_setup_dev: registered GPIOs 0 to 31 on device: gpiochip0 (gpio)
    [ 0.175006] OMAP GPIO hardware version 0.1
    [ 0.175831] gpio gpiochip1: (gpio): added GPIO chardev (254:1)
    [ 0.176276] gpiochip_setup_dev: registered GPIOs 32 to 63 on device: gpiochip1 (gpio)
    [ 0.179452] gpio gpiochip2: (gpio): added GPIO chardev (254:2)
    [ 0.179897] gpiochip_setup_dev: registered GPIOs 64 to 95 on device: gpiochip2 (gpio)
    [ 0.182978] GPIO line 100 (PR1_MII_CTRL) hogged as output/high
    [ 0.183010] GPIO line 106 (MUX_MII_CTL1) hogged as output/low
    [ 0.183037] gpio gpiochip3: (gpio): added GPIO chardev (254:3)
    [ 0.183496] gpiochip_setup_dev: registered GPIOs 96 to 127 on device: gpiochip3 (gpio)
    [ 0.195415] No ATAGs?
    [ 0.195446] hw-breakpoint: debug architecture 0x4 unsupported.
    [ 0.218053] edma 49000000.edma: TI EDMA DMA engine driver
    [ 0.218443] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator0[0]'
    [ 0.219053] of_get_named_gpiod_flags: parsed 'gpio' property of node '/fixedregulator1[0]' - status (0)
    [ 0.223100] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/i2c0_pins_default, deferring probe
    [ 0.223267] media: Linux media interface: v0.10
    [ 0.223348] Linux video capture interface: v2.00
    [ 0.223410] pps_core: LinuxPPS API ver. 1 registered
    [ 0.223420] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [ 0.223453] PTP clock support registered
    [ 0.223509] EDAC MC: Ver: 3.0.0
    [ 0.224984] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [ 0.225413] Advanced Linux Sound Architecture Driver Initialized.
    [ 0.227107] clocksource: Switched to clocksource timer1
    [ 0.242297] NET: Registered protocol family 2
    [ 0.243363] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.243422] TCP bind hash table entries: 2048 (order: 3, 49152 bytes)
    [ 0.243556] TCP: Hash tables configured (established 2048 bind 2048)
    [ 0.243648] UDP hash table entries: 256 (order: 2, 16384 bytes)
    [ 0.243698] UDP-Lite hash table entries: 256 (order: 2, 16384 bytes)
    [ 0.243952] NET: Registered protocol family 1
    [ 0.244560] RPC: Registered named UNIX socket transport module.
    [ 0.244579] RPC: Registered udp transport module.
    [ 0.244587] RPC: Registered tcp transport module.
    [ 0.244596] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 0.244613] PCI: CLS 0 bytes, default 64
    [ 0.245708] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
    [ 0.249151] workingset: timestamp_bits=14 max_order=16 bucket_order=2
    [ 0.260616] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [ 0.261966] NFS: Registering the id_resolver key type
    [ 0.262018] Key type id_resolver registered
    [ 0.262030] Key type id_legacy registered
    [ 0.262092] ntfs: driver 2.1.32 [Flags: R/O].
    [ 0.264568] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
    [ 0.264593] io scheduler noop registered
    [ 0.264603] io scheduler deadline registered
    [ 0.264822] io scheduler cfq registered (default)
    [ 0.266418] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
    [ 0.359352] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
    [ 0.363827] 481a6000.serial: ttyS3 at MMIO 0x481a6000 (irq = 158, base_baud = 3000000) is a 8250
    [ 0.953044] console [ttyS3] enabled
    [ 0.958971] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
    [ 0.965812] [drm] Initialized
    [ 0.987954] brd: module loaded
    [ 1.000486] loop: module loaded
    [ 1.007753] m25p80 spi1.0: found s25fl064k, expected w25q64
    [ 1.013381] m25p80 spi1.0: s25fl064k (8192 Kbytes)
    [ 1.018244] 4 ofpart partitions found on MTD device spi1.0
    [ 1.023757] Creating 4 MTD partitions on "spi1.0":
    [ 1.028582] 0x000000000000-0x000000080000 : "u-boot-spl"
    [ 1.035787] 0x000000080000-0x000000180000 : "u-boot"
    [ 1.042482] 0x000000180000-0x0000001a0000 : "u-boot-env"
    [ 1.049518] 0x0000001a0000-0x000000800000 : "misc"
    [ 1.057421] libphy: Fixed MDIO Bus: probed
    [ 1.064511] mousedev: PS/2 mouse device common for all mice
    [ 1.070837] i2c /dev entries driver
    [ 1.076329] omap_hsmmc 48060000.mmc: GPIO lookup for consumer cd
    [ 1.076340] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
    [ 1.076354] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/ocp/mmc@48060000[0]'
    [ 1.076364] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/ocp/mmc@48060000[0]'
    [ 1.076372] omap_hsmmc 48060000.mmc: using lookup tables for GPIO lookup
    [ 1.076383] omap_hsmmc 48060000.mmc: lookup for GPIO cd failed
    [ 1.076396] omap_hsmmc 48060000.mmc: GPIO lookup for consumer wp
    [ 1.076403] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
    [ 1.076411] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@48060000[0]'
    [ 1.076420] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@48060000[0]'
    [ 1.076427] omap_hsmmc 48060000.mmc: using lookup tables for GPIO lookup
    [ 1.076435] omap_hsmmc 48060000.mmc: lookup for GPIO wp failed
    [ 1.078055] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds1/led0[0]' - status (0)
    [ 1.078313] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds1/led1[0]' - status (0)
    [ 1.078485] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds1/led2[0]' - status (0)
    [ 1.078659] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds1/led3[0]' - status (0)
    [ 1.078886] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds1/led4[0]' - status (0)
    [ 1.079046] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds1/led5[0]' - status (0)
    [ 1.082291] NET: Registered protocol family 10
    [ 1.088698] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [ 1.095744] NET: Registered protocol family 17
    [ 1.100586] Key type dns_resolver registered
    [ 1.105180] omap_voltage_late_init: Voltage driver support not added
    [ 1.147418] tps65910 0-002d: No interrupt support, no core IRQ
    [ 1.153563] tps65910-gpio tps65910-gpio: ti,en-gpio-sleep not specified
    [ 1.153595] gpiochip_find_base: found new base at 506
    [ 1.153632] gpio gpiochip4: (tps65910): added GPIO chardev (254:4)
    [ 1.154072] gpiochip_setup_dev: registered GPIOs 506 to 511 on device: gpiochip4 (tps65910)
    [ 1.155939] vrtc: supplied by vbat
    [ 1.163305] vio: supplied by vbat
    [ 1.168305] vdd1: supplied by vbat
    [ 1.173740] vdd2: supplied by vbat
    [ 1.180771] vdig1: supplied by vbat
    [ 1.185798] vdig2: supplied by vbat
    [ 1.190834] vpll: supplied by vbat
    [ 1.195768] vdac: supplied by vbat
    [ 1.200743] vaux1: supplied by vbat
    [ 1.205769] vaux2: supplied by vbat
    [ 1.210807] vaux33: supplied by vbat
    [ 1.215936] vmmc: supplied by vbat
    [ 1.220397] random: fast init done
    [ 1.224278] vbb: supplied by vbat
    [ 1.229435] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
    [ 1.235738] omap_hsmmc 48060000.mmc: GPIO lookup for consumer cd
    [ 1.235751] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
    [ 1.235765] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/ocp/mmc@48060000[0]'
    [ 1.235774] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/ocp/mmc@48060000[0]'
    [ 1.235783] omap_hsmmc 48060000.mmc: using lookup tables for GPIO lookup
    [ 1.235793] omap_hsmmc 48060000.mmc: lookup for GPIO cd failed
    [ 1.235805] omap_hsmmc 48060000.mmc: GPIO lookup for consumer wp
    [ 1.235812] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
    [ 1.235820] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@48060000[0]'
    [ 1.235828] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@48060000[0]'
    [ 1.235836] omap_hsmmc 48060000.mmc: using lookup tables for GPIO lookup
    [ 1.235843] omap_hsmmc 48060000.mmc: lookup for GPIO wp failed
    [ 1.287889] hctosys: unable to open rtc device (rtc0)
    [ 1.293852] ALSA device list:
    [ 1.299817] No soundcards found.
    [ 1.307493] Waiting for root device PARTUUID=00047b9b-02...
    [ 1.407145] mmc0: host does not support reading read-only switch, assuming write-enable
    [ 1.418757] mmc0: new high speed SDHC card at address aaaa
    [ 1.425207] mmcblk0: mmc0:aaaa SS08G 7.40 GiB
    [ 1.431801] mmcblk0: p1 p2
    [ 2.248737] EXT4-fs (mmcblk0p2): recovery complete
    [ 2.255764] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [ 2.263991] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [ 2.273709] devtmpfs: mounted
    [ 2.278820] Freeing unused kernel memory: 1024K
    [ 2.536795] systemd[1]: System time before build time, advancing clock.
    [ 2.588908] 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.607905] systemd[1]: Detected architecture arm.
    [ 2.648818] systemd[1]: Set hostname to <am335x-evm>.
    [ 2.958772] systemd[1]: [/lib/systemd/system/gadget-init.service:15] Unknown lvalue 'ExecStopPre' in section 'Service'
    [ 3.296186] systemd[1]: Created slice System Slice.
    [ 3.327627] systemd[1]: Reached target Remote File Systems.
    [ 3.358130] systemd[1]: Listening on Network Service Netlink Socket.
    [ 3.397670] systemd[1]: Listening on udev Kernel Socket.
    [ 3.428905] systemd[1]: Created slice User and Session Slice.
    [ 3.457886] systemd[1]: Listening on Journal Socket (/dev/log).
    [ 3.909820] cryptodev: loading out-of-tree module taints kernel.
    [ 3.927771] cryptodev: driver 1.8 loaded.
    [ 4.105559] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
    [ 5.455920] systemd-journald[116]: Received request to flush runtime journal from PID 1
    [ 7.260113] gpio-decoder gpio-decoder: GPIO lookup for consumer (null)
    [ 7.260135] gpio-decoder gpio-decoder: using device tree for GPIO lookup
    [ 7.260167] gpio-decoder gpio-decoder: lookup for GPIO (null) failed
    [ 7.260178] gpio-decoder gpio-decoder: unable to acquire input gpios
    [ 7.507738] gpio-decoder gpio-decoder: GPIO lookup for consumer (null)
    [ 7.507760] gpio-decoder gpio-decoder: using device tree for GPIO lookup
    [ 7.507792] gpio-decoder gpio-decoder: lookup for GPIO (null) failed
    [ 7.507805] gpio-decoder gpio-decoder: unable to acquire input gpios
    [ 7.530105] rtc rtc0: 44e3e000.rtc: dev (253:0)
    [ 7.530152] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
    [ 7.674638] gpio-decoder gpio-decoder: GPIO lookup for consumer (null)
    [ 7.674659] gpio-decoder gpio-decoder: using device tree for GPIO lookup
    [ 7.674692] gpio-decoder gpio-decoder: lookup for GPIO (null) failed
    [ 7.674705] gpio-decoder gpio-decoder: unable to acquire input gpios
    [ 7.691293] gpiochip_find_base: found new base at 498
    [ 7.691337] gpio gpiochip5: (tpic2810): added GPIO chardev (254:5)
    [ 7.693107] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [ 7.753432] gpiochip_setup_dev: registered GPIOs 498 to 505 on device: gpiochip5 (tpic2810)
    [ 7.755338] 0-0041 supply vcc not found, using dummy regulator
    [ 7.792654] gpio-decoder gpio-decoder: GPIO lookup for consumer (null)
    [ 7.792674] gpio-decoder gpio-decoder: using device tree for GPIO lookup
    [ 7.792709] gpio-decoder gpio-decoder: lookup for GPIO (null) failed
    [ 7.792721] gpio-decoder gpio-decoder: unable to acquire input gpios
    [ 7.819936] gpiochip_find_base: found new base at 494
    [ 7.819987] gpio gpiochip6: (pca9536): added GPIO chardev (254:6)
    [ 7.842333] gpiochip_setup_dev: registered GPIOs 494 to 497 on device: gpiochip6 (pca9536)
    [ 7.846432] gpio-decoder gpio-decoder: GPIO lookup for consumer (null)
    [ 7.846450] gpio-decoder gpio-decoder: using device tree for GPIO lookup
    [ 7.846488] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-decoder[0]' - status (0)
    [ 7.847681] gpio-decoder gpio-decoder: GPIO lookup for consumer (null)
    [ 7.847695] gpio-decoder gpio-decoder: using device tree for GPIO lookup
    [ 7.847765] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-decoder[1]' - status (0)
    [ 7.848110] gpio-decoder gpio-decoder: GPIO lookup for consumer (null)
    [ 7.848119] gpio-decoder gpio-decoder: using device tree for GPIO lookup
    [ 7.848171] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-decoder[2]' - status (0)
    [ 7.867419] gpio-decoder gpio-decoder: GPIO lookup for consumer (null)
    [ 7.867438] gpio-decoder gpio-decoder: using device tree for GPIO lookup
    [ 7.867565] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-decoder[3]' - status (0)
    [ 7.869147] input: gpio-decoder as /devices/platform/gpio-decoder/input/input0
    [ 8.000683] pisosr-gpio spi1.1: GPIO lookup for consumer load
    [ 8.000702] pisosr-gpio spi1.1: using device tree for GPIO lookup
    [ 8.000788] of_get_named_gpiod_flags: parsed 'load-gpios' property of node '/ocp/spi@48030000/sn65hvs882@1[0]' - status (0)
    [ 8.000835] gpiochip_find_base: found new base at 486
    [ 8.000871] gpio gpiochip7: (pisosr-gpio): added GPIO chardev (254:7)
    [ 8.036149] gpiochip_setup_dev: registered GPIOs 486 to 493 on device: gpiochip7 (pisosr-gpio)
    [ 10.227666] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
    [ 10.290955] ti-pruss 4a300000.pruss: creating PRU cores and other child platform devices
    [ 10.297546] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
    [ 10.301503] PM: Cannot get wkup_m3_ipc handle
    [ 10.399320] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
    [ 10.422933] omap-aes 53500000.aes: will run requests pump with realtime priority
    [ 10.442608] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
    [ 10.443194] PM: Cannot get wkup_m3_ipc handle
    [ 10.490837] remoteproc remoteproc0: wkup_m3 is available
    [ 10.528510] PM: Cannot get wkup_m3_ipc handle
    [ 10.528905] remoteproc remoteproc0: powering up wkup_m3
    [ 10.641842] remoteproc remoteproc0: Booting fw image am335x-pm-firmware.elf, size 224268
    [ 10.643371] wkup_m3_ipc 44e11324.wkup_m3_ipc: CM3 Firmware Version = 0x192
    [ 10.643392] remoteproc remoteproc0: remote processor wkup_m3 is now up
    [ 11.509197] PM: bootloader does not support rtc-only!
    [ 11.551676] davinci_mdio 4a332400.mdio: GPIO lookup for consumer reset
    [ 11.551697] davinci_mdio 4a332400.mdio: using device tree for GPIO lookup
    [ 11.551734] of_get_named_gpiod_flags: parsed 'reset-gpios' property of node '/ocp/pruss_soc_bus@4a326000/pruss@4a300000/mdio@4a332400[0]' - status (0)
    [ 11.607343] davinci_mdio 4a332400.mdio: davinci mdio revision 1.6
    [ 11.613500] libphy: 4a332400.mdio: probed
    [ 11.821125] Bluetooth: Core ver 2.22
    [ 11.824931] NET: Registered protocol family 31
    [ 11.899507] Bluetooth: HCI device and connection manager initialized
    [ 11.905945] Bluetooth: HCI socket layer initialized
    [ 12.006791] Bluetooth: L2CAP socket layer initialized
    [ 12.084576] davinci_mdio 4a332400.mdio: phy[1]: device 4a332400.mdio:01, driver TI TLK10X 10/100 Mbps PHY
    [ 12.124935] davinci_mdio 4a332400.mdio: phy[3]: device 4a332400.mdio:03, driver TI TLK10X 10/100 Mbps PHY
    [ 12.187365] Bluetooth: SCO socket layer initialized
    [ 12.864191] remoteproc remoteproc1: 4a334000.pru0 is available
    [ 12.928043] pru-rproc 4a334000.pru0: PRU rproc node /ocp/pruss_soc_bus@4a326000/pruss@4a300000/pru@4a334000 probed successfully
    [ 13.128190] remoteproc remoteproc2: 4a338000.pru1 is available
    [ 13.134205] pru-rproc 4a338000.pru1: PRU rproc node /ocp/pruss_soc_bus@4a326000/pruss@4a300000/pru@4a338000 probed successfully
    [ 13.504173] prueth pruss_eth: could not get ptp tx irq
    [ 13.688183] prueth pruss_eth: could not get ptp tx irq
    [ 13.842513] prueth pruss_eth: TI PRU ethernet (type 0) driver initialized
    [ 18.496858] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [ 19.024295] NET: Registered protocol family 15
    [ 20.475767] Initializing XFRM netlink socket
    [ 23.986769] random: crng init done
    [ 24.907364] remoteproc remoteproc1: powering up 4a334000.pru0
    [ 24.955466] remoteproc remoteproc1: Booting fw image ti-pruss/am335x-pru0-prueth-fw.elf, size 5432
    [ 24.985976] ti-pruss 4a300000.pruss: configured system_events = 0x0000060000500000 intr_channels = 0x00000095 host_intr = 0x00000115
    [ 25.104073] remoteproc remoteproc1: remote processor 4a334000.pru0 is now up
    [ 25.161263] net eth0: started
    [ 25.199277] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [ 25.347978] remoteproc remoteproc2: powering up 4a338000.pru1
    [ 25.402399] remoteproc remoteproc2: Booting fw image ti-pruss/am335x-pru1-prueth-fw.elf, size 5508
    [ 25.461919] ti-pruss 4a300000.pruss: configured system_events = 0x0060000000a00000 intr_channels = 0x0000012a host_intr = 0x0000022a
    [ 25.540444] remoteproc remoteproc2: remote processor 4a338000.pru1 is now up
    [ 25.604663] net eth1: started
    [ 25.638642] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
    [ 29.016801] udc-core: couldn't find an available UDC - added [g_multi] to list of pending drivers
    [ 100.487800] prueth pruss_eth eth1: Link is Up - 100Mbps/Full - flow control rx/tx
    [ 100.495424] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
    [ 107.047106] sched: RT throttling activated
    [ 107.051212] NOHZ: local_softirq_pending 08
    [ 107.057181] NOHZ: local_softirq_pending 08
    [ 107.067121] NOHZ: local_softirq_pending 08
    [ 108.026110] NOHZ: local_softirq_pending 10e
    [ 108.027214] NOHZ: local_softirq_pending 10e
    [ 108.037122] NOHZ: local_softirq_pending 10e
    [ 108.047117] NOHZ: local_softirq_pending 10e
    [ 108.049262] NOHZ: local_softirq_pending 10e
    [ 108.057129] NOHZ: local_softirq_pending 10e
    [ 108.067118] NOHZ: local_softirq_pending 10e
    root@am335x-evm:~#
  • Part Number: AM3359

    Tool/software: Linux

    hi,

    the problem actually is not fixed, and I test the lasted version SDK ti-processor-sdk-linux-rt-am335x-evm-04.02.00.09 in ICE board and found the same problem.

    my ICE board version is REV2.1A

    I create a new sd card using create-sdcard.sh with SDK prebuild images,

    Boot the ICE board and wait the board boot up completely.

    then I plug network cable to eth0, the message displayed:

    [  114.017225] sched: RT throttling activated


    the whold logs as below:

     _____                    _____           _         _
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
                  |___|                    |___|

    Arago Project http://arago-project.org am335x-evm ttyS3

    Arago 2017.10 am335x-evm ttyS3

    am335x-evm login: root
    root@am335x-evm:~#
    root@am335x-evm:~#
    root@am335x-evm:~#
    root@am335x-evm:~#
    root@am335x-evm:~#
    root@am335x-evm:~# dmesg
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 4.9.59-rt23-g273202a0d3 (gtbldadm@ubuntu-16) (gcc version 6.2.1 20161016 (Linaro GCC 6.2-2016.11) ) #1 PREEMPT RT Sat Dec 23 10:46:20 EST 2017
    [    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 AM3359 ICE-V2
    [    0.000000] efi: Getting EFI parameters from FDT:
    [    0.000000] efi: UEFI not found.
    [    0.000000] cma: Reserved 48 MiB at 0x8a800000
    [    0.000000] Memory policy: Data cache writeback
    [    0.000000] On node 0 totalpages: 65536
    [    0.000000] free_area_init_node: node 0, pgdat c0c47490, node_mem_map cfda1000
    [    0.000000]   Normal zone: 576 pages used for memmap
    [    0.000000]   Normal zone: 0 pages reserved
    [    0.000000]   Normal zone: 65536 pages, LIFO batch:15
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] AM335X ES2.1 (sgx neon)
    [    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
    [    0.000000] pcpu-alloc: [0] 0
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 64960
    [    0.000000] Kernel command line: console=ttyO3,115200n8 root=PARTUUID=00023bfe-02 rw rootfstype=ext4 rootwait
    [    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
    [    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
    [    0.000000] Memory: 198272K/262144K available (7168K kernel code, 291K rwdata, 2400K rodata, 1024K init, 324K bss, 14720K reserved, 49152K cma-reserved, 0K highmem)
    [    0.000000] Virtual kernel memory layout:
                       vector  : 0xffff0000 - 0xffff1000   (   4 kB)
                       fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
                       vmalloc : 0xd0800000 - 0xff800000   ( 752 MB)
                       lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
                       pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
                       modules : 0xbf000000 - 0xbfe00000   (  14 MB)
                         .text : 0xc0008000 - 0xc0800000   (8160 kB)
                         .init : 0xc0b00000 - 0xc0c00000   (1024 kB)
                         .data : 0xc0c00000 - 0xc0c48ee0   ( 292 kB)
                          .bss : 0xc0c48ee0 - 0xc0c99f60   ( 325 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [    0.000000] Preemptible hierarchical RCU implementation.
    [    0.000000]  RCU kthread priority: 1.
    [    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.000018] 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.000041] OMAP clocksource: timer1 at 24000000 Hz
    [    0.000268] clocksource_probe: no matching clocksources found
    [    0.000471] Console: colour dummy device 80x30
    [    0.000654] WARNING: Your 'console=ttyO3' has been replaced by 'ttyS3'
    [    0.000656] This ensures that you still see kernel messages. Please
    [    0.000659] update your kernel commandline.
    [    0.058778] Calibrating delay loop... 597.60 BogoMIPS (lpj=2988032)
    [    0.058785] pid_max: default: 32768 minimum: 301
    [    0.058958] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.058966] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.060059] CPU: Testing write buffer coherency: ok
    [    0.060443] Setting up static identity map for 0x80100000 - 0x80100060
    [    0.061977] EFI services will not be available.
    [    0.063761] devtmpfs: initialized
    [    0.081870] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [    0.082344] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.082381] futex hash table entries: 256 (order: 1, 8192 bytes)
    [    0.086676] pinctrl core: initialized pinctrl subsystem
    [    0.088335] NET: Registered protocol family 16
    [    0.091304] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.110918] omap_hwmod: debugss: _wait_target_disable failed
    [    0.172280] GPIO line 7 (FET_SWITCH_CTRL) hogged as output/high
    [    0.172328] gpio gpiochip0: (gpio): added GPIO chardev (254:0)
    [    0.172801] gpiochip_setup_dev: registered GPIOs 0 to 31 on device: gpiochip0 (gpio)
    [    0.175125] OMAP GPIO hardware version 0.1
    [    0.175957] gpio gpiochip1: (gpio): added GPIO chardev (254:1)
    [    0.176399] gpiochip_setup_dev: registered GPIOs 32 to 63 on device: gpiochip1 (gpio)
    [    0.179572] gpio gpiochip2: (gpio): added GPIO chardev (254:2)
    [    0.180014] gpiochip_setup_dev: registered GPIOs 64 to 95 on device: gpiochip2 (gpio)
    [    0.183085] GPIO line 100 (PR1_MII_CTRL) hogged as output/high
    [    0.183118] GPIO line 106 (MUX_MII_CTL1) hogged as output/low
    [    0.183145] gpio gpiochip3: (gpio): added GPIO chardev (254:3)
    [    0.183604] gpiochip_setup_dev: registered GPIOs 96 to 127 on device: gpiochip3 (gpio)
    [    0.195562] No ATAGs?
    [    0.195592] hw-breakpoint: debug architecture 0x4 unsupported.
    [    0.218178] edma 49000000.edma: TI EDMA DMA engine driver
    [    0.218575] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator0[0]'
    [    0.219188] of_get_named_gpiod_flags: parsed 'gpio' property of node '/fixedregulator1[0]' - status (0)
    [    0.223201] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/i2c0_pins_default, deferring probe
    [    0.223368] media: Linux media interface: v0.10
    [    0.223451] Linux video capture interface: v2.00
    [    0.223511] pps_core: LinuxPPS API ver. 1 registered
    [    0.223521] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.223555] PTP clock support registered
    [    0.223609] EDAC MC: Ver: 3.0.0
    [    0.225096] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [    0.225533] Advanced Linux Sound Architecture Driver Initialized.
    [    0.227228] clocksource: Switched to clocksource timer1
    [    0.242433] NET: Registered protocol family 2
    [    0.243494] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.243553] TCP bind hash table entries: 2048 (order: 3, 49152 bytes)
    [    0.243686] TCP: Hash tables configured (established 2048 bind 2048)
    [    0.243779] UDP hash table entries: 256 (order: 2, 16384 bytes)
    [    0.243829] UDP-Lite hash table entries: 256 (order: 2, 16384 bytes)
    [    0.244077] NET: Registered protocol family 1
    [    0.244683] RPC: Registered named UNIX socket transport module.
    [    0.244700] RPC: Registered udp transport module.
    [    0.244709] RPC: Registered tcp transport module.
    [    0.244717] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.244735] PCI: CLS 0 bytes, default 64
    [    0.245820] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
    [    0.249248] workingset: timestamp_bits=14 max_order=16 bucket_order=2
    [    0.260716] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.262067] NFS: Registering the id_resolver key type
    [    0.262119] Key type id_resolver registered
    [    0.262130] Key type id_legacy registered
    [    0.262192] ntfs: driver 2.1.32 [Flags: R/O].
    [    0.264678] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
    [    0.264700] io scheduler noop registered
    [    0.264710] io scheduler deadline registered
    [    0.264928] io scheduler cfq registered (default)
    [    0.266512] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
    [    0.359382] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
    [    0.363851] 481a6000.serial: ttyS3 at MMIO 0x481a6000 (irq = 158, base_baud = 3000000) is a 8250
    [    0.953094] console [ttyS3] enabled
    [    0.959029] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
    [    0.965874] [drm] Initialized
    [    0.987979] brd: module loaded
    [    1.000513] loop: module loaded
    [    1.007785] m25p80 spi1.0: found s25fl064k, expected w25q64
    [    1.013412] m25p80 spi1.0: s25fl064k (8192 Kbytes)
    [    1.018273] 4 ofpart partitions found on MTD device spi1.0
    [    1.023788] Creating 4 MTD partitions on "spi1.0":
    [    1.028612] 0x000000000000-0x000000080000 : "u-boot-spl"
    [    1.035835] 0x000000080000-0x000000180000 : "u-boot"
    [    1.042546] 0x000000180000-0x0000001a0000 : "u-boot-env"
    [    1.049574] 0x0000001a0000-0x000000800000 : "misc"
    [    1.057437] libphy: Fixed MDIO Bus: probed
    [    1.064545] mousedev: PS/2 mouse device common for all mice
    [    1.070878] i2c /dev entries driver
    [    1.076354] omap_hsmmc 48060000.mmc: GPIO lookup for consumer cd
    [    1.076366] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
    [    1.076379] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/ocp/mmc@48060000[0]'
    [    1.076389] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/ocp/mmc@48060000[0]'
    [    1.076397] omap_hsmmc 48060000.mmc: using lookup tables for GPIO lookup
    [    1.076407] omap_hsmmc 48060000.mmc: lookup for GPIO cd failed
    [    1.076420] omap_hsmmc 48060000.mmc: GPIO lookup for consumer wp
    [    1.076427] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
    [    1.076435] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@48060000[0]'
    [    1.076443] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@48060000[0]'
    [    1.076451] omap_hsmmc 48060000.mmc: using lookup tables for GPIO lookup
    [    1.076459] omap_hsmmc 48060000.mmc: lookup for GPIO wp failed
    [    1.078064] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds1/led0[0]' - status (0)
    [    1.078323] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds1/led1[0]' - status (0)
    [    1.078498] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds1/led2[0]' - status (0)
    [    1.078670] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds1/led3[0]' - status (0)
    [    1.078899] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds1/led4[0]' - status (0)
    [    1.079059] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds1/led5[0]' - status (0)
    [    1.082321] NET: Registered protocol family 10
    [    1.088733] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [    1.095778] NET: Registered protocol family 17
    [    1.100620] Key type dns_resolver registered
    [    1.105205] omap_voltage_late_init: Voltage driver support not added
    [    1.147536] tps65910 0-002d: No interrupt support, no core IRQ
    [    1.153683] tps65910-gpio tps65910-gpio: ti,en-gpio-sleep not specified
    [    1.153712] gpiochip_find_base: found new base at 506
    [    1.153749] gpio gpiochip4: (tps65910): added GPIO chardev (254:4)
    [    1.154178] gpiochip_setup_dev: registered GPIOs 506 to 511 on device: gpiochip4 (tps65910)
    [    1.156047] vrtc: supplied by vbat
    [    1.163409] vio: supplied by vbat
    [    1.168403] vdd1: supplied by vbat
    [    1.173841] vdd2: supplied by vbat
    [    1.180878] vdig1: supplied by vbat
    [    1.185909] vdig2: supplied by vbat
    [    1.190937] vpll: supplied by vbat
    [    1.195870] vdac: supplied by vbat
    [    1.200845] vaux1: supplied by vbat
    [    1.205872] vaux2: supplied by vbat
    [    1.210906] vaux33: supplied by vbat
    [    1.216032] vmmc: supplied by vbat
    [    1.220493] random: fast init done
    [    1.224365] vbb: supplied by vbat
    [    1.229514] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
    [    1.235816] omap_hsmmc 48060000.mmc: GPIO lookup for consumer cd
    [    1.235828] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
    [    1.235841] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/ocp/mmc@48060000[0]'
    [    1.235850] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/ocp/mmc@48060000[0]'
    [    1.235859] omap_hsmmc 48060000.mmc: using lookup tables for GPIO lookup
    [    1.235869] omap_hsmmc 48060000.mmc: lookup for GPIO cd failed
    [    1.235882] omap_hsmmc 48060000.mmc: GPIO lookup for consumer wp
    [    1.235889] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
    [    1.235897] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@48060000[0]'
    [    1.235905] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@48060000[0]'
    [    1.235912] omap_hsmmc 48060000.mmc: using lookup tables for GPIO lookup
    [    1.235920] omap_hsmmc 48060000.mmc: lookup for GPIO wp failed
    [    1.288002] hctosys: unable to open rtc device (rtc0)
    [    1.293965] ALSA device list:
    [    1.299932]   No soundcards found.
    [    1.307614] Waiting for root device PARTUUID=00023bfe-02...
    [    1.344588] mmc0: host does not support reading read-only switch, assuming write-enable
    [    1.354609] mmc0: new high speed SDHC card at address 0007
    [    1.361059] mmcblk0: mmc0:0007 SL16G 14.5 GiB
    [    1.367681]  mmcblk0: p1 p2
    [   21.161053] EXT4-fs (mmcblk0p2): recovery complete
    [   21.184921] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [   21.193151] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [   21.203220] devtmpfs: mounted
    [   21.208346] Freeing unused kernel memory: 1024K
    [   21.465522] systemd[1]: System time before build time, advancing clock.
    [   21.515702] 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)
    [   21.534675] systemd[1]: Detected architecture arm.
    [   21.569142] systemd[1]: Set hostname to <am335x-evm>.
    [   21.916996] systemd[1]: [/lib/systemd/system/gadget-init.service:15] Unknown lvalue 'ExecStopPre' in section 'Service'
    [   22.270983] systemd[1]: Listening on Process Core Dump Socket.
    [   22.307978] systemd[1]: Listening on Syslog Socket.
    [   22.337850] systemd[1]: Listening on Journal Socket (/dev/log).
    [   22.368116] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [   22.407590] systemd[1]: Reached target Swap.
    [   22.437873] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
    [   22.887787] cryptodev: loading out-of-tree module taints kernel.
    [   22.902262] cryptodev: driver 1.8 loaded.
    [   23.335470] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
    [   24.497722] systemd-journald[101]: Received request to flush runtime journal from PID 1
    [   26.409132] gpio-decoder gpio-decoder: GPIO lookup for consumer (null)
    [   26.409154] gpio-decoder gpio-decoder: using device tree for GPIO lookup
    [   26.409186] gpio-decoder gpio-decoder: lookup for GPIO (null) failed
    [   26.409197] gpio-decoder gpio-decoder: unable to acquire input gpios
    [   26.658265] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [   26.715168] gpio-decoder gpio-decoder: GPIO lookup for consumer (null)
    [   26.715185] gpio-decoder gpio-decoder: using device tree for GPIO lookup
    [   26.715218] gpio-decoder gpio-decoder: lookup for GPIO (null) failed
    [   26.715230] gpio-decoder gpio-decoder: unable to acquire input gpios
    [   26.728595] rtc rtc0: 44e3e000.rtc: dev (253:0)
    [   26.728634] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
    [   26.890809] gpio-decoder gpio-decoder: GPIO lookup for consumer (null)
    [   26.890825] gpio-decoder gpio-decoder: using device tree for GPIO lookup
    [   26.890858] gpio-decoder gpio-decoder: lookup for GPIO (null) failed
    [   26.890869] gpio-decoder gpio-decoder: unable to acquire input gpios
    [   26.927109] pisosr-gpio spi1.1: GPIO lookup for consumer load
    [   26.927119] pisosr-gpio spi1.1: using device tree for GPIO lookup
    [   26.927203] of_get_named_gpiod_flags: parsed 'load-gpios' property of node '/ocp/spi@48030000/sn65hvs882@1[0]' - status (0)
    [   26.948623] gpiochip_find_base: found new base at 498
    [   26.948682] gpio gpiochip5: (pisosr-gpio): added GPIO chardev (254:5)
    [   26.949283] gpiochip_setup_dev: registered GPIOs 498 to 505 on device: gpiochip5 (pisosr-gpio)
    [   26.959341] 0-0041 supply vcc not found, using dummy regulator
    [   26.991646] gpiochip_find_base: found new base at 494
    [   26.991699] gpio gpiochip6: (pca9536): added GPIO chardev (254:6)
    [   26.992280] gpiochip_setup_dev: registered GPIOs 494 to 497 on device: gpiochip6 (pca9536)
    [   26.992449] gpiochip_find_base: found new base at 486
    [   26.992475] gpio gpiochip7: (tpic2810): added GPIO chardev (254:7)
    [   26.992899] gpiochip_setup_dev: registered GPIOs 486 to 493 on device: gpiochip7 (tpic2810)
    [   27.145905] gpio-decoder gpio-decoder: GPIO lookup for consumer (null)
    [   27.145923] gpio-decoder gpio-decoder: using device tree for GPIO lookup
    [   27.145960] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-decoder[0]' - status (0)
    [   27.147577] gpio-decoder gpio-decoder: GPIO lookup for consumer (null)
    [   27.147593] gpio-decoder gpio-decoder: using device tree for GPIO lookup
    [   27.147675] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-decoder[1]' - status (0)
    [   27.147939] gpio-decoder gpio-decoder: GPIO lookup for consumer (null)
    [   27.147949] gpio-decoder gpio-decoder: using device tree for GPIO lookup
    [   27.148004] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-decoder[2]' - status (0)
    [   27.148218] gpio-decoder gpio-decoder: GPIO lookup for consumer (null)
    [   27.148227] gpio-decoder gpio-decoder: using device tree for GPIO lookup
    [   27.148291] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-decoder[3]' - status (0)
    [   27.148917] input: gpio-decoder as /devices/platform/gpio-decoder/input/input0
    [   28.817541] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
    [   28.878464] ti-pruss 4a300000.pruss: creating PRU cores and other child platform devices
    [   28.896449] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
    [   29.019956] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
    [   29.032515] remoteproc remoteproc0: wkup_m3 is available
    [   29.059914] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
    [   29.073416] davinci_mdio 4a332400.mdio: GPIO lookup for consumer reset
    [   29.073428] davinci_mdio 4a332400.mdio: using device tree for GPIO lookup
    [   29.073460] of_get_named_gpiod_flags: parsed 'reset-gpios' property of node '/ocp/pruss_soc_bus@4a326000/pruss@4a300000/mdio@4a332400[0]' - status (0)
    [   29.077039] omap-aes 53500000.aes: will run requests pump with realtime priority
    [   29.077606] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
    [   29.103207] PM: Cannot get wkup_m3_ipc handle
    [   29.127556] davinci_mdio 4a332400.mdio: davinci mdio revision 1.6
    [   29.127568] libphy: 4a332400.mdio: probed
    [   29.147577] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
    [   29.148156] PM: Cannot get wkup_m3_ipc handle
    [   29.333919] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
    [   29.334560] davinci_mdio 4a332400.mdio: phy[1]: device 4a332400.mdio:01, driver TI TLK10X 10/100 Mbps PHY
    [   29.334570] davinci_mdio 4a332400.mdio: phy[3]: device 4a332400.mdio:03, driver TI TLK10X 10/100 Mbps PHY
    [   29.335627] PM: Cannot get wkup_m3_ipc handle
    [   29.360168] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
    [   29.406585] remoteproc remoteproc1: 4a334000.pru0 is available
    [   29.406707] pru-rproc 4a334000.pru0: PRU rproc node /ocp/pruss_soc_bus@4a326000/pruss@4a300000/pru@4a334000 probed successfully
    [   29.407035] PM: Cannot get wkup_m3_ipc handle
    [   29.410185] remoteproc remoteproc2: 4a338000.pru1 is available
    [   29.410283] pru-rproc 4a338000.pru1: PRU rproc node /ocp/pruss_soc_bus@4a326000/pruss@4a300000/pru@4a338000 probed successfully
    [   29.449396] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
    [   29.450380] PM: Cannot get wkup_m3_ipc handle
    [   29.473347] prueth pruss_eth: could not get ptp tx irq
    [   29.478450] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
    [   29.533168] Bluetooth: Core ver 2.22
    [   29.533281] NET: Registered protocol family 31
    [   29.533286] Bluetooth: HCI device and connection manager initialized
    [   29.533312] Bluetooth: HCI socket layer initialized
    [   29.533330] Bluetooth: L2CAP socket layer initialized
    [   29.533379] Bluetooth: SCO socket layer initialized
    [   29.568306] prueth pruss_eth: could not get ptp tx irq
    [   29.670678] prueth pruss_eth: TI PRU ethernet (type 0) driver initialized
    [   29.690504] PM: Cannot get wkup_m3_ipc handle
    [   29.727462] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
    [   31.370935] PM: Cannot get wkup_m3_ipc handle
    [   31.491030] remoteproc remoteproc0: powering up wkup_m3
    [   31.497114] PM: Cannot get wkup_m3_ipc handle
    [   31.601071] remoteproc remoteproc0: Booting fw image am335x-pm-firmware.elf, size 224268
    [   31.616205] remoteproc remoteproc0: remote processor wkup_m3 is now up
    [   31.616261] wkup_m3_ipc 44e11324.wkup_m3_ipc: CM3 Firmware Version = 0x192
    [   44.518656] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [   45.185924] NET: Registered protocol family 15
    [   46.222184] Initializing XFRM netlink socket
    [   46.803894] udc-core: couldn't find an available UDC - added [g_multi] to list of pending drivers
    [   47.064126] random: crng init done
    [   54.710327] PM: bootloader does not support rtc-only!
    [   55.369694] remoteproc remoteproc1: powering up 4a334000.pru0
    [   55.393074] remoteproc remoteproc1: Booting fw image ti-pruss/am335x-pru0-prueth-fw.elf, size 5432
    [   55.413817] ti-pruss 4a300000.pruss: configured system_events = 0x0000060000500000 intr_channels = 0x00000095 host_intr = 0x00000115
    [   55.447495] remoteproc remoteproc1: remote processor 4a334000.pru0 is now up
    [   55.467923] net eth0: started
    [   55.483519] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [   55.547928] remoteproc remoteproc2: powering up 4a338000.pru1
    [   55.566321] remoteproc remoteproc2: Booting fw image ti-pruss/am335x-pru1-prueth-fw.elf, size 5508
    [   55.575672] ti-pruss 4a300000.pruss: configured system_events = 0x0060000000a00000 intr_channels = 0x0000012a host_intr = 0x0000022a
    [   55.617956] remoteproc remoteproc2: remote processor 4a338000.pru1 is now up
    [   55.637902] net eth1: started
    [   55.653537] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
    root@am335x-evm:~#
    root@am335x-evm:~#
    root@am335x-evm:~# [  106.407966] prueth pruss_eth eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    [  106.415587] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

    [  114.017225] sched: RT throttling activated
    root@am335x-evm:~# [  116.069517] NOHZ: local_softirq_pending 10e
    [  117.031421] NOHZ: local_softirq_pending 08
    [  117.037319] NOHZ: local_softirq_pending 08
    [  117.047241] NOHZ: local_softirq_pending 08
    [  117.054498] NOHZ: local_softirq_pending 08
    [  117.057245] NOHZ: local_softirq_pending 08
    [  117.067235] NOHZ: local_softirq_pending 08
    [  119.028061] NOHZ: local_softirq_pending 08
    [  119.037272] NOHZ: local_softirq_pending 08
    [  119.038139] NOHZ: local_softirq_pending 08

  • Hi,

    Thanks for trying the lastest SDK, are you using the pre-built images that are downloaded from the SDK? Looking at the log file it does not appear that you are setting any applications to run. Could you please describe the network that you are plugging into? Such as is there any traffic on it? Could also attach top again for this test?

    Best Regards,
    Schuyler
  • Hi,

    Apologies, I was not looking at the right area in the post. You are using the pre-built images and the 2.1A version of the ICE board. So only the question of the network traffic. Another thing is what are the jumper setting that are setup on the board.

    Best Regards,
    Schuyler
  • hi, Schuyler,

    Thanks for your reply.
    yes, I use pre-built images and I did not run any own application, only boot up the system with a new SD card which only installed default images and rootfs.
    I connect ice2 board to an 8-port switcher that connects my PC and then wlan to our own office network.
    the jumper setting is that the two pins near LED side connected. I think this is ok because I have tested it for version ti-processor-sdk-linux-rt-am335x-evm-03.01.00.06. the PRU works perfectly.

    I will submit the TOP info soon.

    Best regards
    Dylan
  • hi, Schuyler,

    is there any difference for PRU between am3358 and am3359?
    we are use am3358 for our own board and it doest not work, which I describe in the first post in this topic.
  • hi, Schuyler,

    this is the TOP info:

    root@am335x-evm:~# top

    top - 13:53:55 up 1 min,  1 user,  load average: 2.04, 1.11, 0.43

    Tasks: 112 total,   1 running, 111 sleeping,   0 stopped,   0 zombie

    %Cpu(s):  1.2 us,  1.7 sy,  0.0 ni, 97.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

    top - 13:54:08 up 2 min,  1 user,  load average: 1.88, 1.11, 0.43

    Tasks: 112 total,   3 running, 109 sleeping,   0 stopped,   0 zombie

    %Cpu(s):  0.2 us, 21.1 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi, 78.6 si,  0.0 st

    KiB Mem :   248448 total,    72912 free,    26116 used,   149420 buff/cache

    KiB Swap:        0 total,        0 free,        0 used.   204944 avail Mem

      18 root      20   0       0      0      0 S  0.2  0.0   0:00.25 kworker/0:1

       3 root      20   0       0      0      0 R 49.0  0.0   0:03.05 ksoftirqd/0

    top - 13:54:21 up 2 min,  1 user,  load average: 2.87, 1.37, 0.53

    Tasks: 113 total,   5 running, 108 sleeping,   0 stopped,   0 zombie

    %Cpu(s):  0.1 us, 50.5 sy,  0.0 ni,  1.9 id,  1.9 wa,  0.0 hi, 45.6 si,  0.0 st

    KiB Mem :   248448 total,    72580 free,    26400 used,   149468 buff/cache

    KiB Swap:        0 total,        0 free,        0 used.   204664 avail Mem

       6 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H

       4 root      -2   0       0      0      0 R 95.0  0.0   0:11.52 ktimersoftd/0

     880 root      20   0    3156   1816   1384 R  0.6  0.7   0:00.46 top

       1 root      20   0    5232   4028   2804 S  0.2  1.6   0:04.75 systemd

     111 root      20   0   10556   2688   2464 S  0.1  1.1   0:01.57 systemd-journal

     270 message+  20   0    4288   2540   2208 S  0.1  1.0   0:00.69 dbus-daemon

     382 avahi     20   0    4632   2432   2180 S  0.1  1.0   0:03.99 avahi-daemon

     417 root      20   0    8548   5724   4104 S  0.1  2.3   0:00.43 snmpd

     673 root     -51   0       0      0      0 R  0.1  0.0   0:00.01 irq/189-eth1

     886 root      20   0    1808   1148   1040 S  0.1  0.5   0:00.01 agetty

       2 root      20   0       0      0      0 S  0.0  0.0   0:00.01 kthreadd

       3 root      20   0       0      0      0 D  0.0  0.0   0:03.91 ksoftirqd/0

       5 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0

       6 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H

       7 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kworker/u2:0

       8 root      -2   0       0      0      0 S  0.0  0.0   0:00.11 rcu_preempt

       9 root      -2   0       0      0      0 S  0.0  0.0   0:00.00 rcu_sched

      10 root      -2   0       0      0      0 S  0.0  0.0   0:00.00 rcub/0

      11 root      -2   0       0      0      0 R  0.0  0.0   0:00.23 rcuc/0

      12 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kswork

      13 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 posixcputmr/0

      14 root      20   0       0      0      0 S  0.0  0.0   0:00.02 kdevtmpfs

      15 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 netns

      16 root     -51   0       0      0      0 S  0.0  0.0   0:00.00 irq/26-44e07000

      17 root     -51   0       0      0      0 S  0.0  0.0   0:00.00 irq/59-4804c000

      18 root      20   0       0      0      0 S  0.0  0.0   0:00.28 kworker/0:1

      19 root     -51   0       0      0      0 S  0.0  0.0   0:00.00 irq/92-481ac000

      20 root     -51   0       0      0      0 S  0.0  0.0   0:00.00 irq/125-481ae00

      21 root      20   0       0      0      0 S  0.0  0.0   0:00.00 oom_reaper

      22 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 writeback

      23 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kcompactd0

      24 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 crypto

      25 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset

      26 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kblockd

      27 root     -51   0       0      0      0 S  0.0  0.0   0:00.21 irq/20-49000000

      28 root     -51   0       0      0      0 S  0.0  0.0   0:00.00 irq/22-49000000

      29 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 edac-poller

      30 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 watchdogd

      31 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 rpciod

      32 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xprtiod

      33 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kswapd0

    it is hard to read, I attached the text in a file.

    top ice.txt
    root@am335x-evm:~#
    root@am335x-evm:~# top
    top - 13:53:55 up 1 min,  1 user,  load average: 2.04, 1.11, 0.43
    Tasks: 112 total,   1 running, 111 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  1.2 us,  1.7 sy,  0.0 ni, 97.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    top - 13:54:08 up 2 min,  1 user,  load average: 1.88, 1.11, 0.43
    Tasks: 112 total,   3 running, 109 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  0.2 us, 21.1 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi, 78.6 si,  0.0 st
    KiB Mem :   248448 total,    72912 free,    26116 used,   149420 buff/cache
    KiB Swap:        0 total,        0 free,        0 used.   204944 avail Mem
    
       18 root      20   0       0      0      0 S  0.2  0.0   0:00.25 kworker/0:1
        3 root      20   0       0      0      0 R 49.0  0.0   0:03.05 ksoftirqd/0
    top - 13:54:21 up 2 min,  1 user,  load average: 2.87, 1.37, 0.53
    Tasks: 113 total,   5 running, 108 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  0.1 us, 50.5 sy,  0.0 ni,  1.9 id,  1.9 wa,  0.0 hi, 45.6 si,  0.0 st
    KiB Mem :   248448 total,    72580 free,    26400 used,   149468 buff/cache
    KiB Swap:        0 total,        0 free,        0 used.   204664 avail Mem
    
        6 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H
        4 root      -2   0       0      0      0 R 95.0  0.0   0:11.52 ktimersoftd/0
      880 root      20   0    3156   1816   1384 R  0.6  0.7   0:00.46 top
        1 root      20   0    5232   4028   2804 S  0.2  1.6   0:04.75 systemd
      111 root      20   0   10556   2688   2464 S  0.1  1.1   0:01.57 systemd-journal
      270 message+  20   0    4288   2540   2208 S  0.1  1.0   0:00.69 dbus-daemon
      382 avahi     20   0    4632   2432   2180 S  0.1  1.0   0:03.99 avahi-daemon
      417 root      20   0    8548   5724   4104 S  0.1  2.3   0:00.43 snmpd
      673 root     -51   0       0      0      0 R  0.1  0.0   0:00.01 irq/189-eth1
      886 root      20   0    1808   1148   1040 S  0.1  0.5   0:00.01 agetty
        2 root      20   0       0      0      0 S  0.0  0.0   0:00.01 kthreadd
        3 root      20   0       0      0      0 D  0.0  0.0   0:03.91 ksoftirqd/0
        5 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0
        6 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H
        7 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kworker/u2:0
        8 root      -2   0       0      0      0 S  0.0  0.0   0:00.11 rcu_preempt
        9 root      -2   0       0      0      0 S  0.0  0.0   0:00.00 rcu_sched
       10 root      -2   0       0      0      0 S  0.0  0.0   0:00.00 rcub/0
       11 root      -2   0       0      0      0 R  0.0  0.0   0:00.23 rcuc/0
       12 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kswork
       13 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 posixcputmr/0
       14 root      20   0       0      0      0 S  0.0  0.0   0:00.02 kdevtmpfs
       15 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 netns
       16 root     -51   0       0      0      0 S  0.0  0.0   0:00.00 irq/26-44e07000
       17 root     -51   0       0      0      0 S  0.0  0.0   0:00.00 irq/59-4804c000
       18 root      20   0       0      0      0 S  0.0  0.0   0:00.28 kworker/0:1
       19 root     -51   0       0      0      0 S  0.0  0.0   0:00.00 irq/92-481ac000
       20 root     -51   0       0      0      0 S  0.0  0.0   0:00.00 irq/125-481ae00
       21 root      20   0       0      0      0 S  0.0  0.0   0:00.00 oom_reaper
       22 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 writeback
       23 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kcompactd0
       24 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 crypto
       25 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset
       26 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kblockd
       27 root     -51   0       0      0      0 S  0.0  0.0   0:00.21 irq/20-49000000
       28 root     -51   0       0      0      0 S  0.0  0.0   0:00.00 irq/22-49000000
       29 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 edac-poller
       30 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 watchdogd
       31 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 rpciod
       32 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xprtiod
       33 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kswapd0
       34 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 nfsiod
       43 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kpcitest
       44 root     -51   0       0      0      0 S  0.0  0.0   0:00.00 irq/174-4831000
       45 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset
       46 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset
       47 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset                                                                                                      [  130.058530] NOHZ: local_softirq_pending 08
    [  130.067174] NOHZ: local_softirq_pending 08S  0.0  0.0   0:00.00 bioset
    [  131.048037] NOHZ: local_softirq_pending 08S  0.0  0.0   0:00.00 bioset
    [  131.057177] NOHZ: local_softirq_pending 08S  0.0  0.0   0:00.00 bioset
    
       48 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset
       49 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset
       50 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset
       51 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset
       52 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset
       53 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset
       54 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset
       55 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset
       56 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset
       57 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset
    

    In the ICE board log, I have found the problem may be caused by

    PM: Cannot get wkup_m3_ipc handle

  • hi,

    I turn to my own board and trace the prueth.c code and found that :

    when I plug in my cable into RJ45 connector,
    prueth_tx_enqueue() which is in file prueth.c ,is called and 17 packages are copied from DRAM to OCMC.
    after that the function return -ENOBUFS, which means the buffer is full.

    there is a comment at the end of this function:
    "
    /* update the write pointer in this queue descriptor, the firmware
    * polls for this change so this will signal the start of transmission
    */
    "
    it seems that the PRU firmware did not get the data and transmit it to phy.
    I can check that the pru is running by the log:

    [ 19.885806] remoteproc2: powering up 4a338000.pru1
    [ 19.891057] remoteproc2: Booting fw image ti-pruss/am335x-pru1-prueth-fw.elf, size 4830
    [ 20.043809] ti-pruss 4a300000.pruss: configured system_events = 0x0060000000a00000 intr_channels = 0x0000012a host_intr = 0x0000022a
    [ 20.179736] remoteproc2: remote processor 4a338000.pru1 is now up.

    but I am wondering if there is any way we can check if data processing is triggered in PRU?

    Best regards
    Dylan
  • Hi Dylan,

    Thanks for the info, I will need to discuss with PRU member on the team. Thanks for the top attachment, things do line up better. The ksofttimerIrq is taking all the system time and probably explains the NO_HZ messages.

    Could you please add an attachment of the ifconfig eth0 please? And also ethtool eth0 please?

    Best Regards,
    Schuyler
  • hi, Schuyler,

    I wait system up and run the commands before and after I plug in cable to eth0.
    the info is as below:

    root@am335x-evm:~#
    root@am335x-evm:~# ifconfig eth0
    eth0 Link encap:Ethernet HWaddr 68:C9:0B:E4:9C:D7
    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)

    root@am335x-evm:~#
    root@am335x-evm:~# ifconfig
    eth0 Link encap:Ethernet HWaddr 68:C9:0B:E4:9C:D7
    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)

    eth1 Link encap:Ethernet HWaddr 68:C9:0B:E4:9C:D9
    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)

    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:640 errors:0 dropped:0 overruns:0 frame:0
    TX packets:640 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1
    RX bytes:48640 (47.5 KiB) TX bytes:48640 (47.5 KiB)

    root@am335x-evm:~#
    root@am335x-evm:~# ethtool eth0
    Settings for eth0:
    Supported ports: [ TP MII ]
    Supported link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Advertised link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Speed: 10Mb/s
    Duplex: Half
    Port: MII
    PHYAD: 1
    Transceiver: external
    Auto-negotiation: on
    Link detected: no
    root@am335x-evm:~#
    root@am335x-evm:~#
    root@am335x-evm:~# [ 151.687764] prueth pruss_eth eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    [ 151.695393] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

    root@am335x-evm:~# ethtool eth0
    Settings for eth0:
    Supported ports: [ TP MII ]
    Supported link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Advertised link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Link partner advertised link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    Link partner advertised pause frame use: Symmetric
    Link partner advertised auto-negotiation: Yes
    Speed: 100Mb/s
    Duplex: Full
    Port: MII
    PHYAD: 1
    Transceiver: external
    Auto-negotiation: on
    Link detected: yes
    root@am335x-evm:~# [ 158.247057] sched: RT throttling activated
    [ 158.250815] NOHZ: local_softirq_pending 08
    [ 158.257144] NOHZ: local_softirq_pending 08
    [ 158.267073] NOHZ: local_softirq_pending 08
    [ 158.278122] NOHZ: local_softirq_pending 08

    root@am335x-evm:~#
    root@am335x-evm:~#
    root@am335x-evm:~# ethtool eth0
    Settings for eth0:
    Supported ports: [ TP MII ]
    Supported link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Advertised link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Link partner advertised link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    Link partner advertised pause frame use: Symmetric
    Link partner advertised auto-negotiation: Yes
    Speed: 100Mb/s
    Duplex: Full
    Port: MII
    PHYAD: 1
    Transceiver: external
    Auto-negotiation: on
    Link detected: yes
    root@am335x-evm:~# [ 160.270416] NOHZ: local_softirq_pending 08
    [ 160.277150] NOHZ: local_softirq_pending 08
    [ 161.240000] NOHZ: local_softirq_pending 08
    [ 161.247140] NOHZ: local_softirq_pending 08
    [ 161.249213] NOHZ: local_softirq_pending 08
    [ 161.253954] NOHZ: local_softirq_pending 08
    [ 184.237675] prueth pruss_eth eth0: Link is Down
  • Hi,
    Are you doing anything to take the eth0 link down? When you plug the SD card into the ICEv2 board, when you run top are you seeing the same results? ksofttimerd taking 95% of the processor after you plug in the ethernet cable?

    Best Regards,
    Schuyler
  • Hi, Schuyler,

    my operation steps like this:
    (1) insert SD card
    (2), power the ICE board
    (3) when board boot up and login as root;
    (4) use ifconfig command to see if the ethernet ports are there ; and also run TOP if need.
    (5) plug in the network cable
    (6)wit for several seconds, the "sched: RT throttling activated" will happen,
    (7) if plug out the cable quickly after step 6, ( within 5 seconds), then the system will continue running(I can operate through serial port).
    otherwise the system will hold completely after step 6 after long time( like 5 minutes).

    (1)Are you doing anything to take the eth0 link down?
    nothing, i only use ifconfig eth0 to see the status of eth0

    (2) When you plug the SD card into the ICEv2 board, when you run top are you seeing the same results?
    I insert SD card before power on the board. after board power on , if no cable connected, I run top , can not see the same result.

    (3) ksofttimerd taking 95% of the processor after you plug in the ethernet cable?
    ksofttimerd taking 95% of the processor only happens when I plug in the cable.
  • Hi,

    I apologize because I was not specific when I ask about the SD card in the ICEv2 board. I want to see if SD card that you have running in the ICEv2 board shows the ksofttimerd at 95% with the cable attached. I am trying to see if the ksofttimerd is behaving the same way on the two boards.

    Best Regards,
    Schuyler
  • Hi Schuyler,

    I just wanna clarify my previous answer.

    Our ICEv2 board is running on a SD card with prebuild image without any modifications (not TFTP method).

    I did unplug the Ethernet cable from the board after "NOHZ: local_softirq_pending 08" is shown on the console, sorry I wasn't clear on that.

    When the board wasn't connected to the network it was running fine. When I executed top command ksofttimerd is running at approx 5% to 10%.

    However a few seconds after it was connected to the Ethernet network, the console started outputting "NOHZ: local_softirq_pending 08" message. Typing in the console became very sluggish. When I executed top command I could see ksofttimerd is using 95% of CPU, which explains why the board becomes unresponsive. The board recovered as soon as I unplug the ethernent cable and the CPU usage of ksofttimerd dropped back to around 5% of CPU. If I left the ethernet cable plugged in when the issue occurred, the board died after a couple of minutes and a power cycle is required in order to bring it back.

    I have also tested with CPSW on those 2 ports (ie changed the jumper setting behind the ethernet port) and I didn't see the same problem. The board is working fine with CPSW. Unfortunately we required PRU ethernet not CPSW.

    Thanks again for your help.


    Regards

    Dylan
  • Hi Dylan,

    Thank you for the clarification, I believe I understand better now what you are telling me. Due to the issue you are seeing with the pre-built images on the ICEv2 board is there a chance you could download the latest TI Linux RT 4.02 SDK and try the same test as an experiment on the newer SDK?

    Best Regards,
    Schuyler
  • hi, Schuyler,

    Good news, We have found our own board problem.
    I use the command " omapconf show dpll cfg" and find the M4 clock is not 200MHz.
    after we change the dpll registers to make M4 output 200MHz. then the PRU is working .


    for the ICE board, we have download latest SDK ti-processor-sdk-linux-rt-am335x-evm-04.02.00.09 and
    tested it. Please see my previous posts.

    Because we need the PRP/HSR feature in our new projects,
    so right now we are considering which version SDK is suitable for us to port to our own board.
    we hope we can use the latest version, so we still need your help to get the latest version working in ICE board, which then we could test the PRP /HSR performance.

    Best regards
    Dylan.

  • Hi Dylan,
    Thank you for reporting your findings on this post, I am glad to hear that your board is now working.

    Best Regards,
    Schuyler
  • hi, Schuyler,

    I think I can close this thread, as our own board's problem is not the same with ICE2 board's.