Devicetree
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Add Lenovo ThinkEdge SE70 carrier board support
@ 2026-06-30  9:17 Jiqi Li
  2026-06-30  9:17 ` [PATCH 1/2] dt-bindings: arm: tegra: Add lenovo,thinkedge-se70 compatible string Jiqi Li
  2026-06-30  9:17 ` [PATCH 2/2] arm64: tegra: Add Lenovo ThinkEdge SE70 device tree Jiqi Li
  0 siblings, 2 replies; 13+ messages in thread
From: Jiqi Li @ 2026-06-30  9:17 UTC (permalink / raw)
  To: linux-tegra
  Cc: devicetree, robh+dt, krzk+dt, conor+dt, mperttunen, jonathanh,
	thierry.reding, mpearson-lenovo, Jiqi Li

This patch set introduces device tree binding and standalone DTS file
for Lenovo ThinkEdge SE70, a fanless industrial edge gateway powered by
the NVIDIA Jetson Xavier NX module (P3668-0001) on a custom carrier board.

Patch 1 updates tegra.yaml bindings to add the three-stage compatible
string matching board + SOM + SoC, following the existing Tegra
carrier board convention.

Patch 2 adds the complete carrier board device tree, including:
- 40-pin expansion header pinmux configuration
- External Micro SD card slot with dedicated 3.3V regulator
- I2C bus for 40-pin header

All static device tree checks pass: dtbs compile and dt_binding_check
complete without errors.

Jiqi Li (2):
  dt-bindings: arm: tegra: Add lenovo,thinkedge-se70 compatible string
  arm64: tegra: Add Lenovo ThinkEdge SE70 device tree

 .../devicetree/bindings/arm/tegra.yaml        |   5 +
 arch/arm64/boot/dts/nvidia/Makefile           |   1 +
 ...ra194-lenovo-thinkedge-se70-baseboard.dtsi | 103 ++++++++++++++++++
 .../nvidia/tegra194-lenovo-thinkedge-se70.dts |  14 +++
 4 files changed, 123 insertions(+)
 create mode 100644 arch/arm64/boot/dts/nvidia/tegra194-lenovo-thinkedge-se70-baseboard.dtsi
 create mode 100644 arch/arm64/boot/dts/nvidia/tegra194-lenovo-thinkedge-se70.dts

-- 
2.43.0


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

* [PATCH 1/2] dt-bindings: arm: tegra: Add lenovo,thinkedge-se70 compatible string
  2026-06-30  9:17 [PATCH v2 0/2] Add Lenovo ThinkEdge SE70 carrier board support Jiqi Li
@ 2026-06-30  9:17 ` Jiqi Li
  2026-06-30  9:17 ` [PATCH 2/2] arm64: tegra: Add Lenovo ThinkEdge SE70 device tree Jiqi Li
  1 sibling, 0 replies; 13+ messages in thread
From: Jiqi Li @ 2026-06-30  9:17 UTC (permalink / raw)
  To: linux-tegra
  Cc: devicetree, robh+dt, krzk+dt, conor+dt, mperttunen, jonathanh,
	thierry.reding, mpearson-lenovo, Jiqi Li, Conor Dooley

Lenovo ThinkEdge SE70 is a fanless industrial edge gateway carrier
board based on NVIDIA Tegra194 (Xavier NX) SOM.
Add the corresponding compatible string for device tree validation.

Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Jiqi Li <lijq9@lenovo.com>
---
Changes in v2:
- No further modifications, adds Conor's Acked-by tag
---
 Documentation/devicetree/bindings/arm/tegra.yaml | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/tegra.yaml b/Documentation/devicetree/bindings/arm/tegra.yaml
index 033a63f6c068..a54d0024e636 100644
--- a/Documentation/devicetree/bindings/arm/tegra.yaml
+++ b/Documentation/devicetree/bindings/arm/tegra.yaml
@@ -268,6 +268,11 @@ properties:
         items:
           - const: nvidia,p3509-0000+p3668-0001
           - const: nvidia,tegra194
+      - description: Lenovo ThinkEdge SE70
+        items:
+          - const: lenovo,thinkedge-se70
+          - const: nvidia,p3668-0001
+          - const: nvidia,tegra194
       - items:
           - const: nvidia,tegra234-vdk
           - const: nvidia,tegra234
-- 
2.43.0


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

* [PATCH 2/2] arm64: tegra: Add Lenovo ThinkEdge SE70 device tree
  2026-06-30  9:17 [PATCH v2 0/2] Add Lenovo ThinkEdge SE70 carrier board support Jiqi Li
  2026-06-30  9:17 ` [PATCH 1/2] dt-bindings: arm: tegra: Add lenovo,thinkedge-se70 compatible string Jiqi Li
@ 2026-06-30  9:17 ` Jiqi Li
  2026-06-30 10:02   ` Krzysztof Kozlowski
  1 sibling, 1 reply; 13+ messages in thread
From: Jiqi Li @ 2026-06-30  9:17 UTC (permalink / raw)
  To: linux-tegra
  Cc: devicetree, robh+dt, krzk+dt, conor+dt, mperttunen, jonathanh,
	thierry.reding, mpearson-lenovo, Jiqi Li

Add initial device tree support for the Lenovo ThinkEdge SE70, an
industrial edge gateway based on the NVIDIA Jetson Xavier NX module
(P3668-0001) with a custom carrier board.

This initial submission includes:
- 40-pin expansion header pinmux configuration
- External Micro SD card slot with dedicated 3.3V regulator
- I2C bus for 40-pin header

Static verification passed: dt_binding_check and dtbs compilation
complete without errors.

Signed-off-by: Jiqi Li <lijq9@lenovo.com>
---
Changes in v2:
- Remove unused input-related headers from baseboard DTSI
---
 arch/arm64/boot/dts/nvidia/Makefile           |   1 +
 ...ra194-lenovo-thinkedge-se70-baseboard.dtsi | 103 ++++++++++++++++++
 .../nvidia/tegra194-lenovo-thinkedge-se70.dts |  14 +++
 3 files changed, 118 insertions(+)
 create mode 100644 arch/arm64/boot/dts/nvidia/tegra194-lenovo-thinkedge-se70-baseboard.dtsi
 create mode 100644 arch/arm64/boot/dts/nvidia/tegra194-lenovo-thinkedge-se70.dts

diff --git a/arch/arm64/boot/dts/nvidia/Makefile b/arch/arm64/boot/dts/nvidia/Makefile
index 72c0cb5efa47..736a3f8a923f 100644
--- a/arch/arm64/boot/dts/nvidia/Makefile
+++ b/arch/arm64/boot/dts/nvidia/Makefile
@@ -29,6 +29,7 @@ dtb-$(CONFIG_ARCH_TEGRA_186_SOC) += tegra186-p3509-0000+p3636-0001.dtb
 dtb-$(CONFIG_ARCH_TEGRA_194_SOC) += tegra194-p2972-0000.dtb
 dtb-$(CONFIG_ARCH_TEGRA_194_SOC) += tegra194-p3509-0000+p3668-0000.dtb
 dtb-$(CONFIG_ARCH_TEGRA_194_SOC) += tegra194-p3509-0000+p3668-0001.dtb
+dtb-$(CONFIG_ARCH_TEGRA_194_SOC) += tegra194-lenovo-thinkedge-se70.dtb
 dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-sim-vdk.dtb
 dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-p3737-0000+p3701-0000.dtb
 dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-p3737-0000+p3701-0008.dtb
diff --git a/arch/arm64/boot/dts/nvidia/tegra194-lenovo-thinkedge-se70-baseboard.dtsi b/arch/arm64/boot/dts/nvidia/tegra194-lenovo-thinkedge-se70-baseboard.dtsi
new file mode 100644
index 000000000000..d0f33384c1f8
--- /dev/null
+++ b/arch/arm64/boot/dts/nvidia/tegra194-lenovo-thinkedge-se70-baseboard.dtsi
@@ -0,0 +1,103 @@
+// SPDX-License-Identifier: GPL-2.0
+
+#include <dt-bindings/gpio/tegra194-gpio.h>
+
+/ {
+	vdd_5v0_sys: regulator-vdd-5v0-sys {
+		compatible = "regulator-fixed";
+		regulator-name = "VDD_5V_SYS";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		regulator-always-on;
+		regulator-boot-on;
+	};
+
+	/* Fixed 3.3V power supply regulator for external Micro SD slot */
+	vdd_3v3_sd: regulator-sd-3v3 {
+		compatible = "regulator-fixed";
+		regulator-name = "VDD_3V3_SD";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		gpio = <&gpio TEGRA194_MAIN_GPIO(Q, 5) GPIO_ACTIVE_HIGH>;
+		regulator-boot-on;
+		enable-active-high;
+	};
+
+	bus@0 {
+		/* 40-pin expansion header custom pinmux configuration */
+		pinmux@2430000 {
+			status = "okay";
+			pinctrl-names = "default";
+			pinctrl-0 = <&pinmux_hdr40>;
+
+			pinmux_hdr40: pinmux-hdr40 {
+				pin7 {
+					nvidia,pins = "aud_mclk_ps4";
+					nvidia,function = "aud";
+					nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+					nvidia,tristate = <TEGRA_PIN_DISABLE>;
+					nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+				};
+				pin11 {
+					nvidia,pins = "uart1_rts_pr4";
+					nvidia,function = "uarta";
+					nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+					nvidia,tristate = <TEGRA_PIN_DISABLE>;
+					nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+				};
+				pin12 {
+					nvidia,pins = "dap5_sclk_pt5";
+					nvidia,function = "i2s5";
+					nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
+					nvidia,tristate = <TEGRA_PIN_DISABLE>;
+					nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+				};
+				pin35 {
+					nvidia,pins = "dap5_fs_pu0";
+					nvidia,function = "i2s5";
+					nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
+					nvidia,tristate = <TEGRA_PIN_DISABLE>;
+					nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+				};
+				pin36 {
+					nvidia,pins = "uart1_cts_pr5";
+					nvidia,function = "uarta";
+					nvidia,pull = <TEGRA_PIN_PULL_UP>;
+					nvidia,tristate = <TEGRA_PIN_ENABLE>;
+					nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+				};
+				pin38 {
+					nvidia,pins = "dap5_din_pt7";
+					nvidia,function = "i2s5";
+					nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
+					nvidia,tristate = <TEGRA_PIN_ENABLE>;
+					nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+				};
+				pin40 {
+					nvidia,pins = "dap5_dout_pt6";
+					nvidia,function = "i2s5";
+					nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
+					nvidia,tristate = <TEGRA_PIN_DISABLE>;
+					nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+				};
+			};
+		};
+
+		/* Configure i2c bus clock to 400kHz for carrier board peripherals */
+		i2c@3160000 {
+			clock-frequency = <400000>;
+			status = "okay";
+		};
+
+		/* SDMMC3: External Micro SD card slot */
+		mmc@3440000 {
+			bus-width = <4>;
+			cd-gpios = <&gpio_aon TEGRA194_AON_GPIO(CC, 4) GPIO_ACTIVE_LOW>;
+			disable-wp;
+			no-1-8-v;
+			vmmc-supply = <&vdd_3v3_sd>;
+			status = "okay";
+		};
+
+	};
+};
diff --git a/arch/arm64/boot/dts/nvidia/tegra194-lenovo-thinkedge-se70.dts b/arch/arm64/boot/dts/nvidia/tegra194-lenovo-thinkedge-se70.dts
new file mode 100644
index 000000000000..a8de685f05ef
--- /dev/null
+++ b/arch/arm64/boot/dts/nvidia/tegra194-lenovo-thinkedge-se70.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+
+#include "tegra194-p3668-0001.dtsi"
+#include "tegra194-lenovo-thinkedge-se70-baseboard.dtsi"
+
+/ {
+	model = "Lenovo ThinkEdge SE70";
+	compatible = "lenovo,thinkedge-se70", "nvidia,p3668-0001", "nvidia,tegra194";
+
+	chosen {
+		bootargs = "console=ttyTCU0,115200";
+	};
+};
-- 
2.43.0


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

* Re: [PATCH 2/2] arm64: tegra: Add Lenovo ThinkEdge SE70 device tree
  2026-06-30  9:17 ` [PATCH 2/2] arm64: tegra: Add Lenovo ThinkEdge SE70 device tree Jiqi Li
@ 2026-06-30 10:02   ` Krzysztof Kozlowski
  2026-06-30 11:04     ` [External] " Jiqi JQ9 Li
  0 siblings, 1 reply; 13+ messages in thread
From: Krzysztof Kozlowski @ 2026-06-30 10:02 UTC (permalink / raw)
  To: Jiqi Li, linux-tegra
  Cc: devicetree, robh+dt, krzk+dt, conor+dt, mperttunen, jonathanh,
	thierry.reding, mpearson-lenovo

On 30/06/2026 11:17, Jiqi Li wrote:
> Add initial device tree support for the Lenovo ThinkEdge SE70, an
> industrial edge gateway based on the NVIDIA Jetson Xavier NX module
> (P3668-0001) with a custom carrier board.
> 
> This initial submission includes:
> - 40-pin expansion header pinmux configuration
> - External Micro SD card slot with dedicated 3.3V regulator
> - I2C bus for 40-pin header
> 
> Static verification passed: dt_binding_check and dtbs compilation
> complete without errors.
> 
> Signed-off-by: Jiqi Li <lijq9@lenovo.com>
> ---
> Changes in v2:
> - Remove unused input-related headers from baseboard DTSI
> ---
>  arch/arm64/boot/dts/nvidia/Makefile           |   1 +
>  ...ra194-lenovo-thinkedge-se70-baseboard.dtsi | 103 ++++++++++++++++++
>  .../nvidia/tegra194-lenovo-thinkedge-se70.dts |  14 +++
>  3 files changed, 118 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/nvidia/tegra194-lenovo-thinkedge-se70-baseboard.dtsi

What is the "baseboard"? You do not have compatible for SoM, so se70
feels like final baseboard. Also commit msg says that se70 is the final
carrier board, so a DTSI for non-existing hardware feels confusing.

...

> +};
> diff --git a/arch/arm64/boot/dts/nvidia/tegra194-lenovo-thinkedge-se70.dts b/arch/arm64/boot/dts/nvidia/tegra194-lenovo-thinkedge-se70.dts
> new file mode 100644
> index 000000000000..a8de685f05ef
> --- /dev/null
> +++ b/arch/arm64/boot/dts/nvidia/tegra194-lenovo-thinkedge-se70.dts
> @@ -0,0 +1,14 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/dts-v1/;
> +
> +#include "tegra194-p3668-0001.dtsi"
> +#include "tegra194-lenovo-thinkedge-se70-baseboard.dtsi"
> +
> +/ {
> +	model = "Lenovo ThinkEdge SE70";
> +	compatible = "lenovo,thinkedge-se70", "nvidia,p3668-0001", "nvidia,tegra194";
> +
> +	chosen {
> +		bootargs = "console=ttyTCU0,115200";


Why do you need bootargs? stdout property does not work?

Best regards,
Krzysztof

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

* Re: [External] Re: [PATCH 2/2] arm64: tegra: Add Lenovo ThinkEdge SE70 device tree
  2026-06-30 10:02   ` Krzysztof Kozlowski
@ 2026-06-30 11:04     ` Jiqi JQ9 Li
  2026-06-30 11:11       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 13+ messages in thread
From: Jiqi JQ9 Li @ 2026-06-30 11:04 UTC (permalink / raw)
  To: Krzysztof Kozlowski, linux-tegra@vger.kernel.org
  Cc: devicetree@vger.kernel.org, robh+dt@kernel.org,
	krzk+dt@kernel.org, conor+dt@kernel.org, mperttunen@nvidia.com,
	jonathanh@nvidia.com, thierry.reding@gmail.com,
	mpearson-lenovo@squebb.ca

>> Add initial device tree support for the Lenovo ThinkEdge SE70, an
>> industrial edge gateway based on the NVIDIA Jetson Xavier NX module
>> (P3668-0001) with a custom carrier board.
>>
>> This initial submission includes:
>> - 40-pin expansion header pinmux configuration
>> - External Micro SD card slot with dedicated 3.3V regulator
>> - I2C bus for 40-pin header
>>
>> Static verification passed: dt_binding_check and dtbs compilation
>> complete without errors.
>>
>> Signed-off-by: Jiqi Li <lijq9@lenovo.com>
>> ---
>> Changes in v2:
>> - Remove unused input-related headers from baseboard DTSI
>> ---
>>  arch/arm64/boot/dts/nvidia/Makefile           |   1 +
>>  ...ra194-lenovo-thinkedge-se70-baseboard.dtsi | 103 ++++++++++++++++++
>>  .../nvidia/tegra194-lenovo-thinkedge-se70.dts |  14 +++
>>  3 files changed, 118 insertions(+)
>>  create mode 100644 arch/arm64/boot/dts/nvidia/tegra194-lenovo-thinkedge-se70-baseboard.dtsi
>
>What is the "baseboard"? You do not have compatible for SoM, so se70
>feels like final baseboard. Also commit msg says that se70 is the final
>carrier board, so a DTSI for non-existing hardware feels confusing.

Hi Krzysztof,

Thank you for your review.

Regarding the "baseboard" DTSI file – you're right.
Following Mikko's earlier suggestion, I initially split the
carrier board description into a separate DTSI to avoid
inheriting from the NVIDIA P3509 reference board. However,
since the SE70 is a complete carrier board product with no
separate hardware module, the split isn't necessary. I'll
merge the content into the main DTS file in v3 and drop the
baseboard DTSI.

>...
>
>> +};
>> diff --git a/arch/arm64/boot/dts/nvidia/tegra194-lenovo-thinkedge-se70.dts b/arch/arm64/boot/dts/nvidia/tegra194-lenovo-thinkedge->se70.dts
>> new file mode 100644
>> index 000000000000..a8de685f05ef
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/nvidia/tegra194-lenovo-thinkedge-se70.dts
>> @@ -0,0 +1,14 @@
>> +// SPDX-License-Identifier: GPL-2.0
>> +/dts-v1/;
>> +
>> +#include "tegra194-p3668-0001.dtsi"
>> +#include "tegra194-lenovo-thinkedge-se70-baseboard.dtsi"
>> +
>> +/ {
>> +     model = "Lenovo ThinkEdge SE70";
>> +     compatible = "lenovo,thinkedge-se70", "nvidia,p3668-0001", "nvidia,tegra194";
>> +
>> +     chosen {
>> +             bootargs = "console=ttyTCU0,115200";
>
>
>Why do you need bootargs? stdout property does not work?
>
>Best regards,
>Krzysztof

Regarding bootargs – I checked tegra194-p3668.dtsi (which
is included by tegra194-p3668-0001.dtsi) and it already
defines the chosen node. Following the NVIDIA reference
(e.g., tegra194-p2888.dtsi), I'll define it in the main DTS:

chosen {
    bootargs = "console=ttyTCU0,115200";
    stdout-path = "serial0:115200n8";
};

This ensures compatibility while aligning with the existing
Tegra device tree convention.

I'll send v3 with these changes later.

Best regards,
Jiqi Li

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

* Re: [External] Re: [PATCH 2/2] arm64: tegra: Add Lenovo ThinkEdge SE70 device tree
  2026-06-30 11:04     ` [External] " Jiqi JQ9 Li
@ 2026-06-30 11:11       ` Krzysztof Kozlowski
  2026-06-30 11:17         ` Jiqi JQ9 Li
  2026-07-07  7:13         ` Jiqi JQ9 Li
  0 siblings, 2 replies; 13+ messages in thread
From: Krzysztof Kozlowski @ 2026-06-30 11:11 UTC (permalink / raw)
  To: Jiqi JQ9 Li, linux-tegra@vger.kernel.org
  Cc: devicetree@vger.kernel.org, robh+dt@kernel.org,
	krzk+dt@kernel.org, conor+dt@kernel.org, mperttunen@nvidia.com,
	jonathanh@nvidia.com, thierry.reding@gmail.com,
	mpearson-lenovo@squebb.ca

On 30/06/2026 13:04, Jiqi JQ9 Li wrote:
>>
>> Why do you need bootargs? stdout property does not work?
>>
>> Best regards,
>> Krzysztof
> 
> Regarding bootargs – I checked tegra194-p3668.dtsi (which
> is included by tegra194-p3668-0001.dtsi) and it already
> defines the chosen node. Following the NVIDIA reference
> (e.g., tegra194-p2888.dtsi), I'll define it in the main DTS:
> 
> chosen {
>     bootargs = "console=ttyTCU0,115200";
>     stdout-path = "serial0:115200n8";

No, you only need stdout-path. Drop the bootargs.

> };
> 
> This ensures compatibility while aligning with the existing
> Tegra device tree convention.

There is no such thing as compatibility with convention.

Every modern upstream DTS uses stdout-path, not bootargs.

Best regards,
Krzysztof

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

* Re: [External] Re: [PATCH 2/2] arm64: tegra: Add Lenovo ThinkEdge SE70 device tree
  2026-06-30 11:11       ` Krzysztof Kozlowski
@ 2026-06-30 11:17         ` Jiqi JQ9 Li
  2026-07-07  7:13         ` Jiqi JQ9 Li
  1 sibling, 0 replies; 13+ messages in thread
From: Jiqi JQ9 Li @ 2026-06-30 11:17 UTC (permalink / raw)
  To: Krzysztof Kozlowski, linux-tegra@vger.kernel.org
  Cc: devicetree@vger.kernel.org, robh+dt@kernel.org,
	krzk+dt@kernel.org, conor+dt@kernel.org, mperttunen@nvidia.com,
	jonathanh@nvidia.com, thierry.reding@gmail.com,
	mpearson-lenovo@squebb.ca

>>>
>>> Why do you need bootargs? stdout property does not work?
>>>
>>> Best regards,
>>> Krzysztof
>>
>> Regarding bootargs – I checked tegra194-p3668.dtsi (which
>> is included by tegra194-p3668-0001.dtsi) and it already
>> defines the chosen node. Following the NVIDIA reference
>> (e.g., tegra194-p2888.dtsi), I'll define it in the main DTS:
>>
>> chosen {
>>     bootargs = "console=ttyTCU0,115200";
>>     stdout-path = "serial0:115200n8";

>No, you only need stdout-path. Drop the bootargs.
>
>> };
>>
>> This ensures compatibility while aligning with the existing
>> Tegra device tree convention.
>
>There is no such thing as compatibility with convention.
>
>Every modern upstream DTS uses stdout-path, not bootargs.
>
>Best regards,
>Krzysztof

Hi Krzysztof,

Thank you for the clarification.
I'll drop bootargs and only use stdout-path in v3:

chosen {
    stdout-path = "serial0:115200n8";
};

I'll send v3 with this change along with merging the baseboard
content into the main DTS.

Best regards,
Jiqi Li

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

* Re: [External] Re: [PATCH 2/2] arm64: tegra: Add Lenovo ThinkEdge SE70 device tree
  2026-06-30 11:11       ` Krzysztof Kozlowski
  2026-06-30 11:17         ` Jiqi JQ9 Li
@ 2026-07-07  7:13         ` Jiqi JQ9 Li
  2026-07-07  8:04           ` Krzysztof Kozlowski
  1 sibling, 1 reply; 13+ messages in thread
From: Jiqi JQ9 Li @ 2026-07-07  7:13 UTC (permalink / raw)
  To: Krzysztof Kozlowski, linux-tegra@vger.kernel.org
  Cc: devicetree@vger.kernel.org, robh+dt@kernel.org,
	krzk+dt@kernel.org, conor+dt@kernel.org, mperttunen@nvidia.com,
	jonathanh@nvidia.com, thierry.reding@gmail.com,
	mpearson-lenovo@squebb.ca

>>>
>>> Why do you need bootargs? stdout property does not work?
>>>
>>> Best regards,
>>> Krzysztof
>>
>> Regarding bootargs – I checked tegra194-p3668.dtsi (which
>> is included by tegra194-p3668-0001.dtsi) and it already
>> defines the chosen node. Following the NVIDIA reference
>> (e.g., tegra194-p2888.dtsi), I'll define it in the main DTS:
>>
>> chosen {
>>     bootargs = "console=ttyTCU0,115200";
>>     stdout-path = "serial0:115200n8";
>
>No, you only need stdout-path. Drop the bootargs.
>
>> };
>>
>> This ensures compatibility while aligning with the existing
>> Tegra device tree convention.
>
>There is no such thing as compatibility with convention.
>
>Every modern upstream DTS uses stdout-path, not bootargs.
>
>Best regards,
>Krzysztof

Hi Krzysztof,

Just a gentle ping on this series. The v3 patches were applied to the
CI baseline last week and have been waiting for review.

Could you please take a look when you have a moment? 

Best regards,
Jiqi Li

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

* Re: [External] Re: [PATCH 2/2] arm64: tegra: Add Lenovo ThinkEdge SE70 device tree
  2026-07-07  7:13         ` Jiqi JQ9 Li
@ 2026-07-07  8:04           ` Krzysztof Kozlowski
  2026-07-07  8:21             ` Jiqi JQ9 Li
  0 siblings, 1 reply; 13+ messages in thread
From: Krzysztof Kozlowski @ 2026-07-07  8:04 UTC (permalink / raw)
  To: Jiqi JQ9 Li, linux-tegra@vger.kernel.org
  Cc: devicetree@vger.kernel.org, robh+dt@kernel.org,
	krzk+dt@kernel.org, conor+dt@kernel.org, mperttunen@nvidia.com,
	jonathanh@nvidia.com, thierry.reding@gmail.com,
	mpearson-lenovo@squebb.ca

On 07/07/2026 09:13, Jiqi JQ9 Li wrote:
>>>>
>>>> Why do you need bootargs? stdout property does not work?
>>>>
>>>> Best regards,
>>>> Krzysztof
>>>
>>> Regarding bootargs – I checked tegra194-p3668.dtsi (which
>>> is included by tegra194-p3668-0001.dtsi) and it already
>>> defines the chosen node. Following the NVIDIA reference
>>> (e.g., tegra194-p2888.dtsi), I'll define it in the main DTS:
>>>
>>> chosen {
>>>     bootargs = "console=ttyTCU0,115200";
>>>     stdout-path = "serial0:115200n8";
>>
>> No, you only need stdout-path. Drop the bootargs.
>>
>>> };
>>>
>>> This ensures compatibility while aligning with the existing
>>> Tegra device tree convention.
>>
>> There is no such thing as compatibility with convention.
>>
>> Every modern upstream DTS uses stdout-path, not bootargs.
>>
>> Best regards,
>> Krzysztof
> 
> Hi Krzysztof,
> 
> Just a gentle ping on this series. The v3 patches were applied to the
> CI baseline last week and have been waiting for review.
> 

You received comments here, implement them please.

Best regards,
Krzysztof

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

* Re: [External] Re: [PATCH 2/2] arm64: tegra: Add Lenovo ThinkEdge SE70 device tree
  2026-07-07  8:04           ` Krzysztof Kozlowski
@ 2026-07-07  8:21             ` Jiqi JQ9 Li
  2026-07-07  8:25               ` Krzysztof Kozlowski
  0 siblings, 1 reply; 13+ messages in thread
From: Jiqi JQ9 Li @ 2026-07-07  8:21 UTC (permalink / raw)
  To: Krzysztof Kozlowski, linux-tegra@vger.kernel.org
  Cc: devicetree@vger.kernel.org, robh+dt@kernel.org,
	krzk+dt@kernel.org, conor+dt@kernel.org, mperttunen@nvidia.com,
	jonathanh@nvidia.com, thierry.reding@gmail.com,
	mpearson-lenovo@squebb.ca

>>>>>
>>>>> Why do you need bootargs? stdout property does not work?
>>>>>
>>>>> Best regards,
>>>>> Krzysztof
>>>>
>>>> Regarding bootargs – I checked tegra194-p3668.dtsi (which
>>>> is included by tegra194-p3668-0001.dtsi) and it already
>>>> defines the chosen node. Following the NVIDIA reference
>>>> (e.g., tegra194-p2888.dtsi), I'll define it in the main DTS:
>>>>
>>>> chosen {
>>>>     bootargs = "console=ttyTCU0,115200";
>>>>     stdout-path = "serial0:115200n8";
>>>
>>> No, you only need stdout-path. Drop the bootargs.
>>>
>>>> };
>>>>
>>>> This ensures compatibility while aligning with the existing
>>>> Tegra device tree convention.
>>>
>>> There is no such thing as compatibility with convention.
>>>
>>> Every modern upstream DTS uses stdout-path, not bootargs.
>>>
>>> Best regards,
>>> Krzysztof
>>
>> Hi Krzysztof,
>>
>> Just a gentle ping on this series. The v3 patches were applied to the
>> CI baseline last week and have been waiting for review.
>>
>
>You received comments here, implement them please.
>
>Best regards,
>Krzysztof

Hi Krzysztof,

Thank you for your quick reply.

I just wanted to follow up and confirm that the v3 series is now
available on Patchwork and has passed the automated Sashiko AI review.

You can see the series here:
https://patchwork.ozlabs.org/project/linux-tegra/list/?series=511518

As requested, the key changes from v2 version you reviewed are:
1. The baseboard DTSI content has been merged into the main DTS file.
2. The bootargs property has been removed from the chosen node; only
   stdout-path is used.

Could you please take another look when you have a moment? 

Best regards,
Jiqi Li

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

* Re: [External] Re: [PATCH 2/2] arm64: tegra: Add Lenovo ThinkEdge SE70 device tree
  2026-07-07  8:21             ` Jiqi JQ9 Li
@ 2026-07-07  8:25               ` Krzysztof Kozlowski
  0 siblings, 0 replies; 13+ messages in thread
From: Krzysztof Kozlowski @ 2026-07-07  8:25 UTC (permalink / raw)
  To: Jiqi JQ9 Li, linux-tegra@vger.kernel.org
  Cc: devicetree@vger.kernel.org, robh+dt@kernel.org,
	krzk+dt@kernel.org, conor+dt@kernel.org, mperttunen@nvidia.com,
	jonathanh@nvidia.com, thierry.reding@gmail.com,
	mpearson-lenovo@squebb.ca

On 07/07/2026 10:21, Jiqi JQ9 Li wrote:
>>>>>>
>>>>>> Why do you need bootargs? stdout property does not work?
>>>>>>
>>>>>> Best regards,
>>>>>> Krzysztof
>>>>>
>>>>> Regarding bootargs – I checked tegra194-p3668.dtsi (which
>>>>> is included by tegra194-p3668-0001.dtsi) and it already
>>>>> defines the chosen node. Following the NVIDIA reference
>>>>> (e.g., tegra194-p2888.dtsi), I'll define it in the main DTS:
>>>>>
>>>>> chosen {
>>>>>     bootargs = "console=ttyTCU0,115200";
>>>>>     stdout-path = "serial0:115200n8";
>>>>
>>>> No, you only need stdout-path. Drop the bootargs.
>>>>
>>>>> };
>>>>>
>>>>> This ensures compatibility while aligning with the existing
>>>>> Tegra device tree convention.
>>>>
>>>> There is no such thing as compatibility with convention.
>>>>
>>>> Every modern upstream DTS uses stdout-path, not bootargs.
>>>>
>>>> Best regards,
>>>> Krzysztof
>>>
>>> Hi Krzysztof,
>>>
>>> Just a gentle ping on this series. The v3 patches were applied to the
>>> CI baseline last week and have been waiting for review.
>>>
>>
>> You received comments here, implement them please.
>>
>> Best regards,
>> Krzysztof
> 
> Hi Krzysztof,
> 
> Thank you for your quick reply.
> 
> I just wanted to follow up and confirm that the v3 series is now
> available on Patchwork and has passed the automated Sashiko AI review.
> 
> You can see the series here:
> https://patchwork.ozlabs.org/project/linux-tegra/list/?series=511518
> 
> As requested, the key changes from v2 version you reviewed are:
> 1. The baseboard DTSI content has been merged into the main DTS file.
> 2. The bootargs property has been removed from the chosen node; only
>    stdout-path is used.
> 
> Could you please take another look when you have a moment? 

I don't use that Patchwork and maybe you mistaken my role here. So to
clarify: you got everything needed from DT maintainers, so I do not need
to do the same work. You also ping me 6 days after posting, which is
pretty non acceptable ping time. For example my patches for Tegra:
https://lore.kernel.org/all/20260406064935.27968-4-krzysztof.kozlowski@oss.qualcomm.com/
https://lore.kernel.org/all/20260429165626.243471-4-krzysztof.kozlowski@oss.qualcomm.com/
are unanswered for 3 months...

Best regards,
Krzysztof

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

* Re: [External] Re: [PATCH 2/2] arm64: tegra: Add Lenovo ThinkEdge SE70 device tree
  2026-07-08  2:22   ` Mikko Perttunen
@ 2026-07-08  3:17     ` Jiqi JQ9 Li
  2026-07-08  5:55       ` Mikko Perttunen
  0 siblings, 1 reply; 13+ messages in thread
From: Jiqi JQ9 Li @ 2026-07-08  3:17 UTC (permalink / raw)
  To: Mikko Perttunen, linux-tegra@vger.kernel.org
  Cc: devicetree@vger.kernel.org, robh+dt@kernel.org,
	krzk+dt@kernel.org, conor+dt@kernel.org, krzk@kernel.org,
	jonathanh@nvidia.com, thierry.reding@gmail.com,
	mpearson-lenovo@squebb.ca

>> Add initial device tree support for the Lenovo ThinkEdge SE70, an
>> industrial edge gateway based on the NVIDIA Jetson Xavier NX module
>> (P3668-0001) with a custom carrier board.
>>
>> This initial submission includes:
>> - 40-pin expansion header pinmux configuration
>> - External Micro SD card slot with dedicated 3.3V regulator
>> - I2C bus for 40-pin header
>>
>> Static verification passed: dt_binding_check and dtbs compilation
>> complete without errors.
>>
>> Signed-off-by: Jiqi Li <lijq9@lenovo.com>
>> ---
>> Changes in v2:
>> - Remove unused input-related headers from baseboard DTSI
>>
>> Changes in v3:
>> - Merge baseboard content into main DTS, drop separate baseboard DTSI
>> - Use stdout-path instead of bootargs in chosen node
>> ---
>>  arch/arm64/boot/dts/nvidia/Makefile           |   1 +
>>  .../nvidia/tegra194-lenovo-thinkedge-se70.dts | 113 ++++++++++++++++++
>>  2 files changed, 114 insertions(+)
>>  create mode 100644 arch/arm64/boot/dts/nvidia/tegra194-lenovo-thinkedge-se70.dts
>>
>> diff --git a/arch/arm64/boot/dts/nvidia/Makefile b/arch/arm64/boot/dts/nvidia/Makefile
>> index 72c0cb5efa47..736a3f8a923f 100644
>> --- a/arch/arm64/boot/dts/nvidia/Makefile
>> +++ b/arch/arm64/boot/dts/nvidia/Makefile
>> @@ -29,6 +29,7 @@ dtb-$(CONFIG_ARCH_TEGRA_186_SOC) += tegra186-p3509-0000+p3636-0001.dtb
>>  dtb-$(CONFIG_ARCH_TEGRA_194_SOC) += tegra194-p2972-0000.dtb
>>  dtb-$(CONFIG_ARCH_TEGRA_194_SOC) += tegra194-p3509-0000+p3668-0000.dtb
>>  dtb-$(CONFIG_ARCH_TEGRA_194_SOC) += tegra194-p3509-0000+p3668-0001.dtb
>> +dtb-$(CONFIG_ARCH_TEGRA_194_SOC) += tegra194-lenovo-thinkedge-se70.dtb
>>  dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-sim-vdk.dtb
>>  dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-p3737-0000+p3701-0000.dtb
>>  dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-p3737-0000+p3701-0008.dtb
>> diff --git a/arch/arm64/boot/dts/nvidia/tegra194-lenovo-thinkedge-se70.dts b/arch/arm64/boot/dts/nvidia/tegra194-lenovo-thinkedge-se70.dts
>> new file mode 100644
>> index 000000000000..530d5bcaeba7
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/nvidia/tegra194-lenovo-thinkedge-se70.dts
>> @@ -0,0 +1,113 @@
>> +// SPDX-License-Identifier: GPL-2.0
>> +/dts-v1/;
>> +
>> +#include "tegra194-p3668-0001.dtsi"
>> +
>> +#include <dt-bindings/gpio/tegra194-gpio.h>
>> +
>> +/ {
>> +     model = "Lenovo ThinkEdge SE70";
>> +     compatible = "lenovo,thinkedge-se70", "nvidia,p3668-0001", "nvidia,tegra194";
>> +
>> +     chosen {
>> +             stdout-path = "serial0:115200n8";
>> +     };
>> +
>> +     vdd_5v0_sys: regulator-vdd-5v0-sys {
>> +             compatible = "regulator-fixed";
>> +             regulator-name = "VDD_5V_SYS";
>> +             regulator-min-microvolt = <5000000>;
>> +             regulator-max-microvolt = <5000000>;
>> +             regulator-always-on;
>> +             regulator-boot-on;
>> +     };
>
>Nothing currently references this regulator. Should e.g. the SD
>regulator below supply from it, or should it be removed?
>
>> +
>> +     /* Fixed 3.3V power supply regulator for external Micro SD slot */
>> +     vdd_3v3_sd: regulator-sd-3v3 {
>
>Should be called regulator-vdd-3v3-sd.
>
>Also, please move the regulator nodes to the bottom of the file
>matching other device trees (alphabetical order).
>
>Thank you!
>Mikko
>

Hi Mikko,

Thank you for the detailed review of the regulator nodes.

I have addressed your comments for the upcoming v4 as follows:

1. Regulator naming and placement:
   - I will rename `vdd_3v3_sd: regulator-sd-3v3` to
     `regulator-vdd-3v3-sd` to follow the naming convention.
   - I will move both regulator nodes to the bottom of the file and
     order them alphabetically (regulator-vdd-3v3-sd then
     regulator-vdd-5v0-sys).

2. Regarding `vdd_5v0_sys`:
   - After removing it, I encountered compilation errors because it is
     referenced by nodes in `tegra194.dtsi` (USB padctl) and
     `tegra194-p3668.dtsi` (PMIC regulators). Therefore, it must be
     kept in the file. I will add a comment to clarify it is a system
     supply required by the SoM and SoC layers.

I will submit v4 shortly with these changes incorporated.

Best regards,
Jiqi Li

>> +             compatible = "regulator-fixed";
>> +             regulator-name = "VDD_3V3_SD";
>> +             regulator-min-microvolt = <3300000>;
>> +             regulator-max-microvolt = <3300000>;
>> +             gpio = <&gpio TEGRA194_MAIN_GPIO(Q, 5) GPIO_ACTIVE_HIGH>;
>> +             regulator-boot-on;
>> +             enable-active-high;
>> +     };
>> +
>> +     bus@0 {
>> +             /* 40-pin expansion header custom pinmux configuration */
>> +             pinmux@2430000 {
>> +                     status = "okay";
>> +                     pinctrl-names = "default";
>> +                     pinctrl-0 = <&pinmux_hdr40>;
>> +
>> +                     pinmux_hdr40: pinmux-hdr40 {
>> +                             pin7 {
>> +                                     nvidia,pins = "aud_mclk_ps4";
>> +                                     nvidia,function = "aud";
>> +                                     nvidia,pull = <TEGRA_PIN_PULL_NONE>;
>> +                                     nvidia,tristate = <TEGRA_PIN_DISABLE>;
>> +                                     nvidia,enable-input = <TEGRA_PIN_DISABLE>;
>> +                             };
>> +                             pin11 {
>> +                                     nvidia,pins = "uart1_rts_pr4";
>> +                                     nvidia,function = "uarta";
>> +                                     nvidia,pull = <TEGRA_PIN_PULL_NONE>;
>> +                                     nvidia,tristate = <TEGRA_PIN_DISABLE>;
>> +                                     nvidia,enable-input = <TEGRA_PIN_DISABLE>;
>> +                             };
>> +                             pin12 {
>> +                                     nvidia,pins = "dap5_sclk_pt5";
>> +                                     nvidia,function = "i2s5";
>> +                                     nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
>> +                                     nvidia,tristate = <TEGRA_PIN_DISABLE>;
>> +                                     nvidia,enable-input = <TEGRA_PIN_ENABLE>;
>> +                             };
>> +                             pin35 {
>> +                                     nvidia,pins = "dap5_fs_pu0";
>> +                                     nvidia,function = "i2s5";
>> +                                     nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
>> +                                     nvidia,tristate = <TEGRA_PIN_DISABLE>;
>> +                                     nvidia,enable-input = <TEGRA_PIN_ENABLE>;
>> +                             };
>> +                             pin36 {
>> +                                     nvidia,pins = "uart1_cts_pr5";
>> +                                     nvidia,function = "uarta";
>> +                                     nvidia,pull = <TEGRA_PIN_PULL_UP>;
>> +                                     nvidia,tristate = <TEGRA_PIN_ENABLE>;
>> +                                     nvidia,enable-input = <TEGRA_PIN_ENABLE>;
>> +                             };
>> +                             pin38 {
>> +                                     nvidia,pins = "dap5_din_pt7";
>> +                                     nvidia,function = "i2s5";
>> +                                     nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
>> +                                     nvidia,tristate = <TEGRA_PIN_ENABLE>;
>> +                                     nvidia,enable-input = <TEGRA_PIN_ENABLE>;
>> +                             };
>> +                             pin40 {
>> +                                     nvidia,pins = "dap5_dout_pt6";
>> +                                     nvidia,function = "i2s5";
>> +                                     nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
>> +                                     nvidia,tristate = <TEGRA_PIN_DISABLE>;
>> +                                     nvidia,enable-input = <TEGRA_PIN_DISABLE>;
>> +                             };
>> +                     };
>> +             };
>> +
>> +             /* Configure i2c bus clock to 400kHz for carrier board peripherals */
>> +             i2c@3160000 {
>> +                     clock-frequency = <400000>;
>> +                     status = "okay";
>> +             };
>> +
>> +             /* SDMMC3: External Micro SD card slot */
>> +             mmc@3440000 {
>> +                     bus-width = <4>;
>> +                     cd-gpios = <&gpio_aon TEGRA194_AON_GPIO(CC, 4) GPIO_ACTIVE_LOW>;
>> +                     disable-wp;
>> +                     no-1-8-v;
>> +                     vmmc-supply = <&vdd_3v3_sd>;
>> +                     status = "okay";
>> +             };
>> +
>> +     };
>> +};
>> --
>> 2.43.0
>>
>>
>




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

* Re: [External] Re: [PATCH 2/2] arm64: tegra: Add Lenovo ThinkEdge SE70 device tree
  2026-07-08  3:17     ` [External] " Jiqi JQ9 Li
@ 2026-07-08  5:55       ` Mikko Perttunen
  0 siblings, 0 replies; 13+ messages in thread
From: Mikko Perttunen @ 2026-07-08  5:55 UTC (permalink / raw)
  To: linux-tegra@vger.kernel.org, Jiqi JQ9 Li
  Cc: devicetree@vger.kernel.org, robh+dt@kernel.org,
	krzk+dt@kernel.org, conor+dt@kernel.org, krzk@kernel.org,
	jonathanh@nvidia.com, thierry.reding@gmail.com,
	mpearson-lenovo@squebb.ca

On Wednesday, July 8, 2026 12:17 PM Jiqi JQ9 Li wrote:
> >> Add initial device tree support for the Lenovo ThinkEdge SE70, an
> >> industrial edge gateway based on the NVIDIA Jetson Xavier NX module
> >> (P3668-0001) with a custom carrier board.
> >>
> >> This initial submission includes:
> >> - 40-pin expansion header pinmux configuration
> >> - External Micro SD card slot with dedicated 3.3V regulator
> >> - I2C bus for 40-pin header
> >>
> >> Static verification passed: dt_binding_check and dtbs compilation
> >> complete without errors.
> >>
> >> Signed-off-by: Jiqi Li <lijq9@lenovo.com>
> >> ---
> >> Changes in v2:
> >> - Remove unused input-related headers from baseboard DTSI
> >>
> >> Changes in v3:
> >> - Merge baseboard content into main DTS, drop separate baseboard DTSI
> >> - Use stdout-path instead of bootargs in chosen node
> >> ---
> >>  arch/arm64/boot/dts/nvidia/Makefile           |   1 +
> >>  .../nvidia/tegra194-lenovo-thinkedge-se70.dts | 113 ++++++++++++++++++
> >>  2 files changed, 114 insertions(+)
> >>  create mode 100644 arch/arm64/boot/dts/nvidia/tegra194-lenovo-thinkedge-se70.dts
> >>
> >> diff --git a/arch/arm64/boot/dts/nvidia/Makefile b/arch/arm64/boot/dts/nvidia/Makefile
> >> index 72c0cb5efa47..736a3f8a923f 100644
> >> --- a/arch/arm64/boot/dts/nvidia/Makefile
> >> +++ b/arch/arm64/boot/dts/nvidia/Makefile
> >> @@ -29,6 +29,7 @@ dtb-$(CONFIG_ARCH_TEGRA_186_SOC) += tegra186-p3509-0000+p3636-0001.dtb
> >>  dtb-$(CONFIG_ARCH_TEGRA_194_SOC) += tegra194-p2972-0000.dtb
> >>  dtb-$(CONFIG_ARCH_TEGRA_194_SOC) += tegra194-p3509-0000+p3668-0000.dtb
> >>  dtb-$(CONFIG_ARCH_TEGRA_194_SOC) += tegra194-p3509-0000+p3668-0001.dtb
> >> +dtb-$(CONFIG_ARCH_TEGRA_194_SOC) += tegra194-lenovo-thinkedge-se70.dtb
> >>  dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-sim-vdk.dtb
> >>  dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-p3737-0000+p3701-0000.dtb
> >>  dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-p3737-0000+p3701-0008.dtb
> >> diff --git a/arch/arm64/boot/dts/nvidia/tegra194-lenovo-thinkedge-se70.dts b/arch/arm64/boot/dts/nvidia/tegra194-lenovo-thinkedge-se70.dts
> >> new file mode 100644
> >> index 000000000000..530d5bcaeba7
> >> --- /dev/null
> >> +++ b/arch/arm64/boot/dts/nvidia/tegra194-lenovo-thinkedge-se70.dts
> >> @@ -0,0 +1,113 @@
> >> +// SPDX-License-Identifier: GPL-2.0
> >> +/dts-v1/;
> >> +
> >> +#include "tegra194-p3668-0001.dtsi"
> >> +
> >> +#include <dt-bindings/gpio/tegra194-gpio.h>
> >> +
> >> +/ {
> >> +     model = "Lenovo ThinkEdge SE70";
> >> +     compatible = "lenovo,thinkedge-se70", "nvidia,p3668-0001", "nvidia,tegra194";
> >> +
> >> +     chosen {
> >> +             stdout-path = "serial0:115200n8";
> >> +     };
> >> +
> >> +     vdd_5v0_sys: regulator-vdd-5v0-sys {
> >> +             compatible = "regulator-fixed";
> >> +             regulator-name = "VDD_5V_SYS";
> >> +             regulator-min-microvolt = <5000000>;
> >> +             regulator-max-microvolt = <5000000>;
> >> +             regulator-always-on;
> >> +             regulator-boot-on;
> >> +     };
> >
> >Nothing currently references this regulator. Should e.g. the SD
> >regulator below supply from it, or should it be removed?
> >
> >> +
> >> +     /* Fixed 3.3V power supply regulator for external Micro SD slot */
> >> +     vdd_3v3_sd: regulator-sd-3v3 {
> >
> >Should be called regulator-vdd-3v3-sd.
> >
> >Also, please move the regulator nodes to the bottom of the file
> >matching other device trees (alphabetical order).
> >
> >Thank you!
> >Mikko
> >
> 
> Hi Mikko,
> 
> Thank you for the detailed review of the regulator nodes.
> 
> I have addressed your comments for the upcoming v4 as follows:
> 
> 1. Regulator naming and placement:
>    - I will rename `vdd_3v3_sd: regulator-sd-3v3` to
>      `regulator-vdd-3v3-sd` to follow the naming convention.
>    - I will move both regulator nodes to the bottom of the file and
>      order them alphabetically (regulator-vdd-3v3-sd then
>      regulator-vdd-5v0-sys).
> 
> 2. Regarding `vdd_5v0_sys`:
>    - After removing it, I encountered compilation errors because it is
>      referenced by nodes in `tegra194.dtsi` (USB padctl) and
>      `tegra194-p3668.dtsi` (PMIC regulators). Therefore, it must be
>      kept in the file. I will add a comment to clarify it is a system
>      supply required by the SoM and SoC layers.

Ah, indeed. That's fine then. I agree that a brief comment would be
helpful.

> 
> I will submit v4 shortly with these changes incorporated.
> 
> Best regards,
> Jiqi Li
> 
> >> +             compatible = "regulator-fixed";
> >> +             regulator-name = "VDD_3V3_SD";
> >> +             regulator-min-microvolt = <3300000>;
> >> +             regulator-max-microvolt = <3300000>;
> >> +             gpio = <&gpio TEGRA194_MAIN_GPIO(Q, 5) GPIO_ACTIVE_HIGH>;
> >> +             regulator-boot-on;
> >> +             enable-active-high;
> >> +     };
> >> +
> >> +     bus@0 {
> >> +             /* 40-pin expansion header custom pinmux configuration */
> >> +             pinmux@2430000 {
> >> +                     status = "okay";
> >> +                     pinctrl-names = "default";
> >> +                     pinctrl-0 = <&pinmux_hdr40>;
> >> +
> >> +                     pinmux_hdr40: pinmux-hdr40 {
> >> +                             pin7 {
> >> +                                     nvidia,pins = "aud_mclk_ps4";
> >> +                                     nvidia,function = "aud";
> >> +                                     nvidia,pull = <TEGRA_PIN_PULL_NONE>;
> >> +                                     nvidia,tristate = <TEGRA_PIN_DISABLE>;
> >> +                                     nvidia,enable-input = <TEGRA_PIN_DISABLE>;
> >> +                             };
> >> +                             pin11 {
> >> +                                     nvidia,pins = "uart1_rts_pr4";
> >> +                                     nvidia,function = "uarta";
> >> +                                     nvidia,pull = <TEGRA_PIN_PULL_NONE>;
> >> +                                     nvidia,tristate = <TEGRA_PIN_DISABLE>;
> >> +                                     nvidia,enable-input = <TEGRA_PIN_DISABLE>;
> >> +                             };
> >> +                             pin12 {
> >> +                                     nvidia,pins = "dap5_sclk_pt5";
> >> +                                     nvidia,function = "i2s5";
> >> +                                     nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
> >> +                                     nvidia,tristate = <TEGRA_PIN_DISABLE>;
> >> +                                     nvidia,enable-input = <TEGRA_PIN_ENABLE>;
> >> +                             };
> >> +                             pin35 {
> >> +                                     nvidia,pins = "dap5_fs_pu0";
> >> +                                     nvidia,function = "i2s5";
> >> +                                     nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
> >> +                                     nvidia,tristate = <TEGRA_PIN_DISABLE>;
> >> +                                     nvidia,enable-input = <TEGRA_PIN_ENABLE>;
> >> +                             };
> >> +                             pin36 {
> >> +                                     nvidia,pins = "uart1_cts_pr5";
> >> +                                     nvidia,function = "uarta";
> >> +                                     nvidia,pull = <TEGRA_PIN_PULL_UP>;
> >> +                                     nvidia,tristate = <TEGRA_PIN_ENABLE>;
> >> +                                     nvidia,enable-input = <TEGRA_PIN_ENABLE>;
> >> +                             };
> >> +                             pin38 {
> >> +                                     nvidia,pins = "dap5_din_pt7";
> >> +                                     nvidia,function = "i2s5";
> >> +                                     nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
> >> +                                     nvidia,tristate = <TEGRA_PIN_ENABLE>;
> >> +                                     nvidia,enable-input = <TEGRA_PIN_ENABLE>;
> >> +                             };
> >> +                             pin40 {
> >> +                                     nvidia,pins = "dap5_dout_pt6";
> >> +                                     nvidia,function = "i2s5";
> >> +                                     nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
> >> +                                     nvidia,tristate = <TEGRA_PIN_DISABLE>;
> >> +                                     nvidia,enable-input = <TEGRA_PIN_DISABLE>;
> >> +                             };
> >> +                     };
> >> +             };
> >> +
> >> +             /* Configure i2c bus clock to 400kHz for carrier board peripherals */
> >> +             i2c@3160000 {
> >> +                     clock-frequency = <400000>;
> >> +                     status = "okay";
> >> +             };
> >> +
> >> +             /* SDMMC3: External Micro SD card slot */
> >> +             mmc@3440000 {
> >> +                     bus-width = <4>;
> >> +                     cd-gpios = <&gpio_aon TEGRA194_AON_GPIO(CC, 4) GPIO_ACTIVE_LOW>;
> >> +                     disable-wp;
> >> +                     no-1-8-v;
> >> +                     vmmc-supply = <&vdd_3v3_sd>;
> >> +                     status = "okay";
> >> +             };
> >> +
> >> +     };
> >> +};
> >> --
> >> 2.43.0
> >>
> >>
> >
> 
> 
> 





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

end of thread, other threads:[~2026-07-08  5:55 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-30  9:17 [PATCH v2 0/2] Add Lenovo ThinkEdge SE70 carrier board support Jiqi Li
2026-06-30  9:17 ` [PATCH 1/2] dt-bindings: arm: tegra: Add lenovo,thinkedge-se70 compatible string Jiqi Li
2026-06-30  9:17 ` [PATCH 2/2] arm64: tegra: Add Lenovo ThinkEdge SE70 device tree Jiqi Li
2026-06-30 10:02   ` Krzysztof Kozlowski
2026-06-30 11:04     ` [External] " Jiqi JQ9 Li
2026-06-30 11:11       ` Krzysztof Kozlowski
2026-06-30 11:17         ` Jiqi JQ9 Li
2026-07-07  7:13         ` Jiqi JQ9 Li
2026-07-07  8:04           ` Krzysztof Kozlowski
2026-07-07  8:21             ` Jiqi JQ9 Li
2026-07-07  8:25               ` Krzysztof Kozlowski
  -- strict thread matches above, loose matches on Subject: below --
2026-07-01  9:06 [PATCH v3 0/2] Add Lenovo ThinkEdge SE70 carrier board support Jiqi Li
2026-07-01  9:06 ` [PATCH 2/2] arm64: tegra: Add Lenovo ThinkEdge SE70 device tree Jiqi Li
2026-07-08  2:22   ` Mikko Perttunen
2026-07-08  3:17     ` [External] " Jiqi JQ9 Li
2026-07-08  5:55       ` Mikko Perttunen

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