diff mbox

[U-Boot,v2] README.mx28: add

Message ID 1332295831-19224-1-git-send-email-otavio@ossystems.com.br
State Superseded
Headers show

Commit Message

Otavio Salvador March 21, 2012, 2:10 a.m. UTC
This is mainline a copy of README.m28 changing the references to the
mx28 counterpart but it makes easy for people looking for information
about mx28 based boards.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
---
 doc/README.mx28 |  152 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 152 insertions(+), 0 deletions(-)
 create mode 100644 doc/README.mx28

Comments

Fabio Estevam March 21, 2012, 11:15 a.m. UTC | #1
On Tue, Mar 20, 2012 at 11:10 PM, Otavio Salvador
<otavio@ossystems.com.br> wrote:
> This is mainline a copy of README.m28 changing the references to the
> mx28 counterpart but it makes easy for people looking for information
> about mx28 based boards.
>
> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
> Cc: Fabio Estevam <fabio.estevam@freescale.com>

Acked-by: Fabio Estevam <fabio.estevam@freescale.com>
Stefano Babic March 21, 2012, 3:03 p.m. UTC | #2
On 21/03/2012 03:10, Otavio Salvador wrote:
> This is mainline a copy of README.m28 changing the references to the
> mx28 counterpart but it makes easy for people looking for information
> about mx28 based boards.
> 

Hi Otavio,

only a couple of small issues. You have already changed inside the file
all occurencies of mx28 to mx28evk. You should also rename this file to
make sure it is specific to the mx28evk and not, for example, to the
m28evk or generally for the SOC. So please rename it to README.mx28evk.

Can you also rename the subject in a form like:

mx28evk: Add README.mx28evk

Fabio has alrady sent his ACK, I will merge this patch in the
forthcoming release.

Best regards,
Stefano Babic
Fabio Estevam March 21, 2012, 3:15 p.m. UTC | #3
On Tue, Mar 20, 2012 at 11:10 PM, Otavio Salvador
<otavio@ossystems.com.br> wrote:
> This is mainline a copy of README.m28 changing the references to the
> mx28 counterpart but it makes easy for people looking for information
> about mx28 based boards.
>
> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
> Cc: Fabio Estevam <fabio.estevam@freescale.com>
> ---
>  doc/README.mx28 |  152 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 files changed, 152 insertions(+), 0 deletions(-)
>  create mode 100644 doc/README.mx28
>
> diff --git a/doc/README.mx28 b/doc/README.mx28
> new file mode 100644
> index 0000000..a68ad72
> --- /dev/null
> +++ b/doc/README.mx28
> @@ -0,0 +1,152 @@
> +Freescale MX28EVK
> +=================
> +
> +This document describes the Freescale MX28EVK U-Boot port. This document mostly
> +covers topics related to making the module/board bootable.

As you will have to respin it, please remove "module" and also include
"Only the latest revision of MX28EVK has been tested (rev. D)".
Otavio Salvador March 21, 2012, 3:20 p.m. UTC | #4
On Wed, Mar 21, 2012 at 12:03, Stefano Babic <sbabic@denx.de> wrote:
> only a couple of small issues. You have already changed inside the file
> all occurencies of mx28 to mx28evk. You should also rename this file to
> make sure it is specific to the mx28evk and not, for example, to the
> m28evk or generally for the SOC. So please rename it to README.mx28evk.

Will send v3 in a minute. :)
Wolfgang Denk March 21, 2012, 3:38 p.m. UTC | #5
Dear Otavio Salvador,

In message <1332295831-19224-1-git-send-email-otavio@ossystems.com.br> you wrote:
> This is mainline a copy of README.m28 changing the references to the

s/mainline/mainly/ ?

> mx28 counterpart but it makes easy for people looking for information
> about mx28 based boards.

I don't like that we copy all this stuff around for each and every
board that uses the i.MX28; there may be a lot of such boards one day,
and we will have a maintenenace nightmare because nobody will keep all
tehse READMEs in sync.

Can we please split this document in a generic and board specific
part?  For now, while there are only very few boards, this can
probably be done in a single document.

Best regards,

Wolfgang Denk
Wolfgang Denk March 22, 2012, 3:17 p.m. UTC | #6
Dear Otavio Salvador,

please keep the ML on Cc:

In message <CAP9ODKq+t+qApQ+GMHfpy6B4vZyfwO0PJe652T1S_+FCtVdbCQ@mail.gmail.com> you wrote:
> 
> On Wed, Mar 21, 2012 at 12:38, Wolfgang Denk <wd@denx.de> wrote:
> > Can we please split this document in a generic and board specific
> > part?  For now, while there are only very few boards, this can
> > probably be done in a single document.
> 
> I think it makes harder for user to gasp the need information if it is
> splitted on many files; a single file has the same problem as the
> naming can not imply the board or reference he is looking at. I had
> this problem and took me some time to find m28 as a base documentation
> to my work on mx28evk.

We are not talking about many files - just two files would be
relevant for a specific board: one with the common stuff, and one
with the board specific stuff.

Copying the same stuff again and again and again is definitely a much
bigger problem.


Best regards,

Wolfgang Denk
Otavio Salvador March 22, 2012, 3:26 p.m. UTC | #7
On Thu, Mar 22, 2012 at 12:17, Wolfgang Denk <wd@denx.de> wrote:
> Dear Otavio Salvador,
>
> please keep the ML on Cc:

My fault :)

> In message <CAP9ODKq+t+qApQ+GMHfpy6B4vZyfwO0PJe652T1S_+FCtVdbCQ@mail.gmail.com> you wrote:
>>
>> On Wed, Mar 21, 2012 at 12:38, Wolfgang Denk <wd@denx.de> wrote:
>> > Can we please split this document in a generic and board specific
>> > part?  For now, while there are only very few boards, this can
>> > probably be done in a single document.
>>
>> I think it makes harder for user to gasp the need information if it is
>> splitted on many files; a single file has the same problem as the
>> naming can not imply the board or reference he is looking at. I had
>> this problem and took me some time to find m28 as a base documentation
>> to my work on mx28evk.
>
> We are not talking about many files - just two files would be
> relevant for a specific board: one with the common stuff, and one
> with the board specific stuff.
>
> Copying the same stuff again and again and again is definitely a much
> bigger problem.

I see pros and cons on this; since it is taking too much time and I do
have a hard deadline to meet I'll leave to someone work on this later.
diff mbox

Patch

diff --git a/doc/README.mx28 b/doc/README.mx28
new file mode 100644
index 0000000..a68ad72
--- /dev/null
+++ b/doc/README.mx28
@@ -0,0 +1,152 @@ 
+Freescale MX28EVK
+=================
+
+This document describes the Freescale MX28EVK U-Boot port. This document mostly
+covers topics related to making the module/board bootable.
+
+Terminology
+-----------
+
+The dollar symbol ($) introduces a snipped of shell code. This shall be typed
+into the unix command prompt in U-Boot source code root directory.
+
+The (=>) introduces a snipped of code that should by typed into U-Boot command
+prompt.
+
+Contents
+--------
+
+0) Files of the MX28EVK port
+1) Prerequisites
+2) Compiling U-Boot for MX28EVK
+3) Installation of U-Boot for MX28EVK to SD card
+
+0) Files of the MX28EVK port
+----------------------------
+
+arch/arm/cpu/arm926ejs/mx28/	- The CPU support code for the Freescale i.MX28
+arch/arm/include/asm/arch-mx28/	- Header files for the Freescale i.MX28
+board/denx/mx28evk/		- MX28EVK board specific files
+include/configs/mx28evk.h	- MX28EVK configuration file
+
+1) Prerequisites
+----------------
+
+To make the MX28EVK board bootable, some tools are necessary. The first one is
+the "elftosb" tool distributed by Freescale Semiconductor. The other tool is the
+"mxsboot" tool found in U-Boot source tree.
+
+Firstly, obtain the elftosb archive from the following location:
+
+	http://foss.doredevelopment.dk/mirrors/imx/elftosb-10.12.01.tar.gz
+
+We use a $VER variable here to denote the current version. At the time of
+writing of this document, that is "10.12.01". To obtain the file from command
+line, use:
+
+	$ VER="10.12.01"
+	$ wget http://foss.doredevelopment.dk/mirrors/imx/elftosb-${VER}.tar.gz
+
+Extract the file:
+
+	$ tar xzf elftosb-${VER}.tar.gz
+
+Compile the file. We need to manually tell the linker to use also libm:
+
+	$ cd elftosb-${VER}/
+	$ make LIBS="-lstdc++ -lm" elftosb
+
+Optionally, remove debugging symbols from elftosb:
+
+	$ strip bld/linux/elftosb
+
+Finally, install the "elftosb" binary. The "install" target is missing, so just
+copy the binary by hand:
+
+	$ sudo cp bld/linux/elftosb /usr/local/bin/
+
+Make sure the "elftosb" binary can be found in your $PATH, in this case this
+means "/usr/local/bin/" has to be in your $PATH.
+
+2) Compiling U-Boot for MX28
+----------------------------
+
+Compiling the U-Boot for MX28 is straightforward and done as compiling U-Boot
+for any other ARM device. For cross-compiler setup, please refer to ELDK5.0
+documentation. First, clean up the source code:
+
+	$ make mrproper
+
+Next, configure U-Boot for MX28EVK:
+
+	$ make mx28evk_config
+
+Lastly, compile U-Boot and prepare a "BootStream". The "BootStream" is a special
+type of file, which the i.MX28 CPU can boot. This is handled by the following
+command:
+
+	$ make u-boot.sb
+
+HINT: To speed-up the build process, you can add -j<N>, where N is number of
+      compiler instances that'll run in parallel.
+
+The code produces "u-boot.sb" file. This file needs to be augmented with a
+proper header to allow successful boot from SD or NAND. Adding the header is
+discussed in the following chapters.
+
+3) Installation of U-Boot for MX28EVK to SD card
+------------------------------------------------
+
+To boot an MX28 from SD, set the boot mode DIP switches as:
+
+   * Boot Mode Select: 1 0 0 1 (Boot from SD card Slot 0 - U42)
+   * JTAG PSWITCH RESET: To the left (reset enabled)
+   * Battery Source: Down
+   * Wall 5V: Up
+   * VDD 5V: To the left (off)
+   * Hold Button: Down (off)
+
+Full reference at i.MX28 manual chapter 12.2.1 (Table 12-2).
+
+An SD card that can be used to boot U-Boot on a i.MX28 CPU must contain a DOS
+partition table, which in turn carries a partition of special type and which
+contains a special header. The rest of partitions in the DOS partition table can
+be used by the user.
+
+To prepare such partition, use your favourite partitioning tool. The partition
+must have the following parameters:
+
+	* Start sector .......... sector 2048
+	* Partition size ........ at least 1024 kb
+	* Partition type ........ 0x53 (sometimes "OnTrack DM6 Aux3")
+
+For example in Linux fdisk, the sequence for a clear card follows. Be sure to
+run fdisk with the option "-u=sectors" to set units to sectors:
+
+	* o ..................... create a clear partition table
+	* n ..................... create new partition
+		* p ............. primary partition
+		* 1 ............. first partition
+		* 2048 .......... first sector is 2048
+		* +1M ........... make the partition 1Mb big
+	* t 1 ................... change first partition ID
+		* 53 ............ change the ID to 0x53 (OnTrack DM6 Aux3)
+	* <create other partitions>
+	* w ..................... write partition table to disk
+
+The partition layout is ready, next the special partition must be filled with
+proper contents. The contents is generated by running the following command (see
+chapter 2)):
+
+	$ ./tools/mxsboot sd u-boot.sb u-boot.sd
+
+The resulting file, "u-boot.sd", shall then be written to the partition. In this
+case, we assume the first partition of the SD card is /dev/mmcblk0p1:
+
+	$ dd if=u-boot.sd of=/dev/mmcblk0p1
+
+Last step is to insert the card into MX28EVK and boot.
+
+NOTE: If the user needs to adjust the start sector, the "mxsboot" tool contains
+      a "-p" switch for that purpose. The "-p" switch takes the sector number as
+      an argument.