arm: mvebu: turris_omnia: Provide env_sf_get_env_addr() function
authorPali Rohár <pali@kernel.org>
Wed, 2 Mar 2022 11:47:52 +0000 (12:47 +0100)
committerStefan Roese <sr@denx.de>
Mon, 2 May 2022 05:28:25 +0000 (07:28 +0200)
commitd6ba5c4f922cbe596da13b295ffe10db35101fb4
tree20b3390718d0db536147e7fbc5d0603713f4264d
parentf4bf81b01351f4d8918ee9ab6855dcb33acd4db8
arm: mvebu: turris_omnia: Provide env_sf_get_env_addr() function

BootROM maps SPI Flash to fixed address 0xD4000000 and this mapping is
active also when BootROM is executing binary kwbimage headers, which
includes also U-Boot SPL.

Therefore no initialization code is required to access SPI Flags from
U-Boot SPL. In proper U-Boot it is remapped to other location.

So in mvebu implementation of env_sf_get_env_addr() function returns
0xD4000000 when running in SPL and NULL when in proper U-Boot.

This change would allow to use U-Boot ENV in U-Boot SPL. Normally it is not
possible to read ENV because it is too big and U-Boot SPL does not have
such big malloc() pool to real all ENV variables.

Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Marek Behún <marek.behun@nic.cz>
board/CZ.NIC/turris_omnia/turris_omnia.c