[PATCH 00/18] K3 HS Support along with fixes
Jan Kiszka
jan.kiszka at siemens.com
Wed Jul 26 09:33:25 CEST 2023
On 26.07.23 09:25, Manorit Chawdhry wrote:
> On 12:17-20230726, Manorit Chawdhry wrote:
>> Hi Jan,
>>
>> On 08:42-20230726, Jan Kiszka wrote:
>>> On 14.07.23 07:52, Manorit Chawdhry wrote:
>>>> The series focuses on fixes for various boards along with moving to
>>>> standards and enabling the FIT_SIGNATURE for K3 Platforms towards the
>>>> end.
>>>>
>>>> Dependencies:
>>>> https://lore.kernel.org/u-boot/20230712183453.7623-1-n-francis@ti.com/
>>>>
>>>> Signed-off-by: Manorit Chawdhry <m-chawdhry at ti.com>
>>>> ---
>>>> Andrew Davis (4):
>>>> environment: ti: Prefix ARM64 DTB names with directory
>>>> environment: ti: Make get_fdt_mmc common
>>>> configs: Enable setexpr command on TI devices
>>>> arm: k3: Add regex/gsub command handling
>>>>
>>>> Kamlesh Gurudasani (3):
>>>> board: ti: am64x: am64x.env: set fdtfile env variable
>>>> configs: k3: make consistent bootcmd across all k3 socs
>>>> configs: am64: Fix booting of fitImage on AM64x
>>>>
>>>> Manorit Chawdhry (11):
>>>> arch: mach-k3: security: fix the check for authentication
>>>> Kconfig: j721s2: Fix the scratchpad base
>>>> mach-k3: common: correct the calculations for determining firewalls
>>>> include: j7*_evm.h: Cleanups to be done
>>>> configs: k3: Remove saved environments
>>>> env: Make common bootcmd across all k3 devices
>>>> include: armv7: Enable distroboot across all configs
>>>> board: ti: keys: add .key and .crt for fit signature signing
>>>> k3-*-binman: dts: Pack u-boot.dtb instead of soc specific dtb
>>>> lib: Kconfig: k3: Enable SHA512 for fit signature
>>>> Kconfig: Enable FIT_SIGNATURE if ARM64
>>>>
>>>> arch/arm/Kconfig | 2 +
>>>> arch/arm/dts/k3-am625-sk-binman.dtsi | 2 +-
>>>> arch/arm/dts/k3-am62a-sk-binman.dtsi | 2 +-
>>>> arch/arm/dts/k3-am64x-binman.dtsi | 2 +-
>>>> arch/arm/dts/k3-am65x-binman.dtsi | 2 +-
>>>> arch/arm/dts/k3-j7200-binman.dtsi | 2 +-
>>>> arch/arm/dts/k3-j721e-binman.dtsi | 2 +-
>>>> arch/arm/dts/k3-j721s2-binman.dtsi | 2 +-
>>>> arch/arm/mach-k3/Kconfig | 2 +-
>>>> arch/arm/mach-k3/common.c | 3 +-
>>>> arch/arm/mach-k3/common.h | 2 +-
>>>> arch/arm/mach-k3/security.c | 5 +-
>>>> board/ti/am62ax/am62ax.env | 3 +-
>>>> board/ti/am62x/am62x.env | 3 +-
>>>> board/ti/am64x/am64x.env | 6 +-
>>>> board/ti/am65x/am65x.env | 3 +-
>>>> board/ti/j721e/j721e.env | 9 +-
>>>> board/ti/j721s2/j721s2.env | 7 +-
>>>> board/ti/keys/custMpk.crt | 33 ++++++
>>>> board/ti/keys/custMpk.key | 51 +++++++++
>>>> boot/Kconfig | 3 +-
>>>> configs/am335x_hs_evm_defconfig | 1 -
>>>> configs/am43xx_hs_evm_defconfig | 1 -
>>>> configs/am43xx_hs_evm_qspi_defconfig | 1 -
>>>> configs/am57xx_hs_evm_defconfig | 1 -
>>>> configs/am57xx_hs_evm_usb_defconfig | 1 -
>>>> configs/am62ax_evm_a53_defconfig | 1 +
>>>> configs/am62x_evm_a53_defconfig | 3 +-
>>>> configs/am64x_evm_a53_defconfig | 7 +-
>>>> configs/am65x_evm_a53_defconfig | 1 -
>>>> configs/am65x_hs_evm_a53_defconfig | 1 -
>>>> configs/j7200_evm_a72_defconfig | 7 +-
>>>> configs/j721e_evm_a72_defconfig | 7 +-
>>>> configs/j721s2_evm_a72_defconfig | 6 +-
>>>> doc/board/ti/k3.rst | 172 +++++++++++++++++++++++++++++
>>>> include/configs/am62ax_evm.h | 71 ------------
>>>> include/configs/am62x_evm.h | 27 -----
>>>> include/configs/j721e_evm.h | 32 ------
>>>> include/configs/j721s2_evm.h | 5 -
>>>> include/configs/ti_armv7_common.h | 50 +++++++++
>>>> include/environment/ti/mmc.env | 5 +-
>>>> include/environment/ti/ti_armv7_common.env | 11 +-
>>>> lib/Kconfig | 1 +
>>>> 43 files changed, 356 insertions(+), 202 deletions(-)
>>>> ---
>>>> base-commit: 26bd02c45a97f77cfb6afac4ee4f61fb9c5c7007
>>>> change-id: 20230713-b4-upstream-fit-image-support-9d3c113ebab7
>>>>
>>>> Best regards,
>>>
>>> This series (at least) completely broke IOT2050 booting, specifically by
>>> dictating EVM-specific settings on our non-EVM board. Still trying to
>>> understand all problems and how to resolve them, either on board level
>>> or via making the side-effects optional. Due to that, our own patches
>>> missed rc1 :(.
>>>
>>
>> Sorry for the inconvenience caused, I have no idea what led to such
>> things but yes, the series wasn't ready to be merged although I have
>> sent incremental fixes for some of the necessary stuff but do let me
>> know the breakage reasons and I will try to address them as soon as
>> possible if I can.
>>
>
> Also, could you elaborate on the place of failure? There are certain
> possibilities coming to my mind for the breakage, please see if those
> are the ones that maybe you can look at w.r.t the failures that you've
> seen.
>
> The series removes the saved environment settings that might have been
> there in your boards due to which the possibility of failure could
> occur, have a look at [0].
>
> The series changes binman nodes for packing u-boot.dtb in u-boot.img, am
> not sure if this can affect you guys but have a look at [1].
>
> The directory paths are being changed for the respective kernel and dtb,
> have a look at [2].
>
> We've migrated to the FIT_SIGNATURE standard completely so things have
> changed w.r.t that and we are enabling it by default in K3 Platforms so
> have a look at [3]. The configuration nodes and other things have also
> changed along with it.
>
> Am assuming that the BOOTCMD change shouldn't affect you guys as you
> might be having custom BOOTCMD maybe but if that is not the case then
> the default bootcmd that we have is not a part of the distroboot and we
> run our legacy boot method in the beginning of it that is defined in
> commit [4].
>
> These all changes had been a part of LTS migration that we had
> internally so I do understand that it can break certain things but maybe
> I can make it easier for you guys to pin point the cause of failure so
> letting you know of all the things that have changed in the series
> without you trying to dig down into each and every commit.
>
> [0]: https://lore.kernel.org/u-boot/20230726064659.gzdbinr4hreujz3k@ula0497581/T/#m10379ff5526bf14d719b0f5af69e6e19b7af8a22
> [1]: https://lore.kernel.org/u-boot/20230726064659.gzdbinr4hreujz3k@ula0497581/T/#ma7ff630fccc5eecc9f73925728507d3c26e5a0e4
> [2]: https://lore.kernel.org/u-boot/20230726064659.gzdbinr4hreujz3k@ula0497581/T/#m03a9289cef98c845dd5929deb9ff54b9b08f6e4a
> [3]: https://lore.kernel.org/u-boot/20230726064659.gzdbinr4hreujz3k@ula0497581/T/#m1f7923aa8cb2c2c663a1f0deb03ea701a718d316
> [4]: https://lore.kernel.org/u-boot/20230726064659.gzdbinr4hreujz3k@ula0497581/T/#m0c8dd42369339ab2678584ee9043a3cf1642ec43
>
It seems, this helps, at least non-secure boot configuration works
again (secure to be tested):
diff --git a/board/siemens/iot2050/iot2050.env b/board/siemens/iot2050/iot2050.env
index 02958798b49..7fd836e6285 100644
--- a/board/siemens/iot2050/iot2050.env
+++ b/board/siemens/iot2050/iot2050.env
@@ -6,6 +6,8 @@
* Jan Kiszka <jan.kiszka at siemens.com>
*/
+#include <environment/ti/ti_armv7_common.env>
+
usb_pgood_delay=900
watchdog_timeout_ms=CONFIG_WATCHDOG_TIMEOUT_MSECS
diff --git a/include/configs/iot2050.h b/include/configs/iot2050.h
index 2177e0dfe38..4968722d18f 100644
--- a/include/configs/iot2050.h
+++ b/include/configs/iot2050.h
@@ -15,6 +15,17 @@
#include <configs/ti_armv7_common.h>
+/*
+ * This defines all MMC devices, even if the basic variant has no mmc1.
+ * The non-supported device will be removed from the boot targets during
+ * runtime, when that board was detected.
+ */
+#undef BOOT_TARGET_DEVICES
+#define BOOT_TARGET_DEVICES(func) \
+ func(MMC, mmc, 1) \
+ func(MMC, mmc, 0) \
+ BOOT_TARGET_USB(func)
+
#ifdef CONFIG_ENV_WRITEABLE_LIST
#define CFG_ENV_FLAGS_LIST_STATIC \
"board_uuid:sw,board_name:sw,board_serial:sw,board_a5e:sw," \
Jan
--
Siemens AG, Technology
Linux Expert Center
More information about the U-Boot
mailing list