blob: 4b6984cd54fed72f82f0bef00129b167fe11e16f [file] [log] [blame]
Stefano Babic17b60372016-06-08 10:50:20 +02001Board information
2-----------------
3
4The SBC produced by Phytec has a SOM based on a i.MX6Q.
5The SOM is sold in two versions, with eMMC or with NAND. Support
6here is for the SOM with NAND.
7The evaluation board "phyBoard-Mira" is thought to be used
8together with the SOM.
9
10More information on the board can be found on manufacturer's
11website:
12
13http://www.phytec.de/produkt/single-board-computer/phyboard-mira/
14http://www.phytec.de/fileadmin/user_upload/images/content/1.Products/SOMs/phyCORE-i.MX6/L-808e_1.pdf
15
16Building U-Boot
17-------------------------------
18
19$ make pcm058_defconfig
20$ make
21
22This generates the artifacts SPL and u-boot.img.
23The SOM can boot from NAND or from SD-Card, having the SPI-NOR
24as second option.
25The dip switch "DIP-1" on the board let choose between
26NAND and SD.
27
28DIP-1 set to off: Boot first from NAND, then try SPI
29DIP-1 set to on: Boot first from SD, then try SPI
30
31The bootloader was tested with DIP-1 set to on. If a SD-card
32is present, then the RBL tries to load SPL from the SD Card, if not,
33RBL loads from SPI-NOR. The SPL tries then to load from the same
34device where SPL was loaded (SD or SPI). Booting from NAND is
35not supported.
Niel Fourie8ee19072020-05-19 14:01:43 +020036
37Flashing U-Boot onto an SD card
38-------------------------------
39
Michal Simek50fa1182023-05-17 09:17:16 +020040After a successful build, the generated SPL and U-Boot binaries can be copied
Niel Fourie8ee19072020-05-19 14:01:43 +020041to an SD card. Adjust the SD card device as necessary:
42
43$ sudo dd if=u-boot-with-spl.imx of=/dev/mmcblk0 bs=1k seek=1
44
Michal Simek50fa1182023-05-17 09:17:16 +020045This is equivalent to separately copying the SPL and U-Boot using:
Niel Fourie8ee19072020-05-19 14:01:43 +020046
47$ sudo dd if=SPL of=/dev/mmcblk0 bs=1k seek=1
48$ sudo dd if=u-boot-dtb.img of=/dev/mmcblk0 bs=1k seek=197
49
50The default bootscripts expect a kernel fit-image file named "fitImage" in the
51first partition and Linux ext4 rootfs in the second partition.
52
Michal Simek50fa1182023-05-17 09:17:16 +020053Flashing U-Boot to the SPI Flash, for booting Linux from NAND
Niel Fourie8ee19072020-05-19 14:01:43 +020054-------------------------------------------------------------
55
Michal Simek50fa1182023-05-17 09:17:16 +020056The SD card created above can also be used to install the SPL and U-Boot into
57the SPI flash. Boot U-Boot from the SD card as above, and stop at the autoboot.
Niel Fourie8ee19072020-05-19 14:01:43 +020058
59Then, clear the SPI flash:
60
61=> sf probe
62=> sf erase 0x0 0x1000000
63
Niel Fourieff15f972020-07-24 16:33:27 +020064Load the equivalent of u-boot-with-spl.imx from the raw MMC into memory and
65copy to the SPI. The SPL is expected at an offset of 0x400, and its size is
66maximum 392*512-byte blocks in size, therefore 0x188 blocks, totaling 0x31000
Michal Simek50fa1182023-05-17 09:17:16 +020067bytes. Assume U-Boot should fit into 640KiB, therefore 0x500 512-byte blocks,
Niel Fourieff15f972020-07-24 16:33:27 +020068totalling 0xA0000 bytes. Adding these together:
Niel Fourie8ee19072020-05-19 14:01:43 +020069
Niel Fourieff15f972020-07-24 16:33:27 +020070=> mmc read ${loadaddr} 0x2 0x688
71=> sf write ${loadaddr} 0x400 0xD1000
Niel Fourie8ee19072020-05-19 14:01:43 +020072
Michal Simek50fa1182023-05-17 09:17:16 +020073The SPL is located at offset 0x400, and U-Boot at 0x31400 in SPI flash, as to
Niel Fourieff15f972020-07-24 16:33:27 +020074match the SD Card layout. This would allow, instead of reading from the SD Card
75above, with networking and TFTP correctly configured, the equivalent of:
Niel Fourie8ee19072020-05-19 14:01:43 +020076
Niel Fourieff15f972020-07-24 16:33:27 +020077=> tftp u-boot-with-spl.imx
78=> sf write ${fileaddr} 0x400 ${filesize}
Niel Fourie8ee19072020-05-19 14:01:43 +020079
80The default NAND bootscripts expect a single MTD partition named "rootfs",
81which in turn contains the UBI volumes "fit" (which contains the kernel fit-
82image) and "root" (which contains a ubifs root filesystem).
83
84The "bootm_size" variable in the environment
85--------------------------------------------
86
Michal Simek50fa1182023-05-17 09:17:16 +020087By default, U-Boot relocates the device tree towards the upper end of the RAM,
Niel Fourie8ee19072020-05-19 14:01:43 +020088which kernels using CONFIG_HIGHMEM=y may not be able to access during early
Michal Simek50fa1182023-05-17 09:17:16 +020089boot. With the bootm_size variable set to 0x30000000, U-Boot relocates the
Niel Fourie8ee19072020-05-19 14:01:43 +020090device tree to below this address instead.