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 set bootargs when booting from nor flash?

Other Parts Discussed in Thread: PCF8575, TPS65910, PMP, CCSTUDIO

hello, all

In my ti8148 project, I design my system boot from nor flash. I load the bootloader to addr 0x0, load uImage to addr 0x8060000, and load my filesystem to addr 0x8460000. And then I set the bootargs like this:

setenv bootargs 'console=ttyO0,115200n8 root=/dev/mtdblock4 rw rootfs
type=jffs2 mem=100M earlyprintk notifyk.vpssm3_sva=0xA0000000 vram=50M ti814xfb.
vram=0:16M,1:16M,2:6M ip=off noinitrd'

But the bootup is fail, the  log is at the end of this thread.

Is that right? I copy this from the" psp u-boot user guide", but I don't understand what does it mean. Is there any user guide about bootargs setting? Any commnent is welcome!

Thank you ahead of time!

Best Regards,

qiuxicj

U-Boot 2010.06 (Sep 02 2013 - 04:55:41)

TI8148-GP rev 2.1

ARM clk: 600MHz
DDR clk: 400MHz

I2C:   ready
DRAM:  2 GiB
Flash: 64 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:   Detected MACID:0:18:32:63:1d:2b
cpsw
Hit any key to stop autoboot:  0
TI8148_EVM#setenv bootargs 'console=ttyO0,115200n8 root=/dev/mtdblock3 rw rootfs
type=j<INTERRUPT>
TI8148_EVM#setenv bootargs 'console=ttyO0,115200n8 root=/dev/mtdblock4 rw rootfs
type=jffs2 mem=100M earlyprintk notifyk.vpssm3_sva=0xA0000000 vram=50M ti814xfb.
vram=0:16M,1:16M,2:6M ip=off noinitrd'
TI8148_EVM#printenv
bootdelay=3
baudrate=115200
autoload=yes
verify=yes
bootfile=uImage
ramdisk_file=ramdisk.gz
loadaddr=0x81000000
script_addr=0x80900000
loadbootscript=fatload mmc 0 ${script_addr} boot.scr
bootscript= echo Running bootscript from MMC/SD to set the ENV...; source ${scri
pt_addr}
ethaddr=00:18:32:63:1d:2b
ethact=cpsw
bootcmd=bootm 0x08060000
stdin=serial
stdout=serial
stderr=serial
bootargs=console=ttyO0,115200n8 root=/dev/mtdblock4 rw rootfstype=jffs2 mem=100M
 earlyprintk notifyk.vpssm3_sva=0xA0000000 vram=50M ti814xfb.vram=0:16M,1:16M,2:
6M ip=off noinitrd

Environment size: 560/8188 bytes
TI8148_EVM#bootm 8060000
## Booting kernel from Legacy Image at 08060000 ...
   Image Name:   Linux-2.6.37
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2733880 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@pcx-desktop) (gcc version 4.3.3 (Sourcery G++ Lite 20
09q1-203) ) #16 Sun Jun 23 13:50:00 EDT 2013
CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: ti8148evm
bootconsole [earlycon0] enabled
vram size = 52428800 at 0x0
reserved size = 52428800 at 0x0
FB: Reserving 52428800 bytes SDRAM for VRAM
Memory policy: ECC disabled, Data cache writeback
OMAP chip is TI8148 2.1
SRAM: Mapped pa 0x402f1000 to va 0xfe400000 size: 0xf000
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 12600
Kernel command line: console=ttyO0,115200n8 root=/dev/mtdblock4 rw rootfstype=jf
fs2 mem=100M earlyprintk notifyk.vpssm3_sva=0xA0000000 vram=50M ti814xfb.vram=0:
16M,1:16M,2:6M ip=off noinitrd
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 50MB = 50MB total
Memory: 44460k/44460k available, 57940k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
    vmalloc : 0xc6800000 - 0xf8000000   ( 792 MB)
    lowmem  : 0xc0000000 - 0xc6400000   ( 100 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    modules : 0xbf000000 - 0xbfe00000   (  14 MB)
      .init : 0xc0008000 - 0xc003c000   ( 208 kB)
      .text : 0xc003c000 - 0xc052c000   (5056 kB)
      .data : 0xc052c000 - 0xc05778c0   ( 303 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... 598.01 BogoMIPS (lpj=2990080)
pid_max: default: 32768 minimum: 301
Security Framework initialized
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
devtmpfs: initialized
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
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 @0xc6820000
ti81xx_pcie: Starting PCI scan...
PCI: bus0: Fast back to back transfers enabled
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 1-0021: gpios 128..143 on a pcf8575
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
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 c681e000 using DMA, IRQ 18
musb-hdrc musb-hdrc.1: dma type: dma-cppi41
MUSB controller-1 revision 4ea20800
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 c6826800 using DMA, IRQ 19
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
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 86
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 ahci.0: forcing PORTS_IMPL to 0x1
ahci ahci.0: AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl platform mode
ahci ahci.0: flags: ncq sntf 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
No NAND device found.
No NAND device found.
davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
davinci_mdio davinci_mdio.0: detected phy mask fffffffc
davinci_mdio.0: probed
davinci_mdio davinci_mdio.0: phy[0]: device 0:00, driver unknown
davinci_mdio davinci_mdio.0: phy[1]: device 0:01, 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 adapter
s
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
notify_init : notify drivercreated  for  remote proc id 2 at physical Address 0x
a0000000
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)
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
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=0:18:32:63:1d:2b
Detected MACID=0:18:32:63:1d:2b
ata1: SATA link down (SStatus 0 SControl 300)
Root-NFS: no NFS server address
VFS: Unable to mount root fs via NFS, trying floppy.
List of all partitions:
No filesystem could mount root, tried:  jffs2
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
Backtrace:
[<c004abd0>] (dump_backtrace+0x0/0x110) from [<c03dc5c4>] (dump_stack+0x18/0x1c)

 r7:c2c14000 r6:c0072940 r5:c002f46c r4:c0578110
[<c03dc5ac>] (dump_stack+0x0/0x1c) from [<c03dc628>] (panic+0x60/0x17c)
[<c03dc5c8>] (panic+0x0/0x17c) from [<c00092b4>] (mount_block_root+0x1e0/0x220)
 r3:00000000 r2:00000020 r1:c2c25f58 r0:c04a710c
[<c00090d4>] (mount_block_root+0x0/0x220) from [<c00093a0>] (mount_root+0xac/0xc
c)
[<c00092f4>] (mount_root+0x0/0xcc) from [<c0009530>] (prepare_namespace+0x170/0x
1d4)
 r4:c0577924
[<c00093c0>] (prepare_namespace+0x0/0x1d4) from [<c00087c4>] (kernel_init+0x114/
0x154)
 r5:c00086b0 r4:c05778c0
[<c00086b0>] (kernel_init+0x0/0x154) from [<c0072940>] (do_exit+0x0/0x5e4)
 r5:c00086b0 r4:00000000

  • by the way, I use the EVM board.

  • Hello,

    qiuxicj MESSN said:
    VFS: Unable to mount root fs via NFS, trying floppy.
    List of all partitions:
    No filesystem could mount root, tried:  jffs2
    Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

    This mean your bootloader and uImage are fine, the problem is in the root filesystem. Refer to be link below:

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

    TI8148_EVM# setenv bootargs 'mem=128M console=ttyO2,115200n8 noinitrd root=/dev/mtdblock3 rw rootfstype=jffs2 ip=dhcp'

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_UBOOT_User_Guide#Environment_Settings_for_JFFS2_Filesystem

    console=ttyO0,115200n8 root=/dev/mtdblock<partion_id> [ro|rw] rootfstype=jffs2 mem=100M earlyprintk

    rootfs on NOR ==> partion_id should be 3

    TI8148_EVM# setenv bootargs 'console=ttyO0,115200n8 root=/dev/mtdblock3 ro rootfstype=jffs2
    mem=100M earlyprintk'


    TI8148_EVM# setenv bootargs 'console=ttyO0,115200n8 root=/dev/mtdblock4 rw rootfstype=jffs2 
    mem=100M earlyprintk'
     
    BR,
    Pavel
  • hello, Pavel

    I have try all the ways that you mentioned, but I fails to boot up. and the log is the same. Do you have any other suggestions?

  • Qiuxicj,

    qiuxicj MESSN said:
    I load the bootloader to addr 0x0, load uImage to addr 0x8060000, and load my filesystem to addr 0x8460000. And

    The bootloader addr does not look correct. This is the NOR layout:

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_UBOOT_User_Guide#NOR_Layout

    Please align to it. The bootloader should be loaded at addr 0x08000000, uImage should be loaded to addr 0x08060000, the filesystem should be loaded to addr 0x08460000.

    Also double check your JFFS2 filesystem configuration:

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_UBOOT_User_Guide#Creating_JFFS2_File-system

    Please provide again your full log, with the new bootargs and settings.

    BR
    Pavel

  • Hello, Pavel

    I exactly follow  your instruction to creat the filesystem.

    I remove the nand init code in board-ti8148evm.c, which cause the NOR request GPMC fail. Am I right?

    The differences in boot logs is: 

    jffs2: Flash size not aligned to erasesize, reducing to 0KiB
    jffs2: Too few erase blocks (0)
    List of all partitions:
    1f00             256 mtdblock0  (driver?)
    1f01             128 mtdblock1  (driver?)
    1f02            4096 mtdblock2  (driver?)
    1f03           51200 mtdblock3  (driver?)
    1f04           75392 mtdblock4  (driver?)
    No filesystem could mount root, tried:  jffs2
    Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,3)


    and the all logs is following:

    ## Booting kernel from Legacy Image at 08060000 ...
       Image Name:   Linux-2.6.37
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    2740076 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@pcx-desktop) (gcc version 4.3.3 (Sourcery G++ Lite 20
    09q1-203) ) #117 Wed Sep 4 16:05:01 EDT 2013
    CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
    CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
    Machine: ti8148evm
    bootconsole [earlycon0] enabled
    reserved size = 52428800 at 0x0
    FB: Reserving 52428800 bytes SDRAM for VRAM
    Memory policy: ECC disabled, Data cache writeback
    OMAP chip is TI8148 2.1
    SRAM: Mapped pa 0x402f1000 to va 0xfe400000 size: 0xf000
    Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 12600
    Kernel command line: console=ttyO0,115200n8 root=/dev/mtdblock3 rw rootfstype=jf
    fs2 mem=100M earlyprintk
    PID hash table entries: 256 (order: -2, 1024 bytes)
    Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
    Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
    Memory: 50MB = 50MB total
    Memory: 44452k/44452k available, 57948k reserved, 0K highmem
    Virtual kernel memory layout:
        vector  : 0xffff0000 - 0xffff1000   (   4 kB)
        fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
        DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
        vmalloc : 0xc6800000 - 0xf8000000   ( 792 MB)
        lowmem  : 0xc0000000 - 0xc6400000   ( 100 MB)
        pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
        modules : 0xbf000000 - 0xbfe00000   (  14 MB)
          .init : 0xc0008000 - 0xc003c000   ( 208 kB)
          .text : 0xc003c000 - 0xc052e000   (5064 kB)
          .data : 0xc052e000 - 0xc05798c0   ( 303 kB)
    SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    NR_IRQS:407
    I am ti8148_evm_init_irq!
    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
    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
    I am ti8148_evm_init!
    omap_mux_init: Add partition: #1: core, flags: 4
    111r value = 01
    I am omap2_init_devices
    I am after ti814x_pcie_pllcfg
    I am ti814x_nor_init!
    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 @0xc6820000
    ti81xx_pcie: Starting PCI scan...
    PCI: bus0: Fast back to back transfers enabled
    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 1-0021: gpios 128..143 on a pcf8575
    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
    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 c681e000 using DMA, IRQ 18
    musb-hdrc musb-hdrc.1: dma type: dma-cppi41
    MUSB controller-1 revision 4ea20800
    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 c6826800 using DMA, IRQ 19
    NET: Registered protocol family 2
    IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
    TCP established hash table entries: 2048 (order: 2, 16384 bytes)
    TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
    TCP: Hash tables configured (established 2048 bind 2048)
    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 86
    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 ahci.0: forcing PORTS_IMPL to 0x1
    ahci ahci.0: AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl platform mode
    ahci ahci.0: flags: ncq sntf 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
    physmap platform flash device: 08000000 at 08000000
    physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer ID 0x00
    0001 Chip ID 0x002301
    Support for command set 0002 not present
    gen_probe: No supported Vendor Command Set found
    RedBoot partition parsing not available
    Using physmap partition information
    Creating 5 MTD partitions on "physmap-flash.0":
    0x000000000000-0x000000040000 : "bootloader"
    0x000000040000-0x000000060000 : "env"
    0x000000060000-0x000000460000 : "kernel"
    0x000000460000-0x000003660000 : "filesystem"
    0x000003660000-0x000008000000 : "reserved"
    omap2-nand driver initializing
    davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
    davinci_mdio davinci_mdio.0: detected phy mask fffffffc
    davinci_mdio.0: probed
    davinci_mdio davinci_mdio.0: phy[0]: device 0:00, driver unknown
    davinci_mdio davinci_mdio.0: phy[1]: device 0:01, 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 adapter
    s
    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=0:18:32:63:1d:2b
    omap_rtc omap_rtc: setting system clock to 2000-01-01 00:00:01 UTC (946684801)
    ata1: SATA link down (SStatus 0 SControl 300)
    jffs2: Flash size not aligned to erasesize, reducing to 0KiB
    jffs2: Too few erase blocks (0)
    List of all partitions:
    1f00             256 mtdblock0  (driver?)
    1f01             128 mtdblock1  (driver?)
    1f02            4096 mtdblock2  (driver?)
    1f03           51200 mtdblock3  (driver?)
    1f04           75392 mtdblock4  (driver?)
    No filesystem could mount root, tried:  jffs2
    Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,3)
    Backtrace:
    [<c004abd0>] (dump_backtrace+0x0/0x110) from [<c03e0634>] (dump_stack+0x18/0x1c)

     r7:c2c14000 r6:c0072cbc r5:c002f274 r4:c057a110
    [<c03e061c>] (dump_stack+0x0/0x1c) from [<c03e0698>] (panic+0x60/0x17c)
    [<c03e0638>] (panic+0x0/0x17c) from [<c00092b4>] (mount_block_root+0x1e0/0x220)
     r3:00000000 r2:00000020 r1:c2c25f58 r0:c04aa4fc
    [<c00090d4>] (mount_block_root+0x0/0x220) from [<c00093a0>] (mount_root+0xac/0xc
    c)
    [<c00092f4>] (mount_root+0x0/0xcc) from [<c0009530>] (prepare_namespace+0x170/0x
    1d4)
     r4:c0579924
    [<c00093c0>] (prepare_namespace+0x0/0x1d4) from [<c00087c4>] (kernel_init+0x114/
    0x154)
     r5:c00086b0 r4:c05798c0
    [<c00086b0>] (kernel_init+0x0/0x154) from [<c0072cbc>] (do_exit+0x0/0x5e4)
     r5:c00086b0 r4:00000000

    Best Regards,

    qiuxicj

  • hello, Pavel

    the process is like this:

    mkfs.jffs2 -lqn –e 128 -r /usr/local/ezsdk/myfs -o /tftpboot/rd-jffs2.bin


    TI8168_EVM# tftp 81000000 rd-jffs2.bin
    TI8168_EVM# protect off 0x08460000 0x0B65FFFF
    TI8168_EVM# erase 0x08460000 0x0B65FFFF
    TI8168_EVM# cp.w 0x81000000 0x08460000    (size of rd-jffs2.bin/2)

    TI8148_EVM# setenv bootargs 'console=ttyO0,115200n8 root=/dev/mtdblock3 rw rootfstype=jffs2 mem=100M earlyprintk'

    TI8168_EVM# bootm 8060000

    Best Regards,

    qiuxicj

  • Qiuxicj,

    qiuxicj MESSN said:
    I remove the nand init code in board-ti8148evm.c, which cause the NOR request GPMC fail. Am I right?

    No, I do not think this is correct.

    To select between on board NAND booting or NOR booting on application boards (video vision or video security) a
    DIP switch SW2 is provided on the DM814x/AM387x base EVM. For on board NAND booting SW2.1 should be ON. For NOR booting SW2.1 should be OFF.

    At Power-On condition, GPMC_A27 from Base EVM (Pin R24 of DM814x) should be high to operate NOR Flash by default. Camera and NOR signals are muxed in Expansion I/O Board. IO Expander IC which is connected to I2C0 line of DM814x is used to select either Camera or NOR Flash. To make NOR as default operation, SEL_NOR_S1 (IO number of P05 of U34) should be High: SEL_NOR_S1(U34.P05)

    Are you aligned with the above requirements?

    Regards,
    Pavel

  • Qiuxicj,

    qiuxicj MESSN said:

    the process is like this:

    mkfs.jffs2 -lqn –e 128 -r /usr/local/ezsdk/myfs -o /tftpboot/rd-jffs2.bin

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_UBOOT_User_Guide#Creating_JFFS2_File-system

    In the link above we have:

    Probably the most important argument to the utility is the erase block size. For the NAND part on the TI8168 EVM board the erase block is 128k Consult either u-boot, the kernel, or the data manual for the flash part used to find the erase block size.

    I suspect that the NOR part has different than the NAND part erase block size (128k). You should double check the NOR part erase block size and use it in the making of the JFFS2 fs process.

    Regards,
    Pavel

  • Dear Pavel,
      Thank you for your reply.
      I have check the SW2.1, it is selected for NOR.
      According to the design in HW, Pin R24 should function as GPIO, and output low. And I double check that it is low.
      SEL_NOR_S1 should be right, because it controls the low GPMC addr pin, otherwise the kernel cannot bootup, right?
      And I double check the NOR erase block, it is 128k.
      Any other requirements do I have to be aligned with? I still can not solve the problem.
      Best Regards,
      qiuxicj

  • hello Pavel,

    Do I have to select "JFFS2 summary support","JFFS2 XATTR support"and "Advanced compression options" in the menuconfig, which is not mentioned in user guide?

    Best Regards, 

    Qiuxicj

  • Qiuxicj,

    Have you followed the below guidelines?

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_UBOOT_User_Guide#Board_Modification

    Following board modifications have to be done in the Catalogue board (CATA_x) / Base Board for NOR  to work.

    2. TI8148 Base board: Remove the resistors R410, R248 and populate R242,R229(Both values are 22 ohms)

          This is required to access the entire NOR memory. NOR address lines (A22 and A23)  and HDMI lines are shared.

       a) Populating the resistors R410, R248 (Both are 22 ohms) will enable HDMI

       b) Populating the resistors R242, R229 (Both are 22 ohms) will enable NOR

    By default, resistors are populated for HDMI and CE_REMOTE enabled. This puts limitation on the size of NOR memory that can be accessed. With HDMI and CE_REMOTE enabled, NOR device lines A22 and A23 cannot be used and hence the maximum addressable memory is 2^22  = 4 MB. Hence, if the entire NOR memory has to be accessed, then the above modification (2) has to be done.
         NOTE: HDMI and CE_REMOTE will not work after this modification(2).

    With the default DM814x Base Board configuration (resistors R410 and R248 are populated) you will be able to access only first 4MB of the total 64MB NOR flash. May be this is the reason your booting procedure fail at the root file system stage.

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_UBOOT_User_Guide#U-Boot_NOR_Support

    This section gives an overview of the NOR support in U-Boot. It also describe how to store the kernel image, RAMDISK or the JFFS2 filesystem to NOR so as to have a network-free boot right from powering on the board to getting the kernel up and running.

    Can you try using RAMDISK instead of JFFS2 filesystem. For RAMDISK, refer to the links below:

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

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

    BR
    Pavel

  • Hello Pavel,

    Pavel Botev said:

    2. TI8148 Base board: Remove the resistors R410, R248 and populate R242,R229(Both values are 22 ohms)

          This is required to access the entire NOR memory. NOR address lines (A22 and A23)  and HDMI lines are shared.

       a) Populating the resistors R410, R248 (Both are 22 ohms) will enable HDMI

       b) Populating the resistors R242, R229 (Both are 22 ohms) will enable NOR

    By default, resistors are populated for HDMI and CE_REMOTE enabled. This puts limitation on the size of NOR memory that can be accessed. With HDMI and CE_REMOTE enabled, NOR device lines A22 and A23 cannot be used and hence the maximum addressable memory is 2^22  = 4 MB. Hence, if the entire NOR memory has to be accessed, then the above modification (2) has to be done.
         NOTE: HDMI and CE_REMOTE will not work after this modification(2).

    I have double check this, it is right. 

    by the way, I have a doubt in http://processors.wiki.ti.com/index.php/TI81XX_PSP_UBOOT_User_Guide#U-Boot_NOR_Support 

    : Config Macros
        #define CONFIG_SYS_FLASH_CFI
        #define CONFIG_MTD_DEVICE
        #define CONFIG_FLASH_CFI_DRIVER
        #define CONFIG_FLASH_CFI_MTD
        #define CONFIG_SYS_MAX_FLASH_SECT   512
        #define CONFIG_SYS_MAX_FLASH_BANKS  1
        #define CONFIG_ENV_IS_IN_FLASH      1
        #define CONFIG_SYS_FLASH_BASE       (0x08000000)
        #define CONFIG_SYS_MONITOR_BASE     CONFIG_SYS_FLASH_BASE
        #define NOR_SECT_SIZE               (128 * 1024)
        #define CONFIG_SYS_ENV_SECT_SIZE    (NOR_SECT_SIZE)
        #define CONFIG_ENV_OFFSET           (2 * NOR_SECT_SIZE)
        #define CONFIG_ENV_ADDR             (CONFIG_ENV_OFFSET)
    These macros assume spansion flash being used in the EVM. For any other flash part, the sector size macro (NOR_SECT_SIZE) has to be modified.

    I found these macros in the u-boot source code which is undefined, and I open these macros, am I right? 

    how to add these macros? In the u-boot source code, kernel source code or in the menuconfig? can you detail it ?

    I will try the RAMDISK and tell you the result.

    Thanks you so much for your reply!

    Best Regards,

    qiuxicj

  • hello Pavel,
    I have tried the ramdisk fs. the step is as follow:

    create the ramdisk.gz:

    dd if=/dev/zero of=ramdisk bs=1M count=32
    mkfs ramdisk
    mkdir mnt
    mount -o loop ramdisk mnt
    cp -r myfspath/* /mnt/
    umount mnt
    gzip ramdisk

    copy ramdisk.gz to dir:/tftpboot/

    start evm

    tftp 82000000 ramdisk.gz
    protect off 0x08460000 0x0B65FFFF
    erase 0x08460000 0x0B65FFFF
    cp.w 0x82000000 0x08460000 0x800000 
    setenv bootargs 'console=ttyO0,115200n8 mem=256M earlyprintk root=/dev/ram rw initrd=0x82000000,32MB'
    setenv bootcmd 'cp.w 0x8460000 0x82000000 0x320000;bootm 0x08060000'
    bootm

    The step is right? and the boot log is as follow:

    U-Boot 2010.06 (Sep 04 2013 - 12:39:24)

    TI8148-GP rev 2.1

    ARM clk: 600MHz
    DDR clk: 400MHz

    I2C:   ready
    DRAM:  2 GiB
    Flash: 64 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:   Detected MACID:0:18:32:63:1d:2b
    cpsw
    Hit any key to stop autoboot:  0
    TI8148_EVM#printenv
    bootdelay=3
    baudrate=115200
    autoload=yes
    verify=yes
    bootfile=uImage
    ramdisk_file=ramdisk.gz
    loadaddr=0x81000000
    script_addr=0x80900000
    loadbootscript=fatload mmc 0 ${script_addr} boot.scr
    bootscript= echo Running bootscript from MMC/SD to set the ENV...; source ${scri
    pt_addr}
    ethaddr=00:18:32:63:1d:2b
    ethact=cpsw
    filesize=AB256E
    fileaddr=82000000
    ipaddr=192.168.1.123
    serverip=192.168.1.120
    bootargs=console=ttyO0,115200n8 mem=256M ip=dhcp earlyprintk root=/dev/ram rw in
    itrd=0x82000000,32MB
    bootcmd=cp.w 0x8460000 0x82000000 0x320000;bootm 0x08060000
    stdin=serial
    stdout=serial
    stderr=serial

    Environment size: 595/8188 bytes
    TI8148_EVM#setenv bootargs 'console=ttyO0,115200n8 mem=256M ip=dhcp earlyprintk
    root=/dev/ram rw initrd=0x82000000,32MB'
    TI8148_EVM#setenv bootargs 'console=ttyO0,115200n8 mem=256M earlyprintk root=/de
    v/ram rw initrd=0x82000000,32MB'
    TI8148_EVM#printenv
    bootdelay=3
    baudrate=115200
    autoload=yes
    verify=yes
    bootfile=uImage
    ramdisk_file=ramdisk.gz
    loadaddr=0x81000000
    script_addr=0x80900000
    loadbootscript=fatload mmc 0 ${script_addr} boot.scr
    bootscript= echo Running bootscript from MMC/SD to set the ENV...; source ${scri
    pt_addr}
    ethaddr=00:18:32:63:1d:2b
    ethact=cpsw
    filesize=AB256E
    fileaddr=82000000
    ipaddr=192.168.1.123
    serverip=192.168.1.120
    bootcmd=cp.w 0x8460000 0x82000000 0x320000;bootm 0x08060000
    stdin=serial
    stdout=serial
    stderr=serial
    bootargs=console=ttyO0,115200n8 mem=256M earlyprintk root=/dev/ram rw initrd=0x8
    2000000,32MB

    Environment size: 587/8188 bytes
    TI8148_EVM#saveenv
    Saving Environment to Flash...
    Un-Protected 1 sectors
    Erasing Flash...
    . done
    Erased 1 sectors
    Writing to Flash... done
    Protected 1 sectors
    TI8148_EVM#boot
    ## Booting kernel from Legacy Image at 08060000 ...
       Image Name:   Linux-2.6.37
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    2714660 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@pcx-desktop) (gcc version 4.3.3 (Sourcery G++ Lite 20
    09q1-203) ) #120 Thu Sep 5 09:09:08 EDT 2013
    CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
    CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
    Machine: ti8148evm
    bootconsole [earlycon0] enabled
    reserved size = 52428800 at 0x0
    FB: Reserving 52428800 bytes SDRAM for VRAM
    Memory policy: ECC disabled, Data cache writeback
    OMAP chip is TI8148 2.1
    SRAM: Mapped pa 0x402f1000 to va 0xfe400000 size: 0xf000
    Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 52224
    Kernel command line: console=ttyO0,115200n8 mem=256M earlyprintk root=/dev/ram r
    w initrd=0x82000000,32MB
    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: 206MB = 206MB total
    Memory: 170084k/170084k available, 92060k reserved, 0K highmem
    Virtual kernel memory layout:
        vector  : 0xffff0000 - 0xffff1000   (   4 kB)
        fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
        DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
        vmalloc : 0xd0800000 - 0xf8000000   ( 632 MB)
        lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
        pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
        modules : 0xbf000000 - 0xbfe00000   (  14 MB)
          .init : 0xc0008000 - 0xc003c000   ( 208 kB)
          .text : 0xc003c000 - 0xc0524000   (5024 kB)
          .data : 0xc0524000 - 0xc056cd40   ( 292 kB)
    SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    NR_IRQS:407
    I am ti8148_evm_init_irq!
    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... 598.01 BogoMIPS (lpj=2990080)
    pid_max: default: 32768 minimum: 301
    Security Framework initialized
    Mount-cache hash table entries: 512
    CPU: Testing write buffer coherency: ok
    devtmpfs: initialized
    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
    I am ti8148_evm_init!
    omap_mux_init: Add partition: #1: core, flags: 4
    111r value = 01
    I am omap2_init_devices
    I am after ti814x_pcie_pllcfg
    I am ti814x_nor_init!
    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 @0xd0820000
    ti81xx_pcie: Starting PCI scan...
    PCI: bus0: Fast back to back transfers enabled
    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 1-0021: gpios 128..143 on a pcf8575
    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
    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 d081e000 using DMA, IRQ 18
    musb-hdrc musb-hdrc.1: dma type: dma-cppi41
    MUSB controller-1 revision 4ea20800
    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 d0826800 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.
    Trying to unpack rootfs image as initramfs...
    rootfs image is not initramfs (no cpio magic); looks like an initrd
    Freeing initrd memory: 32768K
    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 396
    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 ahci.0: forcing PORTS_IMPL to 0x1
    ahci ahci.0: AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl platform mode
    ahci ahci.0: flags: ncq sntf 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
    physmap platform flash device: 08000000 at 08000000
    physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer ID 0x00
    0001 Chip ID 0x002301
    Support for command set 0002 not present
    gen_probe: No supported Vendor Command Set found
    RedBoot partition parsing not available
    Using physmap partition information
    Creating 5 MTD partitions on "physmap-flash.0":
    0x000000000000-0x000000040000 : "bootloader"
    0x000000040000-0x000000060000 : "env"
    0x000000060000-0x000000460000 : "kernel"
    0x000000460000-0x000003660000 : "filesystem"
    0x000003660000-0x000008000000 : "reserved"
    davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
    davinci_mdio davinci_mdio.0: detected phy mask fffffffc
    davinci_mdio.0: probed
    davinci_mdio davinci_mdio.0: phy[0]: device 0:00, driver unknown
    davinci_mdio davinci_mdio.0: phy[1]: device 0:01, 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 adapter
    s
    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=0:18:32:63:1d:2b
    omap_rtc omap_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
    I am in do_basic_setup

    ata1: SATA link down (SStatus 0 SControl 300)
    RAMDISK: gzip image found at block 0
    mmc0: new high speed SDHC card at address e624
    mmcblk0: mmc0:e624 SD08G 7.40 GiB
     mmcblk0: p1 p2 p3
    uncompression error
    I am in mount_block_root  List of all partitions
    VFS: Mounted root (ext2 filesystem) on device 1:0.
    EXT2-fs (ram0): error: ext2_lookup: deleted inode referenced: 6145
    devtmpfs: error mounting -5
    Freeing init memory: 208K
    EXT2-fs (ram0): error: ext2_check_page: bad entry in directory #4190: : rec_len
    is smaller than minimal - offset=0, inode=0, rec_len=0, name_len=0
    EXT2-fs (ram0): error: ext2_check_page: bad entry in directory #4097: : rec_len
    is smaller than minimal - offset=0, inode=0, rec_len=0, name_len=0
    Kernel panic - not syncing: No init found.  Try passing init= option to kernel.
    See Linux Documentation/init.txt for guidance.
    Backtrace:
    [<c004abd0>] (dump_backtrace+0x0/0x110) from [<c03d7714>] (dump_stack+0x18/0x1c)

     r7:00000013 r6:c0072b20 r5:c00086b0 r4:c056d590
    [<c03d76fc>] (dump_stack+0x0/0x1c) from [<c03d7778>] (panic+0x60/0x17c)
    [<c03d7718>] (panic+0x0/0x17c) from [<c003c5c8>] (init_post+0xa4/0xc4)
     r3:ca68ef00 r2:00000000 r1:c06f71c0 r0:c04a051d
    [<c003c524>] (init_post+0x0/0xc4) from [<c00087d0>] (kernel_init+0x120/0x160)
     r5:c00086b0 r4:c056cd40
    [<c00086b0>] (kernel_init+0x0/0x160) from [<c0072b20>] (do_exit+0x0/0x5e4)
     r5:c00086b0 r4:00000000

     

    Best Regards,

    qiuxicj

  • Qiuxicj,

    qiuxicj MESSN said:

    by the way, I have a doubt in http://processors.wiki.ti.com/index.php/TI81XX_PSP_UBOOT_User_Guide#U-Boot_NOR_Support 

    : Config Macros
        #define CONFIG_SYS_FLASH_CFI
        #define CONFIG_MTD_DEVICE
        #define CONFIG_FLASH_CFI_DRIVER
        #define CONFIG_FLASH_CFI_MTD
        #define CONFIG_SYS_MAX_FLASH_SECT   512
        #define CONFIG_SYS_MAX_FLASH_BANKS  1
        #define CONFIG_ENV_IS_IN_FLASH      1
        #define CONFIG_SYS_FLASH_BASE       (0x08000000)
        #define CONFIG_SYS_MONITOR_BASE     CONFIG_SYS_FLASH_BASE
        #define NOR_SECT_SIZE               (128 * 1024)
        #define CONFIG_SYS_ENV_SECT_SIZE    (NOR_SECT_SIZE)
        #define CONFIG_ENV_OFFSET           (2 * NOR_SECT_SIZE)
        #define CONFIG_ENV_ADDR             (CONFIG_ENV_OFFSET)
    These macros assume spansion flash being used in the EVM. For any other flash part, the sector size macro (NOR_SECT_SIZE) has to be modified.

    I found these macros in the u-boot source code which is undefined, and I open these macros, am I right? 

    how to add these macros? In the u-boot source code, kernel source code or in the menuconfig? can you detail it ?

    These macros are defined when you compile your u-boot with the "ti8148_evm_config_nor" command:

    pbotev@pbotev:~/ti-ezsdk_dm814x-evm_5_05_02_00/board-support/u-boot-2010.06-psp04.04.00.01$ make ti8148_evm_config_nor
    Setting up TI8148 default build with ENV in NOR...
    Configuring for ti8148_evm board...

    Thus your u-boot-2010.06-psp04.04.00.01/include/config.h file is filled by the Makefile as:

    #define CONFIG_TI81XX
    #define CONFIG_TI814X
    #define CONFIG_TI_DUMMY_HEADER
    #define CONFIG_NOR
    #define CONFIG_NOR_BOOT

    /* Automatically generated - do not edit */
    #define CONFIG_BOARDDIR board/ti/ti8148
    #include <config_defaults.h>
    #include <configs/ti8148_evm.h>
    #include <asm/config.h>

    u-boot-2010.06-psp04.04.00.01/Makefile file structure:

    ti8148_evm_config_nor    \
    ...................
    @mkdir -p $(obj)include
        @echo "#define CONFIG_TI81XX"    >>$(obj)include/config.h
        @echo "#define CONFIG_TI814X"    >>$(obj)include/config.h
    ....................
    echo "TEXT_BASE = 0x80700000" >> $(obj)board/ti/ti8148/config.tmp;\
            echo "#define CONFIG_TI_DUMMY_HEADER"    >>$(obj)include/config.h; \
    ..................
    elif [ "$(findstring _nor,$@)" ] ; then \
                echo "#define CONFIG_NOR"    >>$(obj)include/config.h ; \
                echo "#define CONFIG_NOR_BOOT"    >>$(obj)include/config.h ; \
                echo "Setting up TI8148 default build with ENV in NOR..." ; \


    Then, these NOR macros are described in the u-boot-2010.06-psp04.04.00.01/include/configs/ti8148_evm.h file:

    /* NOR support */
    #if defined(CONFIG_NOR)
    # undef CONFIG_CMD_NAND            /* Remove NAND support */
    # undef CONFIG_NAND_TI81XX
    # undef CONFIG_SKIP_LOWLEVEL_INIT
    # define CONFIG_TI814X_CONFIG_DDR
    # define CONFIG_SETUP_PLL
    # define CONFIG_TI814X_EVM_DDR3
    # undef CONFIG_ENV_IS_NOWHERE
    # ifdef CONFIG_SYS_MALLOC_LEN
    #  undef CONFIG_SYS_MALLOC_LEN
    # endif
    # define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 1
    # define CONFIG_SYS_MALLOC_LEN        (0x100000)
    # define CONFIG_SYS_FLASH_CFI
    # define CONFIG_FLASH_CFI_DRIVER
    # define CONFIG_FLASH_CFI_MTD
    # define CONFIG_SYS_MAX_FLASH_SECT    512
    # define CONFIG_SYS_MAX_FLASH_BANKS    1
    # define CONFIG_SYS_FLASH_BASE        (0x08000000)
    # define CONFIG_SYS_MONITOR_BASE    CONFIG_SYS_FLASH_BASE
    # define CONFIG_ENV_IS_IN_FLASH    1
    # define NOR_SECT_SIZE            (128 * 1024)
    # define CONFIG_SYS_ENV_SECT_SIZE    (NOR_SECT_SIZE)
    # define CONFIG_ENV_SECT_SIZE        (NOR_SECT_SIZE)
    # define CONFIG_ENV_OFFSET        (2 * NOR_SECT_SIZE)
    # define CONFIG_ENV_ADDR        (CONFIG_SYS_FLASH_BASE + CONFIG_ENV_OFFSET)
    # define CONFIG_MTD_DEVICE
    #endif    /* NOR support */

    As you are with the DM814x EVM, which has NOR Flash from Spansion (S29GL512P90TFC02), then you do not need to modify the sector size macro (NOR_SECT_SIZE).

    I will further check how to solve the JFFS2 mount issue.

    Regards,
    Pavel

  • Qiuxicj,

    qiuxicj MESSN said:

    the process is like this:

    mkfs.jffs2 -lqn –e 128 -r /usr/local/ezsdk/myfs -o /tftpboot/rd-jffs2.bin

    Which filesystem do you pass to the mkfs.jffs2 tool, is it ti-ezsdk_dm814x-evm_5_05_02_00/filesystem/ezsdk-dm814x-evm-rootfs or ti-ezsdk_dm814x-evm_5_05_02_00/filesystem/arago-base-tisdk-image-dm814x-evm ?

    What is the size of the rd-jffs2.bin result output file?

    I see that you are running the u-boot from NOR, how did you write the NOR u-boot (u-boot.bin) to the NOR flash for first time, is it with the CCStudio based PSP flashing tool ?

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_Flashing_Tools_Guide#Burning_images_to_NOR_Flash_.28using_CCS.29

    Best regards,
    Pavel

  • hello, Pavel
      I deal with other things these days. The problem haven't solve.
      The filesystem I used is arago-base-tisdk-image-dm814x-evm. The size of the output file is about 14MB.
      To write the NOR u-boot to the NOR flash for the first time, I write myself driver. After finishing the writing of the u-boot, I also read u-boot out from NOR flash and check it is right. I think this part is no problem.

    Best Regards,
    qiuxicj

  • Hi Qiuxicj,

    qiuxicj MESSN said:
    To write the NOR u-boot to the NOR flash for the first time, I write myself driver.

    I am trying to write the NOR u-boot.bin from CCStudio, but with no success for the moment. The problem is that the NOR flash writer (norflash-writer.out) is available only for DM816x device. I will check with our PSP team for possible workaround.

    I will further check regarding the RAMDISK filesystem issue.

    Regards,
    Pavel

  • Qiuxicj,

    Are you aligned with the below wiki guidelines? Did you configure your kernel image (uImage) as below:

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

    During 'make menuconfig' NAND could be disabled by deselecting "NAND Device Support"
    from the following location

    Device Drivers ---> 
    <*> Memory Technology Device (MTD) support --->
    < > NAND Device Support --->
    • NOR support is not added by default to EVM defconfig. Hence please add NOR support from the following location during make menuconfig. De-selecting the menu item should disable NOR support and selecting it should enable NOR support.
    Device Drivers ---> 
    <*> Memory Technology Device (MTD) support --->
    <*> MTD concatenating support
    [*] MTD partitioning support
    [*] Command line partition table parsing
    RAM/ROM/Flash chip drivers --->
    <*> Detect flash chips by Common Flash Interface (CFI) probe
    <*> Detect non-CFI AMD/JEDEC-compatible flash chips
    <*> Support for AMD/Fujitsu/Spansion flash chips Mapping drivers for chip access --->
    <*> Flash device in physical memory map

    BR
    Pavel
  • Qiuxicj,

    How exactly you are flashing your NOR flash chip with the linux kernel image (uImage)? Is it from u-boot? If yes, are you using the below steps?

    Flashing Linux Kernel from U-Boot

    TFTP the kernel uImage to DDR.

    TI8148_EVM# tftp 81000000 <kernel_image> 

    Flash the kernel image to NOR

    TI8148_EVM# protect off 0x08060000 0x0845FFFF 
    TI8148_EVM# erase 0x08060000 0x0845FFFF
    TI8148_EVM# cp.w 0x81000000 0x08060000 0xcb4da (NOTE: 0xcb4da is size of kernel_image / 2)


    Best regards,
    Pavel
  • hello, Pavel:

        I changed the menuconfig and the problem solved. Thank you so much for your help!

    Best Regard,

    qiuxicj