All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephan Gerhold <stephan.gerhold@linaro.org>
To: Georg Gottleuber <ggo@tuxedocomputers.com>
Cc: Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konradybcio@kernel.org>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Ettore Chimenti <ettore.chimenti@linaro.org>,
	Srinivas Kandagatla <srini@kernel.org>,
	stefan.schmidt@linaro.org, wse@tuxedocomputers.com, cs@tuxedo.de
Subject: Re: [PATCH v2 6/7] arm64: dts: qcom: Add device tree for TUXEDO Elite 14 Gen1
Date: Mon, 10 Nov 2025 14:41:15 +0100	[thread overview]
Message-ID: <aRHre28Nbyv6ShbU@linaro.org> (raw)
In-Reply-To: <20251105154107.148187-7-ggo@tuxedocomputers.com>

On Wed, Nov 05, 2025 at 04:41:06PM +0100, Georg Gottleuber wrote:
> Initial support for TUXEDO Elite 14 Gen1 based on Qualcomm Snapdragon X
> Elite SoC (X1E78100).
> 
> Working:
> * Touchpad
> * Keyboard
> * eDP (no brightness control yet)
> * NVMe
> * USB Type-C port
> * USB-C DP altmode
> * HDMI-A port
> * WiFi (WiFi 7 untested)
> * Bluetooth
> * GPU
> * Video decoding
> * USB Type-A
> * Audio, speakers, microphones
> 	- 4x speakers.
> 	- 4x dmic
> 	- headset
> * Camera
> * Fingerprint reader
> 
> Signed-off-by: Georg Gottleuber <ggo@tuxedocomputers.com>
> Signed-off-by: Srinivas Kandagatla <srini@kernel.org>
> Signed-off-by: Ettore Chimenti <ettore.chimenti@linaro.org>
> ---
>  arch/arm64/boot/dts/qcom/Makefile             |    2 +
>  .../qcom/x1e80100-tuxedo-elite-14-gen1.dts    | 1486 +++++++++++++++++
>  2 files changed, 1488 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-tuxedo-elite-14-gen1.dts
> 
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 296688f7cb26..598bf4c6e84a 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -350,3 +350,5 @@ x1p42100-hp-omnibook-x14-el2-dtbs := x1p42100-hp-omnibook-x14.dtb x1-el2.dtbo
>  dtb-$(CONFIG_ARCH_QCOM)	+= x1p42100-hp-omnibook-x14.dtb x1p42100-hp-omnibook-x14-el2.dtb
>  x1p42100-lenovo-thinkbook-16-el2-dtbs	:= x1p42100-lenovo-thinkbook-16.dtb x1-el2.dtbo
>  dtb-$(CONFIG_ARCH_QCOM)	+= x1p42100-lenovo-thinkbook-16.dtb x1p42100-lenovo-thinkbook-16-el2.dtb
> +x1e80100-tuxedo-elite-14-gen1-el2-dtbs	:=  x1e80100-tuxedo-elite-14-gen1.dtb x1-el2.dtbo
> +dtb-$(CONFIG_ARCH_QCOM)	+= x1e80100-tuxedo-elite-14-gen1.dtb

Please also add x1e80100-tuxedo-elite-14-gen1-el2.dtb here (similar to
the other lines), so that the EL2/KVM-specific DTB is automatically
built and included in the installed DTBs.

> diff --git a/arch/arm64/boot/dts/qcom/x1e80100-tuxedo-elite-14-gen1.dts b/arch/arm64/boot/dts/qcom/x1e80100-tuxedo-elite-14-gen1.dts
> new file mode 100644
> index 000000000000..0bfe5931434e
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/x1e80100-tuxedo-elite-14-gen1.dts
> @@ -0,0 +1,1486 @@
> [...]
> +	vreg_edp_3p3: regulator-edp-3p3 {
> +		compatible = "regulator-fixed";
> +
> +		regulator-name = "VREG_EDP_3P3";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +
> +		gpio = <&tlmm 54 GPIO_ACTIVE_HIGH>;
> +		enable-active-high;
> +
> +		pinctrl-0 = <&edp_reg_en>;
> +		pinctrl-names = "default";
> +
> +		regulator-always-on;

Does this need to be always on? It should be possible to enable/disable
this supply together with the panel (and it is already set as
power-supply for the panel).

> +		regulator-boot-on;
> +	};
> +
> [...]
> +	sound {
> +		compatible = "qcom,x1e80100-sndcard";
> +		model = "X1E80100-TUXEDO-Elite-14";
> +		audio-routing = "WooferLeft IN", "WSA WSA_SPK1 OUT",
> +				"TweeterLeft IN", "WSA WSA_SPK2 OUT",
> +				"WooferRight IN", "WSA2 WSA_SPK2 OUT",
> +				"TweeterRight IN", "WSA2 WSA_SPK2 OUT",
> +				"IN1_HPHL", "HPHL_OUT",
> +				"IN2_HPHR", "HPHR_OUT",
> +				"AMIC2", "MIC BIAS2",
> +				"VA DMIC0", "MIC BIAS1",
> +				"VA DMIC1", "MIC BIAS1",
> +				"VA DMIC0", "VA MIC BIAS1",
> +				"VA DMIC1", "VA MIC BIAS1",

Please drop the two "VA MIC BIAS" lines, see
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b49e37de8e70bc433b526a9f4382f72b7ac6492e

> +				"TX SWR_INPUT1", "ADC2_OUTPUT";
> +
> +		wcd-playback-dai-link {
> +			link-name = "WCD Playback";
> +
> +			cpu {
> +				sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
> +			};
> +
> +			codec {
> +				sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>;
> +			};
> +
> +			platform {
> +				sound-dai = <&q6apm>;
> +			};
> +		};
> +
> +		wcd-capture-dai-link {
> +			link-name = "WCD Capture";
> +
> +			cpu {
> +				sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
> +			};
> +
> +			codec {
> +				sound-dai = <&wcd938x 1>, <&swr2 1>, <&lpass_txmacro 0>;
> +			};
> +
> +			platform {
> +				sound-dai = <&q6apm>;
> +			};
> +		};
> +
> +		wsa-dai-link {
> +			link-name = "WSA Playback";
> +
> +			cpu {
> +				sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
> +			};
> +
> +			codec {
> +				sound-dai = <&left_woofer>, <&left_tweeter>,
> +					    <&swr0 0>, <&lpass_wsamacro 0>,
> +					    <&right_woofer>, <&right_tweeter>,
> +					    <&swr3 0>, <&lpass_wsa2macro 0>;
> +			};
> +
> +			platform {
> +				sound-dai = <&q6apm>;
> +			};
> +		};
> +
> +		va-dai-link {
> +			link-name = "VA Capture";
> +
> +			cpu {
> +				sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
> +			};
> +
> +			codec {
> +				sound-dai = <&lpass_vamacro 0>;
> +			};
> +
> +			platform {
> +				sound-dai = <&q6apm>;
> +			};
> +		};
> +	};
> [...]
> +&remoteproc_adsp {
> +	firmware-name = "qcom/x1e80100/adsp.mbn",
> +			"qcom/x1e80100/adsp_dtb.mbn";

We need a custom ADSP firmware for the TUXEDO, so this needs to be a
device-specific path (so that you can upload the correct firmware to
linux-firmware). e.g. "qcom/x1e80100/TUXEDO/adsp.mbn"

> +
> +	status = "okay";
> +};
> +
> +&remoteproc_cdsp {
> +	firmware-name = "qcom/x1e80100/cdsp.mbn",
> +			"qcom/x1e80100/cdsp_dtb.mbn";

If you expect that production versions of this device will have the
(firmware) secure boot enabled, this path should also be
device-specific. If retail versions will allow loading arbitrary
firmware this can stay as-is. 

Same for all other "firmware-name"s.

> +
> +	status = "okay";
> +};
> +
> +&smb2360_0 {
> +	status = "okay";
> +};
> +
> +&smb2360_0_eusb2_repeater {
> +	vdd18-supply = <&vreg_l3d_1p8>;
> +	vdd3-supply = <&vreg_l2b_3p0>;
> +};
> +
> +&smb2360_1 {
> +	status = "okay";
> +};

You have just a single USB-C port, so I would expect that there is also
only a single SMB2360 instance (for charging). Perhaps you can just drop
this node?

Thanks,
Stephan

  parent reply	other threads:[~2025-11-10 13:41 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-05 15:41 [PATCH v2 0/7] Add TUXEDO Elite 14 Gen1 (X1E78100) Georg Gottleuber
2025-11-05 15:41 ` [PATCH v2 1/7] dt-bindings: vendor-prefixes: Add ASL Xiamen Technology Georg Gottleuber
2025-11-06  8:05   ` Krzysztof Kozlowski
2025-11-06 11:12     ` Ettore Chimenti
2025-11-06 11:15     ` Georg Gottleuber
2025-11-06  8:07   ` Krzysztof Kozlowski
2025-11-06 10:29     ` Georg Gottleuber
2025-11-05 15:41 ` [PATCH v2 2/7] dt-bindings: display: bridge: simple: document the ASL CS5263 DP-to-HDMI bridge Georg Gottleuber
2025-11-05 15:41 ` [PATCH v2 3/7] drm/bridge: simple: add " Georg Gottleuber
2025-11-05 15:41 ` [PATCH v2 4/7] dt-bindings: vendor-prefixes: Add prefix for TUXEDO Computers GmbH Georg Gottleuber
2025-11-06  8:08   ` Krzysztof Kozlowski
2025-11-05 15:41 ` [PATCH v2 5/7] dt-bindings: arm: qcom: Add TUXEDO Computers device Georg Gottleuber
2025-11-06  8:06   ` Krzysztof Kozlowski
2025-11-06 16:50     ` Georg Gottleuber
2025-11-06  8:32   ` Krzysztof Kozlowski
2025-11-06 10:52     ` Georg Gottleuber
2025-11-05 15:41 ` [PATCH v2 6/7] arm64: dts: qcom: Add device tree for TUXEDO Elite 14 Gen1 Georg Gottleuber
2025-11-06  7:03   ` Maud Spierings
2025-11-06  8:13   ` Krzysztof Kozlowski
2025-11-07 10:21     ` Georg Gottleuber
2025-11-06 10:20   ` Konrad Dybcio
2025-11-10 13:41   ` Stephan Gerhold [this message]
2025-11-11  4:11     ` Bjorn Andersson
2025-11-11  9:54       ` Stephan Gerhold
2025-11-12 10:45         ` Georg Gottleuber
2025-11-12 13:50     ` Georg Gottleuber
2025-11-05 15:41 ` [PATCH v2 7/7] firmware: qcom: scm: Allow QSEECOM on Tuxedo " Georg Gottleuber
2025-11-06  8:09   ` Krzysztof Kozlowski
2025-11-06  8:15 ` [PATCH v2 0/7] Add TUXEDO Elite 14 Gen1 (X1E78100) Krzysztof Kozlowski
2025-11-06 12:56   ` Georg Gottleuber
2025-11-10 11:50     ` Georg Gottleuber

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=aRHre28Nbyv6ShbU@linaro.org \
    --to=stephan.gerhold@linaro.org \
    --cc=andersson@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=cs@tuxedo.de \
    --cc=devicetree@vger.kernel.org \
    --cc=ettore.chimenti@linaro.org \
    --cc=ggo@tuxedocomputers.com \
    --cc=konradybcio@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=srini@kernel.org \
    --cc=stefan.schmidt@linaro.org \
    --cc=wse@tuxedocomputers.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.