Skip to contentSkip to conversation

arm64: dts: qcom: add initial support for Samsung Galaxy S22

PATCH In review Violet 4 participants 7 messages Jul 29, 2025

Subsystems (3)
lore
Share & tools
lore

Violet

author
#0 lore raw

v7 cover arm64: dts: qcom: add initial support for Samsung Galaxy S22

Changes in v7:
- Document the reserved GPIO pins, remove pin 50 as it does not need to be reserved
- Clarify the phone isn't limited to USB 2.0 but rather USB 3.0 isn't implemented yet
- Add a newline before every 'status' node

Changes in v6:
- Remove debug features (bootargs, etc) that slipped in the v5 DTS
- Format and organize nodes correctly based on existing DTS, move "status = "okay";" to the bottom always
- Solve "ddr_device_type" and "qcom,rmtfs-mem" warnings, the rest are from existing SoC .dtsi
- Disable buttons, ufs and other features for later revision

Changes in v5:
- Properly format the thread

Changes in v4:
- Try to properly format the thread

Changes in v3:
- Removed unnecessary initrd start and end addresses
- Make sure r0q is in right order on Makefile
- Properly format memory addresses
- Set r0q to the correct, alphabetical order in documents

Changes in v2:
- Attempt to format the patchset thread correctly

Violet (2):
dt-bindings: arm: qcom: document r0q board binding
arm64: dts: qcom: add initial support for Samsung Galaxy S22

 .../devicetree/bindings/arm/qcom.yaml         |   1 +
 arch/arm64/boot/dts/qcom/Makefile             |   1 +
 .../boot/dts/qcom/sm8450-samsung-r0q.dts      | 147 ++++++++++++++++++
 3 files changed, 149 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/sm8450-samsung-r0q.dts
Signature · 1 line
2.50.1
author
#1 lore raw

PATCH v7 1/2 dt-bindings: arm: qcom: document r0q board binding

Add binding for the Samsung Galaxy S22 (SM-S901E) board, codenamed R0Q, which is based on the Qualcomm Snapdragon 8 Gen 1 SoC.

---
 Documentation/devicetree/bindings/arm/qcom.yaml | 1 +
 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/arm/qcom.yaml +1 -0
index ae43b3556580..64455af6c44a 100644
@@ -1095,6 +1095,7 @@ properties:
           - enum:
               - qcom,sm8450-hdk
               - qcom,sm8450-qrd
+              - samsung,r0q
               - sony,pdx223
               - sony,pdx224
           - const: qcom,sm8450
Signature · 1 line
2.50.1
#2 lore raw

Re: [PATCH v7 1/2] dt-bindings: arm: qcom: document r0q board binding

Quoted 5 lines · Violet

Add binding for the Samsung Galaxy S22 (SM-S901E) board, codenamed R0Q, which is based on the Qualcomm Snapdragon 8 Gen 1 SoC.

Actually I need to retract my Ack. You have to use real name.

I also don't get why this is v7. Where are v1-v5?

https://lore.kernel.org/all/?q=f%3Aviolet%40atl.tools

Best regards,
Krzysztof

author
#3 lore raw

PATCH v7 2/2 arm64: dts: qcom: add initial support for Samsung Galaxy S22

In reply to Violet

Add new device support for the Samsung Galaxy S22 (SM-S901E) phone

What works:
- SimpleFB
- USB

---
 arch/arm64/boot/dts/qcom/Makefile             |   1 +
 .../boot/dts/qcom/sm8450-samsung-r0q.dts      | 147 ++++++++++++++++++
 2 files changed, 148 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/sm8450-samsung-r0q.dts
arch/arm64/boot/dts/qcom/Makefile +1 -0
index 4bfa926b6a08..790613cabd08 100644
@@ -287,6 +287,7 @@ dtb-$(CONFIG_ARCH_QCOM)	+= sm8350-sony-xperia-sagami-pdx214.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sm8350-sony-xperia-sagami-pdx215.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sm8450-hdk.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sm8450-qrd.dtb
+dtb-$(CONFIG_ARCH_QCOM)	+= sm8450-samsung-r0q.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sm8450-sony-xperia-nagara-pdx223.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sm8450-sony-xperia-nagara-pdx224.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sm8550-hdk.dtb
arch/arm64/boot/dts/qcom/sm8450-samsung-r0q.dts new file +147 -0

147 lines not on this page · raw message

Signature · 1 line
2.50.1
#4 lore raw
Quoted 14 lines · Violet

Add new device support for the Samsung Galaxy S22 (SM-S901E) phone

What works:
- SimpleFB
- USB

---
  arch/arm64/boot/dts/qcom/Makefile             |   1 +
  .../boot/dts/qcom/sm8450-samsung-r0q.dts      | 147 ++++++++++++++++++
  2 files changed, 148 insertions(+)

create mode 100644 arch/arm64/boot/dts/qcom/sm8450-samsung-r0q.dts

[...]

Quoted 9 lines
arch/arm64/boot/dts/qcom/sm8450-samsung-r0q.dts new file +9 -0
+
+&tlmm {
+	gpio-reserved-ranges = <36 4>; /* SPI (not linked to anything) */
+};
+
+&usb_1 {
+	/* Keep USB 2.0 only for now */
+	qcom,select-utmi-as-pipe-clk;
+

arch/arm64/boot/dts/qcom/sm8450-samsung-r0q.dts line 140

Quoted 10 lines
arch/arm64/boot/dts/qcom/sm8450-samsung-r0q.dts new file +10 -0
+	status = "okay";
+}; > +
+&usb_1_dwc3 {
+	dr_mode = "peripheral";
+	maximum-speed = "high-speed";
+	/* Remove USB3 phy */
+	phys = <&usb_1_hsphy>;
+	phy-names = "usb2-phy";
+};
+

Hi Violet,

The usb node has been flattened recently. Its not merged yet, but it
was acked: [1]. Can you rebase your changes on top of this patch [1].

[1]: https://lore.kernel.org/all/[email protected]/

Regards,
Krishna,

Quoted 7 lines

+&usb_1_hsphy {

arch/arm64/boot/dts/qcom/sm8450-samsung-r0q.dts new file +6 -0
+	vdda-pll-supply = <&vreg_l5b_0p88>;
+	vdda18-supply = <&vreg_l1c_1p8>;
+	vdda33-supply = <&vreg_l2b_3p07>;
+
+	status = "okay";
+};
#6 lore raw
In reply to Violet
Quoted 36 lines · Violet

Changes in v7:
- Document the reserved GPIO pins, remove pin 50 as it does not need to be reserved
- Clarify the phone isn't limited to USB 2.0 but rather USB 3.0 isn't implemented yet
- Add a newline before every 'status' node

Changes in v6:
- Remove debug features (bootargs, etc) that slipped in the v5 DTS
- Format and organize nodes correctly based on existing DTS, move "status = "okay";" to the bottom always
- Solve "ddr_device_type" and "qcom,rmtfs-mem" warnings, the rest are from existing SoC .dtsi
- Disable buttons, ufs and other features for later revision

Changes in v5:
- Properly format the thread

Changes in v4:
- Try to properly format the thread

Changes in v3:
- Removed unnecessary initrd start and end addresses
- Make sure r0q is in right order on Makefile
- Properly format memory addresses
- Set r0q to the correct, alphabetical order in documents

Changes in v2:
- Attempt to format the patchset thread correctly

Violet (2):
dt-bindings: arm: qcom: document r0q board binding
arm64: dts: qcom: add initial support for Samsung Galaxy S22

Quoted 11 lines
 .../devicetree/bindings/arm/qcom.yaml         |   1 +
 arch/arm64/boot/dts/qcom/Makefile             |   1 +
 .../boot/dts/qcom/sm8450-samsung-r0q.dts      | 147 ++++++++++++++++++
 3 files changed, 149 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/sm8450-samsung-r0q.dts

--
2.50.1

My bot found new DTB warnings on the .dts files added or changed in this series.

Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings are fixed by another series. Ultimately, it is up to the platform maintainer whether these warnings are acceptable or not. No need to reply unless the platform maintainer has comments.

If you already ran DT checks and didn't see these error(s), then make sure dt-schema is up to date:

  pip3 install dtschema --upgrade

This patch series was applied (using b4) to base:
Base: attempting to guess base-commit...
Base: tags/next-20250729 (best guess, 1/2 blobs matched)

If this is not the correct base, please add 'base-commit' tag (or use b4 which does this automatically)

New warnings running 'make CHECK_DTBS=y for arch/arm64/boot/dts/qcom/' for [email protected]:

arch/arm64/boot/dts/qcom/sm8450-samsung-r0q.dtb: clock-controller@aaf0000 (qcom,sm8450-videocc): power-domains: [[98, 6]] is too short
from schema $id: http://devicetree.org/schemas/clock/qcom,sm8450-videocc.yaml#
arch/arm64/boot/dts/qcom/sm8450-samsung-r0q.dtb: clock-controller@aaf0000 (qcom,sm8450-videocc): required-opps: [[55]] is too short
from schema $id: http://devicetree.org/schemas/clock/qcom,sm8450-videocc.yaml#
arch/arm64/boot/dts/qcom/sm8450-samsung-r0q.dtb: clock-controller@aaf0000 (qcom,sm8450-videocc): Unevaluated properties are not allowed ('power-domains', 'required-opps' were unexpected)
from schema $id: http://devicetree.org/schemas/clock/qcom,sm8450-videocc.yaml#
arch/arm64/boot/dts/qcom/sm8450-samsung-r0q.dtb: clock-controller@ade0000 (qcom,sm8450-camcc): power-domains: [[98, 6]] is too short
from schema $id: http://devicetree.org/schemas/clock/qcom,sm8450-camcc.yaml#
arch/arm64/boot/dts/qcom/sm8450-samsung-r0q.dtb: clock-controller@ade0000 (qcom,sm8450-camcc): required-opps: [[55]] is too short
from schema $id: http://devicetree.org/schemas/clock/qcom,sm8450-camcc.yaml#