arm64: dts: qcom: add support for Xiaomi SDM636/SDM660 devices
cover arm64: dts: qcom: add support for Xiaomi SDM636/SDM660 devices
This series adds device tree support for several Xiaomi smartphones based on Qualcomm SDM636 and SDM660 SoCs:
- Xiaomi Redmi Note 6 Pro (tulip) - SDM636
- Xiaomi Redmi Note 5 Pro (whyred) - SDM636
- Xiaomi Mi A2 (jasmine) - SDM660
- Xiaomi Mi 8 Lite (platina) - SDM660
It also refactors the existing Xiaomi Redmi Note 7 (lavender) device tree to use a new common include file, reducing code duplication across the family.
All devices support:
- Booting to a framebuffer console
- USB in peripheral mode
- Battery monitoring and charging
- WiFi and Bluetooth (wcn3990)
Some devices additionally support:
- Hall effect sensor (tulip, whyred, platina)
- Touchscreen (whyred, jasmine, platina)
- Status LED (tulip, whyred)
- SD card (tulip, whyred, lavender)
Tested on tulip.
Gianluca Boiano (7):
dt-bindings: arm: qcom: add Xiaomi SDM636/SDM660 devices
arm64: dts: qcom: sdm660: add common Xiaomi SDM636/SDM660 include file
arm64: dts: qcom: sdm660-xiaomi-lavender: fix regulator and SD
settings
arm64: dts: qcom: add device tree for Xiaomi Redmi Note 6 Pro (tulip)
arm64: dts: qcom: add device tree for Xiaomi Redmi Note 5 Pro (whyred)
arm64: dts: qcom: add device tree for Xiaomi Mi A2 (jasmine)
arm64: dts: qcom: add device tree for Xiaomi Mi 8 Lite (platina)
.../devicetree/bindings/arm/qcom.yaml | 4 + arch/arm64/boot/dts/qcom/Makefile | 4 + .../boot/dts/qcom/sdm636-xiaomi-tulip.dts | 333 ++++++++++++++++ .../boot/dts/qcom/sdm636-xiaomi-whyred.dts | 374 ++++++++++++++++++ .../boot/dts/qcom/sdm660-xiaomi-common.dtsi | 214 ++++++++++ .../boot/dts/qcom/sdm660-xiaomi-jasmine.dts | 333 ++++++++++++++++ .../boot/dts/qcom/sdm660-xiaomi-lavender.dts | 144 +------ .../boot/dts/qcom/sdm660-xiaomi-platina.dts | 364 +++++++++++++++++ 8 files changed, 1634 insertions(+), 136 deletions(-) create mode 100644 arch/arm64/boot/dts/qcom/sdm636-xiaomi-tulip.dts create mode 100644 arch/arm64/boot/dts/qcom/sdm636-xiaomi-whyred.dts create mode 100644 arch/arm64/boot/dts/qcom/sdm660-xiaomi-common.dtsi create mode 100644 arch/arm64/boot/dts/qcom/sdm660-xiaomi-jasmine.dts create mode 100644 arch/arm64/boot/dts/qcom/sdm660-xiaomi-platina.dts
base-commit: 24d479d26b25bce5faea3ddd9fa8f3a6c3129ea7
Signature · 1 line
2.52.0
PATCH 1/7 dt-bindings: arm: qcom: add Xiaomi SDM636/SDM660 devices
Add device tree bindings for:
- Xiaomi Redmi Note 6 Pro (tulip) - SDM636
- Xiaomi Redmi Note 5 Pro (whyred) - SDM636
- Xiaomi Mi A2 (jasmine) - SDM660
- Xiaomi Mi 8 Lite (platina) - SDM660
These are Android-based smartphones that can boot mainline Linux with simple-framebuffer and USB support.
--- Documentation/devicetree/bindings/arm/qcom.yaml | 4 ++++ 1 file changed, 4 insertions(+)
Documentation/devicetree/bindings/arm/qcom.yaml +4 -0
@@ -819,11 +819,15 @@ properties: - items: - enum: - sony,mermaid-row + - xiaomi,tulip + - xiaomi,whyred - const: qcom,sdm636 - items: - enum: + - xiaomi,jasmine - xiaomi,lavender + - xiaomi,platina - const: qcom,sdm660 - items:
Signature · 1 line
2.52.0
Re: [PATCH 1/7] dt-bindings: arm: qcom: add Xiaomi SDM636/SDM660 devices
Quoted 6 lines · Gianluca Boiano
Add device tree bindings for:
- Xiaomi Redmi Note 6 Pro (tulip) - SDM636
- Xiaomi Redmi Note 5 Pro (whyred) - SDM636
- Xiaomi Mi A2 (jasmine) - SDM660
- Xiaomi Mi 8 Lite (platina) - SDM660
Quoted 7 lines
These are Android-based smartphones that can boot mainline Linux with simple-framebuffer and USB support.
Signed-off-by Gianluca Boiano <[email protected]>--- Documentation/devicetree/bindings/arm/qcom.yaml | 4 ++++ 1 file changed, 4 insertions(+)
Best regards,
Krzysztof
PATCH 2/7 arm64: dts: qcom: sdm660: add common Xiaomi SDM636/SDM660 include file
In reply to Gianluca BoianoCreate a shared device tree include file for Xiaomi smartphones and tablets based on Qualcomm SDM636/SDM660 SoCs. This reduces code duplication when adding new Xiaomi devices and ensures consistent configuration across the family.
The common dtsi includes:
- PM660/PM660L PMIC configuration with volume/power buttons
- Serial console (blsp1_uart2, blsp2_uart1)
- Hall effect sensor (disabled by default)
- USB (qusb2phy0, usb3) in peripheral mode
- SD card (sdhc_2) pinctrl and supplies
- eMMC (sdhc_1) with HS400 support
- Backlight (pm660l_wled)
- Framebuffer memory reservation
- WiFi (wcn3990)
- Bluetooth (wcn3990)
Also refactor sdm660-xiaomi-lavender.dts to use the new common include, removing duplicated code.
--- .../boot/dts/qcom/sdm660-xiaomi-common.dtsi | 214 ++++++++++++++++++ .../boot/dts/qcom/sdm660-xiaomi-lavender.dts | 144 +----------- 2 files changed, 219 insertions(+), 139 deletions(-) create mode 100644 arch/arm64/boot/dts/qcom/sdm660-xiaomi-common.dtsi
arch/arm64/boot/dts/qcom/sdm660-xiaomi-common.dtsi new file +214 -0
@@ -0,0 +1,214 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Common devicetree for Xiaomi SDM636/SDM660 devices + * + * Copyright (c) 2020, Alexey Minnekhanov <[email protected]> + * Copyright (c) 2022, Gianluca Boiano <[email protected]> + */ + +#include "pm660.dtsi" +#include "pm660l.dtsi" +#include <dt-bindings/input/input.h> +#include <dt-bindings/input/gpio-keys.h> +#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> + +/ { + aliases { + serial0 = &blsp1_uart2; + serial1 = &blsp2_uart1; + }; + + chosen { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + stdout-path = "serial0:115200n8"; + + framebuffer0: framebuffer@9d400000 { + compatible = "simple-framebuffer"; + memory-region = <&framebuffer_mem>; + /* + * width/height/stride to be overridden + * by individual device dts + */ + format = "a8r8g8b8"; + + status = "disabled"; + }; + }; + + gpio-keys { + compatible = "gpio-keys"; + + pinctrl-0 = <&vol_up_default>; + pinctrl-names = "default"; + + key-volup { + label = "Volume Up"; + gpios = <&pm660l_gpios 7 GPIO_ACTIVE_LOW>; + linux,code = <KEY_VOLUMEUP>; + debounce-interval = <15>; + }; + }; + + gpio_hall_sensor: gpio-hall-sensor { + compatible = "gpio-keys"; + + pinctrl-0 = <&gpio_hall_sensor_default>; + pinctrl-names = "default"; + + status = "disabled"; + + event-hall { + label = "Hall Effect Sensor"; + gpios = <&tlmm 75 GPIO_ACTIVE_LOW>; + linux,input-type = <EV_SW>; + linux,code = <SW_LID>; + linux,can-disable; + wakeup-source; + }; + }; + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + framebuffer_mem: memory@9d400000 { + reg = <0x0 0x9d400000 0x0 0x2400000>; + no-map; + }; + }; + + vph_pwr: vph-pwr-regulator { + compatible = "regulator-fixed"; + regulator-name = "vph_pwr"; + regulator-min-microvolt = <3700000>; + regulator-max-microvolt = <3700000>; + + regulator-always-on; + regulator-boot-on; + }; + +}; + +&blsp1_uart2 { + status = "okay"; +}; + +&blsp2_uart1 { + status = "okay"; + + bluetooth { + compatible = "qcom,wcn3990-bt"; + vddxo-supply = <&vreg_l9a_1p8>; + vddrf-supply = <&vreg_l6a_1p3>; + vddch0-supply = <&vreg_l19a_3p3>; + vddio-supply = <&vreg_l13a_1p8>; + max-speed = <3200000>; + }; +}; + +&pm660l_gpios { + vol_up_default: vol-up-default-state { + pins = "gpio7"; + function = PMIC_GPIO_FUNC_NORMAL; + bias-pull-up; + input-enable; + qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; + }; +}; + +&pm660l_wled { + qcom,switching-freq = <800>; + qcom,current-limit-microamp = <20000>; + qcom,num-strings = <2>; +}; + +&pon_pwrkey { + status = "okay"; +}; + +&pon_resin { + linux,code = <KEY_VOLUMEDOWN>; + + status = "okay"; +}; + +&qusb2phy0 { + vdd-supply = <&vreg_l1b_0p925>; + vdda-pll-supply = <&vreg_l10a_1p8>; + vdda-phy-dpdm-supply = <&vreg_l7b_3p125>; + + status = "okay"; +}; + +&sdc2_state_off { + sd-cd-pins { + pins = "gpio54"; + function = "gpio"; + bias-disable; + drive-strength = <2>; + }; +}; + +&sdc2_state_on { + sd-cd-pins { + pins = "gpio54"; + function = "gpio"; + bias-pull-up; + drive-strength = <2>; + }; +}; + +&sdhc_1 { + supports-cqe; + + mmc-hs200-1_8v; + mmc-hs400-1_8v; + mmc-hs400-enhanced-strobe; + + vmmc-supply = <&vreg_l4b_2p95>; + vqmmc-supply = <&vreg_l8a_1p8>; + + status = "okay"; +}; + +&sdhc_2 { + cd-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; + + vmmc-supply = <&vreg_l5b_2p95>; + vqmmc-supply = <&vreg_l2b_2p95>; +}; + +&tlmm { + gpio_hall_sensor_default: gpio-hall-sensor-default-state { + pins = "gpio75"; + function = "gpio"; + drive-strength = <6>; + bias-pull-up; + }; +}; + +&usb3 { + qcom,select-utmi-as-pipe-clk; + + status = "okay"; +}; + +&usb3_dwc3 { + maximum-speed = "high-speed"; + phys = <&qusb2phy0>; + phy-names = "usb2-phy"; + dr_mode = "peripheral"; +}; + +&wifi { + vdd-0.8-cx-mx-supply = <&vreg_l5a_0p848>; + vdd-1.8-xo-supply = <&vreg_l9a_1p8>; + vdd-1.3-rfa-supply = <&vreg_l6a_1p3>; + vdd-3.3-ch0-supply = <&vreg_l19a_3p3>; + + status = "okay"; +};
arch/arm64/boot/dts/qcom/sdm660-xiaomi-lavender.dts +5 -139
169 lines not on this page · raw message
Signature · 1 line
2.52.0
Re: [PATCH 2/7] arm64: dts: qcom: sdm660: add common Xiaomi SDM636/SDM660 include file
Quoted 17 lines · Gianluca Boiano
Create a shared device tree include file for Xiaomi smartphones and tablets based on Qualcomm SDM636/SDM660 SoCs. This reduces code duplication when adding new Xiaomi devices and ensures consistent configuration across the family.
The common dtsi includes:
- PM660/PM660L PMIC configuration with volume/power buttons
- Serial console (blsp1_uart2,blsp2_uart1)
- Hall effect sensor (disabled by default)
- USB (qusb2phy0, usb3) in peripheral mode
- SD card (sdhc_2) pinctrl and supplies
- eMMC (sdhc_1) with HS400 support
- Backlight (pm660l_wled)
- Framebuffer memory reservation
- WiFi (wcn3990)
- Bluetooth (wcn3990)
Quoted 7 lines
Also refactor
sdm660-xiaomi-lavender.dtsto use the new common include, removing duplicated code.Signed-off-by Gianluca Boiano <[email protected]>--- .../boot/dts/qcom/sdm660-xiaomi-common.dtsi | 214 ++++++++++++++++++ .../boot/dts/qcom/sdm660-xiaomi-lavender.dts | 144 +-----------
Try adding this to your gitconfig:
[diff]
renameLimit = 999999
algorithm = histogram
renames = copies
Quoted 9 lines
2 files changed, 219 insertions(+), 139 deletions(-) create mode 100644 arch/arm64/boot/dts/qcom/sdm660-xiaomi-common.dtsiarch/arm64/boot/dts/qcom/sdm660-xiaomi-common.dtsi new file +0
-0
arch/arm64/boot/dts/qcom/sdm660-xiaomi-common.dtsi line 6
Quoted 6 lines
arch/arm64/boot/dts/qcom/sdm660-xiaomi-common.dtsi new file +6
-0@@ -0,0 +1,214 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Common devicetree for Xiaomi SDM636/SDM660 devices + * + * Copyright (c) 2020, Alexey Minnekhanov <[email protected]> + * Copyright (c) 2022, Gianluca Boiano <[email protected]>
At this point in the series, I'm not sure your copyright is valid since you're just shuffling code around. The year is odd too.
I noticed that Dang's copyright from the lavender dtsi is missing too
Konrad
Re: [PATCH 2/7] arm64: dts: qcom: sdm660: add common Xiaomi SDM636/SDM660 include file
Quoted 2 lines · Konrad Dybcio
Copyright year "2022" is odd for refactored code
Missing copyright attribution from Dang
You're right, I'll fix the copyright header in v2:
Copyright (c) 2020, Alexey Minnekhanov <[email protected]> Copyright (c) 2021, Dang Huynh <[email protected]> Copyright (c) 2026, Gianluca Boiano <[email protected]>
Gianluca
PATCH 3/7 arm64: dts: qcom: sdm660-xiaomi-lavender: fix regulator and SD settings
In reply to Gianluca BoianoFix regulator configurations to ensure stable operation:
- vreg_l2b_2p95: Increase max voltage from 2696mV to 3100mV to support proper SD card voltage signaling
- vreg_l3b_3p3: Add regulator-always-on to keep the regulator enabled during boot
- vreg_l10a_1p8: Add regulator-system-load of 14000uA for proper USB PHY PLL operation
Also enable the SD card controller (sdhc_2) which was left disabled.
--- arch/arm64/boot/dts/qcom/sdm660-xiaomi-lavender.dts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
arch/arm64/boot/dts/qcom/sdm660-xiaomi-lavender.dts +7 -1
@@ -82,7 +82,7 @@ vreg_l1b_0p925: l1 { /* SDHCI 3.3V signal doesn't seem to be supported. */ vreg_l2b_2p95: l2 { regulator-min-microvolt = <1648000>; - regulator-max-microvolt = <2696000>; + regulator-max-microvolt = <3100000>; regulator-enable-ramp-delay = <250>; regulator-allow-set-load; };
@@ -92,6 +92,7 @@ vreg_l3b_3p3: l3 { regulator-max-microvolt = <3300000>; regulator-enable-ramp-delay = <250>; regulator-allow-set-load; + regulator-always-on; }; vreg_l4b_2p95: l4 {
@@ -239,6 +240,7 @@ vreg_l10a_1p8: l10 { regulator-max-microvolt = <1950000>; regulator-enable-ramp-delay = <250>; regulator-allow-set-load; + regulator-system-load = <14000>; }; vreg_l11a_1p8: l11 {
@@ -295,3 +297,7 @@ vreg_l19a_3p3: l19 { }; }; }; + +&sdhc_2 { + status = "okay"; +};
Signature · 1 line
2.52.0
Re: [PATCH 3/7] arm64: dts: qcom: sdm660-xiaomi-lavender: fix regulator and SD settings
Quoted 3 lines · Gianluca Boiano
Fix regulator configurations to ensure stable operation:
-vreg_l2b_2p95: Increase max voltage from 2696mV to 3100mV to support proper SD card voltage signaling
This makes sense
Quoted 2 lines
-
vreg_l3b_3p3: Add regulator-always-on to keep the regulator enabled during boot
This may make sense, but you're not explaining the reason behind it so we can't know
Quoted 2 lines
-
vreg_l10a_1p8: Add regulator-system-load of 14000uA for proper USB PHY PLL operation
The driver needs to be fixed instead, as it should perform a regulator_set_load()
Konrad
Re: [PATCH 3/7] arm64: dts: qcom: sdm660-xiaomi-lavender: fix regulator and SD settings
Quoted 1 line · Konrad Dybcio
Why regulator-always-on for l3b?
This regulator powers the touchscreen. Without always-on, display initialization fails during boot. This matches downstream behavior. I can add a comment explaining this if preferred.
Quoted 1 line
Why isn't
sdhc_2enabled globally in common?
jasmine and platina don't have SD card slots, so enabling sdhc_2 globally would be incorrect. Only tulip, whyred, and lavender have SD card support.
Gianluca
Re: [PATCH 3/7] arm64: dts: qcom: sdm660-xiaomi-lavender: fix regulator and SD settings
Quoted 6 lines · Gianluca Boiano
Quoted 1 line · Konrad Dybcio
Why regulator-always-on for l3b?
This regulator powers the touchscreen. Without always-on, display initialization fails during boot. This matches downstream behavior. I can add a comment explaining this if preferred.
Is there a chance it simply needs to be power sequenced in a specific order vs the display itself? (seed drm_panel_add_follower())
Quoted 4 lines
Quoted 1 line
Why isn't
sdhc_2enabled globally in common?jasmine and platina don't have SD card slots, so enabling
sdhc_2globally would be incorrect. Only tulip, whyred, and lavender have SD card support.
I overlooked that, thanks
Konrad
Re: [PATCH 3/7] arm64: dts: qcom: sdm660-xiaomi-lavender: fix regulator and SD settings
Quoted 11 lines · Konrad Dybcio
Quoted 6 lines · Gianluca Boiano
Quoted 1 line · Konrad Dybcio
Why regulator-always-on for l3b?
This regulator powers the touchscreen. Without always-on, display initialization fails during boot. This matches downstream behavior. I can add a comment explaining this if preferred.
Is there a chance it simply needs to be power sequenced in a specific order vs the display itself? (seed
drm_panel_add_follower())
According to my schematics for e.g lavender, vreg_l3b_3p3 does not power anything directly controlled by HLOS (Linux), it seems to be connected to p-sensor only, and goes to bottom board.
The change is done by vendor (Xiaomi) and as far as I remember is there for every xiaomi-sdm660 device [1].
I'm guessing source for this change is [2] and this patch lacks my sign-off and explanation.
Does this work now as is without reordering vreg_bob to the top of the regulators list though? It did not work in this form previously.
[1] https://github.com/MiCode/Xiaomi_Kernel_OpenSource/commit/b16ba644a26986cc4cc3cf526eb497b9fa91a043
[2] https://github.com/sdm660-mainline/linux/commit/d54c8cfe3d76fa309b7e71fce1973176bdc095dd
--
Regards,
Alexey Minnekhanov
Re: [PATCH 3/7] arm64: dts: qcom: sdm660-xiaomi-lavender: fix regulator and SD settings
Quoted 13 lines · Alexey Minnekhanov
Quoted 11 lines · Konrad Dybcio
Quoted 6 lines · Gianluca Boiano
Quoted 1 line · Konrad Dybcio
Why regulator-always-on for l3b?
This regulator powers the touchscreen. Without always-on, display initialization fails during boot. This matches downstream behavior. I can add a comment explaining this if preferred.
Is there a chance it simply needs to be power sequenced in a specific order vs the display itself? (seed
drm_panel_add_follower())
Quoted 6 lines
According to my schematics for e.g lavender,
vreg_l3b_3p3does not power anything directly controlled by HLOS (Linux), it seems to be connected to p-sensor only, and goes to bottom board.The change is done by vendor (Xiaomi) and as far as I remember is there for every xiaomi-sdm660 device [1].
I wouldn't be too surprised, e.g. sdm845-samsung-starqtlechn has a fake supply hooked up to slpi, as it likely powers some sensors which are governed by it
Konrad
Re: [PATCH 3/7] arm64: dts: qcom: sdm660-xiaomi-lavender: fix regulator and SD settings
In reply to Konrad DybcioQuoted 7 lines · Konrad Dybcio
Quoted 3 lines · Gianluca Boiano
Fix regulator configurations to ensure stable operation:
-vreg_l10a_1p8: Add regulator-system-load of 14000uA for proper USB PHY PLL operationThe driver needs to be fixed instead, as it should perform a
regulator_set_load()
Also change done by me in [1] with more detailed explanation:
Since the commit f05ab10 ("arm64: dts: qcom: sdm660-lavender:
Add missing USB phy supply") previously untouched by Linux regulator l10a is now used, but it exposed a bug from initial porting: when booting with USB cable inserted, or booting without cable and inserting it later, board reboots.
Downstream vendor device tree has this:
rpm-regulator-ldoa10 {
status = "okay";
pm660_l10: regulator-l10 {
proxy-supply = <&pm660_l10>;
qcom,proxy-consumer-enable;
qcom,proxy-consumer-current = <14000>;
regulator-min-microvolt = <1780000>;
regulator-max-microvolt = <1950000>;
status = "okay";
};
};IIRC this qcom,proxy-consumer stuff is adding fake device that uses this regulator, but does nothing else except requesting specified voltage or current (in this case), until "real consumer" probes or something like that. The same can be achieved by simply adding regulator-system-load, and device stops rebooting when USB cable is inserted.
This is also needed for all xiaomi-sdm660 boards, but not e.g on sdm630-sony ones.
I'm thinking maybe it is better to have regulators in sdm660-xiaomi- common.dtsi after all. The setup is mostly the same for them.
[1] https://github.com/sdm660-mainline/linux/commit/7121e17ee284bb6026c25d3f643fd020fa959877
--
Regards,
Alexey Minnekhanov
Re: [PATCH 3/7] arm64: dts: qcom: sdm660-xiaomi-lavender: fix regulator and SD settings
Quoted 10 lines · Alexey Minnekhanov
Quoted 7 lines · Konrad Dybcio
Quoted 3 lines · Gianluca Boiano
Fix regulator configurations to ensure stable operation:
-vreg_l10a_1p8: Add regulator-system-load of 14000uA for proper USB PHY PLL operationThe driver needs to be fixed instead, as it should perform a
regulator_set_load()
Quoted 7 lines
Also change done by me in [1] with more detailed explanation:
Since the commit f05ab10 ("arm64: dts: qcom: sdm660-lavender:
Add missing USB phy supply") previously untouched by Linux regulator l10a is now used, but it exposed a bug from initial porting: when booting with USB cable inserted, or booting without cable and inserting it later, board reboots.
FYI this shouldn't be required with the upstream driver, I don't think the core calls .set_load(0) and RPM isn't notified of a current requirement change unless that happens (qcom_smd-regulator.c)
In the power grid, I see (current values representing the peak):
-- USB2
VDDA (3.1 V - vdda-phy-dpdm-supply) - 60mA
VDDA (1.8 V - vdda-pll-supply) - 30mA
VDD (?) - 11.4 mAVDDA_DVDD (?) - 35 mA
-- USB3
VDDA (1.8 V) - 14 mAVDDA_CORE - 68.6 mA
+Dmitry poked at 660 in the past
Konrad
Re: [PATCH 3/7] arm64: dts: qcom: sdm660-xiaomi-lavender: fix regulator and SD settings
Quoted 32 lines · Konrad Dybcio
Quoted 10 lines · Alexey Minnekhanov
Quoted 7 lines · Konrad Dybcio
Quoted 3 lines · Gianluca Boiano
Fix regulator configurations to ensure stable operation:
-vreg_l10a_1p8: Add regulator-system-load of 14000uA for proper USB PHY PLL operationThe driver needs to be fixed instead, as it should perform a
regulator_set_load()Quoted 7 lines
Also change done by me in [1] with more detailed explanation:
Since the commit f05ab10 ("arm64: dts: qcom: sdm660-lavender:
Add missing USB phy supply") previously untouched by Linux regulator l10a is now used, but it exposed a bug from initial porting: when booting with USB cable inserted, or booting without cable and inserting it later, board reboots.FYI this shouldn't be required with the upstream driver, I don't think the core calls .set_load(0) and RPM isn't notified of a current requirement change unless that happens (
qcom_smd-regulator.c)In the power grid, I see (current values representing the peak):
-- USB2
VDDA (3.1 V - vdda-phy-dpdm-supply) - 60mA
VDDA (1.8 V - vdda-pll-supply) - 30mAVDD (?) - 11.4 mA
VDDA_DVDD(?) - 35 mA
Quoted 8 lines
-- USB3
VDDA (1.8 V) - 14 mAVDDA_CORE- 68.6 mA+Dmitry poked at 660 in the past
Konrad
This is not needed e.g on sdm630-sony-nile-pioneer, it's booting fine without system-load with USB cable inserted. Maybe IFC board doesn't require this too. Seems to be xiaomi specific thing again?
Alternative is to not touch L10A regulator (comment out vdda-pll-supply from qusb2phy0 node and face the "phy@c012000: 'vdda-pll-supply' is a required property" dtbs-check error again. Which we don't want to do of course. And schematics say that vreg_l10a_1p8 is connected to at least:VDD_USB1_HS_1P8, VDD_USB2_HS_1P8, QFPROM_PRG, VDDA_APC1_CS_1P8, VDD_PLL2_1, VDD_PLL2_2.
--
Regards,
Alexey Minnekhanov
Re: [PATCH 3/7] arm64: dts: qcom: sdm660-xiaomi-lavender: fix regulator and SD settings
Quoted 46 lines · Alexey Minnekhanov
Quoted 32 lines · Konrad Dybcio
Quoted 10 lines · Alexey Minnekhanov
Quoted 7 lines · Konrad Dybcio
Quoted 3 lines · Gianluca Boiano
Fix regulator configurations to ensure stable operation:
-vreg_l10a_1p8: Add regulator-system-load of 14000uA for proper USB PHY PLL operationThe driver needs to be fixed instead, as it should perform a
regulator_set_load()Quoted 7 lines
Also change done by me in [1] with more detailed explanation:
Since the commit f05ab10 ("arm64: dts: qcom: sdm660-lavender:
Add missing USB phy supply") previously untouched by Linux regulator l10a is now used, but it exposed a bug from initial porting: when booting with USB cable inserted, or booting without cable and inserting it later, board reboots.FYI this shouldn't be required with the upstream driver, I don't think the core calls .set_load(0) and RPM isn't notified of a current requirement change unless that happens (
qcom_smd-regulator.c)In the power grid, I see (current values representing the peak):
-- USB2
VDDA (3.1 V - vdda-phy-dpdm-supply) - 60mA
VDDA (1.8 V - vdda-pll-supply) - 30mAVDD (?) - 11.4 mA
VDDA_DVDD(?) - 35 mAQuoted 8 lines
-- USB3
VDDA (1.8 V) - 14 mAVDDA_CORE- 68.6 mA+Dmitry poked at 660 in the past
Konrad
This is not needed e.g on sdm630-sony-nile-pioneer, it's booting fine without system-load with USB cable inserted. Maybe IFC board doesn't require this too. Seems to be xiaomi specific thing again?
Quoted 6 lines
Alternative is to not touch L10A regulator (comment out vdda-pll-supply from qusb2phy0 node and face the "phy@c012000: 'vdda-pll-supply' is a required property" dtbs-check error again. Which we don't want to do of course. And schematics say that
vreg_l10a_1p8is connected to at least:VDD_USB1_HS_1P8,VDD_USB2_HS_1P8,QFPROM_PRG,VDDA_APC1_CS_1P8,VDD_PLL2_1,VDD_PLL2_2.
It might be that there is an issue because of it being used for APC1 too. I don't observe any issues on my IFC6560 board (where it is also connected to APC1).
I'd suggest adding a dummy fixed regulator node as L10A and documenting that it is not to be touched by Linux on this device). We do this for some other "system" regulators on other devices.
Signature · 2 lines
With best wishes Dmitry
Re: [PATCH 3/7] arm64: dts: qcom: sdm660-xiaomi-lavender: fix regulator and SD settings
Quoted 54 lines · Dmitry Baryshkov
Quoted 46 lines · Alexey Minnekhanov
Quoted 32 lines · Konrad Dybcio
Quoted 10 lines · Alexey Minnekhanov
Quoted 7 lines · Konrad Dybcio
Quoted 3 lines · Gianluca Boiano
Fix regulator configurations to ensure stable operation:
-vreg_l10a_1p8: Add regulator-system-load of 14000uA for proper USB PHY PLL operationThe driver needs to be fixed instead, as it should perform a
regulator_set_load()Quoted 7 lines
Also change done by me in [1] with more detailed explanation:
Since the commit f05ab10 ("arm64: dts: qcom: sdm660-lavender:
Add missing USB phy supply") previously untouched by Linux regulator l10a is now used, but it exposed a bug from initial porting: when booting with USB cable inserted, or booting without cable and inserting it later, board reboots.FYI this shouldn't be required with the upstream driver, I don't think the core calls .set_load(0) and RPM isn't notified of a current requirement change unless that happens (
qcom_smd-regulator.c)In the power grid, I see (current values representing the peak):
-- USB2
VDDA (3.1 V - vdda-phy-dpdm-supply) - 60mA
VDDA (1.8 V - vdda-pll-supply) - 30mAVDD (?) - 11.4 mA
VDDA_DVDD(?) - 35 mAQuoted 8 lines
-- USB3
VDDA (1.8 V) - 14 mAVDDA_CORE- 68.6 mA+Dmitry poked at 660 in the past
Konrad
This is not needed e.g on sdm630-sony-nile-pioneer, it's booting fine without system-load with USB cable inserted. Maybe IFC board doesn't require this too. Seems to be xiaomi specific thing again?
Quoted 6 lines
Alternative is to not touch L10A regulator (comment out vdda-pll-supply from qusb2phy0 node and face the "phy@c012000: 'vdda-pll-supply' is a required property" dtbs-check error again. Which we don't want to do of course. And schematics say that
vreg_l10a_1p8is connected to at least:VDD_USB1_HS_1P8,VDD_USB2_HS_1P8,QFPROM_PRG,VDDA_APC1_CS_1P8,VDD_PLL2_1,VDD_PLL2_2.
Quoted 3 lines
It might be that there is an issue because of it being used for APC1 too. I don't observe any issues on my IFC6560 board (where it is also connected to APC1).
Wait, what? The same line going to external ports and the CPU supply!?
Quoted 3 lines
I'd suggest adding a dummy fixed regulator node as L10A and documenting that it is not to be touched by Linux on this device). We do this for some other "system" regulators on other devices.
I think that system-load may be fitting, but it needs a comment
Konrad
Re: [PATCH 3/7] arm64: dts: qcom: sdm660-xiaomi-lavender: fix regulator and SD settings
Quoted 56 lines · Konrad Dybcio
Quoted 54 lines · Dmitry Baryshkov
Quoted 52 lines · Alexey Minnekhanov
Quoted 32 lines · Konrad Dybcio
Quoted 10 lines · Alexey Minnekhanov
Quoted 7 lines · Konrad Dybcio
Quoted 3 lines · Gianluca Boiano
Fix regulator configurations to ensure stable operation:
-vreg_l10a_1p8: Add regulator-system-load of 14000uA for proper USB PHY PLL operationThe driver needs to be fixed instead, as it should perform a
regulator_set_load()Quoted 7 lines
Also change done by me in [1] with more detailed explanation:
Since the commit f05ab10 ("arm64: dts: qcom: sdm660-lavender:
Add missing USB phy supply") previously untouched by Linux regulator l10a is now used, but it exposed a bug from initial porting: when booting with USB cable inserted, or booting without cable and inserting it later, board reboots.FYI this shouldn't be required with the upstream driver, I don't think the core calls .set_load(0) and RPM isn't notified of a current requirement change unless that happens (
qcom_smd-regulator.c)In the power grid, I see (current values representing the peak):
-- USB2
VDDA (3.1 V - vdda-phy-dpdm-supply) - 60mA
VDDA (1.8 V - vdda-pll-supply) - 30mAVDD (?) - 11.4 mA
VDDA_DVDD(?) - 35 mAQuoted 8 lines
-- USB3
VDDA (1.8 V) - 14 mAVDDA_CORE- 68.6 mA+Dmitry poked at 660 in the past
Konrad
This is not needed e.g on sdm630-sony-nile-pioneer, it's booting fine without system-load with USB cable inserted. Maybe IFC board doesn't require this too. Seems to be xiaomi specific thing again?
Alternative is to not touch L10A regulator (comment out vdda-pll-supply from qusb2phy0 node and face the "phy@c012000: 'vdda-pll-supply' is a required property" dtbs-check error again. Which we don't want to do of course. And schematics say that
vreg_l10a_1p8is connected to at least:VDD_USB1_HS_1P8,VDD_USB2_HS_1P8,QFPROM_PRG,VDDA_APC1_CS_1P8,VDD_PLL2_1,VDD_PLL2_2.
Quoted 5 lines
Quoted 3 lines
It might be that there is an issue because of it being used for APC1 too. I don't observe any issues on my IFC6560 board (where it is also connected to APC1).
Wait, what? The same line going to external ports and the CPU supply!?
Yes
Quoted 6 lines
Quoted 4 lines
I'd suggest adding a dummy fixed regulator node as L10A and documenting that it is not to be touched by Linux on this device). We do this for some other "system" regulators on other devices.
I think that system-load may be fitting, but it needs a comment
I assume, it might be RPM killing access to the system regulator.
Signature · 2 lines
With best wishes Dmitry
Re: [PATCH 3/7] arm64: dts: qcom: sdm660-xiaomi-lavender: fix regulator and SD settings
In reply to Gianluca BoianoQuoted 9 lines · Gianluca Boiano
Fix regulator configurations to ensure stable operation:
-vreg_l2b_2p95: Increase max voltage from 2696mV to 3100mV to support proper SD card voltage signaling
-vreg_l3b_3p3: Add regulator-always-on to keep the regulator enabled during boot
-vreg_l10a_1p8: Add regulator-system-load of 14000uA for proper USB PHY PLL operationAlso enable the SD card controller (
sdhc_2) which was left disabled.
I see the new -common.dtsi configures the cd-gpio and regulators, but doesn't enable it globally. Should it be done there?
Konrad
PATCH 4/7 arm64: dts: qcom: add device tree for Xiaomi Redmi Note 6 Pro (tulip)
In reply to Gianluca BoianoAdd initial device tree support for the Xiaomi Redmi Note 6 Pro (codename: tulip), a smartphone based on Qualcomm SDM636 SoC with 4GB RAM and a 6.26" 1080x2280 display.
This enables:
- Booting to a framebuffer console
- USB support
- Hall effect sensor
- Battery monitoring
- Charging (pm660_charger)
- Status LED (pm660l_lpg)
--- arch/arm64/boot/dts/qcom/Makefile | 1 + .../boot/dts/qcom/sdm636-xiaomi-tulip.dts | 333 ++++++++++++++++++ 2 files changed, 334 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/sdm636-xiaomi-tulip.dts
arch/arm64/boot/dts/qcom/Makefile +1 -0
@@ -243,6 +243,7 @@ dtb-$(CONFIG_ARCH_QCOM) += sdm630-sony-xperia-nile-voyager.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm632-fairphone-fp3.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm632-motorola-ocean.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm636-sony-xperia-ganges-mermaid.dtb +dtb-$(CONFIG_ARCH_QCOM) += sdm636-xiaomi-tulip.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm660-xiaomi-lavender.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm670-google-sargo.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm845-db845c.dtb
arch/arm64/boot/dts/qcom/sdm636-xiaomi-tulip.dts new file +333 -0
333 lines not on this page · raw message
Signature · 1 line
2.52.0
Re: [PATCH 4/7] arm64: dts: qcom: add device tree for Xiaomi Redmi Note 6 Pro (tulip)
Quoted 14 lines · Gianluca Boiano
Add initial device tree support for the Xiaomi Redmi Note 6 Pro (codename: tulip), a smartphone based on Qualcomm SDM636 SoC with 4GB RAM and a 6.26" 1080x2280 display.
This enables:
- Booting to a framebuffer console
- USB support
- Hall effect sensor
- Battery monitoring
- Charging (pm660_charger)
- Status LED (pm660l_lpg)Signed-off-by Gianluca Boiano <[email protected]>---
[...]
arch/arm64/boot/dts/qcom/sdm636-xiaomi-tulip.dts line 28
Quoted 4 lines
arch/arm64/boot/dts/qcom/sdm636-xiaomi-tulip.dts new file +4
-0+ reserved-memory { + ramoops@a0000000 { + compatible = "ramoops"; + reg = <0x0 0xa0000000 0x0 0x400000>;
This is almost the same as all others, excluding platina
If you think it's beneficial for your "ecosystem" (with e.g. a recovery or major custom ROM kernel), you can unify these definitions since it's all configurable anyway
Quoted 9 lines
arch/arm64/boot/dts/qcom/sdm636-xiaomi-tulip.dts new file +9
-0+ console-size = <0x20000>; + record-size = <0x20000>; + ftrace-size = <0x0>; + pmsg-size = <0x20000>; + }; + }; +}; + +&framebuffer0 {
arch/arm64/boot/dts/qcom/sdm636-xiaomi-tulip.dts line 47
Quoted 10 lines
arch/arm64/boot/dts/qcom/sdm636-xiaomi-tulip.dts new file +10
-0+ width = <1080>; + height = <2280>; + stride = <(1080 * 4)>; + + status = "okay"; +}; + +&gpio_hall_sensor { + status = "okay"; +};
Seems like all of the devices except A2 use this definition, maybe flip it around
arch/arm64/boot/dts/qcom/sdm636-xiaomi-tulip.dts line 53
Quoted 6 lines
arch/arm64/boot/dts/qcom/sdm636-xiaomi-tulip.dts new file +6
-0+ +&pm660_charger { + monitored-battery = <&battery>; + + status = "okay"; +};
This is present on all of them
[...]
Review
Quoted 3 lines
+&pm660l_wled {
(quoted diff) +2
-0+ status = "okay"; +};
This seems to as well
Quoted 8 lines
arch/arm64/boot/dts/qcom/sdm636-xiaomi-tulip.dts new file +8
-0+ +&rpm_requests { + regulators-0 { + compatible = "qcom,rpm-pm660l-regulators"; + + vdd_s1-supply = <&vph_pwr>; + vdd_s2-supply = <&vph_pwr>; + vdd_s3_s4-supply = <&vph_pwr>;
arch/arm64/boot/dts/qcom/sdm636-xiaomi-tulip.dts line 89
Quoted 10 lines
arch/arm64/boot/dts/qcom/sdm636-xiaomi-tulip.dts new file +10
-0+ vdd_s5-supply = <&vph_pwr>; + vdd_s6-supply = <&vph_pwr>; + + vdd_l1_l9_l10-supply = <&vreg_s2b_1p05>; + vdd_l2-supply = <&vreg_bob>; + vdd_l3_l5_l7_l8-supply = <&vreg_bob>; + vdd_l4_l6-supply = <&vreg_bob>; + vdd_bob-supply = <&vph_pwr>; + + vreg_s1b_1p125: s1 {
Please diff the regulator settings, they're likely mostly common
[...]
arch/arm64/boot/dts/qcom/sdm636-xiaomi-tulip.dts line 333
Quoted 7 lines
+&sdhc_2 {
arch/arm64/boot/dts/qcom/sdm636-xiaomi-tulip.dts new file +6
-0+ status = "okay"; +}; + +&tlmm { + gpio-reserved-ranges = <8 4>; /* Fingerprint SPI */ +};
This setting is common to all of them too
Konrad
Re: [PATCH 4/7] arm64: dts: qcom: add device tree for Xiaomi Redmi Note 6 Pro (tulip)
Quoted 1 line · Konrad Dybcio
Consolidate ramoops, hall sensor,
pm660_charger,pm660l_wled, regulators
Good suggestions. For v2 I will:
1. Move ramoops to common with default configuration
2. Enable hall sensor by default in common, disable in devices without it
3. Move pm660_charger and pm660l_wled enable to common
4. Move common gpio-reserved-ranges to common dtsi
5. Compare and consolidate regulator settings where identical
sdhc_2 status must remain per-device since jasmine/platina lack SD slots.
Thanks for the review!
Gianluca
Re: [PATCH 4/7] arm64: dts: qcom: add device tree for Xiaomi Redmi Note 6 Pro (tulip)
In reply to Konrad DybcioQuoted 17 lines · Konrad Dybcio
Quoted 14 lines · Gianluca Boiano
Add initial device tree support for the Xiaomi Redmi Note 6 Pro (codename: tulip), a smartphone based on Qualcomm SDM636 SoC with 4GB RAM and a 6.26" 1080x2280 display.
This enables:
- Booting to a framebuffer console
- USB support
- Hall effect sensor
- Battery monitoring
- Charging (pm660_charger)
- Status LED (pm660l_lpg)Signed-off-by Gianluca Boiano <[email protected]>---
Quoted 5 lines
Review
Quoted 3 lines
+&pm660l_wled {
(quoted diff) +2
-0+ status = "okay"; +};This seems to as well
There is a tablet named Mi PAD 4 (xiaomi-clover) which is not included in this series, but it uses separate backlight driver and does not use WLED.
Quoted 12 lines
Quoted 12 lines
arch/arm64/boot/dts/qcom/sdm636-xiaomi-tulip.dts new file +12
-0+ +&rpm_requests { + regulators-0 { + compatible = "qcom,rpm-pm660l-regulators"; + + vdd_s1-supply = <&vph_pwr>; + vdd_s2-supply = <&vph_pwr>; + vdd_s3_s4-supply = <&vph_pwr>; + vdd_s5-supply = <&vph_pwr>; + vdd_s6-supply = <&vph_pwr>; + + vdd_l1_l9_l10-supply = <&vreg_s2b_1p05>;
Quoted 9 lines
arch/arm64/boot/dts/qcom/sdm636-xiaomi-tulip.dts line 89
Quoted 6 lines
arch/arm64/boot/dts/qcom/sdm636-xiaomi-tulip.dts new file +6
-0+ vdd_l2-supply = <&vreg_bob>; + vdd_l3_l5_l7_l8-supply = <&vreg_bob>; + vdd_l4_l6-supply = <&vreg_bob>; + vdd_bob-supply = <&vph_pwr>; + + vreg_s1b_1p125: s1 {Please diff the regulator settings, they're likely mostly common
It should be doable IMO.
Quoted 6 lines
arch/arm64/boot/dts/qcom/sdm636-xiaomi-tulip.dts line 333
Quoted 4 lines
arch/arm64/boot/dts/qcom/sdm636-xiaomi-tulip.dts new file +4
-0+ +&tlmm { + gpio-reserved-ranges = <8 4>; /* Fingerprint SPI */ +};This setting is common to all of them too
Once again clover is exception here, all 3 variants of clover are using
gpio-reserved-ranges = <0 4>;
I think it might be better to leave this setting to board files?
--
Regards,
Alexey Minnekhanov
Re: [PATCH 4/7] arm64: dts: qcom: add device tree for Xiaomi Redmi Note 6 Pro (tulip)
Quoted 16 lines · Alexey Minnekhanov
Quoted 15 lines · Konrad Dybcio
Quoted 14 lines · Gianluca Boiano
Add initial device tree support for the Xiaomi Redmi Note 6 Pro (codename: tulip), a smartphone based on Qualcomm SDM636 SoC with 4GB RAM and a 6.26" 1080x2280 display.
This enables:
- Booting to a framebuffer console
- USB support
- Hall effect sensor
- Battery monitoring
- Charging (pm660_charger)
- Status LED (pm660l_lpg)Signed-off-by Gianluca Boiano <[email protected]>---
[...]
Quoted 6 lines
Once again clover is exception here, all 3 variants of clover are using
gpio-reserved-ranges = <0 4>;
I think it might be better to leave this setting to board files?
Sure
Konrad
PATCH 5/7 arm64: dts: qcom: add device tree for Xiaomi Redmi Note 5 Pro (whyred)
In reply to Gianluca BoianoAdd initial device tree support for the Xiaomi Redmi Note 5 Pro (codename: whyred), a smartphone based on Qualcomm SDM636 SoC with 4/6GB RAM and a 5.99" 1080x2160 display.
This enables:
- Booting to a framebuffer console
- USB support
- Hall effect sensor
- Touchscreen (Synaptics RMI4)
- Battery monitoring
- Charging (pm660_charger)
- Status LED (pm660l_lpg)
--- arch/arm64/boot/dts/qcom/Makefile | 1 + .../boot/dts/qcom/sdm636-xiaomi-whyred.dts | 374 ++++++++++++++++++ 2 files changed, 375 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/sdm636-xiaomi-whyred.dts
arch/arm64/boot/dts/qcom/Makefile +1 -0
@@ -244,6 +244,7 @@ dtb-$(CONFIG_ARCH_QCOM) += sdm632-fairphone-fp3.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm632-motorola-ocean.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm636-sony-xperia-ganges-mermaid.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm636-xiaomi-tulip.dtb +dtb-$(CONFIG_ARCH_QCOM) += sdm636-xiaomi-whyred.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm660-xiaomi-lavender.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm670-google-sargo.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm845-db845c.dtb
arch/arm64/boot/dts/qcom/sdm636-xiaomi-whyred.dts new file +374 -0
374 lines not on this page · raw message
Signature · 1 line
2.52.0
PATCH 6/7 arm64: dts: qcom: add device tree for Xiaomi Mi A2 (jasmine)
In reply to Gianluca BoianoAdd initial device tree support for the Xiaomi Mi A2 (codename: jasmine), a smartphone based on Qualcomm SDM660 SoC with 4/6GB RAM and a 5.99" 1080x2160 display.
This enables:
- Booting to a framebuffer console
- USB support
- Touchscreen (Novatek NT36672A)
- Battery monitoring
- Charging (pm660_charger)
--- arch/arm64/boot/dts/qcom/Makefile | 1 + .../boot/dts/qcom/sdm660-xiaomi-jasmine.dts | 333 ++++++++++++++++++ 2 files changed, 334 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/sdm660-xiaomi-jasmine.dts
arch/arm64/boot/dts/qcom/Makefile +1 -0
@@ -245,6 +245,7 @@ dtb-$(CONFIG_ARCH_QCOM) += sdm632-motorola-ocean.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm636-sony-xperia-ganges-mermaid.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm636-xiaomi-tulip.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm636-xiaomi-whyred.dtb +dtb-$(CONFIG_ARCH_QCOM) += sdm660-xiaomi-jasmine.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm660-xiaomi-lavender.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm670-google-sargo.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm845-db845c.dtb
arch/arm64/boot/dts/qcom/sdm660-xiaomi-jasmine.dts new file +333 -0
333 lines not on this page · raw message
Signature · 1 line
2.52.0
PATCH 7/7 arm64: dts: qcom: add device tree for Xiaomi Mi 8 Lite (platina)
In reply to Gianluca BoianoAdd initial device tree support for the Xiaomi Mi 8 Lite (codename: platina), a smartphone based on Qualcomm SDM660 SoC with 4/6GB RAM and a 6.26" 1080x2280 display.
This enables:
- Booting to a framebuffer console
- USB support
- Hall effect sensor
- Touchscreen (Novatek NT36672A)
- Battery monitoring
- Charging (pm660_charger)
--- arch/arm64/boot/dts/qcom/Makefile | 1 + .../boot/dts/qcom/sdm660-xiaomi-platina.dts | 364 ++++++++++++++++++ 2 files changed, 365 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/sdm660-xiaomi-platina.dts
arch/arm64/boot/dts/qcom/Makefile +1 -0
@@ -247,6 +247,7 @@ dtb-$(CONFIG_ARCH_QCOM) += sdm636-xiaomi-tulip.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm636-xiaomi-whyred.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm660-xiaomi-jasmine.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm660-xiaomi-lavender.dtb +dtb-$(CONFIG_ARCH_QCOM) += sdm660-xiaomi-platina.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm670-google-sargo.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm845-db845c.dtb
arch/arm64/boot/dts/qcom/sdm660-xiaomi-platina.dts new file +364 -0
364 lines not on this page · raw message
Signature · 1 line
2.52.0
Re: [PATCH 0/7] arm64: dts: qcom: Add Xiaomi SDM636/SDM660 devices
In reply to Gianluca BoianoThanks everyone for the reviews!
v2 is in progress addressing:
- Konrad's consolidation suggestions (ramoops, hall sensor, pm660_charger, pm660l_wled, gpio-reserved-ranges moved to common dtsi)
- Fixed copyright attribution in common dtsi
- Added Co-developed-by for Alexey Minnekhanov's lavender regulator work
- Added comments explaining l3b regulator-always-on (touchscreen power)
Will send v2 after allowing time for any additional feedback on v1.
Gianluca