* [PATCH v3 1/3] dt-bindings: nvmem: uniphier-efuse: Add ti,am62p-efuse compatible
2026-09-10 15:55 [PATCH v3 0/3] Support AM62P silicon revision detection via uniphier-efuse Judith Mendez
@ 2026-09-10 15:55 ` Judith Mendez
2026-09-13 8:57 ` Krzysztof Kozlowski
2026-09-10 15:55 ` [PATCH v3 2/3] nvmem: uniphier-efuse: Enable for K3 SoCs Judith Mendez
2026-09-10 15:55 ` [PATCH v3 3/3] nvmem: uniphier-efuse: Add ti,am62p-efuse compatible Judith Mendez
2 siblings, 1 reply; 8+ messages in thread
From: Judith Mendez @ 2026-09-10 15:55 UTC (permalink / raw)
To: Judith Mendez, Srinivas Kandagatla, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Kunihiko Hayashi,
Masami Hiramatsu
Cc: devicetree, linux-arm-kernel, linux-kernel
Add ti,am62p-efuse as a compatible string to the uniphier-efuse binding.
The uniphier-efuse driver can be used to read AM62P efuse registers as
well for GP_SW silicon revision detection.
Signed-off-by: Judith Mendez <jm@ti.com>
Reviewed-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
---
Changes since v2:
- Add fallback compatible for ti,am62p-efuse
- Add Kunihiko's review tag
---
.../devicetree/bindings/nvmem/socionext,uniphier-efuse.yaml | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/nvmem/socionext,uniphier-efuse.yaml b/Documentation/devicetree/bindings/nvmem/socionext,uniphier-efuse.yaml
index e27cbae2d63a0..d26b3d2a3eba0 100644
--- a/Documentation/devicetree/bindings/nvmem/socionext,uniphier-efuse.yaml
+++ b/Documentation/devicetree/bindings/nvmem/socionext,uniphier-efuse.yaml
@@ -16,7 +16,11 @@ allOf:
properties:
compatible:
- const: socionext,uniphier-efuse
+ oneOf:
+ - const: socionext,uniphier-efuse
+ - items:
+ - const: ti,am62p-efuse
+ - const: socionext,uniphier-efuse
reg:
maxItems: 1
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH v3 1/3] dt-bindings: nvmem: uniphier-efuse: Add ti,am62p-efuse compatible
2026-09-10 15:55 ` [PATCH v3 1/3] dt-bindings: nvmem: uniphier-efuse: Add ti,am62p-efuse compatible Judith Mendez
@ 2026-09-13 8:57 ` Krzysztof Kozlowski
0 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2026-09-13 8:57 UTC (permalink / raw)
To: Judith Mendez
Cc: Srinivas Kandagatla, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Kunihiko Hayashi, Masami Hiramatsu, devicetree,
linux-arm-kernel, linux-kernel
On Thu, Sep 10, 2026 at 10:55:07AM -0500, Judith Mendez wrote:
> Add ti,am62p-efuse as a compatible string to the uniphier-efuse binding.
> The uniphier-efuse driver can be used to read AM62P efuse registers as
> well for GP_SW silicon revision detection.
>
> Signed-off-by: Judith Mendez <jm@ti.com>
> Reviewed-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v3 2/3] nvmem: uniphier-efuse: Enable for K3 SoCs
2026-09-10 15:55 [PATCH v3 0/3] Support AM62P silicon revision detection via uniphier-efuse Judith Mendez
2026-09-10 15:55 ` [PATCH v3 1/3] dt-bindings: nvmem: uniphier-efuse: Add ti,am62p-efuse compatible Judith Mendez
@ 2026-09-10 15:55 ` Judith Mendez
2026-09-10 16:06 ` sashiko-bot
2026-09-10 15:55 ` [PATCH v3 3/3] nvmem: uniphier-efuse: Add ti,am62p-efuse compatible Judith Mendez
2 siblings, 1 reply; 8+ messages in thread
From: Judith Mendez @ 2026-09-10 15:55 UTC (permalink / raw)
To: Judith Mendez, Srinivas Kandagatla, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Kunihiko Hayashi,
Masami Hiramatsu
Cc: devicetree, linux-arm-kernel, linux-kernel
Add ARCH_K3 dependency and set to always build for K3 architecture.
The uniphier-efuse driver must be builtin to support early probe of
k3-socinfo during boot. The k3-socinfo driver requires the efuse
provider for reading silicon revision information on AM62p device.
Signed-off-by: Judith Mendez <jm@ti.com>
Reviewed-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
---
Changes since v2:
- Add Kunihiko's review tag
---
drivers/nvmem/Kconfig | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/nvmem/Kconfig b/drivers/nvmem/Kconfig
index c36c2a4c2a0b7..df65e7ecfa212 100644
--- a/drivers/nvmem/Kconfig
+++ b/drivers/nvmem/Kconfig
@@ -541,8 +541,9 @@ config NVMEM_U_BOOT_ENV
config NVMEM_UNIPHIER_EFUSE
tristate "UniPhier SoCs eFuse support"
- depends on ARCH_UNIPHIER || COMPILE_TEST
+ depends on ARCH_UNIPHIER || ARCH_K3 || COMPILE_TEST
depends on HAS_IOMEM
+ default y if ARCH_K3
help
This is a simple driver to dump specified values of UniPhier SoC
from eFuse.
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v3 2/3] nvmem: uniphier-efuse: Enable for K3 SoCs
2026-09-10 15:55 ` [PATCH v3 2/3] nvmem: uniphier-efuse: Enable for K3 SoCs Judith Mendez
@ 2026-09-10 16:06 ` sashiko-bot
0 siblings, 0 replies; 8+ messages in thread
From: sashiko-bot @ 2026-09-10 16:06 UTC (permalink / raw)
To: Judith Mendez; +Cc: robh, conor+dt, devicetree
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] Kconfig tristate allows module build, violating the "must be builtin" requirement
- [Medium] Initcall ordering mismatch defeats the early probe requirement
--
commit bf414bd455e78f29d0ed967ddc65ad76226003fc
Author: Judith Mendez <jm@ti.com>
nvmem: uniphier-efuse: Enable for K3 SoCs
This commit adds an ARCH_K3 dependency and sets the uniphier-efuse driver to
default to y for K3 architectures. It intends to ensure the driver is built-in
to support early probe of the k3-socinfo driver.
> diff --git a/drivers/nvmem/Kconfig b/drivers/nvmem/Kconfig
> index 283134498fbc3..192e9617ec472 100644
> --- a/drivers/nvmem/Kconfig
> +++ b/drivers/nvmem/Kconfig
> @@ -376,8 +376,9 @@ config NVMEM_U_BOOT_ENV
>
> config NVMEM_UNIPHIER_EFUSE
> tristate "UniPhier SoCs eFuse support"
> - depends on ARCH_UNIPHIER || COMPILE_TEST
> + depends on ARCH_UNIPHIER || ARCH_K3 || COMPILE_TEST
> depends on HAS_IOMEM
> + default y if ARCH_K3
[Severity: Medium]
The commit message states the uniphier-efuse driver must be builtin to support
early probe of k3-socinfo during boot. Does default y actually prevent the
symbol from being configured as a module (m) when ARCH_K3 is selected?
If a user configures NVMEM_UNIPHIER_EFUSE=m, the driver will not be available
during early boot. To enforce a built-in requirement for K3 while allowing
modules on other architectures, should this use a dependency like
depends on !(ARCH_K3 && m)?
[Severity: Medium]
Even if the driver is strictly built-in, will the uniphier-efuse provider probe
early enough for the k3-socinfo consumer?
Looking at how the uniphier-efuse driver is registered:
drivers/nvmem/uniphier-efuse.c:
module_platform_driver(uniphier_efuse_driver);
This expands to device_initcall.
However, the consumer registers earlier:
drivers/soc/ti/k3-socinfo.c:
subsys_initcall(k3_chipinfo_init);
Since device_initcall executes after subsys_initcall when built-in, won't
this force the consumer to defer its probe? Should the uniphier-efuse driver
use an earlier initcall?
> help
> This is a simple driver to dump specified values of UniPhier SoC
> from eFuse.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260910155509.1425682-1-jm@ti.com?part=2
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v3 3/3] nvmem: uniphier-efuse: Add ti,am62p-efuse compatible
2026-09-10 15:55 [PATCH v3 0/3] Support AM62P silicon revision detection via uniphier-efuse Judith Mendez
2026-09-10 15:55 ` [PATCH v3 1/3] dt-bindings: nvmem: uniphier-efuse: Add ti,am62p-efuse compatible Judith Mendez
2026-09-10 15:55 ` [PATCH v3 2/3] nvmem: uniphier-efuse: Enable for K3 SoCs Judith Mendez
@ 2026-09-10 15:55 ` Judith Mendez
2026-09-10 16:04 ` sashiko-bot
2026-09-13 8:57 ` Krzysztof Kozlowski
2 siblings, 2 replies; 8+ messages in thread
From: Judith Mendez @ 2026-09-10 15:55 UTC (permalink / raw)
To: Judith Mendez, Srinivas Kandagatla, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Kunihiko Hayashi,
Masami Hiramatsu
Cc: devicetree, linux-arm-kernel, linux-kernel
Add ti,am62p-efuse compatible to uniphier-efuse. Leverage the
nvmem provider to supply silicon revision information from GP_SW
efuse registers on AM62p device.
Signed-off-by: Judith Mendez <jm@ti.com>
Reviewed-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
---
Changes since v2:
- Add Kunihiko's review tag
---
drivers/nvmem/uniphier-efuse.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/nvmem/uniphier-efuse.c b/drivers/nvmem/uniphier-efuse.c
index 85f9372fb97ca..d0953b99d7e18 100644
--- a/drivers/nvmem/uniphier-efuse.c
+++ b/drivers/nvmem/uniphier-efuse.c
@@ -59,6 +59,7 @@ static int uniphier_efuse_probe(struct platform_device *pdev)
static const struct of_device_id uniphier_efuse_of_match[] = {
{ .compatible = "socionext,uniphier-efuse",},
+ { .compatible = "ti,am62p-efuse",},
{/* sentinel */},
};
MODULE_DEVICE_TABLE(of, uniphier_efuse_of_match);
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH v3 3/3] nvmem: uniphier-efuse: Add ti,am62p-efuse compatible
2026-09-10 15:55 ` [PATCH v3 3/3] nvmem: uniphier-efuse: Add ti,am62p-efuse compatible Judith Mendez
@ 2026-09-10 16:04 ` sashiko-bot
2026-09-13 8:57 ` Krzysztof Kozlowski
1 sibling, 0 replies; 8+ messages in thread
From: sashiko-bot @ 2026-09-10 16:04 UTC (permalink / raw)
To: Judith Mendez; +Cc: devicetree, robh, conor+dt
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Inappropriate reuse of a vendor-specific driver and redundant OF match entry for TI AM62p
--
commit 614c65812039ca53f1d8ede20ca79f433983e7a7
Author: Judith Mendez <jm@ti.com>
nvmem: uniphier-efuse: Add ti,am62p-efuse compatible
This commit adds the ti,am62p-efuse compatible string to the uniphier-efuse
driver to supply silicon revision information for AM62p devices.
> diff --git a/drivers/nvmem/uniphier-efuse.c b/drivers/nvmem/uniphier-efuse.c
> index 6ad3295d31951..35977e1864135 100644
> --- a/drivers/nvmem/uniphier-efuse.c
> +++ b/drivers/nvmem/uniphier-efuse.c
> @@ -60,6 +60,7 @@ static int uniphier_efuse_probe(struct platform_device *pdev)
>
> static const struct of_device_id uniphier_efuse_of_match[] = {
> { .compatible = "socionext,uniphier-efuse",},
> + { .compatible = "ti,am62p-efuse",},
[Severity: Low]
Is this explicit match entry redundant?
The DT bindings require socionext,uniphier-efuse as a fallback for
ti,am62p-efuse. Because of this mandatory fallback, the Linux OF matching
algorithm will already match the device using the existing entry without
needing the TI compatible string in uniphier_efuse_of_match.
Also, does piggybacking onto another vendor's driver create confusing Kconfig
dependencies?
TI platforms would now need to enable NVMEM_UNIPHIER_EFUSE (prompted as
UniPhier SoCs eFuse support), which couples their maintenance and could be
problematic if either vendor IP diverges in the future.
> {/* sentinel */},
> };
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260910155509.1425682-1-jm@ti.com?part=3
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH v3 3/3] nvmem: uniphier-efuse: Add ti,am62p-efuse compatible
2026-09-10 15:55 ` [PATCH v3 3/3] nvmem: uniphier-efuse: Add ti,am62p-efuse compatible Judith Mendez
2026-09-10 16:04 ` sashiko-bot
@ 2026-09-13 8:57 ` Krzysztof Kozlowski
1 sibling, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2026-09-13 8:57 UTC (permalink / raw)
To: Judith Mendez
Cc: Srinivas Kandagatla, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Kunihiko Hayashi, Masami Hiramatsu, devicetree,
linux-arm-kernel, linux-kernel
On Thu, Sep 10, 2026 at 10:55:09AM -0500, Judith Mendez wrote:
> Add ti,am62p-efuse compatible to uniphier-efuse. Leverage the
> nvmem provider to supply silicon revision information from GP_SW
> efuse registers on AM62p device.
>
> Signed-off-by: Judith Mendez <jm@ti.com>
> Reviewed-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
> ---
> Changes since v2:
> - Add Kunihiko's review tag
> ---
> drivers/nvmem/uniphier-efuse.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/nvmem/uniphier-efuse.c b/drivers/nvmem/uniphier-efuse.c
> index 85f9372fb97ca..d0953b99d7e18 100644
> --- a/drivers/nvmem/uniphier-efuse.c
> +++ b/drivers/nvmem/uniphier-efuse.c
> @@ -59,6 +59,7 @@ static int uniphier_efuse_probe(struct platform_device *pdev)
>
> static const struct of_device_id uniphier_efuse_of_match[] = {
> { .compatible = "socionext,uniphier-efuse",},
> + { .compatible = "ti,am62p-efuse",},
Why do you need this change?
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 8+ messages in thread