[U-Boot] [PATCH v4 17/18] doc: README.mediatek: Add a simple README for MediaTek
Frank Wunderlich
frank-w at public-files.de
Tue Nov 6 16:20:23 UTC 2018
Apply: doc: README.mediatek: Add a simple README for MediaTek
.git/rebase-apply/patch:194: trailing whitespace.
warning: 1 Line adds Whitespace-Error.
Apply: MAINTAINERS: add an entry for MediaTek
but works so far ;)
https://github.com/frank-w/u-boot/tree/bpi-r2_v4
Tested-by: Frank Wunderlich <frank-w at public-files.de>
regards Frank
> Gesendet: Dienstag, 06. November 2018 um 09:47 Uhr
> Von: "Ryder Lee" <ryder.lee at mediatek.com>
> An: "Tom Rini" <trini at konsulko.com>, "Simon Glass" <sjg at chromium.org>, "Albert Aribaud" <albert.u.boot at aribaud.net>
> Cc: "Ryder Lee" <ryder.lee at mediatek.com>, "Steven Liu" <steven.liu at mediatek.com>, "Roy Luo" <cheng-hao.luo at mediatek.com>, u-boot at lists.denx.de
> Betreff: [U-Boot] [PATCH v4 17/18] doc: README.mediatek: Add a simple README for MediaTek
>
> Add a few notes on how to try out the MediaTek support so far.
>
> Signed-off-by: Ryder Lee <ryder.lee at mediatek.com>
> ---
> Changes since v4:
> -Add instructions on how to prepare SD card and write to SNOR flash.
> -Fix typo.
> ---
> doc/README.mediatek | 221 ++++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 221 insertions(+)
> create mode 100644 doc/README.mediatek
>
> diff --git a/doc/README.mediatek b/doc/README.mediatek
> new file mode 100644
> index 0000000..5b8e3e9
> --- /dev/null
> +++ b/doc/README.mediatek
> @@ -0,0 +1,221 @@
> +# SPDX-License-Identifier: GPL-2.0+
> +#
> +# Copyright (C) 2018 MediaTek Inc.
> +# Ryder Lee <ryder.lee at kernel.org>
> +
> +
> +This document describes how to compile the U-Boot and how to change U-Boot
> +configuration about the MediaTek SoCs.
> +
> +
> +Build Procedure
> +===============
> + -Set the cross compiler:
> +
> + # export CROSS_COMPILE=/path/to/toolchain/arm-linux-gnueabi-
> +
> + -Clean-up old residuals:
> +
> + # make mrproper
> +
> + -Configure the U-Boot:
> +
> + # make <defconfig_file>
> + # make
> +
> + - For the MT7623n bananapi R2 board use "mt7623n_bpir2_defconfig"
> + - For the MT7629 reference board use "mt7629_rfb_defconfig"
> +
> +
> +Boot sequence
> +=============
> + -Bootrom -> MTK preloader -> U-Boot
> +
> + - MT7623n
> +
> + This version of U-Boot doesn't implement SPL. So, MTK preloader binary
> + is needed to boot up:
> +
> + https://github.com/BPI-SINOVOIP/BPI-R2-bsp/tree/master/mt-pack/mtk/bpi-r2/bin
> +
> +
> + -Bootrom -> SPL -> U-Boot
> +
> + - MT7629
> +
> +
> +Configuration update
> +====================
> + To update the U-Boot configuration, please refer to doc/README.kconfig
> +
> +
> +MediaTek image header
> +=====================
> +Currently there are two image headers used for MediaTek chips:
> +
> + - BootROM image header. This header is used by the first stage bootloader. It records
> + the desired compatible boot device, integrity information and its load address.
> +
> + The on-chip BootROM will firstly verify integrity and compatibility of the bootloader.
> +
> + If verification passed, the BootROM will then load the bootloader into on-chip SRAM,
> + and pass control to it.
> +
> + Note that this header is actually a combination of three independent headers:
> + Device header, BRLYT header and GFH header.
> +
> + Used by U-Boot SPL of MT7629 and preloader of MT7623.
> +
> +
> + - MediaTek legacy image header. This header was originally used by the legacy image. It
> + basically records the load address, image size and image name.
> +
> + After all low level initializations passed, the preloader will locate the LK image and
> + load it into DRAM, and pass control to it.
> +
> + Now this header is used by U-Boot of MT7623.
> +
> +
> +To generate these two headers with mkimage:
> +
> + # mkimage -T mtk_image -a <load_addr> -n <option_string> -d <input_file> <image_file>
> +
> + - mtk_image means using MediaTek's header generation method.
> +
> +
> + - load_addr is the load address of this image.
> + For first stage bootloader like U-Boot SPL or preloader, it usually points to the
> + on-chip SRAM.
> +
> + For second stage bootloader like U-Boot, it usually points to the DRAM.
> +
> +
> + - option_string contains options to generate the header.
> +
> + The option string is using the follow format:
> + key1=value1;key2=value2;...
> +
> + The following key names are valid:
> + lk: If lk=1, LK image header is used. Otherwise BootROM image header is used.
> +
> + lkname: The name of the LK image header. The maximum length is 32.
> + The default value is "U-Boot".
> +
> + media: Desired boot device. The valid values are:
> + nand : Parallel NAND
> + snand: Serial NAND
> + nor : Serial NOR
> + emmc : eMMC
> + sdmmc: SD
> +
> + nandinfo: Desired NAND device type, a combination of page size, oob size and
> + optional device capacity. Valid types are:
> + 2k+64 : for Serial NAND, 2KiB page size + 64B oob size
> + 2k+120 : for Serial NAND, 2KiB page size + 120B oob size
> + 2k+128 : for Serial NAND, 2KiB page size + 128B oob size
> + 4k+256 : for Serial NAND, 4KiB page size + 256B oob size
> + 1g:2k+64 : for Parallel NAND, 2KiB page size + 64B oob size, total 1Gbit size
> + 2g:2k+64 : for Parallel NAND, 2KiB page size + 64B oob size, total 2Gbit size
> + 4g:2k+64 : for Parallel NAND, 2KiB page size + 64B oob size, total 4Gbit size
> + 2g:2k+128: for Parallel NAND, 2KiB page size + 128B oob size, total 2Gbit size
> + 4g:2k+128: for Parallel NAND, 2KiB page size + 128B oob size, total 4Gbit size
> +
> +
> +MT7629 partitions on Serial NOR
> +===============================
> +
> + Start End Size Description
> + 00000000 - 0000ffff: 64KiB U-Boot SPL
> + 00010000 - 0005ffff: 320KiB U-Boot
> + 00060000 - 0006ffff: 64KiB U-Boot env / MediaTek NVRAM
> + 00070000 - 000affff: 256KiB RF calibration data
> + 000b0000 - xxxxxxxx: all left Firmware image
> +
> +
> +BPi-R2 (MT7623N) partitions on SD
> +=================================
> + Please note that the last two partitions can vary from different Linux distributions
> + depending on the MBR partition table.
> +
> + Start End Size Description
> + 00000000 - 000001ff: 512B Device header (with MBR partition table)
> + 00000200 - 000007ff: 1536B BRLYT header
> + 00000800 - 0004ffff: 318KiB Preloader (with GFH header)
> + 00050000 - 000fffff: 704KiB U-Boot
> + 00100000 - 063fffff: 99MiB Reserved
> + 06400000 - 163fffff: 256MiB Partition 1 (FAT32)
> + 16400000 - xxxxxxxx: all left Partition 2 (ext4)
> +
> +
> +Upgrading notice on Serial NOR
> +==============================
> +Example: MT7629
> +
> + The command sf is used to operate the Serial NOR device:
> +
> + - To probe current NOR flash:
> +
> + # sf probe
> +
> + - To erase a region:
> +
> + # sf erase <offset> <len>
> +
> + - To write data to an offset:
> +
> + # sf write <data_addr> <offset> <len>
> +
> + - To boot kernel:
> +
> + # bootm 0x300b0000
> +
> + The memory address range 0x30000000 - 0x3fffffff is mapped to the NOR flash.
> + The DRAM starts at 0x40000000.
> +
> + Please note that the output binary u-boot-mtk.bin is a combination of SPL and U-Boot,
> + and it should be write to beginning of the flash.
> +
> + Otherwise you should use standalone files:
> +
> + spl/u-boot-spl-mtk.bin for SPL,
> + u-boot.img for U-Boot.
> +
> +
> +Upgrading notice on SD / eMMC
> +=============================
> +Example: MT7623
> +
> + Normally only Preloader and U-Boot can be upgraded within U-Boot, and other partitions
> + should be written in PC.
> +
> + - To probe current SD card / eMMC:
> +
> + # mmc dev 0 for eMMC
> + # mmc dev 1 for SD
> +
> + - To erase a region:
> +
> + # mmc erase <blk_offset> <blk_num>
> +
> + - To write data to a block offset:
> +
> + # mmc write <data_addr> <blk_offset> <blk_num>
> +
> + - To load kernel image from partition 1:
> +
> + # fatload mmc 0:1 <load_address> <path_to_kernel_uImage> for eMMC
> + # fatload mmc 1:1 <load_address> <path_to_kernel_uImage> for SD
> +
> + - To boot kernel:
> +
> + # bootm <load_address>
> +
> + The DRAM starts at 0x80000000.
> +
> + Please note that we use block offset and block count for SD card, not the byte offset.
> + The block size is always 512 bytes for SD card.
> +
> +
> +Documentation
> +=============
> + http://wiki.banana-pi.org/Banana_Pi_BPI-R2
> --
> 1.9.1
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot
>
More information about the U-Boot
mailing list