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.

Another DM8148 SD Linux Boot Issue

Other Parts Discussed in Thread: DM385

We have a custom board which is based heavily upon the DM8148-EVM

The Linux Kernel is a combination of the IPNC & RDK (delivered by a 3rd party (TI recommended)

When we have the Ethernet Phy populated on the board, we can boot from the SD Card ('run boot_mmc' just fine.

When we remove the Ethernet Phy (to save costs), we are unable to boot from the SD Card. Linux hangs in the boot process with:

   "Waiting for Root Device /dev/mmcblk0p2"

Further, if we boot from NAND - it boots to Linux successfully and the SD Card can be mounted and files can be read & written succesfully. I should note that all the Linux Images are the same (SD Card or NAND). 

It can't be a "loose" pin - because it can be read/detected in other boot situations. All that is different is the ethernet phy is de-populated?

Does this sound familiar to anybody?

Tom

  • Hi Tom,

    Did you make any software changes in the linux kernel or changes in the boot arguments when removing the ethernet PHY?

    Best regards,
    Pavel

  • Essentially, there were NO changes to kernel or boot arguments...

    Even if its built with support for Ethernet - the driver probe indicates there is NO PHY and that it should just continue without finding a device to continue

    No, I did not change the boot arguments and does assign an IP address to that device - which shouldn't matter as well?

    Further, I built the linux kernel with debug information and put an ICE on it - to see where it was hanging here is the stack when I connected and stopped.

    Blackhawk XDS560v2-USB System Trace Emulator_0/CortexA8 (Suspended) 

      omap2_dpll_round_rate(struct clk *, unsigned long)() at clkt_dpll.c:340 0xC005BF60     

      __switch_to() [/home/tom/vss/Software/USBSection/debug_ipnc_d3/Source/ti_tools/linux/vmlinux] at 0xC050B56C  

      omap2_dpll_round_rate(struct clk *, unsigned long)() at clkt_dpll.c:368 0xC005BEC4     

      vfp_single_fsqrt(int, int, int, unsigned int)() at vfpsingle.c:356 0xC00450E4     

      unwind_table_add(unsigned long, unsigned long, unsigned long, unsigned long)() at unwind.c:405 0xC004D1AC  

      unwind_table_add(unsigned long, unsigned long, unsigned long, unsigned long)() at unwind.c:411 0xC004D1DC  

      unwind_table_add(unsigned long, unsigned long, unsigned long, unsigned long)() at unwind.c:418 0xC004D20C  

      __list_add() at list.h:44 0xC004D23C  (__list_add does not contain frame information)    

  • Tom,

    Tom Morrison said:

    Even if its built with support for Ethernet - the driver probe indicates there is NO PHY and that it should just continue without finding a device to continue

    No, I did not change the boot arguments and does assign an IP address to that device - which shouldn't matter as well?

    Can you provide me full boot up log (u-boot + kernel) in the successful boot case and in the failing boot case?

    Regards,
    Pavel

  • Hopefully it is attached - the first being the "Hang" (booting from MMC) and then after power-reset - booting from NAND

    0068.ice2.txt
    ## Booting kernel from Legacy Image at 81000000 ...
       Image Name:   Linux-2.6.37
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    2410648 Bytes = 2.3 MiB
       Load Address: 80008000
       Entry Point:  80008000
       Verifying Checksum ... OK
       Loading Kernel Image ... OK
    OK
    
    Starting kernel ...
    
    Uncompressing Linux... done, booting the kernel.
    [    0.000000] Initializing cgroup subsys cpu
    [    0.000000] Linux version 2.6.37 (tom@Tom-Ubuntu-12) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #1 PREEMPT Mon Sep 22 16:03:484
    [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
    [    0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] Machine: ti8148evm
    [    0.000000] vram size = 25165824 at 0x0
    [    0.000000] ti81xx_reserve: ### Reserved DDR region @aff00000
    [    0.000000] reserved size = 25165824 at 0x0
    [    0.000000] FB: Reserving 25165824 bytes SDRAM for VRAM
    [    0.000000] Memory policy: ECC disabled, Data cache writeback
    [    0.000000] OMAP chip is TI8148 3.0
    [    0.000000] SRAM: Mapped pa 0x402f1000 to va 0xfe400000 size: 0xf000
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 143616
    [    0.000000] Kernel command line: root=/dev/mmcblk0p2 rw ip=192.168.2.2 console=ttyO0,115200n8 mem=80M rootwait vram=24M notifyk.vpssm3_)
    [    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
    [    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
    [    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
    [    0.000000] Memory: 80MB 486MB 1MB = 567MB total
    [    0.000000] Memory: 570464k/570464k available, 35744k reserved, 498688K highmem
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    [    0.000000]     DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
    [    0.000000]     vmalloc : 0xc5800000 - 0xf8000000   ( 808 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xc5000000   (  80 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .init : 0xc0008000 - 0xc003f000   ( 220 kB)
    [    0.000000]       .text : 0xc003f000 - 0xc049e000   (4476 kB)
    [    0.000000]       .data : 0xc049e000 - 0xc04e5a00   ( 287 kB)
    [    0.000000] SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [    0.000000] NR_IRQS:375
    [    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    [    0.000000] Total of 128 interrupts on 1 active controller
    [    0.000000] GPMC revision 6.0
    [    0.000000] Trying to install interrupt handler for IRQ368
    [    0.000000] Trying to install interrupt handler for IRQ369
    [    0.000000] Trying to install interrupt handler for IRQ370
    [    0.000000] Trying to install interrupt handler for IRQ371
    [    0.000000] Trying to install interrupt handler for IRQ372
    [    0.000000] Trying to install interrupt handler for IRQ373
    [    0.000000] Trying to install interrupt handler for IRQ374
    [    0.000000] Trying to install type control for IRQ375
    [    0.000000] Trying to set irq flags for IRQ375
    [    0.000000] OMAP clockevent source: GPTIMER1 at 20000000 Hz
    [    0.000000] Console: colour dummy device 80x30
    [    0.000000] Calibrating delay loop... 598.01 BogoMIPS (lpj=2990080)
    [    0.220000] pid_max: default: 32768 minimum: 301
    [    0.230000] Security Framework initialized
    [    0.230000] Mount-cache hash table entries: 512
    [    0.230000] CPU: Testing write buffer coherency: ok
    [    0.230000] devtmpfs: initialized
    [    0.230000] TI81XX: Map 0xaff00000 to 0xfe500000 for dram barrier
    [    0.230000] TI81XX: Map 0x40300000 to 0xfe600000 for sram barrier
    [    0.230000] omap_voltage_early_init: voltage driver support not added
    [    0.230000] regulator: core version 0.5
    [    0.230000] regulator: dummy: 
    [    0.230000] NET: Registered protocol family 16
    [    0.230000] omap_voltage_domain_lookup: Voltage driver init not yet happened.Faulting!
    [    0.230000] omap_voltage_add_dev: VDD specified does not exist!
    [    0.230000] OMAP GPIO hardware version 0.1
    [    0.230000] OMAP GPIO hardware version 0.1
    [    0.230000] OMAP GPIO hardware version 0.1
    [    0.230000] OMAP GPIO hardware version 0.1
    [    0.230000] omap_mux_init: Add partition: #1: core, flags: 4
    [    0.240000] NAND ecc use OMAP_ECC_HAMMING_CODE_HW 
    [    0.240000] Setting platform data
    [    0.240000] PCIe and SATA PLLs are disabled!!! (arch/arm/mach-omap2/devices.c:3188)
    [    0.260000] Cannot clk_get ck_32
    [    0.260000] Debugfs: Only enabling/disabling deep sleep and wakeup timer is supported now
    [    0.260000] registered ti81xx_vpss device
    [    0.260000] registered ti81xx_vidout device
    [    0.260000] registered ti81xx on-chip HDMI device
    [    0.260000] registered ti81xx_fb device
    [    0.260000] registered ti81xx_vin device
    [    0.270000] bio: create slab <bio-0> at 0
    [    0.270000] SCSI subsystem initialized
    [    0.270000] usbcore: registered new interface driver usbfs
    [    0.270000] usbcore: registered new interface driver hub
    [    0.270000] usbcore: registered new device driver usb
    [    0.270000] USBSS revision 4ea2080b
    [    0.270000] registerd cppi-dma Intr @ IRQ 17
    [    0.270000] Cppi41 Init Done
    [    0.270000] omap_i2c omap_i2c.1: bus 1 rev4.0 at 100 kHz
    [    0.270000] regulator: VRTC: 1800 mV 
    [    0.280000] regulator: VIO: 1500 mV 
    [    0.280000] regulator: VDD1: 600 <--> 1500 mV at 1200 mV 
    [    0.280000] regulator: VDD2: 600 <--> 1500 mV at 1200 mV 
    [    0.280000] regulator: VDDCTRL: 600 <--> 1400 mV at 1200 mV 
    [    0.280000] regulator: LDO1: 1100 <--> 3300 mV at 1800 mV 
    [    0.280000] regulator: LDO2: 1100 <--> 3300 mV at 1800 mV 
    [    0.290000] regulator: LDO3: 1100 <--> 3300 mV at 3300 mV 
    [    0.290000] regulator: LDO4: 1100 <--> 3300 mV at 1800 mV 
    [    0.290000] regulator: LDO5: 1100 <--> 3300 mV at 3300 mV 
    [    0.290000] regulator: LDO6: 1100 <--> 3300 mV at 3300 mV 
    [    0.290000] regulator: LDO7: 1100 <--> 3300 mV at 3300 mV 
    [    0.290000] regulator: LDO8: 1100 <--> 3300 mV at 1800 mV 
    [    0.290000] tps65911-rtc tps65911-rtc: rtc core: registered tps65911-rtc as rtc0
    [    0.290000] tps65910 1-002d: No interrupt support, no core IRQ
    [    0.290000] i2c i2c-1: Failed to register i2c client qt602240_ts at 0x4a (-16)
    [    0.290000] i2c i2c-1: Can't create device at 0x4a
    [    0.290000] i2c i2c-1: Failed to register i2c client tlc59108 at 0x40 (-16)
    [    0.290000] i2c i2c-1: Can't create device at 0x40
    [    0.290000] omap_i2c omap_i2c.3: bus 3 rev4.0 at 100 kHz
    [    0.300000] Switching to clocksource gp timer
    [    0.310000] musb-hdrc: version 6.0, host, debug=0
    [    0.310000] musb-hdrc musb-hdrc.0: dma type: dma-cppi41
    [    0.310000] MUSB controller-0 revision 4ea20800
    [    0.310000] usb2phy: computed values rxcalib(15)DACs(25 14 15)
    [    0.310000] usb2phy: override computed values rxcalib(15)DACs(25 14 15)
    [    0.310000] usb2phy_config: musb(0) rxcalib done, rxcalib read value 6f6cdd7e
    [    0.310000] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
    [    0.310000] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
    [    0.310000] hub 1-0:1.0: USB hub found
    [    0.310000] hub 1-0:1.0: 1 port detected
    [    0.310000] musb-hdrc musb-hdrc.0: USB Host mode controller at c581e000 using DMA, IRQ 18
    [    0.310000] musb-hdrc musb-hdrc.1: dma type: dma-cppi41
    [    0.310000] MUSB controller-1 revision 4ea20800
    [    0.310000] usb2phy: computed values rxcalib(15)DACs(30 13 14)
    [    0.310000] usb2phy: override computed values rxcalib(15)DACs(30 13 14)
    [    0.310000] usb2phy_config: musb(1) rxcalib done, rxcalib read value 6f6f5b76
    [    0.310000] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
    [    0.310000] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
    [    0.310000] hub 2-0:1.0: USB hub found
    [    0.310000] hub 2-0:1.0: 1 port detected
    [    0.310000] musb-hdrc musb-hdrc.1: USB Host mode controller at c5828800 using DMA, IRQ 19
    [    0.310000] NET: Registered protocol family 2
    [    0.310000] IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.310000] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
    [    0.310000] TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
    [    0.310000] TCP: Hash tables configured (established 16384 bind 16384)
    [    0.310000] TCP reno registered
    [    0.310000] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [    0.310000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [    0.320000] NET: Registered protocol family 1
    [    0.320000] RPC: Registered udp transport module.
    [    0.320000] RPC: Registered tcp transport module.
    [    0.320000] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.320000] NetWinder Floating Point Emulator V0.97 (double precision)
    [    0.320000] PMU: registered new PMU device of type 0
    [    0.320000] omap-iommu omap-iommu.0: ducati registered
    [    0.320000] omap-iommu omap-iommu.1: sys registered
    [    0.420000] highmem bounce pool size: 64 pages
    [    0.430000] msgmni has been set to 140
    [    0.430000] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
    [    0.430000] io scheduler noop registered
    [    0.430000] io scheduler deadline registered
    [    0.430000] io scheduler cfq registered (default)
    [    0.430000] CMEMK module: built on Sep 22 2014 at 15:55:58
    [    0.430000]   Reference Linux version 2.6.37
    [    0.430000]   File /home/tom/vss/Software/USBSection/ipnc_d3/Source/ti_tools/linuxutils/packages/ti/sdo/linuxutils/cmem/src/module/cmemc
    [    0.430000] CMEM Range Overlaps Kernel Physical - allowing overlap
    [    0.430000] CMEM phys_start (0x85000000) overlaps kernel (0x80000000 -> 0xa3700000)
    [    0.430000] allocated heap buffer 0xc8000000 of size 0x4000000
    [    0.430000] cmemk initialized
    [    0.430000] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
    [    0.440000] omap_uart.0: ttyO0 at MMIO 0x48020000 (irq = 72) is a OMAP UART0
    [    1.350000] console [ttyO0] enabled
    [    1.360000] omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
    [    1.360000] omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
    [    1.370000] omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3
    [    1.380000] omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4
    [    1.390000] omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART5
    [    1.400000] brd: module loaded
    [    1.410000] loop: module loaded
    [    1.410000] omap2-nand driver initializing
    [    1.420000] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xca (Micron )
    [    1.430000] 6 cmdlinepart partitions found on MTD device omap2-nand.0
    [    1.430000] Creating 6 MTD partitions on "omap2-nand.0":
    [    1.440000] 0x000000000000-0x000000020000 : "ubootmin"
    [    1.450000] 0x000000020000-0x000000260000 : "uboot"
    [    1.450000] 0x000000260000-0x000000280000 : "params"
    [    1.460000] 0x000000280000-0x0000006c0000 : "kernel"
    [    1.470000] 0x0000006c0000-0x00000cee0000 : "filesystem"
    [    1.560000] 0x00000cee0000-0x000010000000 : "reserved"
    [    1.640000] davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
    [    1.640000] davinci_mdio davinci_mdio.0: no live phy, scanning all
    [    1.650000] davinci_mdio: probe of davinci_mdio.0 failed with error -5
    [    1.660000] Initializing USB Mass Storage driver...
    [    1.660000] usbcore: registered new interface driver usb-storage
    [    1.670000] USB Mass Storage support registered.
    [    1.670000] mice: PS/2 mouse device common for all mice
    [    1.680000] i2c /dev entries driver
    [    1.680000] Linux video capture interface: v2.00
    [    1.690000] OMAP Watchdog Timer Rev 0x00: initial timeout 60 sec
    [    1.700000] usbcore: registered new interface driver usbhid
    [    1.700000] usbhid: USB HID core driver
    [    1.710000] notify_init : notify drivercreated  for  remote proc id 2 at physical Address 0xbfd00000
    [    1.720000] netem: version 1.2
    [    1.720000] TCP cubic registered
    [    1.720000] NET: Registered protocol family 17
    [    1.730000] Registering the dns_resolver key type
    [    1.730000] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [    1.750000] omap_voltage_late_init: Voltage driver support not added
    [    1.750000] Power Management for TI81XX.
    [    1.770000] Target freq is too low to achieve
    [    1.770000] Failed to get the rounded values
    [    1.780000] Target freq is too low to achieve
    [    1.780000] Failed to get the rounded values
    [    1.790000] Target freq is too low to achieve
    [    1.790000] Failed to get the rounded values
    [    1.800000] platform mpu.0: omap_target: cpu0: no opp match for freq 900000
    [    1.810000] platform mpu.0: omap_target: cpu0: no opp match for freq 900000
    [    1.820000] Detected MACID=84:7e:40:e8:f4:40
    [    1.820000] tps65911-rtc tps65911-rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
    [    1.940000] mmc0: card claims to support voltages below the defined range. These will be ignored.
    [    1.950000] mmc0: queuing unknown CIS tuple 0x91 (3 bytes)
    [    1.960000] mmc0: new SDIO card at address 0001
    [    2.340000] PHY 0:00 not found
    [    2.340000] PHY 0:01 not found
    [    3.360000] IP-Config: Guessing netmask 255.255.255.0
    [    3.360000] IP-Config: Complete:
    [    3.360000]      device=eth0, addr=192.168.2.2, mask=255.255.255.0, gw=255.255.255.255,
    [    3.370000]      host=192.168.2.2, domain=, nis-domain=(none),
    [    3.380000]      bootserver=255.255.255.255, rootserver=255.255.255.255, rootpath=
    [    3.390000] Waiting for root device /dev/mmcblk0p2...
    
    
    U-Boot 2010.06 (Sep 22 2014 - 15:53:00)
    
    TI8148-GP rev 3.0
    
    L3 clk         : 200MHz
    IVA clk        : 306MHz
    ISS clk        : 400MHz
    DSP clk        : 600MHz
    DSS clk        : 200MHz
    ARM clk        : 600MHz
    DDR clk        : 400MHz
    
    DRAM:  1 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 (Sep 22 2014 - 15:54:48)
    
    TI8148-GP rev 3.0
    
    L3 clk         : 200MHz
    IVA clk        : 306MHz
    ISS clk        : 400MHz
    DSP clk        : 600MHz
    DSS clk        : 200MHz
    ARM clk        : 600MHz
    DDR clk        : 400MHz
    
    I2C:   ready
    DRAM:  1 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@@@.       
                    .A@@#5r;;;r;;;rrr;r:r#AsM@@H.         
                       ;&@@@@MhXS5i5SX9B@@@@G;            
                           :ihM#@@@@@##hs,                
    
    Net:   We have rev 2.0 silicon
    <ethaddr> not set. Reading from E-fuse
    Detected MACID:84:7e:40:e8:f4:40
    Using slave regs offset 0x50Using slave regs offset 0x90cpsw
    Hit any key to stop autoboot:  0 
    HW ECC Hamming Code selected
    
    Loading from nand0, offset 0x280000
       Image Name:   Linux-2.6.37
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    2410648 Bytes = 2.3 MiB
       Load Address: 80008000
       Entry Point:  80008000
    ## Booting kernel from Legacy Image at 80007fc0 ...
       Image Name:   Linux-2.6.37
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    2410648 Bytes = 2.3 MiB
       Load Address: 80008000
       Entry Point:  80008000
       Verifying Checksum ... OK
       Loading Kernel Image ... OK
    OK
    
    Starting kernel ...
    
    Uncompressing Linux... done, booting the kernel.
    [    0.000000] Initializing cgroup subsys cpu
    [    0.000000] Linux version 2.6.37 (tom@Tom-Ubuntu-12) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #1 PREEMPT Mon Sep 22 16:03:484
    [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
    [    0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] Machine: ti8148evm
    [    0.000000] vram size = 25165824 at 0x0
    [    0.000000] ti81xx_reserve: ### Reserved DDR region @aff00000
    [    0.000000] reserved size = 25165824 at 0x0
    [    0.000000] FB: Reserving 25165824 bytes SDRAM for VRAM
    [    0.000000] Memory policy: ECC disabled, Data cache writeback
    [    0.000000] OMAP chip is TI8148 3.0
    [    0.000000] SRAM: Mapped pa 0x402f1000 to va 0xfe400000 size: 0xf000
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 143616
    [    0.000000] Kernel command line: root=/dev/mtdblock4 rw ip=192.168.2.2 console=ttyO0,115200n8 mem=80M rootwait vram=24M notifyk.vpssm3_)
    [    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
    [    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
    [    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
    [    0.000000] Memory: 80MB 486MB 1MB = 567MB total
    [    0.000000] Memory: 570464k/570464k available, 35744k reserved, 498688K highmem
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    [    0.000000]     DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
    [    0.000000]     vmalloc : 0xc5800000 - 0xf8000000   ( 808 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xc5000000   (  80 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .init : 0xc0008000 - 0xc003f000   ( 220 kB)
    [    0.000000]       .text : 0xc003f000 - 0xc049e000   (4476 kB)
    [    0.000000]       .data : 0xc049e000 - 0xc04e5a00   ( 287 kB)
    [    0.000000] SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [    0.000000] NR_IRQS:375
    [    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    [    0.000000] Total of 128 interrupts on 1 active controller
    [    0.000000] GPMC revision 6.0
    [    0.000000] Trying to install interrupt handler for IRQ368
    [    0.000000] Trying to install interrupt handler for IRQ369
    [    0.000000] Trying to install interrupt handler for IRQ370
    [    0.000000] Trying to install interrupt handler for IRQ371
    [    0.000000] Trying to install interrupt handler for IRQ372
    [    0.000000] Trying to install interrupt handler for IRQ373
    [    0.000000] Trying to install interrupt handler for IRQ374
    [    0.000000] Trying to install type control for IRQ375
    [    0.000000] Trying to set irq flags for IRQ375
    [    0.000000] OMAP clockevent source: GPTIMER1 at 20000000 Hz
    [    0.000000] Console: colour dummy device 80x30
    [    0.000000] Calibrating delay loop... 598.01 BogoMIPS (lpj=2990080)
    [    0.220000] pid_max: default: 32768 minimum: 301
    [    0.230000] Security Framework initialized
    [    0.230000] Mount-cache hash table entries: 512
    [    0.230000] CPU: Testing write buffer coherency: ok
    [    0.230000] devtmpfs: initialized
    [    0.230000] TI81XX: Map 0xaff00000 to 0xfe500000 for dram barrier
    [    0.230000] TI81XX: Map 0x40300000 to 0xfe600000 for sram barrier
    [    0.230000] omap_voltage_early_init: voltage driver support not added
    [    0.230000] regulator: core version 0.5
    [    0.230000] regulator: dummy: 
    [    0.230000] NET: Registered protocol family 16
    [    0.230000] omap_voltage_domain_lookup: Voltage driver init not yet happened.Faulting!
    [    0.230000] omap_voltage_add_dev: VDD specified does not exist!
    [    0.230000] OMAP GPIO hardware version 0.1
    [    0.230000] OMAP GPIO hardware version 0.1
    [    0.230000] OMAP GPIO hardware version 0.1
    [    0.230000] OMAP GPIO hardware version 0.1
    [    0.230000] omap_mux_init: Add partition: #1: core, flags: 4
    [    0.240000] NAND ecc use OMAP_ECC_HAMMING_CODE_HW 
    [    0.240000] Setting platform data
    [    0.240000] PCIe and SATA PLLs are disabled!!! (arch/arm/mach-omap2/devices.c:3188)
    [    0.260000] Cannot clk_get ck_32
    [    0.260000] Debugfs: Only enabling/disabling deep sleep and wakeup timer is supported now
    [    0.260000] registered ti81xx_vpss device
    [    0.260000] registered ti81xx_vidout device
    [    0.260000] registered ti81xx on-chip HDMI device
    [    0.260000] registered ti81xx_fb device
    [    0.260000] registered ti81xx_vin device
    [    0.270000] bio: create slab <bio-0> at 0
    [    0.270000] SCSI subsystem initialized
    [    0.270000] usbcore: registered new interface driver usbfs
    [    0.270000] usbcore: registered new interface driver hub
    [    0.270000] usbcore: registered new device driver usb
    [    0.270000] USBSS revision 4ea2080b
    [    0.270000] registerd cppi-dma Intr @ IRQ 17
    [    0.270000] Cppi41 Init Done
    [    0.270000] omap_i2c omap_i2c.1: bus 1 rev4.0 at 100 kHz
    [    0.270000] regulator: VRTC: 1800 mV 
    [    0.280000] regulator: VIO: 1500 mV 
    [    0.280000] regulator: VDD1: 600 <--> 1500 mV at 1200 mV 
    [    0.280000] regulator: VDD2: 600 <--> 1500 mV at 1200 mV 
    [    0.280000] regulator: VDDCTRL: 600 <--> 1400 mV at 1200 mV 
    [    0.280000] regulator: LDO1: 1100 <--> 3300 mV at 1800 mV 
    [    0.290000] regulator: LDO2: 1100 <--> 3300 mV at 1800 mV 
    [    0.290000] regulator: LDO3: 1100 <--> 3300 mV at 3300 mV 
    [    0.290000] regulator: LDO4: 1100 <--> 3300 mV at 1800 mV 
    [    0.290000] regulator: LDO5: 1100 <--> 3300 mV at 3300 mV 
    [    0.290000] regulator: LDO6: 1100 <--> 3300 mV at 3300 mV 
    [    0.290000] regulator: LDO7: 1100 <--> 3300 mV at 3300 mV 
    [    0.290000] regulator: LDO8: 1100 <--> 3300 mV at 1800 mV 
    [    0.290000] tps65911-rtc tps65911-rtc: rtc core: registered tps65911-rtc as rtc0
    [    0.290000] tps65910 1-002d: No interrupt support, no core IRQ
    [    0.290000] i2c i2c-1: Failed to register i2c client qt602240_ts at 0x4a (-16)
    [    0.290000] i2c i2c-1: Can't create device at 0x4a
    [    0.290000] i2c i2c-1: Failed to register i2c client tlc59108 at 0x40 (-16)
    [    0.290000] i2c i2c-1: Can't create device at 0x40
    [    0.290000] omap_i2c omap_i2c.3: bus 3 rev4.0 at 100 kHz
    [    0.300000] Switching to clocksource gp timer
    [    0.310000] musb-hdrc: version 6.0, host, debug=0
    [    0.310000] musb-hdrc musb-hdrc.0: dma type: dma-cppi41
    [    0.310000] MUSB controller-0 revision 4ea20800
    [    0.310000] usb2phy: computed values rxcalib(15)DACs(25 14 15)
    [    0.310000] usb2phy: override computed values rxcalib(15)DACs(25 14 15)
    [    0.310000] usb2phy_config: musb(0) rxcalib done, rxcalib read value 6f6cdd7e
    [    0.310000] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
    [    0.310000] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
    [    0.310000] hub 1-0:1.0: USB hub found
    [    0.310000] hub 1-0:1.0: 1 port detected
    [    0.310000] musb-hdrc musb-hdrc.0: USB Host mode controller at c581e000 using DMA, IRQ 18
    [    0.310000] musb-hdrc musb-hdrc.1: dma type: dma-cppi41
    [    0.310000] MUSB controller-1 revision 4ea20800
    [    0.310000] usb2phy: computed values rxcalib(15)DACs(30 13 14)
    [    0.310000] usb2phy: override computed values rxcalib(15)DACs(30 13 14)
    [    0.310000] usb2phy_config: musb(1) rxcalib done, rxcalib read value 6f6f5b76
    [    0.310000] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
    [    0.310000] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
    [    0.310000] hub 2-0:1.0: USB hub found
    [    0.310000] hub 2-0:1.0: 1 port detected
    [    0.310000] musb-hdrc musb-hdrc.1: USB Host mode controller at c5828800 using DMA, IRQ 19
    [    0.310000] NET: Registered protocol family 2
    [    0.310000] IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.310000] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
    [    0.310000] TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
    [    0.310000] TCP: Hash tables configured (established 16384 bind 16384)
    [    0.310000] TCP reno registered
    [    0.310000] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [    0.310000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [    0.320000] NET: Registered protocol family 1
    [    0.320000] RPC: Registered udp transport module.
    [    0.320000] RPC: Registered tcp transport module.
    [    0.320000] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.320000] NetWinder Floating Point Emulator V0.97 (double precision)
    [    0.320000] PMU: registered new PMU device of type 0
    [    0.320000] omap-iommu omap-iommu.0: ducati registered
    [    0.320000] omap-iommu omap-iommu.1: sys registered
    [    0.420000] highmem bounce pool size: 64 pages
    [    0.430000] msgmni has been set to 140
    [    0.430000] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
    [    0.430000] io scheduler noop registered
    [    0.430000] io scheduler deadline registered
    [    0.430000] io scheduler cfq registered (default)
    [    0.430000] CMEMK module: built on Sep 22 2014 at 15:55:58
    [    0.430000]   Reference Linux version 2.6.37
    [    0.430000]   File /home/tom/vss/Software/USBSection/ipnc_d3/Source/ti_tools/linuxutils/packages/ti/sdo/linuxutils/cmem/src/module/cmemc
    [    0.430000] CMEM Range Overlaps Kernel Physical - allowing overlap
    [    0.430000] CMEM phys_start (0x85000000) overlaps kernel (0x80000000 -> 0xa3700000)
    [    0.430000] allocated heap buffer 0xc8000000 of size 0x4000000
    [    0.430000] cmemk initialized
    [    0.430000] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
    [    0.440000] omap_uart.0: ttyO0 at MMIO 0x48020000 (irq = 72) is a OMAP UART0
    [    1.350000] console [ttyO0] enabled
    [    1.360000] omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
    [    1.360000] omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
    [    1.370000] omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3
    [    1.380000] omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4
    [    1.390000] omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART5
    [    1.400000] brd: module loaded
    [    1.410000] loop: module loaded
    [    1.410000] omap2-nand driver initializing
    [    1.420000] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xca (Micron )
    [    1.430000] 6 cmdlinepart partitions found on MTD device omap2-nand.0
    [    1.430000] Creating 6 MTD partitions on "omap2-nand.0":
    [    1.440000] 0x000000000000-0x000000020000 : "ubootmin"
    [    1.450000] 0x000000020000-0x000000260000 : "uboot"
    [    1.450000] 0x000000260000-0x000000280000 : "params"
    [    1.460000] 0x000000280000-0x0000006c0000 : "kernel"
    [    1.470000] 0x0000006c0000-0x00000cee0000 : "filesystem"
    [    1.560000] 0x00000cee0000-0x000010000000 : "reserved"
    [    1.640000] davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
    [    1.640000] davinci_mdio davinci_mdio.0: no live phy, scanning all
    [    1.650000] davinci_mdio: probe of davinci_mdio.0 failed with error -5
    [    1.660000] Initializing USB Mass Storage driver...
    [    1.660000] usbcore: registered new interface driver usb-storage
    [    1.670000] USB Mass Storage support registered.
    [    1.670000] mice: PS/2 mouse device common for all mice
    [    1.680000] i2c /dev entries driver
    [    1.680000] Linux video capture interface: v2.00
    [    1.690000] OMAP Watchdog Timer Rev 0x00: initial timeout 60 sec
    [    1.700000] usbcore: registered new interface driver usbhid
    [    1.700000] usbhid: USB HID core driver
    [    1.710000] notify_init : notify drivercreated  for  remote proc id 2 at physical Address 0xbfd00000
    [    1.720000] netem: version 1.2
    [    1.720000] TCP cubic registered
    [    1.720000] NET: Registered protocol family 17
    [    1.730000] Registering the dns_resolver key type
    [    1.730000] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [    1.750000] omap_voltage_late_init: Voltage driver support not added
    [    1.750000] Power Management for TI81XX.
    [    1.770000] Target freq is too low to achieve
    [    1.770000] Failed to get the rounded values
    [    1.780000] Target freq is too low to achieve
    [    1.780000] Failed to get the rounded values
    [    1.790000] Target freq is too low to achieve
    [    1.790000] Failed to get the rounded values
    [    1.800000] platform mpu.0: omap_target: cpu0: no opp match for freq 900000
    [    1.810000] platform mpu.0: omap_target: cpu0: no opp match for freq 900000
    [    1.820000] Detected MACID=84:7e:40:e8:f4:40
    [    1.820000] tps65911-rtc tps65911-rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
    [    1.940000] mmc0: card claims to support voltages below the defined range. These will be ignored.
    [    1.950000] mmc0: queuing unknown CIS tuple 0x91 (3 bytes)
    [    1.960000] mmc0: new SDIO card at address 0001
    [    2.340000] PHY 0:00 not found
    [    2.340000] PHY 0:01 not found
    [    3.360000] IP-Config: Guessing netmask 255.255.255.0
    [    3.360000] IP-Config: Complete:
    [    3.360000]      device=eth0, addr=192.168.2.2, mask=255.255.255.0, gw=255.255.255.255,
    [    3.370000]      host=192.168.2.2, domain=, nis-domain=(none),
    [    3.380000]      bootserver=255.255.255.255, rootserver=255.255.255.255, rootpath=
    [    3.390000] yaffs: dev is 32505860 name is "mtdblock4" rw
    [    3.390000] yaffs: passed flags ""
    [   10.510000] VFS: Mounted root (yaffs filesystem) on device 31:4.
    [   10.520000] devtmpfs: mounted
    [   10.520000] Freeing init memory: 220K
    INIT: version 2.86 booting
    Starting mdev
    Loading modules: pcf857x [   11.780000] pcf857x 1-0020: gpios 160..175 on a pcf8575
    

  • Tom,

    Tom Morrison said:
    then after power-reset - booting from NAND

    You boot u-boot and linux kernel from NAND, but not the root filesystem?

    Tom Morrison said:
    the first being the "Hang" (booting from MMC)

    You can try remove Ethernet support from the linux kernel and the boot arguments (Kernel command line).

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_ETHERNET_Switch_User_Guide

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_User_Guide#TI814X_2

    http://processors.wiki.ti.com/index.php/TI81xx_PSP_Porting_Guide#PHY_driver_support_in_Linux

    Regards,
    Pavel

  • When I boot from NAND - the root file system is on NAND

    I've also tried to remove support for the Ethernet Chip from the Linux Kernel and it still hangs

    I will try changing boot args...

  • So it was suggested to me to modify board-ti8148evm.c like this:

    static struct omap2_hsmmc_info mmc[] = {

        {
            .mmc        = 1,
            .caps       = MMC_CAP_4_BIT_DATA | MMC_CAP_NEEDS_POLL,
            .gpio_cd    = -EINVAL, /* Dedicated pins for CD and WP */
            .gpio_wp    = -EINVAL,

            .ocr_mask   = MMC_VDD_33_34,
        },
        {}  /* Terminator */
    };

    This actually worked - which means there there is an issue with pin mux (between Kernel & u-boot) with the SDCD pin for the MMC. 

    Looking at MUX map in mux814x.c - there is one related 'mux' wtih mmc1_sdcd_mux1 which has something another mode related to mii I/O somewhere: pr1_mii0_rxlink_mux0

    I haven't found a good explanation of this pin and how it might related to our ethernet chip, because that is THE ONLY possible combination related to each other?

    I'm stumped!

    Tom

  • Sorry I missed this response - but had already tried this method (re-compile the kernel without MAC) and changing the boot args. As my other (just posted) comment - I did get it to work, but I"d like to figure out exactly what pin mux is wrong and see if I can correct it!

     

  • Hi Tom,

    Tom Morrison said:
    .gpio_cd    = -EINVAL, /* Dedicated pins for CD and WP */

    This is also valid for DM814x device. We have dedicated pin for CD (Card Detect), so we do not use GPIO pin (GP1[6]) for that purpose. The CD pins are SDx_CDSD.

    http://processors.wiki.ti.com/index.php/TI81xx_PSP_Porting_Guide#Adding_support_to_enable_multiple_MMC.2FSD_instances

    Set ".gpio_cd" and ".gpio_wp" as "-EINVAL" in case of DM8148 due to dedicated pins for CD (card detect)

    The pin mux can be checked from the device datasheet. In case of DM814x, all SDx_CDSD pins (SD0_CDSD, SD1_SDCD, SD2_CDSD) are not multiplexed with Ethernet related pins.

    mux814x.c:

    _TI814X_MUXENTRY(UART0_CTSN, 0,
                "uart0_ctsn", "uart4_rxd_mux3", NULL, "dcan1_tx",
                "spi1_cs3", NULL, "mmc0_sdcd", NULL),
        _TI814X_MUXENTRY(UART0_RTSN, 0,
                "uart0_rtsn", "uart4_txd_mux3", NULL, "dcan1_rx",
                "spi1_cs2", NULL, "mmc2_sdcd", NULL),    /* non DM385 */

    _TI814X_MUXENTRY(SPI0_CS1, 0,
                "spi0_cs1", "mmc1_sdcd", "sata_act0_led", NULL, NULL,
                "xdma_evt_1_mux1", "timer4_mux1", "gpio1_6"),

    Regards,
    Pavel

  • This really didn't answer my question:

    I was already quite familiar with these entries but I pointed out the additional mux that I did not understand:

    _TI814X_MUXENTRY(MCASP0_AXR2, 0,
             "mcasp0_axr2_ti811x", NULL, "pr1_mii0_rxlink_mux0",
             "pr1_pru0_pru_r31_6", "pr1_pru0_pru_r30_6",
              "i2c3_sda_mux0", "ehrpwm1_tripzone_input_mux1", NULL,
              "mmc1_sdcd_mux1", NULL, NULL, NULL),/*for TI811X only */

    If I didn't poll for SD Card - then I would not have seen it (because it seems that pin might be connected to something else internally/externally that does not allow for this to be seen directly.

    I just don't understand the mux that well? What is mmc1_sdcd_mux1?

    How can this be related - potentially to pr1_mii0_rxlink_mux0 - and when I remove all signals connected to Ethernet Phy (including MII interface).

    ?

  • Tom,

    Tom Morrison said:
    ,/*for TI811X only */

    Thus mux entry is valid for TI811x device only (DM811x, J5Eco, DRA62x). This is not valid for DM814x/TI814x device.

    In TI811x device, the MMC1/SD1 Card Detect pin (SD1_SDCD on AF4) is multiplexed with MCA[0]_AXR[2] and I2C[3]_SDA.

    Tom Morrison said:
    I just don't understand the mux that well? What is mmc1_sdcd_mux1?

    In TI811X device, MMC1/SD1 Card Detect signal (SD1_SDCD) can be routed to two physical external pins:AF17 (mux0) and AF4 (mux1). Thus when the signal is routed to AF17, its name is mmc1_sdcd_mux0 and when routed to AF4, its name is mmc1_sdcd_mux1. For more information about the Multi-Muxed option, see DM814x datasheet, section 4.3 Pin Multiplexing Control.

    Tom Morrison said:
    How can this be related - potentially to pr1_mii0_rxlink_mux0

    In TI811x/DM811x/J5Eco/DRA62x device, the mmc1_sdcd_mux1 signal can be selected on the AF4 pins, instead of pr1_mii0_rxlink_mux0 signal.

    pr1_mii0_rxlink_mux0 signal is NOT related to the Ethernet/EMAC module.

    Regards,
    Pavel