* [PATCH v6 0/2] Add Qualcomm Technologies, Inc. Talos EVK SMARC support @ 2025-11-07 10:57 Sudarshan Shetty 2025-11-07 10:57 ` [PATCH v6 1/2] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform Sudarshan Shetty 2025-11-07 10:57 ` [PATCH v6 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board Sudarshan Shetty 0 siblings, 2 replies; 6+ messages in thread From: Sudarshan Shetty @ 2025-11-07 10:57 UTC (permalink / raw) To: andersson, konradybcio Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, Sudarshan Shetty 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 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, Sudarshan Sudarshan Shetty (2): dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board .../devicetree/bindings/arm/qcom.yaml | 1 + arch/arm64/boot/dts/qcom/Makefile | 1 + arch/arm64/boot/dts/qcom/talos-evk-cb.dtsi | 56 +++ arch/arm64/boot/dts/qcom/talos-evk-som.dtsi | 443 ++++++++++++++++++ arch/arm64/boot/dts/qcom/talos-evk.dts | 89 ++++ 5 files changed, 590 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-cb.dtsi 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] 6+ messages in thread
* [PATCH v6 1/2] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform 2025-11-07 10:57 [PATCH v6 0/2] Add Qualcomm Technologies, Inc. Talos EVK SMARC support Sudarshan Shetty @ 2025-11-07 10:57 ` Sudarshan Shetty 2025-11-07 10:57 ` [PATCH v6 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board Sudarshan Shetty 1 sibling, 0 replies; 6+ messages in thread From: Sudarshan Shetty @ 2025-11-07 10:57 UTC (permalink / raw) To: andersson, konradybcio Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, Sudarshan Shetty, Krzysztof Kozlowski Add binding support for the Qualcomm Technologies, Inc. Talos EVK SMARC platform based on the QCS615 SoC. Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 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 0a3222d6f368..a323be3d2ba2 100644 --- a/Documentation/devicetree/bindings/arm/qcom.yaml +++ b/Documentation/devicetree/bindings/arm/qcom.yaml @@ -862,6 +862,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] 6+ messages in thread
* [PATCH v6 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board 2025-11-07 10:57 [PATCH v6 0/2] Add Qualcomm Technologies, Inc. Talos EVK SMARC support Sudarshan Shetty 2025-11-07 10:57 ` [PATCH v6 1/2] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform Sudarshan Shetty @ 2025-11-07 10:57 ` Sudarshan Shetty 2025-11-13 20:08 ` Dmitry Baryshkov 1 sibling, 1 reply; 6+ messages in thread From: Sudarshan Shetty @ 2025-11-07 10:57 UTC (permalink / raw) To: andersson, konradybcio Cc: robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel, Sudarshan Shetty Introduce the device tree support for the QCS615-based talos-evk platform, which follows the SMARC (Smart Mobility ARChitecture) standard. The platform is composed of two main hardware components: the talos-evk-som and the talos-evk-cb. The Talos EVK platform supports multiple display configurations HDMI and LVDS that share a common carrier board design. Both configurations use the same base carrier board hardware, while the display output is selected through hardware configuration options (DIP switch selection). To avoid duplication, introduce a new include file, talos-evk-cb.dtsi, which defines interfaces and peripherals that are common to both display variants. The initial device tree includes basic support for: - CPU and memory - UART - GPIOs - Regulators - PMIC - Early console - AT24MAC602 EEPROM - MCP2515 SPI to CAN - ADV7535 DSI-to-HDMI bridge - DisplayPort Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> --- arch/arm64/boot/dts/qcom/Makefile | 1 + arch/arm64/boot/dts/qcom/talos-evk-cb.dtsi | 56 +++ arch/arm64/boot/dts/qcom/talos-evk-som.dtsi | 443 ++++++++++++++++++++ arch/arm64/boot/dts/qcom/talos-evk.dts | 89 ++++ 4 files changed, 589 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-cb.dtsi 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 5b52f9e4e5f3..282d744acd73 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -305,6 +305,7 @@ 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 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-cb.dtsi b/arch/arm64/boot/dts/qcom/talos-evk-cb.dtsi new file mode 100644 index 000000000000..81d15ee4f366 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/talos-evk-cb.dtsi @@ -0,0 +1,55 @@ +// 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; + }; + + dp-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>; + }; + }; + }; +}; + +&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"; +}; 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..9e6198892c11 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi @@ -0,0 +1,443 @@ +// 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 "sm6150.dtsi" +#include "pm8150.dtsi" +/ { + aliases { + mmc0 = &sdhc_1; + serial0 = &uart0; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + clocks { + 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_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; + }; +}; + +&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>; + }; + }; +}; + +&i2c5 { + 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_dp_phy { + vdda-phy-supply = <&vreg_l11a>; + vdda-pll-supply = <&vreg_l5a>; + + status = "okay"; +}; + +&mdss_dsi0 { + vdda-supply = <&vreg_l11a>; + + status = "okay"; +}; + +&mdss_dsi0_out { + remote-endpoint = <&adv7535_in>; + data-lanes = <0 1 2 3>; +}; + +&mdss_dsi0_phy { + vdds-supply = <&vreg_l5a>; + + status = "okay"; +}; + +&pcie { + perst-gpios = <&tlmm 101 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>; + clock-frequency = <20000000>; + interrupts-extended = <&tlmm 87 IRQ_TYPE_LEVEL_LOW>; + spi-max-frequency = <10000000>; + vdd-supply = <&vreg_v3p3_can>; + xceiver-supply = <&vreg_v5p0_can>; + }; +}; + +&tlmm { + pcie_default_state: pcie-default-state { + clkreq-pins { + pins = "gpio90"; + function = "pcie_clk_req"; + drive-strength = <2>; + bias-pull-up; + }; + + perst-pins { + pins = "gpio101"; + function = "gpio"; + drive-strength = <2>; + bias-pull-down; + }; + + wake-pins { + pins = "gpio100"; + function = "gpio"; + drive-strength = <2>; + bias-pull-up; + }; + }; +}; + +&uart0 { + status = "okay"; +}; + +&usb_1_hsphy { + 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_1 { + status = "okay"; +}; + +&usb_1_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_2 { + status = "okay"; +}; + +&usb_2_dwc3 { + dr_mode = "host"; +}; + +&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..b694dda422a8 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/talos-evk.dts @@ -0,0 +1,89 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ +/dts-v1/; + +#include "talos-evk-cb.dtsi" + +/ { + hdmi-out { + compatible = "hdmi-connector"; + type = "d"; + + port { + hdmi_con_out: endpoint { + remote-endpoint = <&adv7535_out>; + }; + }; + }; + + 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) */ + }; + + 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_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; + }; +}; + +&i2c1 { + clock-frequency = <400000>; + + status = "okay"; + + 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>; + }; + }; + }; + }; +}; -- 2.34.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v6 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board 2025-11-07 10:57 ` [PATCH v6 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board Sudarshan Shetty @ 2025-11-13 20:08 ` Dmitry Baryshkov 2025-11-14 4:40 ` Bjorn Andersson 2025-11-18 10:16 ` tessolveupstream 0 siblings, 2 replies; 6+ messages in thread From: Dmitry Baryshkov @ 2025-11-13 20:08 UTC (permalink / raw) To: Sudarshan Shetty Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel On Fri, Nov 07, 2025 at 04:27:35PM +0530, Sudarshan Shetty wrote: > Introduce the device tree support for the QCS615-based talos-evk You can't introduce DT _support_. It's either introducing a DT or supporting. > platform, which follows the SMARC (Smart Mobility ARChitecture) > standard. The platform is composed of two main hardware > components: the talos-evk-som and the talos-evk-cb. are those the actual names? I'd say, the platform is composed of the SoM (following some standard or not) and a Carrier Board. > The Talos EVK platform supports multiple display configurations > HDMI and LVDS that share a common carrier board design. Other way, the Carrier Board supports several (not multiple) display configurations. > Both configurations use the same base carrier board hardware, > while the display output is selected through hardware configuration > options (DIP switch selection). drop the "hardware configuration options". DIP-switch is enough. > > To avoid duplication, introduce a new include file, s/introduce/use/ > talos-evk-cb.dtsi, which defines interfaces and peripherals that are > common to both display variants. ... and two DTs, cb-hdmi and cb-lvds, describing the selected configuration. > > The initial device tree includes basic support for: Can any of them be non-basic? > - CPU and memory > - UART > - GPIOs > - Regulators > - PMIC > - Early console > - AT24MAC602 EEPROM > - MCP2515 SPI to CAN > - ADV7535 DSI-to-HDMI bridge > - DisplayPort What else is present as a part of the platform? Are we missing something? > > Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> > --- > arch/arm64/boot/dts/qcom/Makefile | 1 + > arch/arm64/boot/dts/qcom/talos-evk-cb.dtsi | 56 +++ > arch/arm64/boot/dts/qcom/talos-evk-som.dtsi | 443 ++++++++++++++++++++ > arch/arm64/boot/dts/qcom/talos-evk.dts | 89 ++++ > 4 files changed, 589 insertions(+) > create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-cb.dtsi > 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 5b52f9e4e5f3..282d744acd73 100644 > --- a/arch/arm64/boot/dts/qcom/Makefile > +++ b/arch/arm64/boot/dts/qcom/Makefile > @@ -305,6 +305,7 @@ 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 > 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-cb.dtsi b/arch/arm64/boot/dts/qcom/talos-evk-cb.dtsi > new file mode 100644 > index 000000000000..81d15ee4f366 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/talos-evk-cb.dtsi > @@ -0,0 +1,55 @@ > +// 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; > + }; > + > + dp-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>; > + }; > + }; > + }; > +}; > + > +&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"; > +}; > 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..9e6198892c11 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi > @@ -0,0 +1,443 @@ > +// 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 "sm6150.dtsi" > +#include "pm8150.dtsi" > +/ { > + aliases { > + mmc0 = &sdhc_1; > + serial0 = &uart0; > + }; > + > + chosen { > + stdout-path = "serial0:115200n8"; > + }; > + > + clocks { > + 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_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; > + }; > +}; > + > +&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>; > + }; > + }; > +}; > + > +&i2c5 { > + status = "okay"; No clock-frequency? Why not add one, disabling the warning? > + > + 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_dp_phy { > + vdda-phy-supply = <&vreg_l11a>; > + vdda-pll-supply = <&vreg_l5a>; > + > + status = "okay"; > +}; > + > +&mdss_dsi0 { > + vdda-supply = <&vreg_l11a>; > + > + status = "okay"; > +}; > + > +&mdss_dsi0_out { > + remote-endpoint = <&adv7535_in>; If ADV7535 isn't a part of the SoM, why is this property here? > + data-lanes = <0 1 2 3>; > +}; > + > +&mdss_dsi0_phy { > + vdds-supply = <&vreg_l5a>; > + > + status = "okay"; > +}; > + > +&pcie { > + perst-gpios = <&tlmm 101 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"; > +}; Is there a need to also enable GPI_DMA? > + > +&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>; > + clock-frequency = <20000000>; > + interrupts-extended = <&tlmm 87 IRQ_TYPE_LEVEL_LOW>; > + spi-max-frequency = <10000000>; > + vdd-supply = <&vreg_v3p3_can>; > + xceiver-supply = <&vreg_v5p0_can>; > + }; > +}; > + > +&tlmm { > + pcie_default_state: pcie-default-state { > + clkreq-pins { > + pins = "gpio90"; > + function = "pcie_clk_req"; > + drive-strength = <2>; > + bias-pull-up; > + }; > + > + perst-pins { > + pins = "gpio101"; > + function = "gpio"; > + drive-strength = <2>; > + bias-pull-down; > + }; > + > + wake-pins { > + pins = "gpio100"; > + function = "gpio"; > + drive-strength = <2>; > + bias-pull-up; > + }; > + }; > +}; > + > +&uart0 { > + status = "okay"; > +}; > + > +&usb_1_hsphy { > + 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_1 { > + status = "okay"; > +}; > + > +&usb_1_dwc3 { > + dr_mode = "host"; > +}; > + > +&usb_hsphy_2 { So, the labels are usb_1_hsphy, but usb_hsphy_2? That's not logical, please fix one of them. Then please fix the order of nodes here. > + 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"; > +}; > + > +&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..b694dda422a8 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/talos-evk.dts > @@ -0,0 +1,89 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. > + */ > +/dts-v1/; > + > +#include "talos-evk-cb.dtsi" > + > +/ { > + hdmi-out { > + compatible = "hdmi-connector"; > + type = "d"; > + > + port { > + hdmi_con_out: endpoint { > + remote-endpoint = <&adv7535_out>; > + }; > + }; > + }; > + > + 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) */ > + }; > + > + 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_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; > + }; > +}; > + > +&i2c1 { > + clock-frequency = <400000>; > + > + status = "okay"; > + > + 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>; > + }; > + }; > + }; > + }; > +}; > -- > 2.34.1 > -- With best wishes Dmitry ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v6 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board 2025-11-13 20:08 ` Dmitry Baryshkov @ 2025-11-14 4:40 ` Bjorn Andersson 2025-11-18 10:16 ` tessolveupstream 1 sibling, 0 replies; 6+ messages in thread From: Bjorn Andersson @ 2025-11-14 4:40 UTC (permalink / raw) To: Dmitry Baryshkov Cc: Sudarshan Shetty, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel On Thu, Nov 13, 2025 at 10:08:20PM +0200, Dmitry Baryshkov wrote: > On Fri, Nov 07, 2025 at 04:27:35PM +0530, Sudarshan Shetty wrote: > > Introduce the device tree support for the QCS615-based talos-evk > > You can't introduce DT _support_. It's either introducing a DT or > supporting. > > > platform, which follows the SMARC (Smart Mobility ARChitecture) > > standard. The platform is composed of two main hardware > > components: the talos-evk-som and the talos-evk-cb. > > are those the actual names? I'd say, the platform is composed of the SoM > (following some standard or not) and a Carrier Board. > That's likely accurate, but in the patch the "carrier board" includes the talos-evk-som.dtsi. So, while what you say probably is correct, "talos-evk-cb.dtsi" describes what I believe is actually the EVK. Regards, Bjorn ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v6 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board 2025-11-13 20:08 ` Dmitry Baryshkov 2025-11-14 4:40 ` Bjorn Andersson @ 2025-11-18 10:16 ` tessolveupstream 1 sibling, 0 replies; 6+ messages in thread From: tessolveupstream @ 2025-11-18 10:16 UTC (permalink / raw) To: Dmitry Baryshkov Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree, linux-kernel On 14-11-2025 01:38, Dmitry Baryshkov wrote: > On Fri, Nov 07, 2025 at 04:27:35PM +0530, Sudarshan Shetty wrote: >> Introduce the device tree support for the QCS615-based talos-evk > > You can't introduce DT _support_. It's either introducing a DT or > supporting. Understood, will take care in v7 patch. > >> platform, which follows the SMARC (Smart Mobility ARChitecture) >> standard. The platform is composed of two main hardware >> components: the talos-evk-som and the talos-evk-cb. > > are those the actual names? I'd say, the platform is composed of the SoM > (following some standard or not) and a Carrier Board. Okay, will update. > >> The Talos EVK platform supports multiple display configurations >> HDMI and LVDS that share a common carrier board design. > > Other way, the Carrier Board supports several (not multiple) display > configurations. Okay, will update in v7 patch. > >> Both configurations use the same base carrier board hardware, >> while the display output is selected through hardware configuration >> options (DIP switch selection). > > drop the "hardware configuration options". DIP-switch is enough. Okay. > >> >> To avoid duplication, introduce a new include file, > > s/introduce/use/ Okay. > >> talos-evk-cb.dtsi, which defines interfaces and peripherals that are >> common to both display variants. > > ... and two DTs, cb-hdmi and cb-lvds, describing the selected > configuration. Okay, will take care in v7 patch. > >> >> The initial device tree includes basic support for: > > Can any of them be non-basic? No. > >> - CPU and memory >> - UART >> - GPIOs >> - Regulators >> - PMIC >> - Early console >> - AT24MAC602 EEPROM >> - MCP2515 SPI to CAN >> - ADV7535 DSI-to-HDMI bridge >> - DisplayPort > > What else is present as a part of the platform? Are we missing > something? Ethernet, Wi-Fi/BT is still in development phase. Will update in upcoming patches. > >> >> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> >> --- >> arch/arm64/boot/dts/qcom/Makefile | 1 + >> arch/arm64/boot/dts/qcom/talos-evk-cb.dtsi | 56 +++ >> arch/arm64/boot/dts/qcom/talos-evk-som.dtsi | 443 ++++++++++++++++++++ >> arch/arm64/boot/dts/qcom/talos-evk.dts | 89 ++++ >> 4 files changed, 589 insertions(+) >> create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-cb.dtsi >> 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 5b52f9e4e5f3..282d744acd73 100644 >> --- a/arch/arm64/boot/dts/qcom/Makefile >> +++ b/arch/arm64/boot/dts/qcom/Makefile >> @@ -305,6 +305,7 @@ 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 >> 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-cb.dtsi b/arch/arm64/boot/dts/qcom/talos-evk-cb.dtsi >> new file mode 100644 >> index 000000000000..81d15ee4f366 >> --- /dev/null >> +++ b/arch/arm64/boot/dts/qcom/talos-evk-cb.dtsi >> @@ -0,0 +1,55 @@ >> +// 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; >> + }; >> + >> + dp-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>; >> + }; >> + }; >> + }; >> +}; >> + >> +&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"; >> +}; >> 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..9e6198892c11 >> --- /dev/null >> +++ b/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi >> @@ -0,0 +1,443 @@ >> +// 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 "sm6150.dtsi" >> +#include "pm8150.dtsi" >> +/ { >> + aliases { >> + mmc0 = &sdhc_1; >> + serial0 = &uart0; >> + }; >> + >> + chosen { >> + stdout-path = "serial0:115200n8"; >> + }; >> + >> + clocks { >> + 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_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; >> + }; >> +}; >> + >> +&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>; >> + }; >> + }; >> +}; >> + >> +&i2c5 { >> + status = "okay"; > > No clock-frequency? Why not add one, disabling the warning? Understood, We will update in v7 patch. > >> + >> + 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_dp_phy { >> + vdda-phy-supply = <&vreg_l11a>; >> + vdda-pll-supply = <&vreg_l5a>; >> + >> + status = "okay"; >> +}; >> + >> +&mdss_dsi0 { >> + vdda-supply = <&vreg_l11a>; >> + >> + status = "okay"; >> +}; >> + >> +&mdss_dsi0_out { >> + remote-endpoint = <&adv7535_in>; > > If ADV7535 isn't a part of the SoM, why is this property here? Okay, will move to talos-evk.dts file. > >> + data-lanes = <0 1 2 3>; >> +}; >> + >> +&mdss_dsi0_phy { >> + vdds-supply = <&vreg_l5a>; >> + >> + status = "okay"; >> +}; >> + >> +&pcie { >> + perst-gpios = <&tlmm 101 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"; >> +}; > > Is there a need to also enable GPI_DMA? Yes, will enable gpi_dma0 & gpi_dma1 in v7 patch. > >> + >> +&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>; >> + clock-frequency = <20000000>; >> + interrupts-extended = <&tlmm 87 IRQ_TYPE_LEVEL_LOW>; >> + spi-max-frequency = <10000000>; >> + vdd-supply = <&vreg_v3p3_can>; >> + xceiver-supply = <&vreg_v5p0_can>; >> + }; >> +}; >> + >> +&tlmm { >> + pcie_default_state: pcie-default-state { >> + clkreq-pins { >> + pins = "gpio90"; >> + function = "pcie_clk_req"; >> + drive-strength = <2>; >> + bias-pull-up; >> + }; >> + >> + perst-pins { >> + pins = "gpio101"; >> + function = "gpio"; >> + drive-strength = <2>; >> + bias-pull-down; >> + }; >> + >> + wake-pins { >> + pins = "gpio100"; >> + function = "gpio"; >> + drive-strength = <2>; >> + bias-pull-up; >> + }; >> + }; >> +}; >> + >> +&uart0 { >> + status = "okay"; >> +}; >> + >> +&usb_1_hsphy { >> + 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_1 { >> + status = "okay"; >> +}; >> + >> +&usb_1_dwc3 { >> + dr_mode = "host"; >> +}; >> + >> +&usb_hsphy_2 { > > So, the labels are usb_1_hsphy, but usb_hsphy_2? That's not logical, > please fix one of them. Then please fix the order of nodes here. The node names come directly from the included talos.dtsi, where they are defined as usb_1_hsphy & usb_hsphy_2. To avoid breaking inherited definitions, we kept the same labels in our board DTS. However, I will reorder the nodes so they appear in a logical and consistent sequence. > >> + 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"; >> +}; >> + >> +&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..b694dda422a8 >> --- /dev/null >> +++ b/arch/arm64/boot/dts/qcom/talos-evk.dts >> @@ -0,0 +1,89 @@ >> +// SPDX-License-Identifier: BSD-3-Clause >> +/* >> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. >> + */ >> +/dts-v1/; >> + >> +#include "talos-evk-cb.dtsi" >> + >> +/ { >> + hdmi-out { >> + compatible = "hdmi-connector"; >> + type = "d"; >> + >> + port { >> + hdmi_con_out: endpoint { >> + remote-endpoint = <&adv7535_out>; >> + }; >> + }; >> + }; >> + >> + 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) */ >> + }; >> + >> + 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_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; >> + }; >> +}; >> + >> +&i2c1 { >> + clock-frequency = <400000>; >> + >> + status = "okay"; >> + >> + 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>; >> + }; >> + }; >> + }; >> + }; >> +}; >> -- >> 2.34.1 >> > ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-11-18 10:16 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-11-07 10:57 [PATCH v6 0/2] Add Qualcomm Technologies, Inc. Talos EVK SMARC support Sudarshan Shetty 2025-11-07 10:57 ` [PATCH v6 1/2] dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform Sudarshan Shetty 2025-11-07 10:57 ` [PATCH v6 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board Sudarshan Shetty 2025-11-13 20:08 ` Dmitry Baryshkov 2025-11-14 4:40 ` Bjorn Andersson 2025-11-18 10:16 ` tessolveupstream
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).