linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/5] Add support for Sony Xperia SP
@ 2025-06-22 18:26 Antony Kurniawan Soemardi
  2025-06-22 18:26 ` [PATCH v2 1/5] ARM: dts: qcom: msm8960: add sdcc3 pinctrl states Antony Kurniawan Soemardi
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: Antony Kurniawan Soemardi @ 2025-06-22 18:26 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>
---
Changes in v2:
- Add explicit bias-pull-up to sdcc3_sleep_state
  The Xperia SP board file actually uses bias-pull-down, but further
  validation is needed to determine if this is a quirk. I checked the
  generic MSM8960 and Samsung Express board files, and both use
  bias-pull-up, so I believe this is the correct approach.
- Fix alignment on gsbi8 node on qcom-msm8960.dtsi
- Add new line before status in gsbi1 and gsbi5 nodes in
  qcom-msm8960.dtsi
- Add short booting notes to the qcom-msm8960-sony-huashan.dts commit
  message
- Link to v1: https://lore.kernel.org/r/20250614-msm8960-sdcard-v1-0-ccce629428b6@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      |  40 +++
 .../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           |  32 ++
 6 files changed, 446 insertions(+)
---
base-commit: 75f5f23f8787c5e184fcb2fbcd02d8e9317dc5e7
change-id: 20250601-msm8960-sdcard-e21de49aa8e4

Best regards,
--
Antony Kurniawan Soemardi <linux@smankusors.com>


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH v2 1/5] ARM: dts: qcom: msm8960: add sdcc3 pinctrl states
  2025-06-22 18:26 [PATCH v2 0/5] Add support for Sony Xperia SP Antony Kurniawan Soemardi
@ 2025-06-22 18:26 ` Antony Kurniawan Soemardi
  2025-06-23 12:33   ` Konrad Dybcio
  2025-06-22 18:26 ` [PATCH v2 2/5] ARM: dts: qcom: msm8960: add gsbi8 and its serial configuration Antony Kurniawan Soemardi
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 12+ messages in thread
From: Antony Kurniawan Soemardi @ 2025-06-22 18:26 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      | 40 ++++++++++++++++++++++
 .../dts/qcom/qcom-msm8960-samsung-expressatt.dts   |  5 +++
 2 files changed, 45 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..f18753e9f5ef3b8ebd33cb0ca0b2cfd1010b679c 100644
--- a/arch/arm/boot/dts/qcom/qcom-msm8960-pins.dtsi
+++ b/arch/arm/boot/dts/qcom/qcom-msm8960-pins.dtsi
@@ -18,4 +18,44 @@ 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>;
+			bias-pull-up;
+		};
+
+		data-pins {
+			pins = "sdc3_data";
+			drive-strength = <2>;
+			bias-pull-up;
+		};
+	};
 };
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] 12+ messages in thread

* [PATCH v2 2/5] ARM: dts: qcom: msm8960: add gsbi8 and its serial configuration
  2025-06-22 18:26 [PATCH v2 0/5] Add support for Sony Xperia SP Antony Kurniawan Soemardi
  2025-06-22 18:26 ` [PATCH v2 1/5] ARM: dts: qcom: msm8960: add sdcc3 pinctrl states Antony Kurniawan Soemardi
@ 2025-06-22 18:26 ` Antony Kurniawan Soemardi
  2025-06-23 10:39   ` Konrad Dybcio
  2025-06-22 18:26 ` [PATCH v2 3/5] ARM: dts: qcom: msm8960: disable gsbi1 and gsbi5 nodes in msm8960 dtsi Antony Kurniawan Soemardi
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 12+ messages in thread
From: Antony Kurniawan Soemardi @ 2025-06-22 18:26 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 | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
index 4babd0bbe5d638b228e05cdfe6b068b4ea16335f..588ac6c7a51a667202550432bee14fa14f3f74e7 100644
--- a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
+++ b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
@@ -333,6 +333,34 @@ 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] 12+ messages in thread

* [PATCH v2 3/5] ARM: dts: qcom: msm8960: disable gsbi1 and gsbi5 nodes in msm8960 dtsi
  2025-06-22 18:26 [PATCH v2 0/5] Add support for Sony Xperia SP Antony Kurniawan Soemardi
  2025-06-22 18:26 ` [PATCH v2 1/5] ARM: dts: qcom: msm8960: add sdcc3 pinctrl states Antony Kurniawan Soemardi
  2025-06-22 18:26 ` [PATCH v2 2/5] ARM: dts: qcom: msm8960: add gsbi8 and its serial configuration Antony Kurniawan Soemardi
@ 2025-06-22 18:26 ` Antony Kurniawan Soemardi
  2025-06-23 10:40   ` Konrad Dybcio
  2025-06-22 18:26 ` [PATCH v2 4/5] dt-bindings: arm: qcom: add Sony Xperia SP Antony Kurniawan Soemardi
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 12+ messages in thread
From: Antony Kurniawan Soemardi @ 2025-06-22 18:26 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 | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
index 588ac6c7a51a667202550432bee14fa14f3f74e7..4916e0d1f528a9320b66fb5bce3928beaa203e5e 100644
--- a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
+++ b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
@@ -322,6 +322,8 @@ gsbi5: gsbi@16400000 {
 
 			syscon-tcsr = <&tcsr>;
 
+			status = "disabled";
+
 			gsbi5_serial: serial@16440000 {
 				compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
 				reg = <0x16440000 0x1000>,
@@ -445,6 +447,8 @@ gsbi1: gsbi@16000000 {
 			#size-cells = <1>;
 			ranges;
 
+			status = "disabled";
+
 			gsbi1_spi: spi@16080000 {
 				compatible = "qcom,spi-qup-v1.1.1";
 				#address-cells = <1>;

-- 
2.34.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH v2 4/5] dt-bindings: arm: qcom: add Sony Xperia SP
  2025-06-22 18:26 [PATCH v2 0/5] Add support for Sony Xperia SP Antony Kurniawan Soemardi
                   ` (2 preceding siblings ...)
  2025-06-22 18:26 ` [PATCH v2 3/5] ARM: dts: qcom: msm8960: disable gsbi1 and gsbi5 nodes in msm8960 dtsi Antony Kurniawan Soemardi
@ 2025-06-22 18:26 ` Antony Kurniawan Soemardi
  2025-06-23  6:14   ` Krzysztof Kozlowski
  2025-06-22 18:26 ` [PATCH v2 5/5] ARM: dts: qcom: add device tree for " Antony Kurniawan Soemardi
  2025-07-17  4:31 ` [PATCH v2 0/5] Add support " Bjorn Andersson
  5 siblings, 1 reply; 12+ messages in thread
From: Antony Kurniawan Soemardi @ 2025-06-22 18:26 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] 12+ messages in thread

* [PATCH v2 5/5] ARM: dts: qcom: add device tree for Sony Xperia SP
  2025-06-22 18:26 [PATCH v2 0/5] Add support for Sony Xperia SP Antony Kurniawan Soemardi
                   ` (3 preceding siblings ...)
  2025-06-22 18:26 ` [PATCH v2 4/5] dt-bindings: arm: qcom: add Sony Xperia SP Antony Kurniawan Soemardi
@ 2025-06-22 18:26 ` Antony Kurniawan Soemardi
  2025-06-23 11:19   ` Konrad Dybcio
  2025-07-17  4:31 ` [PATCH v2 0/5] Add support " Bjorn Andersson
  5 siblings, 1 reply; 12+ messages in thread
From: Antony Kurniawan Soemardi @ 2025-06-22 18:26 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.

Booting notes:
Booting a kernel requires using the Sony ELF boot image format, which
embeds the kernel, ramdisk, RPM firmware, and cmdline. This can be
created using the `mkelf` tool. For example:

  python2 mkelf.py -o boot.img \
    kernel+dtb@0x80208000 \
    ramdisk.img@0x81900000 \
    RPM.bin@0x00020000,rpm \
    cmdline.txt@cmdline

The resulting `boot.img` can then be flashed via fastboot. A detailed
guide, including an alternative method, is available at:
https://wiki.postmarketos.org/wiki/Sony_Xperia_SP_(sony-huashan)

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] 12+ messages in thread

* Re: [PATCH v2 4/5] dt-bindings: arm: qcom: add Sony Xperia SP
  2025-06-22 18:26 ` [PATCH v2 4/5] dt-bindings: arm: qcom: add Sony Xperia SP Antony Kurniawan Soemardi
@ 2025-06-23  6:14   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 12+ messages in thread
From: Krzysztof Kozlowski @ 2025-06-23  6:14 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 22/06/2025 20:26, Antony Kurniawan Soemardi wrote:
> 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(+)
> 

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v2 2/5] ARM: dts: qcom: msm8960: add gsbi8 and its serial configuration
  2025-06-22 18:26 ` [PATCH v2 2/5] ARM: dts: qcom: msm8960: add gsbi8 and its serial configuration Antony Kurniawan Soemardi
@ 2025-06-23 10:39   ` Konrad Dybcio
  0 siblings, 0 replies; 12+ messages in thread
From: Konrad Dybcio @ 2025-06-23 10:39 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/22/25 8:26 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>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v2 3/5] ARM: dts: qcom: msm8960: disable gsbi1 and gsbi5 nodes in msm8960 dtsi
  2025-06-22 18:26 ` [PATCH v2 3/5] ARM: dts: qcom: msm8960: disable gsbi1 and gsbi5 nodes in msm8960 dtsi Antony Kurniawan Soemardi
@ 2025-06-23 10:40   ` Konrad Dybcio
  0 siblings, 0 replies; 12+ messages in thread
From: Konrad Dybcio @ 2025-06-23 10:40 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/22/25 8:26 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>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v2 5/5] ARM: dts: qcom: add device tree for Sony Xperia SP
  2025-06-22 18:26 ` [PATCH v2 5/5] ARM: dts: qcom: add device tree for " Antony Kurniawan Soemardi
@ 2025-06-23 11:19   ` Konrad Dybcio
  0 siblings, 0 replies; 12+ messages in thread
From: Konrad Dybcio @ 2025-06-23 11:19 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/22/25 8:26 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.
> 
> 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.
> 
> Booting notes:
> Booting a kernel requires using the Sony ELF boot image format, which
> embeds the kernel, ramdisk, RPM firmware, and cmdline. This can be
> created using the `mkelf` tool. For example:
> 
>   python2 mkelf.py -o boot.img \
>     kernel+dtb@0x80208000 \
>     ramdisk.img@0x81900000 \
>     RPM.bin@0x00020000,rpm \
>     cmdline.txt@cmdline
> 
> The resulting `boot.img` can then be flashed via fastboot. A detailed
> guide, including an alternative method, is available at:
> https://wiki.postmarketos.org/wiki/Sony_Xperia_SP_(sony-huashan)
> 
> Signed-off-by: Antony Kurniawan Soemardi <linux@smankusors.com>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v2 1/5] ARM: dts: qcom: msm8960: add sdcc3 pinctrl states
  2025-06-22 18:26 ` [PATCH v2 1/5] ARM: dts: qcom: msm8960: add sdcc3 pinctrl states Antony Kurniawan Soemardi
@ 2025-06-23 12:33   ` Konrad Dybcio
  0 siblings, 0 replies; 12+ messages in thread
From: Konrad Dybcio @ 2025-06-23 12: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/22/25 8:26 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>
> ---

[...]

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

This counts as a possible fix, but I don't think anyone's gonna
complain

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v2 0/5] Add support for Sony Xperia SP
  2025-06-22 18:26 [PATCH v2 0/5] Add support for Sony Xperia SP Antony Kurniawan Soemardi
                   ` (4 preceding siblings ...)
  2025-06-22 18:26 ` [PATCH v2 5/5] ARM: dts: qcom: add device tree for " Antony Kurniawan Soemardi
@ 2025-07-17  4:31 ` Bjorn Andersson
  5 siblings, 0 replies; 12+ messages in thread
From: Bjorn Andersson @ 2025-07-17  4:31 UTC (permalink / raw)
  To: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Antony Kurniawan Soemardi
  Cc: linux-arm-msm, devicetree, linux-kernel, Max Shevchenko,
	Rudraksha Gupta


On Sun, 22 Jun 2025 18:26:36 +0000, Antony Kurniawan Soemardi wrote:
> 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:
> 
> [...]

Applied, thanks!

[1/5] ARM: dts: qcom: msm8960: add sdcc3 pinctrl states
      commit: b538c2f893cf72773132cfc2beae8d08a8e06543
[2/5] ARM: dts: qcom: msm8960: add gsbi8 and its serial configuration
      commit: 12d17b6bc4ac3d322360b13072da9eeaeacd7970
[3/5] ARM: dts: qcom: msm8960: disable gsbi1 and gsbi5 nodes in msm8960 dtsi
      commit: cee2575e2de8816fe3dca047c3fc6dcf25dd0a94
[4/5] dt-bindings: arm: qcom: add Sony Xperia SP
      commit: 82322c7cef16091e646b7e8a227ef1e4f8a3b287
[5/5] ARM: dts: qcom: add device tree for Sony Xperia SP
      commit: 7dabe771b072f7f6c09358d72ccc3d08266d7a34

Best regards,
-- 
Bjorn Andersson <andersson@kernel.org>

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2025-07-17  4:31 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-22 18:26 [PATCH v2 0/5] Add support for Sony Xperia SP Antony Kurniawan Soemardi
2025-06-22 18:26 ` [PATCH v2 1/5] ARM: dts: qcom: msm8960: add sdcc3 pinctrl states Antony Kurniawan Soemardi
2025-06-23 12:33   ` Konrad Dybcio
2025-06-22 18:26 ` [PATCH v2 2/5] ARM: dts: qcom: msm8960: add gsbi8 and its serial configuration Antony Kurniawan Soemardi
2025-06-23 10:39   ` Konrad Dybcio
2025-06-22 18:26 ` [PATCH v2 3/5] ARM: dts: qcom: msm8960: disable gsbi1 and gsbi5 nodes in msm8960 dtsi Antony Kurniawan Soemardi
2025-06-23 10:40   ` Konrad Dybcio
2025-06-22 18:26 ` [PATCH v2 4/5] dt-bindings: arm: qcom: add Sony Xperia SP Antony Kurniawan Soemardi
2025-06-23  6:14   ` Krzysztof Kozlowski
2025-06-22 18:26 ` [PATCH v2 5/5] ARM: dts: qcom: add device tree for " Antony Kurniawan Soemardi
2025-06-23 11:19   ` Konrad Dybcio
2025-07-17  4:31 ` [PATCH v2 0/5] Add support " Bjorn Andersson

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