* [PATCH v4 0/3] Add support and enable the debug UART in the Pixel 3a and Pixel 3a XL
@ 2026-06-01 16:55 Pablo Correa Gómez via B4 Relay
2026-06-01 16:55 ` [PATCH v4 1/3] arm64: dts: qcom: sdm670: add default uart pinctrl nodes Pablo Correa Gómez via B4 Relay
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Pablo Correa Gómez via B4 Relay @ 2026-06-01 16:55 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Richard Acayan,
~postmarketos/upstreaming, Pablo Correa Gómez, Konrad Dybcio,
Dmitry Baryshkov
In order to get logs through the SBU pins in Google Pixel devices, it is
necessary to add support to the devicetree, and enable the corresponding
UART. With this code and an USB-Cereal board, I was able to get full kernel
logs through serial.
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
---
Changes in v4:
- Picked Reviewed-by tags
- Link to v3: https://patch.msgid.link/20260601-pabloyoyoista-debug-uart-on-rdacayan-next-v3-0-6fdcd669364e@postmarketos.org
Changes in v3:
- Drop dependency on already-picked patches
- Link to v2: https://patch.msgid.link/20260328-pabloyoyoista-debug-uart-on-rdacayan-next-v2-0-53abd9db8f0a@postmarketos.org
Changes in v2:
- Fix typo in (3/3) commit message
- Link to v1: https://patch.msgid.link/20260328-pabloyoyoista-debug-uart-on-rdacayan-next-v1-0-0babf584acdb@postmarketos.org
---
Pablo Correa Gómez (3):
arm64: dts: qcom: sdm670: add default uart pinctrl nodes
arm64: dts: qcom: sdm670: add debug uart soc node
arm64: dts: qcom: sdm670-google-common: enable debug uart
arch/arm64/boot/dts/qcom/sdm670-google-common.dtsi | 18 +-
arch/arm64/boot/dts/qcom/sdm670.dtsi | 207 +++++++++++++++++++++
2 files changed, 224 insertions(+), 1 deletion(-)
---
base-commit: be0cd82a9f584e562b243684303054134c8f6583
change-id: 20260328-pabloyoyoista-debug-uart-on-rdacayan-next-69274358cef4
Best regards,
--
Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH v4 1/3] arm64: dts: qcom: sdm670: add default uart pinctrl nodes
2026-06-01 16:55 [PATCH v4 0/3] Add support and enable the debug UART in the Pixel 3a and Pixel 3a XL Pablo Correa Gómez via B4 Relay
@ 2026-06-01 16:55 ` Pablo Correa Gómez via B4 Relay
2026-06-16 13:25 ` Konrad Dybcio
2026-06-01 16:55 ` [PATCH v4 2/3] arm64: dts: qcom: sdm670: add debug uart soc node Pablo Correa Gómez via B4 Relay
2026-06-01 16:55 ` [PATCH v4 3/3] arm64: dts: qcom: sdm670-google-common: enable debug uart Pablo Correa Gómez via B4 Relay
2 siblings, 1 reply; 5+ messages in thread
From: Pablo Correa Gómez via B4 Relay @ 2026-06-01 16:55 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Richard Acayan,
~postmarketos/upstreaming, Pablo Correa Gómez
From: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
This is a pre-requisite to enable UART in sargo and bonito. Values for
the pins have been taken from sdm845, and cross-checking dowstream,
where available.
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
---
arch/arm64/boot/dts/qcom/sdm670.dtsi | 192 +++++++++++++++++++++++++++++++++++
1 file changed, 192 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sdm670.dtsi b/arch/arm64/boot/dts/qcom/sdm670.dtsi
index 30844b150c80..1c6c18a913a0 100644
--- a/arch/arm64/boot/dts/qcom/sdm670.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm670.dtsi
@@ -1343,6 +1343,198 @@ qup_i2c15_default: qup-i2c15-default-state {
function = "qup15";
};
+ qup_uart0_default: qup-uart0-default-state {
+ qup_uart0_tx: tx-pins {
+ pins = "gpio2";
+ function = "qup0";
+ };
+
+ qup_uart0_rx: rx-pins {
+ pins = "gpio3";
+ function = "qup0";
+ };
+ };
+
+ qup_uart1_default: qup-uart1-default-state {
+ qup_uart1_tx: tx-pins {
+ pins = "gpio19";
+ function = "qup1";
+ };
+
+ qup_uart1_rx: rx-pins {
+ pins = "gpio20";
+ function = "qup1";
+ };
+ };
+
+ qup_uart2_default: qup-uart2-default-state {
+ qup_uart2_tx: tx-pins {
+ pins = "gpio29";
+ function = "qup2";
+ };
+
+ qup_uart2_rx: rx-pins {
+ pins = "gpio30";
+ function = "qup2";
+ };
+ };
+
+ qup_uart3_default: qup-uart3-default-state {
+ qup_uart3_tx: tx-pins {
+ pins = "gpio43";
+ function = "qup3";
+ };
+
+ qup_uart3_rx: rx-pins {
+ pins = "gpio44";
+ function = "qup3";
+ };
+ };
+
+ qup_uart4_default: qup-uart4-default-state {
+ qup_uart4_tx: tx-pins {
+ pins = "gpio91";
+ function = "qup4";
+ };
+
+ qup_uart4_rx: rx-pins {
+ pins = "gpio92";
+ function = "qup4";
+ };
+ };
+
+ qup_uart5_default: qup-uart5-default-state {
+ qup_uart5_tx: tx-pins {
+ pins = "gpio87";
+ function = "qup5";
+ };
+
+ qup_uart5_rx: rx-pins {
+ pins = "gpio88";
+ function = "qup5";
+ };
+ };
+
+ qup_uart6_default: qup-uart6-default-state {
+ qup_uart6_tx: tx-pins {
+ pins = "gpio47";
+ function = "qup6";
+ };
+
+ qup_uart6_rx: rx-pins {
+ pins = "gpio48";
+ function = "qup6";
+ };
+ };
+
+ qup_uart7_default: qup-uart7-default-state {
+ qup_uart7_tx: tx-pins {
+ pins = "gpio95";
+ function = "qup7";
+ };
+
+ qup_uart7_rx: rx-pins {
+ pins = "gpio96";
+ function = "qup7";
+ };
+ };
+
+ qup_uart8_default: qup-uart8-default-state {
+ qup_uart8_tx: tx-pins {
+ pins = "gpio67";
+ function = "qup8";
+ };
+
+ qup_uart8_rx: rx-pins {
+ pins = "gpio68";
+ function = "qup8";
+ };
+ };
+
+ qup_uart9_default: qup-uart9-default-state {
+ qup_uart9_tx: tx-pins {
+ pins = "gpio4";
+ function = "qup9";
+ };
+
+ qup_uart9_rx: rx-pins {
+ pins = "gpio5";
+ function = "qup9";
+ };
+ };
+
+ qup_uart10_default: qup-uart10-default-state {
+ qup_uart10_tx: tx-pins {
+ pins = "gpio53";
+ function = "qup10";
+ };
+
+ qup_uart10_rx: rx-pins {
+ pins = "gpio54";
+ function = "qup10";
+ };
+ };
+
+ qup_uart11_default: qup-uart11-default-state {
+ qup_uart11_tx: tx-pins {
+ pins = "gpio33";
+ function = "qup11";
+ };
+
+ qup_uart11_rx: rx-pins {
+ pins = "gpio34";
+ function = "qup11";
+ };
+ };
+
+ qup_uart12_default: qup-uart12-default-state {
+ qup_uart12_tx: tx-pins {
+ pins = "gpio51";
+ function = "qup12";
+ };
+
+ qup_uart12_rx: rx-pins {
+ pins = "gpio52";
+ function = "qup12";
+ };
+ };
+
+ qup_uart13_default: qup-uart13-default-state {
+ qup_uart13_tx: tx-pins {
+ pins = "gpio107";
+ function = "qup13";
+ };
+
+ qup_uart13_rx: rx-pins {
+ pins = "gpio108";
+ function = "qup13";
+ };
+ };
+
+ qup_uart14_default: qup-uart14-default-state {
+ qup_uart14_tx: tx-pins {
+ pins = "gpio31";
+ function = "qup14";
+ };
+
+ qup_uart14_rx: rx-pins {
+ pins = "gpio32";
+ function = "qup14";
+ };
+ };
+
+ qup_uart15_default: qup-uart15-default-state {
+ qup_uart15_tx: tx-pins {
+ pins = "gpio83";
+ function = "qup15";
+ };
+
+ qup_uart15_rx: rx-pins {
+ pins = "gpio84";
+ function = "qup15";
+ };
+ };
+
sdc1_state_on: sdc1-on-state {
clk-pins {
pins = "sdc1_clk";
--
2.54.0
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH v4 1/3] arm64: dts: qcom: sdm670: add default uart pinctrl nodes
2026-06-01 16:55 ` [PATCH v4 1/3] arm64: dts: qcom: sdm670: add default uart pinctrl nodes Pablo Correa Gómez via B4 Relay
@ 2026-06-16 13:25 ` Konrad Dybcio
0 siblings, 0 replies; 5+ messages in thread
From: Konrad Dybcio @ 2026-06-16 13:25 UTC (permalink / raw)
To: pabloyoyoista, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Richard Acayan,
~postmarketos/upstreaming
On 6/1/26 6:55 PM, Pablo Correa Gómez via B4 Relay wrote:
> From: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
>
> This is a pre-requisite to enable UART in sargo and bonito. Values for
> the pins have been taken from sdm845, and cross-checking dowstream,
> where available.
>
> Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
> ---
[...]
> + qup_uart0_default: qup-uart0-default-state {
> + qup_uart0_tx: tx-pins {
> + pins = "gpio2";
> + function = "qup0";
> + };
> +
> + qup_uart0_rx: rx-pins {
> + pins = "gpio3";
> + function = "qup0";
> + };
Let's drop the unused labels and let's bring the default config
(bias-disable + drive-strength = <2>) to the SoC DT, like we have
in glymur.dtsi
Please also cross-check whether the pull-up you enable in your
phone's DT is actually necessary (and whether it's defined as such
in the vendor DT - FWIW it's not in the sdm670-pinctrl.dtsi common
one)
Konrad
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v4 2/3] arm64: dts: qcom: sdm670: add debug uart soc node
2026-06-01 16:55 [PATCH v4 0/3] Add support and enable the debug UART in the Pixel 3a and Pixel 3a XL Pablo Correa Gómez via B4 Relay
2026-06-01 16:55 ` [PATCH v4 1/3] arm64: dts: qcom: sdm670: add default uart pinctrl nodes Pablo Correa Gómez via B4 Relay
@ 2026-06-01 16:55 ` Pablo Correa Gómez via B4 Relay
2026-06-01 16:55 ` [PATCH v4 3/3] arm64: dts: qcom: sdm670-google-common: enable debug uart Pablo Correa Gómez via B4 Relay
2 siblings, 0 replies; 5+ messages in thread
From: Pablo Correa Gómez via B4 Relay @ 2026-06-01 16:55 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Richard Acayan,
~postmarketos/upstreaming, Pablo Correa Gómez, Konrad Dybcio,
Dmitry Baryshkov
From: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Values are taken from the other geni nodes
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
---
arch/arm64/boot/dts/qcom/sdm670.dtsi | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sdm670.dtsi b/arch/arm64/boot/dts/qcom/sdm670.dtsi
index 1c6c18a913a0..400d5d8ef9fa 100644
--- a/arch/arm64/boot/dts/qcom/sdm670.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm670.dtsi
@@ -1060,6 +1060,21 @@ i2c12: i2c@a90000 {
status = "disabled";
};
+ uart12: serial@a90000 {
+ compatible = "qcom,geni-debug-uart";
+ reg = <0 0x00a90000 0 0x4000>;
+ clock-names = "se";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&qup_uart12_default>;
+ interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
+ power-domains = <&rpmhpd SDM670_CX>;
+ interconnects = <&aggre2_noc MASTER_BLSP_2 0 &config_noc SLAVE_BLSP_2 0>,
+ <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_2 0>;
+ interconnect-names = "qup-core", "qup-config";
+ status = "disabled";
+ };
+
i2c13: i2c@a94000 {
compatible = "qcom,geni-i2c";
reg = <0 0x00a94000 0 0x4000>;
--
2.54.0
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH v4 3/3] arm64: dts: qcom: sdm670-google-common: enable debug uart
2026-06-01 16:55 [PATCH v4 0/3] Add support and enable the debug UART in the Pixel 3a and Pixel 3a XL Pablo Correa Gómez via B4 Relay
2026-06-01 16:55 ` [PATCH v4 1/3] arm64: dts: qcom: sdm670: add default uart pinctrl nodes Pablo Correa Gómez via B4 Relay
2026-06-01 16:55 ` [PATCH v4 2/3] arm64: dts: qcom: sdm670: add debug uart soc node Pablo Correa Gómez via B4 Relay
@ 2026-06-01 16:55 ` Pablo Correa Gómez via B4 Relay
2 siblings, 0 replies; 5+ messages in thread
From: Pablo Correa Gómez via B4 Relay @ 2026-06-01 16:55 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Richard Acayan,
~postmarketos/upstreaming, Pablo Correa Gómez, Konrad Dybcio,
Dmitry Baryshkov
From: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
This has been tested on the Pixel 3a with USB Cereal board
Depends on
https://lore.kernel.org/all/20260310002606.16413-5-mailingradian@gmail.com/
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
---
arch/arm64/boot/dts/qcom/sdm670-google-common.dtsi | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/sdm670-google-common.dtsi b/arch/arm64/boot/dts/qcom/sdm670-google-common.dtsi
index 0f57b915186b..711664c83b5f 100644
--- a/arch/arm64/boot/dts/qcom/sdm670-google-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm670-google-common.dtsi
@@ -26,7 +26,9 @@
/delete-node/ &gpu_mem;
/ {
- aliases { };
+ aliases {
+ serial0 = &uart12;
+ };
battery: battery {
compatible = "simple-battery";
@@ -622,6 +624,16 @@ &qupv3_id_1 {
status = "okay";
};
+&qup_uart12_rx {
+ drive-strength = <2>;
+ bias-pull-up;
+};
+
+&qup_uart12_tx {
+ drive-strength = <2>;
+ bias-disable;
+};
+
&sdhc_1 {
supports-cqe;
mmc-hs200-1_8v;
@@ -688,6 +700,10 @@ ts-switch-pins {
};
};
+&uart12 {
+ status = "okay";
+};
+
&usb_1_hsphy {
vdd-supply = <&vreg_l1b_0p925>;
vdda-pll-supply = <&vreg_l10a_1p8>;
--
2.54.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-06-16 13:25 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-01 16:55 [PATCH v4 0/3] Add support and enable the debug UART in the Pixel 3a and Pixel 3a XL Pablo Correa Gómez via B4 Relay
2026-06-01 16:55 ` [PATCH v4 1/3] arm64: dts: qcom: sdm670: add default uart pinctrl nodes Pablo Correa Gómez via B4 Relay
2026-06-16 13:25 ` Konrad Dybcio
2026-06-01 16:55 ` [PATCH v4 2/3] arm64: dts: qcom: sdm670: add debug uart soc node Pablo Correa Gómez via B4 Relay
2026-06-01 16:55 ` [PATCH v4 3/3] arm64: dts: qcom: sdm670-google-common: enable debug uart Pablo Correa Gómez via B4 Relay
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox