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.

How to add ksz9031 support in DM8168 ?

Dear Team,


Currently, I'm working with linux-2.6.37-psp04.04.00.01 kernel.

Before we were using "LSI ET1011C phy" -> GMII -> 1000Mbps -> EMAC2..... It's working fine without any issue.

Now, we are changed our Ethernet phy to "Micrel ksz9031" (Just removed that PHY and connected this)

I have added ksz9031 support (ID, skew settings, pdata etc) in driver/net/phy/micrel.c and menuconfig

Now I'm able to get the PHY ID and PHY detection. While booting it's giving Link UP also but IP address is not assigned.

So, i'll try to assign the Static IP after boot. Now IP is assigned but I failed to ping.

Log file also attached.....

Log_Error_community.txt
U-Boot 2010.06 (Nov 24 2016 - 16:33:21)

TI8168-GP rev 2.1

ARM clk: 987MHz
DDR clk: 796MHz

I2C:   ready
DRAM:  1 GiB
NAND:  HW ECC BCH8 Selected
128 MiB
MMC:   OMAP SD/MMC: 0
raise: Signal # 8 caught
Net:   
Board Info:
        BSP Version     : iW-PRDVF-SC-01-R1.0-REL2.0-Linux2.6.37
        SOM Version     : iW-PRDVF-AP-01-R1.x

Detected MACID:0:18:8b:b:ba:3c
PHY ID = 0x221622 
Ethernet PHY: KSZ9031 @ 0x03
DaVinci EMAC
Hit any key to stop autoboot:  0 
iW-G12M-U-Boot > 
iW-G12M-U-Boot > 
iW-G12M-U-Boot > 
iW-G12M-U-Boot > pri
bootdelay=3
baudrate=115200
autoload=no
netdev=eth0
ethprime=FEC0
loadaddr=0x81000000
kernel=uImage
bootargs_base=console=ttyO2,115200n8
bootargs_nfs=setenv bootargs ${bootargs_base} root=/dev/nfs mem=364M@0x80000000 mem=320M@0x9FC00000 vmalloc=500M notifyk.vpssm3_sva=0xBF900000ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp 
bootcmd_net=dhcp; run bootargs_nfs;bootm
bootargs_msd=setenv bootargs ${bootargs_base} root=/dev/mmcblk0p2 rootwait rw mem=364M@0x80000000 mem=320M@0x9FC00000 vmalloc=500M notifyk.vpssm3_sva=0xBF900000 ip=off noinitrd
bootcmd_msd=run bootargs_msd;mmc rescan 0;fatload mmc 0 ${loadaddr} ${kernel};bootm
bootcmd=run bootcmd_msd
bootfile=_BOOT_FILE_PATH_IN_TFTP_
nfsroot=_ROOTFS_PATH_IN_NFS_
ethact=DaVinci EMAC
ethaddr=00:18:8b:0b:ba:3c
ipaddr=192.168.1.2
stdin=serial
stdout=serial
stderr=serial
ver=U-Boot 2010.06 (Nov 24 2016 - 16:33:21)

Environment size: 865/8188 bytes
iW-G12M-U-Boot > ping 192.168.1.5
### eth_halt 
+ emac_open
## gen_auto_negotiate 
- emac_open
Using DaVinci EMAC device
### eth_send 
### eth_send 
### eth_halt 

Abort
ping failed; host 192.168.1.5 is not alive
iW-G12M-U-Boot > ping 192.168.1.2
### eth_halt 
+ emac_open
## gen_auto_negotiate 
- emac_open
Using DaVinci EMAC device
### eth_send 
### eth_send 
### eth_halt 
ping failed; host 192.168.1.2 is not alive
iW-G12M-U-Boot > ping 192.168.1.1
### eth_halt 
+ emac_open
## gen_auto_negotiate 
- emac_open
Using DaVinci EMAC device
### eth_send 
### eth_send 
### eth_halt 
ping failed; host 192.168.1.1 is not alive
iW-G12M-U-Boot > boot
raise: Signal # 8 caught
raise: Signal # 8 caught
reading uImage

2623236 bytes read
## Booting kernel from Legacy Image at 81000000 ...
   Image Name:   Linux-2.6.37
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2623172 Bytes = 2.5 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Linux version 2.6.37 (lakshmi@lakshmi) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #3 Thu Nov 24 16:11:45 IST 2016
CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: TI-DM8168 iW-RainboW-G12M-Q7
reserved size = 52428800 at 0x0
FB: Reserving 52428800 bytes SDRAM for VRAM
Memory policy: ECC disabled, Data cache writeback
OMAP chip is TI8168 2.1
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 160648
Kernel command line: console=ttyO2,115200n8 root=/dev/mmcblk0p2 rootwait rw mem=364M@0x80000000 mem=320M@0x9FC00000 vmalloc=500M notifyk.vpssm3_sva=0xBF900000 ip=off noinitrd
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 364MB 270MB = 634MB total
Memory: 637700k/637700k available, 62716k reserved, 276480K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
    vmalloc : 0xd7000000 - 0xf8000000   ( 528 MB)
    lowmem  : 0xc0000000 - 0xd6c00000   ( 364 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    modules : 0xbf000000 - 0xbfe00000   (  14 MB)
      .init : 0xc0008000 - 0xc003c000   ( 208 kB)
      .text : 0xc003c000 - 0xc04f4000   (4832 kB)
      .data : 0xc04f4000 - 0xc053e000   ( 296 kB)
SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:407
IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
Total of 128 interrupts on 1 active controller
GPMC revision 6.0
Trying to install interrupt handler for IRQ400
Trying to install interrupt handler for IRQ401
Trying to install interrupt handler for IRQ402
Trying to install interrupt handler for IRQ403
Trying to install interrupt handler for IRQ404
Trying to install interrupt handler for IRQ405
Trying to install interrupt handler for IRQ406
Trying to install type control for IRQ407
Trying to set irq flags for IRQ407
OMAP clockevent source: GPTIMER1 at 27000000 Hz
Console: colour dummy device 80x30
Calibrating delay loop... 986.31 BogoMIPS (lpj=4931584)
pid_max: default: 32768 minimum: 301
Security Framework initialized
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
devtmpfs: initialized
regulator: core version 0.5
regulator: dummy: 
NET: Registered protocol family 16
OMAP GPIO hardware version 0.1
OMAP GPIO hardware version 0.1
omap_mux_init: Add partition: #1: core, flags: 0

Board Info:
        BSP Version     : iW-PRDVF-SC-01-R1.0-REL2.0-Linux2.6.37
        SOM Version     : iW-PRDVF-AP-01-R1.x

registered ti816x_gpio_vr device
registered ti816x_lcd_pwr device
registered ti816x_sr device
pm_dbg_init: only OMAP3 supported
registered ti81xx_vpss device
registered ti81xx_vidout device
registered ti81xx on-chip HDMI device
registered ti81xx_fb device
registered ti81xx_vin device
ti81xx_pcie: Invoking PCI BIOS...
ti81xx_pcie: Setting up Host Controller...
ti81xx_pcie: Register base mapped @0xd7020000
ti81xx_pcie: Starting PCI scan...
PCI: bus0: Fast back to back transfers enabled
bio: create slab <bio-0> at 0
regulator: VFB: 800 <--> 1025 mV at 1010 mV 
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
USBSS revision 4ea20809
registerd cppi-dma Intr @ IRQ 17
Cppi41 Init Done
omap_i2c omap_i2c.1: bus 1 rev4.0 at 100 kHz
Advanced Linux Sound Architecture Driver Version 1.0.23.
Switching to clocksource gp timer
musb-hdrc: version 6.0, otg (peripheral+host), debug=0
musb-hdrc musb-hdrc.0: dma type: dma-cppi41
MUSB controller-0 revision 4ea20800
musb-hdrc musb-hdrc.0: USB OTG mode controller at d701e000 using DMA, IRQ 18
musb-hdrc musb-hdrc.1: dma type: dma-cppi41
MUSB controller-1 revision 4ea20800
musb-hdrc musb-hdrc.1: USB OTG mode controller at d7026800 using DMA, IRQ 19
NET: Registered protocol family 2
IP route cache hash table entries: 16384 (order: 4, 65536 bytes)
TCP established hash table entries: 65536 (order: 7, 524288 bytes)
TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
TCP: Hash tables configured (established 65536 bind 65536)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
NetWinder Floating Point Emulator V0.97 (double precision)
PMU: registered new PMU device of type 0
omap-iommu omap-iommu.0: ducati registered
omap-iommu omap-iommu.1: sys registered
highmem bounce pool size: 64 pages
JFFS2 version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.
msgmni has been set to 705
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
omap_uart.0: ttyO0 at MMIO 0x48020000 (irq = 72) is a OMAP UART0
omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
console [ttyO2] enabled
brd: module loaded
loop: module loaded
Uniform Multi-Platform E-IDE driver
ide-gd driver 1.18
ahci ahci.0: forcing PORTS_IMPL to 0x3
ahci ahci.0: AHCI 0001.0100 32 slots 2 ports 3 Gbps 0x3 impl platform mode
ahci ahci.0: flags: ncq sntf pm led clo only pmp pio slum part ccc 
scsi0 : ahci_platform
scsi1 : ahci_platform
ata1: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a150fff] port 0x100 irq 16
ata2: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a150fff] port 0x180 irq 16
omap2-nand driver initializing
NAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 (Samsung )
Creating 5 MTD partitions on "omap2-nand.0":
0x000000000000-0x000000260000 : "U-Boot"
0x000000260000-0x000000280000 : "U-Boot Env"
0x000000280000-0x0000006c0000 : "Kernel"
0x0000006c0000-0x00000cee0000 : "File System"
mtd: partition "File System" extends beyond the end of device "omap2-nand.0" -- size truncated to 0x7940000
0x000008000000-0x000008000000 : "Reserved"
mtd: partition "Reserved" is out of reach -- disabled
davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
davinci_mdio davinci_mdio.0: detected phy mask fffffff7
davinci_mdio.0: probed
davinci_mdio davinci_mdio.0: phy[3]: device 0:03, driver Micrel KSZ9031 Gigabit PHY
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver dm9601
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
mice: PS/2 mouse device common for all mice
input: max11801_ts as /devices/platform/omap/omap_i2c.1/i2c-1/1-0049/input/input0
omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0
i2c /dev entries driver
Linux video capture interface: v2.00
usbcore: registered new interface driver uvcvideo
USB Video Class driver (v1.0.0)
OMAP Watchdog Timer Rev 0x00: initial timeout 60 sec
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
notify_init : notify drivercreated  for  remote proc id 2 at physical Address 0xbf900000
usbcore: registered new interface driver snd-usb-audio
asoc: tlv320aic3x-hifi <-> davinci-mcasp.2 mapping ok
asoc: HDMI-DAI-CODEC <-> hdmi-dai mapping ok
ALSA device list:
  #0: Dummy 1
  #1: TI81XX EVM
TCP cubic registered
NET: Registered protocol family 17
VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
omap_voltage_late_init: Voltage driver support not added
Power Management for TI81XX.
smartreflex smartreflex: Driver initialized
omap_rtc omap_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
ata1: SATA link down (SStatus 0 SControl 300)
ata2: SATA link down (SStatus 0 SControl 300)
Waiting for root device /dev/mmcblk0p2...
mmc0: new high speed SDHC card at address 0007
mmcblk0: mmc0:0007 SS08G 7.21 GiB 
 mmcblk0: p1 p2
EXT3-fs: barriers not enabled
kjournald starting.  Commit interval 5 seconds
EXT3-fs (mmcblk0p2): using internal journal
EXT3-fs (mmcblk0p2): mounted filesystem with writeback data mode
VFS: Mounted root (ext3 filesystem) on device 179:2.
devtmpfs: mounted
Freeing init memory: 208K
INIT: version 2.86 booting
Please wait: booting...
Starting udev
udevd (64): /proc/64/oom_adj is deprecated, please use /proc/64/oom_score_adj instead.
Remounting root file system...
Caching udev devnodes
NET: Registered protocol family 10
ALSA: Restoring mixer settings...
Configuring network interfaces... net eth0: attached PHY driver [Micrel KSZ9031 Gigabit PHY] (mii_bus:phy_addr=0:03, id=221622)
 PHY READY STATE
ADDRCONF(NETDEV_UP): eth0: link is not ready
udhcpc (v1.13.2) started
Sending discover...
emac_update_phystatus - PHY Link ON 
PHY: 0:03 - Link is Up - 10/Half
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Sending discover...
Sending discover...
No lease, forking to background
done.
Setting up IP spoofing protection: rp_filter.
Tue Apr 14 11:57:00 UTC 2015
INIT: Entering runlevel: 5
Loading HDVICP2 Firmware
DM816X prcm_config_app version: 2.0.0.1
Doing PRCM settings...
        PRCM for IVHD0 is in Progress, Please wait.....  
                        BW Phy Addr : 0x48180600 Data : 0x00000002
                        AW Phy Addr : 0x48180600 Data : 0x00000002
                        Phy Addr : 0x48180c04 Data : 0x00000037
                        BW Phy Addr : 0x48180620 Data : 0x00070000
                        AW Phy Addr : 0x48180620 Data : 0x00070002
                        BW Phy Addr : 0x48180624 Data : 0x00030000
                        AW Phy Addr : 0x48180624 Data : 0x00010002
                        Phy Addr : 0x48180600 Data : 0x00000102
                        BW Phy Addr : 0x48180c10 Data : 0x00000007
                        AW Phy Addr : 0x48180c10 Data : 0x00000003
                        Phy Addr : 0x48180c14 Data : 0x00000004
                        BW Phy Addr : 0x58088000 Data : 0x5d93076a
                        AW Phy Addr : 0x58088000 Data : 0xeafffffe
                        BW Phy Addr : 0x58098000 Data : 0x85175ec4
                        AW Phy Addr : 0x58098000 Data : 0xeafffffe
                        BW Phy Addr : 0x48180c10 Data : 0x00000003
                        AW Phy Addr : 0x48180c10 Data : 0x00000000
                        Phy Addr : 0x48180c14 Data : 0x00000007
        PRCM for IVHD0 is Done Successfully  
        PRCM for IVHD1 is in Progress, Please wait.....  
                        BW Phy Addr : 0x48180700 Data : 0x00000002
                        AW Phy Addr : 0x48180700 Data : 0x00000002
                        Phy Addr : 0x48180d04 Data : 0x00000037
                        BW Phy Addr : 0x48180720 Data : 0x00070000
                        AW Phy Addr : 0x48180720 Data : 0x00050002
                        BW Phy Addr : 0x48180724 Data : 0x00030000
                        AW Phy Addr : 0x48180724 Data : 0x00010002
                        Phy Addr : 0x48180700 Data : 0x00000102
                        BW Phy Addr : 0x48180d10 Data : 0x00000007
                        AW Phy Addr : 0x48180d10 Data : 0x00000003
                        Phy Addr : 0x48180d14 Data : 0x00000004
                        BW Phy Addr : 0x5a088000 Data : 0xb8df3c75
                        AW Phy Addr : 0x5a088000 Data : 0xeafffffe
                        BW Phy Addr : 0x5a098000 Data : 0x32891690
                        AW Phy Addr : 0x5a098000 Data : 0xeafffffe
                        BW Phy Addr : 0x48180d10 Data : 0x00000003
                        AW Phy Addr : 0x48180d10 Data : 0x00000000
                        Phy Addr : 0x48180d14 Data : 0x00000007
        PRCM for IVHD1 is Done Successfully  
        PRCM for IVHD2 is in Progress, Please wait.....  
                        BW Phy Addr : 0x48180800 Data : 0x00000002
                        AW Phy Addr : 0x48180800 Data : 0x00000002
                        Phy Addr : 0x48180e04 Data : 0x00000037
                        BW Phy Addr : 0x48180820 Data : 0x00070000
                        AW Phy Addr : 0x48180820 Data : 0x00050002
                        BW Phy Addr : 0x48180824 Data : 0x00030000
                        AW Phy Addr : 0x48180824 Data : 0x00010002
                        Phy Addr : 0x48180800 Data : 0x00000102
                        BW Phy Addr : 0x48180e10 Data : 0x00000007
                        AW Phy Addr : 0x48180e10 Data : 0x00000003
                        Phy Addr : 0x48180e14 Data : 0x00000004
                        BW Phy Addr : 0x53088000 Data : 0xe8684fe2
                        AW Phy Addr : 0x53088000 Data : 0xeafffffe
                        BW Phy Addr : 0x53098000 Data : 0xbb94c9c4
                        AW Phy Addr : 0x53098000 Data : 0xeafffffe
                        BW Phy Addr : 0x48180e10 Data : 0x00000003
                        AW Phy Addr : 0x48180e10 Data : 0x00000000
                        Phy Addr : 0x48180e14 Data : 0x00000007
        PRCM for IVHD2 is Done Successfully  
PRCM Initialization completed 
SysLink version : 2.20.02.20
SysLink module created on Date:Dec 26 2012 Time:11:03:34
FIRMWARE: I2cInit will be done by M3
FIRMWARE: Memory map bin file not passed
Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [-mmap <memory_map_file>] [-i2c <0|1>]
===Mandatory arguments=== 
<Processor Id>         0: DSP, 1: Video-M3, 2: Vpss-M3 
<Location of Firmware> firmware binary file 
<start|stop>           to start/stop the firmware 
===Optional arguments=== 
-mmap                  input memory map bin file name 
-i2c                   0: i2c init not done by M3, 1(default): i2c init done by M3 
FIRMWARE: isI2cInitRequiredOnM3: 1
FIRMWARE: Default memory configuration is used
Firmware Loader debugging not configured
Default FL_DEBUG: warning
Allowed FL_DEBUG levels: error, warning, info, debug, log
MemCfg: DCMM (Dynamically Configurable Memory Map) Version :  2.1.2.1
FIRMWARE: 1 start Successful
Loading HDVPSS (V4L2) Firmware 
FIRMWARE: Memory map bin file not passed
Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [-mmap <memory_map_file>] [-i2c <0|1>]
===Mandatory arguments=== 
<Processor Id>         0: DSP, 1: Video-M3, 2: Vpss-M3 
<Location of Firmware> firmware binary file 
<start|stop>           to start/stop the firmware 
===Optional arguments=== 
-mmap                  input memory map bin file name 
-i2c                   0: i2c init not done by M3, 1(default): i2c init done by M3 
FIRMWARE: isI2cInitRequiredOnM3: 0
FIRMWARE: Default memory configuration is used
Firmware Loader debugging not configured
Default FL_DEBUG: warning
Allowed FL_DEBUG levels: error, warning, info, debug, log
MemCfg: DCMM (Dynamically Configurable Memory Map) Version :  2.1.2.1
FIRMWARE: 2 start Successful
VPSS_FVID2: M3 firmware version 0x1000145 is newer,driver may not work properly.
HDMI W1 rev 2.0
HDMI CEC Spec version 1.2
I2C No Ack

Starting system message bus: dbus.
Starting telnet daemon.
Starting syslogd/klogd: done
Starting thttpd.
Starting PVR
Starting Matrix GUI application.
zero gadget: Gadget Zero, version: Cinco de Mayo 2008
zero gadget: zero ready
musb-hdrc musb-hdrc.0: MUSB HDRC host driver
musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: MUSB HDRC host driver
usb usb1: Manufacturer: Linux 2.6.37 musb-hcd
usb usb1: SerialNumber: musb-hdrc.0
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
usb 1-1: new high speed USB device using musb-hdrc and address 2
usb 1-1: device v0424 p2514 is not supported
usb 1-1: New USB device found, idVendor=0424, idProduct=2514
usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
tvp5150 1-005d: chip found @ 0xba (OMAP I2C adapter)
tvp5150 1-005d: *** unknown tvp8081 chip detected.
tvp5150 1-005d: *** Rom ver is 130.131
ti81xxvin ti81xxvin: registered sub device tvp5150
ov7725 1-0021: chip found @ 0x42 (OMAP I2C adapter)
ov7725 1-0021: Product ID error a:b
ov7725 1-0021: *** unknown OV7725 chip detected.
ov7725: probe of 1-0021 failed with error -22
ti81xxvin ti81xxvin: Error registering v4l2 subdevice
insmod: error inserting 'ti81xxvin.ko': -1 No such device
Selected Device is LCD
Changing Resolution to 800x480
Stopping Matrix GUI application.
Stopping PVR
Starting PVR
Removing stale PID file /var/run/matrix-gui-e.pid.
Starting Matrix GUI application.


        Rootfs Version     : iW-PRDVF-SC-01-R1.0-REL2.0-Rootfs

iWave-G12M login: root
root@iWave-G12M:~# 
root@iWave-G12M:~# 
root@iWave-G12M:~# ifconfig eth0 down
root@iWave-G12M:~# 
root@iWave-G12M:~# 
root@iWave-G12M:~# ifconfig eth0 192.168.1.2 up
net eth0: attached PHY driver [Micrel KSZ9031 Gigabit PHY] (mii_bus:phy_addr=0:03, id=221622)
 PHY READY STATE
ADDRCONF(NETDEV_UP): eth0: link is not ready
root@iWave-G12M:~# emac_update_phystatus - PHY Link ON 
PHY: 0:03 - Link is Up - 10/Half
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

root@iWave-G12M:~# 
root@iWave-G12M:~# 
root@iWave-G12M:~# ifconfig 
eth0      Link encap:Ethernet  HWaddr D0:FF:50:91:C1:28  
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::d2ff:50ff:fe91:c128/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:20 errors:0 dropped:0 overruns:0 carrier:9
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:5656 (5.5 KiB)
          Interrupt:44 Base address:0x8000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  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:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

root@iWave-G12M:~# 
root@iWave-G12M:~# ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes

--- 192.168.1.1 ping statistics ---
7 packets transmitted, 0 packets received, 100% packet loss
root@iWave-G12M:~# ifc
-sh: ifc: not found
root@iWave-G12M:~# ifconfig 
eth0      Link encap:Ethernet  HWaddr D0:FF:50:91:C1:28  
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::d2ff:50ff:fe91:c128/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:26 errors:0 dropped:0 overruns:0 carrier:15
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:6016 (5.8 KiB)
          Interrupt:44 Base address:0x8000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:672 (672.0 B)  TX bytes:672 (672.0 B)

root@iWave-G12M:~# 
root@iWave-G12M:~# 
root@iWave-G12M:~# ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes

What may be the issue ? Is anything required to do in EMAC side ? What I missed ?

Please help me.

Thanks in Advance.

Regards,

J.P.Raja

  • Hi Raana,

    Raana JP said:
    Before we were using "LSI ET1011C phy" -> GMII -> 1000Mbps -> EMAC2

    You attach that new PHY (ksz9031) to EMAC2 (EMAC1 in datasheet and TRM) and than try to ping your host PC (192.168.1.1) from EMAC0 (eth0)?

    You can also try with "Generic PHY" driver instead of using ksz9031 driver. See the below wiki page for more info:

    Regards,
    Pavel

  • Dear Pavel,

    Thanks for your immediate response.
    Sorry for the inconvenience. I have connected KSZ9031 in EMAC1 only. At that time I have disabled the old PHY.

    As per your suggestion, I have disabled all the PHY config in menuconfig and tried with Generic PHY.
    But issue remains same.

    Logs...
    Configuring network interfaces... net eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:03, id=221622)
    PHY READY STATE
    ADDRCONF(NETDEV_UP): eth0: link is not ready
    udhcpc (v1.13.2) started
    Sending discover...
    emac_update_phystatus - PHY Link ON
    PHY: 0:03 - Link is Up - 100/Half
    ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    Sending discover...
    Sending discover...
    No lease, forking to background
    done.
    Setting up IP spoofing protection: rp_filter.

    root@iWave-G12M:~# ifconfig eth0 192.168.1.2 up
    net eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:03, id=221622)
    PHY READY STATE
    ADDRCONF(NETDEV_UP): eth0: link is not ready
    root@iWave-G12M:~# emac_update_phystatus - PHY Link ON
    PHY: 0:03 - Link is Up - 100/Half
    ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

    root@iWave-G12M:~# ping 192.168.1.1
    PING 192.168.1.1 (192.168.1.1): 56 data bytes

    My doubt is, the old PHY is working fine with EMAC1 and now I have changed only the PHY interface... Why it's not working ?
    What may be the issue ? What I missed ?

    Thank You.
    Best Regards,
    J.P.Raja
  • Raana,

    Raana JP said:
    I have connected KSZ9031 in EMAC1 only

    Raana JP said:
    net eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:03, id=221622)

    Raana JP said:
    root@iWave-G12M:~# ifconfig eth0 192.168.1.2 up

    Do you use EMAC0 also? If yes, eth0 should correspond to EMAC0, and I see that you are trying with eth0.

    Regards,
    Pavel

  • Dear Pavel,

    Thank You for your response.

    If I'm using EMAC1 alone means, my Ethernet will detect with Eth0 only know... Am I correct ?
    If suppose I'm try with eth1 means, it's showing...

    root@iWave-G12M:~# ifconfig eth1 up
    ifconfig: SIOCGIFFLAGS: No such device

    Note: My old PHY also connected with EMAC1 only... It's working fine with 'ifconfig eth0 up'...
    (We just changed the PHY from ET1011C to ksz9031)

    Please help me to resolve this.

    Thank You.
    Best Regards,
    J.P.Raja
  • Raana,

    I see you are not able to ping the host PC from u-boot also. I would suggest you to work with the u-boot first, as it is more simple than the linux kernel. Which version of u-boot you are using and from where you get it?

    Can you ping the host PC from u-boot eth0 when using ET1011C on EMAC1?

    I would also suggest you to compare the two datasheets (ET1011C and ksz9031), check for differences like pinmux, clock frequencies, PHY address, mode (MII, GMII).

    Regards,
    Pavel
  • Dear Pavel,

    Thank You very much for your instant and continuous reply.

    Better I'll go with U-boot.
    'u-boot-2010.06-psp04.04.00.01' version of U-boot I'm using.
    I don't know from where my colleague got... This may help you 'ti-ezsdk_dm816x-evm_5_05_02_00'

    Ya.. EMAC1 -> GMII -> ET1011C -> Eth0 is working fine in U-boot level.

    I have checked all those things which you mentioned... Everything is fine...

    May I get the phy driver file or U-boot patch file for KSZ9031 support or else whole source code with KSZ9031 support ?

    Anything is fine...

    Thank You.
    Best Regards,
    J.P.Raja
  • Raana JP said:
    'u-boot-2010.06-psp04.04.00.01' version of U-boot I'm using.
    I don't know from where my colleague got... This may help you 'ti-ezsdk_dm816x-evm_5_05_02_00'

    Can you try with the latest version of DM816x u-boot? It is available at the below location.

    Raana JP said:
    Ya.. EMAC1 -> GMII -> ET1011C -> Eth0 is working fine in U-boot level.

    Can you provide console log at u-boot for ET1011C and KSZ9031?

    Raana JP said:
    May I get the phy driver file or U-boot patch file for KSZ9031 support or else whole source code with KSZ9031 support ?

    I do not have specific u-boot patch for KSZ9031. You might check with the KSZ9031 vendor if they have such specific patch.

    Regards,
    Pavel

  • Dear Pavel,

    Now, it's not possible to move to Latest version. Because many of my customers are using the same. We keep that as a last chance.

    I have attached the Log files.(et1011c_Log.txt and ksz9031_Log.txt)

    I didn't change much...I have just added the KSZ9031 PHY settings.... see the attachment. (et1011c_to_ksz9031.patch)

    ET1011C_KSZ9031.7z

    I'm waiting for your positive response....

    Thank You.

    Best Regards,

    J.P.Raja

  • In DM816x TI EVM, we do not use LSI ET1011C driver for u-boot. The PHY drivers in u-boot are located at:
    u-boot/drivers/net/

    You might track how LSI ET1011C is handled in u-boot and re-use this approach. You do not need special Micrel ksz9031 driver in u-boot for that.

    In linux kernel, the LSI ET1001C driver is located at:
    linux-kernel/drivers/net/phy/et1011c.c

    But this driver is not used (see ti8168_evm_defconfig file), but generic phy driver is used instead.

    Regards,
    Pavel
  • Raana,

    DM816x TI EVM comes with LSI ET1011C PHY and u-boot is using generic PHY driver, there is no special ET1011C PHY driver like in your case. Below is the log I have running the default u-boot on DM816x TI EVM:

    U-Boot 2010.06 (Aug 11 2015 - 14:28:56)

    DRAM:  1 GiB

    DCACHE:  Off

    MMC:   OMAP SD/MMC: 0

    Using default environment

    Hit any key to stop autoboot:  0

    raise: Signal # 8 caught

    reading u-boot.bin

    186596 bytes read

    ## Starting application at 0x80800000 ...

    U-Boot 2010.06 (Aug 11 2015 - 14:31:24)

    TI8168-GP rev 1.1

    ARM clk: 987MHz

    DDR clk: 796MHz

    I2C:   ready

    DRAM:  1 GiB

    DCACHE:  Off

    NAND:  HW ECC BCH8 Selected

    256 MiB

    MMC:   OMAP SD/MMC: 0

    raise: Signal # 8 caught

    *** Warning - bad CRC or MMC, using default environment

    :,;;:;:;;;;;;;;r;;:,;;:;:;;;;;;;;:,;;:;:;;;;;;;;:,;;:;:;;;;;;;;:;;;;;;;;:,;;:;:

    ;,;:::;;;;r;;;rssiSiS552X5252525259GX2X9hX9X9XX2325S55252i5:,;;:;:;;;;;;;;:,;;:

    ;:;;;;;;;rrssSsS52S22h52299GGAAMHMM#BBH#B#HMM#HMBA&&XX2255S2S5Si:,;;:;:;;;;;;;;

    ;:;;r;;rsrrriiXS5S329&A&MH#BMB#A&9XXA252GXiSXX39AAMMMBB&G22S5i2SSiiiisi:,;;:;:;

    ;;;;;r;rr2iisiih393HB#B#AA99i22irrrX3X52AGsisss2Xii2299HBMA&X2S5S5iSiisSsi:,;;:

    r:r;rrsrsihXSi2&##MHB&Ahh3AGHGA9G9h&#H##@@@##MAMMXXX9SSS29&&HGGX2i5iisiiisisi:,

    ;;rrrrsSiiiA&ABH&A9GAGhAhBAMHA9HM@@@@@@@@@@@@@@@@@@@HHhAh2S2SX9&Gh22SSiisiiisii

    r:rrssisiS2XM##&h3AGAX&3GG3Ssr5H@M#HM2; ;2X&&&MHMB###GBB#B&XXSSs529XX55iSsisisi

    r;rsrisSi2XHAhX99A3XXG&&XS;:,rH#HGhAS   @@@@3rs2XBM@@A552&&AHA2XiisSS252SSsisSs

    r;issi5S22&&3iSSX292&hXsr;;:;h@&G339&S9@@@@2@MA&9&HB##Xris29ABMAAX2ir;rsSi5iss5

    rrsSi2XhG&9GXh399&X99i;;;;;;r#H&293H9X#@@@@@@@B&9GhAH@XrrsrsiXABHB&HG2rr;rrSiSi

    ;:rsisS599&AA9XG&3A35r;:::;,;BMh&&2iX5A@@@@@@@&392X5GB2;;;r;iSX393A##A&Xi:::rsi

    ;:rss552222X553&XHMhir;;::,:,h#HhGSXhG3#@@@@#AXXS2XAHA;::;;;;ss55XShBA3239r:,;;

    r;ii2S5SSi2i53hirsh2srr::,,,,;MMXX359&Ah3h&Si59SX99A#i:,::::;;sri2,.2r;:SGAr;,:

    ;:;rrrrssiriXGSi::shs;;;,,,:,,rBBA9h5s5h5iS5isi2SAHB5:,,,:::;rrs5&SrisSX5Srrr:,

    ;,r;;;;rsriSSrrrr;;5Xrr;;,:,,.,;9AA2SsisS5323XXXG9&i:.,,::;;r;;;srrrrrr;;:;::::

    :,;r;r;rrissrrr;:;::;s;;;;,:,,..,r293h222hXXAAGGGX;:,,,:,:,::;:;::,:,,,,...,,,,

    ;,;;;;rrrrrrrrirr;,.,,:::::::,,,,.,;SX&ABAB2hhXir:,,.,,.,,:,,,,..,,,..,..,,,..:

    :.:;:;;;:;;;;r;rrs;:.. ,,:::::,:,:,,.::rrsrr;;,,.......,..,....,,,,,,,...,.,,:,

    :.:::,::::::;;r;rrr;:.......,.,.,,:::,,...............,,::.,,,,:,::,,:,:,,,:,;:

    ,.::,:,,,,,;;;;;;;;r;;::,..............................;;;:;::::,:::::::,:,:,,,

    : ,,:,,,,,,,,,,,,,:;rrr;;:;,,,,,,,::,.,.:.,.,;s,:;;;;:;:;;;;;::::,:::,:::,:,:,:

    ,.,,,,,,,...,,.,,....................................:,............:,,,:,:,,,,,

    Net:   <ethaddr> not set. Reading from E-fuse

    Detected MACID:40:5f:c2:63:a2:30

    Ethernet PHY: GENERIC @ 0x01

    DaVinci EMAC

    Hit any key to stop autoboot:  0

    TI8168_EVM#dhcp

    BOOTP broadcast 1

    DHCP client bound to address 172.20.2.13

    TI8168_EVM#ping 172.20.1.182

    Using DaVinci EMAC device

    host 172.20.1.182 is alive

    TI8168_EVM#

     

    We use drivers/net/davinci_emac.c, default case ("GENERIC @ 0x%02x", active_phy_addr). Have you add this ET1011C specific code by yourself? In davinci_emac.c we do not have such specific code. Can you try with the GENERIC PHY case, will be there any improvement?


    On DM816x TI EVM, ET1011C PHY is configured (with external/internal pull resistors) for address 0x1 (PHYAD[0] is 1 with externall pull -up, rest are 0 with internal pull down). Can you confirm you change that in your custom board to make the address 0x3?


    One more thing to try is to enable the debug messages in davinci_emac.c (with emac_dbg = 1), thus to enable debug_emac() prints. What messages you will have in both cases (ET1011C and KSZ9031)?


    Regards,
    Pavel

  • Dear Pavel,

    Thanks for your valuable support...

    Yes... My custom board is partially working with Generic PHY in UBoot level.

    Here is the log..

    Working_100Mbps_genericPHY_Uboot_Log.txt
    U-Boot 2010.06 (Nov 29 2016 - 15:15:47)
    
    DRAM:  1 GiB
    MMC:   OMAP SD/MMC: 0
    Using default environment
    
    Net:   ## 1 --> eth_initialize 
    ## 2 --> board_eth_init 
    
    Board Info:
            BSP Version     : iW-PRDVF-SC-01-R1.0-REL2.0-Linux2.6.37
            SOM Version     : iW-PRDVF-AP-01-R1.x
    
    <ethaddr> not set. Reading from E-fuse
    Detected MACID:d0:39:72:85:4c:f2
    ## 3 --> davinci_eth_set_mac_addr 
    ## 4 --> davinci_emac_initialize 
    ## 6 --> davinci_eth_mdio_enable 
    PHY ID = 0x221622 
    Ethernet PHY: GENERIC @ 0x03
    DaVinci EMAC
    Hit any key to stop autoboot:  0 
    raise: Signal # 8 caught
    reading u-boot.bin
    
    188052 bytes read
    ## Starting application at 0x80800000 ...
    
    
    U-Boot 2010.06 (Nov 29 2016 - 15:18:55)
    
    TI8168-GP rev 2.1
    
    ARM clk: 987MHz
    DDR clk: 796MHz
    
    I2C:   ready
    DRAM:  1 GiB
    NAND:  HW ECC BCH8 Selected
    128 MiB
    MMC:   OMAP SD/MMC: 0
    raise: Signal # 8 caught
    ## 3 --> davinci_eth_set_mac_addr 
    Net:   ## 1 --> eth_initialize 
    ## 2 --> board_eth_init 
    
    Board Info:
            BSP Version     : iW-PRDVF-SC-01-R1.0-REL2.0-Linux2.6.37
            SOM Version     : iW-PRDVF-AP-01-R1.x
    
    Detected MACID:d0:39:72:85:4c:f2
    ## 3 --> davinci_eth_set_mac_addr 
    ## 4 --> davinci_emac_initialize 
    ## 6 --> davinci_eth_mdio_enable 
    PHY ID = 0x221622 
    Ethernet PHY: GENERIC @ 0x03
    DaVinci EMAC
    Hit any key to stop autoboot:  0 
    iW-G12M-U-Boot > dhcp
    ## 5 --> davinci_eth_open - EMAC_BASE_ADDR = 0x4a120000 
    ### davinci_eth_open - MAC Address -> High = 0x857239d0 and Low = 0xf24c 
    BOOTP broadcast 1
    BOOTP broadcast 2
    BOOTP broadcast 3
    BOOTP broadcast 4
    BOOTP broadcast 5
    BOOTP broadcast 6
    BOOTP broadcast 7
    BOOTP broadcast 8
    DHCP client bound to address 192.168.3.44
    iW-G12M-U-Boot > ping 192.168.2.143
    ## 5 --> davinci_eth_open - EMAC_BASE_ADDR = 0x4a120000 
    ### davinci_eth_open - MAC Address -> High = 0x857239d0 and Low = 0xf24c 
    Using DaVinci EMAC device
    ping failed; host 192.168.2.143 is not alive
    iW-G12M-U-Boot > ping 192.168.2.143
    ## 5 --> davinci_eth_open - EMAC_BASE_ADDR = 0x4a120000 
    ### davinci_eth_open - MAC Address -> High = 0x857239d0 and Low = 0xf24c 
    Using DaVinci EMAC device
    ping failed; host 192.168.2.143 is not alive
    iW-G12M-U-Boot > ping 192.168.2.143
    ## 5 --> davinci_eth_open - EMAC_BASE_ADDR = 0x4a120000 
    ### davinci_eth_open - MAC Address -> High = 0x857239d0 and Low = 0xf24c 
    Using DaVinci EMAC device
    host 192.168.2.143 is alive
    iW-G12M-U-Boot > ping 192.168.2.143
    ## 5 --> davinci_eth_open - EMAC_BASE_ADDR = 0x4a120000 
    ### davinci_eth_open - MAC Address -> High = 0x857239d0 and Low = 0xf24c 
    Using DaVinci EMAC device
    host 192.168.2.143 is alive
    iW-G12M-U-Boot > ping 192.168.2.143
    ## 5 --> davinci_eth_open - EMAC_BASE_ADDR = 0x4a120000 
    ### davinci_eth_open - MAC Address -> High = 0x857239d0 and Low = 0xf24c 
    Using DaVinci EMAC device
    host 192.168.2.143 is alive
    iW-G12M-U-Boot > ping 192.168.2.143
    ## 5 --> davinci_eth_open - EMAC_BASE_ADDR = 0x4a120000 
    ### davinci_eth_open - MAC Address -> High = 0x857239d0 and Low = 0xf24c 
    Using DaVinci EMAC device
    ping failed; host 192.168.2.143 is not alive
    iW-G12M-U-Boot > ping 192.168.2.143
    ## 5 --> davinci_eth_open - EMAC_BASE_ADDR = 0x4a120000 
    ### davinci_eth_open - MAC Address -> High = 0x857239d0 and Low = 0xf24c 
    Using DaVinci EMAC device
    ping failed; host 192.168.2.143 is not alive
    iW-G12M-U-Boot > ping 192.168.2.143
    ## 5 --> davinci_eth_open - EMAC_BASE_ADDR = 0x4a120000 
    ### davinci_eth_open - MAC Address -> High = 0x857239d0 and Low = 0xf24c 
    Using DaVinci EMAC device
    ping failed; host 192.168.2.143 is not alive
    iW-G12M-U-Boot >
    

    Partially working means,,, Sometimes the ping status will be 'alive' and sometimes 'not alive'

    Then, one more thing now my board started working with (KSZ9031) or without PHY (Generic) with 100Mbps in kernel level.

    I have checked the same SOM with ET1011C... In that also Ethernet is not working properly. So, I suspect for SOM....
    Later we changed many SOMs and one of our SOM is working fine with ET1011C PHY... I have checked the same SOM with KSZ9031...
    It's working fine...

    But right now the issue is,
    1) KSZ9031 100Mbps itself not working in UBoot level... only Generic PHY
    2) KSZ9031 and Generic PHY is working only with 10/100MBps in Kernel level... Not 1Gbps...

    Why ????

    I think... Generic PHY will support till 100Mbps... but.. Why KSZ9031 is not working with 1Gbps ?

    Whether I have to do any settings in Software wise related to 1Gbps ?
    Mainly... Skew Settings ???

    Thank You.
    Best Regards,
    J.P.Raja

  • Raana JP said:
    1) KSZ9031 100Mbps itself not working in UBoot level... only Generic PHY

    Do you mean that when using the Generic PHY code (Ethernet PHY: GENERIC), it works fine (for 100Mbps), but when using the KSZ9031 PHY code (Ethernet PHY: KSZ9031), it does not work? By default we have only Generic PHY code, do you add KSZ9031 PHY code by yourself?

    Raana JP said:
    2) KSZ9031 and Generic PHY is working only with 10/100MBps in Kernel level... Not 1Gbps...

    Can you provide me full console log for kernel and user space? Do you connect DM816x board to host directly or you have hub/switch/router between? Does your host NIC support 1Gbit ethernet?

    Regards,
    Pavel

  • Dear Pavel,

    Thank you very much for your continuous support.

    Yes.. your understanding is correct.
    At the same time, I'm using same code (ksz9031 changes) for both Generic and ksz9031. I'll mentioned the PHY ID wrongly.. so, it'll redirect to Generic PHY by default.
    Is this method okay ?
    But I didn't changed much. Patch file is present in ET1011C_KSZ9031.7z (already shared)


    I have tried with both Host (1Gbps support) and HUB (10/100/1000Mbps support). I have tried with one to one connection also (Board to PC) with Static IP.
    Yes.. my host NIC supports till 1Gbps.

    Full terminal log attached for your reference..

    ksz9031_kernel_100mbps_working.txt
    U-Boot 2010.06 (Nov 29 2016 - 15:15:47)
    
    DRAM:  1 GiB
    MMC:   OMAP SD/MMC: 0
    Using default environment
    
    Net:   ## 1 --> eth_initialize 
    ## 2 --> board_eth_init 
    
    Board Info:
            BSP Version     : iW-PRDVF-SC-01-R1.0-REL2.0-Linux2.6.37
            SOM Version     : iW-PRDVF-AP-01-R1.x
    
    <ethaddr> not set. Reading from E-fuse
    Detected MACID:d0:ff:50:91:c1:1c
    ## 3 --> davinci_eth_set_mac_addr 
    ## 4 --> davinci_emac_initialize 
    ## 6 --> davinci_eth_mdio_enable 
    PHY ID = 0x221622 
    Ethernet PHY: GENERIC @ 0x03
    DaVinci EMAC
    Hit any key to stop autoboot:  0 
    raise: Signal # 8 caught
    reading u-boot.bin
    
    188052 bytes read
    ## Starting application at 0x80800000 ...
    
    
    U-Boot 2010.06 (Nov 29 2016 - 15:18:55)
    
    TI8168-GP rev 2.1
    
    ARM clk: 987MHz
    DDR clk: 796MHz
    
    I2C:   ready
    DRAM:  1 GiB
    NAND:  HW ECC BCH8 Selected
    128 MiB
    MMC:   OMAP SD/MMC: 0
    raise: Signal # 8 caught
    Net:   ## 1 --> eth_initialize 
    ## 2 --> board_eth_init 
    
    Board Info:
            BSP Version     : iW-PRDVF-SC-01-R1.0-REL2.0-Linux2.6.37
            SOM Version     : iW-PRDVF-AP-01-R1.x
    
    <ethaddr> not set. Reading from E-fuse
    Detected MACID:d0:ff:50:91:c1:1c
    ## 3 --> davinci_eth_set_mac_addr 
    ## 4 --> davinci_emac_initialize 
    ## 6 --> davinci_eth_mdio_enable 
    PHY ID = 0x221622 
    Ethernet PHY: GENERIC @ 0x03
    DaVinci EMAC
    Hit any key to stop autoboot:  0 
    raise: Signal # 8 caught
    raise: Signal # 8 caught
    reading uImage
    
    2623544 bytes read
    ## Booting kernel from Legacy Image at 81000000 ...
       Image Name:   Linux-2.6.37
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    2623480 Bytes = 2.5 MiB
       Load Address: 80008000
       Entry Point:  80008000
       Verifying Checksum ... OK
       Loading Kernel Image ... OK
    OK
    
    Starting kernel ...
    
    Linux version 2.6.37 (lakshmi@lakshmi) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #1 Tue Nov 29 13:58:50 IST 2016
    CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
    CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
    Machine: TI-DM8168 iW-RainboW-G12M-Q7
    reserved size = 52428800 at 0x0
    FB: Reserving 52428800 bytes SDRAM for VRAM
    Memory policy: ECC disabled, Data cache writeback
    OMAP chip is TI8168 2.1
    Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 160648
    Kernel command line: console=ttyO2,115200n8 root=/dev/mmcblk0p2 rootwait rw mem=364M@0x80000000 mem=320M@0x9FC00000 vmalloc=500M notifyk.vpssm3_sva=0xBF900000 ip=off noinitrd
    PID hash table entries: 2048 (order: 1, 8192 bytes)
    Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    Memory: 364MB 270MB = 634MB total
    Memory: 637692k/637692k available, 62724k reserved, 276480K highmem
    Virtual kernel memory layout:
        vector  : 0xffff0000 - 0xffff1000   (   4 kB)
        fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
        DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
        vmalloc : 0xd7000000 - 0xf8000000   ( 528 MB)
        lowmem  : 0xc0000000 - 0xd6c00000   ( 364 MB)
        pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
        modules : 0xbf000000 - 0xbfe00000   (  14 MB)
          .init : 0xc0008000 - 0xc003c000   ( 208 kB)
          .text : 0xc003c000 - 0xc04f5000   (4836 kB)
          .data : 0xc04f6000 - 0xc0540000   ( 296 kB)
    SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    NR_IRQS:407
    IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    Total of 128 interrupts on 1 active controller
    GPMC revision 6.0
    Trying to install interrupt handler for IRQ400
    Trying to install interrupt handler for IRQ401
    Trying to install interrupt handler for IRQ402
    Trying to install interrupt handler for IRQ403
    Trying to install interrupt handler for IRQ404
    Trying to install interrupt handler for IRQ405
    Trying to install interrupt handler for IRQ406
    Trying to install type control for IRQ407
    Trying to set irq flags for IRQ407
    OMAP clockevent source: GPTIMER1 at 27000000 Hz
    Console: colour dummy device 80x30
    Calibrating delay loop... 986.31 BogoMIPS (lpj=4931584)
    pid_max: default: 32768 minimum: 301
    Security Framework initialized
    Mount-cache hash table entries: 512
    CPU: Testing write buffer coherency: ok
    devtmpfs: initialized
    regulator: core version 0.5
    regulator: dummy: 
    NET: Registered protocol family 16
    OMAP GPIO hardware version 0.1
    OMAP GPIO hardware version 0.1
    omap_mux_init: Add partition: #1: core, flags: 0
    
    Board Info:
            BSP Version     : iW-PRDVF-SC-01-R1.0-REL2.0-Linux2.6.37
            SOM Version     : iW-PRDVF-AP-01-R1.x
    
    registered ti816x_gpio_vr device
    registered ti816x_lcd_pwr device
    registered ti816x_sr device
    pm_dbg_init: only OMAP3 supported
    registered ti81xx_vpss device
    registered ti81xx_vidout device
    registered ti81xx on-chip HDMI device
    registered ti81xx_fb device
    registered ti81xx_vin device
    ti81xx_pcie: Invoking PCI BIOS...
    ti81xx_pcie: Setting up Host Controller...
    ti81xx_pcie: Register base mapped @0xd7020000
    ti81xx_pcie: Starting PCI scan...
    PCI: bus0: Fast back to back transfers enabled
    bio: create slab <bio-0> at 0
    regulator: VFB: 800 <--> 1025 mV at 1010 mV 
    vgaarb: loaded
    SCSI subsystem initialized
    usbcore: registered new interface driver usbfs
    usbcore: registered new interface driver hub
    usbcore: registered new device driver usb
    USBSS revision 4ea20809
    registerd cppi-dma Intr @ IRQ 17
    Cppi41 Init Done
    omap_i2c omap_i2c.1: bus 1 rev4.0 at 100 kHz
    Advanced Linux Sound Architecture Driver Version 1.0.23.
    Switching to clocksource gp timer
    musb-hdrc: version 6.0, otg (peripheral+host), debug=0
    musb-hdrc musb-hdrc.0: dma type: dma-cppi41
    MUSB controller-0 revision 4ea20800
    musb-hdrc musb-hdrc.0: USB OTG mode controller at d701e000 using DMA, IRQ 18
    musb-hdrc musb-hdrc.1: dma type: dma-cppi41
    MUSB controller-1 revision 4ea20800
    musb-hdrc musb-hdrc.1: USB OTG mode controller at d7026800 using DMA, IRQ 19
    NET: Registered protocol family 2
    IP route cache hash table entries: 16384 (order: 4, 65536 bytes)
    TCP established hash table entries: 65536 (order: 7, 524288 bytes)
    TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
    TCP: Hash tables configured (established 65536 bind 65536)
    TCP reno registered
    UDP hash table entries: 256 (order: 0, 4096 bytes)
    UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    NET: Registered protocol family 1
    RPC: Registered udp transport module.
    RPC: Registered tcp transport module.
    RPC: Registered tcp NFSv4.1 backchannel transport module.
    NetWinder Floating Point Emulator V0.97 (double precision)
    PMU: registered new PMU device of type 0
    omap-iommu omap-iommu.0: ducati registered
    omap-iommu omap-iommu.1: sys registered
    highmem bounce pool size: 64 pages
    JFFS2 version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.
    msgmni has been set to 705
    io scheduler noop registered
    io scheduler deadline registered
    io scheduler cfq registered (default)
    Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
    omap_uart.0: ttyO0 at MMIO 0x48020000 (irq = 72) is a OMAP UART0
    omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
    omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
    console [ttyO2] enabled
    brd: module loaded
    loop: module loaded
    Uniform Multi-Platform E-IDE driver
    ide-gd driver 1.18
    ahci ahci.0: forcing PORTS_IMPL to 0x3
    ahci ahci.0: AHCI 0001.0100 32 slots 2 ports 3 Gbps 0x3 impl platform mode
    ahci ahci.0: flags: ncq sntf pm led clo only pmp pio slum part ccc 
    scsi0 : ahci_platform
    scsi1 : ahci_platform
    ata1: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a150fff] port 0x100 irq 16
    ata2: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a150fff] port 0x180 irq 16
    omap2-nand driver initializing
    NAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 (Samsung )
    Creating 5 MTD partitions on "omap2-nand.0":
    0x000000000000-0x000000260000 : "U-Boot"
    0x000000260000-0x000000280000 : "U-Boot Env"
    0x000000280000-0x0000006c0000 : "Kernel"
    0x0000006c0000-0x00000cee0000 : "File System"
    mtd: partition "File System" extends beyond the end of device "omap2-nand.0" -- size truncated to 0x7940000
    0x000008000000-0x000008000000 : "Reserved"
    mtd: partition "Reserved" is out of reach -- disabled
    davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
    davinci_mdio davinci_mdio.0: detected phy mask fffffff7
    #### get_phy_device 
    #### get_phy_id 
    #### phy_device_create 
    Basic Control = 0x1140 
    Basic Status = 0x796d 
    MII_PHYSID1 = 0x22 
    MII_PHYSID2 = 0x1622 
    Auto Neg Adv = 0x1e1 
    1000Base-T control = 0x300 
    1000Base-T status = 0x4000 
    PHY Control = 0x328 
    #### phy_device_register 
    davinci_mdio.0: probed
    davinci_mdio davinci_mdio.0: phy[3]: device 0:03, driver Micrel KSZ9031 Gigabit PHY
    usbcore: registered new interface driver cdc_ether
    usbcore: registered new interface driver dm9601
    Initializing USB Mass Storage driver...
    usbcore: registered new interface driver usb-storage
    USB Mass Storage support registered.
    mice: PS/2 mouse device common for all mice
    input: max11801_ts as /devices/platform/omap/omap_i2c.1/i2c-1/1-0049/input/input0
    omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0
    i2c /dev entries driver
    Linux video capture interface: v2.00
    usbcore: registered new interface driver uvcvideo
    USB Video Class driver (v1.0.0)
    OMAP Watchdog Timer Rev 0x00: initial timeout 60 sec
    usbcore: registered new interface driver usbhid
    usbhid: USB HID core driver
    notify_init : notify drivercreated  for  remote proc id 2 at physical Address 0xbf900000
    usbcore: registered new interface driver snd-usb-audio
    asoc: tlv320aic3x-hifi <-> davinci-mcasp.2 mapping ok
    asoc: HDMI-DAI-CODEC <-> hdmi-dai mapping ok
    ALSA device list:
      #0: Dummy 1
      #1: TI81XX EVM
    TCP cubic registered
    NET: Registered protocol family 17
    VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    omap_voltage_late_init: Voltage driver support not added
    Power Management for TI81XX.
    smartreflex smartreflex: Driver initialized
    omap_rtc omap_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
    ata2: SATA link down (SStatus 0 SControl 300)
    ata1: SATA link down (SStatus 0 SControl 300)
    Waiting for root device /dev/mmcblk0p2...
    mmc0: new high speed SDHC card at address 0007
    mmcblk0: mmc0:0007 SS08G 7.21 GiB 
     mmcblk0: p1 p2
    EXT3-fs: barriers not enabled
    kjournald starting.  Commit interval 5 seconds
    EXT3-fs (mmcblk0p2): using internal journal
    EXT3-fs (mmcblk0p2): recovery complete
    EXT3-fs (mmcblk0p2): mounted filesystem with writeback data mode
    VFS: Mounted root (ext3 filesystem) on device 179:2.
    devtmpfs: mounted
    Freeing init memory: 208K
    INIT: version 2.86 booting
    Please wait: booting...
    Starting udev
    udevd (64): /proc/64/oom_adj is deprecated, please use /proc/64/oom_score_adj instead.
    Remounting root file system...
    Caching udev devnodes
    NET: Registered protocol family 10
    ALSA: Restoring mixer settings...
    Configuring network interfaces... net eth0: attached PHY driver [Micrel KSZ9031 Gigabit PHY] (mii_bus:phy_addr=0:03, id=221622)
     PHY READY STATE
    ADDRCONF(NETDEV_UP): eth0: link is not ready
    udhcpc (v1.13.2) started
    Sending discover...
    ## PHY_UP 
    ## PHY_AN 
    ## PHY_NOLINK 
    emac_update_phystatus - PHY Link ON 
    PHY: 0:03 - Link is UpPHY: 0:03 - Link is Up - 100/Full
    ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    Sending discover...
    ## PHY_RUNNING 
    ## PHY_CHANGELINK 
    ## PHY_RUNNING 
    Sending discover...
    Sending select for 192.168.3.54...
    ## PHY_CHANGELINK 
    ## PHY_RUNNING 
    ## PHY_CHANGELINK 
    Sending select for 192.168.3.54...
    Lease of 192.168.3.54 obtained, lease time 600
    adding dns 192.168.2.254
    adding dns 192.168.2.2
    adding dns 192.168.2.4
    done.
    Setting up IP spoofing protection: rp_filter.
    Tue Apr 14 11:57:00 UTC 2015
    INIT: Entering runlevel: 5
    Loading HDVICP2 Firmware
    DM816X prcm_config_app version: 2.0.0.1
    Doing PRCM settings...
            PRCM for IVHD0 is in Progress, Please wait.....  
                            BW Phy Addr : 0x48180600 Data : 0x00000002
                            AW Phy Addr : 0x48180600 Data : 0x00000002
                            Phy Addr : 0x48180c04 Data : 0x00000037
                            BW Phy Addr : 0x48180620 Data : 0x00070000
                            AW Phy Addr : 0x48180620 Data : 0x00070002
                            BW Phy Addr : 0x48180624 Data : 0x00030000
                            AW Phy Addr : 0x48180624 Data : 0x00010002
                            Phy Addr : 0x48180600 Data : 0x00000102
                            BW Phy Addr : 0x48180c10 Data : 0x00000007
                            AW Phy Addr : 0x48180c10 Data : 0x00000003
                            Phy Addr : 0x48180c14 Data : 0x00000004
                            BW Phy Addr : 0x58088000 Data : 0x8a44162c
                            AW Phy Addr : 0x58088000 Data : 0xeafffffe
                            BW Phy Addr : 0x58098000 Data : 0x50828a0a
                            AW Phy Addr : 0x58098000 Data : 0xeafffffe
                            BW Phy Addr : 0x48180c10 Data : 0x00000003
                            AW Phy Addr : 0x48180c10 Data : 0x00000000
                            Phy Addr : 0x48180c14 Data : 0x00000007
            PRCM for IVHD0 is Done Successfully  
            PRCM for IVHD1 is in Progress, Please wait.....  
                            BW Phy Addr : 0x48180700 Data : 0x00000002
                            AW Phy Addr : 0x48180700 Data : 0x00000002
                            Phy Addr : 0x48180d04 Data : 0x00000037
                            BW Phy Addr : 0x48180720 Data : 0x00070000
                            AW Phy Addr : 0x48180720 Data : 0x00050002
                            BW Phy Addr : 0x48180724 Data : 0x00030000
                            AW Phy Addr : 0x48180724 Data : 0x00010002
                            Phy Addr : 0x48180700 Data : 0x00000102
                            BW Phy Addr : 0x48180d10 Data : 0x00000007
                            AW Phy Addr : 0x48180d10 Data : 0x00000003
                            Phy Addr : 0x48180d14 Data : 0x00000004
                            BW Phy Addr : 0x5a088000 Data : 0x9d0a39a1
                            AW Phy Addr : 0x5a088000 Data : 0xeafffffe
                            BW Phy Addr : 0x5a098000 Data : 0x7ab26ff8
                            AW Phy Addr : 0x5a098000 Data : 0xeafffffe
                            BW Phy Addr : 0x48180d10 Data : 0x00000003
                            AW Phy Addr : 0x48180d10 Data : 0x00000000
                            Phy Addr : 0x48180d14 Data : 0x00000007
            PRCM for IVHD1 is Done Successfully  
            PRCM for IVHD2 is in Progress, Please wait.....  
                            BW Phy Addr : 0x48180800 Data : 0x00000002
                            AW Phy Addr : 0x48180800 Data : 0x00000002
                            Phy Addr : 0x48180e04 Data : 0x00000037
                            BW Phy Addr : 0x48180820 Data : 0x00070000
                            AW Phy Addr : 0x48180820 Data : 0x00050002
                            BW Phy Addr : 0x48180824 Data : 0x00030000
                            AW Phy Addr : 0x48180824 Data : 0x00010002
                            Phy Addr : 0x48180800 Data : 0x00000102
                            BW Phy Addr : 0x48180e10 Data : 0x00000007
                            AW Phy Addr : 0x48180e10 Data : 0x00000003
                            Phy Addr : 0x48180e14 Data : 0x00000004
                            BW Phy Addr : 0x53088000 Data : 0x16e0a6fe
                            AW Phy Addr : 0x53088000 Data : 0xeafffffe
                            BW Phy Addr : 0x53098000 Data : 0x1e408fa1
                            AW Phy Addr : 0x53098000 Data : 0xeafffffe
                            BW Phy Addr : 0x48180e10 Data : 0x00000003
                            AW Phy Addr : 0x48180e10 Data : 0x00000000
                            Phy Addr : 0x48180e14 Data : 0x00000007
            PRCM for IVHD2 is Done Successfully  
    PRCM Initialization completed 
    SysLink version : 2.20.02.20
    SysLink module created on Date:Dec 26 2012 Time:11:03:34
    ## PHY_RUNNING 
    FIRMWARE: I2cInit will be done by M3
    FIRMWARE: Memory map bin file not passed
    Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [-mmap <memory_map_file>] [-i2c <0|1>]
    ===Mandatory arguments=== 
    <Processor Id>         0: DSP, 1: Video-M3, 2: Vpss-M3 
    <Location of Firmware> firmware binary file 
    <start|stop>           to start/stop the firmware 
    ===Optional arguments=== 
    -mmap                  input memory map bin file name 
    -i2c                   0: i2c init not done by M3, 1(default): i2c init done by M3 
    FIRMWARE: isI2cInitRequiredOnM3: 1
    FIRMWARE: Default memory configuration is used
    Firmware Loader debugging not configured
    Default FL_DEBUG: warning
    Allowed FL_DEBUG levels: error, warning, info, debug, log
    MemCfg: DCMM (Dynamically Configurable Memory Map) Version :  2.1.2.1
    FIRMWARE: 1 start Successful
    Loading HDVPSS (V4L2) Firmware 
    FIRMWARE: Memory map bin file not passed
    Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [-mmap <memory_map_file>] [-i2c <0|1>]
    ===Mandatory arguments=== 
    <Processor Id>         0: DSP, 1: Video-M3, 2: Vpss-M3 
    <Location of Firmware> firmware binary file 
    <start|stop>           to start/stop the firmware 
    ===Optional arguments=== 
    -mmap                  input memory map bin file name 
    -i2c                   0: i2c init not done by M3, 1(default): i2c init done by M3 
    FIRMWARE: isI2cInitRequiredOnM3: 0
    FIRMWARE: Default memory configuration is used
    Firmware Loader debugging not configured
    Default FL_DEBUG: warning
    Allowed FL_DEBUG levels: error, warning, info, debug, log
    MemCfg: DCMM (Dynamically Configurable Memory Map) Version :  2.1.2.1
    ## PHY_CHANGELINK 
    FIRMWARE: 2 start Successful
    VPSS_FVID2: M3 firmware version 0x1000145 is newer,driver may not work properly.
    HDMI W1 rev 2.0
    HDMI CEC Spec version 1.2
    I2C No Ack
    
    ## PHY_RUNNING 
    Starting system message bus: dbus.
    Starting telnet daemon.
    Starting syslogd/klogd: done
    Starting thttpd.
    Starting PVR
    ## PHY_CHANGELINK 
    ## PHY_RUNNING 
    Starting Matrix GUI application.
    ## PHY_CHANGELINK 
    zero gadget: Gadget Zero, version: Cinco de Mayo 2008
    zero gadget: zero ready
    musb-hdrc musb-hdrc.0: MUSB HDRC host driver
    musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
    usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    usb usb1: Product: MUSB HDRC host driver
    usb usb1: Manufacturer: Linux 2.6.37 musb-hcd
    usb usb1: SerialNumber: musb-hdrc.0
    hub 1-0:1.0: USB hub found
    hub 1-0:1.0: 1 port detected
    usb 1-1: new high speed USB device using musb-hdrc and address 2
    ## PHY_RUNNING 
    usb 1-1: device v0424 p2514 is not supported
    usb 1-1: New USB device found, idVendor=0424, idProduct=2514
    usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    hub 1-1:1.0: USB hub found
    hub 1-1:1.0: 4 ports detected
    tvp5150 1-005d: chip found @ 0xba (OMAP I2C adapter)
    tvp5150 1-005d: *** unknown tvp8081 chip detected.
    tvp5150 1-005d: *** Rom ver is 130.131
    ## PHY_CHANGELINK 
    ti81xxvin ti81xxvin: registered sub device tvp5150
    ov7725 1-0021: chip found @ 0x42 (OMAP I2C adapter)
    ov7725 1-0021: Product ID error a:b
    ov7725 1-0021: *** unknown OV7725 chip detected.
    ov7725: probe of 1-0021 failed with error -22
    ti81xxvin ti81xxvin: Error registering v4l2 subdevice
    insmod: error inserting 'ti81xxvin.ko': -1 No such device
    ## PHY_RUNNING 
    Selected Device is LCD
    Changing Resolution to 800x480
    Stopping Matrix GUI application.
    Stopping PVR
    ## PHY_CHANGELINK 
    Starting PVR
    Removing stale PID file /var/run/matrix-gui-e.pid.
    Starting Matrix GUI application.
    ## PHY_RUNNING 
    ## PHY_CHANGELINK 
    ## PHY_RUNNING 
    
    
            Rootfs Version     : iW-PRDVF-SC-01-R1.0-REL2.0-Rootfs
    
    iWave-G12M login: ## PHY_CHANGELINK 
    ## PHY_RUNNING 
    ## PHY_CHANGELINK 
    ## PHY_RUNNING 
    ## PHY_CHANGELINK 
    ## PHY_RUNNING 
    ## PHY_CHANGELINK 
    ## PHY_RUNNING 
    ## PHY_CHANGELINK 
    ## PHY_RUNNING 
    ## PHY_CHANGELINK 
    ## PHY_RUNNING 
    ## PHY_CHANGELINK 
    ## PHY_RUNNING 
    ## PHY_CHANGELINK 
    ## PHY_RUNNING 
    ## PHY_CHANGELINK 
    ## PHY_RUNNING 
    ## PHY_CHANGELINK 
    ## PHY_RUNNING 
    ## PHY_CHANGELINK 
    ## PHY_RUNNING 
    ## PHY_CHANGELINK 
    
    
            Rootfs Version     : iW-PRDVF-SC-01-R1.0-REL2.0-Rootfs
    
    iWave-G12M login: ## PHY_RUNNING 
    root## PHY_CHANGELINK 
    
    root@iWave-G12M:~# 
    root@iWave-G12M:~# 
    root@iWave-G12M:~# if## PHY_RUNNING 
    root@iWave-G12M:~# ifconfig 
    eth0      Link encap:Ethernet  HWaddr D0:FF:50:91:C1:1C  
              inet addr:192.168.3.54  Bcast:0.0.0.0  Mask:255.255.252.0
              inet6 addr: fe80::d2ff:50ff:fe91:c11c/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:544 errors:0 dropped:0 overruns:0 frame:0
              TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:65559 (64.0 KiB)  TX bytes:2828 (2.7 KiB)
              Interrupt:44 Base address:0x8000 
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:16436  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:0 
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    
    root@iWave-G12M:~# ## PHY_CHANGELINK 
    
    root@iWave-G12M:~# 
    root@iWave-G12M:~# pi## PHY_RUNNING 
    ng 192.## PHY_CHANGELINK 
    16## PHY_RUNNING 
    8.2## PHY_CHANGELINK 
    .143
    PING 192.168.2.143 (192.168.2.143): 56 data bytes
    ## PHY_RUNNING 
    ## PHY_CHANGELINK 
    ## PHY_RUNNING 
    64 bytes from 192.168.2.143: seq=3 ttl=64 time=0.552 ms
    ## PHY_CHANGELINK 
    64 bytes from 192.168.2.143: seq=4 ttl=64 time=0.442 ms
    ## PHY_RUNNING 
    64 bytes from 192.168.2.143: seq=5 ttl=64 time=0.421 ms
    ## PHY_CHANGELINK 
    ## PHY_RUNNING 
    64 bytes from 192.168.2.143: seq=7 ttl=64 time=0.501 ms
    ## PHY_CHANGELINK 
    ## PHY_RUNNING 
    ## PHY_CHANGELINK 
    64 bytes from 192.168.2.143: seq=10 ttl=64 time=0.385 ms
    ## PHY_RUNNING 
    ## PHY_CHANGELINK 
    ## PHY_RUNNING 
    ## PHY_CHANGELINK 
    64 bytes from 192.168.2.143: seq=14 ttl=64 time=0.411 ms
    ## PHY_RUNNING 
    64 bytes from 192.168.2.143: seq=15 ttl=64 time=0.426 ms
    ## PHY_CHANGELINK 
    64 bytes from 192.168.2.143: seq=16 ttl=64 time=0.497 ms
    ## PHY_RUNNING 
    ## PHY_CHANGELINK 
    ## PHY_RUNNING 
    ## PHY_CHANGELINK 
    ## PHY_RUNNING 
    ## PHY_CHANGELINK 
    ## PHY_RUNNING 
    ## PHY_CHANGELINK 
    ## PHY_RUNNING 
    64 bytes from 192.168.2.143: seq=25 ttl=64 time=0.380 ms
    ## PHY_CHANGELINK 
    ## PHY_RUNNING 
    64 bytes from 192.168.2.143: seq=27 ttl=64 time=0.346 ms
    ## PHY_CHANGELINK 
    ## PHY_RUNNING 
    
    --- 192.168.2.143 ping statistics ---
    29 packets transmitted, 10 packets received, 65% packet loss
    round-trip min/avg/max = 0.346/0.436/0.552 ms
    root@iWave-G12M:~# ## PHY_CHANGELINK 
    ## PHY_RUNNING 
    ## PHY_CHANGELINK
    

    What may be the issue ? I have checked both GT_CLK and RX_CLK... both are coming 125Mhz while connecting with 1Gbps..

    Whether Skew setting is much important for this ?

    Thank You.
    Best Regards,
    J.P.Raja

  • Raana JP said:
    At the same time, I'm using same code (ksz9031 changes) for both Generic and ksz9031

    I do not understand what you mean here. The same code for Generic and KSZ9031?

    We do not have Generic PHY module. We have Generic PHY software, which can handle different types of PHY modules (KSZ9031, ET1011C, etc).

    Raana JP said:
    I'll mentioned the PHY ID wrongly.. so, it'll redirect to Generic PHY by default.
    Is this method okay ?

    Which method? Do you mean the Generic PHY software method to be used for KSZ9031 module? If this is what you mean, then yes, you can use that method. Does the Generic PHY software method works fine your KSZ9031 module?

    Raana JP said:
    What may be the issue ? I have checked both GT_CLK and RX_CLK... both are coming 125Mhz while connecting with 1Gbps..

    What about EMAC_TXCLK? See the below pointers for more info:

    DM816x silicon errata, Advisory 2.1.18  CPGMAC 1-Gbps Mode Does Not Work When EMAC_TXCLK is Not Running


    Apply also all the net/ethernet/emac related patches in your code base:

    arago-project.org/.../

    Regards,
    Pavel

  • Dear Pavel,

    Thank You very much for your valuable reply.

    Currently, I'm focusing only on U-boot level. So, i'll update that patches later and i'll let you know.

    Now, In U-boot level both Generic and KSZ9031 PHY settings are working fine with 100Mbps.
    But failed with 1Gbps...

    When I probed, the TX_CLK, RX_CLK and GT_CLK are showing only 25Mhz (for 1000Mbps also)...
    But it showing 125Mhz (TX_CLK 25Mhz) in kernel level.
    Why ?

    I have tried to Force 1000Mbps also, but No use...
    writel(EMAC_MACCONTROL_GIGFORCE | EMAC_MACCONTROL_GIGABIT_ENABLE, &emac->MACCONTROL);

    Is this related to Hardware or anything need to do in Software level ?

    Thank You.
    Best Regards,
    J.P.Raja
  • Raja,

    How exactly you define that in u-boot you are in 100Mbps mode (not 1Gbps)? I do not see u-boot message showing in which mode we are. Are you checking some register value?

    Regards,
    Pavel
  • Dear Pavel,

    I came to know, based on my Ethernet connection through Hub.

    If I'm connecting to 10/100Mbps HUB means, it's working fine (both U-boot and kernel). If I boot kernel means it's showing 100/full.
    So, I came to know... that is 100Mbps speed.

    When I have connected to 10/100/1000Mbps Hub means, it's not at all assigning IP address (both U-boot and kernel). When I boot kernel on that time means, it's showing 1000/Full... So, I came to know that is 1Gbps.

    You got my point ?

    Thank You.
    Best Regards,
    J.P.Raja
  • Raja,

    Per mine understanding, your board works fine in 1000Mbps mode in kernel, but can not in u-boot. In u-boot, your board works fine in 100Mbps mode only. Is that correct?

    If yes, what we can do is to compare the EMAC registers settings in u-boot and kernel. Can you make register dump in u-boot and kernel and compare the settings?

    Regards,
    Pavel
  • Configuration of EMAC is done in u-boot for enabling basic functionality but when kernel boots up it re-configures EMAC and PHY for complete functionality.

    Please check the u-boot driver davinci_emac.c:
    - make sure DAVINCI_EMAC_GIG_ENABLE is defined
    - check gen_auto_negotiate(), check gen_get_link_speed()
    - check davinci_eth_open(), check if you have the debug message: "debug_emac("eth_open : gigabit negotiated\n");"
    - check if MACCONTROL[7] GIG is set to 0x1

    See also the below e2e thread:
    e2e.ti.com/.../857741

    Regards,
    Pavel