From de70e8879bb253f4d2a9ba9149cd41cb38b94ed8 Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Wed, 6 Apr 2022 02:21:32 +0200 Subject: env: Implement lower priority arch_env_get_location() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently there is only one way to override desired environment location, by implementing env_get_location(). This is increasingly being conflated both on board level and architecture level, which leads to a problem on boards where this function is already implemented on architecture level, since those boards have no way to override this environment location on board level anymore. Implement arch_env_get_location() function which is architecture specific and should only ever be implemented in architecture code. This function has lower priority than env_get_location(), which should only ever be implemented in board code, and which overrides the arch_env_get_location() architecture environment selection. This way, architecture can define its default environment chooser, while board can now override it as needed at all times. There is no functional change, since env_get_location() simply returns arch_env_get_location(), and arch_env_get_location() implements the current env_get_location() default content. Signed-off-by: Marek Vasut Cc: Adam Ford Cc: Fabio Estevam Cc: Marek BehĂșn Cc: Peng Fan Cc: Simon Glass Cc: Stefano Babic Cc: Tim Harvey Cc: Tom Rini Cc: Tommaso Merciai Cc: Vladimir Oltean --- include/env_internal.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'include') diff --git a/include/env_internal.h b/include/env_internal.h index b704c033631..f30fd6159d8 100644 --- a/include/env_internal.h +++ b/include/env_internal.h @@ -234,10 +234,26 @@ const char *env_ext4_get_intf(void); */ const char *env_ext4_get_dev_part(void); +/** + * arch_env_get_location()- Provide the best location for the U-Boot environment + * + * It is a weak function allowing board to overidde the environment location + * on architecture level. This has lower priority than env_get_location(), + * which can be defined on board level. + * + * @op: operations performed on the environment + * @prio: priority between the multiple environments, 0 being the + * highest priority + * Return: an enum env_location value on success, or -ve error code. + */ +enum env_location arch_env_get_location(enum env_operation op, int prio); + /** * env_get_location()- Provide the best location for the U-Boot environment * * It is a weak function allowing board to overidde the environment location + * on board level. This has higher priority than arch_env_get_location(), + * which can be defined on architecture level. * * @op: operations performed on the environment * @prio: priority between the multiple environments, 0 being the -- cgit v1.2.3 From cde726442b244029d99965695a25ce198e14fbbb Mon Sep 17 00:00:00 2001 From: Paul Barker Date: Mon, 11 Apr 2022 15:42:00 +0000 Subject: board: ti: am335x: Add BBE Lite support The Sancloud BeagleBone Enhanced Lite (BBE Lite) has its own devicetree file and the board can be identified by the 2nd letter of the config string within the common EEPROM. Signed-off-by: Paul Barker --- include/configs/am335x_evm.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h index cbb7b91139d..746d11b0a9b 100644 --- a/include/configs/am335x_evm.h +++ b/include/configs/am335x_evm.h @@ -134,6 +134,8 @@ "setenv fdtfile am335x-boneblue.dtb; fi; " \ "if test $board_name = BBEN; then " \ "setenv fdtfile am335x-sancloud-bbe.dtb; fi; " \ + "if test $board_name = BBELITE; then " \ + "setenv fdtfile am335x-sancloud-bbe-lite.dtb; fi; " \ "if test $board_name = A33515BB; then " \ "setenv fdtfile am335x-evm.dtb; fi; " \ "if test $board_name = A335X_SK; then " \ -- cgit v1.2.3 From a95cd68d516a547b09e6060b664e101e03706365 Mon Sep 17 00:00:00 2001 From: Paul Barker Date: Mon, 11 Apr 2022 15:42:01 +0000 Subject: board: ti: am335x: Add support for BBE Extended WiFi The Sancloud BeagleBone Enhanced Extended WiFi (BBE Extended WiFi) has its own devicetree file and the board can be identified by the 2nd letter of the config string within the common EEPROM. Signed-off-by: Paul Barker --- include/configs/am335x_evm.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h index 746d11b0a9b..fd5b209a52d 100644 --- a/include/configs/am335x_evm.h +++ b/include/configs/am335x_evm.h @@ -136,6 +136,8 @@ "setenv fdtfile am335x-sancloud-bbe.dtb; fi; " \ "if test $board_name = BBELITE; then " \ "setenv fdtfile am335x-sancloud-bbe-lite.dtb; fi; " \ + "if test $board_name = BBE_EX_WIFI; then " \ + "setenv fdtfile am335x-sancloud-bbe-extended-wifi.dtb; fi; " \ "if test $board_name = A33515BB; then " \ "setenv fdtfile am335x-evm.dtb; fi; " \ "if test $board_name = A335X_SK; then " \ -- cgit v1.2.3