* [PATCH v2 0/4] arm64: dts: qcom: msm8976-longcheer-l9360: Add initial device tree
@ 2025-06-15 20:35 André Apitzsch via B4 Relay
2025-06-15 20:35 ` [PATCH v2 1/4] arm64: dts: qcom: msm8976: Make blsp_dma controlled-remotely André Apitzsch via B4 Relay
` (6 more replies)
0 siblings, 7 replies; 11+ messages in thread
From: André Apitzsch via B4 Relay @ 2025-06-15 20:35 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, AngeloGioacchino Del Regno, Marijn Suijten
Cc: ~postmarketos/upstreaming, phone-devel, linux-arm-msm, devicetree,
linux-kernel, Krzysztof Kozlowski, André Apitzsch,
Konrad Dybcio
This dts adds support for BQ Aquaris X5 Plus (Longcheer L9360) released
in 2016.
Add a device tree with initial support for:
- GPIO keys
- NFC
- SDHCI
- Status LED
- Touchscreen
Signed-off-by: André Apitzsch <git@apitzsch.eu>
---
Changes in v2:
- Add Fixes and R-b tag
- Move sdc2 GPIO definitions into msm8976.dtsi (new patch)
- Remove comments from rmi4 nodes
- Don't touch tz-app memory region. Currently, the bigger size seems
not necessary.
- Link to v1: https://lore.kernel.org/r/20250613-bqx5plus-v1-0-2bc2d43707a6@apitzsch.eu
---
André Apitzsch (4):
arm64: dts: qcom: msm8976: Make blsp_dma controlled-remotely
dt-bindings: arm: qcom: Add MSM8976 BQ Aquaris X5 Plus
arm64: dts: qcom: msm8976: Add sdc2 GPIOs
arm64: dts: qcom: msm8976-longcheer-l9360: Add initial device tree
Documentation/devicetree/bindings/arm/qcom.yaml | 5 +
arch/arm64/boot/dts/qcom/Makefile | 1 +
.../boot/dts/qcom/msm8976-longcheer-l9360.dts | 490 +++++++++++++++++++++
arch/arm64/boot/dts/qcom/msm8976.dtsi | 38 ++
4 files changed, 534 insertions(+)
---
base-commit: 0bb71d301869446810a0b13d3da290bd455d7c78
change-id: 20250612-bqx5plus-d72e11f5877c
Best regards,
--
André Apitzsch <git@apitzsch.eu>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 1/4] arm64: dts: qcom: msm8976: Make blsp_dma controlled-remotely
2025-06-15 20:35 [PATCH v2 0/4] arm64: dts: qcom: msm8976-longcheer-l9360: Add initial device tree André Apitzsch via B4 Relay
@ 2025-06-15 20:35 ` André Apitzsch via B4 Relay
2025-06-15 20:35 ` [PATCH v2 2/4] dt-bindings: arm: qcom: Add MSM8976 BQ Aquaris X5 Plus André Apitzsch via B4 Relay
` (5 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: André Apitzsch via B4 Relay @ 2025-06-15 20:35 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, AngeloGioacchino Del Regno, Marijn Suijten
Cc: ~postmarketos/upstreaming, phone-devel, linux-arm-msm, devicetree,
linux-kernel, Krzysztof Kozlowski, André Apitzsch,
Konrad Dybcio
From: André Apitzsch <git@apitzsch.eu>
The blsp_dma controller is shared between the different subsystems,
which is why it is already initialized by the firmware. We should not
reinitialize it from Linux to avoid potential other users of the DMA
engine to misbehave.
In mainline this can be described using the "qcom,controlled-remotely"
property. In the downstream/vendor kernel from Qualcomm there is an
opposite "qcom,managed-locally" property. This property is *not* set
for the qcom,sps-dma@7884000 and qcom,sps-dma@7ac4000 [1] so adding
"qcom,controlled-remotely" upstream matches the behavior of the
downstream/vendor kernel.
Adding this fixes booting Longcheer L9360.
[1]: https://git.codelinaro.org/clo/la/kernel/msm-3.10/-/blob/LA.BR.1.3.7.c26/arch/arm/boot/dts/qcom/msm8976.dtsi#L1149-1163
Fixes: 0484d3ce0902 ("arm64: dts: qcom: Add DTS for MSM8976 and MSM8956 SoCs")
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: André Apitzsch <git@apitzsch.eu>
---
arch/arm64/boot/dts/qcom/msm8976.dtsi | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/msm8976.dtsi b/arch/arm64/boot/dts/qcom/msm8976.dtsi
index e2ac2fd6882fcf47e846a92d45e0fcb9beba633a..2a30246384700dac2ec868c6f371248cfcc643fc 100644
--- a/arch/arm64/boot/dts/qcom/msm8976.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8976.dtsi
@@ -1331,6 +1331,7 @@ blsp1_dma: dma-controller@7884000 {
clock-names = "bam_clk";
#dma-cells = <1>;
qcom,ee = <0>;
+ qcom,controlled-remotely;
};
blsp1_uart1: serial@78af000 {
@@ -1451,6 +1452,7 @@ blsp2_dma: dma-controller@7ac4000 {
clock-names = "bam_clk";
#dma-cells = <1>;
qcom,ee = <0>;
+ qcom,controlled-remotely;
};
blsp2_uart2: serial@7af0000 {
--
2.49.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2 2/4] dt-bindings: arm: qcom: Add MSM8976 BQ Aquaris X5 Plus
2025-06-15 20:35 [PATCH v2 0/4] arm64: dts: qcom: msm8976-longcheer-l9360: Add initial device tree André Apitzsch via B4 Relay
2025-06-15 20:35 ` [PATCH v2 1/4] arm64: dts: qcom: msm8976: Make blsp_dma controlled-remotely André Apitzsch via B4 Relay
@ 2025-06-15 20:35 ` André Apitzsch via B4 Relay
2025-06-16 8:26 ` Krzysztof Kozlowski
2025-06-15 20:35 ` [PATCH v2 3/4] arm64: dts: qcom: msm8976: Add sdc2 GPIOs André Apitzsch via B4 Relay
` (4 subsequent siblings)
6 siblings, 1 reply; 11+ messages in thread
From: André Apitzsch via B4 Relay @ 2025-06-15 20:35 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, AngeloGioacchino Del Regno, Marijn Suijten
Cc: ~postmarketos/upstreaming, phone-devel, linux-arm-msm, devicetree,
linux-kernel, Krzysztof Kozlowski, André Apitzsch
From: André Apitzsch <git@apitzsch.eu>
BQ Aquaris X5 Plus (Longcheer L9360) is a smartphone based on MSM8976
SoC.
Signed-off-by: André Apitzsch <git@apitzsch.eu>
---
Documentation/devicetree/bindings/arm/qcom.yaml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index 56f78f0f3803fedcb6422efd6adec3bbc81c2e03..1ca79192590f9e55de53d7fc7fe51c1b9a4a77bc 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -230,6 +230,11 @@ properties:
- const: qcom,msm8974pro
- const: qcom,msm8974
+ - items:
+ - enum:
+ - longcheer,l9360
+ - const: qcom,msm8976
+
- items:
- enum:
- acer,a1-724
--
2.49.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2 3/4] arm64: dts: qcom: msm8976: Add sdc2 GPIOs
2025-06-15 20:35 [PATCH v2 0/4] arm64: dts: qcom: msm8976-longcheer-l9360: Add initial device tree André Apitzsch via B4 Relay
2025-06-15 20:35 ` [PATCH v2 1/4] arm64: dts: qcom: msm8976: Make blsp_dma controlled-remotely André Apitzsch via B4 Relay
2025-06-15 20:35 ` [PATCH v2 2/4] dt-bindings: arm: qcom: Add MSM8976 BQ Aquaris X5 Plus André Apitzsch via B4 Relay
@ 2025-06-15 20:35 ` André Apitzsch via B4 Relay
2025-06-17 21:17 ` Konrad Dybcio
2025-06-15 20:35 ` [PATCH v2 4/4] arm64: dts: qcom: msm8976-longcheer-l9360: Add initial device tree André Apitzsch via B4 Relay
` (3 subsequent siblings)
6 siblings, 1 reply; 11+ messages in thread
From: André Apitzsch via B4 Relay @ 2025-06-15 20:35 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, AngeloGioacchino Del Regno, Marijn Suijten
Cc: ~postmarketos/upstreaming, phone-devel, linux-arm-msm, devicetree,
linux-kernel, Krzysztof Kozlowski, André Apitzsch
From: André Apitzsch <git@apitzsch.eu>
Downstream vendor code for reference:
https://git.codelinaro.org/clo/la/kernel/msm-3.10/-/blob/LA.BR.1.3.7.c26/arch/arm/boot/dts/qcom/msm8976-pinctrl.dtsi#L223-263
Signed-off-by: André Apitzsch <git@apitzsch.eu>
---
arch/arm64/boot/dts/qcom/msm8976.dtsi | 36 +++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/msm8976.dtsi b/arch/arm64/boot/dts/qcom/msm8976.dtsi
index 2a30246384700dac2ec868c6f371248cfcc643fc..f9962512f243d6c1af4931787f4602554c63bb39 100644
--- a/arch/arm64/boot/dts/qcom/msm8976.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8976.dtsi
@@ -782,6 +782,42 @@ blsp2_i2c4_sleep: blsp2-i2c4-sleep-state {
bias-disable;
};
+ sdc2_default: sdc2-default-state {
+ clk-pins {
+ pins = "sdc2_clk";
+ bias-disable;
+ drive-strength = <16>;
+ };
+ cmd-pins {
+ pins = "sdc2_cmd";
+ bias-pull-up;
+ drive-strength = <10>;
+ };
+ data-pins {
+ pins = "sdc2_data";
+ bias-pull-up;
+ drive-strength = <10>;
+ };
+ };
+
+ sdc2_sleep: sdc2-sleep-state {
+ clk-pins {
+ pins = "sdc2_clk";
+ bias-disable;
+ drive-strength = <2>;
+ };
+ cmd-pins {
+ pins = "sdc2_cmd";
+ bias-pull-up;
+ drive-strength = <2>;
+ };
+ data-pins {
+ pins = "sdc2_data";
+ bias-pull-up;
+ drive-strength = <2>;
+ };
+ };
+
wcss_wlan_default: wcss-wlan-default-state {
wcss-wlan2-pins {
pins = "gpio40";
--
2.49.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2 4/4] arm64: dts: qcom: msm8976-longcheer-l9360: Add initial device tree
2025-06-15 20:35 [PATCH v2 0/4] arm64: dts: qcom: msm8976-longcheer-l9360: Add initial device tree André Apitzsch via B4 Relay
` (2 preceding siblings ...)
2025-06-15 20:35 ` [PATCH v2 3/4] arm64: dts: qcom: msm8976: Add sdc2 GPIOs André Apitzsch via B4 Relay
@ 2025-06-15 20:35 ` André Apitzsch via B4 Relay
2025-06-16 11:46 ` [PATCH v2 0/4] " Konrad Dybcio
` (2 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: André Apitzsch via B4 Relay @ 2025-06-15 20:35 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, AngeloGioacchino Del Regno, Marijn Suijten
Cc: ~postmarketos/upstreaming, phone-devel, linux-arm-msm, devicetree,
linux-kernel, Krzysztof Kozlowski, André Apitzsch
From: André Apitzsch <git@apitzsch.eu>
This dts adds support for BQ Aquaris X5 Plus (Longcheer L9360) released
in 2016.
Add a device tree with initial support for:
- GPIO keys
- NFC
- SDHCI
- Status LED
- Touchscreen
Signed-off-by: André Apitzsch <git@apitzsch.eu>
---
arch/arm64/boot/dts/qcom/Makefile | 1 +
.../boot/dts/qcom/msm8976-longcheer-l9360.dts | 490 +++++++++++++++++++++
2 files changed, 491 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 669b888b27a1daa93ac15f47e8b9a302bb0922c2..80fd9a910af478558bb840f7ce5aa52948912be0 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -77,6 +77,7 @@ dtb-$(CONFIG_ARCH_QCOM) += msm8953-xiaomi-tissot.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8953-xiaomi-vince.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8956-sony-xperia-loire-kugo.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8956-sony-xperia-loire-suzu.dtb
+dtb-$(CONFIG_ARCH_QCOM) += msm8976-longcheer-l9360.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8992-lg-bullhead-rev-10.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8992-lg-bullhead-rev-101.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8992-lg-h815.dtb
diff --git a/arch/arm64/boot/dts/qcom/msm8976-longcheer-l9360.dts b/arch/arm64/boot/dts/qcom/msm8976-longcheer-l9360.dts
new file mode 100644
index 0000000000000000000000000000000000000000..e524d58cf0a4b7693741036e3988700559a507f0
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/msm8976-longcheer-l9360.dts
@@ -0,0 +1,490 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2025, André Apitzsch <git@apitzsch.eu>
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/leds/common.h>
+
+#include "msm8976.dtsi"
+#include "pm8004.dtsi"
+#include "pm8950.dtsi"
+
+/ {
+ model = "BQ Aquaris X5 Plus (Longcheer L9360)";
+ compatible = "longcheer,l9360", "qcom,msm8976";
+ chassis-type = "handset";
+
+ aliases {
+ mmc0 = &sdhc_1; /* SDC1 eMMC slot */
+ mmc1 = &sdhc_2; /* SDC2 SD card slot */
+ };
+
+ chosen {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ framebuffer0: framebuffer@83200000 {
+ compatible = "simple-framebuffer";
+ reg = <0x0 0x83200000 0x0 (1080 * 1920 * 3)>;
+ width = <1080>;
+ height = <1920>;
+ stride = <(1080 * 3)>;
+ format = "r8g8b8";
+
+ power-domains = <&gcc MDSS_GDSC>;
+
+ clocks = <&gcc GCC_MDSS_AHB_CLK>,
+ <&gcc GCC_MDSS_AXI_CLK>,
+ <&gcc GCC_MDSS_VSYNC_CLK>,
+ <&gcc GCC_MDSS_MDP_CLK>,
+ <&gcc GCC_MDSS_BYTE0_CLK>,
+ <&gcc GCC_MDSS_PCLK0_CLK>,
+ <&gcc GCC_MDSS_ESC0_CLK>;
+ };
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ pinctrl-0 = <&hall_sensor_default>, <&volume_up_default>;
+ pinctrl-names = "default";
+
+ event-hall-sensor {
+ label = "Hall Effect Sensor";
+ gpios = <&tlmm 107 GPIO_ACTIVE_HIGH>;
+ linux,input-type = <EV_SW>;
+ linux,code = <SW_LID>;
+ linux,can-disable;
+ wakeup-source;
+ };
+
+ key-volume-up {
+ label = "Volume Up";
+ gpios = <&tlmm 113 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEUP>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led-0 {
+ gpios = <&tlmm 101 GPIO_ACTIVE_HIGH>;
+ color = <LED_COLOR_ID_WHITE>;
+ default-state = "off";
+ function = LED_FUNCTION_KBD_BACKLIGHT;
+
+ pinctrl-0 = <&button_backlight_default>;
+ pinctrl-names = "default";
+ };
+ };
+
+ reg_ts_vdd: regulator-vdd-ts {
+ compatible = "regulator-fixed";
+ regulator-name = "regulator-vdd-ts";
+
+ gpio = <&tlmm 33 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+ reserved-memory {
+ framebuffer@83000000 {
+ reg = <0x0 0x83000000 0x0 0x2800000>;
+ no-map;
+ };
+ };
+
+ vph_pwr: regulator-vph-pwr {
+ compatible = "regulator-fixed";
+ regulator-name = "vph-pwr";
+ regulator-always-on;
+ regulator-boot-on;
+ };
+};
+
+&blsp1_i2c2 {
+ status = "okay";
+
+ led-controller@30 {
+ compatible = "kinetic,ktd2026";
+ reg = <0x30>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ multi-led {
+ color = <LED_COLOR_ID_RGB>;
+ function = LED_FUNCTION_STATUS;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ led@0 {
+ reg = <0>;
+ color = <LED_COLOR_ID_RED>;
+ };
+
+ led@1 {
+ reg = <1>;
+ color = <LED_COLOR_ID_GREEN>;
+ };
+
+ led@2 {
+ reg = <2>;
+ color = <LED_COLOR_ID_BLUE>;
+ };
+ };
+ };
+};
+
+&blsp1_i2c4 {
+ status = "okay";
+
+ nfc@28 {
+ compatible = "nxp,pn547", "nxp,nxp-nci-i2c";
+ reg = <0x28>;
+
+ interrupts-extended = <&tlmm 140 IRQ_TYPE_EDGE_RISING>;
+
+ enable-gpios = <&tlmm 122 GPIO_ACTIVE_HIGH>;
+ firmware-gpios = <&tlmm 109 GPIO_ACTIVE_HIGH>;
+
+ pinctrl-0 = <&nfc_default>;
+ pinctrl-1 = <&nfc_sleep>;
+ pinctrl-names = "default", "sleep";
+ };
+};
+
+&blsp2_i2c2 {
+ status = "okay";
+
+ touchscreen@20 {
+ reg = <0x20>;
+ compatible = "syna,rmi4-i2c";
+
+ interrupts-extended = <&tlmm 65 IRQ_TYPE_EDGE_FALLING>;
+
+ pinctrl-0 = <&ts_int_default>, <&ts_reset_default>;
+ pinctrl-1 = <&ts_int_sleep>, <&ts_reset_sleep>;
+ pinctrl-names = "default", "sleep";
+
+ vdd-supply = <&pm8950_l6>;
+ vio-supply = <®_ts_vdd>;
+
+ reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>;
+
+ syna,reset-delay-ms = <200>;
+ syna,startup-delay-ms = <200>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ rmi4-f01@1 {
+ reg = <0x1>;
+ syna,nosleep-mode = <1>;
+ };
+
+ rmi4-f12@12 {
+ reg = <0x12>;
+ syna,sensor-type = <1>;
+ };
+ };
+};
+
+&blsp2_uart2 {
+ status = "okay";
+};
+
+&gcc {
+ vdd_gfx-supply = <&pm8004_s5>;
+};
+
+&pm8004_spmi_regulators {
+ vdd_s2-supply = <&vph_pwr>;
+ vdd_s5-supply = <&vph_pwr>;
+
+ /* Cluster 1 supply */
+ pm8004_s2: s2 {
+ /* regulator-min-microvolt = <500000>; */
+ /* Set .95V to prevent unstabilities until CPR for this SoC is done */
+ regulator-min-microvolt = <950000>;
+ regulator-max-microvolt = <1165000>;
+ regulator-name = "vdd_apc1";
+ /* Set always on until the CPU PLL is done */
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ pm8004_s5: s5 {
+ regulator-min-microvolt = <950000>;
+ regulator-max-microvolt = <1165000>;
+ regulator-enable-ramp-delay = <500>;
+ regulator-name = "vdd_gfx";
+ /* Hack this on until the gpu driver is ready for it */
+ regulator-always-on;
+ };
+};
+
+&pm8950_resin {
+ linux,code = <KEY_VOLUMEDOWN>;
+ status = "okay";
+};
+
+&pm8950_spmi_regulators {
+ vdd_s5-supply = <&vph_pwr>;
+
+ /* Cluster 0 supply */
+ pm8950_spmi_s5: s5 {
+ /* Set .95V to prevent unstabilities until CPR for this SoC is done */
+ /* regulator-min-microvolt = <500000>; */
+ regulator-min-microvolt = <950000>;
+ regulator-max-microvolt = <1165000>;
+ regulator-name = "vdd_apc0";
+ /* Set always on until the CPU PLL is done */
+ regulator-always-on;
+ regulator-boot-on;
+ };
+};
+
+&rpm_requests {
+ pm8950_regulators: regulators {
+ compatible = "qcom,rpm-pm8950-regulators";
+
+ vdd_s1-supply = <&vph_pwr>;
+ vdd_s2-supply = <&vph_pwr>;
+ vdd_s3-supply = <&vph_pwr>;
+ vdd_s4-supply = <&vph_pwr>;
+ vdd_s6-supply = <&vph_pwr>;
+ vdd_l1_l19-supply = <&pm8950_s3>;
+ vdd_l2_l23-supply = <&pm8950_s3>;
+ vdd_l3-supply = <&pm8950_s3>;
+ vdd_l5_l6_l7_l16-supply = <&pm8950_s4>;
+ vdd_l8_l11_l12_l17_l22-supply = <&vph_pwr>;
+
+ pm8950_s1: s1 {
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1162500>;
+ };
+
+ pm8950_s3: s3 {
+ regulator-min-microvolt = <1325000>;
+ regulator-max-microvolt = <1325000>;
+ };
+
+ pm8950_s4: s4 {
+ regulator-min-microvolt = <2050000>;
+ regulator-max-microvolt = <2050000>;
+ };
+
+ pm8950_l1: l1 {
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ };
+
+ pm8950_l2: l2 {
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ };
+
+ pm8950_l3: l3 {
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1100000>;
+ };
+
+ pm8950_l5: l5 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ pm8950_l6: l6 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ pm8950_l7: l7 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ pm8950_l8: l8 {
+ regulator-min-microvolt = <2900000>;
+ regulator-max-microvolt = <2900000>;
+ };
+
+ pm8950_l9: l9 {
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ pm8950_l10: l10 {
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ };
+
+ pm8950_l11: l11 {
+ regulator-min-microvolt = <2950000>;
+ regulator-max-microvolt = <2950000>;
+ };
+
+ pm8950_l12: l12 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <2950000>;
+ };
+
+ pm8950_l13: l13 {
+ regulator-min-microvolt = <3075000>;
+ regulator-max-microvolt = <3075000>;
+ };
+
+ pm8950_l14: l14 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ pm8950_l15: l15 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ pm8950_l16: l16 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ pm8950_l17: l17 {
+ regulator-min-microvolt = <2850000>;
+ regulator-max-microvolt = <2850000>;
+ };
+
+ pm8950_l19: l19 {
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1350000>;
+ };
+
+ pm8950_l22: l22 {
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ };
+
+ pm8950_l23: l23 {
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ };
+ };
+};
+
+&sdhc_1 {
+ bus-width = <8>;
+ non-removable;
+ vmmc-supply = <&pm8950_l8>;
+ vqmmc-supply = <&pm8950_l5>;
+ status = "okay";
+};
+
+&sdhc_2 {
+ bus-width = <4>;
+ cd-gpios = <&tlmm 100 GPIO_ACTIVE_LOW>;
+ vmmc-supply = <&pm8950_l11>;
+ vqmmc-supply = <&pm8950_l12>;
+
+ pinctrl-0 = <&sdc2_default>, <&sdc2_cd_default>;
+ pinctrl-1 = <&sdc2_sleep>, <&sdc2_cd_sleep>;
+ pinctrl-names = "default", "sleep";
+
+ status = "okay";
+};
+
+&tlmm {
+ gpio-reserved-ranges = <0 4>;
+
+ button_backlight_default: button-backlight-default-state {
+ pins = "gpio101";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ hall_sensor_default: hall-sensor-default-state {
+ pins = "gpio107";
+ function = "gpio";
+ drive-strength = <6>;
+ bias-pull-up;
+ };
+
+ nfc_default: nfc-default-state {
+ pins = "gpio122", "gpio140";
+ function = "gpio";
+ drive-strength = <6>;
+ bias-pull-up;
+ };
+
+ nfc_sleep: nfc-sleep-state {
+ int-pins {
+ pins = "gpio140";
+ function = "gpio";
+ drive-strength = <6>;
+ bias-pull-up;
+ };
+ ven-pins {
+ pins = "gpio122";
+ function = "gpio";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ sdc2_cd_default: sdc2-cd-default-state {
+ pins = "gpio100";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ sdc2_cd_sleep: sdc2-cd-sleep-state {
+ pins = "gpio100";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ ts_int_default: ts-int-state {
+ pins = "gpio65";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+
+ ts_int_sleep: ts-int-state {
+ pins = "gpio65";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ ts_reset_default: ts-reset-state {
+ pins = "gpio64";
+ function = "gpio";
+ drive-strength = <8>;
+ bias-pull-up;
+ };
+
+ ts_reset_sleep: ts-sleep-state {
+ pins = "gpio64";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+
+ volume_up_default: volume-up-default-state {
+ pins = "gpio113";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+};
+
+&xo_board {
+ clock-frequency = <19200000>;
+};
--
2.49.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v2 2/4] dt-bindings: arm: qcom: Add MSM8976 BQ Aquaris X5 Plus
2025-06-15 20:35 ` [PATCH v2 2/4] dt-bindings: arm: qcom: Add MSM8976 BQ Aquaris X5 Plus André Apitzsch via B4 Relay
@ 2025-06-16 8:26 ` Krzysztof Kozlowski
0 siblings, 0 replies; 11+ messages in thread
From: Krzysztof Kozlowski @ 2025-06-16 8:26 UTC (permalink / raw)
To: git, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, AngeloGioacchino Del Regno,
Marijn Suijten
Cc: ~postmarketos/upstreaming, phone-devel, linux-arm-msm, devicetree,
linux-kernel
On 15/06/2025 22:35, André Apitzsch via B4 Relay wrote:
> From: André Apitzsch <git@apitzsch.eu>
>
> BQ Aquaris X5 Plus (Longcheer L9360) is a smartphone based on MSM8976
> SoC.
>
> Signed-off-by: André Apitzsch <git@apitzsch.eu>
> ---
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 0/4] arm64: dts: qcom: msm8976-longcheer-l9360: Add initial device tree
2025-06-15 20:35 [PATCH v2 0/4] arm64: dts: qcom: msm8976-longcheer-l9360: Add initial device tree André Apitzsch via B4 Relay
` (3 preceding siblings ...)
2025-06-15 20:35 ` [PATCH v2 4/4] arm64: dts: qcom: msm8976-longcheer-l9360: Add initial device tree André Apitzsch via B4 Relay
@ 2025-06-16 11:46 ` Konrad Dybcio
2025-06-16 18:27 ` André Apitzsch
2025-06-16 21:46 ` Rob Herring (Arm)
2025-06-18 20:58 ` Bjorn Andersson
6 siblings, 1 reply; 11+ messages in thread
From: Konrad Dybcio @ 2025-06-16 11:46 UTC (permalink / raw)
To: git, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, AngeloGioacchino Del Regno,
Marijn Suijten
Cc: ~postmarketos/upstreaming, phone-devel, linux-arm-msm, devicetree,
linux-kernel, Krzysztof Kozlowski, Konrad Dybcio
On 6/15/25 10:35 PM, André Apitzsch via B4 Relay wrote:
> This dts adds support for BQ Aquaris X5 Plus (Longcheer L9360) released
> in 2016.
>
> Add a device tree with initial support for:
>
> - GPIO keys
> - NFC
> - SDHCI
> - Status LED
> - Touchscreen
>
> Signed-off-by: André Apitzsch <git@apitzsch.eu>
> ---
> Changes in v2:
> - Add Fixes and R-b tag
> - Move sdc2 GPIO definitions into msm8976.dtsi (new patch)
> - Remove comments from rmi4 nodes
> - Don't touch tz-app memory region. Currently, the bigger size seems
> not necessary.
You may want to run the kernel memtest, which accesses all non-reserved
regions. If the device doesn't kaboom, we're likely gtg
To do so, enable CONFIG_MEMTEST and boot with "memtest=1" in cmdline,
boot may take noticeably longer than usual.
Konrad
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 0/4] arm64: dts: qcom: msm8976-longcheer-l9360: Add initial device tree
2025-06-16 11:46 ` [PATCH v2 0/4] " Konrad Dybcio
@ 2025-06-16 18:27 ` André Apitzsch
0 siblings, 0 replies; 11+ messages in thread
From: André Apitzsch @ 2025-06-16 18:27 UTC (permalink / raw)
To: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, AngeloGioacchino Del Regno,
Marijn Suijten
Cc: ~postmarketos/upstreaming, phone-devel, linux-arm-msm, devicetree,
linux-kernel, Krzysztof Kozlowski
Am Montag, dem 16.06.2025 um 13:46 +0200 schrieb Konrad Dybcio:
> On 6/15/25 10:35 PM, André Apitzsch via B4 Relay wrote:
> > This dts adds support for BQ Aquaris X5 Plus (Longcheer L9360)
> > released
> > in 2016.
> >
> > Add a device tree with initial support for:
> >
> > - GPIO keys
> > - NFC
> > - SDHCI
> > - Status LED
> > - Touchscreen
> >
> > Signed-off-by: André Apitzsch <git@apitzsch.eu>
> > ---
> > Changes in v2:
> > - Add Fixes and R-b tag
> > - Move sdc2 GPIO definitions into msm8976.dtsi (new patch)
> > - Remove comments from rmi4 nodes
> > - Don't touch tz-app memory region. Currently, the bigger size
> > seems
> > not necessary.
>
> You may want to run the kernel memtest, which accesses all non-
> reserved regions. If the device doesn't kaboom, we're likely gtg
>
> To do so, enable CONFIG_MEMTEST and boot with "memtest=1" in cmdline,
> boot may take noticeably longer than usual.
>
> Konrad
Hi Konrad,
thanks for the hint. The memtest runs without problems.
Best regards,
André
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 0/4] arm64: dts: qcom: msm8976-longcheer-l9360: Add initial device tree
2025-06-15 20:35 [PATCH v2 0/4] arm64: dts: qcom: msm8976-longcheer-l9360: Add initial device tree André Apitzsch via B4 Relay
` (4 preceding siblings ...)
2025-06-16 11:46 ` [PATCH v2 0/4] " Konrad Dybcio
@ 2025-06-16 21:46 ` Rob Herring (Arm)
2025-06-18 20:58 ` Bjorn Andersson
6 siblings, 0 replies; 11+ messages in thread
From: Rob Herring (Arm) @ 2025-06-16 21:46 UTC (permalink / raw)
To: André Apitzsch
Cc: ~postmarketos/upstreaming, phone-devel, Krzysztof Kozlowski,
Konrad Dybcio, devicetree, Krzysztof Kozlowski, linux-kernel,
AngeloGioacchino Del Regno, Konrad Dybcio, Bjorn Andersson,
linux-arm-msm, Conor Dooley, Marijn Suijten
On Sun, 15 Jun 2025 22:35:02 +0200, André Apitzsch wrote:
> This dts adds support for BQ Aquaris X5 Plus (Longcheer L9360) released
> in 2016.
>
> Add a device tree with initial support for:
>
> - GPIO keys
> - NFC
> - SDHCI
> - Status LED
> - Touchscreen
>
> Signed-off-by: André Apitzsch <git@apitzsch.eu>
> ---
> Changes in v2:
> - Add Fixes and R-b tag
> - Move sdc2 GPIO definitions into msm8976.dtsi (new patch)
> - Remove comments from rmi4 nodes
> - Don't touch tz-app memory region. Currently, the bigger size seems
> not necessary.
> - Link to v1: https://lore.kernel.org/r/20250613-bqx5plus-v1-0-2bc2d43707a6@apitzsch.eu
>
> ---
> André Apitzsch (4):
> arm64: dts: qcom: msm8976: Make blsp_dma controlled-remotely
> dt-bindings: arm: qcom: Add MSM8976 BQ Aquaris X5 Plus
> arm64: dts: qcom: msm8976: Add sdc2 GPIOs
> arm64: dts: qcom: msm8976-longcheer-l9360: Add initial device tree
>
> Documentation/devicetree/bindings/arm/qcom.yaml | 5 +
> arch/arm64/boot/dts/qcom/Makefile | 1 +
> .../boot/dts/qcom/msm8976-longcheer-l9360.dts | 490 +++++++++++++++++++++
> arch/arm64/boot/dts/qcom/msm8976.dtsi | 38 ++
> 4 files changed, 534 insertions(+)
> ---
> base-commit: 0bb71d301869446810a0b13d3da290bd455d7c78
> change-id: 20250612-bqx5plus-d72e11f5877c
>
> Best regards,
> --
> André Apitzsch <git@apitzsch.eu>
>
>
>
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: using specified base-commit 0bb71d301869446810a0b13d3da290bd455d7c78
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 20250615-bqx5plus-v2-0-72b45c84237d@apitzsch.eu:
arch/arm64/boot/dts/qcom/msm8976-longcheer-l9360.dtb: display-controller@1a01000 (qcom,msm8976-mdp5): clock-names: 'oneOf' conditional failed, one must be fixed:
['iface', 'bus', 'core', 'vsync', 'tbu', 'tbu_rt'] is too long
'iommu' was expected
'lut' was expected
'vsync' was expected
'tbu' was expected
from schema $id: http://devicetree.org/schemas/display/msm/qcom,mdp5.yaml#
arch/arm64/boot/dts/qcom/msm8976-longcheer-l9360.dtb: gpu@1c00000 (qcom,adreno-510.0): clock-names:5: 'alwayson' is not one of ['core', 'iface', 'mem', 'mem_iface', 'alt_mem_iface', 'gfx3d', 'rbbmtimer', 'rbcpr']
from schema $id: http://devicetree.org/schemas/display/msm/gpu.yaml#
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 3/4] arm64: dts: qcom: msm8976: Add sdc2 GPIOs
2025-06-15 20:35 ` [PATCH v2 3/4] arm64: dts: qcom: msm8976: Add sdc2 GPIOs André Apitzsch via B4 Relay
@ 2025-06-17 21:17 ` Konrad Dybcio
0 siblings, 0 replies; 11+ messages in thread
From: Konrad Dybcio @ 2025-06-17 21:17 UTC (permalink / raw)
To: git, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, AngeloGioacchino Del Regno,
Marijn Suijten
Cc: ~postmarketos/upstreaming, phone-devel, linux-arm-msm, devicetree,
linux-kernel, Krzysztof Kozlowski
On 6/15/25 10:35 PM, André Apitzsch via B4 Relay wrote:
> From: André Apitzsch <git@apitzsch.eu>
>
> Downstream vendor code for reference:
>
> https://git.codelinaro.org/clo/la/kernel/msm-3.10/-/blob/LA.BR.1.3.7.c26/arch/arm/boot/dts/qcom/msm8976-pinctrl.dtsi#L223-263
>
> Signed-off-by: André Apitzsch <git@apitzsch.eu>
> ---
> arch/arm64/boot/dts/qcom/msm8976.dtsi | 36 +++++++++++++++++++++++++++++++++++
> 1 file changed, 36 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/msm8976.dtsi b/arch/arm64/boot/dts/qcom/msm8976.dtsi
> index 2a30246384700dac2ec868c6f371248cfcc643fc..f9962512f243d6c1af4931787f4602554c63bb39 100644
> --- a/arch/arm64/boot/dts/qcom/msm8976.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8976.dtsi
> @@ -782,6 +782,42 @@ blsp2_i2c4_sleep: blsp2-i2c4-sleep-state {
> bias-disable;
> };
>
> + sdc2_default: sdc2-default-state {
> + clk-pins {
> + pins = "sdc2_clk";
> + bias-disable;
> + drive-strength = <16>;
Should you send a v3, please reorder the bias properties to below
drive-strength for consistency
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 0/4] arm64: dts: qcom: msm8976-longcheer-l9360: Add initial device tree
2025-06-15 20:35 [PATCH v2 0/4] arm64: dts: qcom: msm8976-longcheer-l9360: Add initial device tree André Apitzsch via B4 Relay
` (5 preceding siblings ...)
2025-06-16 21:46 ` Rob Herring (Arm)
@ 2025-06-18 20:58 ` Bjorn Andersson
6 siblings, 0 replies; 11+ messages in thread
From: Bjorn Andersson @ 2025-06-18 20:58 UTC (permalink / raw)
To: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
AngeloGioacchino Del Regno, Marijn Suijten, André Apitzsch
Cc: ~postmarketos/upstreaming, phone-devel, linux-arm-msm, devicetree,
linux-kernel, Krzysztof Kozlowski, Konrad Dybcio
On Sun, 15 Jun 2025 22:35:02 +0200, André Apitzsch wrote:
> This dts adds support for BQ Aquaris X5 Plus (Longcheer L9360) released
> in 2016.
>
> Add a device tree with initial support for:
>
> - GPIO keys
> - NFC
> - SDHCI
> - Status LED
> - Touchscreen
>
> [...]
Applied, thanks!
[1/4] arm64: dts: qcom: msm8976: Make blsp_dma controlled-remotely
commit: 76270a18dbdf0bb50615f1b29d2cae8d683da01e
[2/4] dt-bindings: arm: qcom: Add MSM8976 BQ Aquaris X5 Plus
commit: 3440c6d1f81dc6fa6356b0f9adbf1dc785ceb426
[3/4] arm64: dts: qcom: msm8976: Add sdc2 GPIOs
commit: cf3dcd80dbe45f1915bd9630f3e20bcdbf6360ac
[4/4] arm64: dts: qcom: msm8976-longcheer-l9360: Add initial device tree
commit: 79b896e7da7e2743fc930d260bcecd1e84a003c4
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2025-06-18 20:58 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-15 20:35 [PATCH v2 0/4] arm64: dts: qcom: msm8976-longcheer-l9360: Add initial device tree André Apitzsch via B4 Relay
2025-06-15 20:35 ` [PATCH v2 1/4] arm64: dts: qcom: msm8976: Make blsp_dma controlled-remotely André Apitzsch via B4 Relay
2025-06-15 20:35 ` [PATCH v2 2/4] dt-bindings: arm: qcom: Add MSM8976 BQ Aquaris X5 Plus André Apitzsch via B4 Relay
2025-06-16 8:26 ` Krzysztof Kozlowski
2025-06-15 20:35 ` [PATCH v2 3/4] arm64: dts: qcom: msm8976: Add sdc2 GPIOs André Apitzsch via B4 Relay
2025-06-17 21:17 ` Konrad Dybcio
2025-06-15 20:35 ` [PATCH v2 4/4] arm64: dts: qcom: msm8976-longcheer-l9360: Add initial device tree André Apitzsch via B4 Relay
2025-06-16 11:46 ` [PATCH v2 0/4] " Konrad Dybcio
2025-06-16 18:27 ` André Apitzsch
2025-06-16 21:46 ` Rob Herring (Arm)
2025-06-18 20:58 ` 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).