[U-Boot] [PATCH v2 7/7] add support for palm treo 680 board

Marek Vasut
2013-04-12T17:26:27Z

Dear Mike Dunn,

> On 04/11/2013 12:20 PM, Marek Vasut wrote:
> > Dear Mike Dunn,
> >
> >> A quick overview of u-boot implementation on the treo 680...
> >>
> >> The treo 680 has a Diskonchip G4 nand flash chip. This device has a 2k
> >> region that maps to the system bus at the reset vector in a NOR-like
> >> fashion so that it can be used as the boot device. The phone is shipped
> >> with this 2k region configured as write-protected (can't be modified)
> >> and programmed with an initial program loader (IPL). At power-up, this
> >> IPL loads the contents of two flash blocks to SDRAM and jumps to it.
> >> The capacity of the two blocks is not large enough to hold all of
> >> u-boot, so a u-boot SPL is used. To conserve flash space, these two
> >> blocks and the necessary number of subsequent blocks are programmed
> >> with a concatenated spl + u-boot image. That way, the IPL will also
> >> load a portion of u-boot proper, and when the spl runs, it relocates
> >> the portion of u-boot that the IPL has already loaded, and then resumes
> >> loading the remaining part of u-boot before jumping to it.
> >>
> >> The default_environment is used (CONFIG_ENV_IS_NOWHERE) because I didn't
> >> think that having a writable environment was worth the cost of a flash
> >> block, although adding it would be straightforward. I abuse the
> >> CONFIG_EXTRA_ENV_SETTINGS option to specify the usbtty for the console
> >> (CONFIG_SYS_CONSOLE_IS_IN_ENV).
> >>
> >> Support for the LCD is included, but currently it is only useful for
> >> displaying the u-boot splash screen. But if u-boot is built without the
> >> usbtty console, it does display the auto-boot progress nicely.
> >>
> >> Signed-off-by: Mike Dunn <mikedunn@newsguy.com>
> >
> > I think the tool shall really go as a separate patch. Besides, can the
> > tool not be implemented as a part of u-boot's mkimage infrastructure?
>
> OK, I can make the flash_u-boot utility (which writes u-boot to the flash
> boot blocks) a separate patch.
>
> As for making it part of mkimage... I didn't really consider that because
> based on my (limited) knowledge, I figured they are unrelated. As I
> understand it, mkimage creates an OS image file that u-boot can parse and
> load. flash_u-boot is a utility that performs the task of writing u-boot
> itself to flash.

It can create an bootloader image that can be written to flash using standard
mtd utilities. Does this not cut it for you? Why do you need a separate flasher,
because the G4 is special ?

> I figured that mine was a special case, since u-boot must be written in a
> special format (redundant pages) and in a special manner (alternate 4k
> regions skipped), with the flash device in a special mode, and so it can
> not be done in the normal manner; e.g., 'nandwrite' from mtd-utils, or its
> u-boot 'nand write' equivalent, even if you first ran the u-boot image
> through a separate utility that simply converted the format of the image.
>
> Hope that makes sense. Any insight appreciated. I'll take a look at
> what's in the tools directory.

I see ... so the G4 is such a horrible beast :( OK

Best regards,
Marek Vasut