* [PATCH 1/2] arm64: dts: qcom: sc8280xp: Add camera MCLK pinctrl
@ 2026-06-07 16:04 Pengyu Luo
2026-06-07 16:04 ` [PATCH 2/2] arm64: dts: qcom: sc8280xp-x13s: Use predefined " Pengyu Luo
0 siblings, 1 reply; 3+ messages in thread
From: Pengyu Luo @ 2026-06-07 16:04 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Pengyu Luo, Vladimir Zapolskiy, linux-arm-msm, devicetree,
linux-kernel
Define pinctrl definitions to enable camera master clocks on sc8280xp.
Suggested-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Signed-off-by: Pengyu Luo <mitltlatltl@gmail.com>
---
arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 56 ++++++++++++++++++++++++++
1 file changed, 56 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
index a2bd6b10e475..0dbcd3069a3b 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
@@ -5484,6 +5484,62 @@ tlmm: pinctrl@f100000 {
gpio-ranges = <&tlmm 0 0 230>;
wakeup-parent = <&pdc>;
+ cam_mclk0_default: cam-mclk0-default-state {
+ pins = "gpio119";
+ function = "cam_mclk";
+ drive-strength = <6>;
+ bias-disable;
+ };
+
+ cam_mclk1_default: cam-mclk1-default-state {
+ pins = "gpio120";
+ function = "cam_mclk";
+ drive-strength = <6>;
+ bias-disable;
+ };
+
+ cam_mclk2_default: cam-mclk2-default-state {
+ pins = "gpio16";
+ function = "cam_mclk";
+ drive-strength = <6>;
+ bias-disable;
+ };
+
+ cam_mclk3_default: cam-mclk3-default-state {
+ pins = "gpio17";
+ function = "cam_mclk";
+ drive-strength = <6>;
+ bias-disable;
+ };
+
+ cam_mclk4_default: cam-mclk4-default-state {
+ pins = "gpio6";
+ function = "cam_mclk";
+ drive-strength = <6>;
+ bias-disable;
+ };
+
+ cam_mclk5_default: cam-mclk5-default-state {
+ pins = "gpio7";
+ function = "cam_mclk";
+ drive-strength = <6>;
+ bias-disable;
+ };
+
+ cam_mclk6_default: cam-mclk6-default-state {
+ pins = "gpio33";
+ function = "cam_mclk";
+ drive-strength = <6>;
+ bias-disable;
+ };
+
+ cam_mclk7_default: cam-mclk7-default-state {
+ pins = "gpio34";
+ function = "cam_mclk";
+ drive-strength = <6>;
+ bias-disable;
+ };
+
cci0_default: cci0-default-state {
cci0_i2c0_default: cci0-i2c0-default-pins {
/* cci_i2c_sda0, cci_i2c_scl0 */
--
2.54.0
^ permalink raw reply related [flat|nested] 3+ messages in thread* [PATCH 2/2] arm64: dts: qcom: sc8280xp-x13s: Use predefined MCLK pinctrl
2026-06-07 16:04 [PATCH 1/2] arm64: dts: qcom: sc8280xp: Add camera MCLK pinctrl Pengyu Luo
@ 2026-06-07 16:04 ` Pengyu Luo
2026-06-07 16:10 ` sashiko-bot
0 siblings, 1 reply; 3+ messages in thread
From: Pengyu Luo @ 2026-06-07 16:04 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Pengyu Luo, linux-arm-msm, devicetree, linux-kernel
Now that the predefined MCLK pinctrl configuration is available in the
sc8280xp SoC DTSI, switch the ThinkPad X13s to use it. Drop the local,
duplicate MCLK pin definition from the camera pinctrl node.
Signed-off-by: Pengyu Luo <mitltlatltl@gmail.com>
---
.../boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
index abd9c5a67b9f..5d652be69e44 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
+++ b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
@@ -674,8 +674,9 @@ camera@10 {
reg = <0x10>;
reset-gpios = <&tlmm 15 GPIO_ACTIVE_LOW>;
+
+ pinctrl-0 = <&cam_rgb_default>, <&cam_mclk3_default>;
pinctrl-names = "default";
- pinctrl-0 = <&cam_rgb_default>;
leds = <&privacy_led>;
led-names = "privacy";
@@ -1552,13 +1553,6 @@ cam_indicator_en: cam-indicator-en-state {
};
cam_rgb_default: cam-rgb-default-state {
- mclk-pins {
- pins = "gpio17";
- function = "cam_mclk";
- drive-strength = <16>;
- bias-disable;
- };
-
sc-rgb-xshut-n-pins {
pins = "gpio15";
function = "gpio";
--
2.54.0
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH 2/2] arm64: dts: qcom: sc8280xp-x13s: Use predefined MCLK pinctrl
2026-06-07 16:04 ` [PATCH 2/2] arm64: dts: qcom: sc8280xp-x13s: Use predefined " Pengyu Luo
@ 2026-06-07 16:10 ` sashiko-bot
0 siblings, 0 replies; 3+ messages in thread
From: sashiko-bot @ 2026-06-07 16:10 UTC (permalink / raw)
To: Pengyu Luo; +Cc: conor+dt, devicetree, robh
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Silent reduction of camera MCLK drive strength from 16 mA to 6 mA.
--
commit 68374459d8e6941a056f52b1b8fa71811fd7137a
Author: Pengyu Luo <mitltlatltl@gmail.com>
arm64: dts: qcom: sc8280xp-x13s: Use predefined MCLK pinctrl
This commit switches the ThinkPad X13s to use the predefined MCLK pinctrl
configuration from the sc8280xp SoC DTSI. It drops the local MCLK pin
definition from the camera pinctrl node.
> diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
> index d84ca010ab9dc..1e256b16b3e6f 100644
> --- a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
> +++ b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
> @@ -674,8 +674,9 @@ camera@10 {
> reg = <0x10>;
>
> reset-gpios = <&tlmm 15 GPIO_ACTIVE_LOW>;
> +
> + pinctrl-0 = <&cam_rgb_default>, <&cam_mclk3_default>;
> pinctrl-names = "default";
> - pinctrl-0 = <&cam_rgb_default>;
>
> leds = <&privacy_led>;
> led-names = "privacy";
[ ... ]
> @@ -1552,13 +1553,6 @@ cam_indicator_en: cam-indicator-en-state {
> };
>
> cam_rgb_default: cam-rgb-default-state {
> - mclk-pins {
> - pins = "gpio17";
> - function = "cam_mclk";
> - drive-strength = <16>;
> - bias-disable;
> - };
> -
[Severity: High]
Does this unintentionally reduce the camera MCLK drive strength?
The commit message notes this is dropping a duplicate MCLK pin definition, but
the generic cam_mclk3_default definition in sc8280xp.dtsi now used by the
camera node defaults to a lower drive strength of 6 mA:
arch/arm64/boot/dts/qcom/sc8280xp.dtsi:
cam_mclk3_default: cam-mclk3-default-state {
pins = "gpio17";
function = "cam_mclk";
drive-strength = <6>;
bias-disable;
};
Reducing the drive capability from 16 mA to 6 mA for a high-frequency master
clock signal routed over long traces might degrade signal integrity.
Could this lead to intermittent or complete camera initialization failures on
this hardware?
> sc-rgb-xshut-n-pins {
> pins = "gpio15";
> function = "gpio";
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260607160435.36546-1-mitltlatltl@gmail.com?part=2
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-06-07 16:10 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-07 16:04 [PATCH 1/2] arm64: dts: qcom: sc8280xp: Add camera MCLK pinctrl Pengyu Luo
2026-06-07 16:04 ` [PATCH 2/2] arm64: dts: qcom: sc8280xp-x13s: Use predefined " Pengyu Luo
2026-06-07 16:10 ` sashiko-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox