* [PATCH v2 0/2] soc/tegra: pmc: Add Tegra210B01 support
@ 2026-07-20 6:31 Aaron Kling via B4 Relay
2026-07-20 6:31 ` [PATCH v2 1/2] dt-bindings: soc: tegra: pmc: Document Tegra210B01 Aaron Kling via B4 Relay
2026-07-20 6:31 ` [PATCH v2 2/2] soc/tegra: pmc: Add Tegra210B01 support Aaron Kling via B4 Relay
0 siblings, 2 replies; 7+ messages in thread
From: Aaron Kling via B4 Relay @ 2026-07-20 6:31 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding,
Jonathan Hunter
Cc: Thierry Reding, devicetree, linux-tegra, linux-kernel,
Aaron Kling, Azkali Manad, Thomas Makin
This series adds support for the Tegra210B01 SoC to the Tegra PMC driver
and documents the new compatible.
Signed-off-by: Aaron Kling <webgeek1234@gmail.com>
---
Changes in v2:
- Address sashiko report and drop duplicated structs
- Link to v1: https://lore.kernel.org/r/20260717-t210b01-pmc-v1-0-bf776be8b3a7@gmail.com
---
Aaron Kling (1):
dt-bindings: soc: tegra: pmc: Document Tegra210B01
Azkali Manad (1):
soc/tegra: pmc: Add Tegra210B01 support
.../bindings/soc/tegra/nvidia,tegra20-pmc.yaml | 5 +-
drivers/soc/tegra/pmc.c | 62 ++++++++++++++++++++++
2 files changed, 66 insertions(+), 1 deletion(-)
---
base-commit: 1a1757b76427f6201bfe0bf1bea9f7574f332a93
change-id: 20260713-t210b01-pmc-1a3f8b908044
Best regards,
--
Aaron Kling <webgeek1234@gmail.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 1/2] dt-bindings: soc: tegra: pmc: Document Tegra210B01
2026-07-20 6:31 [PATCH v2 0/2] soc/tegra: pmc: Add Tegra210B01 support Aaron Kling via B4 Relay
@ 2026-07-20 6:31 ` Aaron Kling via B4 Relay
2026-07-20 13:44 ` Rob Herring (Arm)
2026-07-20 6:31 ` [PATCH v2 2/2] soc/tegra: pmc: Add Tegra210B01 support Aaron Kling via B4 Relay
1 sibling, 1 reply; 7+ messages in thread
From: Aaron Kling via B4 Relay @ 2026-07-20 6:31 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding,
Jonathan Hunter
Cc: Thierry Reding, devicetree, linux-tegra, linux-kernel,
Aaron Kling
From: Aaron Kling <webgeek1234@gmail.com>
The PMC in Tegra210B01 is very similar to the one in the original
Tegra210, but has a few powergate differences. Document this soc.
Signed-off-by: Aaron Kling <webgeek1234@gmail.com>
---
Documentation/devicetree/bindings/soc/tegra/nvidia,tegra20-pmc.yaml | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/soc/tegra/nvidia,tegra20-pmc.yaml b/Documentation/devicetree/bindings/soc/tegra/nvidia,tegra20-pmc.yaml
index f516960dbbefb..8ec36c49f9594 100644
--- a/Documentation/devicetree/bindings/soc/tegra/nvidia,tegra20-pmc.yaml
+++ b/Documentation/devicetree/bindings/soc/tegra/nvidia,tegra20-pmc.yaml
@@ -18,6 +18,7 @@ properties:
- nvidia,tegra114-pmc
- nvidia,tegra124-pmc
- nvidia,tegra210-pmc
+ - nvidia,tegra210b01-pmc
reg:
maxItems: 1
@@ -346,7 +347,9 @@ allOf:
properties:
compatible:
contains:
- const: nvidia,tegra210-pmc
+ enum:
+ - nvidia,tegra210-pmc
+ - nvidia,tegra210b01-pmc
then:
properties:
pinmux:
--
2.54.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 2/2] soc/tegra: pmc: Add Tegra210B01 support
2026-07-20 6:31 [PATCH v2 0/2] soc/tegra: pmc: Add Tegra210B01 support Aaron Kling via B4 Relay
2026-07-20 6:31 ` [PATCH v2 1/2] dt-bindings: soc: tegra: pmc: Document Tegra210B01 Aaron Kling via B4 Relay
@ 2026-07-20 6:31 ` Aaron Kling via B4 Relay
2026-07-20 6:45 ` sashiko-bot
2026-07-21 7:22 ` Mikko Perttunen
1 sibling, 2 replies; 7+ messages in thread
From: Aaron Kling via B4 Relay @ 2026-07-20 6:31 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding,
Jonathan Hunter
Cc: Thierry Reding, devicetree, linux-tegra, linux-kernel,
Aaron Kling, Azkali Manad, Thomas Makin
From: Azkali Manad <a.ffcc7@gmail.com>
The PMC in Tegra210B01 is very similar to the one in the original
Tegra210, but has a few powergate differences. Add support for this soc.
Signed-off-by: Azkali Manad <a.ffcc7@gmail.com>
Co-developed-by: Thomas Makin <halorocker89@gmail.com>
Signed-off-by: Thomas Makin <halorocker89@gmail.com>
Co-developed-by: Aaron Kling <webgeek1234@gmail.com>
Signed-off-by: Aaron Kling <webgeek1234@gmail.com>
---
drivers/soc/tegra/pmc.c | 62 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)
diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c
index f419a5395545f..48ae4ff3f00db 100644
--- a/drivers/soc/tegra/pmc.c
+++ b/drivers/soc/tegra/pmc.c
@@ -3897,6 +3897,67 @@ static const struct tegra_pmc_soc tegra210_pmc_soc = {
.has_single_mmio_aperture = true,
};
+static const char * const tegra210b01_powergates[] = {
+ [TEGRA_POWERGATE_CPU] = "crail",
+ [TEGRA_POWERGATE_3D] = "3d",
+ [TEGRA_POWERGATE_PCIE] = "pcie",
+ [TEGRA_POWERGATE_MPE] = "mpe",
+ [TEGRA_POWERGATE_SATA] = "sata",
+ [TEGRA_POWERGATE_CPU1] = "cpu1",
+ [TEGRA_POWERGATE_CPU2] = "cpu2",
+ [TEGRA_POWERGATE_CPU3] = "cpu3",
+ [TEGRA_POWERGATE_CPU0] = "cpu0",
+ [TEGRA_POWERGATE_C0NC] = "c0nc",
+ [TEGRA_POWERGATE_SOR] = "sor",
+ [TEGRA_POWERGATE_DIS] = "dis",
+ [TEGRA_POWERGATE_DISB] = "disb",
+ [TEGRA_POWERGATE_XUSBA] = "xusba",
+ [TEGRA_POWERGATE_XUSBB] = "xusbb",
+ [TEGRA_POWERGATE_XUSBC] = "xusbc",
+ [TEGRA_POWERGATE_VIC] = "vic",
+ [TEGRA_POWERGATE_IRAM] = "iram",
+ [TEGRA_POWERGATE_NVDEC] = "nvdec",
+ [TEGRA_POWERGATE_NVJPG] = "nvjpg",
+ [TEGRA_POWERGATE_AUD] = "aud",
+ [TEGRA_POWERGATE_DFD] = "dfd",
+};
+
+static const struct tegra_pmc_soc tegra210b01_pmc_soc = {
+ .supports_core_domain = false,
+ .num_powergates = ARRAY_SIZE(tegra210b01_powergates),
+ .powergates = tegra210b01_powergates,
+ .num_cpu_powergates = ARRAY_SIZE(tegra210_cpu_powergates),
+ .cpu_powergates = tegra210_cpu_powergates,
+ .has_tsense_reset = true,
+ .has_gpu_clamps = true,
+ .needs_mbist_war = false,
+ .has_io_pad_wren = false,
+ .maybe_tz_only = true,
+ .num_io_pads = ARRAY_SIZE(tegra210_io_pads),
+ .io_pads = tegra210_io_pads,
+ .num_io_pad_vctrls = ARRAY_SIZE(tegra210_io_pad_vctrls),
+ .io_pad_vctrls = tegra210_io_pad_vctrls,
+ .num_pin_descs = ARRAY_SIZE(tegra210_pin_descs),
+ .pin_descs = tegra210_pin_descs,
+ .regs = &tegra20_pmc_regs,
+ .init = tegra20_pmc_init,
+ .setup_irq_polarity = tegra20_pmc_setup_irq_polarity,
+ .powergate_set = tegra114_powergate_set,
+ .irq_set_wake = tegra210_pmc_irq_set_wake,
+ .irq_set_type = tegra210_pmc_irq_set_type,
+ .reset_sources = tegra210_reset_sources,
+ .num_reset_sources = ARRAY_SIZE(tegra210_reset_sources),
+ .reset_levels = NULL,
+ .num_reset_levels = 0,
+ .num_wake_events = ARRAY_SIZE(tegra210_wake_events),
+ .wake_events = tegra210_wake_events,
+ .pmc_clks_data = tegra_pmc_clks_data,
+ .num_pmc_clks = ARRAY_SIZE(tegra_pmc_clks_data),
+ .has_blink_output = true,
+ .has_usb_sleepwalk = true,
+ .has_single_mmio_aperture = true,
+};
+
static const struct tegra_io_pad_soc tegra186_io_pads[] = {
TEGRA_IO_PAD(TEGRA_IO_PAD_CSIA, 0, 0x74, 0x78, "csia"),
TEGRA_IO_PAD(TEGRA_IO_PAD_CSIB, 1, 0x74, 0x78, "csib"),
@@ -4824,6 +4885,7 @@ static const struct of_device_id tegra_pmc_match[] = {
{ .compatible = "nvidia,tegra194-pmc", .data = &tegra194_pmc_soc },
{ .compatible = "nvidia,tegra186-pmc", .data = &tegra186_pmc_soc },
{ .compatible = "nvidia,tegra210-pmc", .data = &tegra210_pmc_soc },
+ { .compatible = "nvidia,tegra210b01-pmc", .data = &tegra210b01_pmc_soc },
{ .compatible = "nvidia,tegra132-pmc", .data = &tegra124_pmc_soc },
{ .compatible = "nvidia,tegra124-pmc", .data = &tegra124_pmc_soc },
{ .compatible = "nvidia,tegra114-pmc", .data = &tegra114_pmc_soc },
--
2.54.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/2] soc/tegra: pmc: Add Tegra210B01 support
2026-07-20 6:31 ` [PATCH v2 2/2] soc/tegra: pmc: Add Tegra210B01 support Aaron Kling via B4 Relay
@ 2026-07-20 6:45 ` sashiko-bot
2026-07-21 7:22 ` Mikko Perttunen
1 sibling, 0 replies; 7+ messages in thread
From: sashiko-bot @ 2026-07-20 6:45 UTC (permalink / raw)
To: Aaron Kling; +Cc: conor+dt, robh, devicetree
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] The PMC driver will fail to probe on Tegra210B01 if the device tree contains legacy or unsupported powergate nodes (such as 'venc' or 've2').
- [Medium] Undocumented behavioral change silently disabling MBIST workarounds and I/O pad write-enables on Tegra210B01.
--
--- Patch [2]: [PATCH v2 2/2] soc/tegra: pmc: Add Tegra210B01 support ---
Note: The format of this review has been altered to provide a free-form summary
of the findings without quoting the original patch code due to recitation
restrictions.
commit c36910d71ccf4e86f0df7aa19d1325b68ba7e824
Author: Azkali Manad <a.ffcc7@gmail.com>
soc/tegra: pmc: Add Tegra210B01 support
The PMC in Tegra210B01 is very similar to the one in the original
Tegra210, but has a few powergate differences. Add support for this soc.
[Severity: High]
Will the PMC driver fail to probe on Tegra210B01 devices that reuse the
standard tegra210.dtsi?
The standard device tree contains venc and ve2 powergate nodes. Since
these are omitted from the new tegra210b01_powergates array,
tegra_powergate_lookup() will return -ENODEV for them.
During initialization, tegra_powergate_init() iterates over all child nodes
using for_each_child_of_node_scoped(). If tegra_powergate_add() returns an
error for any node, the loop breaks and propagates the error, aborting the
entire PMC probe. Could the loop be updated to safely skip unsupported
powergate nodes instead of failing?
[Severity: Medium]
Is it intentional that the mbist workaround and I/O pad write-enables are
disabled for this SoC?
The new tegra210b01_pmc_soc definition sets needs_mbist_war and
has_io_pad_wren to false, which diverges from the base tegra210_pmc_soc
where they are set to true.
The commit message mentions powergate differences, but doesn't mention
disabling these hardware flags. If the B01 hardware stepping resolved these
errata physically, could this be documented in the commit message? Otherwise,
will omitting these flags cause hardware initialization issues?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260720-t210b01-pmc-v2-0-ca5317f8507b@gmail.com?part=2
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: soc: tegra: pmc: Document Tegra210B01
2026-07-20 6:31 ` [PATCH v2 1/2] dt-bindings: soc: tegra: pmc: Document Tegra210B01 Aaron Kling via B4 Relay
@ 2026-07-20 13:44 ` Rob Herring (Arm)
0 siblings, 0 replies; 7+ messages in thread
From: Rob Herring (Arm) @ 2026-07-20 13:44 UTC (permalink / raw)
To: Aaron Kling
Cc: linux-kernel, Krzysztof Kozlowski, Conor Dooley, Thierry Reding,
linux-tegra, Jonathan Hunter, devicetree, Thierry Reding
On Mon, 20 Jul 2026 01:31:15 -0500, Aaron Kling wrote:
> The PMC in Tegra210B01 is very similar to the one in the original
> Tegra210, but has a few powergate differences. Document this soc.
>
> Signed-off-by: Aaron Kling <webgeek1234@gmail.com>
> ---
> Documentation/devicetree/bindings/soc/tegra/nvidia,tegra20-pmc.yaml | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/2] soc/tegra: pmc: Add Tegra210B01 support
2026-07-20 6:31 ` [PATCH v2 2/2] soc/tegra: pmc: Add Tegra210B01 support Aaron Kling via B4 Relay
2026-07-20 6:45 ` sashiko-bot
@ 2026-07-21 7:22 ` Mikko Perttunen
2026-07-21 17:42 ` Aaron Kling
1 sibling, 1 reply; 7+ messages in thread
From: Mikko Perttunen @ 2026-07-21 7:22 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding,
Jonathan Hunter, webgeek1234
Cc: Thierry Reding, devicetree, linux-tegra, linux-kernel,
Aaron Kling, Azkali Manad, Thomas Makin
On Monday, July 20, 2026 3:31 PM Aaron Kling via B4 Relay wrote:
> From: Azkali Manad <a.ffcc7@gmail.com>
>
> The PMC in Tegra210B01 is very similar to the one in the original
> Tegra210, but has a few powergate differences. Add support for this soc.
The tables are a bit difficult to compare directly, so maybe list the
differences between 210 and 210B01 in the commit message.
>
> Signed-off-by: Azkali Manad <a.ffcc7@gmail.com>
> Co-developed-by: Thomas Makin <halorocker89@gmail.com>
> Signed-off-by: Thomas Makin <halorocker89@gmail.com>
> Co-developed-by: Aaron Kling <webgeek1234@gmail.com>
> Signed-off-by: Aaron Kling <webgeek1234@gmail.com>
> ---
> drivers/soc/tegra/pmc.c | 62 +++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 62 insertions(+)
>
> diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c
> index f419a5395545f..48ae4ff3f00db 100644
> --- a/drivers/soc/tegra/pmc.c
> +++ b/drivers/soc/tegra/pmc.c
> @@ -3897,6 +3897,67 @@ static const struct tegra_pmc_soc tegra210_pmc_soc = {
> .has_single_mmio_aperture = true,
> };
>
> +static const char * const tegra210b01_powergates[] = {
> + [TEGRA_POWERGATE_CPU] = "crail",
> + [TEGRA_POWERGATE_3D] = "3d",
> + [TEGRA_POWERGATE_PCIE] = "pcie",
> + [TEGRA_POWERGATE_MPE] = "mpe",
> + [TEGRA_POWERGATE_SATA] = "sata",
T210B01 doesn't have SATA, so this can be removed.
> + [TEGRA_POWERGATE_CPU1] = "cpu1",
> + [TEGRA_POWERGATE_CPU2] = "cpu2",
> + [TEGRA_POWERGATE_CPU3] = "cpu3",
> + [TEGRA_POWERGATE_CPU0] = "cpu0",
> + [TEGRA_POWERGATE_C0NC] = "c0nc",
> + [TEGRA_POWERGATE_SOR] = "sor",
> + [TEGRA_POWERGATE_DIS] = "dis",
> + [TEGRA_POWERGATE_DISB] = "disb",
> + [TEGRA_POWERGATE_XUSBA] = "xusba",
> + [TEGRA_POWERGATE_XUSBB] = "xusbb",
> + [TEGRA_POWERGATE_XUSBC] = "xusbc",
> + [TEGRA_POWERGATE_VIC] = "vic",
> + [TEGRA_POWERGATE_IRAM] = "iram",
> + [TEGRA_POWERGATE_NVDEC] = "nvdec",
> + [TEGRA_POWERGATE_NVJPG] = "nvjpg",
> + [TEGRA_POWERGATE_AUD] = "aud",
> + [TEGRA_POWERGATE_DFD] = "dfd",
> +};
> +
> +static const struct tegra_pmc_soc tegra210b01_pmc_soc = {
> + .supports_core_domain = false,
> + .num_powergates = ARRAY_SIZE(tegra210b01_powergates),
> + .powergates = tegra210b01_powergates,
> + .num_cpu_powergates = ARRAY_SIZE(tegra210_cpu_powergates),
> + .cpu_powergates = tegra210_cpu_powergates,
> + .has_tsense_reset = true,
> + .has_gpu_clamps = true,
> + .needs_mbist_war = false,
> + .has_io_pad_wren = false,
Any particular reason to flip this to false? AFAICT it is still needed
to make PWR_DET_VAL writable as on T210.
(The reset value is already (mostly) fine but seems prudent to write it
anyway)
Thank you!
Mikko
> + .maybe_tz_only = true,
> + .num_io_pads = ARRAY_SIZE(tegra210_io_pads),
> + .io_pads = tegra210_io_pads,
> + .num_io_pad_vctrls = ARRAY_SIZE(tegra210_io_pad_vctrls),
> + .io_pad_vctrls = tegra210_io_pad_vctrls,
> + .num_pin_descs = ARRAY_SIZE(tegra210_pin_descs),
> + .pin_descs = tegra210_pin_descs,
> + .regs = &tegra20_pmc_regs,
> + .init = tegra20_pmc_init,
> + .setup_irq_polarity = tegra20_pmc_setup_irq_polarity,
> + .powergate_set = tegra114_powergate_set,
> + .irq_set_wake = tegra210_pmc_irq_set_wake,
> + .irq_set_type = tegra210_pmc_irq_set_type,
> + .reset_sources = tegra210_reset_sources,
> + .num_reset_sources = ARRAY_SIZE(tegra210_reset_sources),
> + .reset_levels = NULL,
> + .num_reset_levels = 0,
> + .num_wake_events = ARRAY_SIZE(tegra210_wake_events),
> + .wake_events = tegra210_wake_events,
> + .pmc_clks_data = tegra_pmc_clks_data,
> + .num_pmc_clks = ARRAY_SIZE(tegra_pmc_clks_data),
> + .has_blink_output = true,
> + .has_usb_sleepwalk = true,
> + .has_single_mmio_aperture = true,
> +};
> +
> static const struct tegra_io_pad_soc tegra186_io_pads[] = {
> TEGRA_IO_PAD(TEGRA_IO_PAD_CSIA, 0, 0x74, 0x78, "csia"),
> TEGRA_IO_PAD(TEGRA_IO_PAD_CSIB, 1, 0x74, 0x78, "csib"),
> @@ -4824,6 +4885,7 @@ static const struct of_device_id tegra_pmc_match[] = {
> { .compatible = "nvidia,tegra194-pmc", .data = &tegra194_pmc_soc },
> { .compatible = "nvidia,tegra186-pmc", .data = &tegra186_pmc_soc },
> { .compatible = "nvidia,tegra210-pmc", .data = &tegra210_pmc_soc },
> + { .compatible = "nvidia,tegra210b01-pmc", .data = &tegra210b01_pmc_soc },
> { .compatible = "nvidia,tegra132-pmc", .data = &tegra124_pmc_soc },
> { .compatible = "nvidia,tegra124-pmc", .data = &tegra124_pmc_soc },
> { .compatible = "nvidia,tegra114-pmc", .data = &tegra114_pmc_soc },
>
> --
> 2.54.0
>
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/2] soc/tegra: pmc: Add Tegra210B01 support
2026-07-21 7:22 ` Mikko Perttunen
@ 2026-07-21 17:42 ` Aaron Kling
0 siblings, 0 replies; 7+ messages in thread
From: Aaron Kling @ 2026-07-21 17:42 UTC (permalink / raw)
To: Mikko Perttunen
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding,
Jonathan Hunter, Thierry Reding, devicetree, linux-tegra,
linux-kernel, Azkali Manad, Thomas Makin
On Tue, Jul 21, 2026 at 2:22 AM Mikko Perttunen <mperttunen@nvidia.com> wrote:
>
> On Monday, July 20, 2026 3:31 PM Aaron Kling via B4 Relay wrote:
> > From: Azkali Manad <a.ffcc7@gmail.com>
> >
> > The PMC in Tegra210B01 is very similar to the one in the original
> > Tegra210, but has a few powergate differences. Add support for this soc.
>
> The tables are a bit difficult to compare directly, so maybe list the
> differences between 210 and 210B01 in the commit message.
>
> >
> > Signed-off-by: Azkali Manad <a.ffcc7@gmail.com>
> > Co-developed-by: Thomas Makin <halorocker89@gmail.com>
> > Signed-off-by: Thomas Makin <halorocker89@gmail.com>
> > Co-developed-by: Aaron Kling <webgeek1234@gmail.com>
> > Signed-off-by: Aaron Kling <webgeek1234@gmail.com>
> > ---
> > drivers/soc/tegra/pmc.c | 62 +++++++++++++++++++++++++++++++++++++++++++++++++
> > 1 file changed, 62 insertions(+)
> >
> > diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c
> > index f419a5395545f..48ae4ff3f00db 100644
> > --- a/drivers/soc/tegra/pmc.c
> > +++ b/drivers/soc/tegra/pmc.c
> > @@ -3897,6 +3897,67 @@ static const struct tegra_pmc_soc tegra210_pmc_soc = {
> > .has_single_mmio_aperture = true,
> > };
> >
> > +static const char * const tegra210b01_powergates[] = {
> > + [TEGRA_POWERGATE_CPU] = "crail",
> > + [TEGRA_POWERGATE_3D] = "3d",
> > + [TEGRA_POWERGATE_PCIE] = "pcie",
> > + [TEGRA_POWERGATE_MPE] = "mpe",
> > + [TEGRA_POWERGATE_SATA] = "sata",
>
> T210B01 doesn't have SATA, so this can be removed.
Ack
> > + [TEGRA_POWERGATE_CPU1] = "cpu1",
> > + [TEGRA_POWERGATE_CPU2] = "cpu2",
> > + [TEGRA_POWERGATE_CPU3] = "cpu3",
> > + [TEGRA_POWERGATE_CPU0] = "cpu0",
> > + [TEGRA_POWERGATE_C0NC] = "c0nc",
> > + [TEGRA_POWERGATE_SOR] = "sor",
> > + [TEGRA_POWERGATE_DIS] = "dis",
> > + [TEGRA_POWERGATE_DISB] = "disb",
> > + [TEGRA_POWERGATE_XUSBA] = "xusba",
> > + [TEGRA_POWERGATE_XUSBB] = "xusbb",
> > + [TEGRA_POWERGATE_XUSBC] = "xusbc",
> > + [TEGRA_POWERGATE_VIC] = "vic",
> > + [TEGRA_POWERGATE_IRAM] = "iram",
> > + [TEGRA_POWERGATE_NVDEC] = "nvdec",
> > + [TEGRA_POWERGATE_NVJPG] = "nvjpg",
> > + [TEGRA_POWERGATE_AUD] = "aud",
> > + [TEGRA_POWERGATE_DFD] = "dfd",
> > +};
> > +
> > +static const struct tegra_pmc_soc tegra210b01_pmc_soc = {
> > + .supports_core_domain = false,
> > + .num_powergates = ARRAY_SIZE(tegra210b01_powergates),
> > + .powergates = tegra210b01_powergates,
> > + .num_cpu_powergates = ARRAY_SIZE(tegra210_cpu_powergates),
> > + .cpu_powergates = tegra210_cpu_powergates,
> > + .has_tsense_reset = true,
> > + .has_gpu_clamps = true,
> > + .needs_mbist_war = false,
> > + .has_io_pad_wren = false,
>
> Any particular reason to flip this to false? AFAICT it is still needed
> to make PWR_DET_VAL writable as on T210.
>
> (The reset value is already (mostly) fine but seems prudent to write it
> anyway)
Ah, it looks like I missed that d4f0c189945c74 inverted the value
along with the rename. Will fix.
> Thank you!
> Mikko
>
> > + .maybe_tz_only = true,
> > + .num_io_pads = ARRAY_SIZE(tegra210_io_pads),
> > + .io_pads = tegra210_io_pads,
> > + .num_io_pad_vctrls = ARRAY_SIZE(tegra210_io_pad_vctrls),
> > + .io_pad_vctrls = tegra210_io_pad_vctrls,
> > + .num_pin_descs = ARRAY_SIZE(tegra210_pin_descs),
> > + .pin_descs = tegra210_pin_descs,
> > + .regs = &tegra20_pmc_regs,
> > + .init = tegra20_pmc_init,
> > + .setup_irq_polarity = tegra20_pmc_setup_irq_polarity,
> > + .powergate_set = tegra114_powergate_set,
> > + .irq_set_wake = tegra210_pmc_irq_set_wake,
> > + .irq_set_type = tegra210_pmc_irq_set_type,
> > + .reset_sources = tegra210_reset_sources,
> > + .num_reset_sources = ARRAY_SIZE(tegra210_reset_sources),
> > + .reset_levels = NULL,
> > + .num_reset_levels = 0,
> > + .num_wake_events = ARRAY_SIZE(tegra210_wake_events),
> > + .wake_events = tegra210_wake_events,
> > + .pmc_clks_data = tegra_pmc_clks_data,
> > + .num_pmc_clks = ARRAY_SIZE(tegra_pmc_clks_data),
> > + .has_blink_output = true,
> > + .has_usb_sleepwalk = true,
> > + .has_single_mmio_aperture = true,
> > +};
> > +
> > static const struct tegra_io_pad_soc tegra186_io_pads[] = {
> > TEGRA_IO_PAD(TEGRA_IO_PAD_CSIA, 0, 0x74, 0x78, "csia"),
> > TEGRA_IO_PAD(TEGRA_IO_PAD_CSIB, 1, 0x74, 0x78, "csib"),
> > @@ -4824,6 +4885,7 @@ static const struct of_device_id tegra_pmc_match[] = {
> > { .compatible = "nvidia,tegra194-pmc", .data = &tegra194_pmc_soc },
> > { .compatible = "nvidia,tegra186-pmc", .data = &tegra186_pmc_soc },
> > { .compatible = "nvidia,tegra210-pmc", .data = &tegra210_pmc_soc },
> > + { .compatible = "nvidia,tegra210b01-pmc", .data = &tegra210b01_pmc_soc },
> > { .compatible = "nvidia,tegra132-pmc", .data = &tegra124_pmc_soc },
> > { .compatible = "nvidia,tegra124-pmc", .data = &tegra124_pmc_soc },
> > { .compatible = "nvidia,tegra114-pmc", .data = &tegra114_pmc_soc },
> >
> > --
> > 2.54.0
> >
> >
> >
Aaron
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-07-21 17:42 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-20 6:31 [PATCH v2 0/2] soc/tegra: pmc: Add Tegra210B01 support Aaron Kling via B4 Relay
2026-07-20 6:31 ` [PATCH v2 1/2] dt-bindings: soc: tegra: pmc: Document Tegra210B01 Aaron Kling via B4 Relay
2026-07-20 13:44 ` Rob Herring (Arm)
2026-07-20 6:31 ` [PATCH v2 2/2] soc/tegra: pmc: Add Tegra210B01 support Aaron Kling via B4 Relay
2026-07-20 6:45 ` sashiko-bot
2026-07-21 7:22 ` Mikko Perttunen
2026-07-21 17:42 ` Aaron Kling
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox