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
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; };