[U-Boot] [PATCH v10 0/4] Adds support for Exynos5422 odroid xu3 board

Suriyan Ramasami suriyan.r at gmail.com
Wed Dec 3 17:15:58 CET 2014


Hello all,

On Wed, Dec 3, 2014 at 4:46 AM, Przemyslaw Marczak
<p.marczak at samsung.com> wrote:
> Hello all,
>
>
> On 12/02/2014 08:07 AM, Hyungwon Hwang wrote:
>>
>> This is v10 of the patchset adding support Odroud XU3 board.
>>
>> link to the previous version:
>> v2: https://www.mail-archive.com/u-boot@lists.denx.de/msg152275.html
>> v3: https://www.mail-archive.com/u-boot%40lists.denx.de/msg152677.html
>> v4: https://patchwork.ozlabs.org/patch/407411/
>> v5: https://patchwork.ozlabs.org/patch/407941/
>> v6: https://patchwork.ozlabs.org/patch/408647/
>> v7: https://patchwork.ozlabs.org/patch/410204/
>> v8: https://patchwork.ozlabs.org/patch/410709/
>> v9: https://patchwork.ozlabs.org/patch/415514/
>>
>> The patchset by Akshay Saraswat is already merged into u-boot-samsung.
>> Please ignore the instruction about the additional patchset in v8.
>>
>> How to test this patch:
>> 1. git clone http://git.denx.de/u-boot-samsung.git
>> 2. Apply this patchset
>> 3. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- odroid-xu3_config
>> 4. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j8
>> 5. Now you can use u-boot-dtb.bin for your downloading
>>
>> WARNING: (update in V10)
>> It was impossible to make the u-boot image smaller than 335872 bytes, and
>> also
>> I did not want to waste my time to make it fit for that restriction,
>> because
>> the discussion about this issue is in progress in malining list. I used
>> BL2 by
>> Suriyan Ramasami <suriyan.r at gmail.com> which the restriction is removed
>> for
>> testing. If you need the BL2 for testing, please contact me or Suriyan.
>>
>> Note: If you use micro SD card for your test you have to apply the below
>> patch additionally. This patch is needed, because micro sd card is
>> recognized as MMC1 instead of MMC0. Additional work is needed to make it
>> work regardless of device id.
>>
>> Thanks for Sjoerd Simons. Not only did he comment my patchset, but he also
>> made
>> real patch for me. I squashed some part of that patchset, and included the
>> remainings into my patchset.
>>
>> diff --git a/include/configs/exynos5-common.h
>> b/include/configs/exynos5-common.h
>> index ba591e7..437eaae 100644
>> --- a/include/configs/exynos5-common.h
>> +++ b/include/configs/exynos5-common.h
>> @@ -109,7 +109,7 @@
>>
>>   #define CONFIG_SYS_MONITOR_BASE        0x00000000
>>
>> -#define CONFIG_SYS_MMC_ENV_DEV         0
>> +#define CONFIG_SYS_MMC_ENV_DEV         1
>>
>>   #define CONFIG_SECURE_BL1_ONLY
>>
>> Changes for v2:
>> - Add a patch to add new common setup header file for Odroid X2/U3
>> and Odroid XU3
>>
>> Changes for v3:
>> - Remove the patch which adds new common setup header file from v2
>> - Remove the wrong patch to fix GPIO information of Exynos 5800
>> - Remove unnecessary node from DT file
>> - Remove unnecessary features from config file
>> - Fix some trivial typos in comments
>>
>> Changes for v4:
>> - Add MMC FIFO buffer's configuration to DT file
>> - Make CONFIG_OF_CONTROL be set by the target information
>> - Add basic document to doc/README.odroid-xu3
>> - Add CONFIG_CMD_EXT4 to config file
>> - Add environment size and offset to config file
>> - Add extra default environment to make bootable without modification
>> - Remove unnecessary features from config file
>>
>> Changes for v5:
>> - Add the specific build instruction
>> - Update the information of patchset by Akshay Saraswat
>> - Convert /include/ to #include in DT file
>>
>> Changes for v6:
>> - Separate out the documentation to new commit
>> - Remove unnecessary header file inclusuib from the board-specific setup
>> file
>> - Make the function board_clock_init be declared, only when
>>    CONFIG_BOARD_EARLY_INIT_F is defined
>>
>> Changes for v7:
>> - Fix several errata in the documentation
>> - Remove OF_CONTROL dependency from !SPL_BUILD
>>
>> Changes for v8:
>> - Remove unnecessary properties in DT mmc node
>>
>> Changes for v9:
>> - Remove the first patch which change GPIO entries order. It became
>> useless,
>> after DT support is added
>> - Remove useless variables in the default environment
>> - Add the new contents to the documentation of Odroid X2/U2, instead of
>> making new document for Odorid XU3
>> - Remove the detailed information in the header file, and leave the
>> reference to the documentation
>>
>> Changes for v10:
>> - Move the non common configs in Exynos5420 config file to each board file
>> - Remove the config unsets which are added to make the result image small
>>    This is needless now, because the image is not small enough even though
>> these
>>    unsets are added.
>> - Remove redundant DT node and properties
>> - Remove the odroid-xu3 board file and make odroid-xu3 a variant of
>> smdk5420
>> - Fix some errata in documentation
>> - Include the patch by Sjoerd Simons as 4th patch
>>
>> Hyungwon Hwang (3):
>>    config: exynos5420: move non common configs to specific board files
>>    Odroid-XU3: Add support for Odroid-XU3
>>    Odroid-XU3: Add documentation for Odroid-XU3
>>
>> Sjoerd Simons (1):
>>    Odroid-XU3: Add entry for DTS EHCI GPIO
>>
>>   arch/arm/cpu/armv7/exynos/Kconfig     |  4 +++
>>   arch/arm/dts/Makefile                 |  3 +-
>>   arch/arm/dts/exynos5422-odroidxu3.dts | 49
>> +++++++++++++++++++++++++++++++
>>   board/samsung/smdk5420/Kconfig        | 13 +++++++++
>>   configs/odroid-xu3_defconfig          |  4 +++
>>   doc/README.odroid                     | 46 ++++++++++++++++++-----------
>>   include/configs/exynos5420-common.h   | 18 ------------
>>   include/configs/odroid_xu3.h          | 54
>> +++++++++++++++++++++++++++++++++++
>>   include/configs/peach-pi.h            |  6 ++++
>>   include/configs/peach-pit.h           |  6 ++++
>>   include/configs/smdk5420.h            | 11 +++++++
>>   11 files changed, 179 insertions(+), 35 deletions(-)
>>   create mode 100644 arch/arm/dts/exynos5422-odroidxu3.dts
>>   create mode 100644 configs/odroid-xu3_defconfig
>>   create mode 100644 include/configs/odroid_xu3.h
>>
>
> I talked to man from the hardkernel, and he said that there is no
> restrictions about adding BL1/BL2/TZSW as a binary blob to the Mainline
> U-Boot. So I think, in this case it should be provided also with those
> patches. Then we have a complete board setup.
>
> To Hyungwon,
> There is a size limit for each patch (100KiB), so if you would like to add
> such binary blob, you should add it using this site:
> http://www.denx.de/wiki/attach/U-Boot/TooBigPatches
> after a registration.
>

I do have a signed BL2 (1MB U-Boot image - same as for the Odroid U3)
at http://forum.odroid.com/viewtopic.php?f=98&t=7388
It has the full package - BL1/BL2/TZ and the sd_fusing script which
works for both SD as well as eMMC.
If we go with this BL2, then CONFIG_ENV_OFFSET (currently set at 1280
* 1024) will clash with the TZ area in SD card. ( I am assuming its OK
for eMMC as the ENV resides in the user partition and not in boot0)
This offset is OK for the Odroid-U3 as the TZ is smaller (156 K). For
the Odroid U3: free area is after 2111 + (156 * 2) = 2423. The ENV
starts at 1280K = offset block 2560.
For the Odroid-XU3 the TZ is 256K. Free area after the blobs starts
from 2111 + (256 * 2) = 2623.
Hence, we will have to shift CONFIG_ENV_OFFSET to anything greater
than 2623 (512 byte) blocks. Anything with CONFIG_ENV_OFFSET (SZ_1K *
1312) should work.

Thanks and Regards
- Suriyan

> Best regards
> --
> Przemyslaw Marczak
> Samsung R&D Institute Poland
> Samsung Electronics
> p.marczak at samsung.com


More information about the U-Boot mailing list