Seung-Woo Kim [Mon, 29 Apr 2019 06:25:36 +0000 (15:25 +0900)]
rpi: tizen-boot: rpi3-32b: support to enter the flash mode with command
Support to enter the flash mode with command.
- Refer to below command:
U-boot> run tfm
Note: this applies, to rpi3-32b from rpi3, the commit
cf212f48a110
("config: tizen_rpi: support to enter the flash mode with command").
Change-Id: I3a801aed172557385abd8651c811708f1f27feec
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Seung-Woo Kim [Mon, 29 Apr 2019 06:23:27 +0000 (15:23 +0900)]
rpi: tizen-boot: rpi3-32b: pass network arguments on flash mode
To setup network environment for flash manager, this patch makes
passing parameters such as 'ipaddr', 'netmask', and 'gateway' through
kernel bootcmd. Those parameters can be assigned by user-self before
using flash mode.
Note: this is applying below patches from rpi3 to rpi3-32b:
f6f75b5bb37d ("rpi: tizen-boot: rpi3: pass network arguments on flash mode")
e2e0f18b9f3e ("rpi: tizen-boot: rpi3: remove dhcp as default network configuration")
Change-Id: I8de2c8f26f0a5c276ac32e46a83d8fc71eb1e7fd
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Seung-Woo Kim [Mon, 29 Apr 2019 06:16:53 +0000 (15:16 +0900)]
rpi: tizen-boot: rpi3-32b: fix to use setenv for bootmode
Fix to use setenv for bootmode instead of assignment for remaining
part from the commit
5c008029d782 ("config: tizen_rpi: move env
values from boot script to tizen_rpi.h").
Change-Id: I2ae5d58706bc1e5a8c39ee2952bf3ca2355054ec
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Seung-Woo Kim [Mon, 11 Nov 2019 02:36:50 +0000 (11:36 +0900)]
configs: rpi: remove lcd from console output
From RPI3, log printing to lcd video console causes slow down of
uart rx getc called and fifo overrun occured from uart rx because
rpi3 mini uart has small h/w fifo. Remove lcd from console output.
It's changed from lcd to videoconsole.
Change-Id: I1d96ceab2ee796b4757032400c659fe40ab2f08d
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Thu, 7 Nov 2019 06:32:05 +0000 (15:32 +0900)]
packaging: rpi4-32: add rpi4 32bit spec file
Add rpi4 32bit spec file.
Change-Id: I5e2b18275d0e92ec2294f19cd0f56dffe412691d
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Mon, 4 Nov 2019 11:50:44 +0000 (20:50 +0900)]
mmc: dw_mmc: increase timeout value in data_transfer function
Increase timeout value in data_transfer function.
1000 value is too short to transfer data.
When it's set to 1000, it's occurred "mmc write failed" during thor
download.
In future, it needs to fix correct value.
Change-Id: I3e18eb1480fbdb33c0f8732ce271d1445568379f
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Thu, 10 Oct 2019 08:23:57 +0000 (17:23 +0900)]
packaging: rpi3-32b: fix wrong build arguments
It's changed from env to envtools.
And enviroment's value is built-in.
(RPI3 is using uboot.env, not params.bin.)
Change-Id: Ib2f0839627f182086fcef540cdd3e370de2a3e82
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Thu, 10 Oct 2019 05:14:52 +0000 (14:14 +0900)]
packaging: update version to 2019.10 and BuildRequires
Update version to 2019.10 for using u-boot v2019.10.
And Latest u-boot is required upper version than gcc 6.0.
If using lower versioni than 6.0, it will be failed to build.
Change-Id: Id7587a1bab5997e8d0a9869c8bfe3b7af2930934
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Fri, 27 Sep 2019 10:14:21 +0000 (19:14 +0900)]
samsung: tizen_rpi: fix dfu information to use THOR
Fix dfu information to use THOR.
Change-Id: I9564871a46f02a2042c68f93476c3b9582a6744e
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Fri, 27 Sep 2019 10:13:24 +0000 (19:13 +0900)]
rpi: add dfu functions to use thor
Add dfu functions to use thor.
Change-Id: Ia59960dc05c3680ccef5b6fdc9108bb0be249fb4
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Mon, 23 Sep 2019 06:54:39 +0000 (15:54 +0900)]
samsung: tizen_rpi: remove CONFIG_DFU_ALT_INFO
Remove CONFIG_DFU_ALT_INFO for fixing build error.
It will be redefined in future.
Change-Id: I74fa2c6a92ebaee3de4f47edc71c23ddc0269e63
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Marek Szyprowski [Mon, 16 Sep 2019 11:31:06 +0000 (13:31 +0200)]
config: enable THOR download support on Raspberry Pi4 boards
Change-Id: Icd9091c5670653a551d05aaabf6cc5f1bf0243f6
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Mon, 16 Sep 2019 11:33:02 +0000 (20:33 +0900)]
samsung: tizen_rpi: fix wrong bootargs parameter
It needs to add whitespace between vc_mem size and vc_mem base.
Change-Id: Iecc5885427d0678da4960f6f40e5368fd92a286d
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Mon, 16 Sep 2019 02:06:59 +0000 (11:06 +0900)]
board: rpi: add tizen boot script for rpi4
Add tizen boot script for rpi4 32bit.
Change-Id: Ib497cebb6dc3ef62ecd7164c886cd3e41f5e848c
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Tue, 10 Sep 2019 10:11:13 +0000 (19:11 +0900)]
samsung: tizen_rpi: change kernel and bootparam loading address
Change kernel and bootparam loading address.
ramdisk/script/fdt address are changed at latest mainline.
So tizen kernel loading address also needs to change.
As comment, rebootparam address is ramdisk_addr_r.
But 0x3a62b000 is not ramdisk_addr_r.
Fixed to rebootparam_addr as correct ramdisk_addr_r.
Change-Id: I5fc5aadbc5ffe94e7917eb5e41370937ea48850b
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Mon, 8 Jul 2019 23:43:56 +0000 (08:43 +0900)]
packaging: rpi3: separate rpi3 spec file for 32bit
Separate rpi3 spec file for 32bit.
QB system can't parse the macro like %ifarch and %define.
This patch is for building aarch64 architecture on QB system.
Change-Id: Ia81bd81bf439feea2baf2de7dfeed8840a7ff683
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Mon, 24 Jun 2019 02:03:52 +0000 (11:03 +0900)]
samsung: tizen_rpi: change loglevel from 7 to 4
Change logelvel from 7 to 4.
If someone want to see full log, change loglevel on u-boot console.
Refer to below command on u-boot
- edit opts
After changing loglevel, enter "saveenv" command.
Change-Id: I9044e70d1f064922e7a9f255ef2db63e158864fb
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Fri, 17 May 2019 01:08:39 +0000 (10:08 +0900)]
scripts: tizen: update script version information
Update script version information to check latest version.
It's helpful to debug script problem.
Change-Id: I4cfc5293cbbf8a3d75b516b547d71cb02c5fa089
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Dongwoo Lee [Mon, 13 May 2019 07:33:18 +0000 (16:33 +0900)]
serial: bcm283x_mu: Refactor RX buffer
This patch changes maximum count of reading rx fifo by following
emprical test, and applies circular queue to buffer.
Change-Id: Id498ea9c0c22014f00af2b45ad64ad4c6e69a021
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
Dongwoo Lee [Wed, 8 May 2019 12:03:47 +0000 (21:03 +0900)]
serial: bcm283x_mu: Support RX buffer
Since mini uart has very small rx fifo, writing long string can
cause overrun. To prevent this, this patch appiles buffer for rx
process.
Change-Id: Ic5bd37875567fe51eb5491b8867f39c1a78de6b9
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Thu, 14 Mar 2019 08:14:27 +0000 (17:14 +0900)]
configs: rpi: enable MMC_BCM2835 configuration
Enable MMC_BCM2835 configuration.
Change-Id: Ic5cd05df99fc86157efd686ec6f5f69fd090ec72
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Sun, 3 Mar 2019 23:30:09 +0000 (08:30 +0900)]
config: samsung: tizen_rpi: remove redefined configuratins
Remove redefined configurations.
It was already defined in rpi header.
Change-Id: I3a5fc90b5f8176ab723dfce53a9c67e0cceab18b
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Tue, 26 Feb 2019 06:45:25 +0000 (15:45 +0900)]
rpi: tizen-boot: rpi3: remove unnecessary comment
Remove unnecessary comment.
Change-Id: I8eebe6b7e24101556ee444d0cebc75edb0d8e454
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Mon, 25 Feb 2019 05:01:16 +0000 (14:01 +0900)]
config: tizen_rpi: move some bootarg values to tizen_rpi header
Some bootargs values can be located to tizen_rpi header.
Because it's used same value in script of rpi3 and rpi3 32b.
Change-Id: I73d2d473d624f2ffa37f1fe0ed959ff098bb9247
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Fri, 22 Feb 2019 08:08:23 +0000 (17:08 +0900)]
config: tizen_rpi: support to enter the flash mode with command
Support to enter the flash mode with command.
- Refer to below command:
U-boot> run tfm
Change-Id: Ie5835573cdefb3ccfe3b67d3d20a4e301672251c
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Fri, 22 Feb 2019 05:57:54 +0000 (14:57 +0900)]
config: tizen_rpi: move env values from boot script to tizen_rpi.h
Some environment values are used with same value.
It can be moved to tizen_rpi header.
Change-Id: I679491fc03e0381df94025044e80e476f0953db2
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Wed, 20 Feb 2019 05:43:35 +0000 (14:43 +0900)]
configs: rpi: move from rpi to tizen_rpi about tizen specific config
Tizen specific configs can be located to tizen_rpi header.
It's more easier to maintain config relevant to tizen.
Change-Id: I6aff98fd9cc4ed1d812ba217c655ce5e0ea59035
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Tue, 19 Feb 2019 05:21:20 +0000 (14:21 +0900)]
config: tizen_rpi: add tizen_rpi header file for tizen
Add the tizen_rpi header file for tizen.
It can be included tizen specific configuration for rpi boards.
Someone wants to change loglevel, follow the below command :
U-Boot> edit opts
edit : loglevel=7
- Change the loglevel value what you want.
Change-Id: I60157dd380a447ce1757921810e0b942be3d2843
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Dongwoo Lee [Fri, 1 Feb 2019 04:44:54 +0000 (13:44 +0900)]
rpi: tizen-boot: rpi3: remove dhcp as default network configuration
If there is no ip setup on environmental variable, dhcp is used as
default. But, in this case, if dhcp server is not set on connected
network neither, kernel waits dhcp server for a long time (about 3
minutes). So this patch removes dhcp option. After this, tfm handles
unconfigured network.
Change-Id: I513503d2ba81b2342c42967fc1b8cb74f17ce215
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
Dongwoo Lee [Wed, 12 Dec 2018 08:19:40 +0000 (17:19 +0900)]
rpi: tizen-boot: rpi3: pass network arguments on flash mode
To setup network environment for flash manager, this patch makes
passing parameters such as 'ipaddr', 'netmask', and 'gateway' through
kernel bootcmd.Those parameters can be assigned by user-self before
using flash mode.
Change-Id: Ifda261598978b4cc985fe43e2e612fd58c49fdd1
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
Jaehoon Chung [Mon, 12 Nov 2018 02:27:09 +0000 (11:27 +0900)]
packaging: added a comment how to build with gbs for rpi3
Added a comment how to build with gbs for rpi3.
If there is no comment for this, it's difficult to know how to make
u-boot image with gbs system.
(There is dependent on arm-trusted-firmware-rpi3 repository.)
Change-Id: Iee14253dd011c171104273d7285fff969e68e077
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Seung-Woo Kim [Thu, 20 Sep 2018 06:50:03 +0000 (15:50 +0900)]
rpi: tizen-boot: rpi3/rpi3-32b: add dwc_otg option like raspbian cmdline
From raspbian cmdline.txt, from kernel related otpion, there is
dwc_otg.lpm_enable=0 which is not in Tizen u-boot booting script.
Add dwc_otg option line raspbian.
Change-Id: I37a723f63bae288f9d9d3e0b88adca01398f3c22
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Seung-Woo Kim [Wed, 12 Sep 2018 04:28:26 +0000 (13:28 +0900)]
config: rpi3: update dtb file names in dfu_alt_info
There are wrong dtb file names. Update the wrong dtb file names
and add rpi 3 b plus model dtb.
Change-Id: I61f8833c08443ad8514b6f3bd785653baf609960
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Seung-Woo Kim [Mon, 3 Sep 2018 02:48:13 +0000 (11:48 +0900)]
rpi: tizen-boot: rpi3/rpi3-32b: set dt filename by its model
To identify rpi3 b model and rpi3 b+ model, set dt filename by
its model.
Note: Tizen uses raspbian vendor kernel, so raspbian dt name is
used instead of mainline file name set by booting.
Change-Id: I84dc4a38e5f21527912749eee28d784245123340
Reference:
7fe77226aa29 ("rpi: Add identifier for the new RPi3 B+")
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Seung-Woo Kim [Thu, 10 May 2018 04:13:00 +0000 (13:13 +0900)]
rpi: tizen-boot: rpi3-32b: Add boot param for support flash mode
This patch adds support for flash bootmode. If boot-param.bin is
set to 'dwnl', bootmode will be set to flash to invoke flash-init.
Change-Id: I41955d2b2dd08edd23897df4e458ca8f59eaf9a5
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Dongwoo Lee [Thu, 5 Apr 2018 05:40:01 +0000 (14:40 +0900)]
rpi: tizen-boot: Add boot parameter for support flash mode
This patch adds support for flash bootmode. If boot-param.bin is set
to 'dwnl', bootmode will be set to flash to invoke flash-init.
Change-Id: I5fe1554c4ad431f6275c0118d25a36e1f3a8ffc4
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
Seung-Woo Kim [Tue, 8 May 2018 05:39:09 +0000 (14:39 +0900)]
rpi: tizen-boot: rpi3: set console in cmdline as u-boot environment
The console in cmdline will be used by kernel as printk console
and tizen-boot script always sets console with UART device. Set
console in cmdline as u-boot environment value console and set
default uart if nothing is set.
Change-Id: I0d2743d445de8c8cf4bd43600fbc8c28a07cd0ea
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Jaehoon Chung [Mon, 25 Feb 2019 10:57:16 +0000 (19:57 +0900)]
packaging: spec: update u-boot version to v2019.01
Update u-boot version to v2019.01.
- This branch is based on sandbox/jaehoon/rebase-v2018.03.
Change-Id: I100e24eaa361f61b66d3b81e6529e9790c6786b4
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Mon, 25 Feb 2019 10:38:09 +0000 (19:38 +0900)]
usb: gadget: f_thor: fix wrong type format
Fix wrong type format about buidling wanring.
Change-Id: I161651ffa9427611ef4e095bebca095d6bbf153d
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Seung-Woo Kim [Mon, 4 Jun 2018 07:04:51 +0000 (16:04 +0900)]
cmd: add missing line breaks for pr_err()
After the commit
9b643e312d52 ("treewide: replace with error() with
pr_err()"), there are some pr_err() with no line break. Add missing
line breaks.
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
[sw0312.kim: cherry-pick from mainline to fix error log]
Change-Id: I8aa616cb4c1e6d4ab250ba89cb75214f33488a6f
Seung-Woo Kim [Fri, 25 May 2018 05:21:01 +0000 (14:21 +0900)]
gadget: f_thor: Fix memory leaks of usb request and its buffer
There are memory leaks of usb request and its buffer for ep0,
in_ep, and out ep. Fix memory leaks of usb request and its buffer.
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
[sw0312.kim: fix conflict about int_ep from thor_eps_setup()]
Change-Id: I606d039d53847d0e0850c5bcbceca451bdbb1c02
Jaehoon Chung [Tue, 8 May 2018 10:57:15 +0000 (19:57 +0900)]
packaging: change from 'env' to 'envtools' for building envtool
Change a name from "env" to "envtools" for building envtools.
(Fix the compile error during obs/gbs system.)
Change-Id: I5717142528d88993134f1219dba2bb0a7e928efe
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Tue, 8 May 2018 10:09:20 +0000 (19:09 +0900)]
packaging: change from env_common to built-in for generating param.bin
environemnt codes had moved to env directory from common.
It's changed to get the default environment from build-in.o.
Change-Id: I15f8c0115fab426ed35547e0063d3361385d1712
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Thu, 3 May 2018 12:09:10 +0000 (21:09 +0900)]
packaging: change the version infomation from 2017.03 to 2018.03
Upadte the U-boot version information to v2018.03.
Change-Id: I357b173a68f80b9879e2e9acc9c665df30e7e9d9
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Mon, 12 Feb 2018 05:47:19 +0000 (14:47 +0900)]
config: rpi3: enable the configurations relevant to NFSDOWN
Enable the configurations relevant to nfsdown command for rpi3.
Change-Id: Ic050057e75f4e92b1507ca84c642ba3c798ba6fc
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Seung-Woo Kim [Tue, 23 Jan 2018 01:31:45 +0000 (10:31 +0900)]
rpi: tizen-boot: add rpi3 32bit script
Add rpi3 32bit tizen-boot script.
For 32bit, kernel dt image should be loaded to $fdt_addr instead of
$fdt_addr_r and kernel image name is zImage instead of Image. Also,
boot command should be bootz instead of booti.
Change-Id: Ia7a942837dd7a9ed398567f82aa89a81784a7591
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Seung-Woo Kim [Tue, 23 Jan 2018 01:24:23 +0000 (10:24 +0900)]
rpi: tizen-boot: Rename tizen-boot script for rpi3
The tizen-boot script is for rpi3 64bit mode. Rename the script for
rpi3 to support other rpi board family.
Change-Id: Ic05c2bf94deb9381460c0de4e4a31a31c8f615b6
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Seung-Woo Kim [Mon, 15 Jan 2018 07:48:21 +0000 (16:48 +0900)]
rpi: tizen-boot: add note about kernel size limitation.
There is kernel size limitation to support ramdisk. Add note
about the size limitation.
Change-Id: I77366008ee2a3649b9d9c366c756206784c240cb
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Jaehoon Chung [Thu, 11 Jan 2018 04:54:20 +0000 (13:54 +0900)]
rpi: tizen-boot: change the kernel loading address
Tizen kernel image can be over than 16MB.
It should be overlapped with other image address.
To avoid this behavior, change to 0x02d00000 from 0x01000000.
Change-Id: I8cf142c55d6afedd1186f58181251df39d1e9cc5
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Seung-Woo Kim [Thu, 11 Jan 2018 03:51:51 +0000 (12:51 +0900)]
scripts: tizen: call sync before umount
After writing files on mounted directory, umount can fail with busy
state. Call sync before umount to clear the busy state instead of
sleep.
Change-Id: I7985ab3688a64b072c9a992957acdf124f925a34
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Seung-Woo Kim [Tue, 9 Jan 2018 05:39:57 +0000 (14:39 +0900)]
rpi: tizen-boot: Add earlycon option to bootargs
Add earlycon option to show early uart message. Also, remove
unnecessary earlyprintk option in bootargs.
Change-Id: Ie0d88914b7ee5bbd2bf7a67db37b772b1a937454
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Łukasz Stelmach [Mon, 16 Oct 2017 08:43:12 +0000 (10:43 +0200)]
rpi: support flashing an image of the INFORM partition
Change-Id: I3a48b84454eccc1b5382f47930d40fd55f67ac6d
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Łukasz Stelmach [Tue, 10 Oct 2017 11:11:54 +0000 (13:11 +0200)]
rpi: Read the value of RSTS register
RSTS register allows passing information from OS too bootloader upon
reboot.
Change-Id: I2fa04fa0e63e5c81f78901c06ca8884f7e89f8e8
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Łukasz Stelmach [Thu, 21 Sep 2017 08:20:38 +0000 (10:20 +0200)]
rpi: tizen-boot: enable runtime customisation of bootargs with ${opts}
Facilitate development of kernel and low level system components, by
making it easier for developers to add kernel command line arguments
via the ${opts} u-boot environment variable.
Change-Id: I4883cc5d29e4edaaa9ed17a3801808672ad66661
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Jaehoon Chung [Fri, 22 Sep 2017 15:48:47 +0000 (00:48 +0900)]
rpi: tizen-boot: remove the ramdiskdev variable
'ramdiskdev' can be replaced to 'mmcrootdev'.
It should be used the same device.
Change-Id: I9951f955e591a9761fba537b282fa4748d5dc2f5
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Junghoon Kim [Thu, 14 Sep 2017 11:57:24 +0000 (20:57 +0900)]
rpi: tizen-boot: modify the parameter check logic
Modify the parameter check logic to support all cases of reboot commands
including "reboot", "reboot fota", "reboot recovery", and undefined reboot
parameter.
Change-Id: I00c7cec03bdd8d9364bda3e8c7142a76ed9b4bd9
Signed-off-by: Junghoon Kim <jhoon20.kim@samsung.com>
Jaehoon Chung [Wed, 30 Aug 2017 08:39:04 +0000 (17:39 +0900)]
rpi3: tizen-boot: Add the ethernet macaddr
Add the smsc95xx.macaddr for using the unique macaddr.
Change-Id: I5d74c2d44372ca19d4776c3dd12504f888500748
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Seung-Woo Kim [Wed, 23 Aug 2017 09:22:22 +0000 (18:22 +0900)]
rpi3: tizen-boot: remove duplicated kernel image loading
There are unnecessary duplicated kernel image loading steps in
tizen-boot script. Remove the duplicated loading.
Change-Id: I9f6b98f870dcfb5503513e3ca481335531fc0b96
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Jaehoon Chung [Fri, 11 Aug 2017 13:23:16 +0000 (22:23 +0900)]
rpi3: tizen-boot: Disable to display the log from HDMI
"console=tty1" is provided that displayed the log from HDMI.
After finishing the kernel booting, it should not be displayed from HDMI.
(when applied this patch.)
There is no requirement about using HDMI serial log.
Disable the log from HDMI.
Change-Id: I7c6576ba15f6a183ab8c82ca5b2114f9cc1e604c
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Tue, 8 Aug 2017 06:14:03 +0000 (15:14 +0900)]
rpi: tizen-boot: add the 'ramdisksize' as 12MB for ramdisk-recovery
Size of Ramdisk-recovery is 12MB.
It needs to load the 12MB, not 8MB.
Add the 'ramdisksize' as 12MB for ramdisk-recovery.
Change-Id: Idc9111a5b0d7ef150376ee241d39129e114ce368
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Thu, 3 Aug 2017 07:47:23 +0000 (16:47 +0900)]
scripts: sd_fusing_rpi3: add the sleep before umounting
When umounting "mnt_tmp", it's appeared "device is busy".
To ensure the unmounting, add the "sleep 1" before unmounting.
Change-Id: Ibab0700f7ef112591576b53c5706b8f850821742
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Junghoon Kim [Tue, 25 Jul 2017 06:36:18 +0000 (15:36 +0900)]
rpi: tizen-boot: check reboot parameter to determine booting mode
The "reboot-param.bin" file is used for passing reboot parameter. For
example, the word "upgr" means that target should be booted with upgrade
mode.
Check the contents of "reboot-param.bin" file to determine booting mode.
Change-Id: I62a6598f84c677c251df3559da9dd58a545e859c
Signed-off-by: Junghoon Kim <jhoon20.kim@samsung.com>
Junghoon Kim [Wed, 26 Jul 2017 05:22:33 +0000 (14:22 +0900)]
scripts: sd_fusing_rpi3.sh: add inform partition support
To implement Tizen upgrade solution, reboot parameter should be
delivered into u-boot so that u-boot can jump to proper partition. But,
new SoC on RPI3 does not support any specific registers (e.g., INFORM
register of Exynos) to store reboot parameter upon SW reset.
Add inform partition and make "reboot-param.bin" file for passing reboot
parameter.
Change-Id: Ic98df1b4ad4aeab9152d3ad5007b97a0e20d8be7
Signed-off-by: Junghoon Kim <jhoon20.kim@samsung.com>
Junghoon Kim [Wed, 26 Jul 2017 05:18:49 +0000 (14:18 +0900)]
scripts: sd_fusing_rpi3.sh: fix typo in ramdisk-recovery partition
Fix typo in ramdisk-recovery partition description.
Change-Id: Iaecd73bd2443ed30484159d69f9b90e44ea8966b
Signed-off-by: Junghoon Kim <jhoon20.kim@samsung.com>
Jaehoon Chung [Tue, 25 Jul 2017 02:02:04 +0000 (11:02 +0900)]
scripts: tizen: move the fusing scripts to tizen directory
Move the tizen specific scripts to tizen directory.
Change-Id: I50f004ac078cd7f610e78d668acc94f2aa6b5e0e
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Tue, 25 Jul 2017 01:59:18 +0000 (10:59 +0900)]
scripts: rpi3: add the fusing script for rpi3
Add the fusing script for rpi3.
Move from kernel git repository to u-boot repository.
Change-Id: I12d83aa9f5347fb07b4e4bd04471fa800cea9e8d
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Thu, 6 Jul 2017 02:13:20 +0000 (11:13 +0900)]
rpi: tizen-boot: check whether there is an init file in sbin directory
Check the "init" file in sbin directory.
If there is the "init" file, it should be ramdisk image.
Change-Id: Ic827f42c783668832f7d9201132fee0185d953c5
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Wed, 28 Jun 2017 11:46:00 +0000 (20:46 +0900)]
rpi: tizen-boot: support the booting without ramdisk image
If there is not ramdisk image, target can't be booted.
This modification is supported that target can be booted anyway.
NOTE: Assume that ramdisk partition has "sbin".
If want to mount the MMC device, you have to clear the ramdisk
partition.
Change-Id: Ibae4fd7216d0aa7ca11e92842c099dfc5212b714
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Gonzha Dmitriy Evgenevich [Wed, 31 May 2017 18:33:59 +0000 (21:33 +0300)]
Turn off ASan build
Turn off ASan in case of ASan build for u-boot, u-boot-xu3
and u-boot-rpi3 packages
Change-Id: I1a3714f47eb14da53fac8a14e179d90ffa416b7f
Jaehoon Chung [Thu, 20 Apr 2017 03:42:46 +0000 (12:42 +0900)]
packaging: add the u-boot-rpi3 spec file
To build the u-boot for rpi3, add the u-boot-rpi3 spec file.
This spec file should be built to arm64 processor.
Change-Id: I0088cf6a58169e84034a321fdf0ee99904bce997
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Mon, 27 Mar 2017 09:36:16 +0000 (18:36 +0900)]
script: add the boot_script for rpi3
Add the boot_script for rpi3.
It will load this boot script from ditro_bootcmd.
Usage:
$./tools/mkimage -A arm64 -T script -C none -n "Tizen RPI3 u-boot helper"
-d ./board/raspberrypi/rpi/tizen-boot.scr ./boot.scr.uimg
Change-Id: Ia468ee8ce4368c3776b8b9b48fb0d91c1d01db08
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Mon, 10 Apr 2017 10:39:51 +0000 (19:39 +0900)]
net: nfs: fix the regression when nfs_read_reply() is called
When nfs_read_reply() is called, it should be stucked in memcpy().
size of rpc_pkt.u.reply() might be too bigger.
Change from 'sizeof(rpc_pkt.u.reply)' to 'len'.
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Seung-Woo Kim [Mon, 10 Apr 2017 11:14:02 +0000 (20:14 +0900)]
TPL: TM2: f_thor: fix wrong size caused by casting s32 to u64
Currently, in arm64 environment, thor download for a file more than
2GB size is failed because requested file size is not properly set.
It is because of assignment of a signed value to a bigger unsigned
type for the size of a file. So this patch fixes wrong size casting.
This also fixes to print debug information about the requested file
size with casted variable.
Change-Id: Id0e67035be05b0df346a8bb0ea17b5ba3e40e8f2
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Seung-Woo Kim [Mon, 14 Nov 2016 07:05:05 +0000 (16:05 +0900)]
packaging: squash patches from upstream to HEAD~10
This patch fixes to squash patches from upstream to HEAD - 10
patches into only one patch. This can reduce too many patch files
in source package.
Change-Id: Ie7bc3ef1ca8fb4406d74f9b7dcffdcdef26b8ca5
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Dongwoo Lee [Mon, 7 Nov 2016 05:34:15 +0000 (14:34 +0900)]
usb: xhci: Limit transfer length of a single TD
This is workaround solution for timed out error and babble error while
transfering data exceeding 0x3F01FF bytes on xhci host. Actually, this
size equals to value that the maximum number of TRBs per TD times the
maximum size of transfer buffer on TRB. Thus, huge transfer request is
splitted in order to limit the size of data in a single TD.
Even though the single I/O request is splitted into multiple requests,
the transfer speed has affected insignificantly: 22.6 --> 22.3 MiB/s.
Change-Id: I85a17910587b70807f075dd40634a0da817cea2f
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
Lukasz Majewski [Thu, 12 May 2016 11:26:52 +0000 (13:26 +0200)]
TPL: TM2: image: Support for displaying image when download mode has been enabled
This hacks relies on sboot to configure display path (decon, dsi, mic,
panel). It only decompress appended image to framebuffer at 0x67000000 and
triggers decon update.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Lukasz Majewski [Thu, 12 May 2016 11:25:43 +0000 (13:25 +0200)]
TPL: TM2: f_thor: Allow to download 4GB images
This commit fixes 2GB file size limit for thor downloader.
The application on host side sends the downloaded file size as 32-bit
unsigned value. But the thor implementation on U-Boot side interpreted
this as signed value. This caused an error for files with size greater
than 2GB.
This commit fixes the data types in code, which allows to send file
of size 4GB.
Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
[m.szyprowski: ported from tizen.org and fixed 64bit issues]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Przemyslaw Marczak [Tue, 10 Nov 2015 11:29:18 +0000 (12:29 +0100)]
f_thor: allow to download 4GB images
This commit fixes 2GB file size limit for thor downloader.
The application on host side sends the downloaded file size as 32-bit
unsigned value. But the thor implementation on U-Boot side interpreted
this as signed value. This caused an error for files with size greater
than 2GB.
This commit fixes the data types in code, which allows to send file
of size 4GB.
Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Przemyslaw Marczak [Thu, 12 Jun 2014 08:20:59 +0000 (10:20 +0200)]
thor:cmd: get the default command arguments from environment
This change adds support to getting the default DFU cmd line
arguments from the environment.
DFU and THOR uses the same command line arguments,
so the DFU command environment setup can be used also with THOR.
Change-Id: I2e0984c909147c13191f6d6646d094c9f02c392a
Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Przemyslaw Marczak [Thu, 13 Nov 2014 10:40:02 +0000 (11:40 +0100)]
samsung: misc_init_r: insert call to platform_setup()
This change adds call of platform_setup() to check or set active
platform configuration.
Another change is setup environment variable: ${platname},
from board name in set_board_info().
Change-Id: I355736bf40f8fa3697ce0b4546f7702d2e54a0f9
Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Przemyslaw Marczak [Mon, 24 Mar 2014 14:26:10 +0000 (15:26 +0100)]
lib: tizen: add battery interactive charger screens
New images:
- battery frame: 200x380px, 16bpp,
batery level area in frame: 170x300px
- battery bar: 160x50px, 16bpp, grey and red,
(for 5 bars in battery frame with 8px interelement gap)
- charge screen; charge screen clean images: 128x120px, 16bpp
- charge screen indicator; vertical and horizontal
indicator clean images: 8x8px, 16bpp
Library functions:
For battery screen:
- draw_battery_screen() - draw empty battery frame
- draw_battery_state() - fill battery frame with charge bars
to a given percent
For charge animation:
- draw_charge_screen() - draw a small phone connected to a cable
(under the battery)
- clean_charge_screen() - cleans above screen
- draw_charge_animation() - display an animation with
a point running on a cable
(on a charge screen)
For low battery state and no charger connected:
- draw_connect_charger_animation() - draw and clean charge
screen respectively
Library is ready to use gzipped images
but this commit adds only bmp images.
Changes for v2015.10-rc5:
- correct usage of removed typedef 'bmp_image_t'
Change-Id: I25a527b07b809b9105b6d4d8c29aa01e47224134
Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Chanho Park [Fri, 10 Jan 2014 01:48:52 +0000 (10:48 +0900)]
packaging: Adding .spec file for u-boot project
Change-Id: I5dd90f728a9f0f951afda5634f2509cbb3eccc95
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Signed-off-by: Jacek Pielaszkiewicz <j.pielaszkie@samsung.com>
Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Signed-off-by: Maciej Wereski <m.wereski@partner.samsung.com>
Przemyslaw Marczak [Wed, 2 Apr 2014 14:13:59 +0000 (16:13 +0200)]
lib: tizen: thor screen update
Now cable connection message is displayed on thor screen.
When cable is connected then only unneeded lcd console lines are overwritten.
Main changes:
- add new function: draw_thor_connected()
- update function draw_thor_screen()
- usb: gadget: thor:
- move call to draw_thor_screen(),
- add call to draw_thor_connected()
other change:
- remove draw_thor_init_screen() function
Changes for v2015.04-rc1:
- Replace <lcd.h> to <lcd_console.h>
Changes for v2015.10-rc5
- correct usage of removed typedef 'bmp_image_t'
Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Inha Song [Fri, 11 Oct 2013 08:50:24 +0000 (17:50 +0900)]
usb: thor: add screen support
cmd_thordown.c:
- add libtizen header
- change error handling for thor init
- add call to draw_thor_fail_screen() on error
f_thor.c:
- thor_init(): return -EINTR on ctrl+c or if power key was pressed 3 times
- thor_rx_data(): return -EINTR when pressed ctrl+c on data receiving
- add display simple info screen before cable is not connected
- add display download screen when connection is established
- update download progress bar if data receiving
Change-Id: Ia89ef48c6c2faa5eda5dda5c5b3951e675eec03b
Signed-off-by: Inha Song <ideal.song@samsung.com>
Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Przemyslaw Marczak [Fri, 7 Feb 2014 14:03:41 +0000 (15:03 +0100)]
libtizen: add download logo and download progress bar
Added features:
- add screen with exit info if no cable is connected
- download logo with progress bar after after THOR init
- downlaod failure screen on error
- PIT version, U-boot version on download screen
- function for update progess bar when downloading is going on
Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
Signed-off-by: Inha Song <ideal.song@samsung.com>
Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Lukasz Majewski [Mon, 16 Feb 2015 16:40:25 +0000 (17:40 +0100)]
common: lcd: extend lcd api by function lcd_get_position_cursor()
Changes for v2015.04-rc1:
- Moving lcd console related code to lcd_console.c
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Sylwester Nawrocki [Wed, 2 Dec 2020 08:36:29 +0000 (09:36 +0100)]
gitattributes: Set binary attribute for *.gz and *.png files
After commit ("1f35137 Add .gitattributes for line endings") all files
have text attribute set and we need such change to ensure content of
the *.gz and *.png files remains unmodified.
$ git check-attr -a -- *.gz *.png
*.gz: binary: set
*.gz: diff: unset
*.gz: merge: unset
*.gz: text: unset
*.gz: eol: lf
*.png: binary: set
*.png: diff: unset
*.png: merge: unset
*.png: text: unset
*.png: eol: lf
Change-Id: Ie7b1d48761c01c045bdcdae3b0ac66e64af79326
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Tom Rini [Mon, 3 Oct 2022 19:25:32 +0000 (15:25 -0400)]
Prepare v2022.10
Signed-off-by: Tom Rini <trini@konsulko.com>
Fabio Estevam [Mon, 3 Oct 2022 14:02:03 +0000 (11:02 -0300)]
imx8mn-ddr4-evk-u-boot: Fix broken boot
When the imx8mn.dtsi file was pulled in from Linux, the UARTs
were moved into an spba sub-node which wasn't being included
in the SPL device tree. This meant the references to the UART
weren't being handled properly and when booting the system would
constantly reboot. Fix this by adding the spba node to the spl
device tree to restore normal booting.
Based on the patch from Adam Ford for the imx8mn-beacon-kit-u-boot
board.
Fixes:
4e5114daf9eb ("imx8mn: synchronise device tree with linux")
Signed-off-by: Fabio Estevam <festevam@denx.de>
Fabio Estevam [Mon, 3 Oct 2022 14:01:15 +0000 (11:01 -0300)]
imx8mn-venice-u-boot: Fix broken boot
When the imx8mn.dtsi file was pulled in from Linux, the UARTs
were moved into an spba sub-node which wasn't being included
in the SPL device tree. This meant the references to the UART
weren't being handled properly and when booting the system would
constantly reboot. Fix this by adding the spba node to the spl
device tree to restore normal booting.
Based on the patch from Adam Ford for the imx8mn-beacon-kit-u-boot
board.
Fixes:
4e5114daf9eb ("imx8mn: synchronise device tree with linux")
Signed-off-by: Fabio Estevam <festevam@denx.de>
Tom Rini [Fri, 30 Sep 2022 12:30:38 +0000 (08:30 -0400)]
Merge tag 'efi-2022-10-rc6' of https://source.denx.de/u-boot/custodians/u-boot-efi
Pull request for efi-2022-10-rc6
Documentation:
* doc: improve description of autostart
UEFI:
* prefix test functions with efi_st_ in the LoadImage unit test
* avoid a warning message in efi_initrd_deregister()
Heinrich Schuchardt [Thu, 29 Sep 2022 23:55:02 +0000 (01:55 +0200)]
efi_loader: fix efi_initrd_deregister()
Don't try to delete a non-existent handle.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Heinrich Schuchardt [Thu, 22 Sep 2022 13:16:30 +0000 (15:16 +0200)]
efi_selftest: prefix test functions with efi_st_
An upcoming patch set creates a global function flush(). To make debugging
easier we should not use the same name for a static function.
Rename static functions in the LoadImage() unit test adding an efi_st_
prefix.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Heinrich Schuchardt [Sat, 10 Sep 2022 07:16:37 +0000 (09:16 +0200)]
doc: improve description of autostart
Complete the list of commands influenced by the autostart environment
variable.
Make it clearer what values qualifies at 'yes'.
Eventually the list of environment variables is to be alphabetically
sorted. Move autostart up.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tom Rini [Thu, 29 Sep 2022 20:06:19 +0000 (16:06 -0400)]
Merge branch '2022-09-29-assorted-fixes'
- Assorted fixes we want to include before the release.
Pierre-Clément Tosi [Fri, 9 Sep 2022 20:16:18 +0000 (21:16 +0100)]
board_r: Relocate OF_EMBED if NEEDS_MANUAL_RELOC only
When the embedded device tree is pointed to by the __dtb_dt_*begin
symbols, it seems to be covered by the early relocation code and doesn't
need to be manually patched.
Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Pierre-Clément Tosi <ptosi@google.com>
Pali Rohár [Thu, 15 Sep 2022 13:54:45 +0000 (15:54 +0200)]
pci: Remove duplicate PCI_REGION_IO / "io" line
Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Miaoqian Lin [Mon, 19 Sep 2022 04:28:09 +0000 (08:28 +0400)]
tools: env: Fix missing closedir in ubi_get_volnum_by_name
The function calls opendir() but missing the corresponding
closedir() before exit the function.
Add missing closedir() to fix it.
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Nishanth Menon [Wed, 21 Sep 2022 13:38:42 +0000 (08:38 -0500)]
board: ti: common: board_detect: Fix EEPROM read quirk for AM6 style data
The situation is similar to commit
bf6376642fe8 ("board: ti: common:
board_detect: Fix EEPROM read quirk"). This is seen on a variant of
eeproms seen on some BeagleBone-AI64 which now has a mix of both 1 byte
addressing and 2 byte addressing eeproms.
Unlike the am335x (ti_i2c_eeprom_am_get) and dra7
(ti_i2c_eeprom_dra7_get) which use constant data structure which allows
us to do a complete read of the data, the
am6(ti_i2c_eeprom_am6_get) eeprom parse operation is dynamic.
This removes the option of being able to read the complete eeprom data
in one single shot.
Fortunately, on the I2C bus, we do see the following behavior: In 1
byte mode, if we attempt to read the first header data yet again, the
misbehaving 2 byte addressing device acts in constant addressing mode
which results in the header not matching up and follow on attempt at 2
byte addressing scheme grabs the correct data.
This costs us an extra ~3 milliseconds, which is a minor penalty
compared to the consistent image support we need to have.
Reported-by: Jason Kridner <jkridner@beagleboard.org>
Fixes:
a58147c2dbbf ("board: ti: common: board_detect: Do 1byte address checks first.")
Signed-off-by: Nishanth Menon <nm@ti.com>
Andre Przywara [Wed, 21 Sep 2022 17:09:46 +0000 (18:09 +0100)]
vexpress64: also consider DTB pointer in x1
Commit
c0fce929564f("vexpress64: fvp: enable OF_CONTROL") added code to
consider a potential DTB address being passed in the x0 register, or
revert to the built-in DTB otherwise.
The former case was used when using the boot-wrapper, to which we sell
U-Boot as a Linux kernel. The latter was meant for TF-A, for which we
couldn't find an easy way to use the DTB it uses itself. We have some
quirk to filter for a valid DTB, as TF-A happens to pass a pointer to
some special devicetree blob in x0 as well.
Now the TF-A case is broken, when enabling proper emulation of secure
memory (-C bp.secure_memory=1). TF-A carves out some memory at the top
of the first DRAM bank for its own purposes, and configures the
TrustZone DRAM controller to make this region secure-only. U-Boot will
then hang when it tries to relocate itself exactly to the end of DRAM.
TF-A announces this by carving out that region of the /memory node, in
the DT it passes on to BL33 in x1, but we miss that so far.
Instead of repeating this carveout in our DT copy, let's try to look for
a DTB at the address x1 points to as well. This will let U-Boot pick up
the DTB provided by TF-A, which has the correct carveout in place,
avoiding the hang.
While we are at it, make the detection more robust: the length test (is
the DT larger than 256 bytes?) is too fragile, in fact the TF-A port for
a new FVP model already exceeds this. So we test x1 first, consider 0
an invalid address, and also require a /memory node to detect a valid DTB.
And for the records:
Some asking around revealed what is really going on with TF-A and that
ominous DTB pointer in x0: TF-A expects EDK-2 as its non-secure payload
(BL33), and there apparently was some long-standing ad-hoc boot protocol
defined just between the two: x0 would carry the MPIDR register value of
the boot CPU, and the hardware DTB address would be stored in x1.
Now the MPIDR of CPU 0 is typically 0, plus bit 31 set, which is defined
as RES1 in the ARMv7 and ARMv8 architectures. This gives 0x80000000,
which is the same value as the address of the beginning of DRAM (2GB).
And coincidentally TF-A put some DTB structure exactly there, for its
own purposes (passing it between stages). So U-Boot was trying to use
this DTB, which requires the quirk to check for its validity.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Tested-by: Peter Hoyes <peter.hoyes@arm.com>