* [PATCH 0/5] Add support for Sony Xperia SP
@ 2025-06-13 17:50 Antony Kurniawan Soemardi
2025-06-13 17:50 ` [PATCH 1/5] ARM: dts: qcom: msm8960: add sdcc3 pinctrl states Antony Kurniawan Soemardi
` (4 more replies)
0 siblings, 5 replies; 13+ messages in thread
From: Antony Kurniawan Soemardi @ 2025-06-13 17:50 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel,
Antony Kurniawan Soemardi, Max Shevchenko, Rudraksha Gupta
This patch series adds initial support for the Sony Xperia SP (codename:
sony-huashan), a smartphone based on the Qualcomm MSM8960T SoC. The
MSM8960T is a variant of the MSM8960 featuring an upgraded GPU (Adreno
320 instead of Adreno 225) and a slightly overclocked CPU (1.7GHz
instead of 1.5GHz).
The following changes are included:
1. Adding sdcc3 pinctrl states to ensure micro SD card functionality.
2. Adding gsbi8 node and serial configuration for the MSM8960 SoC.
3. Disabling unused gsbi1 and gsbi5 nodes in the MSM8960 SoC device
tree.
4. Documentation for the Sony Xperia SP.
5. Initial device tree support for the Sony Xperia SP, including serial
console, GPIO keys, PM8921 keypad, eMMC, micro SD card, and USB OTG.
This patch series has been tested on the non-LTE variant of the
Xperia SP.
Signed-off-by: Antony Kurniawan Soemardi <linux@smankusors.com>
---
Antony Kurniawan Soemardi (5):
ARM: dts: qcom: msm8960: add sdcc3 pinctrl states
ARM: dts: qcom: msm8960: add gsbi8 and its serial configuration
ARM: dts: qcom: msm8960: disable gsbi1 and gsbi5 nodes in msm8960 dtsi
dt-bindings: arm: qcom: add Sony Xperia SP
ARM: dts: qcom: add device tree for Sony Xperia SP
Documentation/devicetree/bindings/arm/qcom.yaml | 7 +
arch/arm/boot/dts/qcom/Makefile | 1 +
arch/arm/boot/dts/qcom/qcom-msm8960-pins.dtsi | 38 +++
.../dts/qcom/qcom-msm8960-samsung-expressatt.dts | 5 +
.../boot/dts/qcom/qcom-msm8960-sony-huashan.dts | 361 +++++++++++++++++++++
arch/arm/boot/dts/qcom/qcom-msm8960.dtsi | 26 ++
6 files changed, 438 insertions(+)
---
base-commit: 8630c59e99363c4b655788fd01134aef9bcd9264
change-id: 20250601-msm8960-sdcard-e21de49aa8e4
Best regards,
--
Antony Kurniawan Soemardi <linux@smankusors.com>
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/5] ARM: dts: qcom: msm8960: add sdcc3 pinctrl states
2025-06-13 17:50 [PATCH 0/5] Add support for Sony Xperia SP Antony Kurniawan Soemardi
@ 2025-06-13 17:50 ` Antony Kurniawan Soemardi
2025-06-14 18:30 ` Konrad Dybcio
2025-06-13 17:50 ` [PATCH 2/5] ARM: dts: qcom: msm8960: add gsbi8 and its serial configuration Antony Kurniawan Soemardi
` (3 subsequent siblings)
4 siblings, 1 reply; 13+ messages in thread
From: Antony Kurniawan Soemardi @ 2025-06-13 17:50 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel,
Antony Kurniawan Soemardi, Max Shevchenko, Rudraksha Gupta
Adds sdcc3-default-state and sdcc3-sleep-state pinctrl states for
MSM8960. These are required for devices like Sony Xperia SP to ensure
micro SD card functionality, though they are a no-op on the Samsung
Galaxy Express.
Tested-by: Rudraksha Gupta <guptarud@gmail.com>
Signed-off-by: Antony Kurniawan Soemardi <linux@smankusors.com>
---
arch/arm/boot/dts/qcom/qcom-msm8960-pins.dtsi | 38 ++++++++++++++++++++++
.../dts/qcom/qcom-msm8960-samsung-expressatt.dts | 5 +++
2 files changed, 43 insertions(+)
diff --git a/arch/arm/boot/dts/qcom/qcom-msm8960-pins.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8960-pins.dtsi
index 4fa98277128897a531c54296576a6f15cd6d2a28..77fe5be24b36fbda83ba73034939db10db6ef4c8 100644
--- a/arch/arm/boot/dts/qcom/qcom-msm8960-pins.dtsi
+++ b/arch/arm/boot/dts/qcom/qcom-msm8960-pins.dtsi
@@ -18,4 +18,42 @@ i2c3-pins {
bias-bus-hold;
};
};
+
+ sdcc3_default_state: sdcc3-default-state {
+ clk-pins {
+ pins = "sdc3_clk";
+ drive-strength = <8>;
+ bias-disable;
+ };
+
+ cmd-pins {
+ pins = "sdc3_cmd";
+ drive-strength = <8>;
+ bias-pull-up;
+ };
+
+ data-pins {
+ pins = "sdc3_data";
+ drive-strength = <8>;
+ bias-pull-up;
+ };
+ };
+
+ sdcc3_sleep_state: sdcc3-sleep-state {
+ clk-pins {
+ pins = "sdc3_clk";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ cmd-pins {
+ pins = "sdc3_cmd";
+ drive-strength = <2>;
+ };
+
+ data-pins {
+ pins = "sdc3_data";
+ drive-strength = <2>;
+ };
+ };
};
diff --git a/arch/arm/boot/dts/qcom/qcom-msm8960-samsung-expressatt.dts b/arch/arm/boot/dts/qcom/qcom-msm8960-samsung-expressatt.dts
index af6cc6393d740d30f3555825175ea6851d406166..49d117ea033a0ef73c134d1225982786fbded2c2 100644
--- a/arch/arm/boot/dts/qcom/qcom-msm8960-samsung-expressatt.dts
+++ b/arch/arm/boot/dts/qcom/qcom-msm8960-samsung-expressatt.dts
@@ -71,6 +71,11 @@ &sdcc1 {
&sdcc3 {
vmmc-supply = <&pm8921_l6>;
vqmmc-supply = <&pm8921_l7>;
+
+ pinctrl-0 = <&sdcc3_default_state>;
+ pinctrl-1 = <&sdcc3_sleep_state>;
+ pinctrl-names = "default", "sleep";
+
status = "okay";
};
--
2.34.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 2/5] ARM: dts: qcom: msm8960: add gsbi8 and its serial configuration
2025-06-13 17:50 [PATCH 0/5] Add support for Sony Xperia SP Antony Kurniawan Soemardi
2025-06-13 17:50 ` [PATCH 1/5] ARM: dts: qcom: msm8960: add sdcc3 pinctrl states Antony Kurniawan Soemardi
@ 2025-06-13 17:50 ` Antony Kurniawan Soemardi
2025-06-14 18:32 ` Konrad Dybcio
2025-06-13 17:50 ` [PATCH 3/5] ARM: dts: qcom: msm8960: disable gsbi1 and gsbi5 nodes in msm8960 dtsi Antony Kurniawan Soemardi
` (2 subsequent siblings)
4 siblings, 1 reply; 13+ messages in thread
From: Antony Kurniawan Soemardi @ 2025-06-13 17:50 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel,
Antony Kurniawan Soemardi, Max Shevchenko, Rudraksha Gupta
The LTE variant of the MSM8960 SoC has a gsbi8 node used for the
serial console.
That's if the downstream kernel is to be believed, as Xperia SP has
a serial console on gsbi8 even on the non-LTE variant.
Signed-off-by: Antony Kurniawan Soemardi <linux@smankusors.com>
---
arch/arm/boot/dts/qcom/qcom-msm8960.dtsi | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
index 4babd0bbe5d638b228e05cdfe6b068b4ea16335f..66071ad498e49c4f54ba105fa94640575fe08da6 100644
--- a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
+++ b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
@@ -333,6 +333,30 @@ gsbi5_serial: serial@16440000 {
};
};
+ gsbi8: gsbi@1a000000 {
+ compatible = "qcom,gsbi-v1.0.0";
+ cell-index = <8>;
+ reg = <0x1a000000 0x100>;
+ clocks = <&gcc GSBI8_H_CLK>;
+ clock-names = "iface";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ syscon-tcsr = <&tcsr>;
+ status = "disabled";
+
+ gsbi8_serial: serial@1a040000 {
+ compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
+ reg = <0x1a040000 0x1000>,
+ <0x1a000000 0x1000>;
+ interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&gcc GSBI8_UART_CLK>, <&gcc GSBI8_H_CLK>;
+ clock-names = "core", "iface";
+ status = "disabled";
+ };
+ };
+
ssbi: ssbi@500000 {
compatible = "qcom,ssbi";
reg = <0x500000 0x1000>;
--
2.34.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 3/5] ARM: dts: qcom: msm8960: disable gsbi1 and gsbi5 nodes in msm8960 dtsi
2025-06-13 17:50 [PATCH 0/5] Add support for Sony Xperia SP Antony Kurniawan Soemardi
2025-06-13 17:50 ` [PATCH 1/5] ARM: dts: qcom: msm8960: add sdcc3 pinctrl states Antony Kurniawan Soemardi
2025-06-13 17:50 ` [PATCH 2/5] ARM: dts: qcom: msm8960: add gsbi8 and its serial configuration Antony Kurniawan Soemardi
@ 2025-06-13 17:50 ` Antony Kurniawan Soemardi
2025-06-14 18:33 ` Konrad Dybcio
2025-06-13 17:50 ` [PATCH 4/5] dt-bindings: arm: qcom: add Sony Xperia SP Antony Kurniawan Soemardi
2025-06-13 17:51 ` [PATCH 5/5] ARM: dts: qcom: add device tree for " Antony Kurniawan Soemardi
4 siblings, 1 reply; 13+ messages in thread
From: Antony Kurniawan Soemardi @ 2025-06-13 17:50 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel,
Antony Kurniawan Soemardi, Max Shevchenko, Rudraksha Gupta
Not all devices use gsbi1 and gsbi5, so these nodes should be disabled
in the SoC dtsi, following the existing pattern used for gsbi3. The
upstream samsung-expressatt and msm8960-cdp devices already have status
"okay" for these nodes, so this change should not break existing
functionality.
This eliminates the following error messages when gsbi nodes are not
configured in the board's device tree:
[ 1.109723] gsbi 16000000.gsbi: missing mode configuration
[ 1.109797] gsbi 16000000.gsbi: probe with driver gsbi failed with error -22
(Note: Xperia SP doesn't use gsbi5)
Signed-off-by: Antony Kurniawan Soemardi <linux@smankusors.com>
---
arch/arm/boot/dts/qcom/qcom-msm8960.dtsi | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
index 66071ad498e49c4f54ba105fa94640575fe08da6..84d4d1bffa9f73b5e395e4290b8dc856e0966e9b 100644
--- a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
+++ b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
@@ -321,6 +321,7 @@ gsbi5: gsbi@16400000 {
ranges;
syscon-tcsr = <&tcsr>;
+ status = "disabled";
gsbi5_serial: serial@16440000 {
compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
@@ -440,6 +441,7 @@ gsbi1: gsbi@16000000 {
#address-cells = <1>;
#size-cells = <1>;
ranges;
+ status = "disabled";
gsbi1_spi: spi@16080000 {
compatible = "qcom,spi-qup-v1.1.1";
--
2.34.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 4/5] dt-bindings: arm: qcom: add Sony Xperia SP
2025-06-13 17:50 [PATCH 0/5] Add support for Sony Xperia SP Antony Kurniawan Soemardi
` (2 preceding siblings ...)
2025-06-13 17:50 ` [PATCH 3/5] ARM: dts: qcom: msm8960: disable gsbi1 and gsbi5 nodes in msm8960 dtsi Antony Kurniawan Soemardi
@ 2025-06-13 17:50 ` Antony Kurniawan Soemardi
2025-06-13 17:51 ` [PATCH 5/5] ARM: dts: qcom: add device tree for " Antony Kurniawan Soemardi
4 siblings, 0 replies; 13+ messages in thread
From: Antony Kurniawan Soemardi @ 2025-06-13 17:50 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel,
Antony Kurniawan Soemardi, Max Shevchenko, Rudraksha Gupta
Document the Sony Xperia SP (huashan), which uses the MSM8960T SoC.
The MSM8960T is a variant of the MSM8960 featuring an upgraded GPU
(Adreno 320 instead of Adreno 225) and a slightly overclocked CPU
(1.7GHz instead of 1.5GHz).
Signed-off-by: Antony Kurniawan Soemardi <linux@smankusors.com>
---
Documentation/devicetree/bindings/arm/qcom.yaml | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index 56f78f0f3803fedcb6422efd6adec3bbc81c2e03..6a957901a664b26c586e45876447b83f849fb5ba 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -44,6 +44,7 @@ description: |
msm8953
msm8956
msm8960
+ msm8960t
msm8974
msm8974pro
msm8976
@@ -203,6 +204,12 @@ properties:
- samsung,expressatt
- const: qcom,msm8960
+ - items:
+ - enum:
+ - sony,huashan
+ - const: qcom,msm8960t
+ - const: qcom,msm8960
+
- items:
- enum:
- lge,hammerhead
--
2.34.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 5/5] ARM: dts: qcom: add device tree for Sony Xperia SP
2025-06-13 17:50 [PATCH 0/5] Add support for Sony Xperia SP Antony Kurniawan Soemardi
` (3 preceding siblings ...)
2025-06-13 17:50 ` [PATCH 4/5] dt-bindings: arm: qcom: add Sony Xperia SP Antony Kurniawan Soemardi
@ 2025-06-13 17:51 ` Antony Kurniawan Soemardi
2025-06-14 18:36 ` Konrad Dybcio
4 siblings, 1 reply; 13+ messages in thread
From: Antony Kurniawan Soemardi @ 2025-06-13 17:51 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel,
Antony Kurniawan Soemardi, Max Shevchenko, Rudraksha Gupta
Add initial device tree support for the Sony Xperia SP (codename:
sony-huashan), a smartphone based on the Qualcomm MSM8960T SoC.
There are two variants of the Xperia SP, one without LTE and one with
LTE. This device tree should work for both variants, though it has only
been tested on the non-LTE variant.
The following are currently supported:
- Serial console support via gsbi8
- GPIO keys for volume up/down buttons
- PM8921 keypad with camera focus/capture keys
- eMMC (sdcc1) and micro SD card (sdcc3) support
- USB OTG support
Other hardware features are not yet implemented.
Signed-off-by: Antony Kurniawan Soemardi <linux@smankusors.com>
---
arch/arm/boot/dts/qcom/Makefile | 1 +
.../boot/dts/qcom/qcom-msm8960-sony-huashan.dts | 361 +++++++++++++++++++++
2 files changed, 362 insertions(+)
diff --git a/arch/arm/boot/dts/qcom/Makefile b/arch/arm/boot/dts/qcom/Makefile
index 0c1d116f6e84f76994aa8c8286350bdcd1657a42..220ee204c8569e7039edae090bf1d0db379ba54e 100644
--- a/arch/arm/boot/dts/qcom/Makefile
+++ b/arch/arm/boot/dts/qcom/Makefile
@@ -43,6 +43,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \
qcom-msm8926-samsung-matisselte.dtb \
qcom-msm8960-cdp.dtb \
qcom-msm8960-samsung-expressatt.dtb \
+ qcom-msm8960-sony-huashan.dtb \
qcom-msm8974-lge-nexus5-hammerhead.dtb \
qcom-msm8974-samsung-hlte.dtb \
qcom-msm8974-sony-xperia-rhine-amami.dtb \
diff --git a/arch/arm/boot/dts/qcom/qcom-msm8960-sony-huashan.dts b/arch/arm/boot/dts/qcom/qcom-msm8960-sony-huashan.dts
new file mode 100644
index 0000000000000000000000000000000000000000..f2f59fc8b9b61e18b0ec4ed1fc2d813585a75f15
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/qcom-msm8960-sony-huashan.dts
@@ -0,0 +1,361 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Copyright (c) 2025, Antony Kurniawan Soemardi <linux@smankusors.com>
+ */
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
+#include <dt-bindings/reset/qcom,gcc-msm8960.h>
+
+#include "qcom-msm8960.dtsi"
+#include "pm8921.dtsi"
+
+/ {
+ model = "Sony Xperia SP";
+ compatible = "sony,huashan", "qcom,msm8960t", "qcom,msm8960";
+ chassis-type = "handset";
+
+ aliases {
+ serial0 = &gsbi8_serial;
+ mmc0 = &sdcc1; /* SDCC1 eMMC slot */
+ mmc1 = &sdcc3; /* SDCC3 SD card slot */
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ key-volume-up {
+ label = "Volume Up";
+ gpios = <&pm8921_gpio 21 GPIO_ACTIVE_LOW>;
+ debounce-interval = <10>;
+ linux,code = <KEY_VOLUMEUP>;
+ };
+
+ key-volume-down {
+ label = "Volume Down";
+ gpios = <&pm8921_gpio 20 GPIO_ACTIVE_LOW>;
+ debounce-interval = <10>;
+ linux,code = <KEY_VOLUMEDOWN>;
+ };
+ };
+};
+
+&gsbi8 {
+ qcom,mode = <GSBI_PROT_I2C_UART>;
+ status = "okay";
+};
+
+&gsbi8_serial {
+ status = "okay";
+};
+
+&pm8921 {
+ interrupts-extended = <&msmgpio 104 IRQ_TYPE_LEVEL_LOW>;
+};
+
+&pm8921_gpio {
+ keypad_default_state: keypad-default-state {
+ keypad-sense-pins {
+ pins = "gpio1", "gpio2", "gpio3", "gpio4", "gpio5";
+ function = PMIC_GPIO_FUNC_NORMAL;
+ bias-pull-up;
+ input-enable;
+ power-source = <PM8921_GPIO_S4>;
+ qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
+ qcom,pull-up-strength = <PMIC_GPIO_PULL_UP_31P5>;
+ };
+
+ keypad-drive-pins {
+ pins = "gpio9", "gpio10";
+ function = PMIC_GPIO_FUNC_FUNC1;
+ bias-disable;
+ drive-open-drain;
+ output-low;
+ power-source = <PM8921_GPIO_S4>;
+ qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
+ };
+ };
+};
+
+&pm8921_keypad {
+ linux,keymap = <
+ MATRIX_KEY(1, 0, KEY_CAMERA_FOCUS)
+ MATRIX_KEY(1, 1, KEY_CAMERA)
+ >;
+ keypad,num-rows = <2>;
+ keypad,num-columns = <5>;
+
+ pinctrl-0 = <&keypad_default_state>;
+ pinctrl-names = "default";
+
+ status = "okay";
+};
+
+&rpm {
+ regulators {
+ compatible = "qcom,rpm-pm8921-regulators";
+ vin_lvs1_3_6-supply = <&pm8921_s4>;
+ vin_lvs2-supply = <&pm8921_s4>;
+ vin_lvs4_5_7-supply = <&pm8921_s4>;
+ vdd_ncp-supply = <&pm8921_l6>;
+ vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
+ vdd_l21_l23_l29-supply = <&pm8921_s8>;
+ vdd_l24-supply = <&pm8921_s1>;
+ vdd_l25-supply = <&pm8921_s1>;
+ vdd_l26-supply = <&pm8921_s7>;
+ vdd_l27-supply = <&pm8921_s7>;
+ vdd_l28-supply = <&pm8921_s7>;
+ vdd_l29-supply = <&pm8921_s8>;
+
+ /* Buck SMPS */
+ pm8921_s1: s1 {
+ regulator-always-on;
+ regulator-min-microvolt = <1225000>;
+ regulator-max-microvolt = <1225000>;
+ qcom,switch-mode-frequency = <3200000>;
+ bias-pull-down;
+ };
+
+ pm8921_s2: s2 {
+ regulator-min-microvolt = <1300000>;
+ regulator-max-microvolt = <1300000>;
+ qcom,switch-mode-frequency = <1600000>;
+ bias-pull-down;
+ };
+
+ pm8921_s3: s3 {
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1150000>;
+ qcom,switch-mode-frequency = <4800000>;
+ bias-pull-down;
+ };
+
+ pm8921_s4: s4 {
+ regulator-always-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ qcom,switch-mode-frequency = <1600000>;
+ bias-pull-down;
+ qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
+ };
+
+ pm8921_s7: s7 {
+ regulator-min-microvolt = <1150000>;
+ regulator-max-microvolt = <1150000>;
+ qcom,switch-mode-frequency = <3200000>;
+ bias-pull-down;
+ };
+
+ pm8921_s8: s8 {
+ regulator-always-on;
+ regulator-min-microvolt = <2050000>;
+ regulator-max-microvolt = <2050000>;
+ qcom,switch-mode-frequency = <1600000>;
+ bias-pull-down;
+ };
+
+ /* PMOS LDO */
+ pm8921_l1: l1 {
+ regulator-always-on;
+ regulator-min-microvolt = <1050000>;
+ regulator-max-microvolt = <1050000>;
+ bias-pull-down;
+ };
+
+ pm8921_l2: l2 {
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ bias-pull-down;
+ };
+
+ pm8921_l3: l3 {
+ regulator-min-microvolt = <3075000>;
+ regulator-max-microvolt = <3075000>;
+ bias-pull-down;
+ };
+
+ pm8921_l4: l4 {
+ regulator-always-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ bias-pull-down;
+ };
+
+ pm8921_l5: l5 {
+ regulator-min-microvolt = <2950000>;
+ regulator-max-microvolt = <2950000>;
+ bias-pull-down;
+ };
+
+ pm8921_l6: l6 {
+ regulator-min-microvolt = <2950000>;
+ regulator-max-microvolt = <2950000>;
+ bias-pull-down;
+ };
+
+ pm8921_l7: l7 {
+ regulator-always-on;
+ regulator-min-microvolt = <1850000>;
+ regulator-max-microvolt = <2950000>;
+ bias-pull-down;
+ };
+
+ pm8921_l8: l8 {
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <3000000>;
+ bias-pull-down;
+ };
+
+ pm8921_l9: l9 {
+ regulator-min-microvolt = <2850000>;
+ regulator-max-microvolt = <2850000>;
+ bias-pull-down;
+ };
+
+ pm8921_l10: l10 {
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+ bias-pull-down;
+ };
+
+ pm8921_l11: l11 {
+ regulator-min-microvolt = <2600000>;
+ regulator-max-microvolt = <3000000>;
+ bias-pull-down;
+ };
+
+ pm8921_l12: l12 {
+ regulator-min-microvolt = <1050000>;
+ regulator-max-microvolt = <1200000>;
+ bias-pull-down;
+ };
+
+ pm8921_l14: l14 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ bias-pull-down;
+ };
+
+ pm8921_l15: l15 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <2950000>;
+ bias-pull-down;
+ };
+
+ pm8921_l16: l16 {
+ regulator-min-microvolt = <2600000>;
+ regulator-max-microvolt = <3000000>;
+ bias-pull-down;
+ };
+
+ pm8921_l17: l17 {
+ regulator-always-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3000000>;
+ bias-pull-down;
+ };
+
+ pm8921_l18: l18 {
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ bias-pull-down;
+ };
+
+ pm8921_l21: l21 {
+ regulator-min-microvolt = <1900000>;
+ regulator-max-microvolt = <1900000>;
+ bias-pull-down;
+ };
+
+ pm8921_l22: l22 {
+ regulator-min-microvolt = <2750000>;
+ regulator-max-microvolt = <2750000>;
+ bias-pull-down;
+ };
+
+ pm8921_l23: l23 {
+ regulator-always-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ bias-pull-down;
+ };
+
+ pm8921_l24: l24 {
+ regulator-min-microvolt = <750000>;
+ regulator-max-microvolt = <1150000>;
+ bias-pull-down;
+ };
+
+ pm8921_l25: l25 {
+ regulator-always-on;
+ regulator-min-microvolt = <1225000>;
+ regulator-max-microvolt = <1225000>;
+ bias-pull-down;
+ };
+
+ /* Low Voltage Switch */
+ pm8921_lvs1: lvs1 {
+ bias-pull-down;
+ };
+
+ pm8921_lvs2: lvs2 {
+ bias-pull-down;
+ };
+
+ pm8921_lvs3: lvs3 {
+ bias-pull-down;
+ };
+
+ pm8921_lvs4: lvs4 {
+ bias-pull-down;
+ };
+
+ pm8921_lvs5: lvs5 {
+ bias-pull-down;
+ };
+
+ pm8921_lvs6: lvs6 {
+ bias-pull-down;
+ };
+
+ pm8921_lvs7: lvs7 {
+ bias-pull-down;
+ };
+
+ pm8921_ncp: ncp {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ qcom,switch-mode-frequency = <1600000>;
+ };
+ };
+};
+
+&sdcc1 {
+ vmmc-supply = <&pm8921_l5>;
+ status = "okay";
+};
+
+&sdcc3 {
+ vmmc-supply = <&pm8921_l6>;
+ vqmmc-supply = <&pm8921_l7>;
+
+ pinctrl-0 = <&sdcc3_default_state>;
+ pinctrl-1 = <&sdcc3_sleep_state>;
+ pinctrl-names = "default", "sleep";
+
+ status = "okay";
+};
+
+&usb_hs1_phy {
+ v3p3-supply = <&pm8921_l3>;
+ v1p8-supply = <&pm8921_l4>;
+};
+
+&usb1 {
+ dr_mode = "otg";
+ status = "okay";
+};
--
2.34.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 1/5] ARM: dts: qcom: msm8960: add sdcc3 pinctrl states
2025-06-13 17:50 ` [PATCH 1/5] ARM: dts: qcom: msm8960: add sdcc3 pinctrl states Antony Kurniawan Soemardi
@ 2025-06-14 18:30 ` Konrad Dybcio
0 siblings, 0 replies; 13+ messages in thread
From: Konrad Dybcio @ 2025-06-14 18:30 UTC (permalink / raw)
To: Antony Kurniawan Soemardi, Bjorn Andersson, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Max Shevchenko,
Rudraksha Gupta
On 6/13/25 7:50 PM, Antony Kurniawan Soemardi wrote:
> Adds sdcc3-default-state and sdcc3-sleep-state pinctrl states for
> MSM8960. These are required for devices like Sony Xperia SP to ensure
> micro SD card functionality, though they are a no-op on the Samsung
> Galaxy Express.
>
> Tested-by: Rudraksha Gupta <guptarud@gmail.com>
> Signed-off-by: Antony Kurniawan Soemardi <linux@smankusors.com>
> ---
> arch/arm/boot/dts/qcom/qcom-msm8960-pins.dtsi | 38 ++++++++++++++++++++++
> .../dts/qcom/qcom-msm8960-samsung-expressatt.dts | 5 +++
> 2 files changed, 43 insertions(+)
>
> diff --git a/arch/arm/boot/dts/qcom/qcom-msm8960-pins.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8960-pins.dtsi
> index 4fa98277128897a531c54296576a6f15cd6d2a28..77fe5be24b36fbda83ba73034939db10db6ef4c8 100644
> --- a/arch/arm/boot/dts/qcom/qcom-msm8960-pins.dtsi
> +++ b/arch/arm/boot/dts/qcom/qcom-msm8960-pins.dtsi
> @@ -18,4 +18,42 @@ i2c3-pins {
> bias-bus-hold;
> };
> };
> +
> + sdcc3_default_state: sdcc3-default-state {
> + clk-pins {
> + pins = "sdc3_clk";
> + drive-strength = <8>;
> + bias-disable;
> + };
> +
> + cmd-pins {
> + pins = "sdc3_cmd";
> + drive-strength = <8>;
> + bias-pull-up;
> + };
> +
> + data-pins {
> + pins = "sdc3_data";
> + drive-strength = <8>;
> + bias-pull-up;
> + };
> + };
> +
> + sdcc3_sleep_state: sdcc3-sleep-state {
> + clk-pins {
> + pins = "sdc3_clk";
> + drive-strength = <2>;
> + bias-disable;
> + };
> +
> + cmd-pins {
> + pins = "sdc3_cmd";
> + drive-strength = <2>;
> + };
> +
> + data-pins {
> + pins = "sdc3_data";
> + drive-strength = <2>;
Please add bias-pull-up to these two as well, just to be explicit
Konrad
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/5] ARM: dts: qcom: msm8960: add gsbi8 and its serial configuration
2025-06-13 17:50 ` [PATCH 2/5] ARM: dts: qcom: msm8960: add gsbi8 and its serial configuration Antony Kurniawan Soemardi
@ 2025-06-14 18:32 ` Konrad Dybcio
0 siblings, 0 replies; 13+ messages in thread
From: Konrad Dybcio @ 2025-06-14 18:32 UTC (permalink / raw)
To: Antony Kurniawan Soemardi, Bjorn Andersson, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Max Shevchenko,
Rudraksha Gupta
On 6/13/25 7:50 PM, Antony Kurniawan Soemardi wrote:
> The LTE variant of the MSM8960 SoC has a gsbi8 node used for the
> serial console.
>
> That's if the downstream kernel is to be believed, as Xperia SP has
> a serial console on gsbi8 even on the non-LTE variant.
>
> Signed-off-by: Antony Kurniawan Soemardi <linux@smankusors.com>
> ---
> arch/arm/boot/dts/qcom/qcom-msm8960.dtsi | 24 ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
> index 4babd0bbe5d638b228e05cdfe6b068b4ea16335f..66071ad498e49c4f54ba105fa94640575fe08da6 100644
> --- a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
> +++ b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
> @@ -333,6 +333,30 @@ gsbi5_serial: serial@16440000 {
> };
> };
>
> + gsbi8: gsbi@1a000000 {
> + compatible = "qcom,gsbi-v1.0.0";
> + cell-index = <8>;
> + reg = <0x1a000000 0x100>;
> + clocks = <&gcc GSBI8_H_CLK>;
> + clock-names = "iface";
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges;
> +
> + syscon-tcsr = <&tcsr>;
> + status = "disabled";
> +
> + gsbi8_serial: serial@1a040000 {
> + compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
> + reg = <0x1a040000 0x1000>,
> + <0x1a000000 0x1000>;
This is way off - please make sure you editor's tab width is set to 8
and align the '<'s
> + interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&gcc GSBI8_UART_CLK>, <&gcc GSBI8_H_CLK>;
> + clock-names = "core", "iface";
Please also keep one entry per line, '<'s and '"' aligned.
I know it's not how other nodes do it, but this is an old file
Konrad
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 3/5] ARM: dts: qcom: msm8960: disable gsbi1 and gsbi5 nodes in msm8960 dtsi
2025-06-13 17:50 ` [PATCH 3/5] ARM: dts: qcom: msm8960: disable gsbi1 and gsbi5 nodes in msm8960 dtsi Antony Kurniawan Soemardi
@ 2025-06-14 18:33 ` Konrad Dybcio
0 siblings, 0 replies; 13+ messages in thread
From: Konrad Dybcio @ 2025-06-14 18:33 UTC (permalink / raw)
To: Antony Kurniawan Soemardi, Bjorn Andersson, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Max Shevchenko,
Rudraksha Gupta
On 6/13/25 7:50 PM, Antony Kurniawan Soemardi wrote:
> Not all devices use gsbi1 and gsbi5, so these nodes should be disabled
> in the SoC dtsi, following the existing pattern used for gsbi3. The
> upstream samsung-expressatt and msm8960-cdp devices already have status
> "okay" for these nodes, so this change should not break existing
> functionality.
>
> This eliminates the following error messages when gsbi nodes are not
> configured in the board's device tree:
> [ 1.109723] gsbi 16000000.gsbi: missing mode configuration
> [ 1.109797] gsbi 16000000.gsbi: probe with driver gsbi failed with error -22
>
> (Note: Xperia SP doesn't use gsbi5)
>
> Signed-off-by: Antony Kurniawan Soemardi <linux@smankusors.com>
> ---
> arch/arm/boot/dts/qcom/qcom-msm8960.dtsi | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
> index 66071ad498e49c4f54ba105fa94640575fe08da6..84d4d1bffa9f73b5e395e4290b8dc856e0966e9b 100644
> --- a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
> +++ b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
> @@ -321,6 +321,7 @@ gsbi5: gsbi@16400000 {
> ranges;
>
> syscon-tcsr = <&tcsr>;
> + status = "disabled";
>
> gsbi5_serial: serial@16440000 {
> compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
> @@ -440,6 +441,7 @@ gsbi1: gsbi@16000000 {
> #address-cells = <1>;
> #size-cells = <1>;
> ranges;
> + status = "disabled";
I know I'm picking on style a whole lot, but please keep a newline
before 'status
Konrad
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 5/5] ARM: dts: qcom: add device tree for Sony Xperia SP
2025-06-13 17:51 ` [PATCH 5/5] ARM: dts: qcom: add device tree for " Antony Kurniawan Soemardi
@ 2025-06-14 18:36 ` Konrad Dybcio
2025-06-14 20:46 ` Antony Kurniawan Soemardi
0 siblings, 1 reply; 13+ messages in thread
From: Konrad Dybcio @ 2025-06-14 18:36 UTC (permalink / raw)
To: Antony Kurniawan Soemardi, Bjorn Andersson, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Max Shevchenko,
Rudraksha Gupta
On 6/13/25 7:51 PM, Antony Kurniawan Soemardi wrote:
> Add initial device tree support for the Sony Xperia SP (codename:
> sony-huashan), a smartphone based on the Qualcomm MSM8960T SoC.
>
> There are two variants of the Xperia SP, one without LTE and one with
> LTE. This device tree should work for both variants, though it has only
> been tested on the non-LTE variant.
IIUC (and that's a 10yo range memory), SP had some eyebrow-rising boot
flow (some partitions were non-standard?) - could you please add a
paragraph about it in the commit message if that's the case, and maybe
include a short how-to on booting the thing?
>
> The following are currently supported:
> - Serial console support via gsbi8
> - GPIO keys for volume up/down buttons
> - PM8921 keypad with camera focus/capture keys
> - eMMC (sdcc1) and micro SD card (sdcc3) support
> - USB OTG support
>
> Other hardware features are not yet implemented.
>
> Signed-off-by: Antony Kurniawan Soemardi <linux@smankusors.com>
> ---
As for the code.. I don't really have comments other than please
keep a \n before 'status', other things seem rather in order.. If
the dt checker doesn't complain, I don't see any logical wrongs
Konrad
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 5/5] ARM: dts: qcom: add device tree for Sony Xperia SP
2025-06-14 18:36 ` Konrad Dybcio
@ 2025-06-14 20:46 ` Antony Kurniawan Soemardi
2025-06-15 12:35 ` Dmitry Baryshkov
2025-06-16 11:48 ` Konrad Dybcio
0 siblings, 2 replies; 13+ messages in thread
From: Antony Kurniawan Soemardi @ 2025-06-14 20:46 UTC (permalink / raw)
To: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Max Shevchenko,
Rudraksha Gupta
On 6/15/2025 1:36 AM, Konrad Dybcio wrote:
> IIUC (and that's a 10yo range memory), SP had some eyebrow-rising boot
> flow (some partitions were non-standard?) - could you please add a
> paragraph about it in the commit message if that's the case, and maybe
> include a short how-to on booting the thing?
Is it acceptable to provide the pmOS wiki link in the commit message
instead?
https://wiki.postmarketos.org/wiki/Sony_Xperia_SP_(sony-huashan)
Or should I include a paragraph explaining it? It might be lengthy since
I'd need to add download links for the mkelf and the RPM blob.
But in a nutshell, concatenate the kernel with the DTB, create a SonyELF
boot image, and then boot it.
> As for the code.. I don't really have comments other than please
> keep a \n before 'status', other things seem rather in order.. If
> the dt checker doesn't complain, I don't see any logical wrongs
>
> Konrad
Thanks for the review. Going to sent the second version later.
As for the other things... well in my opinion it's not kinda in order,
especially the nodes ordering at qcom-msm8960.dtsi. Welp that might be
a separate patch I think...
Thanks,
Antony K. S.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 5/5] ARM: dts: qcom: add device tree for Sony Xperia SP
2025-06-14 20:46 ` Antony Kurniawan Soemardi
@ 2025-06-15 12:35 ` Dmitry Baryshkov
2025-06-16 11:48 ` Konrad Dybcio
1 sibling, 0 replies; 13+ messages in thread
From: Dmitry Baryshkov @ 2025-06-15 12:35 UTC (permalink / raw)
To: Antony Kurniawan Soemardi
Cc: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
linux-kernel, Max Shevchenko, Rudraksha Gupta
On Sat, Jun 14, 2025 at 08:46:41PM +0000, Antony Kurniawan Soemardi wrote:
> On 6/15/2025 1:36 AM, Konrad Dybcio wrote:
> > IIUC (and that's a 10yo range memory), SP had some eyebrow-rising boot
> > flow (some partitions were non-standard?) - could you please add a
> > paragraph about it in the commit message if that's the case, and maybe
> > include a short how-to on booting the thing?
> Is it acceptable to provide the pmOS wiki link in the commit message
> instead?
> https://wiki.postmarketos.org/wiki/Sony_Xperia_SP_(sony-huashan)
>
> Or should I include a paragraph explaining it? It might be lengthy since
> I'd need to add download links for the mkelf and the RPM blob.
>
> But in a nutshell, concatenate the kernel with the DTB, create a SonyELF
> boot image, and then boot it.
>
> > As for the code.. I don't really have comments other than please
> > keep a \n before 'status', other things seem rather in order.. If
> > the dt checker doesn't complain, I don't see any logical wrongs
> >
> > Konrad
> Thanks for the review. Going to sent the second version later.
>
> As for the other things... well in my opinion it's not kinda in order,
> especially the nodes ordering at qcom-msm8960.dtsi. Welp that might be
> a separate patch I think...
Yes, those old platforms might enjoy some tender, love and care. Please
send separate patches, imroving node order, etc.
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 5/5] ARM: dts: qcom: add device tree for Sony Xperia SP
2025-06-14 20:46 ` Antony Kurniawan Soemardi
2025-06-15 12:35 ` Dmitry Baryshkov
@ 2025-06-16 11:48 ` Konrad Dybcio
1 sibling, 0 replies; 13+ messages in thread
From: Konrad Dybcio @ 2025-06-16 11:48 UTC (permalink / raw)
To: Antony Kurniawan Soemardi, Bjorn Andersson, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Max Shevchenko,
Rudraksha Gupta
On 6/14/25 10:46 PM, Antony Kurniawan Soemardi wrote:
> On 6/15/2025 1:36 AM, Konrad Dybcio wrote:
>> IIUC (and that's a 10yo range memory), SP had some eyebrow-rising boot
>> flow (some partitions were non-standard?) - could you please add a
>> paragraph about it in the commit message if that's the case, and maybe
>> include a short how-to on booting the thing?
> Is it acceptable to provide the pmOS wiki link in the commit message instead?
> https://wiki.postmarketos.org/wiki/Sony_Xperia_SP_(sony-huashan)
>
> Or should I include a paragraph explaining it? It might be lengthy since
> I'd need to add download links for the mkelf and the RPM blob.
A link is okay in this case - pmOS wiki has been with us for a while and
I don't expect it to go down anytime soon.
Konrad
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2025-06-16 11:48 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-13 17:50 [PATCH 0/5] Add support for Sony Xperia SP Antony Kurniawan Soemardi
2025-06-13 17:50 ` [PATCH 1/5] ARM: dts: qcom: msm8960: add sdcc3 pinctrl states Antony Kurniawan Soemardi
2025-06-14 18:30 ` Konrad Dybcio
2025-06-13 17:50 ` [PATCH 2/5] ARM: dts: qcom: msm8960: add gsbi8 and its serial configuration Antony Kurniawan Soemardi
2025-06-14 18:32 ` Konrad Dybcio
2025-06-13 17:50 ` [PATCH 3/5] ARM: dts: qcom: msm8960: disable gsbi1 and gsbi5 nodes in msm8960 dtsi Antony Kurniawan Soemardi
2025-06-14 18:33 ` Konrad Dybcio
2025-06-13 17:50 ` [PATCH 4/5] dt-bindings: arm: qcom: add Sony Xperia SP Antony Kurniawan Soemardi
2025-06-13 17:51 ` [PATCH 5/5] ARM: dts: qcom: add device tree for " Antony Kurniawan Soemardi
2025-06-14 18:36 ` Konrad Dybcio
2025-06-14 20:46 ` Antony Kurniawan Soemardi
2025-06-15 12:35 ` Dmitry Baryshkov
2025-06-16 11:48 ` Konrad Dybcio
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).