All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mikko Perttunen <mperttunen@nvidia.com>
To: "linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>,
	Jiqi JQ9 Li <lijq9@lenovo.com>
Cc: "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"robh+dt@kernel.org" <robh+dt@kernel.org>,
	"krzk+dt@kernel.org" <krzk+dt@kernel.org>,
	"conor+dt@kernel.org" <conor+dt@kernel.org>,
	"krzk@kernel.org" <krzk@kernel.org>,
	"jonathanh@nvidia.com" <jonathanh@nvidia.com>,
	"thierry.reding@gmail.com" <thierry.reding@gmail.com>,
	"mpearson-lenovo@squebb.ca" <mpearson-lenovo@squebb.ca>
Subject: Re: [External] Re: [PATCH 2/2] arm64: tegra: Add Lenovo ThinkEdge SE70 device tree
Date: Wed, 08 Jul 2026 14:55:37 +0900	[thread overview]
Message-ID: <qH2CwJ61SfKj2xT1jc5N9Q@nvidia.com> (raw)
In-Reply-To: <JH0PR03MB863759EED0FBEED43ADE8AC983FF2@JH0PR03MB8637.apcprd03.prod.outlook.com>

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
> >>
> >>
> >
> 
> 
> 





  reply	other threads:[~2026-07-08  5:55 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-01  9:06 [PATCH v3 0/2] Add Lenovo ThinkEdge SE70 carrier board support Jiqi Li
2026-07-01  9:06 ` [PATCH 1/2] dt-bindings: arm: tegra: Add lenovo,thinkedge-se70 compatible string 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 message]
2026-07-08  1:58 ` [PATCH v3 0/2] Add Lenovo ThinkEdge SE70 carrier board support Mikko Perttunen
2026-07-08  3:04   ` [External] " Jiqi JQ9 Li
  -- strict thread matches above, loose matches on Subject: below --
2026-06-30  9:17 [PATCH v2 " 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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=qH2CwJ61SfKj2xT1jc5N9Q@nvidia.com \
    --to=mperttunen@nvidia.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=jonathanh@nvidia.com \
    --cc=krzk+dt@kernel.org \
    --cc=krzk@kernel.org \
    --cc=lijq9@lenovo.com \
    --cc=linux-tegra@vger.kernel.org \
    --cc=mpearson-lenovo@squebb.ca \
    --cc=robh+dt@kernel.org \
    --cc=thierry.reding@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.