[U-Boot] [PATCH 2/2][v2] Add readme of how to boot from espi flash for p4080ds.

Signed-off-by: Shaohui Xie b21989@freescale.com --- doc/README.espi-boot-p4080ds | 85 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 85 insertions(+), 0 deletions(-) create mode 100644 doc/README.espi-boot-p4080ds
diff --git a/doc/README.espi-boot-p4080ds b/doc/README.espi-boot-p4080ds new file mode 100644 index 0000000..79ef459 --- /dev/null +++ b/doc/README.espi-boot-p4080ds @@ -0,0 +1,85 @@ +Overview: +========= +The P4080 integrates a pre-boot-loader(PBL) which performs configuration +registers read and write to initialize external memory devices such as I2c, +eLBC FCM(NAND flash), eSDHC, or SPI interface, loads RCW and/or pre-boot +initialization commands from those devices before the local cores are permitted +to boot. + +Boot from SPI: +============== + +The P4080 is capable of booting from SPI. The bootup process can be divided into +two stages: the first stage will load RCW and write configuration registers to +initialize SPI interface, and configure one CPC as 1M SRAM, and loads U-boot image +to CPC. The second stage will configure all the hardware and boot up to U-Boot +command line. + +The PBL image contains three parts, the first is RCW, the second is PBI commands +performs configuration registers write, the third is the 512KB u-boot image. The +PBL image is produced by tool pbl_image_tool.html. + +Build and boot steps +-------------------- + +1. Producing RCW +Copy RCW of u-boot dump and paste it to tab "Tools" of the tool and choose +"RCW[0:511] U-Boot CCSR Dump" and then click button "Decode PBL", switch to tab +"Boot" and change PBI_SRC to "0b0101 - SPI 24b Addressing", change BOOT_LOC to +"0b10000 - Memory Complex 1"(if CPC2 is used as SRAM, this should be set as +"0b10001 - Memory Complex 2"). + +2. Producing ACS File + make P4080DS_PBL_BOOT_INDIRECT_config + make CROSS_COMPILE=powerpc-none-linux-gnuspe- all + xxd u-boot.bin > u-boot.xxd + +3. Producing PBI commands +Switch to tab "PBI" and paste commands below into text field (please note these +commands are for CPC1 used as SRAM only, change corresponding register setting +if CPC2 need to be used as SRAM), then choose "ACS File (XXD Object Dump)", +change Offset to "f80000", and click "Browse" to select the u-boot.xxd file +produced in step 2, and click "Add PBI Data", after it finished, paste +"09138000 00000000" and "091380c0 00000000" at the end. + +Below are Commands pasted before click "Add PBI Data". + + PBI DATA | Description + ----------------------------------------- + | 09010000 00200400 | CPCFI & | + | 09138000 00000000 | CPCLFC for CPC1 | + | 091380c0 00000100 | | + ----------------------------------------- + | 09010100 00000000 | Configure | + | 09010104 fff0000b | CPC1 as | + | 09010f00 08000000 | 1M SRAM | + | 09010000 80000000 | | + ----------------------------------------- + | 09000d00 00000000 | Configure | + | 09000d04 fff00000 | LAW for CPC1 | + | 09000d08 81000013 | | + ----------------------------------------- + | 09000010 00000000 | Configure | + | 09000014 ff000000 | Alternate | + | 09000018 81000000 | for CPC1 | + ----------------------------------------- + | 09110000 80000403 | Initialize | + | 09110020 2d170008 | SPI interface | + | 09110024 00100008 | | + | 09110028 00100008 | | + | 0911002c 00100008 | | + ----------------------------------------- + | 09138000 00000000 | Flush command | + | 091380c0 00000000 | | + ----------------------------------------- + +4. Producing PBL image + 1. Switch to tab "Tools" and click "Encode PBL", after it finished copy +the encoded content to file and save as x.xxd. + 2. xxd -r x.xxd > pbl_u-boot.bin + +5. Put image to SPI flash + Put the pbl_u-boot.bin to SPI flash from offset 0. + +6. Change dip-switch + Change SW1[2] = off, then power on.

Dear Shaohui Xie,
In message 1289897403-24602-1-git-send-email-b21989@freescale.com you wrote:
+The P4080 is capable of booting from SPI. The bootup process can be divided into +two stages: the first stage will load RCW and write configuration registers to +initialize SPI interface, and configure one CPC as 1M SRAM, and loads U-boot image +to CPC. The second stage will configure all the hardware and boot up to U-Boot +command line.
+The PBL image contains three parts, the first is RCW, the second is PBI commands +performs configuration registers write, the third is the 512KB u-boot image. The +PBL image is produced by tool pbl_image_tool.html.
Please explain abbreviations. What's PBI? CPC?
What is "pbl_image_tool.html"? I doubt that a HTML page can be used as tool?
And where can this tool be found? And why is it not part of the U-Boot distribution?
+1. Producing RCW +Copy RCW of u-boot dump and paste it to tab "Tools" of the tool and choose +"Boot" and change PBI_SRC to "0b0101 - SPI 24b Addressing", change BOOT_LOC to
You really mean one has to go to some web page and manually copy and paste information there?
To build some image?
May I ask how you do automatic regression testing?
+2. Producing ACS File
What is ACS?
- make P4080DS_PBL_BOOT_INDIRECT_config
- make CROSS_COMPILE=powerpc-none-linux-gnuspe- all
- xxd u-boot.bin > u-boot.xxd
+3. Producing PBI commands +Switch to tab "PBI" and paste commands below into text field (please note these +commands are for CPC1 used as SRAM only, change corresponding register setting +if CPC2 need to be used as SRAM), then choose "ACS File (XXD Object Dump)", +change Offset to "f80000", and click "Browse" to select the u-boot.xxd file +produced in step 2, and click "Add PBI Data", after it finished, paste +"09138000 00000000" and "091380c0 00000000" at the end.
This must be a bad joke.
Can you not provide a plain and simple AUTOMATIC way to get this result? some plain stupid command line tool? Something that works as a simple "make XXX" ? So it can be scripted / automatized / used?
Best regards,
Wolfgang Denk

Hi Shaohui Xie,
[...]
Can you not provide a plain and simple AUTOMATIC way to get this result? some plain stupid command line tool? Something that works as a simple "make XXX" ? So it can be scripted / automatized / used?
Maybe have a look at "tools/kwbimage.c". This is a tool for kirkwood chips to build "wrapped images".
I'm not into this tool, but it sounds like it tries to solve a similar problem, so maybe you can leverage what's already there?
Cheers Detlev

On Nov 16, 2010, at 10:21 AM, Detlev Zundel wrote:
Hi Shaohui Xie,
[...]
Can you not provide a plain and simple AUTOMATIC way to get this result? some plain stupid command line tool? Something that works as a simple "make XXX" ? So it can be scripted / automatized / used?
Maybe have a look at "tools/kwbimage.c". This is a tool for kirkwood chips to build "wrapped images".
I'm not into this tool, but it sounds like it tries to solve a similar problem, so maybe you can leverage what's already there?
How does kwbimage.c work? Does it just wrap the image generated by mkimage differently? Can it take any additional input files?
- k

Dear Kumar Gala,
In message AA957E8D-3C9C-4C74-8FA4-11D5122ED01A@freescale.com you wrote:
How does kwbimage.c work? Does it just wrap the image generated by mkimage differently? Can it take any additional input files?
It does take an additional input file.
We have several such externsion in "mkimage" now: Marvell has their "kwbimage" format, Freescale has their "imximage" format.
Best regards,
Wolfgang Denk

On Tue, 16 Nov 2010 11:34:43 +0100 Wolfgang Denk wd@denx.de wrote:
Dear Shaohui Xie,
In message 1289897403-24602-1-git-send-email-b21989@freescale.com you wrote:
+The P4080 is capable of booting from SPI. The bootup process can be divided into +two stages: the first stage will load RCW and write configuration registers to +initialize SPI interface, and configure one CPC as 1M SRAM, and loads U-boot image +to CPC. The second stage will configure all the hardware and boot up to U-Boot +command line.
+The PBL image contains three parts, the first is RCW, the second is PBI commands +performs configuration registers write, the third is the 512KB u-boot image. The +PBL image is produced by tool pbl_image_tool.html.
Please explain abbreviations. What's PBI? CPC?
PBI is pre-boot initialization.
CPC is corenet platform cache -- a.k.a. L3 cache.
What is "pbl_image_tool.html"? I doubt that a HTML page can be used as tool?
The html file contains a javascript-based tool.
And where can this tool be found? And why is it not part of the U-Boot distribution?
It *may* be bundled with the BSP -- not sure.
It would be really nice if it were made generally available, though I don't know if there are any plans for that. Certainly we shouldn't be referring users towards it if it's not publicly available.
+1. Producing RCW +Copy RCW of u-boot dump and paste it to tab "Tools" of the tool and choose +"Boot" and change PBI_SRC to "0b0101 - SPI 24b Addressing", change BOOT_LOC to
You really mean one has to go to some web page and manually copy and paste information there?
To build some image?
May I ask how you do automatic regression testing?
We usually use xxd to turn a hex dump of an RCW into a binary. You only need the tool if you want something interactive to make changes to the RCW.
The problem with providing such a hexdump here is that it would contain other settings that may not be appropriate for the board's configuration. RCWs on p4080 are a lot more complicated than on older chips; it's no longer practical to embed a near-universal default RCW in the U-Boot build.
+2. Producing ACS File
What is ACS?
Don't know, I don't even have a reference to that in my copy of the RCW tool. :-P
- make P4080DS_PBL_BOOT_INDIRECT_config
- make CROSS_COMPILE=powerpc-none-linux-gnuspe- all
- xxd u-boot.bin > u-boot.xxd
+3. Producing PBI commands +Switch to tab "PBI" and paste commands below into text field (please note these +commands are for CPC1 used as SRAM only, change corresponding register setting +if CPC2 need to be used as SRAM), then choose "ACS File (XXD Object Dump)", +change Offset to "f80000", and click "Browse" to select the u-boot.xxd file +produced in step 2, and click "Add PBI Data", after it finished, paste +"09138000 00000000" and "091380c0 00000000" at the end.
This must be a bad joke.
Can you not provide a plain and simple AUTOMATIC way to get this result? some plain stupid command line tool? Something that works as a simple "make XXX" ? So it can be scripted / automatized / used?
Yes, a simple C tool to take an existing PBL or RCW dump and "espi-ize" it into a PBL dump would be nice. The user will still need to acquire the existing RCW manually. This only needs to be done once on a board; it's not part of building a U-Boot image.
-Scott

Dear Scott Wood,
In message 20101116155432.585fa514@udp111988uds.am.freescale.net you wrote:
Can you not provide a plain and simple AUTOMATIC way to get this result? some plain stupid command line tool? Something that works as a simple "make XXX" ? So it can be scripted / automatized / used?
Yes, a simple C tool to take an existing PBL or RCW dump and "espi-ize" it into a PBL dump would be nice. The user will still need to acquire the existing RCW manually. This only needs to be done once on a board; it's not part of building a U-Boot image.
If this only needs to be done once on a board, then why cannot it be included in U-Boot with the configuration for this specific board?
Best regards,
Wolfgang Denk

On Tue, 16 Nov 2010 23:02:48 +0100 Wolfgang Denk wd@denx.de wrote:
Dear Scott Wood,
In message 20101116155432.585fa514@udp111988uds.am.freescale.net you wrote:
Can you not provide a plain and simple AUTOMATIC way to get this result? some plain stupid command line tool? Something that works as a simple "make XXX" ? So it can be scripted / automatized / used?
Yes, a simple C tool to take an existing PBL or RCW dump and "espi-ize" it into a PBL dump would be nice. The user will still need to acquire the existing RCW manually. This only needs to be done once on a board; it's not part of building a U-Boot image.
If this only needs to be done once on a board, then why cannot it be included in U-Boot with the configuration for this specific board?
We probably should provide some RCWs as a starting point (we do in the BSP, outside of the U-Boot component) -- but there are more valid RCWs than there are U-Bboot configurations.
Besides details about how the board is wired up and where you're booting from, it depends on what sort of riser cards you have in which slots, what speed your chip is rated for, etc.
The usual case for NOR flash is a user building U-Boot and flashing it, while leaving the existing RCW in place -- the RCW is not embedded in the U-Boot image like it is on 83xx. This is a fortunate accident of where the reset vector is located, though. Other boot sources such as espi are probably not as lucky. But even then, you should only need to create a PBL/RCW once, to be included in all subsequent U-Boot builds.
-Scott

From: Wood Scott-B07421 Sent: Wednesday, November 17, 2010 5:55 AM To: Wolfgang Denk Cc: Xie Shaohui-B21989; u-boot@lists.denx.de; Gala Kumar-B11780 Subject: Re: [U-Boot] [PATCH 2/2][v2] Add readme of how to boot from espi flash for p4080ds.
On Tue, 16 Nov 2010 11:34:43 +0100 Wolfgang Denk wd@denx.de wrote:
Dear Shaohui Xie,
In message 1289897403-24602-1-git-send-email-b21989@freescale.com
you wrote:
+The P4080 is capable of booting from SPI. The bootup process can be
divided into
+two stages: the first stage will load RCW and write configuration
registers to
+initialize SPI interface, and configure one CPC as 1M SRAM, and
loads U-boot image
+to CPC. The second stage will configure all the hardware and boot
up to U-Boot
+command line.
+The PBL image contains three parts, the first is RCW, the second is
PBI commands
+performs configuration registers write, the third is the 512KB
u-boot image. The
+PBL image is produced by tool pbl_image_tool.html.
Please explain abbreviations. What's PBI? CPC?
PBI is pre-boot initialization.
CPC is corenet platform cache -- a.k.a. L3 cache.
What is "pbl_image_tool.html"? I doubt that a HTML page can be used as tool?
The html file contains a javascript-based tool.
And where can this tool be found? And why is it not part of the U-Boot distribution?
It *may* be bundled with the BSP -- not sure.
It would be really nice if it were made generally available, though I don't know if there are any plans for that. Certainly we shouldn't be referring users towards it if it's not publicly available.
+1. Producing RCW +Copy RCW of u-boot dump and paste it to tab "Tools" of the tool and
choose
+"Boot" and change PBI_SRC to "0b0101 - SPI 24b Addressing", change
BOOT_LOC to
You really mean one has to go to some web page and manually copy and paste information there?
To build some image?
May I ask how you do automatic regression testing?
We usually use xxd to turn a hex dump of an RCW into a binary. You only need the tool if you want something interactive to make changes to the RCW.
The problem with providing such a hexdump here is that it would contain other settings that may not be appropriate for the board's configuration. RCWs on p4080 are a lot more complicated than on older chips; it's no longer practical to embed a near-universal default RCW in the U-Boot build.
+2. Producing ACS File
What is ACS?
Don't know, I don't even have a reference to that in my copy of the RCW tool. :-P
[Xie Shaohui] I don't know what is the ACS stands for either, but it is a XXD object dump file used by the tool to produce PBI, for example after run "xxd u-boot.bin > u-boot.xxd", the output u-boot.xxd is the "XXD object dump file". If you take a look at the tool, you will find a selection labeled with "ACS File (XXD object dump)" in tab "PBI".
- make P4080DS_PBL_BOOT_INDIRECT_config
- make CROSS_COMPILE=powerpc-none-linux-gnuspe- all
- xxd u-boot.bin > u-boot.xxd
+3. Producing PBI commands +Switch to tab "PBI" and paste commands below into text field
(please note these
+commands are for CPC1 used as SRAM only, change corresponding
register setting
+if CPC2 need to be used as SRAM), then choose "ACS File (XXD Object
Dump)",
+change Offset to "f80000", and click "Browse" to select the
u-boot.xxd file
+produced in step 2, and click "Add PBI Data", after it finished,
paste
+"09138000 00000000" and "091380c0 00000000" at the end.
This must be a bad joke.
Can you not provide a plain and simple AUTOMATIC way to get this result? some plain stupid command line tool? Something that works as a simple "make XXX" ? So it can be scripted / automatized / used?
Yes, a simple C tool to take an existing PBL or RCW dump and "espi-ize" it into a PBL dump would be nice. The user will still need to acquire the existing RCW manually. This only needs to be done once on a board; it's not part of building a U-Boot image.
[Xie Shaohui] A simple C tool will make things more complex, the pbl_image_tool does the same thing and it is irreplaceable, something like RCW has to be produced manually, and because there is no near-universal default RCW, this README took a basic assumption that user already can boot from NOR flash, so user can reuse the RCW dump of NOR u-boot with change "PBI_SRC" and "BOOT_LOC" only.
This README describes how to build an Image can be used by PBL (pre-boot loader), building u-boot image is the first step, then RCW, PBI commands, XXD dump of u-boot.bin, the tool will combine the RCW and PBI and XXD dump together to produce the PBL XXD file, suppose the PBL XXD file is saved as x.xxd, we need to run "xxd -r x.xxd > pbl_image.bin" to produce the final PBL Image. Take a look at the whole process, I see no way it can be scripted / automatized.
Best Regards, Shaohui Xie

Hi Xie,
[...]
What is ACS?
Don't know, I don't even have a reference to that in my copy of the RCW tool. :-P
[Xie Shaohui] I don't know what is the ACS stands for either, but it is a XXD object dump file used by the tool to produce PBI, for example after run "xxd u-boot.bin > u-boot.xxd", the output u-boot.xxd is the "XXD object dump file". If you take a look at the tool, you will find a selection labeled with "ACS File (XXD object dump)" in tab "PBI".
From my point of view we simply do not want a U-Boot configuration that
needs to visit an external website to even _compile_ the code. Let alone copying stuff to and from, hex dumping it etc. This is not acceptable.
- make P4080DS_PBL_BOOT_INDIRECT_config
- make CROSS_COMPILE=powerpc-none-linux-gnuspe- all
- xxd u-boot.bin > u-boot.xxd
+3. Producing PBI commands +Switch to tab "PBI" and paste commands below into text field
(please note these
+commands are for CPC1 used as SRAM only, change corresponding
register setting
+if CPC2 need to be used as SRAM), then choose "ACS File (XXD Object
Dump)",
+change Offset to "f80000", and click "Browse" to select the
u-boot.xxd file
+produced in step 2, and click "Add PBI Data", after it finished,
paste
+"09138000 00000000" and "091380c0 00000000" at the end.
This must be a bad joke.
Can you not provide a plain and simple AUTOMATIC way to get this result? some plain stupid command line tool? Something that works as a simple "make XXX" ? So it can be scripted / automatized / used?
Yes, a simple C tool to take an existing PBL or RCW dump and "espi-ize" it into a PBL dump would be nice. The user will still need to acquire the existing RCW manually. This only needs to be done once on a board; it's not part of building a U-Boot image.
@Scott: What is meant by "acquiring the existing RCW"? Can't we have a tool that is fed with a value for RCW?
[Xie Shaohui] A simple C tool will make things more complex, the pbl_image_tool does the same thing and it is irreplaceable, something
No tool is irreplaceable, ever.
like RCW has to be produced manually, and because there is no near-universal default RCW, this README took a basic assumption that user already can boot from NOR flash, so user can reuse the RCW dump of NOR u-boot with change "PBI_SRC" and "BOOT_LOC" only.
This README describes how to build an Image can be used by PBL (pre-boot loader), building u-boot image is the first step, then RCW, PBI commands, XXD dump of u-boot.bin, the tool will combine the RCW and PBI and XXD dump together to produce the PBL XXD file, suppose the PBL XXD file is saved as x.xxd, we need to run "xxd -r x.xxd > pbl_image.bin" to produce the final PBL Image. Take a look at the whole process, I see no way it can be scripted / automatized.
I said it once before, look at how kwbimage wraps up u-boot.bin into such an "augmented" image. If the Marvell guys can do this for their platform, I see no reason why this cannot be done for your platform.
Cheers Detlev

On Wed, 17 Nov 2010 13:42:43 +0100 Detlev Zundel dzu@denx.de wrote:
Yes, a simple C tool to take an existing PBL or RCW dump and "espi-ize" it into a PBL dump would be nice. The user will still need to acquire the existing RCW manually. This only needs to be done once on a board; it's not part of building a U-Boot image.
@Scott: What is meant by "acquiring the existing RCW"? Can't we have a tool that is fed with a value for RCW?
I mean that a simple tool could take an existing RCW and modify it for espi boot, but it needs to take as input an RCW that is valid for other parameters.
The least error prone way to do this, for a user that wants to take a board that's already successfully booting from NOR and make it boot from eSPI, is to extract the RCW they're already using from the board.
Creating an RCW from scratch is more complicated, which is why we have that javascript tool -- though we could provide some example RCWs for common configs.
This README describes how to build an Image can be used by PBL (pre-boot loader), building u-boot image is the first step, then RCW, PBI commands, XXD dump of u-boot.bin, the tool will combine the RCW and PBI and XXD dump together to produce the PBL XXD file, suppose the PBL XXD file is saved as x.xxd, we need to run "xxd -r x.xxd > pbl_image.bin" to produce the final PBL Image. Take a look at the whole process, I see no way it can be scripted / automatized.
I said it once before, look at how kwbimage wraps up u-boot.bin into such an "augmented" image. If the Marvell guys can do this for their platform, I see no reason why this cannot be done for your platform.
Sure, once you have a valid input RCW it should be possible to automate the rest.
-Scott

Hi Scott,
On Wed, 17 Nov 2010 13:42:43 +0100 Detlev Zundel dzu@denx.de wrote:
Yes, a simple C tool to take an existing PBL or RCW dump and "espi-ize" it into a PBL dump would be nice. The user will still need to acquire the existing RCW manually. This only needs to be done once on a board; it's not part of building a U-Boot image.
@Scott: What is meant by "acquiring the existing RCW"? Can't we have a tool that is fed with a value for RCW?
I mean that a simple tool could take an existing RCW and modify it for espi boot, but it needs to take as input an RCW that is valid for other parameters.
The least error prone way to do this, for a user that wants to take a board that's already successfully booting from NOR and make it boot from eSPI, is to extract the RCW they're already using from the board.
Ok, thanks for the explanation.
Creating an RCW from scratch is more complicated, which is why we have that javascript tool -- though we could provide some example RCWs for common configs.
Just for my information - it sounds like the RCW is really complex. If RCW still expands to "reset control word", I would expect it to be 32 bits though. It is rather common for U-Boot porters to determine 32-bit values for specific registers without using a javascript tool, so maybe I'm wrong here.
This README describes how to build an Image can be used by PBL (pre-boot loader), building u-boot image is the first step, then RCW, PBI commands, XXD dump of u-boot.bin, the tool will combine the RCW and PBI and XXD dump together to produce the PBL XXD file, suppose the PBL XXD file is saved as x.xxd, we need to run "xxd -r x.xxd > pbl_image.bin" to produce the final PBL Image. Take a look at the whole process, I see no way it can be scripted / automatized.
I said it once before, look at how kwbimage wraps up u-boot.bin into such an "augmented" image. If the Marvell guys can do this for their platform, I see no reason why this cannot be done for your platform.
Sure, once you have a valid input RCW it should be possible to automate the rest.
For the supported configurations the RCW should be provided of course, so I do not see a big problem here?
Cheers Detlev

Creating an RCW from scratch is more complicated, which is why we have that javascript tool -- though we could provide some example RCWs for common configs.
Just for my information - it sounds like the RCW is really complex. If RCW still expands to "reset control word", I would expect it to be 32 bits though. It is rather common for U-Boot porters to determine 32-bit values for specific registers without using a javascript tool, so maybe I'm wrong here.
On P4080 (and future devices) it is 512 bits of data so not as trivial as our older parts that used a simple 32-bit RCW.
This README describes how to build an Image can be used by PBL (pre-boot loader), building u-boot image is the first step, then RCW, PBI commands, XXD dump of u-boot.bin, the tool will combine the RCW and PBI and XXD dump together to produce the PBL XXD file, suppose the PBL XXD file is saved as x.xxd, we need to run "xxd -r x.xxd > pbl_image.bin" to produce the final PBL Image. Take a look at the whole process, I see no way it can be scripted / automatized.
I said it once before, look at how kwbimage wraps up u-boot.bin into such an "augmented" image. If the Marvell guys can do this for their platform, I see no reason why this cannot be done for your platform.
Sure, once you have a valid input RCW it should be possible to automate the rest.
For the supported configurations the RCW should be provided of course, so I do not see a big problem here?
Agreed, we should be provide a default RCW for the boards as part of u-boot.
- k

Hi Kumar,
Creating an RCW from scratch is more complicated, which is why we have that javascript tool -- though we could provide some example RCWs for common configs.
Just for my information - it sounds like the RCW is really complex. If RCW still expands to "reset control word", I would expect it to be 32 bits though. It is rather common for U-Boot porters to determine 32-bit values for specific registers without using a javascript tool, so maybe I'm wrong here.
On P4080 (and future devices) it is 512 bits of data so not as trivial as our older parts that used a simple 32-bit RCW.
Ah I see. So rather than being a _word_ it's more like a reset control _story_ :)
Thanks Detlev

Dear Xie Shaohui-B21989,
In message 267A3B246C22C34A8E574051858E0770018A64@039-SN1MPN1-003.039d.mgd.msft.net you wrote:
This README describes how to build an Image can be used by PBL (pre-boot loader), building u-boot image is the first step, then RCW, PBI commands, XXD dump of u-boot.bin, the tool will combine the RCW and PBI and XXD dump together to produce the PBL XXD file, suppose the PBL XXD file is saved as x.xxd, we need to run "xxd -r x.xxd > pbl_image.bin" to produce the final PBL Image. Take a look at the whole process, I see no way it can be scripted / automatized.
You cannot reasonably expect of any of your users to go through such a pain. This is plain unacceptable.
Please come up with a simple solution that can be integrated into the U-Boot build procedure.
Things like hex-dumping images and copy & pasting the hexdumps to some proprietary tool and then going through the same pain again just backwards may have been acceptable 20 years ago. Not so any more.
Best regards,
Wolfgang Denk

On Wed, 17 Nov 2010 03:25:05 -0700 "Xie Shaohui-B21989" B21989@freescale.com wrote:
From: Wood Scott-B07421 Sent: Wednesday, November 17, 2010 5:55 AM To: Wolfgang Denk Cc: Xie Shaohui-B21989; u-boot@lists.denx.de; Gala Kumar-B11780 Subject: Re: [U-Boot] [PATCH 2/2][v2] Add readme of how to boot from espi flash for p4080ds.
Yes, a simple C tool to take an existing PBL or RCW dump and "espi-ize" it into a PBL dump would be nice. The user will still need to acquire the existing RCW manually. This only needs to be done once on a board; it's not part of building a U-Boot image.
[Xie Shaohui] A simple C tool will make things more complex, the pbl_image_tool does the same thing
It doesn't do the same thing for poeple who don't have access to it.
Plus, requiring the user to do a bunch of manual stuff is not "the same thing" as something more automated.
More work for us upfront is not the same as "more complex".
and it is irreplaceable,
Tell that to the people trying to replace it with some big Eclipse-based thing. :-)
something like RCW has to be produced manually, and because there is no near-universal default RCW, this README took a basic assumption that user already can boot from NOR flash, so user can reuse the RCW dump of NOR u-boot with change "PBI_SRC" and "BOOT_LOC" only.
Yes. But once the user provides an RCW, everything else should be automatable.
-Scott
participants (7)
-
Detlev Zundel
-
Kumar Gala
-
Kumar Gala
-
Scott Wood
-
Shaohui Xie
-
Wolfgang Denk
-
Xie Shaohui-B21989