diff mbox series

[v2,2/3] stm32mp1: use a specific SD/eMMC partition for U-Boot enviromnent

Message ID 20200615111823.v2.2.Ib3e7ff4191e854f532f393567064e998dbba7955@changeid
State Accepted
Commit 76db1681da52342ca9f4fb7e6787bd83cc82f429
Headers show
Series stm32mp1: board: add support of CONFIG_ENV_IS_IN_MMC | expand

Commit Message

Patrick Delaunay June 15, 2020, 9:18 a.m. UTC
Save the environment at the end of the U-Boot partition, the GPT
partition named "ssbl" in SD card or eMMC and avoid requirements
on the "bootfs" file system generated via specific raw tools
(like wic and genimage).

With the previous configuration of the U-Boot environment saved in ext4
file, U-Boot need to create/modify the file uenv.txt in the ext4 file
system; so this EXT4 file system need to be generated without some
functionality, like metadata_csum and dir_index, because they are not
supported by U-Boot.

Reviewed-by: Patrice Chotard <patrice.chotard at st.com>
Signed-off-by: Patrick Delaunay <patrick.delaunay at st.com>
---

Changes in v2:
- remove impact on avenger96 board as ENV is saved in NOR for DHCOR SOM
  (CONFIG_ENV_IS_IN_SPI_FLASH in stm32mp15_dhcor_basic_defconfig)

 arch/arm/dts/stm32mp157a-dk1-u-boot.dtsi | 1 +
 arch/arm/dts/stm32mp157c-ed1-u-boot.dtsi | 1 +
 configs/stm32mp15_basic_defconfig        | 5 +----
 configs/stm32mp15_trusted_defconfig      | 5 +----
 4 files changed, 4 insertions(+), 8 deletions(-)

Comments

Patrice CHOTARD July 28, 2020, 3:28 p.m. UTC | #1
On 6/15/20 11:18 AM, Patrick Delaunay wrote:
> Save the environment at the end of the U-Boot partition, the GPT

> partition named "ssbl" in SD card or eMMC and avoid requirements

> on the "bootfs" file system generated via specific raw tools

> (like wic and genimage).

>

> With the previous configuration of the U-Boot environment saved in ext4

> file, U-Boot need to create/modify the file uenv.txt in the ext4 file

> system; so this EXT4 file system need to be generated without some

> functionality, like metadata_csum and dir_index, because they are not

> supported by U-Boot.

>

> Reviewed-by: Patrice Chotard <patrice.chotard@st.com>

> Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>

> ---

>

> Changes in v2:

> - remove impact on avenger96 board as ENV is saved in NOR for DHCOR SOM

>   (CONFIG_ENV_IS_IN_SPI_FLASH in stm32mp15_dhcor_basic_defconfig)

>

>  arch/arm/dts/stm32mp157a-dk1-u-boot.dtsi | 1 +

>  arch/arm/dts/stm32mp157c-ed1-u-boot.dtsi | 1 +

>  configs/stm32mp15_basic_defconfig        | 5 +----

>  configs/stm32mp15_trusted_defconfig      | 5 +----

>  4 files changed, 4 insertions(+), 8 deletions(-)

>

> diff --git a/arch/arm/dts/stm32mp157a-dk1-u-boot.dtsi b/arch/arm/dts/stm32mp157a-dk1-u-boot.dtsi

> index c52abeb1e7..3635965ca4 100644

> --- a/arch/arm/dts/stm32mp157a-dk1-u-boot.dtsi

> +++ b/arch/arm/dts/stm32mp157a-dk1-u-boot.dtsi

> @@ -16,6 +16,7 @@

>  	config {

>  		u-boot,boot-led = "heartbeat";

>  		u-boot,error-led = "error";

> +		u-boot,mmc-env-partition = "ssbl";

>  		st,adc_usb_pd = <&adc1 18>, <&adc1 19>;

>  		st,fastboot-gpios = <&gpioa 13 GPIO_ACTIVE_LOW>;

>  		st,stm32prog-gpios = <&gpioa 14 GPIO_ACTIVE_LOW>;

> diff --git a/arch/arm/dts/stm32mp157c-ed1-u-boot.dtsi b/arch/arm/dts/stm32mp157c-ed1-u-boot.dtsi

> index 84af7fa47b..d3ca5d1e58 100644

> --- a/arch/arm/dts/stm32mp157c-ed1-u-boot.dtsi

> +++ b/arch/arm/dts/stm32mp157c-ed1-u-boot.dtsi

> @@ -17,6 +17,7 @@

>  	config {

>  		u-boot,boot-led = "heartbeat";

>  		u-boot,error-led = "error";

> +		u-boot,mmc-env-partition = "ssbl";

>  		st,fastboot-gpios = <&gpioa 13 GPIO_ACTIVE_LOW>;

>  		st,stm32prog-gpios = <&gpioa 14 GPIO_ACTIVE_LOW>;

>  	};

> diff --git a/configs/stm32mp15_basic_defconfig b/configs/stm32mp15_basic_defconfig

> index c7dd2926c9..acf9331b4b 100644

> --- a/configs/stm32mp15_basic_defconfig

> +++ b/configs/stm32mp15_basic_defconfig

> @@ -53,13 +53,10 @@ CONFIG_CMD_UBI=y

>  CONFIG_DEFAULT_DEVICE_TREE="stm32mp157c-ev1"

>  CONFIG_OF_SPL_REMOVE_PROPS="interrupts interrupt-names interrupts-extended interrupt-controller \\\#interrupt-cells interrupt-parent dmas dma-names assigned-clocks assigned-clock-rates assigned-clock-parents hwlocks"

>  CONFIG_ENV_IS_NOWHERE=y

> -CONFIG_ENV_IS_IN_EXT4=y

> +CONFIG_ENV_IS_IN_MMC=y

>  CONFIG_ENV_IS_IN_SPI_FLASH=y

>  CONFIG_ENV_IS_IN_UBI=y

>  CONFIG_SYS_REDUNDAND_ENVIRONMENT=y

> -CONFIG_ENV_EXT4_INTERFACE="mmc"

> -CONFIG_ENV_EXT4_DEVICE_AND_PART="0:auto"

> -CONFIG_ENV_EXT4_FILE="/uboot.env"

>  CONFIG_ENV_UBI_PART="UBI"

>  CONFIG_ENV_UBI_VOLUME="uboot_config"

>  CONFIG_ENV_UBI_VOLUME_REDUND="uboot_config_r"

> diff --git a/configs/stm32mp15_trusted_defconfig b/configs/stm32mp15_trusted_defconfig

> index ca4a10813b..b7ff4b2aec 100644

> --- a/configs/stm32mp15_trusted_defconfig

> +++ b/configs/stm32mp15_trusted_defconfig

> @@ -40,13 +40,10 @@ CONFIG_CMD_MTDPARTS=y

>  CONFIG_CMD_UBI=y

>  CONFIG_DEFAULT_DEVICE_TREE="stm32mp157c-ev1"

>  CONFIG_ENV_IS_NOWHERE=y

> -CONFIG_ENV_IS_IN_EXT4=y

> +CONFIG_ENV_IS_IN_MMC=y

>  CONFIG_ENV_IS_IN_SPI_FLASH=y

>  CONFIG_ENV_IS_IN_UBI=y

>  CONFIG_SYS_REDUNDAND_ENVIRONMENT=y

> -CONFIG_ENV_EXT4_INTERFACE="mmc"

> -CONFIG_ENV_EXT4_DEVICE_AND_PART="0:auto"

> -CONFIG_ENV_EXT4_FILE="/uboot.env"

>  CONFIG_ENV_UBI_PART="UBI"

>  CONFIG_ENV_UBI_VOLUME="uboot_config"

>  CONFIG_ENV_UBI_VOLUME_REDUND="uboot_config_r"

Applied to u-boot-stm/master

Thanks

Patrice
diff mbox series

Patch

diff --git a/arch/arm/dts/stm32mp157a-dk1-u-boot.dtsi b/arch/arm/dts/stm32mp157a-dk1-u-boot.dtsi
index c52abeb1e7..3635965ca4 100644
--- a/arch/arm/dts/stm32mp157a-dk1-u-boot.dtsi
+++ b/arch/arm/dts/stm32mp157a-dk1-u-boot.dtsi
@@ -16,6 +16,7 @@ 
 	config {
 		u-boot,boot-led = "heartbeat";
 		u-boot,error-led = "error";
+		u-boot,mmc-env-partition = "ssbl";
 		st,adc_usb_pd = <&adc1 18>, <&adc1 19>;
 		st,fastboot-gpios = <&gpioa 13 GPIO_ACTIVE_LOW>;
 		st,stm32prog-gpios = <&gpioa 14 GPIO_ACTIVE_LOW>;
diff --git a/arch/arm/dts/stm32mp157c-ed1-u-boot.dtsi b/arch/arm/dts/stm32mp157c-ed1-u-boot.dtsi
index 84af7fa47b..d3ca5d1e58 100644
--- a/arch/arm/dts/stm32mp157c-ed1-u-boot.dtsi
+++ b/arch/arm/dts/stm32mp157c-ed1-u-boot.dtsi
@@ -17,6 +17,7 @@ 
 	config {
 		u-boot,boot-led = "heartbeat";
 		u-boot,error-led = "error";
+		u-boot,mmc-env-partition = "ssbl";
 		st,fastboot-gpios = <&gpioa 13 GPIO_ACTIVE_LOW>;
 		st,stm32prog-gpios = <&gpioa 14 GPIO_ACTIVE_LOW>;
 	};
diff --git a/configs/stm32mp15_basic_defconfig b/configs/stm32mp15_basic_defconfig
index c7dd2926c9..acf9331b4b 100644
--- a/configs/stm32mp15_basic_defconfig
+++ b/configs/stm32mp15_basic_defconfig
@@ -53,13 +53,10 @@  CONFIG_CMD_UBI=y
 CONFIG_DEFAULT_DEVICE_TREE="stm32mp157c-ev1"
 CONFIG_OF_SPL_REMOVE_PROPS="interrupts interrupt-names interrupts-extended interrupt-controller \\\#interrupt-cells interrupt-parent dmas dma-names assigned-clocks assigned-clock-rates assigned-clock-parents hwlocks"
 CONFIG_ENV_IS_NOWHERE=y
-CONFIG_ENV_IS_IN_EXT4=y
+CONFIG_ENV_IS_IN_MMC=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_IS_IN_UBI=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
-CONFIG_ENV_EXT4_INTERFACE="mmc"
-CONFIG_ENV_EXT4_DEVICE_AND_PART="0:auto"
-CONFIG_ENV_EXT4_FILE="/uboot.env"
 CONFIG_ENV_UBI_PART="UBI"
 CONFIG_ENV_UBI_VOLUME="uboot_config"
 CONFIG_ENV_UBI_VOLUME_REDUND="uboot_config_r"
diff --git a/configs/stm32mp15_trusted_defconfig b/configs/stm32mp15_trusted_defconfig
index ca4a10813b..b7ff4b2aec 100644
--- a/configs/stm32mp15_trusted_defconfig
+++ b/configs/stm32mp15_trusted_defconfig
@@ -40,13 +40,10 @@  CONFIG_CMD_MTDPARTS=y
 CONFIG_CMD_UBI=y
 CONFIG_DEFAULT_DEVICE_TREE="stm32mp157c-ev1"
 CONFIG_ENV_IS_NOWHERE=y
-CONFIG_ENV_IS_IN_EXT4=y
+CONFIG_ENV_IS_IN_MMC=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_IS_IN_UBI=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
-CONFIG_ENV_EXT4_INTERFACE="mmc"
-CONFIG_ENV_EXT4_DEVICE_AND_PART="0:auto"
-CONFIG_ENV_EXT4_FILE="/uboot.env"
 CONFIG_ENV_UBI_PART="UBI"
 CONFIG_ENV_UBI_VOLUME="uboot_config"
 CONFIG_ENV_UBI_VOLUME_REDUND="uboot_config_r"