This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/TMS320DM8148: Issues with Custom Board Dm814x , with KSZ9031.

Part Number: TMS320DM8148
Other Parts Discussed in Thread: TPS65910, PMP

Tool/software: Linux

I have a custom board of dm814x in which i have used KSz9031, I am using latest ezsdk , with u-boot-2010.06-psp04.04.00.01.

Problem is using generic driver , in u-boot i am getting a link up at 1000 mbps , but i am not able to use dhcp or tftp and if i assign static ip , tftp doesnt work.

How can i add KSz9031 Phy , which uses mmd to read/write from registor unlike ksz9021. Can some guide me , if there is some patch for micrel PHy and how to apply it in last uboot version.

  • Hi Ammar,

    Can you provide full console boot up log for analysis? Do you use generic PHY driver or KSZ9031 PHY driver?

    Can you also test with the latest DM814x u-boot code base available at the below location:
    arago-project.org/.../

    Regarding KSZ9031 PHY driver u-boot-2010.06 patches, you should ask/check with Microchip/Micrel support team.

    Regards,
    Pavel
  • Thank you pavel for reply ,

    This is my log ,

    TI8148-GP rev 3.0

    ARM clk: 600MHz
    DDR clk: 400MHz

    DRAM: 2 GiB
    NAND: HW ECC BCH8 Selected
    256 MiB
    Using default environment

    The 2nd stage U-Boot will now be auto-loaded
    Please do not interrupt the countdown till TI8148_EVM prompt if 2nd stage is already flashed
    Hit any key to stop autoboot: 0

    NAND read: device 0 offset 0x20000, size 0x40000
    262144 bytes read: OK
    ## Starting application at 0x81000000 ...


    U-Boot 2010.06 (Jul 19 2017 - 11:32:31)

    TI8148-GP rev 3.0

    ARM clk: 600MHz
    DDR clk: 400MHz

    I2C: ready
    DRAM: 2 GiB
    NAND: HW ECC BCH8 Selected
    256 MiB
    MMC: OMAP SD/MMC: 0
    .:;rrr;;.
    ,5#@@@@#####@@@@@@#2,
    ,A@@@hi;;;r5;;;;r;rrSG@@@A,
    r@@#i;:;s222hG;rrsrrrrrr;ri#@@r
    :@@hr:r;SG3ssrr2r;rrsrsrsrsrr;rh@@:
    B@H;;rr;3Hs;rrr;sr;;rrsrsrsrsrsr;;H@B
    @@s:rrs;5#;;rrrr;r#@H:;;rrsrsrsrsrr:s@@
    @@;;srs&X#9;r;r;;,2@@@rrr:;;rrsrsrsrr;;@@
    @@;;rrsrrs@MB#@@@@@###@@@@@@#rsrsrsrsrr;;@@
    G@r;rrsrsr;#X;SX25Ss#@@#M@#9H9rrsrsrsrsrs;r@G
    @9:srsrsrs;2@;:;;:.X@@@@@H::;rrsrsrsrsrsrr:3@
    X@;rrsrsrsrr;XAi;;:&@@#@Bs:rrsrsrsrsrsrsrsrr;@X
    @#;rsrsrsrsrr;r2ir@@@###::rrsrsrsrsrsrsrsrsr:@@
    @A:rrsrsrsrr;:2@29@@M@@@;:;rrrrsrsrsrsrsrsrs;H@
    @&;rsrsrsrr;A@@@@@@###@@@s::;:;;rrsrsrsrsrsr;G@
    @#:rrsrsrsr;G@5Hr25@@@#@@@#9XG9s:rrrrsrsrsrs:#@
    M@;rsrsrsrs;r@&#;::S@@@@@@@M@@@@Grr:;rsrsrsr;@#
    :@s;rsrsrsrr:M#Msrr;;&#@@@@@@@@@@H@@5;rsrsr;s@,
    @@:rrsrsrsr;S@rrrsr;:;r3MH@@#@M5,S@@irrsrr:@@
    @A:rrsrsrsrrrrrsrsrrr;::;@##@r:;rH@h;srr:H@
    ;@9:rrsrsrsrrrsrsrsrsr;,S@Hi@i:;s;MX;rr:h@;
    r@B:rrrrsrsrsrsrsrr;;sA@#i,i@h;r;S5;r:H@r
    ,@@r;rrrsrsrsrsrr;2BM3r:;r:G@:rrr;;r@@,
    B@Mr;rrrrsrsrsr@@S;;;rrr:5M;rr;rM@H
    .@@@i;;rrrrsrs2i;rrrrr;r@M:;i@@@
    e2e.ti.com/.../610628.
    .A@@#5r;;;r;;;rrr;r:r#AsM@@H.
    ;&@@@@MhXS5i5SX9B@@@@G;
    :ihM#@@@@@##hs,

    Net: Detected MACID:74:da:ea:a:82:4c
    cpsw
    Hit any key to stop autoboot: 0
    TI8148_EVM#
    TI8148_EVM#
    TI8148_EVM#
    TI8148_EVM#mii info
    PHY 0x00: OUI = 0x0885, Model = 0x22, Rev = 0x02, 1000baseT, FDX
    TI8148_EVM#ping 192.168.10.201
    link up on port 0, speed 1000, full duplex
    Using cpsw device
    ping failed; host 192.168.10.201 is not alive
    TI8148_EVM#tftp
    link up on port 0, speed 1000, full duplex
    Using cpsw device
    TFTP from server 192.168.10.201; our IP address is 192.168.10.2
    Filename 'uImage'.
    Load address: 0x81000000
    Loading: T T T
    Abort
    TI8148_EVM#


    When i am in 100 mbps , tftp starts but could get whole file , it stucks in between , while in 1000 mbps it shows link up but i cant ping from it or from my host to baord , though led blinks on board while pinging from Host pc to board .
    I am using generic driver in uboot.

    Br
    Ammar Zafar
  • Can you also test with the latest DM814x u-boot code base
  • U-Boot 2010.06-00154-gae5aaebb6-dirty (Jul 19 2017 - 12:52:40)

    I2C: ready
    DRAM: 2 GiB
    NAND: HW ECC Hamming Code selected
    256 MiB
    Error: Bad compare! failed
    Error: Bad compare! failed
    Error: Bad compare! failed
    Error: Bad compare! failed
    Error: Bad compare! failed
    Error: Bad compare! failed
    Error: Bad compare! failed
    Error: Bad compare! failed
    *** Warning - bad CRC or NAND, using default environment

    .:;rrr;;.
    ,5#@@@@#####@@@@@@#2,
    ,A@@@hi;;;r5;;;;r;rrSG@@@A,
    r@@#i;:;s222hG;rrsrrrrrr;ri#@@r
    :@@hr:r;SG3ssrr2r;rrsrsrsrsrr;rh@@:
    B@H;;rr;3Hs;rrr;sr;;rrsrsrsrsrsr;;H@B
    @@s:rrs;5#;;rrrr;r#@H:;;rrsrsrsrsrr:s@@
    @@;;srs&X#9;r;r;;,2@@@rrr:;;rrsrsrsrr;;@@
    @@;;rrsrrs@MB#@@@@@###@@@@@@#rsrsrsrsrr;;@@
    G@r;rrsrsr;#X;SX25Ss#@@#M@#9H9rrsrsrsrsrs;r@G
    @9:srsrsrs;2@;:;;:.X@@@@@H::;rrsrsrsrsrsrr:3@
    X@;rrsrsrsrr;XAi;;:&@@#@Bs:rrsrsrsrsrsrsrsrr;@X
    @#;rsrsrsrsrr;r2ir@@@###::rrsrsrsrsrsrsrsrsr:@@
    @A:rrsrsrsrr;:2@29@@M@@@;:;rrrrsrsrsrsrsrsrs;H@
    @&;rsrsrsrr;A@@@@@@###@@@s::;:;;rrsrsrsrsrsr;G@
    @#:rrsrsrsr;G@5Hr25@@@#@@@#9XG9s:rrrrsrsrsrs:#@
    M@;rsrsrsrs;r@&#;::S@@@@@@@M@@@@Grr:;rsrsrsr;@#
    :@s;rsrsrsrr:M#Msrr;;&#@@@@@@@@@@H@@5;rsrsr;s@,
    @@:rrsrsrsr;S@rrrsr;:;r3MH@@#@M5,S@@irrsrr:@@
    @A:rrsrsrsrrrrrsrsrrr;::;@##@r:;rH@h;srr:H@
    ;@9:rrsrsrsrrrsrsrsrsr;,S@Hi@i:;s;MX;rr:h@;
    r@B:rrrrsrsrsrsrsrr;;sA@#i,i@h;r;S5;r:H@r
    ,@@r;rrrsrsrsrsrr;2BM3r:;r:G@:rrr;;r@@,
    B@Mr;rrrrsrsrsr@@S;;;rrr:5M;rr;rM@H
    .@@@i;;rrrrsrs2i;rrrrr;r@M:;i@@@.
    .A@@#5r;;;r;;;rrr;r:r#AsM@@H.
    ;&@@@@MhXS5i5SX9B@@@@G;
    :ihM#@@@@@##hs,

    Net: <ethaddr> not set. Reading from E-fuse
    Detected MACID:74:da:ea:a:82:4c
    cpsw
    Hit any key to stop autoboot: 0
    TI8148_EVM#mii info
    PHY 0x00: OUI = 0x0885, Model = 0x22, Rev = 0x02, 1000baseT, FDX
    TI8148_EVM#dhcp
    failed to read bmcr
    BOOTP broadcast 1

    Log from new Uboot.
  • Ammar said:
    Log from new Uboot.

    Ammar said:
    I2C: ready
    DRAM: 2 GiB
    NAND: HW ECC Hamming Code selected
    256 MiB

    This is not new u-boot. In new u-boot DRAM size report is 1GiB and data cache is enabled, this is what I have on the EVM:

    U-Boot 2010.06 (Jul 19 2017 - 15:53:00)

    TI8148-GP rev 2.1

    ARM clk: 600MHz
    DDR clk: 400MHz

    I2C:   ready
    DRAM:  1 GiB
    DCACHE:  On
    NAND:  HW ECC BCH8 Selected
    256 MiB

    Ammar said:
    TI8148_EVM#mii info
    PHY 0x00: OUI = 0x0885, Model = 0x22, Rev = 0x02, 1000baseT, FDX

    How do you enable that command in u-boot? I think it is not enabled by default.

    Ammar said:
    TI8148_EVM#dhcp
    failed to read bmcr
    BOOTP broadcast 1

    Can you try the below sequence:

    TI8148_EVM#setenv autoload no
    TI8148_EVM#dhcp
    link up on port 0, speed 100, full duplex
    BOOTP broadcast 1
    DHCP client bound to address 172.20.0.166
    TI8148_EVM#

    I connect DM814x TI EVM to desktop PC through 100Mbps switch, this is why my speed is 100. Do you connect your custom board to host PC directly? Does your host PC network card support 1000Mbps (1Gbps) speed?

    Can you also try dhcp command with DM814x EVM connected to your host PC? Thus we can verify that everything from the host PC side is correct.

    Regards,
    Pavel

  • Dear Pavel,

    1.Yes this mii command is not enabled by default , i added this cmd to enable it in dm814x config.h.

    2. Using the old uboot , dhcp was not working i was able to load tftp and got the ping response after setting my ip manually , but only at 100 mbps.

    i disable the internal delay by setting GMII_SEL to 0x33a.  Before that ping was not working and tftp was only able to get a part of file.

    3. Yes my ethernet driver supports 1Gbps .

    Now  100 mbps is enough for me in uboot , what should i do to get 1Gbps at kernel level .

  • Ammar,

    Does your ethernet works fine in linux kernel for 100Mbps?

    DM814x linux kernel ethernet driver support 1Gbps by default, no need to change the driver, you should look into the porting code:

    processors.wiki.ti.com/.../TI81XX_PSP_04.04.00.02_Feature_Performance_Guide

    DM814x TI EVM comes with AR8031 PHY and RGMII mode is used. Do you use RGMII mode for your PHY? What are the differences between DM814x TI EVM ethernet and your custom board ethernet?

    Do you use KSZ9031Rxx or KSZ9031Mxx PHY? Note that only KSZ9031Rxx support RGMII.

    Regards,
    Pavel

  • Thank You Pavel  for reply,

    Yes it is working fine 100 mbps speed, when i am connecting to 1000mbps switch , it shows link up , but same response as in uboot . I am not able to ping it or use nfs.

    Yes i am using RGMII with KSZ9031RNX.

    BR

    Ammar

  • Amar,

    Can you provide full console boot up log? You can also enable debug mode in boot args.

    I assume you are using the "Generic PHY" driver (phy_device.c). If the desired PHY (KSZ9031RNX) doesn't have any errata, quirks, or special features you want to support, then it may be best to not add support, and let the PHY Abstraction Layer's Generic PHY Driver do all of the work. I would also suggest you to check with KSZ9031RNX PHY supplier if this PHY can be used with kernel 2.6.37 Generic PHY driver.

    Do you have any changes in pinmux between DM814x TI EVM and your custom board? Do you use the same pins for the RGMII/MDIO connection?



    See also if the below e2e threads will help regarding KSZ9031RNX PHY integration:

    e2e.ti.com/.../385709
    e2e.ti.com/.../386085
    e2e.ti.com/.../252657
    e2e.ti.com/.../358952



    Regards,
    Pavel
  • NAND read: device 0 offset 0x280000, size 0x300000
    3145728 bytes read: OK
    ## Booting kernel from Legacy Image at 81800000 ...
    Image Name: Linux-2.6.37+
    Image Type: ARM Linux Kernel Image (uncompressed)
    Data Size: 2747140 Bytes = 2.6 MiB
    Load Address: 80008000
    Entry Point: 80008000
    Verifying Checksum ... OK
    Loading Kernel Image ... OK
    OK

    Starting kernel ...

    Uncompressing Linux... done, booting the kernel.
    Linux version 2.6.37+ (root@ammarzafar) (gcc version 4.3.3 (Sourcery G++ Lite 27
    CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
    CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
    Machine: ti8148evm
    vram size = 52428800 at 0x0
    bootconsole [earlycon0] enabled
    ti81xx_reserve: ### Reserved DDR region @8c700000
    reserved size = 52428800 at 0x0
    FB: Reserving 52428800 bytes SDRAM for VRAM
    Memory policy: ECC disabled, Data cache writeback
    OMAP chip is TI8148 3.0
    SRAM: Mapped pa 0x402f1000 to va 0xfe400000 size: 0xf000
    Built 1 zonelists in Zone order, mobility grouping on. Total pages: 37744
    Kernel command line: console=ttyO0,115200,quiet mem=200M vram=50M ti814xfb.vramf
    PID hash table entries: 1024 (order: 0, 4096 bytes)
    Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
    Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
    Memory: 148MB 1MB = 149MB total
    Memory: 144836k/144836k available, 59964k reserved, 0K highmem
    Virtual kernel memory layout:
    vector : 0xffff0000 - 0xffff1000 ( 4 kB)
    fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
    DMA : 0xffc00000 - 0xffe00000 ( 2 MB)
    vmalloc : 0xcd000000 - 0xf8000000 ( 688 MB)
    lowmem : 0xc0000000 - 0xcc800000 ( 200 MB)
    pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
    modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
    .init : 0xc0008000 - 0xc0042000 ( 232 kB)
    .text : 0xc0042000 - 0xc0538000 (5080 kB)
    .data : 0xc0538000 - 0xc0584c00 ( 307 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 20000000 Hz
    Console: colour dummy device 80x30
    Calibrating delay loop... 599.65 BogoMIPS (lpj=2998272)
    pid_max: default: 32768 minimum: 301
    Security Framework initialized
    Mount-cache hash table entries: 512
    CPU: Testing write buffer coherency: ok
    devtmpfs: initialized
    TI81XX: Map 0x8c700000 to 0xfe500000 for dram barrier
    TI81XX: Map 0x40300000 to 0xfe600000 for sram barrier
    omap_voltage_early_init: voltage driver support not added
    regulator: core version 0.5
    regulator: dummy:
    NET: Registered protocol family 16
    omap_voltage_domain_lookup: Voltage driver init not yet happened.Faulting!
    omap_voltage_add_dev: VDD specified does not exist!
    OMAP GPIO hardware version 0.1
    OMAP GPIO hardware version 0.1
    OMAP GPIO hardware version 0.1
    OMAP GPIO hardware version 0.1
    omap_mux_init: Add partition: #1: core, flags: 4
    NOR: Can't request GPMC CS
    Cannot clk_get ck_32
    Debugfs: Only enabling/disabling deep sleep and wakeup timer is supported now
    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 @0xcd020000
    ti81xx_pcie: forcing link width - x1
    ti81xx_pcie: Starting PCI scan...
    PCI: bus0: Fast back to back transfers enabled
    ti81xx_pcie: PCI scan done.
    bio: create slab <bio-0> at 0
    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 4ea2080b
    registerd cppi-dma Intr @ IRQ 17
    Cppi41 Init Done
    omap_i2c omap_i2c.1: bus 1 rev4.0 at 100 kHz
    pcf857x: probe of 1-0021 failed with error -121
    regulator: VRTC: 1800 mV
    regulator: VIO: 1500 mV
    regulator: VDD1: 600 <--> 1500 mV at 1200 mV
    regulator: VDD2: 600 <--> 1500 mV at 1200 mV
    regulator: VDDCTRL: 600 <--> 1400 mV at 1200 mV
    regulator: LDO1: 1100 <--> 3300 mV at 1800 mV
    regulator: LDO2: 1100 <--> 3300 mV at 1800 mV
    regulator: LDO3: 1100 <--> 3300 mV at 3300 mV
    regulator: LDO4: 1100 <--> 3300 mV at 1800 mV
    regulator: LDO5: 1100 <--> 3300 mV at 3300 mV
    regulator: LDO6: 1100 <--> 3300 mV at 3300 mV
    regulator: LDO7: 1100 <--> 3300 mV at 3300 mV
    regulator: LDO8: 1100 <--> 3300 mV at 1800 mV
    tps65910 1-002d: No interrupt support, no core IRQ
    omap_i2c omap_i2c.3: bus 3 rev4.0 at 100 kHz
    Advanced Linux Sound Architecture Driver Version 1.0.23.
    Switching to clocksource gp timer
    musb-hdrc: version 6.0, host, debug=0
    musb-hdrc musb-hdrc.0: dma type: dma-cppi41
    MUSB controller-0 revision 4ea20800
    usb2phy: computed values rxcalib(15)DACs(29 11 14)
    usb2phy: override computed values rxcalib(15)DACs(29 11 14)
    usb2phy_config: musb(0) rxcalib done, rxcalib read value 6f6ed776
    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
    musb-hdrc musb-hdrc.0: USB Host mode controller at cd01e000 using DMA, IRQ 18
    musb-hdrc musb-hdrc.1: dma type: dma-cppi41
    MUSB controller-1 revision 4ea20800
    usb2phy: computed values rxcalib(15)DACs(30 14 14)
    usb2phy: override computed values rxcalib(15)DACs(30 14 14)
    usb2phy_config: musb(1) rxcalib done, rxcalib read value 6f6f5d76
    musb-hdrc musb-hdrc.1: MUSB HDRC host driver
    musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
    usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
    usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    usb usb2: Product: MUSB HDRC host driver
    usb usb2: Manufacturer: Linux 2.6.37+ musb-hcd
    usb usb2: SerialNumber: musb-hdrc.1
    hub 2-0:1.0: USB hub found
    hub 2-0:1.0: 1 port detected
    musb-hdrc musb-hdrc.1: USB Host mode controller at cd026800 using DMA, IRQ 19
    NET: Registered protocol family 2
    IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
    TCP established hash table entries: 8192 (order: 4, 65536 bytes)
    TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
    TCP: Hash tables configured (established 8192 bind 8192)
    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
    JFFS2 version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.
    msgmni has been set to 282
    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
    console [ttyO0] enabled, bootconsole disabled
    console [ttyO0] enabled, bootconsole disabled
    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
    omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3
    omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4
    omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART5
    brd: module loaded
    loop: module loaded
    ahci probe: devid name is ahci
    ahci CAP register dump =0x6726ff80
    Modified ahci CAP register dump =0x6f26ff80
    ahci ahci.0: forcing PORTS_IMPL to 0x1
    ahci: SSS flag set, parallel bus scan disabled
    ahci ahci.0: AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl platform mode
    ahci ahci.0: flags: ncq sntf stag pm led clo only pmp pio slum part ccc apst
    scsi0 : ahci_platform
    ata1: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a150fff] port 0x100 irq 16
    omap2-nand driver initializing
    ONFI param page 0 valid
    ONFI flash detected
    NAND device: Manufacturer ID: 0x2c, Chip ID: 0xca (Micron NAND 256MiB 3,3V 16-b)
    omap2-nand: detected x16 NAND flash
    Creating 6 MTD partitions on "omap2-nand.0":
    0x000000000000-0x000000020000 : "U-Boot-min"
    0x000000020000-0x000000260000 : "U-Boot"
    0x000000260000-0x000000280000 : "U-Boot Env"
    0x000000280000-0x0000006c0000 : "Kernel"
    0x0000006c0000-0x00000cee0000 : "File System"
    0x00000cee0000-0x000010000000 : "Reserved"
    davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
    davinci_mdio davinci_mdio.0: detected phy mask fffffffe
    davinci_mdio.0: probed
    davinci_mdio davinci_mdio.0: phy[0]: device 0:00, driver unknown
    CAN device driver interface
    CAN bus driver for Bosch D_CAN controller 1.0
    d_can d_can: d_can device registered (irq=52, irq_obj=53)
    usbcore: registered new interface driver cdc_ether
    usbcore: registered new interface driver dm9601
    usbcore: registered new interface driver cdc_acm
    cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adaptes
    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
    qt602240_ts 1-004a: __qt602240_read_reg: i2c transfer failed
    qt602240_ts: probe of 1-004a failed with error -5
    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
    usbcore: registered new interface driver snd-usb-audio
    asoc: tlv320aic3x-hifi <-> davinci-mcasp.2 mapping ok
    ALSA device list:
    #0: TI81XX EVM
    TCP cubic registered
    NET: Registered protocol family 17
    can: controller area network core (rev 20090105 abi 8)
    NET: Registered protocol family 29
    can: raw protocol (rev 20090105)
    can: broadcast manager protocol (rev 20090105 t)
    Registering the dns_resolver key type
    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.
    Detected MACID=74:da:ea:a:82:4c
    omap_rtc omap_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
    ata1: SATA link down (SStatus 0 SControl 300)

    CPSW phy found : id is : 0x221622
    PHY 0:01 not found
    IP-Config: Complete:
    device=eth0, addr=192.168.10.2, mask=255.255.255.0, gw=192.168.10.1,
    host=Z3-DM814x, domain=, nis-domain=(none),
    bootserver=192.168.10.201, rootserver=192.168.10.201, rootpath=
    PHY: 0:00 - Link is Up - 100/Full
    VFS: Mounted root (nfs filesystem) on device 0:15.
    devtmpfs: mounted
    Freeing init memory: 232K
    INIT: version 2.86 booting
    Please wait: booting...
    WARNING: -e needs -E or -F
    WARNING: Couldn't open directory /lib/modules/2.6.37+: No such file or directory
    FATAL: Could not open /lib/modules/2.6.37+/modules.dep.temp for writing: No sucy
    root: mount: mount point /dev/pts does not exist
    root: mount: mount point /dev/shm does not exist
    NOT configuring network interfaces: / is an NFS mount
    Mon Apr 30 02:04:00 UTC 2012
    INIT: Entering runlevel: 5
    Starting Dropbear SSH server: modprobe: FATAL: Could not load /lib/modules/2.6.y

    modprobe: FATAL: Could not load /lib/modules/2.6.37+/modules.dep: No such file y

    dropbear.

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

    Arago Project http://arago-project.org dm814x-evm ttyO0

    Arago 2011.09 dm814x-evm ttyO0

    dm814x-evm login: root
    root@dm814x-evm:~# ping 192.168.10.201
    PING 192.168.10.201 (192.168.10.201): 56 data bytes
    64 bytes from 192.168.10.201: seq=0 ttl=64 time=0.553 ms
    64 bytes from 192.168.10.201: seq=1 ttl=64 time=0.526 ms


    root@dm814x-evm:~# ethtool -s eth0 speed 1000 duplex full autoneg off
    PHY: 0:00 - Link is Down



    Trying 1000/HALF
    nfs: server 192.168.10.201 not responding, still trying
    Trying 100/FULL
    PHY: 0:00 - Link is Up - 100/Full
    nfs: server 192.168.10.201 OK
    root@dm814x-evm:~#
    root@dm814x-evm:~#
    root@dm814x-evm:~#
    root@dm814x-evm:~# ethtool -s eth0 speed 1000 duplex full autoneg on
    PHY: 0:00 - Link is Down
    PHY: 0:00 - Link is Up - 1000/Full

    nfs: server 192.168.10.201 not responding, still trying
    nfs: server 192.168.10.201 not responding, still trying


    Yes using generic Linux driver with same pinmux.

    BR
    Ammar Zafar
  • Ammar,

    I would suggest you to try first DM814x TI EVM with your switch and host PC, and check that 1000Mbps mode is working fine. I want to be sure that everything is correctly setup at the switch and host PC side (NFS, DHCP, TFTP, etc), then we can proceed to debug your custom board 1000Mbps mode.

    Regards,
    Pavel
  • Thank you pavel for reply ,

    I have tested TI Evm , a Development kit by Z3-Dm814x with the same switch , infact i am using one on same system .

    BR

    Ammar Zafar

  • Pavel,

    100 mbps for uboot is fine with me , i need 1000 mbps in kernel level . The Generic Driver is also working fine with 100 mbps in it .
    The problem is with 1000 mbps , the link is shown up and if autoneg is on , it keeps it on 1000 mbps , But if i disable auto neg it goes to
    100 mbps .

    There are Skew delay setting in KSZ 9031 , may be changing that could make some effect , if you have any idea how can i do that or how can i add 9031 in micrel driver support and enable it in kernel it will be great help .

    BR
    Ammar Zafar
  • Ammar said:
    I have tested TI Evm , a Development kit by Z3-Dm814x with the same switch , infact i am using one on same system .

    Does this Z3-DM814x board support 1000Mbps speed? Where you able to get this 1000Mbps speed with your switch and host PC?

  • Pavel,
    I have used Ti EVm dm814x by Mistral and this z3 Dm814x board , with this setup in 1000 Mbps mode.
  • Ammar said:
    I have used Ti EVm dm814x by Mistral and this z3 Dm814x board , with this setup in 1000 Mbps mode.

    From what I understand you were able to work fine in 1000 Mbps speed in linux kernel with DM814x TI EVM and your swicth/host PC, thus the problem should be in your custom board.

  • Ammar said:
    The problem is with 1000 mbps , the link is shown up and if autoneg is on , it keeps it on 1000 mbps , But if i disable auto neg it goes to
    100 mbps .

    Make sure you have stable 125MHz clock signal on rgmii_rxc and rgmii_txc pins.

    See also what values you have in RGMII_CTL and SL1_MACCONTROL registers.

    Ammar said:
    There are Skew delay setting in KSZ 9031 , may be changing that could make some effect , if you have any idea how can i do that or how can i add 9031 in micrel driver support and enable it in kernel it will be great help .

    I see that Micrel driver (drivers/net/phy/micrel.c) is updated with KSZ9031 support in kernel 4.x You can check with Micrel if you can use 2.6.37 generic driver or you should port 4.x micrel driver to 2.6.37

    Regards,
    Pavel

  • Yes i know , but i am trying to figure out what is the problem with it .
    If the link is getting detected in 1000 mbps , then there should be some kind of timing issues i suppose.
    My custom board works in 10 , 100 full and half duplex but not in 1000 mbps .
  • General debug guidelines are:

    - compare DM814x TI EVM EMAC pins signals and your DM814x custom board EMAC pins signals, check if you have any differences
    - compare DM814x TI EVM EMAC and Control Module registers with custom board DM814x EMAC and Control Module registers, check if you have any differences
  • There was a pull down issue at GTX clk issue which was causing 125Mhz wave at 1000 mbps to be malformed ,
    Now i am able to communicate at 1000 mbps in both Uboot and Kernel using Generic driver . I just have to set it to no internal delay.