u-boot/board
Cédric Schieli ade243a211 rpi: passthrough of the firmware provided FDT blob
Raspberry firmware used to pass a FDT blob at a fixed address (0x100),
but this is not true anymore. The address now depends on both the
memory size and the blob size [1].

If one wants to passthrough this FDT blob to the kernel, the most
reliable way is to save its address from the r2/x0 register in the
U-Boot entry point and expose it in a environment variable for
further processing.

This patch just does this:
- save the provided address in the global variable fw_dtb_pointer
- expose it in ${fdt_addr} if it points to a a valid FDT blob

There are many different ways to use it. One can, for example, use
the following script which will extract from the tree the command
line built by the firmware, then hand over the blob to a previously
loaded kernel:

fdt addr ${fdt_addr}
fdt get value bootargs /chosen bootargs
bootz ${kernel_addr_r} - ${fdt_addr}

Alternatively, users relying on sysboot/pxe can simply omit any FDT
statement in their extlinux.conf file, U-Boot will automagically pick
${fdt_addr} and pass it to the kernel.

[1] https://www.raspberrypi.org/forums//viewtopic.php?f=107&t=134018

Signed-off-by: Cédric Schieli <cschieli@gmail.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
2016-11-21 14:07:32 -05:00
..
8dtech/eco5pk
a3m071 Delete tests of CONFIG_OF_LIBFDT when testing CONFIG_OF_BOARD_SETUP 2016-05-27 15:41:16 -04:00
a4m072 Delete tests of CONFIG_OF_LIBFDT when testing CONFIG_OF_BOARD_SETUP 2016-05-27 15:41:16 -04:00
abilis/tb100
advantech treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
alphaproject/ap_sh4a_4a net: cosmetic: Name ethaddr variables consistently 2015-04-18 11:11:32 -06:00
altera arm: socfpga: Adding handoff for SDRAM ctrlcfg.extratime1 2016-10-27 08:03:08 +02:00
amazon/kc1 kc1: Proper reboot mode and boot reason validation 2016-04-01 17:18:06 -04:00
amcc common: Add DISPLAY_BOARDINFO 2016-10-12 08:20:17 -04:00
amlogic/odroid-c2 meson: odroid-c2: enable Ethernet support through the device tree 2016-09-06 13:18:19 -04:00
AndesTech/adp-ag101p NDS32: Generic Board Support and Unsupport 2015-08-28 11:46:35 -04:00
Arcturus/ucp1020 spi: Move freescale-specific code into a private header 2016-10-06 15:07:35 -04:00
aristainetos treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
armadeus/apf27 treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
armltd vexpress: disable cci ace slave ports when booting in non-sec/hyp mode 2016-10-07 14:26:30 +00:00
astro/mcf5373l Move console definitions into a new console.h file 2015-11-19 20:27:50 -07:00
atmark-techno/armadillo-800eva ARM: Rmobile: Rename CONFIG_RMOBILE to CONFIG_ARCH_RMOBILE 2016-08-17 10:25:34 +09:00
atmel board: sama5d2_xplained: Enable an early debug UART 2016-10-28 18:37:15 +02:00
avionic-design ARM: tegra: use DT bindings for GPIO naming 2016-05-31 09:53:56 -07:00
bachmann/ot1200 mx6: ddr: Allow changing REFSEL and REFR fields 2016-09-06 18:22:48 +02:00
barco imx: s/docs\/README.imximage/doc\/README.imximage/g 2016-10-26 16:53:16 +02:00
Barix/ipam390 treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
bct-brettl2 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf506f-ezkit Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf518f-ezbrd Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf525-ucr2 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf526-ezbrd Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf527-ad7160-eval Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf527-ezkit Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf527-sdp Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf533-ezkit Fix spelling of "occurred". 2016-05-02 18:37:09 -04:00
bf533-stamp Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf537-minotaur Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf537-pnav Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf537-srv1 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf537-stamp Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf538f-ezkit Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf548-ezkit Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf561-acvilon Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf561-ezkit Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf609-ezkit Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
birdland/bav335x Various Makefiles: Add SPDX-License-Identifier tags 2015-11-10 09:19:52 -05:00
blackstamp Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
blackvme Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bluegiga/apx4devkit
bluewater arm, at91: add icache support 2016-10-28 18:37:13 +02:00
bosch/shc am335x, shc: add support for the am335x based bosch shc board 2016-06-09 13:53:10 -04:00
boundary/nitrogen6x nitrogen6x: add secure boot support 2016-10-17 09:05:33 +02:00
br4 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
broadcom maintainers: new email address 2016-06-27 21:12:05 -04:00
buffalo/lsxl net: Fix a warning added by 76ec988 2015-05-28 08:18:25 -04:00
BuR board/BuR: rename kwb board to brxre1 2016-06-24 17:24:40 -04:00
BuS/eb_cpu5282 arm: Remove vl_ma2sc board 2015-09-11 17:12:57 -04:00
cadence/xtfpga xtensa: add support for the 'xtfpga' evaluation board 2016-08-15 18:46:40 -04:00
calao/usb_a9263 board: atmel: clean up peripheral clock code 2016-02-18 21:34:40 +01:00
canmb
CarMediaLab/flea3 treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
cavium/thunderx armv8: mmu: Add support of non-identical mapping 2016-07-15 09:01:43 -07:00
ccv/xpress imx: s/docs\/README.imximage/doc\/README.imximage/g 2016-10-26 16:53:16 +02:00
cei/cei-tk1-som ARM: tegra: Add support for TK1-SOM board from Colorado Engineering 2016-09-01 09:24:30 -07:00
chipspark/popmetal_rk3288 rockchip: add support for rk3288 PopMetal board 2016-07-31 07:24:20 -06:00
cirrus/edb93xx
cloudengines/pogo_e02
cm5200 Delete tests of CONFIG_OF_LIBFDT when testing CONFIG_OF_BOARD_SETUP 2016-05-27 15:41:16 -04:00
cm-bf527 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
cm-bf533 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
cm-bf537e Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
cm-bf537u Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
cm-bf548 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
cm-bf561 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
cobra5272 m68k: move CONFIG_SYS_TEXT_BASE to defconfig files 2016-01-20 10:19:34 -05:00
compal/paz00 tegra: video: Convert tegra20 LCD driver to driver model 2016-02-16 09:17:52 -07:00
compulab cmd/fdt: add possibilty to have 'extrasize' on fdt resize 2016-10-13 13:54:10 -06:00
congatec x86: conga-qeval20-qa3: Add README to explain the console UART options 2016-10-11 11:55:33 +08:00
coreboot x86: Drop all the old pin configuration code 2016-03-17 10:27:25 +08:00
corscience/tricorder arch, board: squash lines for immediate return 2016-09-23 17:53:53 -04:00
creative/xfi3 xfi3: correct function name 2015-11-12 17:38:08 +01:00
d-link/dns325 Change e-mail address of Stefan Herbrechtsmeier 2015-01-12 09:38:47 -05:00
davedenx/aria Delete tests of CONFIG_OF_LIBFDT when testing CONFIG_OF_BOARD_SETUP 2016-05-27 15:41:16 -04:00
davinci davinci: omapl138_lcdk: keep booting even when MAC address is invalid 2016-11-13 15:54:35 -05:00
dbau1x00 Orphan dbau1x00 boards 2016-06-17 09:51:01 -04:00
denx Merge branch 'master' of git://git.denx.de/u-boot-socfpga 2016-10-29 17:16:00 -04:00
dfi x86: Add theadorable-x86-dfi-bt700 board support 2016-08-16 11:44:09 +08:00
dnp5370 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
ebv/socrates arm: socfpga: socrates: Adding handoff for SDRAM ctrlcfg.extratime1 2016-10-27 08:03:09 +02:00
efi x86: Drop all the old pin configuration code 2016-03-17 10:27:25 +08:00
egnite/ethernut5 board: atmel: clean up peripheral clock code 2016-02-18 21:34:40 +01:00
el/el6x treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
embest/mx6boards treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
emulation x86: qemu: efi: Add two boards for EFI 32-bit and 64-bit payload 2016-08-30 09:26:05 +08:00
engicam/icorem6 engicam: icorem6: Fix config files 2016-11-05 10:09:10 -04:00
esd treewide: use #include <...> to include public headers 2016-09-23 17:53:56 -04:00
espt remove unnecessary version.h includes 2015-03-24 10:50:50 -04:00
firefly/firefly-rk3288 rockchip: Add basic support for firefly-rk3288 2015-09-02 21:28:24 -06:00
freescale ls2080ardb: Reserve DP-DDR RAM 2016-11-17 14:18:55 +01:00
gaisler
gateworks/gw_ventana treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
gdsys usb: fsl: Rename fdt_fixup_dr_usb 2016-09-27 23:30:27 +02:00
ge/bx50v3 treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
google x86: Add support for the samus chromebook 2016-03-17 10:27:27 +08:00
gumstix armv7: make gpmc_cfg const 2016-07-22 14:46:00 -04:00
h2200 h2200: Fix build error 2015-09-07 13:41:04 +02:00
highbank Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
hisilicon/hikey armv8: mmu: Add support of non-identical mapping 2016-07-15 09:01:43 -07:00
htkw/mcx treewide: use #include <...> to include public headers 2016-09-23 17:53:56 -04:00
ibf-dsp561 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
ids/ids8313
ifm Delete tests of CONFIG_OF_LIBFDT when testing CONFIG_OF_BOARD_SETUP 2016-05-27 15:41:16 -04:00
imgtec boston: Introduce support for the MIPS Boston development board 2016-09-21 16:24:36 +02:00
imx31_phycore
in-circuit/grasshopper Change my mailaddress 2016-05-02 18:37:09 -04:00
inka4x0 Move console definitions into a new console.h file 2015-11-19 20:27:50 -07:00
intel x86: bayleybay: Add PS/2 keyboard and mouse to ASL file 2016-08-16 11:44:09 +08:00
intercontrol/digsy_mtc Delete tests of CONFIG_OF_LIBFDT when testing CONFIG_OF_BOARD_SETUP 2016-05-27 15:41:16 -04:00
inversepath/usbarmory treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
iomega/iconnect cosmetic: kirkwood: style fixes in kwbimage.cfg files 2015-01-25 23:56:09 +01:00
ip04 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
ipek01 Delete tests of CONFIG_OF_LIBFDT when testing CONFIG_OF_BOARD_SETUP 2016-05-27 15:41:16 -04:00
is1 arm: socfpga: is1: Adding handoff for SDRAM ctrlcfg.extratime1 2016-10-27 08:03:10 +02:00
isee igep00x0: add Hynix timings 2016-11-13 15:54:34 -05:00
jupiter Delete tests of CONFIG_OF_LIBFDT when testing CONFIG_OF_BOARD_SETUP 2016-05-27 15:41:16 -04:00
keymile usb: fsl: Rename fdt_fixup_dr_usb 2016-09-27 23:30:27 +02:00
kmc/kzm9g ARM: Rmobile: Rename CONFIG_RMOBILE to CONFIG_ARCH_RMOBILE 2016-08-17 10:25:34 +09:00
kosagi/novena treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
l+g/vinco vinco: add Maintainers file 2016-02-20 21:40:02 +01:00
LaCie Revert "arm: Remove d2net_v2 defconfig file" 2015-10-19 11:26:49 -04:00
lego/ev3 treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
lg/sniper sniper: Change vendor name from lge to lg, matching devicetree vendor prefix 2016-04-01 17:18:06 -04:00
liebherr/lwmon5 video: Move video_get_info_str() prototype to a header file 2016-10-23 18:33:54 -04:00
logicpd omap3logic: Fix Auto detect Logic PD Models 2016-10-31 10:13:16 -04:00
Marvell arm64: mvebu: Add Armada 7K db-88f7040 development board support 2016-09-27 17:29:54 +02:00
maxbcm arm: mvebu: Consolidate board Kconfig options into one file 2016-01-14 14:08:59 +01:00
microchip/pic32mzda clk: convert API to match reset/mailbox style 2016-06-19 17:05:55 -06:00
micronas/vct treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
mini-box/picosam9g45 board: atmel: clean up peripheral clock code 2016-02-18 21:34:40 +01:00
mosaixtech/icon video: Move video_get_info_str() prototype to a header file 2016-10-23 18:33:54 -04:00
motionpro Delete tests of CONFIG_OF_LIBFDT when testing CONFIG_OF_BOARD_SETUP 2016-05-27 15:41:16 -04:00
mpc8308_p1m usb: fsl: Rename fdt_fixup_dr_usb 2016-09-27 23:30:27 +02:00
mpl video: Move video_get_info_str() prototype to a header file 2016-10-23 18:33:54 -04:00
mpr2
ms7720se
ms7722se remove unnecessary version.h includes 2015-03-24 10:50:50 -04:00
ms7750se remove unnecessary version.h includes 2015-03-24 10:50:50 -04:00
munices Delete tests of CONFIG_OF_LIBFDT when testing CONFIG_OF_BOARD_SETUP 2016-05-27 15:41:16 -04:00
nokia/rx51 omap-common: Common function to display die id, replacing omap3-specific version 2015-10-22 14:18:30 -04:00
nvidia ARM: tegra: fix ULPI PHY on Ventana and Seaboard 2016-09-27 09:11:03 -07:00
olimex/mx23_olinuxino arm: mxs: olinuxino: move DRAM config tuning to SPL 2014-12-19 15:32:14 +01:00
omicron/calimain
openrisc/openrisc-generic
overo ARM: Various: Future-proof serial platdata 2016-03-14 19:18:48 -04:00
pandora omap-common: Common function to display die id, replacing omap3-specific version 2015-10-22 14:18:30 -04:00
pb1x00 MIPS: Split I & D cache line size config 2016-05-31 09:44:24 +02:00
pdm360ng Delete tests of CONFIG_OF_LIBFDT when testing CONFIG_OF_BOARD_SETUP 2016-05-27 15:41:16 -04:00
phytec imx: s/docs\/README.imximage/doc\/README.imximage/g 2016-10-26 16:53:16 +02:00
ppcag/bg0900
pr1 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
qca mips: ath79: ap143: Reset ethernet on boot 2016-05-31 10:17:54 +02:00
qemu-mips MIPS: Split I & D cache line size config 2016-05-31 09:44:24 +02:00
qualcomm/dragonboard410c board: Add Qualcomm Dragonboard 410C support 2016-04-01 17:18:27 -04:00
quipos/cairo ARM: Various: Future-proof serial platdata 2016-03-14 19:18:48 -04:00
radxa/rock2 rockchip: Add support for Raxda Rock 2 2016-01-21 20:42:37 -07:00
raidsonic/ib62x0 cosmetic: kirkwood: style fixes in kwbimage.cfg files 2015-01-25 23:56:09 +01:00
raspberrypi/rpi rpi: passthrough of the firmware provided FDT blob 2016-11-21 14:07:32 -05:00
renesas treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
rockchip rockchip: add boot-mode support for rk3288, rk3036 2016-10-01 18:36:55 -06:00
ronetix nand: Embed mtd_info in struct nand_chip 2016-06-03 20:27:48 -05:00
samsung arch, board: squash lines for immediate return 2016-09-23 17:53:53 -04:00
samtec/vining_fpga arm: socfpga: vining_fpga: Adding handoff for SDRAM ctrlcfg.extratime1 2016-10-27 08:03:10 +02:00
sandbox sandbox: document support of block device emulation 2016-09-18 21:04:38 -06:00
sandisk/sansa_fuze_plus
sbc8349 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
sbc8548 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
sbc8641d Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
schulercontrol/sc_sps_1
Seagate Add support for Seagate BlackArmor NAS220 2015-01-14 11:37:39 -05:00
seco treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
shmin remove unnecessary version.h includes 2015-03-24 10:50:50 -04:00
siemens arm: at91: taurus/axm: add DM and DTS support 2016-06-26 20:17:22 +02:00
silica/pengwyn pengwyn: nand and ethernet fixes 2015-11-12 18:13:19 -05:00
socrates treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
solidrun treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
spear arm: spear: x600: Add support for Micrel KSZ9031 PHY 2016-05-31 07:48:34 +02:00
sr1500 arm: socfpga: sr1500: Adding handoff for SDRAM ctrlcfg.extratime1 2016-10-27 08:03:10 +02:00
st Revert "stm32: Change USART port to USART6 for stm32f746 discovery board" 2016-07-21 15:38:13 -04:00
sunxi sunxi: Add support for Cubieboard4 2016-10-30 11:38:05 +01:00
Synology arm: kirkwood: fix Synology board tag 2016-10-09 10:55:32 +02:00
synopsys arc: Rename AXS101 board to more generic AXS10x 2016-08-05 12:50:33 +03:00
sysam/amcore Fix spelling of "occur". 2016-10-31 10:13:16 -04:00
syteco/zmx25 ARM: remove jadecpu board support 2015-02-24 17:06:51 -05:00
t3corp
tbs/tbs2910 treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
tcl/sl50 ARM: am335x: select DM_GPIO 2016-09-07 08:48:58 -04:00
tcm-bf518 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
tcm-bf537 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
technexion imx: s/docs\/README.imximage/doc\/README.imximage/g 2016-10-26 16:53:16 +02:00
technologic/ts4800 treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
teejet/mt_ventoux omap-common: Common function to display die id, replacing omap3-specific version 2015-10-22 14:18:30 -04:00
terasic arm: socfpga: sockit: Adding handoff for SDRAM ctrlcfg.extratime1 2016-10-27 08:03:12 +02:00
theadorable arm: mvebu: theadorable: Configure board for PCIe 2.0 capability 2016-09-24 10:00:41 +02:00
ti board: ti: amx3xx: Remove multiple EEPROM reads 2016-11-21 13:59:25 -05:00
timll Various, accumulated typos collected from around the tree. 2016-10-06 20:57:40 -04:00
topic/zynq ARM: zynq: Add support for the topic-miami system-on-modules and carrier boards 2016-11-15 15:27:50 +01:00
toradex imx: s/docs\/README.imximage/doc\/README.imximage/g 2016-10-26 16:53:16 +02:00
tplink/wdr4300 MIPS: Split I & D cache line size config 2016-05-31 09:44:24 +02:00
tqc video: Move video_get_info_str() prototype to a header file 2016-10-23 18:33:54 -04:00
udoo udoo: Add a README file 2016-10-06 09:40:34 +02:00
v38b
varisys usb: fsl: Rename fdt_fixup_dr_usb 2016-09-27 23:30:27 +02:00
ve8313
vscom/baltos Kconfig: Move CONFIG_FIT and related options to Kconfig 2016-03-14 19:18:07 -04:00
wandboard wandboard: Make Ethernet functional again 2016-11-06 07:40:40 -05:00
warp imx: s/docs\/README.imximage/doc\/README.imximage/g 2016-10-26 16:53:16 +02:00
warp7 imx: s/docs\/README.imximage/doc\/README.imximage/g 2016-10-26 16:53:16 +02:00
woodburn treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
work-microwave/work_92105 hush: complete renaming CONFIG_SYS_HUSH_PARSER to CONFIG_HUSH_PARSER 2016-06-24 17:24:34 -04:00
xes mtd: nand: Add+use mtd_to/from_nand and nand_get/set_controller_data 2016-06-03 20:27:48 -05:00
xilinx ARM64: zynqmp: Ignore warnings from autogenerated files 2016-11-15 15:30:29 +01:00
zipitz2 zipitz2: enable caches 2016-03-27 09:13:01 -04:00
zyxel/nsa310s arm: kirkwood: add ZyXEL NSA310S device 2015-11-29 22:16:14 +01:00