mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-27 20:38:52 +09:00
![]() The Linux coding style guide (Documentation/process/coding-style.rst) clearly says: It's a **mistake** to use typedef for structures and pointers. Besides, using typedef for structures is annoying when you try to make headers self-contained. Let's say you have the following function declaration in a header: void foo(bd_t *bd); This is not self-contained since bd_t is not defined. To tell the compiler what 'bd_t' is, you need to include <asm/u-boot.h> #include <asm/u-boot.h> void foo(bd_t *bd); Then, the include direcective pulls in more bloat needlessly. If you use 'struct bd_info' instead, it is enough to put a forward declaration as follows: struct bd_info; void foo(struct bd_info *bd); Right, typedef'ing bd_t is a mistake. I used coccinelle to generate this commit. The semantic patch that makes this change is as follows: <smpl> @@ typedef bd_t; @@ -bd_t +struct bd_info </smpl> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> |
||
---|---|---|
.. | ||
clearfog.c | ||
Kconfig | ||
MAINTAINERS | ||
Makefile | ||
README |
Update from original Marvell U-Boot to mainline U-Boot: ------------------------------------------------------- Generate the U-Boot image with these commands: $ make clearfog_defconfig $ make The resulting image including the SPL binary with the full DDR setup is "u-boot-spl.kwb". Now all you need to do is copy this image on a SD card. For example with this command: $ sudo dd if=u-boot-spl.kwb of=/dev/sdX bs=512 seek=1 Please use the correct device node for your setup instead of "/dev/sdX" here! Install U-Boot on eMMC: ----------------------- To make SPL load the main U-Boot image from the eMMC boot partition enable eMMC boot acknowledgement and boot partition with the following U-Boot command: mmc partconf 0 1 1 0 Install U-Boot on eMMC boot partition from Linux running on Clearfog: echo 0 > /sys/block/mmcblk0boot0/force_ro dd if=u-boot-spl.kwb of=/dev/mmcblk0boot0 Note that the SD card is not accessible when the Clearfog SOM has eMMC. Consider initial boot from UART (see below). Install U-Boot on SATA: ----------------------- When loading the main U-Boot image from raw SATA sector, set CONFIG_SPL_SATA_RAW_U_BOOT_SECTOR to 0x141. Boot selection: --------------- Before powering up the board, boot selection should be done via the SW1 dip switch (0: OFF, 1: ON): - SPI: 00010 - SD/eMMC: 00111 - M.2 SSD: 11100 - UART: 01001 [1] [1]: According to SolidRun's manual, 11110 should be used for UART booting on the ClearFog 'Pro' variant. However, this doesn't work (anymore) at least on Rev. 2.1 (but '01001' as mentionend for the 'Base' variant does). Boot from UART: --------------- Connect the on-board micro-USB (CF Pro: CON11, CF Base: CON5) to your host. Set the SW1 DIP switches to UART boot (see above). Run the following command to initiate U-Boot download: ./tools/kwboot -b u-boot-spl.kwb /dev/ttyUSBX Use the correct UART device node for /dev/ttyUSBX. When download finishes start your favorite terminal emulator on /dev/ttyUSBX.