uboot/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
AndesTech/adp-ag101p
Arcturus/ucp1020 spi: Move freescale-specific code into a private header 2016-10-06 15:07:35 -04:00
Barix/ipam390 treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
BuR
BuS/eb_cpu5282
CarMediaLab/flea3 treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
LaCie
Marvell arm64: mvebu: Add Armada 7K db-88f7040 development board support 2016-09-27 17:29:54 +02:00
Seagate
Synology arm: kirkwood: fix Synology board tag 2016-10-09 10:55:32 +02:00
a3m071
a4m072
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
altera arm: socfpga: Adding handoff for SDRAM ctrlcfg.extratime1 2016-10-27 08:03:08 +02:00
amazon/kc1
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
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
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
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
bct-brettl2
bf506f-ezkit
bf518f-ezbrd
bf525-ucr2
bf526-ezbrd
bf527-ad7160-eval
bf527-ezkit
bf527-sdp
bf533-ezkit
bf533-stamp
bf537-minotaur
bf537-pnav
bf537-srv1
bf537-stamp
bf538f-ezkit
bf548-ezkit
bf561-acvilon
bf561-ezkit
bf609-ezkit
birdland/bav335x
blackstamp
blackvme
bluegiga/apx4devkit
bluewater arm, at91: add icache support 2016-10-28 18:37:13 +02:00
bosch/shc
boundary/nitrogen6x nitrogen6x: add secure boot support 2016-10-17 09:05:33 +02:00
br4
broadcom
buffalo/lsxl
cadence/xtfpga xtensa: add support for the 'xtfpga' evaluation board 2016-08-15 18:46:40 -04:00
calao/usb_a9263
canmb
cavium/thunderx
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
cm-bf527
cm-bf533
cm-bf537e
cm-bf537u
cm-bf548
cm-bf561
cm5200
cobra5272
compal/paz00
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
corscience/tricorder arch, board: squash lines for immediate return 2016-09-23 17:53:53 -04:00
creative/xfi3
d-link/dns325
davedenx/aria
davinci davinci: omapl138_lcdk: keep booting even when MAC address is invalid 2016-11-13 15:54:35 -05:00
dbau1x00
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
ebv/socrates arm: socfpga: socrates: Adding handoff for SDRAM ctrlcfg.extratime1 2016-10-27 08:03:09 +02:00
efi
egnite/ethernut5
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
firefly/firefly-rk3288
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
gumstix
h2200
highbank
hisilicon/hikey
htkw/mcx treewide: use #include <...> to include public headers 2016-09-23 17:53:56 -04:00
ibf-dsp561
ids/ids8313
ifm
imgtec boston: Introduce support for the MIPS Boston development board 2016-09-21 16:24:36 +02:00
imx31_phycore
in-circuit/grasshopper
inka4x0
intel x86: bayleybay: Add PS/2 keyboard and mouse to ASL file 2016-08-16 11:44:09 +08:00
intercontrol/digsy_mtc
inversepath/usbarmory treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
iomega/iconnect
ip04
ipek01
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
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
lego/ev3 treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
lg/sniper
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
maxbcm
microchip/pic32mzda
micronas/vct treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
mini-box/picosam9g45
mosaixtech/icon video: Move video_get_info_str() prototype to a header file 2016-10-23 18:33:54 -04:00
motionpro
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
ms7750se
munices
nokia/rx51
nvidia ARM: tegra: fix ULPI PHY on Ventana and Seaboard 2016-09-27 09:11:03 -07:00
olimex/mx23_olinuxino
omicron/calimain
openrisc/openrisc-generic
overo
pandora
pb1x00
pdm360ng
phytec imx: s/docs\/README.imximage/doc\/README.imximage/g 2016-10-26 16:53:16 +02:00
ppcag/bg0900
pr1
qca
qemu-mips
qualcomm/dragonboard410c
quipos/cairo
radxa/rock2
raidsonic/ib62x0
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
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
sbc8548
sbc8641d
schulercontrol/sc_sps_1
seco treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
shmin
siemens
silica/pengwyn
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
sr1500 arm: socfpga: sr1500: Adding handoff for SDRAM ctrlcfg.extratime1 2016-10-27 08:03:10 +02:00
st
sunxi sunxi: Add support for Cubieboard4 2016-10-30 11:38:05 +01: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
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
tcm-bf537
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
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
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
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
xes
xilinx ARM64: zynqmp: Ignore warnings from autogenerated files 2016-11-15 15:30:29 +01:00
zipitz2
zyxel/nsa310s