.../devicetree/bindings/arm/qcom.yaml | 1 + arch/arm64/boot/dts/qcom/Makefile | 1 + .../boot/dts/qcom/sm6125-xiaomi-ginkgo.dts | 294 ++++++++++++++++++ 3 files changed, 296 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo.dts
This patchset introduces support for the Redmi Note 8 (codenamed ginkgo). This series is a follow-up to v1 (message-id in in-reply-to header) which was sent without a cover letter. Changes in v2: - Add missing cover letter - Fix up commit message for schema Gabriel Gonzales (2): dt-bindings: arm: qcom: Add Xiaomi Redmi Note 8 arm64: dts: qcom: sm6125: Initial support for xiaomi-ginkgo .../devicetree/bindings/arm/qcom.yaml | 1 + arch/arm64/boot/dts/qcom/Makefile | 1 + .../boot/dts/qcom/sm6125-xiaomi-ginkgo.dts | 294 ++++++++++++++++++ 3 files changed, 296 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo.dts -- 2.48.1
This patchset introduces support for the Redmi Note 8 (codenamed ginkgo). Changes in v2: - Add missing cover letter - Fix up commit message for schema Changes in v3: - Use qcom ids instead of hardcoded msm-id (and other changes suggested by Konrad) - Switch up model properties and qcom properties position Gabriel Gonzales (2): dt-bindings: arm: qcom: Add Xiaomi Redmi Note 8 arm64: dts: qcom: sm6125: Initial support for xiaomi-ginkgo .../devicetree/bindings/arm/qcom.yaml | 1 + arch/arm64/boot/dts/qcom/Makefile | 1 + .../boot/dts/qcom/sm6125-xiaomi-ginkgo.dts | 295 ++++++++++++++++++ 3 files changed, 297 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo.dts -- 2.48.1
On 3/11/25 1:33 AM, Gabriel Gonzales wrote:
> This patchset introduces support for the Redmi Note 8 (codenamed ginkgo).
>
> Changes in v2:
> - Add missing cover letter
> - Fix up commit message for schema
> Changes in v3:
> - Use qcom ids instead of hardcoded msm-id (and other changes suggested by Konrad)
> - Switch up model properties and qcom properties position
Hi, I noticed that the msm-id is failing the dt-bindings check (need
two values, with the first one being the SoC ID and the second one being
the revision - 0x10000 as there was only ever a single rev of 6125)
I also found this dt:
https://github.com/xiaomi-ginkgo/android_kernel_xiaomi_ginkgo/blob/main/arch/arm64/boot/dts/xiaomi/ginkgo-trinket-overlay.dts
which suggests that the board ID you used may be incorrect
(you put in 22 and the link above says 34 - FWIW 0x22 == 34, maybe
that's related?)
Could you please give the below a shot and see if it still boots?
From ccef64e4058ba657ada5000ec3c2aa9b682c552b Mon Sep 17 00:00:00 2001
From: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Date: Fri, 8 Aug 2025 11:45:06 +0200
Subject: [PATCH] arm64: dts: qcom: sm6125-xiaomi-ginkgo: Fix up msm/board ID
Include a version in the SoC ID (mostly to appease the bindings
checker) and fix up the board-id according to match the device's BSP
kernel.
Link: https://github.com/xiaomi-ginkgo/android_kernel_xiaomi_ginkgo/blob/main/arch/arm64/boot/dts/xiaomi/ginkgo-trinket-overlay.dts
Fixes: 9b1a6c925c88 ("arm64: dts: qcom: sm6125: Initial support for xiaomi-ginkgo")
Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo.dts | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo.dts b/arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo.dts
index 68a237215bd1..52f74f22764d 100644
--- a/arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo.dts
+++ b/arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo.dts
@@ -19,8 +19,8 @@ / {
chassis-type = "handset";
/* required for bootloader to select correct board */
- qcom,msm-id = <QCOM_ID_SM6125>;
- qcom,board-id = <22 0>;
+ qcom,msm-id = <QCOM_ID_SM6125 0x10000>;
+ qcom,board-id = <34 0>;
chosen {
#address-cells = <2>;
--
2.50.1
Konrad
On Tue, 11 Mar 2025 08:33:46 +0800, Gabriel Gonzales wrote:
> This patchset introduces support for the Redmi Note 8 (codenamed ginkgo).
>
> Changes in v2:
> - Add missing cover letter
> - Fix up commit message for schema
> Changes in v3:
> - Use qcom ids instead of hardcoded msm-id (and other changes suggested by Konrad)
> - Switch up model properties and qcom properties position
>
> [...]
Applied, thanks!
[1/2] dt-bindings: arm: qcom: Add Xiaomi Redmi Note 8
commit: 4ca8d6f898a85070934490071e429e97bc4e219b
[2/2] arm64: dts: qcom: sm6125: Initial support for xiaomi-ginkgo
commit: 9b1a6c925c88ed9331a2cae64fb3580e05345ded
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
On Tue, 11 Mar 2025 08:33:46 +0800, Gabriel Gonzales wrote: > This patchset introduces support for the Redmi Note 8 (codenamed ginkgo). > > Changes in v2: > - Add missing cover letter > - Fix up commit message for schema > Changes in v3: > - Use qcom ids instead of hardcoded msm-id (and other changes suggested by Konrad) > - Switch up model properties and qcom properties position > > Gabriel Gonzales (2): > dt-bindings: arm: qcom: Add Xiaomi Redmi Note 8 > arm64: dts: qcom: sm6125: Initial support for xiaomi-ginkgo > > .../devicetree/bindings/arm/qcom.yaml | 1 + > arch/arm64/boot/dts/qcom/Makefile | 1 + > .../boot/dts/qcom/sm6125-xiaomi-ginkgo.dts | 295 ++++++++++++++++++ > 3 files changed, 297 insertions(+) > create mode 100644 arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo.dts > > -- > 2.48.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 New warnings running 'make CHECK_DTBS=y for arch/arm64/boot/dts/qcom/' for 20250311003353.8250-1-semfault@disroot.org: arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo.dtb: /: qcom,msm-id:0: [394] is too short from schema $id: http://devicetree.org/schemas/arm/qcom.yaml# arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo.dtb: geniqup@4ac0000: #address-cells: 2 was expected from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,geni-se.yaml# arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo.dtb: geniqup@4ac0000: #size-cells: 2 was expected from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,geni-se.yaml# arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo.dtb: geniqup@4cc0000: #address-cells: 2 was expected from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,geni-se.yaml# arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo.dtb: geniqup@4cc0000: #size-cells: 2 was expected from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,geni-se.yaml#
Document the Xiaomi Redmi Note 8 (codenamed ginkgo),
which is based off the SM6125 SoC.
Signed-off-by: Gabriel Gonzales <semfault@disroot.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
Documentation/devicetree/bindings/arm/qcom.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index 618a87693..52f7b217b 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -1020,6 +1020,7 @@ properties:
- items:
- enum:
- sony,pdx201
+ - xiaomi,ginkgo
- xiaomi,laurel-sprout
- const: qcom,sm6125
--
2.48.1
On Tue, Mar 11, 2025 at 08:33:47AM +0800, Gabriel Gonzales wrote: > Document the Xiaomi Redmi Note 8 (codenamed ginkgo), > which is based off the SM6125 SoC. > > Signed-off-by: Gabriel Gonzales <semfault@disroot.org> > Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> How did you resolve my first comment to your v2? Best regards, Krzysztof
Add support for the Xiaomi Redmi Note 8 based on the SM6125 SoC.
Defined features:
- dmesg output to bootloader preconfigured display
- USB
- eMMC
- SD card
- SMD RPM regulators
- Volume Up, Down and Power buttons
Signed-off-by: Gabriel Gonzales <semfault@disroot.org>
---
arch/arm64/boot/dts/qcom/Makefile | 1 +
.../boot/dts/qcom/sm6125-xiaomi-ginkgo.dts | 295 ++++++++++++++++++
2 files changed, 296 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo.dts
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 140b0b2ab..4d7d54f69 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -246,6 +246,7 @@ dtb-$(CONFIG_ARCH_QCOM) += sm4450-qrd.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm6115-fxtec-pro1x.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm6115p-lenovo-j606f.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm6125-sony-xperia-seine-pdx201.dtb
+dtb-$(CONFIG_ARCH_QCOM) += sm6125-xiaomi-ginkgo.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm6125-xiaomi-laurel-sprout.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm6350-sony-xperia-lena-pdx213.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm6375-sony-xperia-murray-pdx225.dtb
diff --git a/arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo.dts b/arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo.dts
new file mode 100644
index 000000000..68a237215
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo.dts
@@ -0,0 +1,295 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2025, Gabriel Gonzales <semfault@disroot.org>
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/arm/qcom,ids.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/input/gpio-keys.h>
+#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
+#include "sm6125.dtsi"
+#include "pm6125.dtsi"
+
+/ {
+ model = "Xiaomi Redmi Note 8";
+ compatible = "xiaomi,ginkgo", "qcom,sm6125";
+ chassis-type = "handset";
+
+ /* required for bootloader to select correct board */
+ qcom,msm-id = <QCOM_ID_SM6125>;
+ qcom,board-id = <22 0>;
+
+ chosen {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ framebuffer0: framebuffer@5c000000 {
+ compatible = "simple-framebuffer";
+ reg = <0 0x5c000000 0 (2340 * 1080 * 4)>;
+ width = <1080>;
+ height = <2340>;
+ stride = <(1080 * 4)>;
+ format = "a8r8g8b8";
+ };
+ };
+
+ reserved-memory {
+ debug_mem: debug@ffb00000 {
+ reg = <0x0 0xffb00000 0x0 0xc0000>;
+ no-map;
+ };
+
+ last_log_mem: lastlog@ffbc0000 {
+ reg = <0x0 0xffbc0000 0x0 0x80000>;
+ no-map;
+ };
+
+ pstore_mem: ramoops@ffc00000 {
+ compatible = "ramoops";
+ reg = <0x0 0xffc40000 0x0 0xc0000>;
+ record-size = <0x1000>;
+ console-size = <0x40000>;
+ pmsg-size = <0x20000>;
+ };
+
+ cmdline_mem: memory@ffd00000 {
+ reg = <0x0 0xffd40000 0x0 0x1000>;
+ no-map;
+ };
+ };
+
+ extcon_usb: extcon-usb {
+ compatible = "linux,extcon-usb-gpio";
+ id-gpios = <&tlmm 102 GPIO_ACTIVE_HIGH>;
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ pinctrl-0 = <&vol_up_n>;
+ pinctrl-names = "default";
+
+ key-volume-up {
+ label = "Volume Up";
+ gpios = <&pm6125_gpios 6 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEUP>;
+ debounce-interval = <15>;
+ linux,can-disable;
+ wakeup-source;
+ };
+ };
+};
+
+&pm6125_gpios {
+ vol_up_n: vol-up-n-state {
+ pins = "gpio6";
+ function = "normal";
+ power-source = <1>;
+ bias-pull-up;
+ input-enable;
+ };
+};
+
+&hsusb_phy1 {
+ vdd-supply = <&vreg_l7a>;
+ vdda-pll-supply = <&vreg_l10a>;
+ vdda-phy-dpdm-supply = <&vreg_l15a>;
+ status = "okay";
+};
+
+&pon_pwrkey {
+ status = "okay";
+};
+
+&pon_resin {
+ linux,code = <KEY_VOLUMEDOWN>;
+ status = "okay";
+};
+
+&rpm_requests {
+ regulators-0 {
+ compatible = "qcom,rpm-pm6125-regulators";
+
+ vreg_s6a: s6 {
+ regulator-min-microvolt = <936000>;
+ regulator-max-microvolt = <1422000>;
+ };
+
+ vreg_l1a: l1 {
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1256000>;
+ };
+
+ vreg_l2a: l2 {
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1056000>;
+ };
+
+ vreg_l3a: l3 {
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1064000>;
+ };
+
+ vreg_l4a: l4 {
+ regulator-min-microvolt = <872000>;
+ regulator-max-microvolt = <976000>;
+ regulator-allow-set-load;
+ };
+
+ vreg_l5a: l5 {
+ regulator-min-microvolt = <1648000>;
+ regulator-max-microvolt = <2950000>;
+ regulator-allow-set-load;
+ };
+
+ vreg_l6a: l6 {
+ regulator-min-microvolt = <576000>;
+ regulator-max-microvolt = <656000>;
+ };
+
+ vreg_l7a: l7 {
+ regulator-min-microvolt = <872000>;
+ regulator-max-microvolt = <976000>;
+ };
+
+ vreg_l8a: l8 {
+ regulator-min-microvolt = <400000>;
+ regulator-max-microvolt = <728000>;
+ };
+
+ vreg_l9a: l9 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1896000>;
+ };
+
+ vreg_l10a: l10 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1896000>;
+ regulator-allow-set-load;
+ };
+
+ vreg_l11a: l11 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1952000>;
+ regulator-allow-set-load;
+ };
+
+ vreg_l12a: l12 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1996000>;
+ };
+
+ vreg_l13a: l13 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1832000>;
+ };
+
+ vreg_l14a: l14 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1904000>;
+ };
+
+ vreg_l15a: l15 {
+ regulator-min-microvolt = <3104000>;
+ regulator-max-microvolt = <3232000>;
+ };
+
+ vreg_l16a: l16 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1904000>;
+ };
+
+ vreg_l17a: l17 {
+ regulator-min-microvolt = <1248000>;
+ regulator-max-microvolt = <1304000>;
+ };
+
+ vreg_l18a: l18 {
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1264000>;
+ regulator-allow-set-load;
+ };
+
+ vreg_l19a: l19 {
+ regulator-min-microvolt = <1648000>;
+ regulator-max-microvolt = <2952000>;
+ };
+
+ vreg_l20a: l20 {
+ regulator-min-microvolt = <1648000>;
+ regulator-max-microvolt = <2952000>;
+ };
+
+ vreg_l21a: l21 {
+ regulator-min-microvolt = <2600000>;
+ regulator-max-microvolt = <2856000>;
+ };
+
+ vreg_l22a: l22 {
+ regulator-min-microvolt = <2944000>;
+ regulator-max-microvolt = <2950000>;
+ regulator-allow-set-load;
+ };
+
+ vreg_l23a: l23 {
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3400000>;
+ };
+
+ vreg_l24a: l24 {
+ regulator-min-microvolt = <2944000>;
+ regulator-max-microvolt = <2950000>;
+ regulator-allow-set-load;
+ };
+
+ };
+};
+
+&sdc2_off_state {
+ sd-cd-pins {
+ pins = "gpio98";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+};
+
+&sdc2_on_state {
+ sd-cd-pins {
+ pins = "gpio98";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+};
+
+&sdhc_1 {
+ vmmc-supply = <&vreg_l24a>;
+ vqmmc-supply = <&vreg_l11a>;
+ status = "okay";
+};
+
+&sdhc_2 {
+ cd-gpios = <&tlmm 98 GPIO_ACTIVE_HIGH>;
+ vmmc-supply = <&vreg_l22a>;
+ vqmmc-supply = <&vreg_l5a>;
+ no-sdio;
+ no-mmc;
+ status = "okay";
+};
+
+&tlmm {
+ gpio-reserved-ranges = <22 2>, <28 6>;
+};
+
+&usb3 {
+ status = "okay";
+};
+
+&usb3_dwc3 {
+ extcon = <&extcon_usb>;
+};
--
2.48.1
On Sat, 08 Mar 2025 09:30:10 +0800, Gabriel Gonzales wrote: > This patchset introduces support for the Redmi Note 8 (codenamed ginkgo). This series is a follow-up to v1 (message-id in in-reply-to header) which was sent without a cover letter. > > Changes in v2: > - Add missing cover letter > - Fix up commit message for schema > > Gabriel Gonzales (2): > dt-bindings: arm: qcom: Add Xiaomi Redmi Note 8 > arm64: dts: qcom: sm6125: Initial support for xiaomi-ginkgo > > .../devicetree/bindings/arm/qcom.yaml | 1 + > arch/arm64/boot/dts/qcom/Makefile | 1 + > .../boot/dts/qcom/sm6125-xiaomi-ginkgo.dts | 294 ++++++++++++++++++ > 3 files changed, 296 insertions(+) > create mode 100644 arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo.dts > > -- > 2.48.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 New warnings running 'make CHECK_DTBS=y for arch/arm64/boot/dts/qcom/' for 20250308013019.10321-1-semfault@disroot.org: arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo.dtb: geniqup@4ac0000: #address-cells: 2 was expected from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,geni-se.yaml# arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo.dtb: geniqup@4ac0000: #size-cells: 2 was expected from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,geni-se.yaml# arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo.dtb: geniqup@4cc0000: #address-cells: 2 was expected from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,geni-se.yaml# arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo.dtb: geniqup@4cc0000: #size-cells: 2 was expected from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,geni-se.yaml#
© 2016 - 2026 Red Hat, Inc.