arm64: dts: qcom: sm8550: add Xiaomi Pad 6S Pro (sheng)
PATCH v4 1/1 arm64: dts: qcom: sm8550: add Xiaomi Pad 6S Pro (sheng)
From: map220v <[email protected]>
Add device tree for Xiaomi Pad 6S Pro (sheng) based on SM8550.
---
v4: address Sashiko AI review comments
- Add GPIO_OPEN_DRAIN to shared cs35l43 reset-gpios to avoid -EBUSY
- Set Bluetooth local-bd-address to [ 00 00 00 00 00 00 ]
v3: address review comments from Konrad Dybcio
- SM8550P has no modem; confirmed on device (dmesg shows no mpss)
- Rename fingerprint_fpc -> fingerprint-reader, use interrupts-extended
- pmic-glink compatibles: one per line
- Sort DAI link subnodes alphabetically (codec before cpu)
- Reorder root-level nodes by name
- Place pinctrl-n properties before pinctrl-names
- Remove msm-id, board-id, Xiaomi-specific comments
- Remove output-low/output-high from TLMM pinctrl
- Remove udmabuf bootargs (confirmed not in use on device)
- Add "xiaomi-" prefix to firmware paths
--- arch/arm64/boot/dts/qcom/Makefile | 1 + .../boot/dts/qcom/sm8550-xiaomi-sheng.dts | 1763 +++++++++++++++++ 2 files changed, 1764 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/sm8550-xiaomi-sheng.dts
arch/arm64/boot/dts/qcom/Makefile +1 -0
@@ -386,6 +386,7 @@ dtb-$(CONFIG_ARCH_QCOM) += sm8550-mtp.dtb dtb-$(CONFIG_ARCH_QCOM) += sm8550-qrd.dtb dtb-$(CONFIG_ARCH_QCOM) += sm8550-samsung-q5q.dtb dtb-$(CONFIG_ARCH_QCOM) += sm8550-sony-xperia-yodo-pdx234.dtb +dtb-$(CONFIG_ARCH_QCOM) += sm8550-xiaomi-sheng.dtb dtb-$(CONFIG_ARCH_QCOM) += sm8650-ayaneo-pocket-s2.dtb sm8650-hdk-display-card-dtbs := sm8650-hdk.dtb sm8650-hdk-display-card.dtbo
arch/arm64/boot/dts/qcom/sm8550-xiaomi-sheng.dts new file +1763 -0
1,763 lines not on this page · raw message
Signature · 1 line
2.54.0.windows.1
[email protected]
AI reviewThank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider: - [High] Sharing the same reset GPIO across multiple cs35l43 codec nodes using `GPIO_OPEN_DRAIN` does not…
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] Sharing the same reset GPIO across multiple cs35l43 codec nodes using GPIO_OPEN_DRAIN does not prevent -EBUSY probe failures.
- [Medium] The commit message claims to 'Remove output-low/output-high from TLMM pinctrl', but output-high is still present in the i2s1_default pin configuration. --
--- Patch [1]: [PATCH v4] arm64: dts: qcom: sm8550: add Xiaomi Pad 6S Pro (sheng) --- commit 409a566ed91cfcb1ea5b448084073b5d36eb09ec
Author: map220v <[email protected]>
arm64: dts: qcom: sm8550: add Xiaomi Pad 6S Pro (sheng)
Add device tree for Xiaomi Pad 6S Pro (sheng) based on SM8550.
Quoted 5 lines
arch/arm64/boot/dts/qcom/sm8550-xiaomi-sheng.dts new file +0
-0
[ ... ]
arch/arm64/boot/dts/qcom/sm8550-xiaomi-sheng.dts line 1041
Quoted 10 lines
+&i2c5 {
arch/arm64/boot/dts/qcom/sm8550-xiaomi-sheng.dts new file +9
-0+ clock-frequency = <1000000>; + status = "okay"; + + cs35l43_trl: cs35l43@40 { + compatible = "cirrus,cs35l43"; + reg = <0x40>; + interrupt-parent = <&tlmm>; + interrupts = <98 IRQ_TYPE_LEVEL_LOW>; + reset-gpios = <&tlmm 90 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
[Severity: High]
The commit message mentions adding GPIO_OPEN_DRAIN to avoid -EBUSY on shared reset-gpios. Does this actually prevent the probe failures?
When devm_gpiod_get_optional() is called by the codec driver without GPIOD_FLAGS_BIT_NONEXCLUSIVE in the driver's C code, gpiolib enforces exclusive access.
Since GPIO_OPEN_DRAIN only configures the hardware output behavior, it looks like the first cs35l43 codec instance will succeed but the subsequent instances will still fail to probe with -EBUSY.
[ ... ]
arch/arm64/boot/dts/qcom/sm8550-xiaomi-sheng.dts line 1609
Quoted 8 lines
arch/arm64/boot/dts/qcom/sm8550-xiaomi-sheng.dts new file +8
-0+ i2s1_default: i2s1-default-state { + sck-pins { + pins = "gpio121"; + function = "i2s1_sck"; + drive-strength = <8>; + bias-disable; + output-high; + };
[Severity: Medium]
The commit message states "Remove output-low/output-high from TLMM pinctrl", but output-high is still present in this i2s1_default pin configuration. Did this get missed during the cleanup?
Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=1