drivers: net: cpsw: remove hard coding bd ram for cpsw
[oweals/u-boot.git] / board / ti / am335x / README
1 Summary
2 =======
3
4 This document covers various features of the 'am335x_evm' build, and some of
5 the related build targets (am335x_evm_uartN, etc).
6
7 Hardware
8 ========
9
10 The binary produced by this board supports, based on parsing of the EEPROM
11 documented in TI's reference designs:
12 - AM335x GP EVM
13 - AM335x EVM SK
14 - Beaglebone White
15 - Beaglebone Black
16
17 Falcon Mode
18 ===========
19
20 The default build includes "Falcon Mode" (see doc/README.falcon) via NAND,
21 eMMC (or raw SD cards) and FAT SD cards.  Our default behavior currently is
22 to read a 'c' on the console while in SPL at any point prior to loading the
23 OS payload (so as soon as possible) to opt to booting full U-Boot.  Also
24 note that while one can program Falcon Mode "in place" great care needs to
25 be taken by the user to not 'brick' their setup.  As these are all eval
26 boards with multiple boot methods, recovery should not be an issue in this
27 worst-case however.
28
29 Falcon Mode: eMMC
30 =================
31
32 The recommended layout in this case is:
33
34 MMC BLOCKS      |--------------------------------| LOCATION IN BYTES
35 0x0000 - 0x007F : MBR or GPT table               : 0x000000 - 0x020000
36 0x0080 - 0x00FF : ARGS or FDT file               : 0x010000 - 0x020000
37 0x0100 - 0x01FF : SPL.backup1 (first copy used)  : 0x020000 - 0x040000
38 0x0200 - 0x02FF : SPL.backup2 (second copy used) : 0x040000 - 0x060000
39 0x0300 - 0x06FF : U-Boot                         : 0x060000 - 0x0e0000
40 0x0700 - 0x08FF : U-Boot Env + Redundant         : 0x0e0000 - 0x120000
41 0x0900 - 0x28FF : Kernel                         : 0x120000 - 0x520000
42
43 Note that when we run 'spl export' it will prepare to boot the kernel.
44 This includes relocation of the uImage from where we loaded it to the entry
45 point defined in the header.  As these locations overlap by default, it
46 would leave us with an image that if written to MMC will not boot, so
47 instead of using the loadaddr variable we use 0x81000000 in the following
48 example.  In this example we are loading from the network, for simplicity,
49 and assume a valid partition table already exists and 'mmc dev' has already
50 been run to select the correct device.  Also note that if you previously
51 had a FAT partition (such as on a Beaglebone Black) it is not enough to
52 write garbage into the area, you must delete it from the partition table
53 first.
54
55 # Ensure we are able to talk with this mmc device
56 U-Boot # mmc rescan
57 U-Boot # tftp 81000000 am335x/MLO
58 # Write to two of the backup locations ROM uses
59 U-Boot # mmc write 81000000 100 100
60 U-Boot # mmc write 81000000 200 100
61 # Write U-Boot to the location set in the config
62 U-Boot # tftp 81000000 am335x/u-boot.img
63 U-Boot # mmc write 81000000 300 400
64 # Load kernel and device tree into memory, perform export
65 U-Boot # tftp 81000000 am335x/uImage
66 U-Boot # run findfdt
67 U-Boot # tftp ${fdtaddr} am335x/${fdtfile}
68 U-Boot # run mmcargs
69 U-Boot # spl export fdt 81000000 - ${fdtaddr}
70 # Write the updated device tree to MMC
71 U-Boot # mmc write ${fdtaddr} 80 80
72 # Write the uImage to MMC
73 U-Boot # mmc write 81000000 900 2000
74
75 Falcon Mode: FAT SD cards
76 =========================
77
78 In this case the additional file is written to the filesystem.  In this
79 example we assume that the uImage and device tree to be used are already on
80 the FAT filesystem (only the uImage MUST be for this to function
81 afterwards) along with a Falcon Mode aware MLO and the FAT partition has
82 already been created and marked bootable:
83
84 U-Boot # mmc rescan
85 # Load kernel and device tree into memory, perform export
86 U-Boot # load mmc 0:1 ${loadaddr} uImage
87 U-Boot # run findfdt
88 U-Boot # load mmc 0:1 ${fdtaddr} ${fdtfile}
89 U-Boot # run mmcargs
90 U-Boot # spl export fdt ${loadaddr} - ${fdtaddr}
91
92 This will print a number of lines and then end with something like:
93    Using Device Tree in place at 80f80000, end 80f85928
94    Using Device Tree in place at 80f80000, end 80f88928
95 So then you:
96
97 U-Boot # fatwrite mmc 0:1 0x80f80000 args 8928
98
99 Falcon Mode: NAND
100 =================
101
102 In this case the additional data is written to another partition of the
103 NAND.  In this example we assume that the uImage and device tree to be are
104 already located on the NAND somewhere (such as fileystem or mtd partition)
105 along with a Falcon Mode aware MLO written to the correct locations for
106 booting and mtdparts have been configured correctly for the board:
107
108 U-Boot # nand read ${loadaddr} kernel
109 U-Boot # load nand rootfs ${fdtaddr} /boot/am335x-evm.dtb
110 U-Boot # run nandargs
111 U-Boot # spl export fdt ${loadaddr} - ${fdtaddr}
112 U-Boot # nand erase.part u-boot-spl-os
113 U-Boot # nand write ${fdtaddr} u-boot-spl-os