diff options
author | Breno Matheus Lima <breno.lima@nxp.com> | 2018-10-10 04:10:27 +0300 |
---|---|---|
committer | Stefano Babic <sbabic@denx.de> | 2018-10-22 15:22:42 +0300 |
commit | df11b0c4d4e3ca3821cf4cc6b13fb9fee1d5f891 (patch) | |
tree | 76f814f419b104826b64620c0c603aa9b78c54b0 /doc/README.imximage | |
parent | 6d9b483f371836ec16d9ee4f85bea53eb05307ae (diff) | |
download | u-boot-df11b0c4d4e3ca3821cf4cc6b13fb9fee1d5f891.tar.xz |
doc: imx: reorganize i.MX documentation
Currently the U-Boot doc/ directory contains the following files
that are only relevant for i.MX devices:
- doc/README.imx25
- doc/README.imx27
- doc/README.imx5
- doc/README.imx6
- doc/README.imximage
- doc/README.mxc_hab
- doc/README.mxs
- doc/README.mxsimage
- doc/README.sdp
Move all content to a common i.MX folder for a better documentation
structure.
Signed-off-by: Breno Lima <breno.lima@nxp.com>
Diffstat (limited to 'doc/README.imximage')
-rw-r--r-- | doc/README.imximage | 239 |
1 files changed, 0 insertions, 239 deletions
diff --git a/doc/README.imximage b/doc/README.imximage deleted file mode 100644 index 803682f558..0000000000 --- a/doc/README.imximage +++ /dev/null @@ -1,239 +0,0 @@ ---------------------------------------------- -Imximage Boot Image generation using mkimage ---------------------------------------------- - -This document describes how to set up a U-Boot image that can be booted -by Freescale MX25, MX35, MX51, MX53 and MX6 processors via internal boot -mode. - -These processors can boot directly from NAND, SPI flash and SD card flash -using its internal boot ROM support. MX6 processors additionally support -boot from NOR flash and SATA disks. All processors can boot from an internal -UART, if booting from device media fails. -Booting from NOR flash does not require to use this image type. - -For more details refer Chapter 2 - System Boot and section 2.14 -(flash header description) of the processor's manual. - -Command syntax: --------------- -./tools/mkimage -l <mx u-boot_file> - to list the imx image file details - -./tools/mkimage -T imximage \ - -n <board specific configuration file> \ - -e <execution address> -d <u-boot binary> <output image file> - -For example, for the mx51evk board: -./tools/mkimage -n ./board/freescale/mx51evk/imximage.cfg \ - -T imximage -e 0x97800000 \ - -d u-boot.bin u-boot.imx - -You can generate directly the image when you compile u-boot with: - -$ make u-boot.imx - -The output image can be flashed on the board SPI flash or on a SD card. -In both cases, you have to copy the image at the offset required for the -chosen media devices (0x400 for both SPI flash or SD card). - -Please check Freescale documentation for further details. - -Board specific configuration file specifications: -------------------------------------------------- -1. This file must present in the $(BOARDDIR) and the name should be - imximage.cfg (since this is used in Makefile). -2. This file can have empty lines and lines starting with "#" as first - character to put comments. -3. This file can have configuration command lines as mentioned below, - any other information in this file is treated as invalid. - -Configuration command line syntax: ---------------------------------- -1. Each command line is must have two strings, first one command or address - and second one data string -2. Following are the valid command strings and associated data strings:- - Command string data string - -------------- ----------- - IMXIMAGE_VERSION 1/2 - 1 is for mx25/mx35/mx51 compatible, - 2 is for mx53/mx6 compatible, - others is invalid and error is generated. - This command need appear the fist before - other valid commands in configuration file. - - BOOT_OFFSET value - - This command is parallel to BOOT_FROM and - is preferred over BOOT_FROM. - - value: Offset of the image header, this - value shall be set to one of the - values found in the file: - arch/arm/include/asm/\ - mach-imx/imximage.cfg - Example: - BOOT_OFFSET FLASH_OFFSET_STANDARD - - BOOT_FROM nand/spi/sd/onenand/nor/sata - - This command is parallel to BOOT_OFFSET and - is to be deprecated in favor of BOOT_OFFSET. - - Example: - BOOT_FROM spi - - CSF value - - Total size of CSF (Command Sequence File) - used for Secure Boot/ High Assurance Boot - (HAB). - - Using this command will populate the IVT - (Initial Vector Table) CSF pointer and adjust - the length fields only. The CSF itself needs - to be generated with Freescale tools and - 'manually' appended to the u-boot.imx file. - - The CSF is then simply concatenated - to the u-boot image, making a signed bootloader, - that the processor can verify - if the fuses for the keys are burned. - - Further infos how to configure the SOC to verify - the bootloader can be found in the "High - Assurance Boot Version Application Programming - Interface Reference Manual" as part of the - Freescale Code Signing Tool, available on the - manufacturer's website. - - Example: - CSF 0x2000 - - DATA type address value - - type: word=4, halfword=2, byte=1 - address: physycal register address - value: value to be set in register - All values are in in hexadecimal. - Example (write to IOMUXC): - DATA 4 0x73FA88a0 0x200 - -The processor support up to 60 register programming commands for IMXIMAGE_VERSION 1 -and 220 register programming commands for IMXIMAGE_VERSION 2. -An error is generated if more commands are found in the configuration file. - -3. All commands are optional to program. - -Setup a SD Card for booting --------------------------------- - -The following example prepare a SD card with u-boot and a FAT partition -to be used to stored the kernel to be booted. -I will set the SD in the most compatible mode, setting it with -255 heads and 63 sectors, as suggested from several documentation and -howto on line (I took as reference the preparation of a SD Card for the -Beagleboard, running u-boot as bootloader). - -You should start clearing the partitions table on the SD card. Because -the u-boot image must be stored at the offset 0x400, it must be assured -that there is no partition at that address. A new SD card is already -formatted with FAT filesystem and the partition starts from the first -cylinder, so we need to change it. - -You can do all steps with fdisk. If the device for the SD card is -/dev/mmcblk0, the following commands make the job: - -1. Start the fdisk utility (as superuser) - fdisk /dev/mmcblk0 - -2. Clear the actual partition - -Command (m for help): o - -3. Print card info: - -Command (m for help): p -Disk /dev/mmcblk0: 1981 MB, 1981284352 bytes - -In my case, I have a 2 GB card. I need the size to set later the correct value -for the cylinders. - -4. Go to expert mode: - -Command (m for help): x - -5. Set card geometry - -Expert command (m for help): h -Number of heads (1-256, default 4): 255 - -Expert command (m for help): s -Number of sectors (1-63, default 16): 63 -Warning: setting sector offset for DOS compatiblity - -We have set 255 heads, 63 sector. We have to set the cylinder. -The value to be set can be calculated with: - - cilynder = <total size> / <heads> / <sectors> / <blocksize> - -in this example, - 1981284352 / 255 / 63 / 512 = 239.x = 239 - - -Expert command (m for help): c -Number of cylinders (1-1048576, default 60032): 239 - -6. Leave the expert mode -Expert command (m for help): r - -7. Set up a partition - -Now set a partition table to store the kernel or whatever you want. Of course, -you can set additional partitions to store rootfs, data, etc. -In my example I want to set a single partition. I must take care -to not overwrite the space where I will put u-boot. - -Command (m for help): n -Command action - e extended - p primary partition (1-4) -p -Partition number (1-4): 1 -First cylinder (1-239, default 1): 3 -Last cylinder, +cylinders or +size{K,M,G} (3-239, default 239): +100M - -Command (m for help): p - -Disk /dev/mmcblk0: 1967 MB, 1967128576 bytes -255 heads, 63 sectors/track, 239 cylinders -Units = cylinders of 16065 * 512 = 8225280 bytes -Disk identifier: 0xb712a870 - - Device Boot Start End Blocks Id System -/dev/mmcblk0p1 3 16 112455 83 Linux - -I have set 100MB, leaving the first 2 sectors free. I will copy u-boot -there. - -8. Write the partition table and exit. - -Command (m for help): w -The partition table has been altered! - -Calling ioctl() to re-read partition table. - -9. Copy u-boot.imx on the SD card - -I use dd: - -dd if=u-boot.imx of=/dev/mmcblk0 bs=512 seek=2 - -This command copies the u-boot image at the address 0x400, as required -by the processor. - -Now remove your card from the PC and go to the target. If evrything went right, -the u-boot prompt should come after power on. - ------------------------------------------------- -Author: Stefano babic <sbabic@denx.de> |