Part Number: AM3358
Other Parts Discussed in Thread: AM3359, 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
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
▒
/*
* 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;
};