* [PATCH v10 0/5] Add Qualcomm Technologies, Inc. Talos EVK SMARC support
@ 2025-12-30 13:02 Sudarshan Shetty
2025-12-30 13:02 ` [PATCH v10 1/5] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform Sudarshan Shetty
` (4 more replies)
0 siblings, 5 replies; 33+ messages in thread
From: Sudarshan Shetty @ 2025-12-30 13:02 UTC (permalink / raw)
To: andersson, konradybcio
Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel,
Sudarshan Shetty
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=yes, Size: 4588 bytes --]
Hi all,
This patch series adds device tree binding and board support for the
Qualcomm Technologies, Inc. Talos EVK SMARC platform based on the
QCS615 SoC.
The first patch introduces the DT binding entry for the Talos EVK
SMARC board, and the second patch adds the corresponding DTS
files for the platform.
Note:
USB(usb_1_dwc3) supports host-only mode based on the switch SW1 on
the SoM, which is purely a hardware controlled as USB-ID and USB-VBUS
is not connected the switching cannot be handled from SW.
Hence from SW Host-only mode is supported on Linux boot up.
Changes in v10:
- This series extends the gpio-backlight driver and its DT bindings
to support multiple control GPIOs. (suggested by Dmitry)
- Addressed DT node labeling feedback.
- Polished overall device tree structure and minor formattings.
- Corrected pinctrl configuration for the active-low PERST# pin.
- Includes a fix for inconsistent USB PHY node naming in
talos.dtsi. (suggested by Dmitry)
- Enabled WiFi and Bluetooth functionality.
- Updated commit message.
- No functional change in bindings file.
Changes in v9:
- The updates in the following patch url is taken care in this
patch series.
https://lists.freedesktop.org/archives/dri-devel/2025-November/534473.html
- Ignore v8 patch
Changes in v8:
- This patch series depends on the below url
https://lists.freedesktop.org/archives/dri-devel/2025-November/534473.html
- Moved the contents of `talos-evk-cb.dtsi` to `talos-evk.dtsi`
which will describe all the standard configuration of the EVK.
- Introduced 'talos-evk-lvds-auo,g133han01.dtso' which has overlay
to disable HDMI and adds the LVDS-related on top of the base
dts file. (suggested by Bjorn)
- Ethernet and Wi-Fi/BT are not (yet) supported.
- Updated commit message.
- No functional change in bindings file.
Changes in v7:
- Added i2c clock frequency for i2c5 node.
- Moved adv7535 controller section to talos-evk.dts file.
- Reorder the usb nodes.
- GPI_DMA nodes added in the device tree files.
- No functional change in bindings file.
Changes in v6:
- Clarified description of `talos-evk-cb.dtsi` to explain that it
defines common carrier board interfaces shared between HDMI and
LVDS variants, And It’s a single carrier board. HDMI and LVDS
share the same DSI interface, and only one can be active at a
time depending on a DIP switch.
- Added missing newlines before 'status' and between the last property
and subnode (suggested by Konrad).
- Updated commit messages for clarity.
Changes in v5:
- Updated commit message. (suggested by Krzysztof)
- Introduced generic node name for can, dp, hdmi-bridge. (suggested by
Krzysztof)
- Introduced talos-evk-cb.dtsi, which has common carrier board
interfaces.
- No functional change in bindings file.
Changes in v4:
- Updated product name to full form per Krzysztof’s feedback in
dt-binding comment.
- Hook up the ADV7535 DSI-to-HDMI bridge to base DTS file.
- Add DP connector node and MDSS DisplayPort controller.
- Added USB note in the cover letter for maintainers' awareness.
Changes in v3:
- Addressed comments from Dmitry regarding USB1 `dr_mode` and
added a DTS comment.
- No functional change in bindings file.
Changes in v2:
- Renamed compatible to "qcom,talos-evk" (suggested by Dmitry/Bjorn)
- Merged enum entry with existing `qcs615-ride` block (Krzysztof)
- Fixed subject and commit message to use imperative mood.
Thanks,
Anusha
Sudarshan Shetty (5):
dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform
dt-bindings: backlight: gpio-backlight: allow multiple GPIOs
backlight: gpio: add support for multiple GPIOs for backlight control
arm64: dts: qcom: talos: Fix inconsistent USB PHY node naming
arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
.../devicetree/bindings/arm/qcom.yaml | 1 +
.../leds/backlight/gpio-backlight.yaml | 12 +-
arch/arm64/boot/dts/qcom/Makefile | 4 +
.../qcom/talos-evk-lvds-auo,g133han01.dtso | 126 ++++
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi | 598 ++++++++++++++++++
arch/arm64/boot/dts/qcom/talos-evk.dts | 139 ++++
arch/arm64/boot/dts/qcom/talos.dtsi | 4 +-
drivers/video/backlight/gpio_backlight.c | 61 +-
8 files changed, 926 insertions(+), 19 deletions(-)
create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
create mode 100644 arch/arm64/boot/dts/qcom/talos-evk.dts
--
2.34.1
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH v10 1/5] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform
2025-12-30 13:02 [PATCH v10 0/5] Add Qualcomm Technologies, Inc. Talos EVK SMARC support Sudarshan Shetty
@ 2025-12-30 13:02 ` Sudarshan Shetty
2025-12-30 15:03 ` Krzysztof Kozlowski
2025-12-30 13:02 ` [PATCH v10 2/5] dt-bindings: backlight: gpio-backlight: allow multiple GPIOs Sudarshan Shetty
` (3 subsequent siblings)
4 siblings, 1 reply; 33+ messages in thread
From: Sudarshan Shetty @ 2025-12-30 13:02 UTC (permalink / raw)
To: andersson, konradybcio
Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel,
Sudarshan Shetty
Add binding support for the Qualcomm Technologies, Inc. Talos EVK
SMARC platform based on the QCS615 SoC.
Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com>
---
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 4eb0a7a9ee4a..c081746636d1 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -876,6 +876,7 @@ properties:
- items:
- enum:
- qcom,qcs615-ride
+ - qcom,talos-evk
- const: qcom,qcs615
- const: qcom,sm6150
--
2.34.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v10 2/5] dt-bindings: backlight: gpio-backlight: allow multiple GPIOs
2025-12-30 13:02 [PATCH v10 0/5] Add Qualcomm Technologies, Inc. Talos EVK SMARC support Sudarshan Shetty
2025-12-30 13:02 ` [PATCH v10 1/5] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform Sudarshan Shetty
@ 2025-12-30 13:02 ` Sudarshan Shetty
2026-01-05 15:52 ` Bjorn Andersson
2025-12-30 13:02 ` [PATCH v10 3/5] backlight: gpio: add support for multiple GPIOs for backlight control Sudarshan Shetty
` (2 subsequent siblings)
4 siblings, 1 reply; 33+ messages in thread
From: Sudarshan Shetty @ 2025-12-30 13:02 UTC (permalink / raw)
To: andersson, konradybcio
Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel,
Sudarshan Shetty
Update the gpio-backlight binding to support configurations that require
more than one GPIO for enabling/disabling the backlight.
Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com>
---
.../bindings/leds/backlight/gpio-backlight.yaml | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/leds/backlight/gpio-backlight.yaml b/Documentation/devicetree/bindings/leds/backlight/gpio-backlight.yaml
index 584030b6b0b9..1483ce4a3480 100644
--- a/Documentation/devicetree/bindings/leds/backlight/gpio-backlight.yaml
+++ b/Documentation/devicetree/bindings/leds/backlight/gpio-backlight.yaml
@@ -17,7 +17,8 @@ properties:
gpios:
description: The gpio that is used for enabling/disabling the backlight.
- maxItems: 1
+ minItems: 1
+ maxItems: 2
default-on:
description: enable the backlight at boot.
@@ -38,4 +39,13 @@ examples:
default-on;
};
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ backlight {
+ compatible = "gpio-backlight";
+ gpios = <&gpio3 4 GPIO_ACTIVE_HIGH>,
+ <&gpio3 5 GPIO_ACTIVE_HIGH>;
+ default-on;
+ };
+
...
--
2.34.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v10 3/5] backlight: gpio: add support for multiple GPIOs for backlight control
2025-12-30 13:02 [PATCH v10 0/5] Add Qualcomm Technologies, Inc. Talos EVK SMARC support Sudarshan Shetty
2025-12-30 13:02 ` [PATCH v10 1/5] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform Sudarshan Shetty
2025-12-30 13:02 ` [PATCH v10 2/5] dt-bindings: backlight: gpio-backlight: allow multiple GPIOs Sudarshan Shetty
@ 2025-12-30 13:02 ` Sudarshan Shetty
2026-01-05 15:38 ` Bjorn Andersson
2025-12-30 13:02 ` [PATCH v10 4/5] arm64: dts: qcom: talos: Fix inconsistent USB PHY node naming Sudarshan Shetty
2025-12-30 13:02 ` [PATCH v10 5/5] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board Sudarshan Shetty
4 siblings, 1 reply; 33+ messages in thread
From: Sudarshan Shetty @ 2025-12-30 13:02 UTC (permalink / raw)
To: andersson, konradybcio
Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel,
Sudarshan Shetty
Extend the gpio-backlight driver to handle multiple GPIOs instead of a
single one. This allows panels that require driving several enable pins
to be controlled by the backlight framework.
Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com>
---
drivers/video/backlight/gpio_backlight.c | 61 +++++++++++++++++-------
1 file changed, 45 insertions(+), 16 deletions(-)
diff --git a/drivers/video/backlight/gpio_backlight.c b/drivers/video/backlight/gpio_backlight.c
index 728a546904b0..037e1c111e48 100644
--- a/drivers/video/backlight/gpio_backlight.c
+++ b/drivers/video/backlight/gpio_backlight.c
@@ -17,14 +17,18 @@
struct gpio_backlight {
struct device *dev;
- struct gpio_desc *gpiod;
+ struct gpio_desc **gpiods;
+ unsigned int num_gpios;
};
static int gpio_backlight_update_status(struct backlight_device *bl)
{
struct gpio_backlight *gbl = bl_get_data(bl);
+ unsigned int i;
+ int br = backlight_get_brightness(bl);
- gpiod_set_value_cansleep(gbl->gpiod, backlight_get_brightness(bl));
+ for (i = 0; i < gbl->num_gpios; i++)
+ gpiod_set_value_cansleep(gbl->gpiods[i], br);
return 0;
}
@@ -52,6 +56,7 @@ static int gpio_backlight_probe(struct platform_device *pdev)
struct backlight_device *bl;
struct gpio_backlight *gbl;
int ret, init_brightness, def_value;
+ unsigned int i;
gbl = devm_kzalloc(dev, sizeof(*gbl), GFP_KERNEL);
if (gbl == NULL)
@@ -62,10 +67,22 @@ static int gpio_backlight_probe(struct platform_device *pdev)
def_value = device_property_read_bool(dev, "default-on");
- gbl->gpiod = devm_gpiod_get(dev, NULL, GPIOD_ASIS);
- if (IS_ERR(gbl->gpiod))
- return dev_err_probe(dev, PTR_ERR(gbl->gpiod),
- "The gpios parameter is missing or invalid\n");
+ gbl->num_gpios = gpiod_count(dev, NULL);
+ if (gbl->num_gpios == 0)
+ return dev_err_probe(dev, -EINVAL,
+ "The gpios parameter is missing or invalid\n");
+ gbl->gpiods = devm_kcalloc(dev, gbl->num_gpios, sizeof(*gbl->gpiods),
+ GFP_KERNEL);
+ if (!gbl->gpiods)
+ return -ENOMEM;
+
+ for (i = 0; i < gbl->num_gpios; i++) {
+ gbl->gpiods[i] =
+ devm_gpiod_get_index(dev, NULL, i, GPIOD_ASIS);
+ if (IS_ERR(gbl->gpiods[i]))
+ return dev_err_probe(dev, PTR_ERR(gbl->gpiods[i]),
+ "Failed to get GPIO at index %u\n", i);
+ }
memset(&props, 0, sizeof(props));
props.type = BACKLIGHT_RAW;
@@ -78,22 +95,34 @@ static int gpio_backlight_probe(struct platform_device *pdev)
}
/* Set the initial power state */
- if (!of_node || !of_node->phandle)
+ if (!of_node || !of_node->phandle) {
/* Not booted with device tree or no phandle link to the node */
bl->props.power = def_value ? BACKLIGHT_POWER_ON
- : BACKLIGHT_POWER_OFF;
- else if (gpiod_get_value_cansleep(gbl->gpiod) == 0)
- bl->props.power = BACKLIGHT_POWER_OFF;
- else
- bl->props.power = BACKLIGHT_POWER_ON;
+ : BACKLIGHT_POWER_OFF;
+ } else {
+ bool all_high = true;
+
+ for (i = 0; i < gbl->num_gpios; i++) {
+ if (gpiod_get_value_cansleep(gbl->gpiods[i]) != 0) {
+ all_high = false;
+ break;
+ }
+ }
+
+ bl->props.power =
+ all_high ? BACKLIGHT_POWER_ON : BACKLIGHT_POWER_OFF;
+ }
bl->props.brightness = 1;
init_brightness = backlight_get_brightness(bl);
- ret = gpiod_direction_output(gbl->gpiod, init_brightness);
- if (ret) {
- dev_err(dev, "failed to set initial brightness\n");
- return ret;
+
+ for (i = 0; i < gbl->num_gpios; i++) {
+ ret = gpiod_direction_output(gbl->gpiods[i], init_brightness);
+ if (ret)
+ return dev_err_probe(dev, ret,
+ "failed to set gpio %u direction\n",
+ i);
}
platform_set_drvdata(pdev, bl);
--
2.34.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v10 4/5] arm64: dts: qcom: talos: Fix inconsistent USB PHY node naming
2025-12-30 13:02 [PATCH v10 0/5] Add Qualcomm Technologies, Inc. Talos EVK SMARC support Sudarshan Shetty
` (2 preceding siblings ...)
2025-12-30 13:02 ` [PATCH v10 3/5] backlight: gpio: add support for multiple GPIOs for backlight control Sudarshan Shetty
@ 2025-12-30 13:02 ` Sudarshan Shetty
2025-12-30 14:42 ` Dmitry Baryshkov
2026-01-07 8:23 ` yuanjiey
2025-12-30 13:02 ` [PATCH v10 5/5] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board Sudarshan Shetty
4 siblings, 2 replies; 33+ messages in thread
From: Sudarshan Shetty @ 2025-12-30 13:02 UTC (permalink / raw)
To: andersson, konradybcio
Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel,
Sudarshan Shetty
The USB PHY nodes has inconsistent labels as 'usb_1_hspy'
and 'usb_hsphy_2'. This patch renames them to follow
a consistent naming scheme.
No functional changes, only label renaming.
Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com>
---
arch/arm64/boot/dts/qcom/talos.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/talos.dtsi b/arch/arm64/boot/dts/qcom/talos.dtsi
index 95d26e313622..c7dc507a50b5 100644
--- a/arch/arm64/boot/dts/qcom/talos.dtsi
+++ b/arch/arm64/boot/dts/qcom/talos.dtsi
@@ -4304,7 +4304,7 @@ osm_l3: interconnect@18321000 {
#interconnect-cells = <1>;
};
- usb_1_hsphy: phy@88e2000 {
+ usb_hsphy_1: phy@88e2000 {
compatible = "qcom,qcs615-qusb2-phy";
reg = <0x0 0x88e2000 0x0 0x180>;
@@ -4412,7 +4412,7 @@ usb_1_dwc3: usb@a600000 {
iommus = <&apps_smmu 0x140 0x0>;
interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
- phys = <&usb_1_hsphy>, <&usb_qmpphy>;
+ phys = <&usb_hsphy_1>, <&usb_qmpphy>;
phy-names = "usb2-phy", "usb3-phy";
snps,dis-u1-entry-quirk;
--
2.34.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v10 5/5] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
2025-12-30 13:02 [PATCH v10 0/5] Add Qualcomm Technologies, Inc. Talos EVK SMARC support Sudarshan Shetty
` (3 preceding siblings ...)
2025-12-30 13:02 ` [PATCH v10 4/5] arm64: dts: qcom: talos: Fix inconsistent USB PHY node naming Sudarshan Shetty
@ 2025-12-30 13:02 ` Sudarshan Shetty
2025-12-30 14:45 ` Dmitry Baryshkov
` (2 more replies)
4 siblings, 3 replies; 33+ messages in thread
From: Sudarshan Shetty @ 2025-12-30 13:02 UTC (permalink / raw)
To: andersson, konradybcio
Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel,
Sudarshan Shetty
Add the device tree for the QCS615-based Talos EVK platform. The
platform is composed of a System-on-Module following the SMARC
standard, and a Carrier Board.
The Carrier Board supports several display configurations, HDMI and
LVDS. Both configurations use the same base hardware, with the display
selection controlled by a DIP switch.
Use a DTBO file, talos-evk-lvds-auo,g133han01.dtso, which defines an
overlay that disables HDMI and adds LVDS. The DTs file talos-evk
can describe the HDMI display configurations.
The initial device tree includes support for:
- CPU and memory
- UART
- GPIOs
- Regulators
- PMIC
- Early console
- AT24MAC602 EEPROM
- MCP2515 SPI to CAN
- ADV7535 DSI-to-HDMI bridge
- DisplayPort interface
- SN65DSI84ZXHR DSI-to-LVDS bridge
- Wi-Fi/BT
Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com>
---
arch/arm64/boot/dts/qcom/Makefile | 4 +
.../qcom/talos-evk-lvds-auo,g133han01.dtso | 126 ++++
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi | 598 ++++++++++++++++++
arch/arm64/boot/dts/qcom/talos-evk.dts | 139 ++++
4 files changed, 867 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
create mode 100644 arch/arm64/boot/dts/qcom/talos-evk.dts
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 76cf0115a00a..289b651ef0c5 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -324,6 +324,10 @@ dtb-$(CONFIG_ARCH_QCOM) += sm8650-mtp.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm8650-qrd.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm8750-mtp.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm8750-qrd.dtb
+dtb-$(CONFIG_ARCH_QCOM) += talos-evk.dtb
+talos-evk-lvds-auo,g133han01-dtbs := \
+ talos-evk.dtb talos-evk-lvds-auo,g133han01.dtbo
+dtb-$(CONFIG_ARCH_QCOM) += talos-evk-lvds-auo,g133han01.dtb
x1e001de-devkit-el2-dtbs := x1e001de-devkit.dtb x1-el2.dtbo
dtb-$(CONFIG_ARCH_QCOM) += x1e001de-devkit.dtb x1e001de-devkit-el2.dtb
x1e78100-lenovo-thinkpad-t14s-el2-dtbs := x1e78100-lenovo-thinkpad-t14s.dtb x1-el2.dtbo
diff --git a/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso b/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
new file mode 100644
index 000000000000..5393d1dc7fea
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
@@ -0,0 +1,126 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+&{/} {
+ backlight: backlight {
+ compatible = "gpio-backlight";
+ gpios = <&tlmm 59 GPIO_ACTIVE_HIGH>,
+ <&tlmm 115 GPIO_ACTIVE_HIGH>;
+ default-on;
+ };
+
+ hdmi_connector: hdmi-out {
+ status = "disabled";
+ };
+
+ panel-lvds {
+ compatible = "auo,g133han01";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* LVDS A (Odd pixels) */
+ port@0 {
+ reg = <0>;
+ dual-lvds-odd-pixels;
+
+ lvds_panel_out_a: endpoint {
+ remote-endpoint = <&sn65dsi84_out_a>;
+ };
+ };
+
+ /* LVDS B (Even pixels) */
+ port@1 {
+ reg = <1>;
+ dual-lvds-even-pixels;
+
+ lvds_panel_out_b: endpoint {
+ remote-endpoint = <&sn65dsi84_out_b>;
+ };
+ };
+ };
+ };
+};
+
+&i2c1 {
+ clock-frequency = <400000>;
+
+ status = "okay";
+
+ hdmi_bridge: bridge@3d {
+ status = "disabled";
+ };
+
+ lvds_bridge: bridge@2c {
+ compatible = "ti,sn65dsi84";
+ reg = <0x2c>;
+ enable-gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>;
+ ti,dsi-lanes = <4>;
+ ti,lvds-format = "jeida-24";
+ ti,lvds-bpp = <24>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ sn65dsi84_in: endpoint {
+ data-lanes = <0 1 2 3>;
+ remote-endpoint = <&mdss_dsi0_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ sn65dsi84_out_a: endpoint {
+ data-lanes = <0 1 2 3>;
+ remote-endpoint = <&lvds_panel_out_a>;
+ };
+ };
+
+ port@3 {
+ reg = <3>;
+
+ sn65dsi84_out_b: endpoint {
+ data-lanes = <0 1 2 3>;
+ remote-endpoint = <&lvds_panel_out_b>;
+ };
+ };
+ };
+ };
+};
+
+&mdss_dsi0 {
+ vdda-supply = <&vreg_l11a>;
+
+ status = "okay";
+};
+
+&mdss_dsi0_out {
+ remote-endpoint = <&sn65dsi84_in>;
+ data-lanes = <0 1 2 3>;
+};
+
+&tlmm {
+ lcd_bklt_en: lcd-bklt-en-state {
+ pins = "gpio115";
+ function = "gpio";
+ bias-disable;
+ };
+
+ lcd_bklt_pwm: lcd-bklt-pwm-state {
+ pins = "gpio59";
+ function = "gpio";
+ bias-disable;
+ };
+};
diff --git a/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi b/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
new file mode 100644
index 000000000000..23142ae8f776
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
@@ -0,0 +1,598 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+#include "talos.dtsi"
+#include "pm8150.dtsi"
+/ {
+ aliases {
+ mmc0 = &sdhc_1;
+ serial0 = &uart0;
+ serial1 = &uart7;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ clocks {
+ can_osc: can-oscillator {
+ compatible = "fixed-clock";
+ clock-frequency = <20000000>;
+ #clock-cells = <0>;
+ };
+
+ sleep_clk: sleep-clk {
+ compatible = "fixed-clock";
+ clock-frequency = <32764>;
+ #clock-cells = <0>;
+ };
+
+ xo_board_clk: xo-board-clk {
+ compatible = "fixed-clock";
+ clock-frequency = <38400000>;
+ #clock-cells = <0>;
+ };
+ };
+
+ regulator-usb2-vbus {
+ compatible = "regulator-fixed";
+ regulator-name = "USB2_VBUS";
+ gpio = <&pm8150_gpios 10 GPIO_ACTIVE_HIGH>;
+ pinctrl-0 = <&usb2_en>;
+ pinctrl-names = "default";
+ enable-active-high;
+ regulator-always-on;
+ };
+
+ vreg_conn_1p8: regulator-conn-1p8 {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_conn_1p8";
+ startup-delay-us = <4000>;
+ enable-active-high;
+ gpio = <&pm8150_gpios 1 GPIO_ACTIVE_HIGH>;
+ };
+
+ vreg_conn_pa: regulator-conn-pa {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_conn_pa";
+ startup-delay-us = <4000>;
+ enable-active-high;
+ gpio = <&pm8150_gpios 6 GPIO_ACTIVE_HIGH>;
+ };
+
+ vreg_v3p3_can: regulator-v3p3-can {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg-v3p3-can";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ vreg_v5p0_can: regulator-v5p0-can {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg-v5p0-can";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ wcn6855-pmu {
+ compatible = "qcom,wcn6855-pmu";
+
+ pinctrl-0 = <&bt_en_state>, <&wlan_en_state>;
+ pinctrl-names = "default";
+
+ bt-enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>;
+ wlan-enable-gpios = <&tlmm 84 GPIO_ACTIVE_HIGH>;
+
+ vddio-supply = <&vreg_conn_pa>;
+ vddaon-supply = <&vreg_s5a>;
+ vddpmu-supply = <&vreg_conn_1p8>;
+ vddpmumx-supply = <&vreg_conn_1p8>;
+ vddpmucx-supply = <&vreg_conn_pa>;
+ vddrfa0p95-supply = <&vreg_s5a>;
+ vddrfa1p3-supply = <&vreg_s6a>;
+ vddrfa1p9-supply = <&vreg_l15a>;
+ vddpcie1p3-supply = <&vreg_s6a>;
+ vddpcie1p9-supply = <&vreg_l15a>;
+
+ regulators {
+ vreg_pmu_rfa_cmn: ldo0 {
+ regulator-name = "vreg_pmu_rfa_cmn";
+ };
+
+ vreg_pmu_aon_0p59: ldo1 {
+ regulator-name = "vreg_pmu_aon_0p59";
+ };
+
+ vreg_pmu_wlcx_0p8: ldo2 {
+ regulator-name = "vreg_pmu_wlcx_0p8";
+ };
+
+ vreg_pmu_wlmx_0p85: ldo3 {
+ regulator-name = "vreg_pmu_wlmx_0p85";
+ };
+
+ vreg_pmu_btcmx_0p85: ldo4 {
+ regulator-name = "vreg_pmu_btcmx_0p85";
+ };
+
+ vreg_pmu_rfa_0p8: ldo5 {
+ regulator-name = "vreg_pmu_rfa_0p8";
+ };
+
+ vreg_pmu_rfa_1p2: ldo6 {
+ regulator-name = "vreg_pmu_rfa_1p2";
+ };
+
+ vreg_pmu_rfa_1p7: ldo7 {
+ regulator-name = "vreg_pmu_rfa_1p7";
+ };
+
+ vreg_pmu_pcie_0p9: ldo8 {
+ regulator-name = "vreg_pmu_pcie_0p9";
+ };
+
+ vreg_pmu_pcie_1p8: ldo9 {
+ regulator-name = "vreg_pmu_pcie_1p8";
+ };
+ };
+ };
+
+ wifi_1p8v: regulator-wifi-1p8v {
+ compatible = "regulator-fixed";
+ regulator-name = "wifi_1p8v";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ gpio = <&tlmm 91 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ pinctrl-names = "default";
+ pinctrl-0 = <&wifi_reg_en_pins_state>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ wifi_3p85v: regulator-wifi-3p85v {
+ compatible = "regulator-fixed";
+ regulator-name = "wifi_3p85v";
+ regulator-min-microvolt = <3850000>;
+ regulator-max-microvolt = <3850000>;
+ gpio = <&tlmm 91 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ pinctrl-names = "default";
+ pinctrl-0 = <&wifi_reg_en_pins_state>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+};
+
+&apps_rsc {
+ regulators-0 {
+ compatible = "qcom,pm8150-rpmh-regulators";
+ qcom,pmic-id = "a";
+
+ vreg_s3a: smps3 {
+ regulator-name = "vreg_s3a";
+ regulator-min-microvolt = <600000>;
+ regulator-max-microvolt = <650000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s4a: smps4 {
+ regulator-name = "vreg_s4a";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1829000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s5a: smps5 {
+ regulator-name = "vreg_s5a";
+ regulator-min-microvolt = <1896000>;
+ regulator-max-microvolt = <2040000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s6a: smps6 {
+ regulator-name = "vreg_s6a";
+ regulator-min-microvolt = <1304000>;
+ regulator-max-microvolt = <1404000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l1a: ldo1 {
+ regulator-name = "vreg_l1a";
+ regulator-min-microvolt = <488000>;
+ regulator-max-microvolt = <852000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2a: ldo2 {
+ regulator-name = "vreg_l2a";
+ regulator-min-microvolt = <1650000>;
+ regulator-max-microvolt = <3100000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3a: ldo3 {
+ regulator-name = "vreg_l3a";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1248000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l5a: ldo5 {
+ regulator-name = "vreg_l5a";
+ regulator-min-microvolt = <875000>;
+ regulator-max-microvolt = <975000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l7a: ldo7 {
+ regulator-name = "vreg_l7a";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1900000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l8a: ldo8 {
+ regulator-name = "vreg_l8a";
+ regulator-min-microvolt = <1150000>;
+ regulator-max-microvolt = <1350000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l10a: ldo10 {
+ regulator-name = "vreg_l10a";
+ regulator-min-microvolt = <2950000>;
+ regulator-max-microvolt = <3312000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l11a: ldo11 {
+ regulator-name = "vreg_l11a";
+ regulator-min-microvolt = <1232000>;
+ regulator-max-microvolt = <1260000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l12a: ldo12 {
+ regulator-name = "vreg_l12a";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1890000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l13a: ldo13 {
+ regulator-name = "vreg_l13a";
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3230000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l15a: ldo15 {
+ regulator-name = "vreg_l15a";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1904000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l16a: ldo16 {
+ regulator-name = "vreg_l16a";
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3312000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l17a: ldo17 {
+ regulator-name = "vreg_l17a";
+ regulator-min-microvolt = <2950000>;
+ regulator-max-microvolt = <3312000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+};
+
+&gpi_dma0 {
+ status = "okay";
+};
+
+&gpi_dma1 {
+ status = "okay";
+};
+
+&i2c5 {
+ clock-frequency = <400000>;
+ status = "okay";
+
+ eeprom@57 {
+ compatible = "atmel,24c02";
+ reg = <0x57>;
+ pagesize = <16>;
+ };
+
+ eeprom@5f {
+ compatible = "atmel,24mac602";
+ reg = <0x5f>;
+ pagesize = <16>;
+ };
+};
+
+&mdss {
+ status = "okay";
+};
+
+&mdss_dp0 {
+ status = "okay";
+};
+
+&mdss_dp0_out {
+ link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000>;
+ remote-endpoint = <&dp0_connector_in>;
+};
+
+&mdss_dsi0 {
+ vdda-supply = <&vreg_l11a>;
+ status = "okay";
+};
+
+&mdss_dsi0_phy {
+ vcca-supply = <&vreg_l5a>;
+ status = "okay";
+};
+
+&pcie {
+ perst-gpios = <&tlmm 89 GPIO_ACTIVE_LOW>;
+ wake-gpios = <&tlmm 100 GPIO_ACTIVE_HIGH>;
+
+ pinctrl-0 = <&pcie_default_state>;
+ pinctrl-names = "default";
+
+ status = "okay";
+};
+
+&pcie_phy {
+ vdda-phy-supply = <&vreg_l5a>;
+ vdda-pll-supply = <&vreg_l12a>;
+
+ status = "okay";
+};
+
+&pm8150_gpios {
+ usb2_en: usb2-en-state {
+ pins = "gpio10";
+ function = "normal";
+ output-enable;
+ power-source = <0>;
+ };
+};
+
+&qupv3_id_0 {
+ status = "okay";
+};
+
+&qupv3_id_1 {
+ status = "okay";
+};
+
+&remoteproc_adsp {
+ firmware-name = "qcom/qcs615/adsp.mbn";
+
+ status = "okay";
+};
+
+&remoteproc_cdsp {
+ firmware-name = "qcom/qcs615/cdsp.mbn";
+
+ status = "okay";
+};
+
+&sdhc_1 {
+ pinctrl-0 = <&sdc1_state_on>;
+ pinctrl-1 = <&sdc1_state_off>;
+ pinctrl-names = "default", "sleep";
+
+ bus-width = <8>;
+ mmc-ddr-1_8v;
+ mmc-hs200-1_8v;
+ mmc-hs400-1_8v;
+ mmc-hs400-enhanced-strobe;
+ vmmc-supply = <&vreg_l17a>;
+ vqmmc-supply = <&vreg_s4a>;
+
+ non-removable;
+ no-sd;
+ no-sdio;
+
+ status = "okay";
+};
+
+&spi6 {
+ status = "okay";
+
+ can@0 {
+ compatible = "microchip,mcp2515";
+ reg = <0>;
+ clocks = <&can_osc>;
+ interrupts-extended = <&tlmm 87 IRQ_TYPE_LEVEL_LOW>;
+ spi-max-frequency = <10000000>;
+ vdd-supply = <&vreg_v3p3_can>;
+ xceiver-supply = <&vreg_v5p0_can>;
+ };
+};
+
+&tlmm {
+ bt_en_state: bt-en-state {
+ pins = "gpio85";
+ function = "gpio";
+ bias-pull-down;
+ output-low;
+ };
+
+ pcie_default_state: pcie-default-state {
+ clkreq-pins {
+ pins = "gpio90";
+ function = "pcie_clk_req";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ perst-pins {
+ pins = "gpio89";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ wake-pins {
+ pins = "gpio100";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ wifi_reg_en_pins_state: wifi-reg-en-pins-state {
+ pins = "gpio91";
+ function = "gpio";
+ drive-strength = <8>;
+ output-high;
+ bias-pull-up;
+ };
+
+ wlan_en_state: wlan-en-state {
+ pins = "gpio84";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-pull-down;
+ output-low;
+ };
+};
+
+&uart0 {
+ status = "okay";
+};
+
+&uart7 {
+ status = "okay";
+
+ bluetooth {
+ compatible = "qcom,wcn6855-bt";
+ firmware-name = "QCA6698/hpnv21", "QCA6698/hpbtfw21.tlv";
+
+ vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
+ vddaon-supply = <&vreg_pmu_aon_0p59>;
+ vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
+ vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
+ vddbtcmx-supply = <&vreg_pmu_btcmx_0p85>;
+ vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
+ vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
+ vddrfa1p8-supply = <&vreg_pmu_rfa_1p7>;
+ };
+};
+
+&usb_1 {
+ status = "okay";
+};
+
+&usb_1_dwc3 {
+ dr_mode = "host";
+};
+
+&usb_hsphy_1 {
+ vdd-supply = <&vreg_l5a>;
+ vdda-pll-supply = <&vreg_l12a>;
+ vdda-phy-dpdm-supply = <&vreg_l13a>;
+
+ status = "okay";
+};
+
+&usb_2 {
+ status = "okay";
+};
+
+&usb_2_dwc3 {
+ dr_mode = "host";
+};
+
+&usb_hsphy_2 {
+ vdd-supply = <&vreg_l5a>;
+ vdda-pll-supply = <&vreg_l12a>;
+ vdda-phy-dpdm-supply = <&vreg_l13a>;
+
+ status = "okay";
+};
+
+&usb_qmpphy {
+ vdda-phy-supply = <&vreg_l5a>;
+ vdda-pll-supply = <&vreg_l12a>;
+
+ status = "okay";
+};
+
+&usb_qmpphy_2 {
+ vdda-phy-supply = <&vreg_l11a>;
+ vdda-pll-supply = <&vreg_l5a>;
+
+ status = "okay";
+};
+
+&ufs_mem_hc {
+ reset-gpios = <&tlmm 123 GPIO_ACTIVE_LOW>;
+ vcc-supply = <&vreg_l17a>;
+ vcc-max-microamp = <600000>;
+ vccq2-supply = <&vreg_s4a>;
+ vccq2-max-microamp = <600000>;
+
+ status = "okay";
+};
+
+&ufs_mem_phy {
+ vdda-phy-supply = <&vreg_l5a>;
+ vdda-pll-supply = <&vreg_l12a>;
+
+ status = "okay";
+};
+
+&venus {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/qcom/talos-evk.dts b/arch/arm64/boot/dts/qcom/talos-evk.dts
new file mode 100644
index 000000000000..af100e22beee
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/talos-evk.dts
@@ -0,0 +1,139 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+/dts-v1/;
+
+#include "talos-evk-som.dtsi"
+
+/ {
+ model = "Qualcomm QCS615 IQ 615 EVK";
+ compatible = "qcom,talos-evk", "qcom,qcs615", "qcom,sm6150";
+ chassis-type = "embedded";
+
+ aliases {
+ mmc1 = &sdhc_2;
+ };
+
+ dp0-connector {
+ compatible = "dp-connector";
+ label = "DP0";
+ type = "full-size";
+
+ hpd-gpios = <&tlmm 104 GPIO_ACTIVE_HIGH>;
+
+ port {
+ dp0_connector_in: endpoint {
+ remote-endpoint = <&mdss_dp0_out>;
+ };
+ };
+ };
+
+ hdmi_connector: hdmi-out {
+ compatible = "hdmi-connector";
+ type = "d";
+
+ port {
+ hdmi_con_out: endpoint {
+ remote-endpoint = <&adv7535_out>;
+ };
+ };
+ };
+
+ vreg_v1p8_out: regulator-v1p8-out {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg-v1p8-out";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ vin-supply = <&vreg_v5p0_out>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ vreg_v3p3_out: regulator-v3p3-out {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg-v3p3-out";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ vin-supply = <&vreg_v5p0_out>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ vreg_v5p0_out: regulator-v5p0-out {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg-v5p0-out";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-boot-on;
+ regulator-always-on;
+ /* Powered by system 20V rail (USBC_VBUS_IN) */
+ };
+};
+
+&i2c1 {
+ clock-frequency = <400000>;
+ status = "okay";
+
+ hdmi_bridge: bridge@3d {
+ compatible = "adi,adv7535";
+ reg = <0x3d>;
+ avdd-supply = <&vreg_v1p8_out>;
+ dvdd-supply = <&vreg_v1p8_out>;
+ pvdd-supply = <&vreg_v1p8_out>;
+ a2vdd-supply = <&vreg_v1p8_out>;
+ v3p3-supply = <&vreg_v3p3_out>;
+ interrupts-extended = <&tlmm 26 IRQ_TYPE_LEVEL_LOW>;
+ adi,dsi-lanes = <4>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ adv7535_in: endpoint {
+ remote-endpoint = <&mdss_dsi0_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ adv7535_out: endpoint {
+ remote-endpoint = <&hdmi_con_out>;
+ };
+ };
+ };
+ };
+};
+
+&mdss_dsi0_out {
+ remote-endpoint = <&adv7535_in>;
+ data-lanes = <0 1 2 3>;
+};
+
+&pon_pwrkey {
+ status = "okay";
+};
+
+&pon_resin {
+ linux,code = <KEY_VOLUMEDOWN>;
+
+ status = "okay";
+};
+
+&sdhc_2 {
+ pinctrl-0 = <&sdc2_state_on>;
+ pinctrl-1 = <&sdc2_state_off>;
+ pinctrl-names = "default", "sleep";
+
+ bus-width = <4>;
+ cd-gpios = <&tlmm 99 GPIO_ACTIVE_LOW>;
+
+ vmmc-supply = <&vreg_l10a>;
+ vqmmc-supply = <&vreg_s4a>;
+
+ status = "okay";
+};
--
2.34.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* Re: [PATCH v10 4/5] arm64: dts: qcom: talos: Fix inconsistent USB PHY node naming
2025-12-30 13:02 ` [PATCH v10 4/5] arm64: dts: qcom: talos: Fix inconsistent USB PHY node naming Sudarshan Shetty
@ 2025-12-30 14:42 ` Dmitry Baryshkov
2026-01-07 8:23 ` yuanjiey
1 sibling, 0 replies; 33+ messages in thread
From: Dmitry Baryshkov @ 2025-12-30 14:42 UTC (permalink / raw)
To: Sudarshan Shetty
Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm,
devicetree, linux-kernel
On Tue, Dec 30, 2025 at 06:32:26PM +0530, Sudarshan Shetty wrote:
> The USB PHY nodes has inconsistent labels as 'usb_1_hspy'
> and 'usb_hsphy_2'. This patch renames them to follow
> a consistent naming scheme.
>
> No functional changes, only label renaming.
>
> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com>
> ---
> arch/arm64/boot/dts/qcom/talos.dtsi | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v10 5/5] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
2025-12-30 13:02 ` [PATCH v10 5/5] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board Sudarshan Shetty
@ 2025-12-30 14:45 ` Dmitry Baryshkov
2025-12-30 14:51 ` Konrad Dybcio
2026-01-07 8:37 ` yuanjiey
2 siblings, 0 replies; 33+ messages in thread
From: Dmitry Baryshkov @ 2025-12-30 14:45 UTC (permalink / raw)
To: Sudarshan Shetty
Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm,
devicetree, linux-kernel
On Tue, Dec 30, 2025 at 06:32:27PM +0530, Sudarshan Shetty wrote:
> Add the device tree for the QCS615-based Talos EVK platform. The
> platform is composed of a System-on-Module following the SMARC
> standard, and a Carrier Board.
>
> The Carrier Board supports several display configurations, HDMI and
> LVDS. Both configurations use the same base hardware, with the display
> selection controlled by a DIP switch.
>
> Use a DTBO file, talos-evk-lvds-auo,g133han01.dtso, which defines an
> overlay that disables HDMI and adds LVDS. The DTs file talos-evk
> can describe the HDMI display configurations.
>
> The initial device tree includes support for:
> - CPU and memory
> - UART
> - GPIOs
> - Regulators
> - PMIC
> - Early console
> - AT24MAC602 EEPROM
> - MCP2515 SPI to CAN
> - ADV7535 DSI-to-HDMI bridge
> - DisplayPort interface
> - SN65DSI84ZXHR DSI-to-LVDS bridge
> - Wi-Fi/BT
>
> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com>
> ---
> arch/arm64/boot/dts/qcom/Makefile | 4 +
> .../qcom/talos-evk-lvds-auo,g133han01.dtso | 126 ++++
> arch/arm64/boot/dts/qcom/talos-evk-som.dtsi | 598 ++++++++++++++++++
> arch/arm64/boot/dts/qcom/talos-evk.dts | 139 ++++
> 4 files changed, 867 insertions(+)
> create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
> create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
> create mode 100644 arch/arm64/boot/dts/qcom/talos-evk.dts
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v10 5/5] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
2025-12-30 13:02 ` [PATCH v10 5/5] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board Sudarshan Shetty
2025-12-30 14:45 ` Dmitry Baryshkov
@ 2025-12-30 14:51 ` Konrad Dybcio
2026-01-04 13:46 ` tessolveupstream
2026-01-07 8:37 ` yuanjiey
2 siblings, 1 reply; 33+ messages in thread
From: Konrad Dybcio @ 2025-12-30 14:51 UTC (permalink / raw)
To: Sudarshan Shetty, andersson, konradybcio
Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel
On 12/30/25 2:02 PM, Sudarshan Shetty wrote:
> Add the device tree for the QCS615-based Talos EVK platform. The
> platform is composed of a System-on-Module following the SMARC
> standard, and a Carrier Board.
>
> The Carrier Board supports several display configurations, HDMI and
> LVDS. Both configurations use the same base hardware, with the display
> selection controlled by a DIP switch.
[...]
> +++ b/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
> @@ -0,0 +1,126 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> + */
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +
> +&{/} {
> + backlight: backlight {
> + compatible = "gpio-backlight";
> + gpios = <&tlmm 59 GPIO_ACTIVE_HIGH>,
> + <&tlmm 115 GPIO_ACTIVE_HIGH>;
> + default-on;
> + };
> +
> + hdmi_connector: hdmi-out {
> + status = "disabled";
> + };
This should be a &label_reference
[...]
> + wifi_1p8v: regulator-wifi-1p8v {
> + compatible = "regulator-fixed";
> + regulator-name = "wifi_1p8v";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + gpio = <&tlmm 91 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + pinctrl-names = "default";
> + pinctrl-0 = <&wifi_reg_en_pins_state>;
property-n
property-names
consistently, please
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + wifi_3p85v: regulator-wifi-3p85v {
> + compatible = "regulator-fixed";
> + regulator-name = "wifi_3p85v";
> + regulator-min-microvolt = <3850000>;
> + regulator-max-microvolt = <3850000>;
> + gpio = <&tlmm 91 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + pinctrl-names = "default";
> + pinctrl-0 = <&wifi_reg_en_pins_state>;
ditto
[...]
> +&tlmm {
> + bt_en_state: bt-en-state {
> + pins = "gpio85";
> + function = "gpio";
> + bias-pull-down;
> + output-low;
output-low/high should be unnecessary as these pins are governed
by the kernel driver
lg otherwise
Konrad
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v10 1/5] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform
2025-12-30 13:02 ` [PATCH v10 1/5] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform Sudarshan Shetty
@ 2025-12-30 15:03 ` Krzysztof Kozlowski
2026-01-04 13:11 ` tessolveupstream
0 siblings, 1 reply; 33+ messages in thread
From: Krzysztof Kozlowski @ 2025-12-30 15:03 UTC (permalink / raw)
To: Sudarshan Shetty, andersson, konradybcio
Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel
On 30/12/2025 14:02, Sudarshan Shetty wrote:
> Add binding support for the Qualcomm Technologies, Inc. Talos EVK
> SMARC platform based on the QCS615 SoC.
>
> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com>
> ---
Why did you decide to drop the tag and where did you explain that?
<form letter>
This is a friendly reminder during the review process.
It looks like you received a tag and forgot to add it.
If you do not know the process, here is a short explanation:
Please add Acked-by/Reviewed-by/Tested-by tags when posting new versions
of patchset, under or above your Signed-off-by tag, unless patch changed
significantly (e.g. new properties added to the DT bindings). Tag is
"received", when provided in a message replied to you on the mailing
list. Tools like b4 can help here. However, there's no need to repost
patches *only* to add the tags. The upstream maintainer will do that for
tags received on the version they apply.
Please read:
https://elixir.bootlin.com/linux/v6.12-rc3/source/Documentation/process/submitting-patches.rst#L577
If a tag was not added on purpose, please state why and what changed.
</form letter>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v10 1/5] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform
2025-12-30 15:03 ` Krzysztof Kozlowski
@ 2026-01-04 13:11 ` tessolveupstream
2026-01-05 7:12 ` Krzysztof Kozlowski
0 siblings, 1 reply; 33+ messages in thread
From: tessolveupstream @ 2026-01-04 13:11 UTC (permalink / raw)
To: Krzysztof Kozlowski, andersson, konradybcio
Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel
On 30-12-2025 20:33, Krzysztof Kozlowski wrote:
> On 30/12/2025 14:02, Sudarshan Shetty wrote:
>> Add binding support for the Qualcomm Technologies, Inc. Talos EVK
>> SMARC platform based on the QCS615 SoC.
>>
>> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com>
>> ---
>
>
> Why did you decide to drop the tag and where did you explain that?
>
> <form letter>
> This is a friendly reminder during the review process.
>
> It looks like you received a tag and forgot to add it.
>
> If you do not know the process, here is a short explanation:
> Please add Acked-by/Reviewed-by/Tested-by tags when posting new versions
> of patchset, under or above your Signed-off-by tag, unless patch changed
> significantly (e.g. new properties added to the DT bindings). Tag is
> "received", when provided in a message replied to you on the mailing
> list. Tools like b4 can help here. However, there's no need to repost
> patches *only* to add the tags. The upstream maintainer will do that for
> tags received on the version they apply.
>
> Please read:
> https://elixir.bootlin.com/linux/v6.12-rc3/source/Documentation/process/submitting-patches.rst#L577
>
> If a tag was not added on purpose, please state why and what changed.
> </form letter>
>
I apologize for missing the Acked-by tag in this version.
I will make sure to include all received tags in the next patch
as per the submission guidelines.
> Best regards,
> Krzysztof
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v10 5/5] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
2025-12-30 14:51 ` Konrad Dybcio
@ 2026-01-04 13:46 ` tessolveupstream
2026-01-05 22:13 ` Dmitry Baryshkov
2026-01-08 7:36 ` tessolveupstream
0 siblings, 2 replies; 33+ messages in thread
From: tessolveupstream @ 2026-01-04 13:46 UTC (permalink / raw)
To: Konrad Dybcio, andersson, konradybcio
Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel
On 30-12-2025 20:21, Konrad Dybcio wrote:
> On 12/30/25 2:02 PM, Sudarshan Shetty wrote:
>> Add the device tree for the QCS615-based Talos EVK platform. The
>> platform is composed of a System-on-Module following the SMARC
>> standard, and a Carrier Board.
>>
>> The Carrier Board supports several display configurations, HDMI and
>> LVDS. Both configurations use the same base hardware, with the display
>> selection controlled by a DIP switch.
>
> [...]
>
>> +++ b/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
>> @@ -0,0 +1,126 @@
>> +// SPDX-License-Identifier: BSD-3-Clause
>> +/*
>> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
>> + */
>> +/dts-v1/;
>> +/plugin/;
>> +
>> +#include <dt-bindings/gpio/gpio.h>
>> +
>> +&{/} {
>> + backlight: backlight {
>> + compatible = "gpio-backlight";
>> + gpios = <&tlmm 59 GPIO_ACTIVE_HIGH>,
>> + <&tlmm 115 GPIO_ACTIVE_HIGH>;
>> + default-on;
>> + };
>> +
>> + hdmi_connector: hdmi-out {
>> + status = "disabled";
>> + };
>
> This should be a &label_reference
>
Okay, will add it in the next patch.
> [...]
>
>> + wifi_1p8v: regulator-wifi-1p8v {
>> + compatible = "regulator-fixed";
>> + regulator-name = "wifi_1p8v";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + gpio = <&tlmm 91 GPIO_ACTIVE_HIGH>;
>> + enable-active-high;
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&wifi_reg_en_pins_state>;
>
> property-n
> property-names
>
> consistently, please
>
I didn’t fully understand your comment.
Could you please elaborate a bit more so I can make the
necessary changes correctly. >> + regulator-boot-on;
>> + regulator-always-on;
>> + };
>> +
>> + wifi_3p85v: regulator-wifi-3p85v {
>> + compatible = "regulator-fixed";
>> + regulator-name = "wifi_3p85v";
>> + regulator-min-microvolt = <3850000>;
>> + regulator-max-microvolt = <3850000>;
>> + gpio = <&tlmm 91 GPIO_ACTIVE_HIGH>;
>> + enable-active-high;
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&wifi_reg_en_pins_state>;
>
> ditto
>
> [...]
>
>> +&tlmm {
>> + bt_en_state: bt-en-state {
>> + pins = "gpio85";
>> + function = "gpio";
>> + bias-pull-down;
>> + output-low;
>
> output-low/high should be unnecessary as these pins are governed
> by the kernel driver
>
Okay,got it. Will make the necessary change in the next patch.
> lg otherwise
>
> Konrad
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v10 1/5] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform
2026-01-04 13:11 ` tessolveupstream
@ 2026-01-05 7:12 ` Krzysztof Kozlowski
2026-01-07 6:58 ` tessolveupstream
0 siblings, 1 reply; 33+ messages in thread
From: Krzysztof Kozlowski @ 2026-01-05 7:12 UTC (permalink / raw)
To: tessolveupstream, andersson, konradybcio
Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel
On 04/01/2026 14:11, tessolveupstream@gmail.com wrote:
>
>
> On 30-12-2025 20:33, Krzysztof Kozlowski wrote:
>> On 30/12/2025 14:02, Sudarshan Shetty wrote:
>>> Add binding support for the Qualcomm Technologies, Inc. Talos EVK
>>> SMARC platform based on the QCS615 SoC.
>>>
>>> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com>
>>> ---
>>
>>
>> Why did you decide to drop the tag and where did you explain that?
>>
>> <form letter>
>> This is a friendly reminder during the review process.
>>
>> It looks like you received a tag and forgot to add it.
>>
>> If you do not know the process, here is a short explanation:
>> Please add Acked-by/Reviewed-by/Tested-by tags when posting new versions
>> of patchset, under or above your Signed-off-by tag, unless patch changed
>> significantly (e.g. new properties added to the DT bindings). Tag is
>> "received", when provided in a message replied to you on the mailing
>> list. Tools like b4 can help here. However, there's no need to repost
>> patches *only* to add the tags. The upstream maintainer will do that for
>> tags received on the version they apply.
>>
>> Please read:
>> https://elixir.bootlin.com/linux/v6.12-rc3/source/Documentation/process/submitting-patches.rst#L577
>>
>> If a tag was not added on purpose, please state why and what changed.
>> </form letter>
>>
>
> I apologize for missing the Acked-by tag in this version.
How missing? It WAS THERE ALREADY!
You had to explicitly remove it.
> I will make sure to include all received tags in the next patch
> as per the submission guidelines.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v10 3/5] backlight: gpio: add support for multiple GPIOs for backlight control
2025-12-30 13:02 ` [PATCH v10 3/5] backlight: gpio: add support for multiple GPIOs for backlight control Sudarshan Shetty
@ 2026-01-05 15:38 ` Bjorn Andersson
2026-01-07 5:57 ` tessolveupstream
0 siblings, 1 reply; 33+ messages in thread
From: Bjorn Andersson @ 2026-01-05 15:38 UTC (permalink / raw)
To: Sudarshan Shetty
Cc: konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree,
linux-kernel
On Tue, Dec 30, 2025 at 06:32:25PM +0530, Sudarshan Shetty wrote:
> Extend the gpio-backlight driver to handle multiple GPIOs instead of a
> single one. This allows panels that require driving several enable pins
> to be controlled by the backlight framework.
Can you please elaborate on the problem described here. Preferrably in
the form described in
https://docs.kernel.org/process/submitting-patches.html#describe-your-changes,
i.e. start with your problem description, then a description of your
solution.
What does it mean for a backlight device to have multiple enable GPIOs?
PS. The associated binding patch needs to be merged before the
DeviceTree (dts) changes can be merged, but it would be more efficient
to upstream them separately - as each set of reviewers could focus on
their part and you could update the patches based on the feedback from
each part.
Regards,
Bjorn
>
> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com>
> ---
> drivers/video/backlight/gpio_backlight.c | 61 +++++++++++++++++-------
> 1 file changed, 45 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/video/backlight/gpio_backlight.c b/drivers/video/backlight/gpio_backlight.c
> index 728a546904b0..037e1c111e48 100644
> --- a/drivers/video/backlight/gpio_backlight.c
> +++ b/drivers/video/backlight/gpio_backlight.c
> @@ -17,14 +17,18 @@
>
> struct gpio_backlight {
> struct device *dev;
> - struct gpio_desc *gpiod;
> + struct gpio_desc **gpiods;
> + unsigned int num_gpios;
> };
>
> static int gpio_backlight_update_status(struct backlight_device *bl)
> {
> struct gpio_backlight *gbl = bl_get_data(bl);
> + unsigned int i;
> + int br = backlight_get_brightness(bl);
>
> - gpiod_set_value_cansleep(gbl->gpiod, backlight_get_brightness(bl));
> + for (i = 0; i < gbl->num_gpios; i++)
> + gpiod_set_value_cansleep(gbl->gpiods[i], br);
>
> return 0;
> }
> @@ -52,6 +56,7 @@ static int gpio_backlight_probe(struct platform_device *pdev)
> struct backlight_device *bl;
> struct gpio_backlight *gbl;
> int ret, init_brightness, def_value;
> + unsigned int i;
>
> gbl = devm_kzalloc(dev, sizeof(*gbl), GFP_KERNEL);
> if (gbl == NULL)
> @@ -62,10 +67,22 @@ static int gpio_backlight_probe(struct platform_device *pdev)
>
> def_value = device_property_read_bool(dev, "default-on");
>
> - gbl->gpiod = devm_gpiod_get(dev, NULL, GPIOD_ASIS);
> - if (IS_ERR(gbl->gpiod))
> - return dev_err_probe(dev, PTR_ERR(gbl->gpiod),
> - "The gpios parameter is missing or invalid\n");
> + gbl->num_gpios = gpiod_count(dev, NULL);
> + if (gbl->num_gpios == 0)
> + return dev_err_probe(dev, -EINVAL,
> + "The gpios parameter is missing or invalid\n");
> + gbl->gpiods = devm_kcalloc(dev, gbl->num_gpios, sizeof(*gbl->gpiods),
> + GFP_KERNEL);
> + if (!gbl->gpiods)
> + return -ENOMEM;
> +
> + for (i = 0; i < gbl->num_gpios; i++) {
> + gbl->gpiods[i] =
> + devm_gpiod_get_index(dev, NULL, i, GPIOD_ASIS);
> + if (IS_ERR(gbl->gpiods[i]))
> + return dev_err_probe(dev, PTR_ERR(gbl->gpiods[i]),
> + "Failed to get GPIO at index %u\n", i);
> + }
>
> memset(&props, 0, sizeof(props));
> props.type = BACKLIGHT_RAW;
> @@ -78,22 +95,34 @@ static int gpio_backlight_probe(struct platform_device *pdev)
> }
>
> /* Set the initial power state */
> - if (!of_node || !of_node->phandle)
> + if (!of_node || !of_node->phandle) {
> /* Not booted with device tree or no phandle link to the node */
> bl->props.power = def_value ? BACKLIGHT_POWER_ON
> - : BACKLIGHT_POWER_OFF;
> - else if (gpiod_get_value_cansleep(gbl->gpiod) == 0)
> - bl->props.power = BACKLIGHT_POWER_OFF;
> - else
> - bl->props.power = BACKLIGHT_POWER_ON;
> + : BACKLIGHT_POWER_OFF;
> + } else {
> + bool all_high = true;
> +
> + for (i = 0; i < gbl->num_gpios; i++) {
> + if (gpiod_get_value_cansleep(gbl->gpiods[i]) != 0) {
> + all_high = false;
> + break;
> + }
> + }
> +
> + bl->props.power =
> + all_high ? BACKLIGHT_POWER_ON : BACKLIGHT_POWER_OFF;
> + }
>
> bl->props.brightness = 1;
>
> init_brightness = backlight_get_brightness(bl);
> - ret = gpiod_direction_output(gbl->gpiod, init_brightness);
> - if (ret) {
> - dev_err(dev, "failed to set initial brightness\n");
> - return ret;
> +
> + for (i = 0; i < gbl->num_gpios; i++) {
> + ret = gpiod_direction_output(gbl->gpiods[i], init_brightness);
> + if (ret)
> + return dev_err_probe(dev, ret,
> + "failed to set gpio %u direction\n",
> + i);
> }
>
> platform_set_drvdata(pdev, bl);
> --
> 2.34.1
>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v10 2/5] dt-bindings: backlight: gpio-backlight: allow multiple GPIOs
2025-12-30 13:02 ` [PATCH v10 2/5] dt-bindings: backlight: gpio-backlight: allow multiple GPIOs Sudarshan Shetty
@ 2026-01-05 15:52 ` Bjorn Andersson
0 siblings, 0 replies; 33+ messages in thread
From: Bjorn Andersson @ 2026-01-05 15:52 UTC (permalink / raw)
To: Sudarshan Shetty
Cc: konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree,
linux-kernel
On Tue, Dec 30, 2025 at 06:32:24PM +0530, Sudarshan Shetty wrote:
> Update the gpio-backlight binding to support configurations that require
> more than one GPIO for enabling/disabling the backlight.
>
As with the driver change, please provide a better description of what
this means. How can there be multiple enable/disable GPIOs? What is
actually controlled by your two GPIOs? Why is 2 the new maximum?
Regards,
Bjorn
> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com>
> ---
> .../bindings/leds/backlight/gpio-backlight.yaml | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/leds/backlight/gpio-backlight.yaml b/Documentation/devicetree/bindings/leds/backlight/gpio-backlight.yaml
> index 584030b6b0b9..1483ce4a3480 100644
> --- a/Documentation/devicetree/bindings/leds/backlight/gpio-backlight.yaml
> +++ b/Documentation/devicetree/bindings/leds/backlight/gpio-backlight.yaml
> @@ -17,7 +17,8 @@ properties:
>
> gpios:
> description: The gpio that is used for enabling/disabling the backlight.
> - maxItems: 1
> + minItems: 1
> + maxItems: 2
>
> default-on:
> description: enable the backlight at boot.
> @@ -38,4 +39,13 @@ examples:
> default-on;
> };
>
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> + backlight {
> + compatible = "gpio-backlight";
> + gpios = <&gpio3 4 GPIO_ACTIVE_HIGH>,
> + <&gpio3 5 GPIO_ACTIVE_HIGH>;
> + default-on;
> + };
> +
> ...
> --
> 2.34.1
>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v10 5/5] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
2026-01-04 13:46 ` tessolveupstream
@ 2026-01-05 22:13 ` Dmitry Baryshkov
2026-01-06 7:30 ` tessolveupstream
2026-01-08 7:36 ` tessolveupstream
1 sibling, 1 reply; 33+ messages in thread
From: Dmitry Baryshkov @ 2026-01-05 22:13 UTC (permalink / raw)
To: tessolveupstream
Cc: Konrad Dybcio, andersson, konradybcio, robh, krzk+dt, conor+dt,
linux-arm-msm, devicetree, linux-kernel
On Sun, Jan 04, 2026 at 07:16:20PM +0530, tessolveupstream@gmail.com wrote:
>
>
> On 30-12-2025 20:21, Konrad Dybcio wrote:
> > On 12/30/25 2:02 PM, Sudarshan Shetty wrote:
> >> Add the device tree for the QCS615-based Talos EVK platform. The
> >> platform is composed of a System-on-Module following the SMARC
> >> standard, and a Carrier Board.
> >>
> >> The Carrier Board supports several display configurations, HDMI and
> >> LVDS. Both configurations use the same base hardware, with the display
> >> selection controlled by a DIP switch.
> >
> > [...]
> >
> >> + pinctrl-names = "default";
> >> + pinctrl-0 = <&wifi_reg_en_pins_state>;
> >
> > property-n
> > property-names
> >
> > consistently, please
> >
>
> I didn’t fully understand your comment.
> Could you please elaborate a bit more so I can make the
> necessary changes correctly. >> + regulator-boot-on;
What is the order of these two properties in most of the other DT files?
What is the order of them in your patch?
> >> + regulator-always-on;
> >> + };
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v10 5/5] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
2026-01-05 22:13 ` Dmitry Baryshkov
@ 2026-01-06 7:30 ` tessolveupstream
0 siblings, 0 replies; 33+ messages in thread
From: tessolveupstream @ 2026-01-06 7:30 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Konrad Dybcio, andersson, konradybcio, robh, krzk+dt, conor+dt,
linux-arm-msm, devicetree, linux-kernel
On 06-01-2026 03:43, Dmitry Baryshkov wrote:
> On Sun, Jan 04, 2026 at 07:16:20PM +0530, tessolveupstream@gmail.com wrote:
>>
>>
>> On 30-12-2025 20:21, Konrad Dybcio wrote:
>>> On 12/30/25 2:02 PM, Sudarshan Shetty wrote:
>>>> Add the device tree for the QCS615-based Talos EVK platform. The
>>>> platform is composed of a System-on-Module following the SMARC
>>>> standard, and a Carrier Board.
>>>>
>>>> The Carrier Board supports several display configurations, HDMI and
>>>> LVDS. Both configurations use the same base hardware, with the display
>>>> selection controlled by a DIP switch.
>>>
>>> [...]
>>>
>>>> + pinctrl-names = "default";
>>>> + pinctrl-0 = <&wifi_reg_en_pins_state>;
>>>
>>> property-n
>>> property-names
>>>
>>> consistently, please
>>>
>>
>> I didn’t fully understand your comment.
>> Could you please elaborate a bit more so I can make the
>> necessary changes correctly. >> + regulator-boot-on;
>
> What is the order of these two properties in most of the other DT files?
> What is the order of them in your patch?
>
I got your point now. I will rearrange the order of the properties
to be consistent with other DT files in the next patch series.
>>>> + regulator-always-on;
>>>> + };
>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v10 3/5] backlight: gpio: add support for multiple GPIOs for backlight control
2026-01-05 15:38 ` Bjorn Andersson
@ 2026-01-07 5:57 ` tessolveupstream
2026-01-07 8:12 ` Dmitry Baryshkov
0 siblings, 1 reply; 33+ messages in thread
From: tessolveupstream @ 2026-01-07 5:57 UTC (permalink / raw)
To: Bjorn Andersson
Cc: konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree,
linux-kernel
On 05-01-2026 21:08, Bjorn Andersson wrote:
> On Tue, Dec 30, 2025 at 06:32:25PM +0530, Sudarshan Shetty wrote:
>> Extend the gpio-backlight driver to handle multiple GPIOs instead of a
>> single one. This allows panels that require driving several enable pins
>> to be controlled by the backlight framework.
>
> Can you please elaborate on the problem described here. Preferrably in
> the form described in
> https://docs.kernel.org/process/submitting-patches.html#describe-your-changes,
> i.e. start with your problem description, then a description of your
> solution.
>
> What does it mean for a backlight device to have multiple enable GPIOs?
>
>
> PS. The associated binding patch needs to be merged before the
> DeviceTree (dts) changes can be merged, but it would be more efficient
> to upstream them separately - as each set of reviewers could focus on
> their part and you could update the patches based on the feedback from
> each part.
>
Initially, I had included the gpio-backlight driver and binding changes
together in the v10 patch series. Later I separated these
gpio-backlight changes and submitted them as individual patches to the respective maintainers.Here is the link to the updated patch series:
https://lore.kernel.org/all/20260105085120.230862-1-tessolveupstream@gmail.com/T/#t
> Regards,
> Bjorn
>
>>
>> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com>
>> ---
>> drivers/video/backlight/gpio_backlight.c | 61 +++++++++++++++++-------
>> 1 file changed, 45 insertions(+), 16 deletions(-)
>>
>> diff --git a/drivers/video/backlight/gpio_backlight.c b/drivers/video/backlight/gpio_backlight.c
>> index 728a546904b0..037e1c111e48 100644
>> --- a/drivers/video/backlight/gpio_backlight.c
>> +++ b/drivers/video/backlight/gpio_backlight.c
>> @@ -17,14 +17,18 @@
>>
>> struct gpio_backlight {
>> struct device *dev;
>> - struct gpio_desc *gpiod;
>> + struct gpio_desc **gpiods;
>> + unsigned int num_gpios;
>> };
>>
>> static int gpio_backlight_update_status(struct backlight_device *bl)
>> {
>> struct gpio_backlight *gbl = bl_get_data(bl);
>> + unsigned int i;
>> + int br = backlight_get_brightness(bl);
>>
>> - gpiod_set_value_cansleep(gbl->gpiod, backlight_get_brightness(bl));
>> + for (i = 0; i < gbl->num_gpios; i++)
>> + gpiod_set_value_cansleep(gbl->gpiods[i], br);
>>
>> return 0;
>> }
>> @@ -52,6 +56,7 @@ static int gpio_backlight_probe(struct platform_device *pdev)
>> struct backlight_device *bl;
>> struct gpio_backlight *gbl;
>> int ret, init_brightness, def_value;
>> + unsigned int i;
>>
>> gbl = devm_kzalloc(dev, sizeof(*gbl), GFP_KERNEL);
>> if (gbl == NULL)
>> @@ -62,10 +67,22 @@ static int gpio_backlight_probe(struct platform_device *pdev)
>>
>> def_value = device_property_read_bool(dev, "default-on");
>>
>> - gbl->gpiod = devm_gpiod_get(dev, NULL, GPIOD_ASIS);
>> - if (IS_ERR(gbl->gpiod))
>> - return dev_err_probe(dev, PTR_ERR(gbl->gpiod),
>> - "The gpios parameter is missing or invalid\n");
>> + gbl->num_gpios = gpiod_count(dev, NULL);
>> + if (gbl->num_gpios == 0)
>> + return dev_err_probe(dev, -EINVAL,
>> + "The gpios parameter is missing or invalid\n");
>> + gbl->gpiods = devm_kcalloc(dev, gbl->num_gpios, sizeof(*gbl->gpiods),
>> + GFP_KERNEL);
>> + if (!gbl->gpiods)
>> + return -ENOMEM;
>> +
>> + for (i = 0; i < gbl->num_gpios; i++) {
>> + gbl->gpiods[i] =
>> + devm_gpiod_get_index(dev, NULL, i, GPIOD_ASIS);
>> + if (IS_ERR(gbl->gpiods[i]))
>> + return dev_err_probe(dev, PTR_ERR(gbl->gpiods[i]),
>> + "Failed to get GPIO at index %u\n", i);
>> + }
>>
>> memset(&props, 0, sizeof(props));
>> props.type = BACKLIGHT_RAW;
>> @@ -78,22 +95,34 @@ static int gpio_backlight_probe(struct platform_device *pdev)
>> }
>>
>> /* Set the initial power state */
>> - if (!of_node || !of_node->phandle)
>> + if (!of_node || !of_node->phandle) {
>> /* Not booted with device tree or no phandle link to the node */
>> bl->props.power = def_value ? BACKLIGHT_POWER_ON
>> - : BACKLIGHT_POWER_OFF;
>> - else if (gpiod_get_value_cansleep(gbl->gpiod) == 0)
>> - bl->props.power = BACKLIGHT_POWER_OFF;
>> - else
>> - bl->props.power = BACKLIGHT_POWER_ON;
>> + : BACKLIGHT_POWER_OFF;
>> + } else {
>> + bool all_high = true;
>> +
>> + for (i = 0; i < gbl->num_gpios; i++) {
>> + if (gpiod_get_value_cansleep(gbl->gpiods[i]) != 0) {
>> + all_high = false;
>> + break;
>> + }
>> + }
>> +
>> + bl->props.power =
>> + all_high ? BACKLIGHT_POWER_ON : BACKLIGHT_POWER_OFF;
>> + }
>>
>> bl->props.brightness = 1;
>>
>> init_brightness = backlight_get_brightness(bl);
>> - ret = gpiod_direction_output(gbl->gpiod, init_brightness);
>> - if (ret) {
>> - dev_err(dev, "failed to set initial brightness\n");
>> - return ret;
>> +
>> + for (i = 0; i < gbl->num_gpios; i++) {
>> + ret = gpiod_direction_output(gbl->gpiods[i], init_brightness);
>> + if (ret)
>> + return dev_err_probe(dev, ret,
>> + "failed to set gpio %u direction\n",
>> + i);
>> }
>>
>> platform_set_drvdata(pdev, bl);
>> --
>> 2.34.1
>>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v10 1/5] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform
2026-01-05 7:12 ` Krzysztof Kozlowski
@ 2026-01-07 6:58 ` tessolveupstream
2026-01-07 7:20 ` Krzysztof Kozlowski
0 siblings, 1 reply; 33+ messages in thread
From: tessolveupstream @ 2026-01-07 6:58 UTC (permalink / raw)
To: Krzysztof Kozlowski, andersson, konradybcio
Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel
On 05-01-2026 12:42, Krzysztof Kozlowski wrote:
> On 04/01/2026 14:11, tessolveupstream@gmail.com wrote:
>>
>>
>> On 30-12-2025 20:33, Krzysztof Kozlowski wrote:
>>> On 30/12/2025 14:02, Sudarshan Shetty wrote:
>>>> Add binding support for the Qualcomm Technologies, Inc. Talos EVK
>>>> SMARC platform based on the QCS615 SoC.
>>>>
>>>> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com>
>>>> ---
>>>
>>>
>>> Why did you decide to drop the tag and where did you explain that?
>>>
>>> <form letter>
>>> This is a friendly reminder during the review process.
>>>
>>> It looks like you received a tag and forgot to add it.
>>>
>>> If you do not know the process, here is a short explanation:
>>> Please add Acked-by/Reviewed-by/Tested-by tags when posting new versions
>>> of patchset, under or above your Signed-off-by tag, unless patch changed
>>> significantly (e.g. new properties added to the DT bindings). Tag is
>>> "received", when provided in a message replied to you on the mailing
>>> list. Tools like b4 can help here. However, there's no need to repost
>>> patches *only* to add the tags. The upstream maintainer will do that for
>>> tags received on the version they apply.
>>>
>>> Please read:
>>> https://elixir.bootlin.com/linux/v6.12-rc3/source/Documentation/process/submitting-patches.rst#L577
>>>
>>> If a tag was not added on purpose, please state why and what changed.
>>> </form letter>
>>>
>>
>> I apologize for missing the Acked-by tag in this version.
>
> How missing? It WAS THERE ALREADY!
>
> You had to explicitly remove it.
While updating the linux-next kernel source and reapplying the
changes, the Acked-by tag was inadvertently omitted. I’ll ensure
that all previously received tags are retained in future revisions
in accordance with the submission guidelines. My apologies for
the oversight.
>
>> I will make sure to include all received tags in the next patch
>> as per the submission guidelines.
>
> Best regards,
> Krzysztof
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v10 1/5] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform
2026-01-07 6:58 ` tessolveupstream
@ 2026-01-07 7:20 ` Krzysztof Kozlowski
2026-01-07 11:17 ` Konrad Dybcio
0 siblings, 1 reply; 33+ messages in thread
From: Krzysztof Kozlowski @ 2026-01-07 7:20 UTC (permalink / raw)
To: tessolveupstream, andersson, konradybcio
Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel
On 07/01/2026 07:58, tessolveupstream@gmail.com wrote:
>>>
>>> I apologize for missing the Acked-by tag in this version.
>>
>> How missing? It WAS THERE ALREADY!
>>
>> You had to explicitly remove it.
>
> While updating the linux-next kernel source and reapplying the
> changes, the Acked-by tag was inadvertently omitted. I’ll ensure
> that all previously received tags are retained in future revisions
> in accordance with the submission guidelines. My apologies for
> the oversight.
That's not how you work with your own code. You rebase onto new next and
then only update trailers with b4.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v10 3/5] backlight: gpio: add support for multiple GPIOs for backlight control
2026-01-07 5:57 ` tessolveupstream
@ 2026-01-07 8:12 ` Dmitry Baryshkov
0 siblings, 0 replies; 33+ messages in thread
From: Dmitry Baryshkov @ 2026-01-07 8:12 UTC (permalink / raw)
To: tessolveupstream
Cc: Bjorn Andersson, konradybcio, robh, krzk+dt, conor+dt,
linux-arm-msm, devicetree, linux-kernel
On Wed, Jan 07, 2026 at 11:27:44AM +0530, tessolveupstream@gmail.com wrote:
>
>
> On 05-01-2026 21:08, Bjorn Andersson wrote:
> > On Tue, Dec 30, 2025 at 06:32:25PM +0530, Sudarshan Shetty wrote:
> >> Extend the gpio-backlight driver to handle multiple GPIOs instead of a
> >> single one. This allows panels that require driving several enable pins
> >> to be controlled by the backlight framework.
> >
> > Can you please elaborate on the problem described here. Preferrably in
> > the form described in
> > https://docs.kernel.org/process/submitting-patches.html#describe-your-changes,
> > i.e. start with your problem description, then a description of your
> > solution.
> >
> > What does it mean for a backlight device to have multiple enable GPIOs?
> >
> >
> > PS. The associated binding patch needs to be merged before the
> > DeviceTree (dts) changes can be merged, but it would be more efficient
> > to upstream them separately - as each set of reviewers could focus on
> > their part and you could update the patches based on the feedback from
> > each part.
> >
>
> Initially, I had included the gpio-backlight driver and binding changes
> together in the v10 patch series. Later I separated these
> gpio-backlight changes and submitted them as individual patches to the respective maintainers.Here is the link to the updated patch series:
> https://lore.kernel.org/all/20260105085120.230862-1-tessolveupstream@gmail.com/T/#t
Your commit message should be answering on such questions.
>
> > Regards,
> > Bjorn
> >
> >>
> >> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com>
> >> ---
> >> drivers/video/backlight/gpio_backlight.c | 61 +++++++++++++++++-------
> >> 1 file changed, 45 insertions(+), 16 deletions(-)
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v10 4/5] arm64: dts: qcom: talos: Fix inconsistent USB PHY node naming
2025-12-30 13:02 ` [PATCH v10 4/5] arm64: dts: qcom: talos: Fix inconsistent USB PHY node naming Sudarshan Shetty
2025-12-30 14:42 ` Dmitry Baryshkov
@ 2026-01-07 8:23 ` yuanjiey
2026-01-08 4:51 ` tessolveupstream
1 sibling, 1 reply; 33+ messages in thread
From: yuanjiey @ 2026-01-07 8:23 UTC (permalink / raw)
To: Sudarshan Shetty
Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm,
devicetree, linux-kernel
On Tue, Dec 30, 2025 at 06:32:26PM +0530, Sudarshan Shetty wrote:
> The USB PHY nodes has inconsistent labels as 'usb_1_hspy'
> and 'usb_hsphy_2'. This patch renames them to follow
> a consistent naming scheme.
>
> No functional changes, only label renaming.
>
> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/talos.dtsi | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/talos.dtsi b/arch/arm64/boot/dts/qcom/talos.dtsi
> index 95d26e313622..c7dc507a50b5 100644
> --- a/arch/arm64/boot/dts/qcom/talos.dtsi
> +++ b/arch/arm64/boot/dts/qcom/talos.dtsi
> @@ -4304,7 +4304,7 @@ osm_l3: interconnect@18321000 {
> #interconnect-cells = <1>;
> };
>
> - usb_1_hsphy: phy@88e2000 {
> + usb_hsphy_1: phy@88e2000 {
Here just modify talos.dtsi, not modify qcs615-ride.dts
we will meet compile error.
Error: arch/arm64/boot/dts/qcom/qcs615-ride.dts:635.1-13 Label or path usb_1_hsphy not found.
Thanks,
Yuanjie
compatible = "qcom,qcs615-qusb2-phy";
> reg = <0x0 0x88e2000 0x0 0x180>;
>
> @@ -4412,7 +4412,7 @@ usb_1_dwc3: usb@a600000 {
> iommus = <&apps_smmu 0x140 0x0>;
> interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
>
> - phys = <&usb_1_hsphy>, <&usb_qmpphy>;
> + phys = <&usb_hsphy_1>, <&usb_qmpphy>;
> phy-names = "usb2-phy", "usb3-phy";
>
> snps,dis-u1-entry-quirk;
> --
> 2.34.1
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v10 5/5] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
2025-12-30 13:02 ` [PATCH v10 5/5] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board Sudarshan Shetty
2025-12-30 14:45 ` Dmitry Baryshkov
2025-12-30 14:51 ` Konrad Dybcio
@ 2026-01-07 8:37 ` yuanjiey
2026-01-08 9:29 ` tessolveupstream
2 siblings, 1 reply; 33+ messages in thread
From: yuanjiey @ 2026-01-07 8:37 UTC (permalink / raw)
To: Sudarshan Shetty
Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm,
devicetree, linux-kernel
On Tue, Dec 30, 2025 at 06:32:27PM +0530, Sudarshan Shetty wrote:
> Add the device tree for the QCS615-based Talos EVK platform. The
> platform is composed of a System-on-Module following the SMARC
> standard, and a Carrier Board.
>
> The Carrier Board supports several display configurations, HDMI and
> LVDS. Both configurations use the same base hardware, with the display
> selection controlled by a DIP switch.
>
> Use a DTBO file, talos-evk-lvds-auo,g133han01.dtso, which defines an
> overlay that disables HDMI and adds LVDS. The DTs file talos-evk
> can describe the HDMI display configurations.
>
> The initial device tree includes support for:
> - CPU and memory
> - UART
> - GPIOs
> - Regulators
> - PMIC
> - Early console
> - AT24MAC602 EEPROM
> - MCP2515 SPI to CAN
> - ADV7535 DSI-to-HDMI bridge
> - DisplayPort interface
> - SN65DSI84ZXHR DSI-to-LVDS bridge
> - Wi-Fi/BT
>
> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/Makefile | 4 +
> .../qcom/talos-evk-lvds-auo,g133han01.dtso | 126 ++++
> arch/arm64/boot/dts/qcom/talos-evk-som.dtsi | 598 ++++++++++++++++++
> arch/arm64/boot/dts/qcom/talos-evk.dts | 139 ++++
> 4 files changed, 867 insertions(+)
> create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
> create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
> create mode 100644 arch/arm64/boot/dts/qcom/talos-evk.dts
>
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 76cf0115a00a..289b651ef0c5 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -324,6 +324,10 @@ dtb-$(CONFIG_ARCH_QCOM) += sm8650-mtp.dtb
> dtb-$(CONFIG_ARCH_QCOM) += sm8650-qrd.dtb
> dtb-$(CONFIG_ARCH_QCOM) += sm8750-mtp.dtb
> dtb-$(CONFIG_ARCH_QCOM) += sm8750-qrd.dtb
> +dtb-$(CONFIG_ARCH_QCOM) += talos-evk.dtb
> +talos-evk-lvds-auo,g133han01-dtbs := \
> + talos-evk.dtb talos-evk-lvds-auo,g133han01.dtbo
> +dtb-$(CONFIG_ARCH_QCOM) += talos-evk-lvds-auo,g133han01.dtb
> x1e001de-devkit-el2-dtbs := x1e001de-devkit.dtb x1-el2.dtbo
> dtb-$(CONFIG_ARCH_QCOM) += x1e001de-devkit.dtb x1e001de-devkit-el2.dtb
> x1e78100-lenovo-thinkpad-t14s-el2-dtbs := x1e78100-lenovo-thinkpad-t14s.dtb x1-el2.dtbo
> diff --git a/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso b/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
> new file mode 100644
> index 000000000000..5393d1dc7fea
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
> @@ -0,0 +1,126 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> + */
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +
> +&{/} {
> + backlight: backlight {
> + compatible = "gpio-backlight";
> + gpios = <&tlmm 59 GPIO_ACTIVE_HIGH>,
> + <&tlmm 115 GPIO_ACTIVE_HIGH>;
> + default-on;
> + };
> +
> + hdmi_connector: hdmi-out {
> + status = "disabled";
> + };
> +
> + panel-lvds {
> + compatible = "auo,g133han01";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + /* LVDS A (Odd pixels) */
> + port@0 {
> + reg = <0>;
> + dual-lvds-odd-pixels;
> +
> + lvds_panel_out_a: endpoint {
> + remote-endpoint = <&sn65dsi84_out_a>;
> + };
> + };
> +
> + /* LVDS B (Even pixels) */
> + port@1 {
> + reg = <1>;
> + dual-lvds-even-pixels;
> +
> + lvds_panel_out_b: endpoint {
> + remote-endpoint = <&sn65dsi84_out_b>;
> + };
> + };
> + };
> + };
> +};
> +
> +&i2c1 {
> + clock-frequency = <400000>;
> +
> + status = "okay";
> +
> + hdmi_bridge: bridge@3d {
> + status = "disabled";
> + };
> +
> + lvds_bridge: bridge@2c {
> + compatible = "ti,sn65dsi84";
> + reg = <0x2c>;
> + enable-gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>;
> + ti,dsi-lanes = <4>;
> + ti,lvds-format = "jeida-24";
> + ti,lvds-bpp = <24>;
These properties can work?
dtbinding check says:
/local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: panel-lvds: 'power-supply' is a required property
from schema $id: http://devicetree.org/schemas/display/panel/panel-simple-lvds-dual-ports.yaml#
/local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: clock-controller@100000: 'clock-names' is a required property
from schema $id: http://devicetree.org/schemas/clock/qcom,qcs615-gcc.yaml#
/local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: bridge@2c: ports:port@0:endpoint:data-lanes:0: 1 was expected
from schema $id: http://devicetree.org/schemas/display/bridge/ti,sn65dsi83.yaml#
/local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: bridge@2c: ports:port@0:endpoint:data-lanes:1: 2 was expected
from schema $id: http://devicetree.org/schemas/display/bridge/ti,sn65dsi83.yaml#
/local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: bridge@2c: ports:port@0:endpoint:data-lanes:2: 3 was expected
from schema $id: http://devicetree.org/schemas/display/bridge/ti,sn65dsi83.yaml#
/local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: bridge@2c: ports:port@0:endpoint:data-lanes:3: 4 was expected
from schema $id: http://devicetree.org/schemas/display/bridge/ti,sn65dsi83.yaml#
/local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: bridge@2c: 'ti,dsi-lanes', 'ti,lvds-bpp', 'ti,lvds-format' do not match any of the regexes: 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/display/bridge/ti,sn65dsi83.yaml#
Thanks,
Yuanjie
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> +
> + sn65dsi84_in: endpoint {
> + data-lanes = <0 1 2 3>;
> + remote-endpoint = <&mdss_dsi0_out>;
> + };
> + };
> +
> + port@2 {
> + reg = <2>;
> +
> + sn65dsi84_out_a: endpoint {
> + data-lanes = <0 1 2 3>;
> + remote-endpoint = <&lvds_panel_out_a>;
> + };
> + };
> +
> + port@3 {
> + reg = <3>;
> +
> + sn65dsi84_out_b: endpoint {
> + data-lanes = <0 1 2 3>;
> + remote-endpoint = <&lvds_panel_out_b>;
> + };
> + };
> + };
> + };
> +};
> +
> +&mdss_dsi0 {
> + vdda-supply = <&vreg_l11a>;
> +
> + status = "okay";
> +};
> +
> +&mdss_dsi0_out {
> + remote-endpoint = <&sn65dsi84_in>;
> + data-lanes = <0 1 2 3>;
> +};
> +
> +&tlmm {
> + lcd_bklt_en: lcd-bklt-en-state {
> + pins = "gpio115";
> + function = "gpio";
> + bias-disable;
> + };
> +
> + lcd_bklt_pwm: lcd-bklt-pwm-state {
> + pins = "gpio59";
> + function = "gpio";
> + bias-disable;
> + };
> +};
> diff --git a/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi b/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
> new file mode 100644
> index 000000000000..23142ae8f776
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
> @@ -0,0 +1,598 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> + */
> +/dts-v1/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
> +#include "talos.dtsi"
> +#include "pm8150.dtsi"
> +/ {
> + aliases {
> + mmc0 = &sdhc_1;
> + serial0 = &uart0;
> + serial1 = &uart7;
> + };
> +
> + chosen {
> + stdout-path = "serial0:115200n8";
> + };
> +
> + clocks {
> + can_osc: can-oscillator {
> + compatible = "fixed-clock";
> + clock-frequency = <20000000>;
> + #clock-cells = <0>;
> + };
> +
> + sleep_clk: sleep-clk {
> + compatible = "fixed-clock";
> + clock-frequency = <32764>;
> + #clock-cells = <0>;
> + };
> +
> + xo_board_clk: xo-board-clk {
> + compatible = "fixed-clock";
> + clock-frequency = <38400000>;
> + #clock-cells = <0>;
> + };
> + };
> +
> + regulator-usb2-vbus {
> + compatible = "regulator-fixed";
> + regulator-name = "USB2_VBUS";
> + gpio = <&pm8150_gpios 10 GPIO_ACTIVE_HIGH>;
> + pinctrl-0 = <&usb2_en>;
> + pinctrl-names = "default";
> + enable-active-high;
> + regulator-always-on;
> + };
> +
> + vreg_conn_1p8: regulator-conn-1p8 {
> + compatible = "regulator-fixed";
> + regulator-name = "vreg_conn_1p8";
> + startup-delay-us = <4000>;
> + enable-active-high;
> + gpio = <&pm8150_gpios 1 GPIO_ACTIVE_HIGH>;
> + };
> +
> + vreg_conn_pa: regulator-conn-pa {
> + compatible = "regulator-fixed";
> + regulator-name = "vreg_conn_pa";
> + startup-delay-us = <4000>;
> + enable-active-high;
> + gpio = <&pm8150_gpios 6 GPIO_ACTIVE_HIGH>;
> + };
> +
> + vreg_v3p3_can: regulator-v3p3-can {
> + compatible = "regulator-fixed";
> + regulator-name = "vreg-v3p3-can";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + vreg_v5p0_can: regulator-v5p0-can {
> + compatible = "regulator-fixed";
> + regulator-name = "vreg-v5p0-can";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + wcn6855-pmu {
> + compatible = "qcom,wcn6855-pmu";
> +
> + pinctrl-0 = <&bt_en_state>, <&wlan_en_state>;
> + pinctrl-names = "default";
> +
> + bt-enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>;
> + wlan-enable-gpios = <&tlmm 84 GPIO_ACTIVE_HIGH>;
> +
> + vddio-supply = <&vreg_conn_pa>;
> + vddaon-supply = <&vreg_s5a>;
> + vddpmu-supply = <&vreg_conn_1p8>;
> + vddpmumx-supply = <&vreg_conn_1p8>;
> + vddpmucx-supply = <&vreg_conn_pa>;
> + vddrfa0p95-supply = <&vreg_s5a>;
> + vddrfa1p3-supply = <&vreg_s6a>;
> + vddrfa1p9-supply = <&vreg_l15a>;
> + vddpcie1p3-supply = <&vreg_s6a>;
> + vddpcie1p9-supply = <&vreg_l15a>;
> +
> + regulators {
> + vreg_pmu_rfa_cmn: ldo0 {
> + regulator-name = "vreg_pmu_rfa_cmn";
> + };
> +
> + vreg_pmu_aon_0p59: ldo1 {
> + regulator-name = "vreg_pmu_aon_0p59";
> + };
> +
> + vreg_pmu_wlcx_0p8: ldo2 {
> + regulator-name = "vreg_pmu_wlcx_0p8";
> + };
> +
> + vreg_pmu_wlmx_0p85: ldo3 {
> + regulator-name = "vreg_pmu_wlmx_0p85";
> + };
> +
> + vreg_pmu_btcmx_0p85: ldo4 {
> + regulator-name = "vreg_pmu_btcmx_0p85";
> + };
> +
> + vreg_pmu_rfa_0p8: ldo5 {
> + regulator-name = "vreg_pmu_rfa_0p8";
> + };
> +
> + vreg_pmu_rfa_1p2: ldo6 {
> + regulator-name = "vreg_pmu_rfa_1p2";
> + };
> +
> + vreg_pmu_rfa_1p7: ldo7 {
> + regulator-name = "vreg_pmu_rfa_1p7";
> + };
> +
> + vreg_pmu_pcie_0p9: ldo8 {
> + regulator-name = "vreg_pmu_pcie_0p9";
> + };
> +
> + vreg_pmu_pcie_1p8: ldo9 {
> + regulator-name = "vreg_pmu_pcie_1p8";
> + };
> + };
> + };
> +
> + wifi_1p8v: regulator-wifi-1p8v {
> + compatible = "regulator-fixed";
> + regulator-name = "wifi_1p8v";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + gpio = <&tlmm 91 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + pinctrl-names = "default";
> + pinctrl-0 = <&wifi_reg_en_pins_state>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + wifi_3p85v: regulator-wifi-3p85v {
> + compatible = "regulator-fixed";
> + regulator-name = "wifi_3p85v";
> + regulator-min-microvolt = <3850000>;
> + regulator-max-microvolt = <3850000>;
> + gpio = <&tlmm 91 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + pinctrl-names = "default";
> + pinctrl-0 = <&wifi_reg_en_pins_state>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +};
> +
> +&apps_rsc {
> + regulators-0 {
> + compatible = "qcom,pm8150-rpmh-regulators";
> + qcom,pmic-id = "a";
> +
> + vreg_s3a: smps3 {
> + regulator-name = "vreg_s3a";
> + regulator-min-microvolt = <600000>;
> + regulator-max-microvolt = <650000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_s4a: smps4 {
> + regulator-name = "vreg_s4a";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1829000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_s5a: smps5 {
> + regulator-name = "vreg_s5a";
> + regulator-min-microvolt = <1896000>;
> + regulator-max-microvolt = <2040000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_s6a: smps6 {
> + regulator-name = "vreg_s6a";
> + regulator-min-microvolt = <1304000>;
> + regulator-max-microvolt = <1404000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l1a: ldo1 {
> + regulator-name = "vreg_l1a";
> + regulator-min-microvolt = <488000>;
> + regulator-max-microvolt = <852000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
> + regulator-allow-set-load;
> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
> + RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l2a: ldo2 {
> + regulator-name = "vreg_l2a";
> + regulator-min-microvolt = <1650000>;
> + regulator-max-microvolt = <3100000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
> + regulator-allow-set-load;
> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
> + RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l3a: ldo3 {
> + regulator-name = "vreg_l3a";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1248000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
> + regulator-allow-set-load;
> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
> + RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l5a: ldo5 {
> + regulator-name = "vreg_l5a";
> + regulator-min-microvolt = <875000>;
> + regulator-max-microvolt = <975000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + regulator-allow-set-load;
> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
> + RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l7a: ldo7 {
> + regulator-name = "vreg_l7a";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1900000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + regulator-allow-set-load;
> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
> + RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l8a: ldo8 {
> + regulator-name = "vreg_l8a";
> + regulator-min-microvolt = <1150000>;
> + regulator-max-microvolt = <1350000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + regulator-allow-set-load;
> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
> + RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l10a: ldo10 {
> + regulator-name = "vreg_l10a";
> + regulator-min-microvolt = <2950000>;
> + regulator-max-microvolt = <3312000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + regulator-allow-set-load;
> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
> + RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l11a: ldo11 {
> + regulator-name = "vreg_l11a";
> + regulator-min-microvolt = <1232000>;
> + regulator-max-microvolt = <1260000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
> + regulator-allow-set-load;
> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
> + RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l12a: ldo12 {
> + regulator-name = "vreg_l12a";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1890000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l13a: ldo13 {
> + regulator-name = "vreg_l13a";
> + regulator-min-microvolt = <3000000>;
> + regulator-max-microvolt = <3230000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
> + regulator-allow-set-load;
> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
> + RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l15a: ldo15 {
> + regulator-name = "vreg_l15a";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1904000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
> + regulator-allow-set-load;
> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
> + RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l16a: ldo16 {
> + regulator-name = "vreg_l16a";
> + regulator-min-microvolt = <3000000>;
> + regulator-max-microvolt = <3312000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
> + regulator-allow-set-load;
> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
> + RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l17a: ldo17 {
> + regulator-name = "vreg_l17a";
> + regulator-min-microvolt = <2950000>;
> + regulator-max-microvolt = <3312000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> + };
> +};
> +
> +&gpi_dma0 {
> + status = "okay";
> +};
> +
> +&gpi_dma1 {
> + status = "okay";
> +};
> +
> +&i2c5 {
> + clock-frequency = <400000>;
> + status = "okay";
> +
> + eeprom@57 {
> + compatible = "atmel,24c02";
> + reg = <0x57>;
> + pagesize = <16>;
> + };
> +
> + eeprom@5f {
> + compatible = "atmel,24mac602";
> + reg = <0x5f>;
> + pagesize = <16>;
> + };
> +};
> +
> +&mdss {
> + status = "okay";
> +};
> +
> +&mdss_dp0 {
> + status = "okay";
> +};
> +
> +&mdss_dp0_out {
> + link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000>;
> + remote-endpoint = <&dp0_connector_in>;
> +};
> +
> +&mdss_dsi0 {
> + vdda-supply = <&vreg_l11a>;
> + status = "okay";
> +};
> +
> +&mdss_dsi0_phy {
> + vcca-supply = <&vreg_l5a>;
> + status = "okay";
> +};
> +
> +&pcie {
> + perst-gpios = <&tlmm 89 GPIO_ACTIVE_LOW>;
> + wake-gpios = <&tlmm 100 GPIO_ACTIVE_HIGH>;
> +
> + pinctrl-0 = <&pcie_default_state>;
> + pinctrl-names = "default";
> +
> + status = "okay";
> +};
> +
> +&pcie_phy {
> + vdda-phy-supply = <&vreg_l5a>;
> + vdda-pll-supply = <&vreg_l12a>;
> +
> + status = "okay";
> +};
> +
> +&pm8150_gpios {
> + usb2_en: usb2-en-state {
> + pins = "gpio10";
> + function = "normal";
> + output-enable;
> + power-source = <0>;
> + };
> +};
> +
> +&qupv3_id_0 {
> + status = "okay";
> +};
> +
> +&qupv3_id_1 {
> + status = "okay";
> +};
> +
> +&remoteproc_adsp {
> + firmware-name = "qcom/qcs615/adsp.mbn";
> +
> + status = "okay";
> +};
> +
> +&remoteproc_cdsp {
> + firmware-name = "qcom/qcs615/cdsp.mbn";
> +
> + status = "okay";
> +};
> +
> +&sdhc_1 {
> + pinctrl-0 = <&sdc1_state_on>;
> + pinctrl-1 = <&sdc1_state_off>;
> + pinctrl-names = "default", "sleep";
> +
> + bus-width = <8>;
> + mmc-ddr-1_8v;
> + mmc-hs200-1_8v;
> + mmc-hs400-1_8v;
> + mmc-hs400-enhanced-strobe;
> + vmmc-supply = <&vreg_l17a>;
> + vqmmc-supply = <&vreg_s4a>;
> +
> + non-removable;
> + no-sd;
> + no-sdio;
> +
> + status = "okay";
> +};
> +
> +&spi6 {
> + status = "okay";
> +
> + can@0 {
> + compatible = "microchip,mcp2515";
> + reg = <0>;
> + clocks = <&can_osc>;
> + interrupts-extended = <&tlmm 87 IRQ_TYPE_LEVEL_LOW>;
> + spi-max-frequency = <10000000>;
> + vdd-supply = <&vreg_v3p3_can>;
> + xceiver-supply = <&vreg_v5p0_can>;
> + };
> +};
> +
> +&tlmm {
> + bt_en_state: bt-en-state {
> + pins = "gpio85";
> + function = "gpio";
> + bias-pull-down;
> + output-low;
> + };
> +
> + pcie_default_state: pcie-default-state {
> + clkreq-pins {
> + pins = "gpio90";
> + function = "pcie_clk_req";
> + drive-strength = <2>;
> + bias-pull-up;
> + };
> +
> + perst-pins {
> + pins = "gpio89";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-disable;
> + };
> +
> + wake-pins {
> + pins = "gpio100";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-pull-up;
> + };
> + };
> +
> + wifi_reg_en_pins_state: wifi-reg-en-pins-state {
> + pins = "gpio91";
> + function = "gpio";
> + drive-strength = <8>;
> + output-high;
> + bias-pull-up;
> + };
> +
> + wlan_en_state: wlan-en-state {
> + pins = "gpio84";
> + function = "gpio";
> + drive-strength = <16>;
> + bias-pull-down;
> + output-low;
> + };
> +};
> +
> +&uart0 {
> + status = "okay";
> +};
> +
> +&uart7 {
> + status = "okay";
> +
> + bluetooth {
> + compatible = "qcom,wcn6855-bt";
> + firmware-name = "QCA6698/hpnv21", "QCA6698/hpbtfw21.tlv";
> +
> + vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
> + vddaon-supply = <&vreg_pmu_aon_0p59>;
> + vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
> + vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
> + vddbtcmx-supply = <&vreg_pmu_btcmx_0p85>;
> + vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
> + vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
> + vddrfa1p8-supply = <&vreg_pmu_rfa_1p7>;
> + };
> +};
> +
> +&usb_1 {
> + status = "okay";
> +};
> +
> +&usb_1_dwc3 {
> + dr_mode = "host";
> +};
> +
> +&usb_hsphy_1 {
> + vdd-supply = <&vreg_l5a>;
> + vdda-pll-supply = <&vreg_l12a>;
> + vdda-phy-dpdm-supply = <&vreg_l13a>;
> +
> + status = "okay";
> +};
> +
> +&usb_2 {
> + status = "okay";
> +};
> +
> +&usb_2_dwc3 {
> + dr_mode = "host";
> +};
> +
> +&usb_hsphy_2 {
> + vdd-supply = <&vreg_l5a>;
> + vdda-pll-supply = <&vreg_l12a>;
> + vdda-phy-dpdm-supply = <&vreg_l13a>;
> +
> + status = "okay";
> +};
> +
> +&usb_qmpphy {
> + vdda-phy-supply = <&vreg_l5a>;
> + vdda-pll-supply = <&vreg_l12a>;
> +
> + status = "okay";
> +};
> +
> +&usb_qmpphy_2 {
> + vdda-phy-supply = <&vreg_l11a>;
> + vdda-pll-supply = <&vreg_l5a>;
> +
> + status = "okay";
> +};
> +
> +&ufs_mem_hc {
> + reset-gpios = <&tlmm 123 GPIO_ACTIVE_LOW>;
> + vcc-supply = <&vreg_l17a>;
> + vcc-max-microamp = <600000>;
> + vccq2-supply = <&vreg_s4a>;
> + vccq2-max-microamp = <600000>;
> +
> + status = "okay";
> +};
> +
> +&ufs_mem_phy {
> + vdda-phy-supply = <&vreg_l5a>;
> + vdda-pll-supply = <&vreg_l12a>;
> +
> + status = "okay";
> +};
> +
> +&venus {
> + status = "okay";
> +};
> diff --git a/arch/arm64/boot/dts/qcom/talos-evk.dts b/arch/arm64/boot/dts/qcom/talos-evk.dts
> new file mode 100644
> index 000000000000..af100e22beee
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/talos-evk.dts
> @@ -0,0 +1,139 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> + */
> +/dts-v1/;
> +
> +#include "talos-evk-som.dtsi"
> +
> +/ {
> + model = "Qualcomm QCS615 IQ 615 EVK";
> + compatible = "qcom,talos-evk", "qcom,qcs615", "qcom,sm6150";
> + chassis-type = "embedded";
> +
> + aliases {
> + mmc1 = &sdhc_2;
> + };
> +
> + dp0-connector {
> + compatible = "dp-connector";
> + label = "DP0";
> + type = "full-size";
> +
> + hpd-gpios = <&tlmm 104 GPIO_ACTIVE_HIGH>;
> +
> + port {
> + dp0_connector_in: endpoint {
> + remote-endpoint = <&mdss_dp0_out>;
> + };
> + };
> + };
> +
> + hdmi_connector: hdmi-out {
> + compatible = "hdmi-connector";
> + type = "d";
> +
> + port {
> + hdmi_con_out: endpoint {
> + remote-endpoint = <&adv7535_out>;
> + };
> + };
> + };
> +
> + vreg_v1p8_out: regulator-v1p8-out {
> + compatible = "regulator-fixed";
> + regulator-name = "vreg-v1p8-out";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + vin-supply = <&vreg_v5p0_out>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + vreg_v3p3_out: regulator-v3p3-out {
> + compatible = "regulator-fixed";
> + regulator-name = "vreg-v3p3-out";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + vin-supply = <&vreg_v5p0_out>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + vreg_v5p0_out: regulator-v5p0-out {
> + compatible = "regulator-fixed";
> + regulator-name = "vreg-v5p0-out";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + regulator-boot-on;
> + regulator-always-on;
> + /* Powered by system 20V rail (USBC_VBUS_IN) */
> + };
> +};
> +
> +&i2c1 {
> + clock-frequency = <400000>;
> + status = "okay";
> +
> + hdmi_bridge: bridge@3d {
> + compatible = "adi,adv7535";
> + reg = <0x3d>;
> + avdd-supply = <&vreg_v1p8_out>;
> + dvdd-supply = <&vreg_v1p8_out>;
> + pvdd-supply = <&vreg_v1p8_out>;
> + a2vdd-supply = <&vreg_v1p8_out>;
> + v3p3-supply = <&vreg_v3p3_out>;
> + interrupts-extended = <&tlmm 26 IRQ_TYPE_LEVEL_LOW>;
> + adi,dsi-lanes = <4>;
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> +
> + adv7535_in: endpoint {
> + remote-endpoint = <&mdss_dsi0_out>;
> + };
> + };
> +
> + port@1 {
> + reg = <1>;
> +
> + adv7535_out: endpoint {
> + remote-endpoint = <&hdmi_con_out>;
> + };
> + };
> + };
> + };
> +};
> +
> +&mdss_dsi0_out {
> + remote-endpoint = <&adv7535_in>;
> + data-lanes = <0 1 2 3>;
> +};
> +
> +&pon_pwrkey {
> + status = "okay";
> +};
> +
> +&pon_resin {
> + linux,code = <KEY_VOLUMEDOWN>;
> +
> + status = "okay";
> +};
> +
> +&sdhc_2 {
> + pinctrl-0 = <&sdc2_state_on>;
> + pinctrl-1 = <&sdc2_state_off>;
> + pinctrl-names = "default", "sleep";
> +
> + bus-width = <4>;
> + cd-gpios = <&tlmm 99 GPIO_ACTIVE_LOW>;
> +
> + vmmc-supply = <&vreg_l10a>;
> + vqmmc-supply = <&vreg_s4a>;
> +
> + status = "okay";
> +};
> --
> 2.34.1
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v10 1/5] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform
2026-01-07 7:20 ` Krzysztof Kozlowski
@ 2026-01-07 11:17 ` Konrad Dybcio
2026-01-14 6:53 ` tessolveupstream
0 siblings, 1 reply; 33+ messages in thread
From: Konrad Dybcio @ 2026-01-07 11:17 UTC (permalink / raw)
To: Krzysztof Kozlowski, tessolveupstream, andersson, konradybcio
Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel
On 1/7/26 8:20 AM, Krzysztof Kozlowski wrote:
> On 07/01/2026 07:58, tessolveupstream@gmail.com wrote:
>>>>
>>>> I apologize for missing the Acked-by tag in this version.
>>>
>>> How missing? It WAS THERE ALREADY!
>>>
>>> You had to explicitly remove it.
>>
>> While updating the linux-next kernel source and reapplying the
>> changes, the Acked-by tag was inadvertently omitted. I’ll ensure
>> that all previously received tags are retained in future revisions
>> in accordance with the submission guidelines. My apologies for
>> the oversight.
>
>
> That's not how you work with your own code. You rebase onto new next and
> then only update trailers with b4.
JFYI Sudarshan, there is a neat oneliner to do this:
git rebase --onto linux-next/master $(git describe --abbrev=0)
where linux-next/master is the target commit/branch to rebase onto, and the
second argument is the pointer to the start of the chunk you want to rebase
Konrad
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v10 4/5] arm64: dts: qcom: talos: Fix inconsistent USB PHY node naming
2026-01-07 8:23 ` yuanjiey
@ 2026-01-08 4:51 ` tessolveupstream
0 siblings, 0 replies; 33+ messages in thread
From: tessolveupstream @ 2026-01-08 4:51 UTC (permalink / raw)
To: yuanjiey
Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm,
devicetree, linux-kernel
On 07-01-2026 13:53, yuanjiey wrote:
> On Tue, Dec 30, 2025 at 06:32:26PM +0530, Sudarshan Shetty wrote:
>> The USB PHY nodes has inconsistent labels as 'usb_1_hspy'
>> and 'usb_hsphy_2'. This patch renames them to follow
>> a consistent naming scheme.
>>
>> No functional changes, only label renaming.
>>
>> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com>
>> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
>> ---
>> arch/arm64/boot/dts/qcom/talos.dtsi | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/talos.dtsi b/arch/arm64/boot/dts/qcom/talos.dtsi
>> index 95d26e313622..c7dc507a50b5 100644
>> --- a/arch/arm64/boot/dts/qcom/talos.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/talos.dtsi
>> @@ -4304,7 +4304,7 @@ osm_l3: interconnect@18321000 {
>> #interconnect-cells = <1>;
>> };
>>
>> - usb_1_hsphy: phy@88e2000 {
>> + usb_hsphy_1: phy@88e2000 {
>
> Here just modify talos.dtsi, not modify qcs615-ride.dts
>
> we will meet compile error.
>
> Error: arch/arm64/boot/dts/qcom/qcs615-ride.dts:635.1-13 Label or path usb_1_hsphy not found.
>
Okay, got it. I will make the necessary changes in qcs615-ride.dts
in the next patch series.
> Thanks,
> Yuanjie
>
> compatible = "qcom,qcs615-qusb2-phy";
>> reg = <0x0 0x88e2000 0x0 0x180>;
>>
>> @@ -4412,7 +4412,7 @@ usb_1_dwc3: usb@a600000 {
>> iommus = <&apps_smmu 0x140 0x0>;
>> interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
>>
>> - phys = <&usb_1_hsphy>, <&usb_qmpphy>;
>> + phys = <&usb_hsphy_1>, <&usb_qmpphy>;
>> phy-names = "usb2-phy", "usb3-phy";
>>
>> snps,dis-u1-entry-quirk;
>> --
>> 2.34.1
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v10 5/5] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
2026-01-04 13:46 ` tessolveupstream
2026-01-05 22:13 ` Dmitry Baryshkov
@ 2026-01-08 7:36 ` tessolveupstream
2026-01-08 8:36 ` Konrad Dybcio
1 sibling, 1 reply; 33+ messages in thread
From: tessolveupstream @ 2026-01-08 7:36 UTC (permalink / raw)
To: Konrad Dybcio, andersson, konradybcio
Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel
On 04-01-2026 19:16, tessolveupstream@gmail.com wrote:
>
>
> On 30-12-2025 20:21, Konrad Dybcio wrote:
>> On 12/30/25 2:02 PM, Sudarshan Shetty wrote:
>>> Add the device tree for the QCS615-based Talos EVK platform. The
>>> platform is composed of a System-on-Module following the SMARC
>>> standard, and a Carrier Board.
>>>
>>> The Carrier Board supports several display configurations, HDMI and
>>> LVDS. Both configurations use the same base hardware, with the display
>>> selection controlled by a DIP switch.
>>
>> [...]
>>
>>> +++ b/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
>>> @@ -0,0 +1,126 @@
>>> +// SPDX-License-Identifier: BSD-3-Clause
>>> +/*
>>> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
>>> + */
>>> +/dts-v1/;
>>> +/plugin/;
>>> +
>>> +#include <dt-bindings/gpio/gpio.h>
>>> +
>>> +&{/} {
>>> + backlight: backlight {
>>> + compatible = "gpio-backlight";
>>> + gpios = <&tlmm 59 GPIO_ACTIVE_HIGH>,
>>> + <&tlmm 115 GPIO_ACTIVE_HIGH>;
>>> + default-on;
>>> + };
>>> +
>>> + hdmi_connector: hdmi-out {
>>> + status = "disabled";
>>> + };
>>
>> This should be a &label_reference
>>
>
> Okay, will add it in the next patch.
I noticed that in several existing .dtso files, the root node is
commonly referenced as &{/}. In your comment, you suggested using &label_reference. Could you please clarify which specific label or
node you would like me to update here.
>> [...]
>>
>>> + wifi_1p8v: regulator-wifi-1p8v {
>>> + compatible = "regulator-fixed";
>>> + regulator-name = "wifi_1p8v";
>>> + regulator-min-microvolt = <1800000>;
>>> + regulator-max-microvolt = <1800000>;
>>> + gpio = <&tlmm 91 GPIO_ACTIVE_HIGH>;
>>> + enable-active-high;
>>> + pinctrl-names = "default";
>>> + pinctrl-0 = <&wifi_reg_en_pins_state>;
>>
>> property-n
>> property-names
>>
>> consistently, please
>>
>
> I didn’t fully understand your comment.
> Could you please elaborate a bit more so I can make the
> necessary changes correctly. >> + regulator-boot-on;
>>> + regulator-always-on;
>>> + };
>>> +
>>> + wifi_3p85v: regulator-wifi-3p85v {
>>> + compatible = "regulator-fixed";
>>> + regulator-name = "wifi_3p85v";
>>> + regulator-min-microvolt = <3850000>;
>>> + regulator-max-microvolt = <3850000>;
>>> + gpio = <&tlmm 91 GPIO_ACTIVE_HIGH>;
>>> + enable-active-high;
>>> + pinctrl-names = "default";
>>> + pinctrl-0 = <&wifi_reg_en_pins_state>;
>>
>> ditto
>>
>> [...]
>>
>>> +&tlmm {
>>> + bt_en_state: bt-en-state {
>>> + pins = "gpio85";
>>> + function = "gpio";
>>> + bias-pull-down;
>>> + output-low;
>>
>> output-low/high should be unnecessary as these pins are governed
>> by the kernel driver
>>
>
> Okay,got it. Will make the necessary change in the next patch.
>> lg otherwise
>>
>> Konrad
>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v10 5/5] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
2026-01-08 7:36 ` tessolveupstream
@ 2026-01-08 8:36 ` Konrad Dybcio
2026-01-08 13:02 ` tessolveupstream
0 siblings, 1 reply; 33+ messages in thread
From: Konrad Dybcio @ 2026-01-08 8:36 UTC (permalink / raw)
To: tessolveupstream, andersson, konradybcio
Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel
On 1/8/26 8:36 AM, tessolveupstream@gmail.com wrote:
>
>
> On 04-01-2026 19:16, tessolveupstream@gmail.com wrote:
>>
>>
>> On 30-12-2025 20:21, Konrad Dybcio wrote:
>>> On 12/30/25 2:02 PM, Sudarshan Shetty wrote:
>>>> Add the device tree for the QCS615-based Talos EVK platform. The
>>>> platform is composed of a System-on-Module following the SMARC
>>>> standard, and a Carrier Board.
>>>>
>>>> The Carrier Board supports several display configurations, HDMI and
>>>> LVDS. Both configurations use the same base hardware, with the display
>>>> selection controlled by a DIP switch.
>>>
>>> [...]
>>>
>>>> +++ b/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
>>>> @@ -0,0 +1,126 @@
>>>> +// SPDX-License-Identifier: BSD-3-Clause
>>>> +/*
>>>> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
>>>> + */
>>>> +/dts-v1/;
>>>> +/plugin/;
>>>> +
>>>> +#include <dt-bindings/gpio/gpio.h>
>>>> +
>>>> +&{/} {
>>>> + backlight: backlight {
>>>> + compatible = "gpio-backlight";
>>>> + gpios = <&tlmm 59 GPIO_ACTIVE_HIGH>,
>>>> + <&tlmm 115 GPIO_ACTIVE_HIGH>;
>>>> + default-on;
>>>> + };
>>>> +
>>>> + hdmi_connector: hdmi-out {
>>>> + status = "disabled";
>>>> + };
>>>
>>> This should be a &label_reference
>>>
>>
>> Okay, will add it in the next patch.
>
> I noticed that in several existing .dtso files, the root node is
> commonly referenced as &{/}. In your comment, you suggested using &label_reference. Could you please clarify which specific label or
> node you would like me to update here.
&{/} must be used for root nodes in a .dtso (for it to compile). I meant
using a &label_reference for hdmi_connector
Konrad
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v10 5/5] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
2026-01-07 8:37 ` yuanjiey
@ 2026-01-08 9:29 ` tessolveupstream
2026-01-08 13:14 ` Konrad Dybcio
0 siblings, 1 reply; 33+ messages in thread
From: tessolveupstream @ 2026-01-08 9:29 UTC (permalink / raw)
To: yuanjiey
Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm,
devicetree, linux-kernel
On 07-01-2026 14:07, yuanjiey wrote:
> On Tue, Dec 30, 2025 at 06:32:27PM +0530, Sudarshan Shetty wrote:
>> Add the device tree for the QCS615-based Talos EVK platform. The
>> platform is composed of a System-on-Module following the SMARC
>> standard, and a Carrier Board.
>>
>> The Carrier Board supports several display configurations, HDMI and
>> LVDS. Both configurations use the same base hardware, with the display
>> selection controlled by a DIP switch.
>>
>> Use a DTBO file, talos-evk-lvds-auo,g133han01.dtso, which defines an
>> overlay that disables HDMI and adds LVDS. The DTs file talos-evk
>> can describe the HDMI display configurations.
>>
>> The initial device tree includes support for:
>> - CPU and memory
>> - UART
>> - GPIOs
>> - Regulators
>> - PMIC
>> - Early console
>> - AT24MAC602 EEPROM
>> - MCP2515 SPI to CAN
>> - ADV7535 DSI-to-HDMI bridge
>> - DisplayPort interface
>> - SN65DSI84ZXHR DSI-to-LVDS bridge
>> - Wi-Fi/BT
>>
>> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com>
>> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
>> ---
>> arch/arm64/boot/dts/qcom/Makefile | 4 +
>> .../qcom/talos-evk-lvds-auo,g133han01.dtso | 126 ++++
>> arch/arm64/boot/dts/qcom/talos-evk-som.dtsi | 598 ++++++++++++++++++
>> arch/arm64/boot/dts/qcom/talos-evk.dts | 139 ++++
>> 4 files changed, 867 insertions(+)
>> create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
>> create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
>> create mode 100644 arch/arm64/boot/dts/qcom/talos-evk.dts
>>
>> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
>> index 76cf0115a00a..289b651ef0c5 100644
>> --- a/arch/arm64/boot/dts/qcom/Makefile
>> +++ b/arch/arm64/boot/dts/qcom/Makefile
>> @@ -324,6 +324,10 @@ dtb-$(CONFIG_ARCH_QCOM) += sm8650-mtp.dtb
>> dtb-$(CONFIG_ARCH_QCOM) += sm8650-qrd.dtb
>> dtb-$(CONFIG_ARCH_QCOM) += sm8750-mtp.dtb
>> dtb-$(CONFIG_ARCH_QCOM) += sm8750-qrd.dtb
>> +dtb-$(CONFIG_ARCH_QCOM) += talos-evk.dtb
>> +talos-evk-lvds-auo,g133han01-dtbs := \
>> + talos-evk.dtb talos-evk-lvds-auo,g133han01.dtbo
>> +dtb-$(CONFIG_ARCH_QCOM) += talos-evk-lvds-auo,g133han01.dtb
>> x1e001de-devkit-el2-dtbs := x1e001de-devkit.dtb x1-el2.dtbo
>> dtb-$(CONFIG_ARCH_QCOM) += x1e001de-devkit.dtb x1e001de-devkit-el2.dtb
>> x1e78100-lenovo-thinkpad-t14s-el2-dtbs := x1e78100-lenovo-thinkpad-t14s.dtb x1-el2.dtbo
>> diff --git a/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso b/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
>> new file mode 100644
>> index 000000000000..5393d1dc7fea
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
>> @@ -0,0 +1,126 @@
>> +// SPDX-License-Identifier: BSD-3-Clause
>> +/*
>> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
>> + */
>> +/dts-v1/;
>> +/plugin/;
>> +
>> +#include <dt-bindings/gpio/gpio.h>
>> +
>> +&{/} {
>> + backlight: backlight {
>> + compatible = "gpio-backlight";
>> + gpios = <&tlmm 59 GPIO_ACTIVE_HIGH>,
>> + <&tlmm 115 GPIO_ACTIVE_HIGH>;
>> + default-on;
>> + };
>> +
>> + hdmi_connector: hdmi-out {
>> + status = "disabled";
>> + };
>> +
>> + panel-lvds {
>> + compatible = "auo,g133han01";
>> +
>> + ports {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + /* LVDS A (Odd pixels) */
>> + port@0 {
>> + reg = <0>;
>> + dual-lvds-odd-pixels;
>> +
>> + lvds_panel_out_a: endpoint {
>> + remote-endpoint = <&sn65dsi84_out_a>;
>> + };
>> + };
>> +
>> + /* LVDS B (Even pixels) */
>> + port@1 {
>> + reg = <1>;
>> + dual-lvds-even-pixels;
>> +
>> + lvds_panel_out_b: endpoint {
>> + remote-endpoint = <&sn65dsi84_out_b>;
>> + };
>> + };
>> + };
>> + };
>> +};
>> +
>> +&i2c1 {
>> + clock-frequency = <400000>;
>> +
>> + status = "okay";
>> +
>> + hdmi_bridge: bridge@3d {
>> + status = "disabled";
>> + };
>> +
>> + lvds_bridge: bridge@2c {
>> + compatible = "ti,sn65dsi84";
>> + reg = <0x2c>;
>> + enable-gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>;
>> + ti,dsi-lanes = <4>;
>> + ti,lvds-format = "jeida-24";
>> + ti,lvds-bpp = <24>;
>
> These properties can work?
>
> dtbinding check says:
>
> /local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: panel-lvds: 'power-supply' is a required property
> from schema $id: http://devicetree.org/schemas/display/panel/panel-simple-lvds-dual-ports.yaml#
> /local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: clock-controller@100000: 'clock-names' is a required property
> from schema $id: http://devicetree.org/schemas/clock/qcom,qcs615-gcc.yaml#
> /local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: bridge@2c: ports:port@0:endpoint:data-lanes:0: 1 was expected
> from schema $id: http://devicetree.org/schemas/display/bridge/ti,sn65dsi83.yaml#
> /local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: bridge@2c: ports:port@0:endpoint:data-lanes:1: 2 was expected
> from schema $id: http://devicetree.org/schemas/display/bridge/ti,sn65dsi83.yaml#
> /local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: bridge@2c: ports:port@0:endpoint:data-lanes:2: 3 was expected
> from schema $id: http://devicetree.org/schemas/display/bridge/ti,sn65dsi83.yaml#
> /local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: bridge@2c: ports:port@0:endpoint:data-lanes:3: 4 was expected
> from schema $id: http://devicetree.org/schemas/display/bridge/ti,sn65dsi83.yaml#
> /local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: bridge@2c: 'ti,dsi-lanes', 'ti,lvds-bpp', 'ti,lvds-format' do not match any of the regexes: 'pinctrl-[0-9]+'
> from schema $id: http://devicetree.org/schemas/display/bridge/ti,sn65dsi83.yaml#
>
With regard to the power-supply property for the LVDS panel: the
panel does not incorporate a dedicated power regulator, and therefore
this property cannot be defined.
Concerning the data-lanes configuration, the LVDS display operates
correctly only with <0,1,2,3> in my environment. Modifying this
to <1,2,3,4> as proposed, prevents the display from initializing.
> Thanks,
> Yuanjie
>
>> + ports {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + port@0 {
>> + reg = <0>;
>> +
>> + sn65dsi84_in: endpoint {
>> + data-lanes = <0 1 2 3>;
>> + remote-endpoint = <&mdss_dsi0_out>;
>> + };
>> + };
>> +
>> + port@2 {
>> + reg = <2>;
>> +
>> + sn65dsi84_out_a: endpoint {
>> + data-lanes = <0 1 2 3>;
>> + remote-endpoint = <&lvds_panel_out_a>;
>> + };
>> + };
>> +
>> + port@3 {
>> + reg = <3>;
>> +
>> + sn65dsi84_out_b: endpoint {
>> + data-lanes = <0 1 2 3>;
>> + remote-endpoint = <&lvds_panel_out_b>;
>> + };
>> + };
>> + };
>> + };
>> +};
>> +
>> +&mdss_dsi0 {
>> + vdda-supply = <&vreg_l11a>;
>> +
>> + status = "okay";
>> +};
>> +
>> +&mdss_dsi0_out {
>> + remote-endpoint = <&sn65dsi84_in>;
>> + data-lanes = <0 1 2 3>;
>> +};
>> +
>> +&tlmm {
>> + lcd_bklt_en: lcd-bklt-en-state {
>> + pins = "gpio115";
>> + function = "gpio";
>> + bias-disable;
>> + };
>> +
>> + lcd_bklt_pwm: lcd-bklt-pwm-state {
>> + pins = "gpio59";
>> + function = "gpio";
>> + bias-disable;
>> + };
>> +};
>> diff --git a/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi b/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
>> new file mode 100644
>> index 000000000000..23142ae8f776
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
>> @@ -0,0 +1,598 @@
>> +// SPDX-License-Identifier: BSD-3-Clause
>> +/*
>> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
>> + */
>> +/dts-v1/;
>> +
>> +#include <dt-bindings/gpio/gpio.h>
>> +#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
>> +#include "talos.dtsi"
>> +#include "pm8150.dtsi"
>> +/ {
>> + aliases {
>> + mmc0 = &sdhc_1;
>> + serial0 = &uart0;
>> + serial1 = &uart7;
>> + };
>> +
>> + chosen {
>> + stdout-path = "serial0:115200n8";
>> + };
>> +
>> + clocks {
>> + can_osc: can-oscillator {
>> + compatible = "fixed-clock";
>> + clock-frequency = <20000000>;
>> + #clock-cells = <0>;
>> + };
>> +
>> + sleep_clk: sleep-clk {
>> + compatible = "fixed-clock";
>> + clock-frequency = <32764>;
>> + #clock-cells = <0>;
>> + };
>> +
>> + xo_board_clk: xo-board-clk {
>> + compatible = "fixed-clock";
>> + clock-frequency = <38400000>;
>> + #clock-cells = <0>;
>> + };
>> + };
>> +
>> + regulator-usb2-vbus {
>> + compatible = "regulator-fixed";
>> + regulator-name = "USB2_VBUS";
>> + gpio = <&pm8150_gpios 10 GPIO_ACTIVE_HIGH>;
>> + pinctrl-0 = <&usb2_en>;
>> + pinctrl-names = "default";
>> + enable-active-high;
>> + regulator-always-on;
>> + };
>> +
>> + vreg_conn_1p8: regulator-conn-1p8 {
>> + compatible = "regulator-fixed";
>> + regulator-name = "vreg_conn_1p8";
>> + startup-delay-us = <4000>;
>> + enable-active-high;
>> + gpio = <&pm8150_gpios 1 GPIO_ACTIVE_HIGH>;
>> + };
>> +
>> + vreg_conn_pa: regulator-conn-pa {
>> + compatible = "regulator-fixed";
>> + regulator-name = "vreg_conn_pa";
>> + startup-delay-us = <4000>;
>> + enable-active-high;
>> + gpio = <&pm8150_gpios 6 GPIO_ACTIVE_HIGH>;
>> + };
>> +
>> + vreg_v3p3_can: regulator-v3p3-can {
>> + compatible = "regulator-fixed";
>> + regulator-name = "vreg-v3p3-can";
>> + regulator-min-microvolt = <3300000>;
>> + regulator-max-microvolt = <3300000>;
>> + regulator-boot-on;
>> + regulator-always-on;
>> + };
>> +
>> + vreg_v5p0_can: regulator-v5p0-can {
>> + compatible = "regulator-fixed";
>> + regulator-name = "vreg-v5p0-can";
>> + regulator-min-microvolt = <5000000>;
>> + regulator-max-microvolt = <5000000>;
>> + regulator-boot-on;
>> + regulator-always-on;
>> + };
>> +
>> + wcn6855-pmu {
>> + compatible = "qcom,wcn6855-pmu";
>> +
>> + pinctrl-0 = <&bt_en_state>, <&wlan_en_state>;
>> + pinctrl-names = "default";
>> +
>> + bt-enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>;
>> + wlan-enable-gpios = <&tlmm 84 GPIO_ACTIVE_HIGH>;
>> +
>> + vddio-supply = <&vreg_conn_pa>;
>> + vddaon-supply = <&vreg_s5a>;
>> + vddpmu-supply = <&vreg_conn_1p8>;
>> + vddpmumx-supply = <&vreg_conn_1p8>;
>> + vddpmucx-supply = <&vreg_conn_pa>;
>> + vddrfa0p95-supply = <&vreg_s5a>;
>> + vddrfa1p3-supply = <&vreg_s6a>;
>> + vddrfa1p9-supply = <&vreg_l15a>;
>> + vddpcie1p3-supply = <&vreg_s6a>;
>> + vddpcie1p9-supply = <&vreg_l15a>;
>> +
>> + regulators {
>> + vreg_pmu_rfa_cmn: ldo0 {
>> + regulator-name = "vreg_pmu_rfa_cmn";
>> + };
>> +
>> + vreg_pmu_aon_0p59: ldo1 {
>> + regulator-name = "vreg_pmu_aon_0p59";
>> + };
>> +
>> + vreg_pmu_wlcx_0p8: ldo2 {
>> + regulator-name = "vreg_pmu_wlcx_0p8";
>> + };
>> +
>> + vreg_pmu_wlmx_0p85: ldo3 {
>> + regulator-name = "vreg_pmu_wlmx_0p85";
>> + };
>> +
>> + vreg_pmu_btcmx_0p85: ldo4 {
>> + regulator-name = "vreg_pmu_btcmx_0p85";
>> + };
>> +
>> + vreg_pmu_rfa_0p8: ldo5 {
>> + regulator-name = "vreg_pmu_rfa_0p8";
>> + };
>> +
>> + vreg_pmu_rfa_1p2: ldo6 {
>> + regulator-name = "vreg_pmu_rfa_1p2";
>> + };
>> +
>> + vreg_pmu_rfa_1p7: ldo7 {
>> + regulator-name = "vreg_pmu_rfa_1p7";
>> + };
>> +
>> + vreg_pmu_pcie_0p9: ldo8 {
>> + regulator-name = "vreg_pmu_pcie_0p9";
>> + };
>> +
>> + vreg_pmu_pcie_1p8: ldo9 {
>> + regulator-name = "vreg_pmu_pcie_1p8";
>> + };
>> + };
>> + };
>> +
>> + wifi_1p8v: regulator-wifi-1p8v {
>> + compatible = "regulator-fixed";
>> + regulator-name = "wifi_1p8v";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + gpio = <&tlmm 91 GPIO_ACTIVE_HIGH>;
>> + enable-active-high;
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&wifi_reg_en_pins_state>;
>> + regulator-boot-on;
>> + regulator-always-on;
>> + };
>> +
>> + wifi_3p85v: regulator-wifi-3p85v {
>> + compatible = "regulator-fixed";
>> + regulator-name = "wifi_3p85v";
>> + regulator-min-microvolt = <3850000>;
>> + regulator-max-microvolt = <3850000>;
>> + gpio = <&tlmm 91 GPIO_ACTIVE_HIGH>;
>> + enable-active-high;
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&wifi_reg_en_pins_state>;
>> + regulator-boot-on;
>> + regulator-always-on;
>> + };
>> +};
>> +
>> +&apps_rsc {
>> + regulators-0 {
>> + compatible = "qcom,pm8150-rpmh-regulators";
>> + qcom,pmic-id = "a";
>> +
>> + vreg_s3a: smps3 {
>> + regulator-name = "vreg_s3a";
>> + regulator-min-microvolt = <600000>;
>> + regulator-max-microvolt = <650000>;
>> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
>> + };
>> +
>> + vreg_s4a: smps4 {
>> + regulator-name = "vreg_s4a";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1829000>;
>> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
>> + };
>> +
>> + vreg_s5a: smps5 {
>> + regulator-name = "vreg_s5a";
>> + regulator-min-microvolt = <1896000>;
>> + regulator-max-microvolt = <2040000>;
>> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
>> + };
>> +
>> + vreg_s6a: smps6 {
>> + regulator-name = "vreg_s6a";
>> + regulator-min-microvolt = <1304000>;
>> + regulator-max-microvolt = <1404000>;
>> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
>> + };
>> +
>> + vreg_l1a: ldo1 {
>> + regulator-name = "vreg_l1a";
>> + regulator-min-microvolt = <488000>;
>> + regulator-max-microvolt = <852000>;
>> + regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
>> + regulator-allow-set-load;
>> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
>> + RPMH_REGULATOR_MODE_HPM>;
>> + };
>> +
>> + vreg_l2a: ldo2 {
>> + regulator-name = "vreg_l2a";
>> + regulator-min-microvolt = <1650000>;
>> + regulator-max-microvolt = <3100000>;
>> + regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
>> + regulator-allow-set-load;
>> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
>> + RPMH_REGULATOR_MODE_HPM>;
>> + };
>> +
>> + vreg_l3a: ldo3 {
>> + regulator-name = "vreg_l3a";
>> + regulator-min-microvolt = <1000000>;
>> + regulator-max-microvolt = <1248000>;
>> + regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
>> + regulator-allow-set-load;
>> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
>> + RPMH_REGULATOR_MODE_HPM>;
>> + };
>> +
>> + vreg_l5a: ldo5 {
>> + regulator-name = "vreg_l5a";
>> + regulator-min-microvolt = <875000>;
>> + regulator-max-microvolt = <975000>;
>> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
>> + regulator-allow-set-load;
>> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
>> + RPMH_REGULATOR_MODE_HPM>;
>> + };
>> +
>> + vreg_l7a: ldo7 {
>> + regulator-name = "vreg_l7a";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1900000>;
>> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
>> + regulator-allow-set-load;
>> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
>> + RPMH_REGULATOR_MODE_HPM>;
>> + };
>> +
>> + vreg_l8a: ldo8 {
>> + regulator-name = "vreg_l8a";
>> + regulator-min-microvolt = <1150000>;
>> + regulator-max-microvolt = <1350000>;
>> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
>> + regulator-allow-set-load;
>> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
>> + RPMH_REGULATOR_MODE_HPM>;
>> + };
>> +
>> + vreg_l10a: ldo10 {
>> + regulator-name = "vreg_l10a";
>> + regulator-min-microvolt = <2950000>;
>> + regulator-max-microvolt = <3312000>;
>> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
>> + regulator-allow-set-load;
>> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
>> + RPMH_REGULATOR_MODE_HPM>;
>> + };
>> +
>> + vreg_l11a: ldo11 {
>> + regulator-name = "vreg_l11a";
>> + regulator-min-microvolt = <1232000>;
>> + regulator-max-microvolt = <1260000>;
>> + regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
>> + regulator-allow-set-load;
>> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
>> + RPMH_REGULATOR_MODE_HPM>;
>> + };
>> +
>> + vreg_l12a: ldo12 {
>> + regulator-name = "vreg_l12a";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1890000>;
>> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
>> + };
>> +
>> + vreg_l13a: ldo13 {
>> + regulator-name = "vreg_l13a";
>> + regulator-min-microvolt = <3000000>;
>> + regulator-max-microvolt = <3230000>;
>> + regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
>> + regulator-allow-set-load;
>> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
>> + RPMH_REGULATOR_MODE_HPM>;
>> + };
>> +
>> + vreg_l15a: ldo15 {
>> + regulator-name = "vreg_l15a";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1904000>;
>> + regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
>> + regulator-allow-set-load;
>> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
>> + RPMH_REGULATOR_MODE_HPM>;
>> + };
>> +
>> + vreg_l16a: ldo16 {
>> + regulator-name = "vreg_l16a";
>> + regulator-min-microvolt = <3000000>;
>> + regulator-max-microvolt = <3312000>;
>> + regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
>> + regulator-allow-set-load;
>> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
>> + RPMH_REGULATOR_MODE_HPM>;
>> + };
>> +
>> + vreg_l17a: ldo17 {
>> + regulator-name = "vreg_l17a";
>> + regulator-min-microvolt = <2950000>;
>> + regulator-max-microvolt = <3312000>;
>> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
>> + };
>> + };
>> +};
>> +
>> +&gpi_dma0 {
>> + status = "okay";
>> +};
>> +
>> +&gpi_dma1 {
>> + status = "okay";
>> +};
>> +
>> +&i2c5 {
>> + clock-frequency = <400000>;
>> + status = "okay";
>> +
>> + eeprom@57 {
>> + compatible = "atmel,24c02";
>> + reg = <0x57>;
>> + pagesize = <16>;
>> + };
>> +
>> + eeprom@5f {
>> + compatible = "atmel,24mac602";
>> + reg = <0x5f>;
>> + pagesize = <16>;
>> + };
>> +};
>> +
>> +&mdss {
>> + status = "okay";
>> +};
>> +
>> +&mdss_dp0 {
>> + status = "okay";
>> +};
>> +
>> +&mdss_dp0_out {
>> + link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000>;
>> + remote-endpoint = <&dp0_connector_in>;
>> +};
>> +
>> +&mdss_dsi0 {
>> + vdda-supply = <&vreg_l11a>;
>> + status = "okay";
>> +};
>> +
>> +&mdss_dsi0_phy {
>> + vcca-supply = <&vreg_l5a>;
>> + status = "okay";
>> +};
>> +
>> +&pcie {
>> + perst-gpios = <&tlmm 89 GPIO_ACTIVE_LOW>;
>> + wake-gpios = <&tlmm 100 GPIO_ACTIVE_HIGH>;
>> +
>> + pinctrl-0 = <&pcie_default_state>;
>> + pinctrl-names = "default";
>> +
>> + status = "okay";
>> +};
>> +
>> +&pcie_phy {
>> + vdda-phy-supply = <&vreg_l5a>;
>> + vdda-pll-supply = <&vreg_l12a>;
>> +
>> + status = "okay";
>> +};
>> +
>> +&pm8150_gpios {
>> + usb2_en: usb2-en-state {
>> + pins = "gpio10";
>> + function = "normal";
>> + output-enable;
>> + power-source = <0>;
>> + };
>> +};
>> +
>> +&qupv3_id_0 {
>> + status = "okay";
>> +};
>> +
>> +&qupv3_id_1 {
>> + status = "okay";
>> +};
>> +
>> +&remoteproc_adsp {
>> + firmware-name = "qcom/qcs615/adsp.mbn";
>> +
>> + status = "okay";
>> +};
>> +
>> +&remoteproc_cdsp {
>> + firmware-name = "qcom/qcs615/cdsp.mbn";
>> +
>> + status = "okay";
>> +};
>> +
>> +&sdhc_1 {
>> + pinctrl-0 = <&sdc1_state_on>;
>> + pinctrl-1 = <&sdc1_state_off>;
>> + pinctrl-names = "default", "sleep";
>> +
>> + bus-width = <8>;
>> + mmc-ddr-1_8v;
>> + mmc-hs200-1_8v;
>> + mmc-hs400-1_8v;
>> + mmc-hs400-enhanced-strobe;
>> + vmmc-supply = <&vreg_l17a>;
>> + vqmmc-supply = <&vreg_s4a>;
>> +
>> + non-removable;
>> + no-sd;
>> + no-sdio;
>> +
>> + status = "okay";
>> +};
>> +
>> +&spi6 {
>> + status = "okay";
>> +
>> + can@0 {
>> + compatible = "microchip,mcp2515";
>> + reg = <0>;
>> + clocks = <&can_osc>;
>> + interrupts-extended = <&tlmm 87 IRQ_TYPE_LEVEL_LOW>;
>> + spi-max-frequency = <10000000>;
>> + vdd-supply = <&vreg_v3p3_can>;
>> + xceiver-supply = <&vreg_v5p0_can>;
>> + };
>> +};
>> +
>> +&tlmm {
>> + bt_en_state: bt-en-state {
>> + pins = "gpio85";
>> + function = "gpio";
>> + bias-pull-down;
>> + output-low;
>> + };
>> +
>> + pcie_default_state: pcie-default-state {
>> + clkreq-pins {
>> + pins = "gpio90";
>> + function = "pcie_clk_req";
>> + drive-strength = <2>;
>> + bias-pull-up;
>> + };
>> +
>> + perst-pins {
>> + pins = "gpio89";
>> + function = "gpio";
>> + drive-strength = <2>;
>> + bias-disable;
>> + };
>> +
>> + wake-pins {
>> + pins = "gpio100";
>> + function = "gpio";
>> + drive-strength = <2>;
>> + bias-pull-up;
>> + };
>> + };
>> +
>> + wifi_reg_en_pins_state: wifi-reg-en-pins-state {
>> + pins = "gpio91";
>> + function = "gpio";
>> + drive-strength = <8>;
>> + output-high;
>> + bias-pull-up;
>> + };
>> +
>> + wlan_en_state: wlan-en-state {
>> + pins = "gpio84";
>> + function = "gpio";
>> + drive-strength = <16>;
>> + bias-pull-down;
>> + output-low;
>> + };
>> +};
>> +
>> +&uart0 {
>> + status = "okay";
>> +};
>> +
>> +&uart7 {
>> + status = "okay";
>> +
>> + bluetooth {
>> + compatible = "qcom,wcn6855-bt";
>> + firmware-name = "QCA6698/hpnv21", "QCA6698/hpbtfw21.tlv";
>> +
>> + vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
>> + vddaon-supply = <&vreg_pmu_aon_0p59>;
>> + vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
>> + vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
>> + vddbtcmx-supply = <&vreg_pmu_btcmx_0p85>;
>> + vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
>> + vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
>> + vddrfa1p8-supply = <&vreg_pmu_rfa_1p7>;
>> + };
>> +};
>> +
>> +&usb_1 {
>> + status = "okay";
>> +};
>> +
>> +&usb_1_dwc3 {
>> + dr_mode = "host";
>> +};
>> +
>> +&usb_hsphy_1 {
>> + vdd-supply = <&vreg_l5a>;
>> + vdda-pll-supply = <&vreg_l12a>;
>> + vdda-phy-dpdm-supply = <&vreg_l13a>;
>> +
>> + status = "okay";
>> +};
>> +
>> +&usb_2 {
>> + status = "okay";
>> +};
>> +
>> +&usb_2_dwc3 {
>> + dr_mode = "host";
>> +};
>> +
>> +&usb_hsphy_2 {
>> + vdd-supply = <&vreg_l5a>;
>> + vdda-pll-supply = <&vreg_l12a>;
>> + vdda-phy-dpdm-supply = <&vreg_l13a>;
>> +
>> + status = "okay";
>> +};
>> +
>> +&usb_qmpphy {
>> + vdda-phy-supply = <&vreg_l5a>;
>> + vdda-pll-supply = <&vreg_l12a>;
>> +
>> + status = "okay";
>> +};
>> +
>> +&usb_qmpphy_2 {
>> + vdda-phy-supply = <&vreg_l11a>;
>> + vdda-pll-supply = <&vreg_l5a>;
>> +
>> + status = "okay";
>> +};
>> +
>> +&ufs_mem_hc {
>> + reset-gpios = <&tlmm 123 GPIO_ACTIVE_LOW>;
>> + vcc-supply = <&vreg_l17a>;
>> + vcc-max-microamp = <600000>;
>> + vccq2-supply = <&vreg_s4a>;
>> + vccq2-max-microamp = <600000>;
>> +
>> + status = "okay";
>> +};
>> +
>> +&ufs_mem_phy {
>> + vdda-phy-supply = <&vreg_l5a>;
>> + vdda-pll-supply = <&vreg_l12a>;
>> +
>> + status = "okay";
>> +};
>> +
>> +&venus {
>> + status = "okay";
>> +};
>> diff --git a/arch/arm64/boot/dts/qcom/talos-evk.dts b/arch/arm64/boot/dts/qcom/talos-evk.dts
>> new file mode 100644
>> index 000000000000..af100e22beee
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/qcom/talos-evk.dts
>> @@ -0,0 +1,139 @@
>> +// SPDX-License-Identifier: BSD-3-Clause
>> +/*
>> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
>> + */
>> +/dts-v1/;
>> +
>> +#include "talos-evk-som.dtsi"
>> +
>> +/ {
>> + model = "Qualcomm QCS615 IQ 615 EVK";
>> + compatible = "qcom,talos-evk", "qcom,qcs615", "qcom,sm6150";
>> + chassis-type = "embedded";
>> +
>> + aliases {
>> + mmc1 = &sdhc_2;
>> + };
>> +
>> + dp0-connector {
>> + compatible = "dp-connector";
>> + label = "DP0";
>> + type = "full-size";
>> +
>> + hpd-gpios = <&tlmm 104 GPIO_ACTIVE_HIGH>;
>> +
>> + port {
>> + dp0_connector_in: endpoint {
>> + remote-endpoint = <&mdss_dp0_out>;
>> + };
>> + };
>> + };
>> +
>> + hdmi_connector: hdmi-out {
>> + compatible = "hdmi-connector";
>> + type = "d";
>> +
>> + port {
>> + hdmi_con_out: endpoint {
>> + remote-endpoint = <&adv7535_out>;
>> + };
>> + };
>> + };
>> +
>> + vreg_v1p8_out: regulator-v1p8-out {
>> + compatible = "regulator-fixed";
>> + regulator-name = "vreg-v1p8-out";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + vin-supply = <&vreg_v5p0_out>;
>> + regulator-boot-on;
>> + regulator-always-on;
>> + };
>> +
>> + vreg_v3p3_out: regulator-v3p3-out {
>> + compatible = "regulator-fixed";
>> + regulator-name = "vreg-v3p3-out";
>> + regulator-min-microvolt = <3300000>;
>> + regulator-max-microvolt = <3300000>;
>> + vin-supply = <&vreg_v5p0_out>;
>> + regulator-boot-on;
>> + regulator-always-on;
>> + };
>> +
>> + vreg_v5p0_out: regulator-v5p0-out {
>> + compatible = "regulator-fixed";
>> + regulator-name = "vreg-v5p0-out";
>> + regulator-min-microvolt = <5000000>;
>> + regulator-max-microvolt = <5000000>;
>> + regulator-boot-on;
>> + regulator-always-on;
>> + /* Powered by system 20V rail (USBC_VBUS_IN) */
>> + };
>> +};
>> +
>> +&i2c1 {
>> + clock-frequency = <400000>;
>> + status = "okay";
>> +
>> + hdmi_bridge: bridge@3d {
>> + compatible = "adi,adv7535";
>> + reg = <0x3d>;
>> + avdd-supply = <&vreg_v1p8_out>;
>> + dvdd-supply = <&vreg_v1p8_out>;
>> + pvdd-supply = <&vreg_v1p8_out>;
>> + a2vdd-supply = <&vreg_v1p8_out>;
>> + v3p3-supply = <&vreg_v3p3_out>;
>> + interrupts-extended = <&tlmm 26 IRQ_TYPE_LEVEL_LOW>;
>> + adi,dsi-lanes = <4>;
>> +
>> + ports {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + port@0 {
>> + reg = <0>;
>> +
>> + adv7535_in: endpoint {
>> + remote-endpoint = <&mdss_dsi0_out>;
>> + };
>> + };
>> +
>> + port@1 {
>> + reg = <1>;
>> +
>> + adv7535_out: endpoint {
>> + remote-endpoint = <&hdmi_con_out>;
>> + };
>> + };
>> + };
>> + };
>> +};
>> +
>> +&mdss_dsi0_out {
>> + remote-endpoint = <&adv7535_in>;
>> + data-lanes = <0 1 2 3>;
>> +};
>> +
>> +&pon_pwrkey {
>> + status = "okay";
>> +};
>> +
>> +&pon_resin {
>> + linux,code = <KEY_VOLUMEDOWN>;
>> +
>> + status = "okay";
>> +};
>> +
>> +&sdhc_2 {
>> + pinctrl-0 = <&sdc2_state_on>;
>> + pinctrl-1 = <&sdc2_state_off>;
>> + pinctrl-names = "default", "sleep";
>> +
>> + bus-width = <4>;
>> + cd-gpios = <&tlmm 99 GPIO_ACTIVE_LOW>;
>> +
>> + vmmc-supply = <&vreg_l10a>;
>> + vqmmc-supply = <&vreg_s4a>;
>> +
>> + status = "okay";
>> +};
>> --
>> 2.34.1
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v10 5/5] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
2026-01-08 8:36 ` Konrad Dybcio
@ 2026-01-08 13:02 ` tessolveupstream
2026-01-08 13:06 ` Konrad Dybcio
0 siblings, 1 reply; 33+ messages in thread
From: tessolveupstream @ 2026-01-08 13:02 UTC (permalink / raw)
To: Konrad Dybcio, andersson, konradybcio
Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel
On 08-01-2026 14:06, Konrad Dybcio wrote:
>>>>> + */
>>>>> +/dts-v1/;
>>>>> +/plugin/;
>>>>> +
>>>>> +#include <dt-bindings/gpio/gpio.h>
>>>>> +
>>>>> +&{/} {
>>>>> + backlight: backlight {
>>>>> + compatible = "gpio-backlight";
>>>>> + gpios = <&tlmm 59 GPIO_ACTIVE_HIGH>,
>>>>> + <&tlmm 115 GPIO_ACTIVE_HIGH>;
>>>>> + default-on;
>>>>> + };
>>>>> +
>>>>> + hdmi_connector: hdmi-out {
>>>>> + status = "disabled";
>>>>> + };
>>>> This should be a &label_reference
>>>>
>>> Okay, will add it in the next patch.
>> I noticed that in several existing .dtso files, the root node is
>> commonly referenced as &{/}. In your comment, you suggested using &label_reference. Could you please clarify which specific label or
>> node you would like me to update here.
> &{/} must be used for root nodes in a .dtso (for it to compile). I meant
> using a &label_reference for hdmi_connector
Thank you for clarifying. I’ve updated the patch to move
hdmi_connector out of the root node and reference it using
&hdmi_connector instead of defining it under &{/} like below:
git diff arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.
diff --git a/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso b/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,
index 5393d1dc7fea..bd1cbfc866b7 100644
--- a/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
+++ b/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
@@ -15,10 +15,6 @@ backlight: backlight {
default-on;
};
- hdmi_connector: hdmi-out {
- status = "disabled";
- };
-
panel-lvds {
compatible = "auo,g133han01";
@@ -49,6 +45,10 @@ lvds_panel_out_b: endpoint {
};
};
+&hdmi_connector {
+ status = "disabled";
+};
+
&i2c1 {
clock-frequency = <400000>;
Could you please confirm if this change aligns with your
expectation.
^ permalink raw reply related [flat|nested] 33+ messages in thread
* Re: [PATCH v10 5/5] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
2026-01-08 13:02 ` tessolveupstream
@ 2026-01-08 13:06 ` Konrad Dybcio
0 siblings, 0 replies; 33+ messages in thread
From: Konrad Dybcio @ 2026-01-08 13:06 UTC (permalink / raw)
To: tessolveupstream, andersson, konradybcio
Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel
On 1/8/26 2:02 PM, tessolveupstream@gmail.com wrote:
>
>
> On 08-01-2026 14:06, Konrad Dybcio wrote:
>>>>>> + */
>>>>>> +/dts-v1/;
>>>>>> +/plugin/;
>>>>>> +
>>>>>> +#include <dt-bindings/gpio/gpio.h>
>>>>>> +
>>>>>> +&{/} {
>>>>>> + backlight: backlight {
>>>>>> + compatible = "gpio-backlight";
>>>>>> + gpios = <&tlmm 59 GPIO_ACTIVE_HIGH>,
>>>>>> + <&tlmm 115 GPIO_ACTIVE_HIGH>;
>>>>>> + default-on;
>>>>>> + };
>>>>>> +
>>>>>> + hdmi_connector: hdmi-out {
>>>>>> + status = "disabled";
>>>>>> + };
>>>>> This should be a &label_reference
>>>>>
>>>> Okay, will add it in the next patch.
>>> I noticed that in several existing .dtso files, the root node is
>>> commonly referenced as &{/}. In your comment, you suggested using &label_reference. Could you please clarify which specific label or
>>> node you would like me to update here.
>> &{/} must be used for root nodes in a .dtso (for it to compile). I meant
>> using a &label_reference for hdmi_connector
>
> Thank you for clarifying. I’ve updated the patch to move
> hdmi_connector out of the root node and reference it using
> &hdmi_connector instead of defining it under &{/} like below:
>
> git diff arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.
> diff --git a/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso b/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,
> index 5393d1dc7fea..bd1cbfc866b7 100644
> --- a/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
> +++ b/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
> @@ -15,10 +15,6 @@ backlight: backlight {
> default-on;
> };
>
> - hdmi_connector: hdmi-out {
> - status = "disabled";
> - };
> -
> panel-lvds {
> compatible = "auo,g133han01";
>
> @@ -49,6 +45,10 @@ lvds_panel_out_b: endpoint {
> };
> };
>
> +&hdmi_connector {
> + status = "disabled";
> +};
> +
> &i2c1 {
> clock-frequency = <400000>;
>
> Could you please confirm if this change aligns with your
> expectation.
Yes, exactly :)
Thank you!
Konrad
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v10 5/5] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
2026-01-08 9:29 ` tessolveupstream
@ 2026-01-08 13:14 ` Konrad Dybcio
2026-01-09 7:21 ` tessolveupstream
0 siblings, 1 reply; 33+ messages in thread
From: Konrad Dybcio @ 2026-01-08 13:14 UTC (permalink / raw)
To: tessolveupstream, yuanjiey
Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm,
devicetree, linux-kernel
On 1/8/26 10:29 AM, tessolveupstream@gmail.com wrote:
>
>
> On 07-01-2026 14:07, yuanjiey wrote:
>> On Tue, Dec 30, 2025 at 06:32:27PM +0530, Sudarshan Shetty wrote:
>>> Add the device tree for the QCS615-based Talos EVK platform. The
>>> platform is composed of a System-on-Module following the SMARC
>>> standard, and a Carrier Board.
[...]
>> These properties can work?
>>
>> dtbinding check says:
>>
>> /local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: panel-lvds: 'power-supply' is a required property
>> from schema $id: http://devicetree.org/schemas/display/panel/panel-simple-lvds-dual-ports.yaml#
>> /local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: clock-controller@100000: 'clock-names' is a required property
>> from schema $id: http://devicetree.org/schemas/clock/qcom,qcs615-gcc.yaml#
>> /local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: bridge@2c: ports:port@0:endpoint:data-lanes:0: 1 was expected
>> from schema $id: http://devicetree.org/schemas/display/bridge/ti,sn65dsi83.yaml#
>> /local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: bridge@2c: ports:port@0:endpoint:data-lanes:1: 2 was expected
>> from schema $id: http://devicetree.org/schemas/display/bridge/ti,sn65dsi83.yaml#
>> /local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: bridge@2c: ports:port@0:endpoint:data-lanes:2: 3 was expected
>> from schema $id: http://devicetree.org/schemas/display/bridge/ti,sn65dsi83.yaml#
>> /local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: bridge@2c: ports:port@0:endpoint:data-lanes:3: 4 was expected
>> from schema $id: http://devicetree.org/schemas/display/bridge/ti,sn65dsi83.yaml#
>> /local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: bridge@2c: 'ti,dsi-lanes', 'ti,lvds-bpp', 'ti,lvds-format' do not match any of the regexes: 'pinctrl-[0-9]+'
>> from schema $id: http://devicetree.org/schemas/display/bridge/ti,sn65dsi83.yaml#
>>
>
> With regard to the power-supply property for the LVDS panel: the
> panel does not incorporate a dedicated power regulator, and therefore
> this property cannot be defined.
> Concerning the data-lanes configuration, the LVDS display operates
> correctly only with <0,1,2,3> in my environment. Modifying this
> to <1,2,3,4> as proposed, prevents the display from initializing.
You'll need to fix the bindings checker errors one way or another.
For the power-supply, I think it may be made optional
For data-lanes, I'm not sure it's even parsed. Are you sure altering
the value under the TI bridge endpoint (*not* mdss_dsi0) causes
issues?
Konrad
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v10 5/5] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
2026-01-08 13:14 ` Konrad Dybcio
@ 2026-01-09 7:21 ` tessolveupstream
0 siblings, 0 replies; 33+ messages in thread
From: tessolveupstream @ 2026-01-09 7:21 UTC (permalink / raw)
To: Konrad Dybcio, yuanjiey
Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm,
devicetree, linux-kernel
On 08-01-2026 18:44, Konrad Dybcio wrote:
> On 1/8/26 10:29 AM, tessolveupstream@gmail.com wrote:
>>
>>
>> On 07-01-2026 14:07, yuanjiey wrote:
>>> On Tue, Dec 30, 2025 at 06:32:27PM +0530, Sudarshan Shetty wrote:
>>>> Add the device tree for the QCS615-based Talos EVK platform. The
>>>> platform is composed of a System-on-Module following the SMARC
>>>> standard, and a Carrier Board.
>
> [...]
>
>>> These properties can work?
>>>
>>> dtbinding check says:
>>>
>>> /local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: panel-lvds: 'power-supply' is a required property
>>> from schema $id: http://devicetree.org/schemas/display/panel/panel-simple-lvds-dual-ports.yaml#
>>> /local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: clock-controller@100000: 'clock-names' is a required property
>>> from schema $id: http://devicetree.org/schemas/clock/qcom,qcs615-gcc.yaml#
>>> /local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: bridge@2c: ports:port@0:endpoint:data-lanes:0: 1 was expected
>>> from schema $id: http://devicetree.org/schemas/display/bridge/ti,sn65dsi83.yaml#
>>> /local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: bridge@2c: ports:port@0:endpoint:data-lanes:1: 2 was expected
>>> from schema $id: http://devicetree.org/schemas/display/bridge/ti,sn65dsi83.yaml#
>>> /local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: bridge@2c: ports:port@0:endpoint:data-lanes:2: 3 was expected
>>> from schema $id: http://devicetree.org/schemas/display/bridge/ti,sn65dsi83.yaml#
>>> /local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: bridge@2c: ports:port@0:endpoint:data-lanes:3: 4 was expected
>>> from schema $id: http://devicetree.org/schemas/display/bridge/ti,sn65dsi83.yaml#
>>> /local/mnt/workspace/yyj/develop_linux/git-repository/Talos_repository/upstream_linux-next/linux-sheepdog/linux-next/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtb: bridge@2c: 'ti,dsi-lanes', 'ti,lvds-bpp', 'ti,lvds-format' do not match any of the regexes: 'pinctrl-[0-9]+'
>>> from schema $id: http://devicetree.org/schemas/display/bridge/ti,sn65dsi83.yaml#
>>>
>>
>> With regard to the power-supply property for the LVDS panel: the
>> panel does not incorporate a dedicated power regulator, and therefore
>> this property cannot be defined.
>> Concerning the data-lanes configuration, the LVDS display operates
>> correctly only with <0,1,2,3> in my environment. Modifying this
>> to <1,2,3,4> as proposed, prevents the display from initializing.
>
> You'll need to fix the bindings checker errors one way or another.
>
> For the power-supply, I think it may be made optional
>
> For data-lanes, I'm not sure it's even parsed. Are you sure altering
> the value under the TI bridge endpoint (*not* mdss_dsi0) causes
> issues?
Okay, I will fix the bindings checker errors in the next patch.
Regarding data-lanes: altering the value under mdss_dsi0 is causing
the issue, not the value under the TI bridge endpoint. I will address
this properly in the next patch.
>
> Konrad
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v10 1/5] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform
2026-01-07 11:17 ` Konrad Dybcio
@ 2026-01-14 6:53 ` tessolveupstream
0 siblings, 0 replies; 33+ messages in thread
From: tessolveupstream @ 2026-01-14 6:53 UTC (permalink / raw)
To: Konrad Dybcio, Krzysztof Kozlowski, andersson, konradybcio
Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel
On 07-01-2026 16:47, Konrad Dybcio wrote:
> JFYI Sudarshan, there is a neat oneliner to do this:
>
> git rebase --onto linux-next/master $(git describe --abbrev=0)
>
> where linux-next/master is the target commit/branch to rebase onto, and the
> second argument is the pointer to the start of the chunk you want to rebase
Sure, got it. Thanks for sharing the tip!
^ permalink raw reply [flat|nested] 33+ messages in thread
end of thread, other threads:[~2026-01-14 6:53 UTC | newest]
Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-30 13:02 [PATCH v10 0/5] Add Qualcomm Technologies, Inc. Talos EVK SMARC support Sudarshan Shetty
2025-12-30 13:02 ` [PATCH v10 1/5] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform Sudarshan Shetty
2025-12-30 15:03 ` Krzysztof Kozlowski
2026-01-04 13:11 ` tessolveupstream
2026-01-05 7:12 ` Krzysztof Kozlowski
2026-01-07 6:58 ` tessolveupstream
2026-01-07 7:20 ` Krzysztof Kozlowski
2026-01-07 11:17 ` Konrad Dybcio
2026-01-14 6:53 ` tessolveupstream
2025-12-30 13:02 ` [PATCH v10 2/5] dt-bindings: backlight: gpio-backlight: allow multiple GPIOs Sudarshan Shetty
2026-01-05 15:52 ` Bjorn Andersson
2025-12-30 13:02 ` [PATCH v10 3/5] backlight: gpio: add support for multiple GPIOs for backlight control Sudarshan Shetty
2026-01-05 15:38 ` Bjorn Andersson
2026-01-07 5:57 ` tessolveupstream
2026-01-07 8:12 ` Dmitry Baryshkov
2025-12-30 13:02 ` [PATCH v10 4/5] arm64: dts: qcom: talos: Fix inconsistent USB PHY node naming Sudarshan Shetty
2025-12-30 14:42 ` Dmitry Baryshkov
2026-01-07 8:23 ` yuanjiey
2026-01-08 4:51 ` tessolveupstream
2025-12-30 13:02 ` [PATCH v10 5/5] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board Sudarshan Shetty
2025-12-30 14:45 ` Dmitry Baryshkov
2025-12-30 14:51 ` Konrad Dybcio
2026-01-04 13:46 ` tessolveupstream
2026-01-05 22:13 ` Dmitry Baryshkov
2026-01-06 7:30 ` tessolveupstream
2026-01-08 7:36 ` tessolveupstream
2026-01-08 8:36 ` Konrad Dybcio
2026-01-08 13:02 ` tessolveupstream
2026-01-08 13:06 ` Konrad Dybcio
2026-01-07 8:37 ` yuanjiey
2026-01-08 9:29 ` tessolveupstream
2026-01-08 13:14 ` Konrad Dybcio
2026-01-09 7:21 ` tessolveupstream
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox