Commit 6efbe2199008f3a3abadcc59fd9d8e7d51cf816a

Authored by Otavio Salvador
Committed by Stefano Babic
1 parent e0df5353fb

mx6qsabrelite: Add support to dynamically choose between fdt use or not

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>

Showing 1 changed file with 37 additions and 2 deletions Side-by-side Diff

include/configs/mx6qsabrelite.h
... ... @@ -157,6 +157,10 @@
157 157 "console=ttymxc1\0" \
158 158 "fdt_high=0xffffffff\0" \
159 159 "initrd_high=0xffffffff\0" \
  160 + "fdt_file=imx6q-sabrelite.dtb\0" \
  161 + "fdt_addr=0x11000000\0" \
  162 + "boot_fdt=try\0" \
  163 + "ip_dyn=yes\0" \
160 164 "mmcdev=0\0" \
161 165 "mmcpart=2\0" \
162 166 "mmcroot=/dev/mmcblk0p3 rootwait rw\0" \
163 167  
164 168  
... ... @@ -167,15 +171,46 @@
167 171 "bootscript=echo Running bootscript from mmc ...; " \
168 172 "source\0" \
169 173 "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
  174 + "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
170 175 "mmcboot=echo Booting from mmc ...; " \
171 176 "run mmcargs; " \
172   - "bootm\0" \
  177 + "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
  178 + "if run loadfdt; then " \
  179 + "bootm ${loadaddr} - ${fdt_addr}; " \
  180 + "else " \
  181 + "if test ${boot_fdt} = try; then " \
  182 + "bootm; " \
  183 + "else " \
  184 + "echo WARN: Cannot load the DT; " \
  185 + "fi; " \
  186 + "fi; " \
  187 + "else " \
  188 + "bootm; " \
  189 + "fi;\0" \
173 190 "netargs=setenv bootargs console=${console},${baudrate} " \
174 191 "root=/dev/nfs " \
175 192 "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
176 193 "netboot=echo Booting from net ...; " \
177 194 "run netargs; " \
178   - "dhcp ${uimage}; bootm\0"
  195 + "if test ${ip_dyn} = yes; then " \
  196 + "setenv get_cmd dhcp; " \
  197 + "else " \
  198 + "setenv get_cmd tftp; " \
  199 + "fi; " \
  200 + "${get_cmd} ${uimage}; " \
  201 + "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
  202 + "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
  203 + "bootm ${loadaddr} - ${fdt_addr}; " \
  204 + "else " \
  205 + "if test ${boot_fdt} = try; then " \
  206 + "bootm; " \
  207 + "else " \
  208 + "echo WARN: Cannot load the DT; " \
  209 + "fi; " \
  210 + "fi; " \
  211 + "else " \
  212 + "bootm; " \
  213 + "fi;\0"
179 214  
180 215 #define CONFIG_BOOTCOMMAND \
181 216 "mmc dev ${mmcdev};" \