[U-Boot] [PATCH v3 0/5] new cpu, ingenic xburst jz4740

xiangfu at openmobilefree.net xiangfu at openmobilefree.net
Mon Dec 6 12:53:51 CET 2010


Hi Wolfgang
  those patches are for add xburst jz4740 and Ben NanoNote to U-Boot

some info about xburst jz4740:
  the xburst jz4740 is recently added to linux 2.6.36
  and it's support the device Ben NanoNote out of box,

  this xburst jz4740 cpu have one feature is Boot From USB, there is a 
  small rom in jz4740, but LOW some PIN, the cpu will boot to this small
  rom, then init cpu and USB module, then we can send 8KB bin file to 
  the cpu by USB(by using 'xbboot' or 'usbboot'[1]).

  which means if your bootloader is borken,(the first few KBs in NAND)
  you can always boot the device from usb, then reflash the nand.

  in OpenMoko FreeRunner, there are NOR and NAND. when people broken the 
  nand bootloader, it's must boot from NOR, reflash the bootloader back
  when people broken the NAND and NOR, he(she) must reflash by using JTAG
  but in Ben NanoNote, we just need boot from usb. flash the nand again :)

  BTW:there are a lot of PMP, Audio device in China use the Xburst cpu,
  but I think they are all base on u-boot 1.1.6. by working on
  Ben NanoNote (http://en.qi-hardware.com) one year, we try to
  update the u-boot to last version and send it to upstream. :)

for more info about Ingenic Xburst JZ4740
  http://www.ingenic.cn/eng/default.aspx
  http://www.linux-mips.org/wiki/Ingenic

====
this PATCH v3[2] fixed:
  1. describe what Jz4740 SoC
  2. remove the ENDIANNESS in config.mk
  3. don't breaks the 80-charcter-wide rule
  4. get rid of #if 0
  5. use proper I/O accessors to access registers.
  6. remove C++ comments, cleanup code style.
  7.> +$(nandobj)u-boot-spl-16k.bin: $(nandobj)u-boot-spl.bin
    > > +  dd bs=1024 count=8 if=/dev/zero of=$(nandobj)junk1
    > > +  cat $< $(nandobj)junk1 > $(nandobj)junk2
    > > +  dd bs=1024 count=8 if=$(nandobj)junk2 of=$(nandobj)junk3
    > > +  cat $(nandobj)junk3 $(nandobj)junk3 > $(nandobj)junk4
    > > +  dd bs=1024 count=256 if=/dev/zero of=$(nandobj)junk5
    > > +  cat $(nandobj)junk4 $(nandobj)junk5 > $(nandobj)junk6
    > > +  dd bs=1024 count=256 if=$(nandobj)junk6 of=$@
    > > +  rm -f $(nandobj)junk*
    Why do you need all this?
      when jz4740 boot from nand, it will try load the first 8kb of nand,
      when the first 8kb ECC is not correct, then it try load the another 8kb
      by offset 0x2000 of NAND. so those code try to create a bin image put the 
      nand_spl to those two 8kb area.

TODO:
  1. Entry to MAINTAINERS mssing, Entry to boards.cfg missing.
  2. I will try to contact Ingenic people. for add them to Acked-by
  3. the '.set mips' ... I am not very understand, hopt I will fixed in next patches
  4. try to fix all issue form "Re: [U-Boot] [PATCH 3/5] jz4740 nand spl files" from Scott
  5. Please re-read http://www.denx.de/wiki/view/U-Boot/Patches#General_Patch_Submission_Rules
     try to send much better patches next time :)

====

[1] 'usbboot' and 'xbboot' is part of 'xburst-tools' in Debian
    we recently upload it to Debian unstable package repos.
[2] PATCH v1: I only send one patche,
    PATCH v2: the five patches, which still need a lot of works :)


More information about the U-Boot mailing list