public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [PATCH v3 0/3] mach-snapdragon: Enable OP-TEE support
@ 2026-01-27  6:23 Sumit Garg
  2026-01-27  6:23 ` [PATCH v3 1/3] tee: optee: Export OP-TEE message UID check API Sumit Garg
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Sumit Garg @ 2026-01-27  6:23 UTC (permalink / raw)
  To: u-boot-qcom, u-boot
  Cc: trini, casey.connolly, neil.armstrong, jens.wiklander,
	ilias.apalodimas, jorge.ramirez, varadarajan.narayanan, tonyh,
	Sumit Garg

From: Sumit Garg <sumit.garg@oss.qualcomm.com>

Introduce TF-A and OP-TEE config fragment

Recently upstream TF-A/OP-TEE has started gaining support for Qcom
platforms. RB3Gen2 being the first one and more to come. U-Boot in
corresponding boot flow is packaged as a position independent executable.

So, lets add a generic U-Boot config fragment for Qcom platforms to
support TF-A/OP-TEE based TrustZone stack. Build command:

$ ./scripts/kconfig/merge_config.sh \
       configs/qcom_defconfig \
       board/qualcomm/tfa-optee.config
$ make -j`nproc` DEVICE_TREE=qcom/qcs6490-rb3gen2

---
Changes in v3:
- Incorporated misc. comments on patch #2.

Changes in v2:
- Add new patch #1 to export OP-TEE message UID check API
- Use OP-TEE message UID check API in order to perform the DT fixup for
  OP-TEE.
- Switch from new defconfig to a config fragment instead.

Sumit Garg (3):
  tee: optee: Export OP-TEE message UID check API
  mach-snapdragon: of_fixup: Add OP-TEE DT fixup support
  board/qualcomm: Introduce TF-A and OP-TEE config fragment

 arch/arm/mach-snapdragon/of_fixup.c | 35 +++++++++++++++++++++++++++++
 board/qualcomm/tfa-optee.config     |  4 ++++
 drivers/tee/optee/core.c            |  5 +++++
 include/tee/optee.h                 |  9 ++++++++
 4 files changed, 53 insertions(+)
 create mode 100644 board/qualcomm/tfa-optee.config

-- 
2.51.0


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v3 1/3] tee: optee: Export OP-TEE message UID check API
  2026-01-27  6:23 [PATCH v3 0/3] mach-snapdragon: Enable OP-TEE support Sumit Garg
@ 2026-01-27  6:23 ` Sumit Garg
  2026-02-09 18:53   ` Casey Connolly
  2026-01-27  6:23 ` [PATCH v3 2/3] mach-snapdragon: of_fixup: Add OP-TEE DT fixup support Sumit Garg
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 11+ messages in thread
From: Sumit Garg @ 2026-01-27  6:23 UTC (permalink / raw)
  To: u-boot-qcom, u-boot
  Cc: trini, casey.connolly, neil.armstrong, jens.wiklander,
	ilias.apalodimas, jorge.ramirez, varadarajan.narayanan, tonyh,
	Sumit Garg

From: Sumit Garg <sumit.garg@oss.qualcomm.com>

OP-TEE message UID check API can be useful to know whether OP-TEE
is enabled on not assuming the corresponding SMC call is properly
handled if OP-TEE is not supported.

This API can be used by platform code to know OP-TEE presence and
on that basis OP-TEE DT node can be added as part of DT fixups for
the OP-TEE driver probe to happen for both U-Boot and Linux.

Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
---
 drivers/tee/optee/core.c | 5 +++++
 include/tee/optee.h      | 9 +++++++++
 2 files changed, 14 insertions(+)

diff --git a/drivers/tee/optee/core.c b/drivers/tee/optee/core.c
index 5fc0505c788..4d67c948ec1 100644
--- a/drivers/tee/optee/core.c
+++ b/drivers/tee/optee/core.c
@@ -795,6 +795,11 @@ static optee_invoke_fn *get_invoke_func(struct udevice *dev)
 	return ERR_PTR(-EINVAL);
 }
 
+bool is_optee_smc_api(void)
+{
+	return is_optee_api(optee_smccc_smc);
+}
+
 static int optee_of_to_plat(struct udevice *dev)
 {
 	struct optee_pdata *pdata = dev_get_plat(dev);
diff --git a/include/tee/optee.h b/include/tee/optee.h
index 77729450bb6..d1194493780 100644
--- a/include/tee/optee.h
+++ b/include/tee/optee.h
@@ -65,4 +65,13 @@ static inline int optee_copy_fdt_nodes(void *new_blob)
 }
 #endif
 
+#if defined(CONFIG_OPTEE)
+bool is_optee_smc_api(void);
+#else
+static inline bool is_optee_smc_api(void)
+{
+	return false;
+}
+#endif
+
 #endif /* _OPTEE_H */
-- 
2.51.0


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v3 2/3] mach-snapdragon: of_fixup: Add OP-TEE DT fixup support
  2026-01-27  6:23 [PATCH v3 0/3] mach-snapdragon: Enable OP-TEE support Sumit Garg
  2026-01-27  6:23 ` [PATCH v3 1/3] tee: optee: Export OP-TEE message UID check API Sumit Garg
@ 2026-01-27  6:23 ` Sumit Garg
  2026-02-09 18:49   ` Casey Connolly
  2026-01-27  6:23 ` [PATCH v3 3/3] board/qualcomm: Introduce TF-A and OP-TEE config fragment Sumit Garg
  2026-03-24 11:47 ` [PATCH v3 0/3] mach-snapdragon: Enable OP-TEE support Sumit Garg
  3 siblings, 1 reply; 11+ messages in thread
From: Sumit Garg @ 2026-01-27  6:23 UTC (permalink / raw)
  To: u-boot-qcom, u-boot
  Cc: trini, casey.connolly, neil.armstrong, jens.wiklander,
	ilias.apalodimas, jorge.ramirez, varadarajan.narayanan, tonyh,
	Sumit Garg

From: Sumit Garg <sumit.garg@oss.qualcomm.com>

Add support for OP-TEE live tree DT fixup support which enables U-Boot
OP-TEE driver to be probed. As well as the EFI DT fixup protocol allows
the live tree fixup to be carried over to the OS for the OP-TEE driver
in the OS to probe as well.

Note that this fixup only gets applied if OP-TEE support is detected via
checking for OP-TEE message UID.

Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
---
 arch/arm/mach-snapdragon/of_fixup.c | 35 +++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/arch/arm/mach-snapdragon/of_fixup.c b/arch/arm/mach-snapdragon/of_fixup.c
index 5b6076ea8e5..644afc22d88 100644
--- a/arch/arm/mach-snapdragon/of_fixup.c
+++ b/arch/arm/mach-snapdragon/of_fixup.c
@@ -25,6 +25,7 @@
 #include <fdt_support.h>
 #include <linux/errno.h>
 #include <stdlib.h>
+#include <tee/optee.h>
 #include <time.h>
 
 /* U-Boot only supports USB high-speed mode on Qualcomm platforms with DWC3
@@ -164,6 +165,37 @@ static void fixup_power_domains(struct device_node *root)
 	}
 }
 
+static void add_optee_node(struct device_node *root)
+{
+	struct device_node *fw = NULL, *optee = NULL;
+	int ret;
+
+	fw = of_find_node_by_path("/firmware");
+	if (!fw) {
+		log_err("Failed to find /firmware node\n");
+		return;
+	}
+
+	ret = of_add_subnode(fw, "optee", strlen("optee") + 1, &optee);
+	if (ret) {
+		log_err("Failed to add 'optee' subnode: %d\n", ret);
+		return;
+	}
+
+	ret = of_write_prop(optee, "compatible", strlen("linaro,optee-tz") + 1,
+			    "linaro,optee-tz");
+	if (ret) {
+		log_err("Failed to add optee 'compatible' property: %d\n", ret);
+		return;
+	}
+
+	ret = of_write_prop(optee, "method", strlen("smc") + 1, "smc");
+	if (ret) {
+		log_err("Failed to add optee 'method' property: %d\n", ret);
+		return;
+	}
+}
+
 #define time_call(func, ...) \
 	do { \
 		u64 start = timer_get_us(); \
@@ -178,6 +210,9 @@ static int qcom_of_fixup_nodes(void * __maybe_unused ctx, struct event *event)
 	time_call(fixup_usb_nodes, root);
 	time_call(fixup_power_domains, root);
 
+	if (IS_ENABLED(CONFIG_OPTEE) && is_optee_smc_api())
+		time_call(add_optee_node, root);
+
 	return 0;
 }
 
-- 
2.51.0


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v3 3/3] board/qualcomm: Introduce TF-A and OP-TEE config fragment
  2026-01-27  6:23 [PATCH v3 0/3] mach-snapdragon: Enable OP-TEE support Sumit Garg
  2026-01-27  6:23 ` [PATCH v3 1/3] tee: optee: Export OP-TEE message UID check API Sumit Garg
  2026-01-27  6:23 ` [PATCH v3 2/3] mach-snapdragon: of_fixup: Add OP-TEE DT fixup support Sumit Garg
@ 2026-01-27  6:23 ` Sumit Garg
  2026-02-09 18:53   ` Casey Connolly
  2026-03-24 11:47 ` [PATCH v3 0/3] mach-snapdragon: Enable OP-TEE support Sumit Garg
  3 siblings, 1 reply; 11+ messages in thread
From: Sumit Garg @ 2026-01-27  6:23 UTC (permalink / raw)
  To: u-boot-qcom, u-boot
  Cc: trini, casey.connolly, neil.armstrong, jens.wiklander,
	ilias.apalodimas, jorge.ramirez, varadarajan.narayanan, tonyh,
	Sumit Garg

From: Sumit Garg <sumit.garg@oss.qualcomm.com>

Recently upstream TF-A/OP-TEE has started gaining support for Qcom
platforms. RB3Gen2 being the first one and more to come. U-Boot in
corresponding boot flow is packaged as a position independent executable.

So, lets add a generic U-Boot config fragment for Qcom platforms to
support TF-A/OP-TEE based TrustZone stack. Build command:

$ ./scripts/kconfig/merge_config.sh \
       configs/qcom_defconfig \
       board/qualcomm/tfa-optee.config
$ make -j`nproc` DEVICE_TREE=qcom/qcs6490-rb3gen2

For more information refer here:
https://trustedfirmware-a.readthedocs.io/en/latest/plat/qti/rb3gen2.html

Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
---
 board/qualcomm/tfa-optee.config | 4 ++++
 1 file changed, 4 insertions(+)
 create mode 100644 board/qualcomm/tfa-optee.config

diff --git a/board/qualcomm/tfa-optee.config b/board/qualcomm/tfa-optee.config
new file mode 100644
index 00000000000..1e8364c114f
--- /dev/null
+++ b/board/qualcomm/tfa-optee.config
@@ -0,0 +1,4 @@
+# Enables support for TF-A based OP-TEE as the open
+# source TrustZone stack on Qcom platforms
+CONFIG_TEE=y
+CONFIG_OPTEE=y
-- 
2.51.0


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 2/3] mach-snapdragon: of_fixup: Add OP-TEE DT fixup support
  2026-01-27  6:23 ` [PATCH v3 2/3] mach-snapdragon: of_fixup: Add OP-TEE DT fixup support Sumit Garg
@ 2026-02-09 18:49   ` Casey Connolly
  2026-02-10  5:20     ` Sumit Garg
  0 siblings, 1 reply; 11+ messages in thread
From: Casey Connolly @ 2026-02-09 18:49 UTC (permalink / raw)
  To: Sumit Garg, u-boot-qcom, u-boot
  Cc: trini, neil.armstrong, jens.wiklander, ilias.apalodimas,
	jorge.ramirez, varadarajan.narayanan, tonyh, Sumit Garg

Hi Sumit,

Thanks for respinning this.

On 27/01/2026 07:23, Sumit Garg wrote:
> From: Sumit Garg <sumit.garg@oss.qualcomm.com>
> 
> Add support for OP-TEE live tree DT fixup support which enables U-Boot
> OP-TEE driver to be probed. As well as the EFI DT fixup protocol allows
> the live tree fixup to be carried over to the OS for the OP-TEE driver
> in the OS to probe as well.

The EFI DT fixup protocol hook seems to be missing here?
> 
> Note that this fixup only gets applied if OP-TEE support is detected via
> checking for OP-TEE message UID.
> 
> Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
> ---
>  arch/arm/mach-snapdragon/of_fixup.c | 35 +++++++++++++++++++++++++++++
>  1 file changed, 35 insertions(+)
> 
> diff --git a/arch/arm/mach-snapdragon/of_fixup.c b/arch/arm/mach-snapdragon/of_fixup.c
> index 5b6076ea8e5..644afc22d88 100644
> --- a/arch/arm/mach-snapdragon/of_fixup.c
> +++ b/arch/arm/mach-snapdragon/of_fixup.c
> @@ -25,6 +25,7 @@
>  #include <fdt_support.h>
>  #include <linux/errno.h>
>  #include <stdlib.h>
> +#include <tee/optee.h>
>  #include <time.h>
>  
>  /* U-Boot only supports USB high-speed mode on Qualcomm platforms with DWC3
> @@ -164,6 +165,37 @@ static void fixup_power_domains(struct device_node *root)
>  	}
>  }
>  
> +static void add_optee_node(struct device_node *root)
> +{
> +	struct device_node *fw = NULL, *optee = NULL;
> +	int ret;
> +
> +	fw = of_find_node_by_path("/firmware");
> +	if (!fw) {
> +		log_err("Failed to find /firmware node\n");
> +		return;
> +	}
> +
> +	ret = of_add_subnode(fw, "optee", strlen("optee") + 1, &optee);
> +	if (ret) {
> +		log_err("Failed to add 'optee' subnode: %d\n", ret);
> +		return;
> +	}
> +
> +	ret = of_write_prop(optee, "compatible", strlen("linaro,optee-tz") + 1,
> +			    "linaro,optee-tz");
> +	if (ret) {
> +		log_err("Failed to add optee 'compatible' property: %d\n", ret);
> +		return;
> +	}
> +
> +	ret = of_write_prop(optee, "method", strlen("smc") + 1, "smc");
> +	if (ret) {
> +		log_err("Failed to add optee 'method' property: %d\n", ret);
> +		return;
> +	}
> +}
> +
>  #define time_call(func, ...) \
>  	do { \
>  		u64 start = timer_get_us(); \
> @@ -178,6 +210,9 @@ static int qcom_of_fixup_nodes(void * __maybe_unused ctx, struct event *event)
>  	time_call(fixup_usb_nodes, root);
>  	time_call(fixup_power_domains, root);
>  
> +	if (IS_ENABLED(CONFIG_OPTEE) && is_optee_smc_api())
> +		time_call(add_optee_node, root);
> +
>  	return 0;
>  }
>  

-- 
// Casey (she/her)


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 1/3] tee: optee: Export OP-TEE message UID check API
  2026-01-27  6:23 ` [PATCH v3 1/3] tee: optee: Export OP-TEE message UID check API Sumit Garg
@ 2026-02-09 18:53   ` Casey Connolly
  0 siblings, 0 replies; 11+ messages in thread
From: Casey Connolly @ 2026-02-09 18:53 UTC (permalink / raw)
  To: Sumit Garg, u-boot-qcom, u-boot
  Cc: trini, neil.armstrong, jens.wiklander, ilias.apalodimas,
	jorge.ramirez, varadarajan.narayanan, tonyh, Sumit Garg



On 27/01/2026 07:23, Sumit Garg wrote:
> From: Sumit Garg <sumit.garg@oss.qualcomm.com>
> 
> OP-TEE message UID check API can be useful to know whether OP-TEE
> is enabled on not assuming the corresponding SMC call is properly
> handled if OP-TEE is not supported.
> 
> This API can be used by platform code to know OP-TEE presence and
> on that basis OP-TEE DT node can be added as part of DT fixups for
> the OP-TEE driver probe to happen for both U-Boot and Linux.
> 
> Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>

Reviewed-by: Casey Connolly <casey.connolly@linaro.org>

> ---
>  drivers/tee/optee/core.c | 5 +++++
>  include/tee/optee.h      | 9 +++++++++
>  2 files changed, 14 insertions(+)
> 
> diff --git a/drivers/tee/optee/core.c b/drivers/tee/optee/core.c
> index 5fc0505c788..4d67c948ec1 100644
> --- a/drivers/tee/optee/core.c
> +++ b/drivers/tee/optee/core.c
> @@ -795,6 +795,11 @@ static optee_invoke_fn *get_invoke_func(struct udevice *dev)
>  	return ERR_PTR(-EINVAL);
>  }
>  
> +bool is_optee_smc_api(void)
> +{
> +	return is_optee_api(optee_smccc_smc);
> +}
> +
>  static int optee_of_to_plat(struct udevice *dev)
>  {
>  	struct optee_pdata *pdata = dev_get_plat(dev);
> diff --git a/include/tee/optee.h b/include/tee/optee.h
> index 77729450bb6..d1194493780 100644
> --- a/include/tee/optee.h
> +++ b/include/tee/optee.h
> @@ -65,4 +65,13 @@ static inline int optee_copy_fdt_nodes(void *new_blob)
>  }
>  #endif
>  
> +#if defined(CONFIG_OPTEE)
> +bool is_optee_smc_api(void);
> +#else
> +static inline bool is_optee_smc_api(void)
> +{
> +	return false;
> +}
> +#endif
> +
>  #endif /* _OPTEE_H */

-- 
// Casey (she/her)


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 3/3] board/qualcomm: Introduce TF-A and OP-TEE config fragment
  2026-01-27  6:23 ` [PATCH v3 3/3] board/qualcomm: Introduce TF-A and OP-TEE config fragment Sumit Garg
@ 2026-02-09 18:53   ` Casey Connolly
  0 siblings, 0 replies; 11+ messages in thread
From: Casey Connolly @ 2026-02-09 18:53 UTC (permalink / raw)
  To: Sumit Garg, u-boot-qcom, u-boot
  Cc: trini, neil.armstrong, jens.wiklander, ilias.apalodimas,
	jorge.ramirez, varadarajan.narayanan, tonyh, Sumit Garg



On 27/01/2026 07:23, Sumit Garg wrote:
> From: Sumit Garg <sumit.garg@oss.qualcomm.com>
> 
> Recently upstream TF-A/OP-TEE has started gaining support for Qcom
> platforms. RB3Gen2 being the first one and more to come. U-Boot in
> corresponding boot flow is packaged as a position independent executable.
> 
> So, lets add a generic U-Boot config fragment for Qcom platforms to
> support TF-A/OP-TEE based TrustZone stack. Build command:
> 
> $ ./scripts/kconfig/merge_config.sh \
>        configs/qcom_defconfig \
>        board/qualcomm/tfa-optee.config
> $ make -j`nproc` DEVICE_TREE=qcom/qcs6490-rb3gen2
> 
> For more information refer here:
> https://trustedfirmware-a.readthedocs.io/en/latest/plat/qti/rb3gen2.html
> 
> Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>

Reviewed-by: Casey Connolly <casey.connolly@linaro.org>

> ---
>  board/qualcomm/tfa-optee.config | 4 ++++
>  1 file changed, 4 insertions(+)
>  create mode 100644 board/qualcomm/tfa-optee.config
> 
> diff --git a/board/qualcomm/tfa-optee.config b/board/qualcomm/tfa-optee.config
> new file mode 100644
> index 00000000000..1e8364c114f
> --- /dev/null
> +++ b/board/qualcomm/tfa-optee.config
> @@ -0,0 +1,4 @@
> +# Enables support for TF-A based OP-TEE as the open
> +# source TrustZone stack on Qcom platforms
> +CONFIG_TEE=y
> +CONFIG_OPTEE=y

-- 
// Casey (she/her)


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 2/3] mach-snapdragon: of_fixup: Add OP-TEE DT fixup support
  2026-02-09 18:49   ` Casey Connolly
@ 2026-02-10  5:20     ` Sumit Garg
  0 siblings, 0 replies; 11+ messages in thread
From: Sumit Garg @ 2026-02-10  5:20 UTC (permalink / raw)
  To: Casey Connolly
  Cc: u-boot-qcom, u-boot, trini, neil.armstrong, jens.wiklander,
	ilias.apalodimas, jorge.ramirez, varadarajan.narayanan, tonyh,
	Sumit Garg

Hi Casey,

On Mon, Feb 09, 2026 at 07:49:50PM +0100, Casey Connolly wrote:
> Hi Sumit,
> 
> Thanks for respinning this.
> 
> On 27/01/2026 07:23, Sumit Garg wrote:
> > From: Sumit Garg <sumit.garg@oss.qualcomm.com>
> > 
> > Add support for OP-TEE live tree DT fixup support which enables U-Boot
> > OP-TEE driver to be probed. As well as the EFI DT fixup protocol allows
> > the live tree fixup to be carried over to the OS for the OP-TEE driver
> > in the OS to probe as well.
> 
> The EFI DT fixup protocol hook seems to be missing here?

The EFI DT fixup for OP-TEE node is already taken care of by the common
OP-TEE library as part of this code path:

efi_dt_fixup() ->
  image_setup_libfdt() ->
    optee_copy_fdt_nodes()

-Sumit

> > 
> > Note that this fixup only gets applied if OP-TEE support is detected via
> > checking for OP-TEE message UID.
> > 
> > Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
> > ---
> >  arch/arm/mach-snapdragon/of_fixup.c | 35 +++++++++++++++++++++++++++++
> >  1 file changed, 35 insertions(+)
> > 
> > diff --git a/arch/arm/mach-snapdragon/of_fixup.c b/arch/arm/mach-snapdragon/of_fixup.c
> > index 5b6076ea8e5..644afc22d88 100644
> > --- a/arch/arm/mach-snapdragon/of_fixup.c
> > +++ b/arch/arm/mach-snapdragon/of_fixup.c
> > @@ -25,6 +25,7 @@
> >  #include <fdt_support.h>
> >  #include <linux/errno.h>
> >  #include <stdlib.h>
> > +#include <tee/optee.h>
> >  #include <time.h>
> >  
> >  /* U-Boot only supports USB high-speed mode on Qualcomm platforms with DWC3
> > @@ -164,6 +165,37 @@ static void fixup_power_domains(struct device_node *root)
> >  	}
> >  }
> >  
> > +static void add_optee_node(struct device_node *root)
> > +{
> > +	struct device_node *fw = NULL, *optee = NULL;
> > +	int ret;
> > +
> > +	fw = of_find_node_by_path("/firmware");
> > +	if (!fw) {
> > +		log_err("Failed to find /firmware node\n");
> > +		return;
> > +	}
> > +
> > +	ret = of_add_subnode(fw, "optee", strlen("optee") + 1, &optee);
> > +	if (ret) {
> > +		log_err("Failed to add 'optee' subnode: %d\n", ret);
> > +		return;
> > +	}
> > +
> > +	ret = of_write_prop(optee, "compatible", strlen("linaro,optee-tz") + 1,
> > +			    "linaro,optee-tz");
> > +	if (ret) {
> > +		log_err("Failed to add optee 'compatible' property: %d\n", ret);
> > +		return;
> > +	}
> > +
> > +	ret = of_write_prop(optee, "method", strlen("smc") + 1, "smc");
> > +	if (ret) {
> > +		log_err("Failed to add optee 'method' property: %d\n", ret);
> > +		return;
> > +	}
> > +}
> > +
> >  #define time_call(func, ...) \
> >  	do { \
> >  		u64 start = timer_get_us(); \
> > @@ -178,6 +210,9 @@ static int qcom_of_fixup_nodes(void * __maybe_unused ctx, struct event *event)
> >  	time_call(fixup_usb_nodes, root);
> >  	time_call(fixup_power_domains, root);
> >  
> > +	if (IS_ENABLED(CONFIG_OPTEE) && is_optee_smc_api())
> > +		time_call(add_optee_node, root);
> > +
> >  	return 0;
> >  }
> >  
> 
> -- 
> // Casey (she/her)
> 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 0/3] mach-snapdragon: Enable OP-TEE support
  2026-01-27  6:23 [PATCH v3 0/3] mach-snapdragon: Enable OP-TEE support Sumit Garg
                   ` (2 preceding siblings ...)
  2026-01-27  6:23 ` [PATCH v3 3/3] board/qualcomm: Introduce TF-A and OP-TEE config fragment Sumit Garg
@ 2026-03-24 11:47 ` Sumit Garg
  2026-03-24 11:50   ` Casey Connolly
  3 siblings, 1 reply; 11+ messages in thread
From: Sumit Garg @ 2026-03-24 11:47 UTC (permalink / raw)
  To: u-boot-qcom, u-boot
  Cc: trini, casey.connolly, neil.armstrong, jens.wiklander,
	ilias.apalodimas, jorge.ramirez, varadarajan.narayanan, tonyh,
	Sumit Garg

Hey Casey,

On Tue, Jan 27, 2026 at 11:53:38AM +0530, Sumit Garg wrote:
> From: Sumit Garg <sumit.garg@oss.qualcomm.com>
> 
> Introduce TF-A and OP-TEE config fragment
> 
> Recently upstream TF-A/OP-TEE has started gaining support for Qcom
> platforms. RB3Gen2 being the first one and more to come. U-Boot in
> corresponding boot flow is packaged as a position independent executable.
> 
> So, lets add a generic U-Boot config fragment for Qcom platforms to
> support TF-A/OP-TEE based TrustZone stack. Build command:
> 
> $ ./scripts/kconfig/merge_config.sh \
>        configs/qcom_defconfig \
>        board/qualcomm/tfa-optee.config
> $ make -j`nproc` DEVICE_TREE=qcom/qcs6490-rb3gen2
> 
> ---
> Changes in v3:
> - Incorporated misc. comments on patch #2.
> 

Can we get this patch-set applied as well? Have been waiting on the list
for approx. 2 months.

-Sumit

> Changes in v2:
> - Add new patch #1 to export OP-TEE message UID check API
> - Use OP-TEE message UID check API in order to perform the DT fixup for
>   OP-TEE.
> - Switch from new defconfig to a config fragment instead.
> 
> Sumit Garg (3):
>   tee: optee: Export OP-TEE message UID check API
>   mach-snapdragon: of_fixup: Add OP-TEE DT fixup support
>   board/qualcomm: Introduce TF-A and OP-TEE config fragment
> 
>  arch/arm/mach-snapdragon/of_fixup.c | 35 +++++++++++++++++++++++++++++
>  board/qualcomm/tfa-optee.config     |  4 ++++
>  drivers/tee/optee/core.c            |  5 +++++
>  include/tee/optee.h                 |  9 ++++++++
>  4 files changed, 53 insertions(+)
>  create mode 100644 board/qualcomm/tfa-optee.config
> 
> -- 
> 2.51.0
> 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 0/3] mach-snapdragon: Enable OP-TEE support
  2026-03-24 11:47 ` [PATCH v3 0/3] mach-snapdragon: Enable OP-TEE support Sumit Garg
@ 2026-03-24 11:50   ` Casey Connolly
  2026-04-06 12:40     ` Sumit Garg
  0 siblings, 1 reply; 11+ messages in thread
From: Casey Connolly @ 2026-03-24 11:50 UTC (permalink / raw)
  To: Sumit Garg, u-boot-qcom, u-boot
  Cc: trini, neil.armstrong, jens.wiklander, ilias.apalodimas,
	jorge.ramirez, varadarajan.narayanan, tonyh, Sumit Garg

Hi Sumit,

On 24/03/2026 12:47, Sumit Garg wrote:
> Hey Casey,
> 
> On Tue, Jan 27, 2026 at 11:53:38AM +0530, Sumit Garg wrote:
>> From: Sumit Garg <sumit.garg@oss.qualcomm.com>
>>
>> Introduce TF-A and OP-TEE config fragment
>>
>> Recently upstream TF-A/OP-TEE has started gaining support for Qcom
>> platforms. RB3Gen2 being the first one and more to come. U-Boot in
>> corresponding boot flow is packaged as a position independent executable.
>>
>> So, lets add a generic U-Boot config fragment for Qcom platforms to
>> support TF-A/OP-TEE based TrustZone stack. Build command:
>>
>> $ ./scripts/kconfig/merge_config.sh \
>>        configs/qcom_defconfig \
>>        board/qualcomm/tfa-optee.config
>> $ make -j`nproc` DEVICE_TREE=qcom/qcs6490-rb3gen2
>>
>> ---
>> Changes in v3:
>> - Incorporated misc. comments on patch #2.
>>
> 
> Can we get this patch-set applied as well? Have been waiting on the list
> for approx. 2 months.

Yeah, I'll get this into -next soon, apologies for the wait.

Kind regards,

> 
> -Sumit
> 
>> Changes in v2:
>> - Add new patch #1 to export OP-TEE message UID check API
>> - Use OP-TEE message UID check API in order to perform the DT fixup for
>>   OP-TEE.
>> - Switch from new defconfig to a config fragment instead.
>>
>> Sumit Garg (3):
>>   tee: optee: Export OP-TEE message UID check API
>>   mach-snapdragon: of_fixup: Add OP-TEE DT fixup support
>>   board/qualcomm: Introduce TF-A and OP-TEE config fragment
>>
>>  arch/arm/mach-snapdragon/of_fixup.c | 35 +++++++++++++++++++++++++++++
>>  board/qualcomm/tfa-optee.config     |  4 ++++
>>  drivers/tee/optee/core.c            |  5 +++++
>>  include/tee/optee.h                 |  9 ++++++++
>>  4 files changed, 53 insertions(+)
>>  create mode 100644 board/qualcomm/tfa-optee.config
>>
>> -- 
>> 2.51.0
>>

-- 
// Casey (she/her)


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 0/3] mach-snapdragon: Enable OP-TEE support
  2026-03-24 11:50   ` Casey Connolly
@ 2026-04-06 12:40     ` Sumit Garg
  0 siblings, 0 replies; 11+ messages in thread
From: Sumit Garg @ 2026-04-06 12:40 UTC (permalink / raw)
  To: Casey Connolly
  Cc: u-boot-qcom, u-boot, trini, neil.armstrong, jens.wiklander,
	ilias.apalodimas, jorge.ramirez, varadarajan.narayanan, tonyh,
	Sumit Garg

On Tue, Mar 24, 2026 at 12:50:00PM +0100, Casey Connolly wrote:
> Hi Sumit,
> 
> On 24/03/2026 12:47, Sumit Garg wrote:
> > Hey Casey,
> > 
> > On Tue, Jan 27, 2026 at 11:53:38AM +0530, Sumit Garg wrote:
> >> From: Sumit Garg <sumit.garg@oss.qualcomm.com>
> >>
> >> Introduce TF-A and OP-TEE config fragment
> >>
> >> Recently upstream TF-A/OP-TEE has started gaining support for Qcom
> >> platforms. RB3Gen2 being the first one and more to come. U-Boot in
> >> corresponding boot flow is packaged as a position independent executable.
> >>
> >> So, lets add a generic U-Boot config fragment for Qcom platforms to
> >> support TF-A/OP-TEE based TrustZone stack. Build command:
> >>
> >> $ ./scripts/kconfig/merge_config.sh \
> >>        configs/qcom_defconfig \
> >>        board/qualcomm/tfa-optee.config
> >> $ make -j`nproc` DEVICE_TREE=qcom/qcs6490-rb3gen2
> >>
> >> ---
> >> Changes in v3:
> >> - Incorporated misc. comments on patch #2.
> >>
> > 
> > Can we get this patch-set applied as well? Have been waiting on the list
> > for approx. 2 months.
> 
> Yeah, I'll get this into -next soon, apologies for the wait.
>

Still haven't seen any of your PR for this cycle. I see a lot of patches
reviewed but not applied on patchworks here [1].

[1] https://patchwork.ozlabs.org/project/uboot/list/?series=&submitter=&state=&q=&archive=&delegate=151538

-Sumit

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2026-04-06 12:40 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-27  6:23 [PATCH v3 0/3] mach-snapdragon: Enable OP-TEE support Sumit Garg
2026-01-27  6:23 ` [PATCH v3 1/3] tee: optee: Export OP-TEE message UID check API Sumit Garg
2026-02-09 18:53   ` Casey Connolly
2026-01-27  6:23 ` [PATCH v3 2/3] mach-snapdragon: of_fixup: Add OP-TEE DT fixup support Sumit Garg
2026-02-09 18:49   ` Casey Connolly
2026-02-10  5:20     ` Sumit Garg
2026-01-27  6:23 ` [PATCH v3 3/3] board/qualcomm: Introduce TF-A and OP-TEE config fragment Sumit Garg
2026-02-09 18:53   ` Casey Connolly
2026-03-24 11:47 ` [PATCH v3 0/3] mach-snapdragon: Enable OP-TEE support Sumit Garg
2026-03-24 11:50   ` Casey Connolly
2026-04-06 12:40     ` Sumit Garg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox