This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software: Linux
Hi,
There is no event of link drop while using DP83822HF in FX mode.
So my customer modify driver code to forcibly read phy status.
Above issue is shared on below e2e.
(https://e2e.ti.com/support/embedded/linux/f/354/t/616469 )
But the forcible reading leads a problem of IEC 61850 certification due to a slow-conversion of network redundancy while ethernet bonding.
So please let me know there is any optimized krnel driver only for DP83822HF or other solutions.
SDK version : ti-processor-sdk-linux-rt-am57xx-evm-03.01.00.06
Dear,
I found there is no issue without FX mode in their Ethernet bonding test and they think it is enough to fast to compliance IEC61850.
But, this FX mode should be used as it is standard protocol for optical communication in Korea.
Please check this and how DP83822HF with FX mode can be used for IEC61850 certification.
Thanks and Best Regards,
SI.
Hi Schuyler,
please check attached boot up log in below.
U-Boot 2016.05-svn1 (Sep 11 2017 - 10:19:32 +0900) CPU : DRA752-GP ES2.0 Model: TI AM5728 IDK Board: AM572x IDK REV <NULL> DRAM: 2 GiB MMC: no pinctrl for sdr104 no pinctrl for ddr50 no pinctrl for sdr50 no pinctrl for sdr25 no pinctrl for sdr12 OMAP SD/MMC: 0, OMAP SD/MMC: 1 ** Unable to use mmc 1:1 for loading the env ** Using default environment I2C chip 50: requested alen 2 does not match chip offset_len 1 SCSI: SATA link 0 timeout. AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode flags: 64bit ncq stag pm led clo only pmp pio slum part ccc apst scanning bus for devices... Found 0 device(s). Net: Warning: ethernet@48484000 using MAC address from ROM eth0: ethernet@48484000 Hit any key to stop autoboot: 0 MMC: no card present MMC: no card present MMC: no card present MMC: no card present switch to partitions #0, OK mmc1(part 0) is current device SD/MMC found on device 1 SF: Detected S25FL256S_64K with page size 256 Bytes, erase size 64 KiB, total 32 MiB, mapped at 5c000000 device 0 offset 0x1c0000, size 0x400000 SF: 4194304 bytes @ 0x1c0000 Read: OK device 0 offset 0x180000, size 0x40000 SF: 262144 bytes @ 0x180000 Read: OK Kernel image @ 0x82000000 [ 0x000000 - 0x3724b0 ] ## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Device Tree to 8ffe5000, end 8ffffe28 ... OK Starting kernel ... Booting Linux on physical CPU 0x0 Initializing cgroup subsys cpuset Initializing cgroup subsys cpu Initializing cgroup subsys cpuacct Linux version 4.4.19-rt25-gf572d285f0 (root@johnkim-VirtualBox) (gcc version 5.3.1 20160113 (Linaro GCC 5.3-2016.02) ) #17 SMP PREEMPT RT Thu Sep 14 09:16:43 KST 2017 CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=30c5387d CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache Machine model: TI AM5728 IDK Reserved memory: created CMA memory pool at 0x0000000095800000, size 32 MiB Reserved memory: initialized node ipu1_cma@95800000, compatible id shared-dma-pool Reserved memory: created CMA memory pool at 0x0000000097800000, size 32 MiB Reserved memory: initialized node ipu2_cma@97800000, compatible id shared-dma-pool Reserved memory: created CMA memory pool at 0x0000000099800000, size 32 MiB Reserved memory: initialized node dsp1_cma@99800000, compatible id shared-dma-pool Reserved memory: created CMA memory pool at 0x000000009b800000, size 32 MiB Reserved memory: initialized node dsp2_cma@9b800000, compatible id shared-dma-pool cma: Reserved 24 MiB at 0x00000000fe400000 Forcing write-allocate cache policy for SMP Memory policy: Data cache writealloc OMAP4: Map 0x00000000ffd00000 to fe600000 for dram barrier DRA752 ES2.0 PERCPU: Embedded 11 pages/cpu @eed33000 s15168 r8192 d21696 u45056 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 472640 Kernel command line: console=ttyO1,115200n8 root=PARTUUID=b20c611f-28c7-a549-b1b0-142b607587bf rw rootfstype=ext4 rootwait PID hash table entries: 4096 (order: 2, 16384 bytes) Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes) Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) Memory: 1712796K/1897472K available (6519K kernel code, 417K rwdata, 2476K rodata, 352K init, 319K bss, 29028K reserved, 155648K cma-reserved, 1283072K highmem) Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xffc00000 - 0xfff00000 (3072 kB) vmalloc : 0xf0800000 - 0xff800000 ( 240 MB) lowmem : 0xc0000000 - 0xf0000000 ( 768 MB) pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB) modules : 0xbf000000 - 0xbfe00000 ( 14 MB) .text : 0xc0008000 - 0xc08d104c (8997 kB) .init : 0xc08d2000 - 0xc092a000 ( 352 kB) .data : 0xc092a000 - 0xc0992738 ( 418 kB) .bss : 0xc0995000 - 0xc09e4de4 ( 320 kB) SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1 Preemptible hierarchical RCU implementation. RCU kthread priority: 1. NR_IRQS:16 nr_irqs:16 16 OMAP clockevent source: timer1 at 32786 Hz Architected cp15 timer(s) running at 6.14MHz (virt). clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x16af5adb9, max_idle_ns: 440795202250 ns sched_clock: 56 bits at 6MHz, resolution 162ns, wraps every 4398046511023ns Switching to timer-based delay loop, resolution 162ns clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns OMAP clocksource: 32k_counter at 32768 Hz Console: colour dummy device 80x30 WARNING: Your 'console=ttyO1' has been replaced by 'ttyS1' This ensures that you still see kernel messages. Please update your kernel commandline. Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=61475) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 2048 (order: 1, 8192 bytes) Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes) Initializing cgroup subsys io Initializing cgroup subsys memory Initializing cgroup subsys devices Initializing cgroup subsys freezer Initializing cgroup subsys perf_event Initializing cgroup subsys pids CPU: Testing write buffer coherency: ok /cpus/cpu@0 missing clock-frequency property /cpus/cpu@1 missing clock-frequency property CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 Setting up static identity map for 0x800082c0 - 0x80008318 CPU1: thread -1, cpu 1, socket 0, mpidr 80000001 Brought up 2 CPUs SMP: Total of 2 processors activated (24.59 BogoMIPS). CPU: All CPU(s) started in SVC mode. devtmpfs: initialized VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0 omap_hwmod: l3_main_2 using broken dt data from ocp omap_hwmod: dcan1: _wait_target_disable failed clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns pinctrl core: initialized pinctrl subsystem NET: Registered protocol family 16 DMA: preallocated 256 KiB pool for atomic coherent allocations OMAP GPIO hardware version 0.1 irq: no irq domain found for /ocp/l4@4a000000/scm@2000/pinmux@1400 ! irq: no irq domain found for /ocp/l4@4a000000/scm@2000/pinmux@1400 ! omap-gpmc 50000000.gpmc: GPMC revision 6.0 gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000 hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers. hw-breakpoint: maximum watchpoint size is 8 bytes. omap4_sram_init:Unable to allocate sram needed to handle errata I688 omap4_sram_init:Unable to get sram pool needed to handle errata I688 OMAP DMA hardware revision 0.0 omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver edma 43300000.edma: memcpy is disabled edma 43300000.edma: TI EDMA DMA engine driver omap-iommu 40d01000.mmu: 40d01000.mmu registered omap-iommu 40d02000.mmu: 40d02000.mmu registered omap-iommu 58882000.mmu: 58882000.mmu registered omap-iommu 55082000.mmu: 55082000.mmu registered omap-iommu 41501000.mmu: 41501000.mmu registered omap-iommu 41502000.mmu: 41502000.mmu registered vgaarb: loaded palmas 0-0058: Irq flag is 0x00000004 palmas 0-0058: Muxing GPIO 2f, PWM 0, LED 0 omap_i2c 48070000.i2c: bus 0 rev0.12 at 400 kHz omap_i2c 48060000.i2c: bus 2 rev0.12 at 400 kHz omap_i2c 4807a000.i2c: bus 3 rev0.12 at 400 kHz omap_i2c 4807c000.i2c: bus 4 rev0.12 at 400 kHz pps_core: LinuxPPS API ver. 1 registered pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it> PTP clock support registered EDAC MC: Ver: 3.0.0 omap-mailbox 4883c000.mailbox: omap mailbox rev 0x400 omap-mailbox 4883e000.mailbox: omap mailbox rev 0x400 omap-mailbox 48840000.mailbox: omap mailbox rev 0x400 omap-mailbox 48842000.mailbox: omap mailbox rev 0x400 Advanced Linux Sound Architecture Driver Initialized. clocksource: Switched to clocksource arch_sys_counter NET: Registered protocol family 2 TCP established hash table entries: 8192 (order: 3, 32768 bytes) TCP bind hash table entries: 8192 (order: 5, 229376 bytes) TCP: Hash tables configured (established 8192 bind 8192) UDP hash table entries: 512 (order: 3, 32768 bytes) UDP-Lite hash table entries: 512 (order: 3, 32768 bytes) NET: Registered protocol family 1 RPC: Registered named UNIX socket transport module. RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available futex hash table entries: 512 (order: 3, 32768 bytes) squashfs: version 4.0 (2009/01/31) Phillip Lougher NFS: Registering the id_resolver key type Key type id_resolver registered Key type id_legacy registered ntfs: driver 2.1.32 [Flags: R/O]. jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc. bounce: pool size: 64 pages Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249) io scheduler noop registered io scheduler deadline registered io scheduler cfq registered (default) pinctrl-single 4a003400.pinmux: 282 pins at pa fc003400 size 1128 Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled 4806c000.serial: ttyS1 at MMIO 0x4806c000 (irq = 299, base_baud = 3000000) is a 8250 console [ttyS1] enabled 48020000.serial: ttyS2 at MMIO 0x48020000 (irq = 300, base_baud = 3000000) is a 8250 omap_rng 48090000.rng: OMAP Random Number Generator ver. 20 [drm] Initialized drm 1.1.0 20060810 ldoln: supplied by VMAIN OMAP DSS rev 6.1 omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops) omapdss_dss 58000000.dss: bound 58040000.encoder (ops hdmi5_component_ops) loop: module loaded m25p80 spi32766.0: s25fl256s1 (32768 Kbytes) 8 ofpart partitions found on MTD device spi32766.0 Creating 8 MTD partitions on "spi32766.0": 0x000000000000-0x000000040000 : "QSPI.SPL" 0x000000040000-0x000000140000 : "QSPI.u-boot" 0x000000140000-0x000000180000 : "QSPI.env" 0x000000180000-0x0000001c0000 : "QSPI.dtb" 0x0000001c0000-0x0000005c0000 : "QSPI.kernel" 0x0000005c0000-0x0000014c0000 : "QSPI.app" 0x0000014c0000-0x0000019c0000 : "QSPI.db" 0x0000019c0000-0x000001ec0000 : "QSPI.testprg" Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) libphy: Fixed MDIO Bus: probed CAN device driver interface c_can_platform 4ae3c000.can: c_can_platform device registered (regs=fce3c000, irq=357) davinci_mdio 48485000.mdio: davinci mdio revision 1.6 davinci_mdio 48485000.mdio: detected phy mask fffffffe libphy: 48485000.mdio: probed davinci_mdio 48485000.mdio: phy[0]: device 48485000.mdio:00, driver Micrel KSZ9031 Gigabit PHY cpsw 48484000.ethernet: Detected MACID = 7c:38:66:7d:1b:ea cpsw 48484000.ethernet: cpsw: Random MACID = f6:d2:f7:1b:0d:16 mousedev: PS/2 mouse device common for all mice rtc-ds1307 4-0068: rtc core: registered ds3231 as rtc0 omap_rtc 48838000.rtc: rtc core: registered 48838000.rtc as rtc2 palmas-rtc 48070000.i2c:tps659038@58:tps659038_rtc: rtc core: registered 48070000.i2c:tps659 as rtc1 i2c /dev entries driver omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec omap_hsmmc 4809c000.mmc: Got CD GPIO smps9: supplied by VMAIN V3_3D: supplied by smps9 ldo1: supplied by VMAIN omap_hsmmc 480b4000.mmc: no pinctrl state for sdr25 mode omap_hsmmc 480b4000.mmc: no pinctrl state for sdr12 mode omap-aes 4b500000.aes: OMAP AES hw accel rev: 3.3 omap-aes 4b700000.aes: OMAP AES hw accel rev: 3.3 omap-des 480a5000.des: OMAP DES hw accel rev: 2.2 alg: skcipher: setkey failed on test 5 for ecb-des-omap: flags=100 alg: skcipher-ddst: setkey failed on test 5 for ecb-des-omap: flags=100 alg: skcipher-ddst: setkey failed on test 5 for ecb-des-omap: flags=100 omap-sham 4b101000.sham: hw accel on OMAP rev 4.3 omap-rproc 58820000.ipu: assigned reserved memory node ipu1_cma@95800000 remoteproc0: 58820000.ipu is available remoteproc0: Note: remoteproc is still under development and considered experimental. remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed. remoteproc0: Direct firmware load for dra7-ipu1-fw.xem4 failed with error -2 remoteproc0: failed to load dra7-ipu1-fw.xem4 omap-rproc 55020000.ipu: assigned reserved memory node ipu2_cma@97800000 remoteproc1: 55020000.ipu is available remoteproc1: Note: remoteproc is still under development and considered experimental. remoteproc1: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed. omap-rproc 40800000.dsp: assigned reserved memory node dsp1_cma@99800000 remoteproc2: 40800000.dsp is available remoteproc2: Note: remoteproc is still under development and considered experimental. remoteproc2: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed. omap-rproc 41000000.dsp: assigned reserved memory node dsp2_cma@9b800000 remoteproc3: 41000000.dsp is available remoteproc3: Note: remoteproc is still under development and considered experimental. remoteproc3: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed. Initializing XFRM netlink socket NET: Registered protocol family 17 NET: Registered protocol family 15 can: controller area network core (rev 20120528 abi 9) NET: Registered protocol family 29 can: raw protocol (rev 20120528) can: broadcast manager protocol (rev 20120528 t) can: netlink gateway (rev 20130117) max_hops=1 8021q: 802.1Q VLAN Support v1.8 Key type dns_resolver registered NET: Registered protocol family 41 omap_voltage_late_init: Voltage driver support not added Power Management for TI OMAP4+ devices. Registering SWP/SWPB emulation handler dmm 4e000000.dmm: initialized all PAT entries ldo3: supplied by VMAIN [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [drm] No driver support for vblank timestamp query. mmc1: MAN_BKOPS_EN bit is not set mmc1: new DDR MMC card at address 0001 mmcblk0: mmc1:0001 R1J56L 13.8 GiB mmcblk0boot0: mmc1:0001 R1J56L partition 1 16.0 MiB mmcblk0boot1: mmc1:0001 R1J56L partition 2 16.0 MiB mmcblk0: p1 remoteproc1: Direct firmware load for dra7-ipu2-fw.xem4 failed with error -2 remoteproc1: failed to load dra7-ipu2-fw.xem4 remoteproc2: Direct firmware load for dra7-dsp1-fw.xe66 failed with error -2 [drm] Enabling DMM ywrap scrolling remoteproc2: failed to load dra7-dsp1-fw.xe66 remoteproc3: Direct firmware load for dra7-dsp2-fw.xe66 failed with error -2 remoteproc3: failed to load dra7-dsp2-fw.xe66 Console: switching to colour frame buffer device 100x30 omapdrm omapdrm.0: fb0: omapdrm frame buffer device [drm] Initialized omapdrm 1.0.0 20110917 on minor 0 rtc-ds1307 4-0068: setting system clock to 2017-06-18 12:51:24 UTC (1497790284) ALSA device list: No soundcards found. EXT4-fs (mmcblk0p1): recovery complete EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null) VFS: Mounted root (ext4 filesystem) on device 179:1. devtmpfs: mounted Freeing unused kernel memory: 352K (c08d2000 - c092a000) random: systemd: uninitialized urandom read (16 bytes read, 27 bits of entropy available) random: systemd: uninitialized urandom read (16 bytes read, 27 bits of entropy available) 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) systemd[1]: Detected architecture arm. Welcome to Arago 2016.08! systemd[1]: Set hostname to <am57xx-evm>. random: systemd-sysv-ge: uninitialized urandom read (16 bytes read, 28 bits of entropy available) random: systemd-gpt-aut: uninitialized urandom read (16 bytes read, 28 bits of entropy available) random: systemd-gpt-aut: uninitialized urandom ead (16 bytes read, 29 bits of entropy available) random: systemd-sysv-ge: uninitialized urandom read (16 bytes read, 29 bits of entropy available) random: systemd-sysv-ge: uninitialized urandom read (16 bytes read, 29 bits of entropy available) random: systemd: uninitialized urandom read (16 bytes read, 33 bits of entropy available) random: systemd: uninitialized urandom read (16 bytes read, 33 bits of entropy available) random: systemd: uninitialized urandom read (16 bytes read, 33 bits of entropy available) systemd[1]: sysinit.target: Found ordering cycle on sysinit.target/start systemd[1]: sysinit.target: Found dependency on alignment.service/start systemd[1]: sysinit.target: Found dependency on basic.target/start systemd[1]: sysinit.target: Found dependency on sockets.target/start systemd[1]: sysinit.target: Found dependency on rpcbind.socket/start systemd[1]: sysinit.target: Found dependency on sysinit.target/start systemd[1]: sysinit.target: Breaking ordering cycle by deleting job alignment.service/start 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 systemd[1]: Started Dispatch Password Requests to Console Directory Watch. [ OK ] Started Dispatch Password Requests to Console Directory Watch. systemd[1]: Listening on Network Service Netlink Socket. [ OK ] Listening on Network Service Netlink Socket. systemd[1]: Started Forward Password Requests to Wall Directory Watch. [ OK ] Started Forward Password Requests to Wall Directory Watch. systemd[1]: Reached target Swap. [ OK ] Reached target Swap. systemd[1]: Listening on udev Kernel Socket. [ OK ] Listening on udev Kernel Socket. systemd[1]: Reached target Remote File Systems. [ OK ] Reached target Remote File Systems. systemd[1]: Listening on /dev/initctl Compatibility Named Pipe. [ OK ] Listening on /dev/initctl Compatibility Named Pipe. systemd[1]: Listening on Journal Socket (/dev/log). [ OK ] Listening on Journal Socket (/dev/log). systemd[1]: Created slice User and Session Slice. [ OK ] Created slice User and Session Slice. systemd[1]: Listening on Syslog Socket. [ OK ] Listening on Syslog Socket. systemd[1]: Listening on udev Control Socket. [ OK ] Listening on udev Control Socket. systemd[1]: Listening on Journal Socket. [ OK ] Listening on Journal Socket. systemd[1]: Created slice System Slice. [ OK ] Created slice System Slice. systemd[1]: Reached target Slices. [ OK ] Reached target Slices. systemd[1]: Starting Synchronize System and HW clocks... Starting Synchronize System and HW clocks... systemd[1]: Mounting Debug File System... Mounting Debug File System... 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... systemd[1]: Starting Load Kernel Modules... Starting Load Kernel Modules... CMEMK module: reference Linux version 4.4.19 allocated heap buffer 0x40500000 of size 0x100000 cmemk initialized systemd[1]: Starting Journal Service... Starting Journal Service... cryptodev: driver 1.8 loaded. systemd[1]: Starting Setup Virtual Console... Starting Setup Virtual Console... systemd[1]: Starting Remount Root and Kernel File Systems... Starting Remount Root and Kernel File Systems... EXT4-fs (mmcblk0p1): re-mounted. Opts: (null) systemd[1]: Mounting POSIX Message Queue File System... Mounting POSIX Message Queue File System... systemd[1]: Created slice system-serial\x2dgetty.slice. [ OK ] Created slice system-serial\x2dgetty.slice. systemd[1]: Created slice system-getty.slice. [ OK ] Created slice system-getty.slice. systemd[1]: Reached target Paths. [ OK ] Reached target Paths. systemd[1]: Mounting Temporary Directory... Mounting Temporary Directory... systemd[1]: Mounted POSIX Message Queue File System. [ OK ] Mounted POSIX Message Queue File System. systemd[1]: Mounted Debug File System. [ OK ] Mounted Debug File System. systemd[1]: Mounted Temporary Directory. [ OK ] Mounted Temporary Directory. systemd[1]: Started Journal Service. [ OK ] Started Journal Service. [ OK ] Started Synchronize System and HW clocks. [ OK ] Started Create list of required sta...ce nodes for the current kernel. [ OK ] Started Load Kernel Modules. [ OK ] Started Setup Virtual Console. [ 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. systemd-journald[252]: Received request to flush runtime journal from PID 1 [ OK ] Started Flush Journal to Persistent Storage. Starting udev Kernel Device Manager... [ OK ] Reached target Local File Systems (Pre). Mounting /media/ram... Mounting /var/volatile... [ OK ] Mounted /var/volatile. [ OK ] Mounted /media/ram. [ OK ] Started udev Kernel Device Manager. Starting Load/Save Random Seed... [ OK ] Reached target Local File Systems. Starting Create Volatile Files and Directories... [ OK ] Started Load/Save Random Seed. [ OK ] Started Create Volatile Files and Directories. Starting Update UTMP about System Boot/Shutdown... [ OK ] Started udev Coldplug all Devices. [ OK ] Found device /dev/ttyS1. [ OK ] Started Update UTMP about System Boot/Shutdown. [ OK ] Reached target System Initialization. [ OK ] Started Daily Cleanup of Temporary Directories. [ OK ] Reached target Timers. [ OK ] Listening on dropbear.socket. [ OK ] Listening on D-Bus System Message Bus Socket. ti-pruss 4b200000.pruss: creating PRU cores and other child platform devices [ OK ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.irq: no irq domain found for /ocp/pruss@4b200000/intc@4b220000 ! irq: no irq domain found for /ocp/pruss@4b200000/intc@4b220000 ! ti-pruss 4b280000.pruss: creating PRU cores and other child platform devices irq: no irq domain found for /ocp/pruss@4b280000/intc@4b2a0000 ! [ OK ] Listening on RPCbind Server Activation Socket. irq: no irq domain found for /ocp/pruss@4b280000/intc@4b2a0000 ! [ OK ] Reached target Sockets. [ OK ] Reached target Basic System. davinci_mdio 4b2b2400.mdio: davinci mdio revision 1.6 libphy: 4b2b2400.mdio: probed davinci_mdio 4b2b2400.mdio: phy[0]: device 4b2b2400.mdio:00, driver TI DP83822 10/100 Mbps PHY davinci_mdio 4b2b2400.mdio: phy[1]: device 4b2b2400.mdio:01, driver TI DP83822 10/100 Mbps PHY Starting Permit User Sessions... remoteproc4: 4b234000.pru0 is available remoteproc4: Note: remoteproc is still under development and considered experimental. remoteproc4: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed. [ OK ] Started System Logging Service. remoteproc4: powering up 4b234000.pru0 remoteproc4: Booting fw image am57xx-pru1_0-fw, size 75856 ti-pruss 4b200000.pruss: configured system_events = 0x0000000000030000 intr_channels = 0x00000005 host_intr = 0x00000005 [ OK ] Started sootoo23 scripts. remoteproc4: remote processor 4b234000.pru0 is now up virtio_rpmsg_bus virtio0: rpmsg host is online virtio_rpmsg_bus virtio0: creating channel rpmsg-pru addr 0x1e zinitix : [zinitix_touch_init: 3015]zinitix_touch_init remoteproc4: registered virtio0 (type 7) <-- ######zinitix_touch_init###### <-- ######====================> zinitix_touch_probe+###### zinitix : [zinitix_touch_probe: 2696]sunny ====================> zinitix_touch_probe+ zinitix : [zinitix_touch_probe: 2702]driver version = 2.0.8 zinitix : [zinitix_touch_probe: 2728]touch workqueue create zinitix : [zinitix_touch_probe: 2745]sunny ---> configure touchscreen interrupt gpio zinitix : [zinitix_touch_probe: 2769]power on zinitix : [ts_power_control : 788]ts_power_control Starting Login Service...zinitix : [ts_power_sequence : 737]==========> ts_power_sequence zinitix : [ts_power_sequence : 748]chip code = 0xe538 pru-rproc 4b234000.pru0: PRU rproc node /ocp/pruss@4b200000/pru0@4b234000 probed successfully remoteproc5: 4b238000.pru1 is available remoteproc5: Note: remoteproc is still under development and considered experimental. remotproc5: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed. remoteproc5: powering up 4b238000.pru1 remoteproc5: Booting fw image am57xx-pru1_1-fw, size 75856 ti-pruss 4b200000.pruss: configured system_events = 0x00000000000c0000 intr_channels = 0x0000000a host_intr = 0x0000000a remoteproc5: remote processor 4b238000.pru1 is now up virtio_rpmsg_bus virtio1: creating channel rpmsg-pru addr 0x1f virtio_rpmsg_bus virtio1: rpmsg host is online remoteproc5: registered virtio1 (type 7) pru-rproc 4b238000.pru1: PRU rproc node /ocp/pruss@4b200000/pru1@4b238000 probed successfully Starting Print notice about GPLv3 packages... remoteproc6: 4b2b4000.pru0 is available remoteproc6: Note: remoteproc is still under development and considered experimental. zinitix : [ts_init_touch : 1428]ts_init_touch->ts_cable_attached_info zinitix : [ts_init_touch : 1453]send reset command zinitix : [ts_init_touch : 1491]touch chip hw id = 0x0000 zinitix : [ts_init_touch : 1513]touch chip firmware version = 6 zinitix : [ts_init_touch : 1519]touch chip firmware version = 1 zinitix : [ts_init_touch : 1611]touch max x = 800, y = 480 zinitix : [ts_init_touch : 1629]max supported finger num = 5 zinitix : [ts_init_touch : 1631]set other configuration zinitix : [ts_init_touch : 1648]use i2s checksum = 0 zinitix : [ts_init_touch : 1679]esd timer register = 100 zinitix : [ts_init_touch : 1687]successfully initialized zinitix : [zinitix_touch_probe: 2812]+++ INIT_WORK zinitix : [zinitix_touch_probe: 2824]ts_esd_timer_start zinitix : [zinitix_touch_probe: 2827]+++ touch_dev->phys zinitix : [zinitix_touch_probe: 2875]register zinitix_touch input device remoteproc6: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed. pru-rproc 4b2b4000.pru0: PRU rproc node /ocp/pruss@4b280000/pru0@4b2b4000 probed successfully remoteproc7: 4b2b8000.pru1 is available remoteproc7: Note: remoteproc is still under development and considered experimental. remoteproc7: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed. pru-rproc 4b2b8000.pru1: PRU rproc node /ocp/pruss@4b280000/pru1@4b2b8000 probed successfully input: zinitix_touch as /devices/virtual/input/input0 zinitix : [zinitix_touch_probe: 2895]request irq (irq = 131, pin = 93) zinitix : [ts_check_int_before_enirq: 534]interrupt occured before request irq+ prueth pruss2_eth: port 1: using random MAC addr: 1e:a6:4e:c5:65:3d [ OK ] Started Kernel Logging Service. zinitix_touch 2-0020: zinitix touch probe. [ OK ] Started strongSwan IPsec IKEv1/IKEv2 daemon using ipsec.conf. prueth pruss2_eth: port 2: using random MAC addr: aa:11:4c:b5:4b:8f Starting uim-sysfs.service... Starting Avahi mDNS/DNS-SD Stack... [ OK ] Started D-Bus System Message Bus. prueth pruss2_eth: TI PRU ethernet driver initialized [ OK ] Started Avahi mDNS/DNS-SD Stack. Starting Network Service... [ OK ] Started Permit User Sessions. [ OK ] Started Network Service. net eth1: initializing cpsw version 1.15 (0) net eth0: initialized cpsw ale version 1.4 net eth0: ALE Table size 1024 random: nonblocking pool is initialized libphy: PHY not found net eth1: phy "" not found on slave 1, err -19 8021q: adding VLAN 0 to HW filter on device eth1 net eth0: initializing cpsw version 1.15 (0) net eth0: phy found : id is : 0x221622 8021q: adding VLAN 0 to HW filter on device eth0 rpmsg_pru rpmsg0: new rpmsg_pru device: /dev/rpmsg_pru30 rpmsg_pru rpmsg1: new rpmsg_pru device: /dev/rpmsg_pru31 remoteproc7: powering up 4b2b8000.pru1 remoteproc7: Booting fw image ti-pruss/am57xx-pru1-prueth-fw.elf, size 4382 ti-pruss 4b280000.pruss: configured system_events = 0x0060000000a00000 intr_channels = 0x0000012a host_intr = 0x0000022a remoteproc7: remote processor 4b2b8000.pru1 is now up net eth3: started remoteproc6: powering up 4b2b4000.pru0 remoteproc6: Booting fw image ti-pruss/am57xx-pru0-prueth-fw.elf, size 4350 ti-pruss 4b280000.pruss: configured system_events = 0x0000060000500000 intr_channels = 0x00000095 host_intr = 0x00000115 remoteproc6: remote processor 4b2b4000.pru0 is now up net eth2: started *************************************************************** *************************************************************** NOTICE: This file system contains the following GPLv3 packages: autoconf binutils-dev binutils bison-dev bison cpp-symlinks cpp dosfstools g++-symlinks g++ gawk-dev gawk gcc-symlinks gcc gdb gdbc6x gdbserver gstreamer1.0-libav hidapi libcairo-perf-utils libgmp10 libidn11 libmpc3 libmpfr4 make nettle parted 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 ] Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch. [ OK ] Reached target Network. Starting Lightning Fast Webserver With Light System Requirements... Starting Network Name Resolution... [ OK ] Started Serial Getty on ttyS1. [ OK ] Started Getty on tty1. [ OK ] Reached target Login Prompts. [ OK ] Started Network Name Resolution. [ OK ] Started Lightning Fast Webserver With Light System Requirements. [ OK ] Started uim-sysfs.service. [ OK ] Started Login Service. Starting rc.pvr.service... [ OK ] Started rc.pvr.service. Starting telnetd.service... Starting tiipclad-daemon.service... [ OK ] Started telnetd.service. [ OK ] Started tiipclad-daemon.service. Starting thttpd.service... [ OK ] Started thttpd.service. Starting rng-tools.service... [ OK ] Started rng-tools.service. cpsw 48484000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx Starting gdbserverproxy.service... [ OK ] Started gdbserverproxy.service. Starting thermal-zone-init.service... [ OK ] Started thermal-zone-init.service. [ OK ] Reached target Multi-User System. Starting Update UTMP about System Runlevel Changes... [ OK ] Started Update UTMP about System Runlevel Changes. _____ _____ _ _ | _ |___ ___ ___ ___ | _ |___ ___ |_|___ ___| |_ | | _| .'| . | . | | __| _| . | | | -_| _| _| |__|__|_| |__,|_ |___| |__| |_| |___|_| |___|___|_| |___| |___| Arago Project http://arago-project.org am57xx-evm ttyS1 Arago 2016.08 am57xx-evm ttyS1 am57xx-evm login:
Their Ethernet interfaces are as below.
eth0 device: KSZ9031 Chip / Full Duplex / MII / TX Mode
eth2 device: DP83822HF / Full Duplex / MII / FX Mode / Phy Addr: 0
eth3 device: DP83822HF / Full Duplex / MII / FX Mode / Phy Addr: 1
And, they have not made any change to the linux kernel, and they changed only phy.c file.
As you see in referenced e2e post, they removed 'interrupt' and used 'polling' to read Ethernet link status because they found interrupt was not generated to read link status in FX mode.
Their PSDK version and development environments are
Host PC OS: Ubuntu 16.04 linux 64bit
AM5728 SDK: u-boot-2016.05 / linux-rt-4.4.19
AM5728 SDK Ver: ti-processor-sdk-linux-rt-am57xx-evm-03.01.00.06
IPC: ipc_3_43_02_04
XDC: xdctools_3_32_00_06_core
Please let me know if you need more information.
Thanks and Best Regards,
SI.
Hi Schuyler,
There is no issue in Eth0, and it is working well.
Ethernet Bonding is set-up as below.
ifconfig eth2 down;
ifconfig eth3 down;
echo 1 > /sys/class/net/bond0/bonding/mode;
echo 100 > /sys/class/net/bond0/bonding/miimon;
ifconfig bond0 192.168.0.100 netmask 255.255.255.0 up;
echo +eth2 > /sys/class/net/bond0/bonding/slaves;
echo +eth3 > /sys/class/net/bond0/bonding/slaves;
Their dts file is same as AM5728 IDK's and the phy portion is as below.
They can not share full dts file due to security issue in their company. sorry for this.
-------------------am572x-idk.dts----------------------- aliases { ethernet2 = &pruss2_emac0; ethernet3 = &pruss2_emac1; }; ��.. ��... &pruss2_mdio { pinctrl-names = "default"; pinctrl-0 = <&pru2_pins_default>; reset-gpios = <&gpio5 8 GPIO_ACTIVE_LOW>, <&gpio5 9 GPIO_ACTIVE_LOW>; reset-delay-us = <2>; /* PHY datasheet states 1uS min */ }; -------------------------------------------------------------- --------------am57xx-idk-common.dtsi------------------ /* Dual-MAC Ethernet application node on PRU-ICSS2 */ pruss2_eth { compatible = "ti,am57-prueth"; pruss = <&pruss2>; sram = <&ocmcram1>; interrupt-parent = <&pruss2_intc>; pruss2_emac0: ethernet-mii0 { phy-handle = <&pruss2_eth0_phy>; phy-mode = "mii"; interrupts = <20>, <22>; interrupt-names = "rx", "tx"; /* Filled in by bootloader */ local-mac-address = [00 00 00 00 00 00]; }; pruss2_emac1: ethernet-mii1 { phy-handle = <&pruss2_eth1_phy>; phy-mode = "mii"; interrupts = <21>, <23>; interrupt-names = "rx", "tx"; /* Filled in by bootloader */ local-mac-address = [00 00 00 00 00 00]; }; }; ��.. ��.. &pruss2 { status = "okay"; pru2_0: pru0@4b2b4000 { interrupt-parent = <&pruss2_intc>; interrupts = <16>, <17>; interrupt-names = "vring", "kick"; status = "okay"; }; pru2_1: pru1@4b2b8000 { interrupt-parent = <&pruss2_intc>; interrupts = <18>, <19>; interrupt-names = "vring", "kick"; status = "okay"; }; }; &pruss2_mdio { status = "okay"; pruss2_eth0_phy: ethernet-phy@0 { reg = <0>; interrupt-parent = <&gpio3>; interrupts = <30 IRQ_TYPE_EDGE_FALLING>; }; pruss2_eth1_phy: ethernet-phy@1 { reg = <1>; interrupt-parent = <&gpio3>; interrupts = <31 IRQ_TYPE_EDGE_FALLING>; }; }; -------------------------------------------------------------- --------------dra7.dtsi------------------ pruss1: pruss@4b200000 { compatible = "ti,am5728-pruss"; ti,hwmods = "pruss1"; reg = <0x4b200000 0x2000>, <0x4b202000 0x2000>, <0x4b210000 0x8000>, <0x4b226000 0x2000>, <0x4b22e000 0x31c>, <0x4b232000 0x58>; reg-names = "dram0", "dram1", "shrdram2", "cfg", "iep", "mii_rt"; #address-cells = <1>; #size-cells = <1>; ranges; status = "disabled"; pruss1_intc: intc@4b220000 { compatible = "ti,am5728-pruss-intc"; reg = <0x4b220000 0x2000>; reg-names = "intc"; interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "host2", "host3", "host4", "host5", "host6", "host7", "host8", "host9"; interrupt-controller; #interrupt-cells = <1>; }; pru1_0: pru0@4b234000 { compatible = "ti,am5728-pru"; reg = <0x4b234000 0x3000>, <0x4b222000 0x400>, <0x4b222400 0x100>; reg-names = "iram", "control", "debug"; status = "disabled"; }; pru1_1: pru1@4b238000 { compatible = "ti,am5728-pru"; reg = <0x4b238000 0x3000>, <0x4b224000 0x400>, <0x4b224400 0x100>; reg-names = "iram", "control", "debug"; status = "disabled"; }; pruss1_mdio: mdio@4b232400 { compatible = "ti,davinci_mdio"; #address-cells = <1>; #size-cells = <0>; clocks = <&dpll_gmac_h13x2_ck>; clock-names = "fck"; bus_freq = <1000000>; reg = <0x4b232400 0x90>; status = "disabled"; }; }; pruss2: pruss@4b280000 { compatible = "ti,am5728-pruss"; ti,hwmods = "pruss2"; reg = <0x4b280000 0x2000>, <0x4b282000 0x2000>, <0x4b290000 0x8000>, <0x4b2a6000 0x2000>, <0x4b2ae000 0x31c>, <0x4b2b2000 0x58>; reg-names = "dram0", "dram1", "shrdram2", "cfg", "iep", "mii_rt"; #address-cells = <1>; #size-cells = <1>; ranges; status = "disabled"; pruss2_intc: intc@4b2a0000 { compatible = "ti,am5728-pruss-intc"; reg = <0x4b2a0000 0x2000>; reg-names = "intc"; interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "host2", "host3", "host4", "host5", "host6", "host7", "host8", "host9"; interrupt-controller; #interrupt-cells = <1>; }; pru2_0: pru0@4b2b4000 { compatible = "ti,am5728-pru"; reg = <0x4b2b4000 0x3000>, <0x4b2a2000 0x400>, <0x4b2a2400 0x100>; reg-names = "iram", "control", "debug"; status = "disabled"; }; pru2_1: pru1@4b2b8000 { compatible = "ti,am5728-pru"; reg = <0x4b2b8000 0x3000>, <0x4b2a4000 0x400>, <0x4b2a4400 0x100>; reg-names = "iram", "control", "debug"; status = "disabled"; }; pruss2_mdio: mdio@4b2b2400 { compatible = "ti,davinci_mdio"; #address-cells = <1>; #size-cells = <0>; clocks = <&dpll_gmac_h13x2_ck>; clock-names = "fck"; bus_freq = <1000000>; reg = <0x4b2b2400 0x90>; status = "disabled"; }; };
Their schematic is as below.
Thanks and Best Regards,
SI.