Add Qualcomm Technologies, Inc. Talos EVK SMARC support
v6 cover Add Qualcomm Technologies, Inc. Talos EVK SMARC support
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
Signature · 1 line
2.34.1
PATCH v6 1/2 dt-bindings: arm: qcom: talos-evk: Add QCS615 Talos EVK SMARC platform
Add binding support for the Qualcomm Technologies, Inc. Talos EVK SMARC platform based on the QCS615 SoC.
--- Documentation/devicetree/bindings/arm/qcom.yaml | 1 + 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/arm/qcom.yaml +1 -0
@@ -862,6 +862,7 @@ properties: - items: - enum: - qcom,qcs615-ride + - qcom,talos-evk - const: qcom,qcs615 - const: qcom,sm6150
Signature · 1 line
2.34.1
PATCH v6 2/2 arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
In reply to Sudarshan ShettyIntroduce 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
--- 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
arch/arm64/boot/dts/qcom/Makefile +1 -0
@@ -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
arch/arm64/boot/dts/qcom/talos-evk-cb.dtsi new file +55 -0
55 lines not on this page · raw message
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +443 -0
443 lines not on this page · raw message
arch/arm64/boot/dts/qcom/talos-evk.dts new file +89 -0
89 lines not on this page · raw message
Signature · 1 line
2.34.1
Re: [PATCH v6 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
Quoted 1 line · Sudarshan Shetty
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.
Quoted 3 lines
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.
Quoted 2 lines
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.
Quoted 3 lines
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.
Quoted 2 lines
To avoid duplication, introduce a new include file,
s/introduce/use/
Quoted 2 lines
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.
Quoted 2 lines
The initial device tree includes basic support for:
Can any of them be non-basic?
Quoted 10 lines
- 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?
Quoted 305 lines
Signed-off-by Sudarshan Shetty <[email protected]>--- 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.dtsarch/arm64/boot/dts/qcom/Makefile +1
-0@@ -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.dtboarch/arm64/boot/dts/qcom/talos-evk-cb.dtsi new file +55
-0@@ -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"; +};arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +214
-0@@ -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 {
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi line 224
Quoted 10 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +10
-0+ 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?
Quoted 32 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +32
-0+ + 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";
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi line 266
Quoted 10 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +10
-0+}; + +&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?
Quoted 28 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +28
-0+ 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 {
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi line 304
Quoted 10 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +10
-0+ pins = "gpio10"; + function = "normal"; + output-enable; + power-source = <0>; + }; +}; + +&qupv3_id_0 { + status = "okay"; +};
Is there a need to also enable GPI_DMA?
Quoted 97 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +94
-0+ +&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"; +};
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi line 408
Quoted 10 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +10
-0+ +&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.
Quoted 133 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +35
-0+ 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"; +};arch/arm64/boot/dts/qcom/talos-evk.dts new file +89
-0@@ -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>; + }; + }; + }; + }; +};Signature · 1 line
2.34.1
Signature · 2 lines
With best wishes Dmitry
Bjorn Andersson
maintainerRe: [PATCH v6 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
Quoted 6 lines · Dmitry Baryshkov
Quoted 1 line · Sudarshan Shetty
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.
Quoted 7 lines
Quoted 3 lines
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
Re: [PATCH v6 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
In reply to Dmitry BaryshkovQuoted 5 lines · Dmitry Baryshkov
Quoted 1 line · Sudarshan Shetty
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.
Quoted 7 lines
Quoted 4 lines
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.
Quoted 6 lines
Quoted 3 lines
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.
Quoted 6 lines
Quoted 4 lines
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.
Quoted 5 lines
Quoted 3 lines
To avoid duplication, introduce a new include file,
s/introduce/use/
Okay.
Quoted 6 lines
Quoted 3 lines
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.
Quoted 5 lines
Quoted 3 lines
The initial device tree includes basic support for:
Can any of them be non-basic?
No.
Quoted 12 lines
Quoted 11 lines
- CPU and memory
- UART
- GPIOs
- Regulators
- PMIC
- Early console
- AT24MAC602 EEPROM
- MCP2515 SPI to CAN
- ADV7535 DSI-to-HDMI bridge
- DisplayPort
Quoted 2 lines
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.
Quoted 310 lines
Quoted 310 lines
Signed-off-by Sudarshan Shetty <[email protected]>--- 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.dtsarch/arm64/boot/dts/qcom/Makefile +1
-0@@ -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.dtboarch/arm64/boot/dts/qcom/talos-evk-cb.dtsi new file +55
-0@@ -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"; +};arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +218
-0@@ -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>;
Quoted 8 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi line 224
Quoted 6 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +6
-0+ }; + }; +}; + +&i2c5 { + status = "okay";No clock-frequency? Why not add one, disabling the warning?
Understood, We will update in v7 patch.
Quoted 37 lines
Quoted 37 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +36
-0+ + 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>;
Quoted 8 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi line 266
Quoted 6 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +6
-0+ + 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.
Quoted 33 lines
Quoted 33 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +32
-0+ 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>;
Quoted 8 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi line 304
Quoted 6 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +6
-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.
Quoted 103 lines
Quoted 103 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +99
-0+ +&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"; +}; +
Quoted 8 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi line 408
Quoted 5 lines
+&usb_1_dwc3 {
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +4
-0+ dr_mode = "host"; +}; + +&usb_hsphy_2 {So, the labels are
usb_1_hsphy, butusb_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.
Quoted 135 lines
Quoted 134 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +35
-0+ 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"; +};arch/arm64/boot/dts/qcom/talos-evk.dts new file +89
-0@@ -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>; + }; + }; + }; + }; +};Signature · 1 line
2.34.1
Re: [PATCH v6 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
Quoted 39 lines · On Tue, 18 Nov 2025 at 12:16, <[email protected]> wrote:
Quoted 26 lines · Dmitry Baryshkov
Quoted 24 lines · Sudarshan Shetty
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +24
-0+ +&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"; +}; +Quoted 8 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi line 408
Quoted 5 lines
+&usb_1_dwc3 {
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +4
-0+ dr_mode = "host"; +}; + +&usb_hsphy_2 {So, the labels are
usb_1_hsphy, butusb_hsphy_2? That's not logical, please fix one of them. Then please fix the order of nodes here.
Quoted 4 lines
The node names come directly from the included
talos.dtsi, where they are defined asusb_1_hsphy&usb_hsphy_2.
To avoid breaking inherited definitions, we kept the same labels in our board DTS.
Please fix them in the base DT.
Quoted 2 lines
However, I will reorder the nodes so they appear in a logical and consistent sequence.
This is a prerequisite, no questions.
Signature · 2 lines
With best wishes Dmitry
Re: [PATCH v6 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
Quoted 40 lines · Dmitry Baryshkov
Quoted 39 lines · On Tue, 18 Nov 2025 at 12:16, <[email protected]> wrote:
Quoted 34 lines · Dmitry Baryshkov
Quoted 19 lines · Sudarshan Shetty
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +19
-0+ +&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"; +};arch/arm64/boot/dts/qcom/talos-evk-som.dtsi line 408
Quoted 10 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +10
-0+ +&usb_1 { + status = "okay"; +}; + +&usb_1_dwc3 { + dr_mode = "host"; +}; + +&usb_hsphy_2 {So, the labels are
usb_1_hsphy, butusb_hsphy_2? That's not logical, please fix one of them. Then please fix the order of nodes here.
Quoted 7 lines
Quoted 4 lines
The node names come directly from the included
talos.dtsi, where they are defined asusb_1_hsphy&usb_hsphy_2.
To avoid breaking inherited definitions, we kept the same labels in our board DTS.Please fix them in the base DT.
The inconsistent naming originates from talos.dtsi, which is
outside the scope of this patch series. Modifying these labels
in our board DTS would break the inherited node references
from talos.dtsi. >> However, I will reorder the nodes so they appear in a logical and
Quoted 4 lines
Quoted 1 line
consistent sequence.
This is a prerequisite, no questions.
Re: [PATCH v6 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
Quoted 48 lines · Anusha Ajithkumar
Quoted 45 lines · Dmitry Baryshkov
Quoted 43 lines · On Tue, 18 Nov 2025 at 12:16, <[email protected]> wrote:
Quoted 26 lines · Dmitry Baryshkov
Quoted 24 lines · Sudarshan Shetty
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +24
-0+ +&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"; +}; +Quoted 8 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi line 408
Quoted 5 lines
+&usb_1_dwc3 {
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +4
-0+ dr_mode = "host"; +}; + +&usb_hsphy_2 {So, the labels are
usb_1_hsphy, butusb_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 asusb_1_hsphy&usb_hsphy_2.
To avoid breaking inherited definitions, we kept the same labels in our board DTS.
Quoted 7 lines
Quoted 2 lines
Please fix them in the base DT.
The inconsistent naming originates from
talos.dtsi, which is
outside the scope of this patch series. Modifying these labels
in our board DTS would break the inherited node references
fromtalos.dtsi. >> However, I will reorder the nodes so they appear in a logical and
Please fix the base DT. There is no such thing as "out of scope".
Quoted 5 lines
Quoted 4 lines
Quoted 1 line
consistent sequence.
This is a prerequisite, no questions.
Signature · 2 lines
With best wishes Dmitry
Re: [PATCH v6 2/2] arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk board
Quoted 52 lines · Dmitry Baryshkov
Quoted 51 lines · Anusha Ajithkumar
Quoted 47 lines · Dmitry Baryshkov
Quoted 39 lines · On Tue, 18 Nov 2025 at 12:16, <[email protected]> wrote:
Quoted 26 lines · Dmitry Baryshkov
Quoted 24 lines · Sudarshan Shetty
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +24
-0+ +&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"; +}; +Quoted 8 lines
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi line 408
Quoted 5 lines
+&usb_1_dwc3 {
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi new file +4
-0+ dr_mode = "host"; +}; + +&usb_hsphy_2 {So, the labels are
usb_1_hsphy, butusb_hsphy_2? That's not logical, please fix one of them. Then please fix the order of nodes here.Quoted 4 lines
The node names come directly from the included
talos.dtsi, where they are defined asusb_1_hsphy&usb_hsphy_2.
To avoid breaking inherited definitions, we kept the same labels in our board DTS.Please fix them in the base DT.
Quoted 7 lines
Quoted 4 lines
The inconsistent naming originates from
talos.dtsi, which is
outside the scope of this patch series. Modifying these labels
in our board DTS would break the inherited node references
fromtalos.dtsi. >> However, I will reorder the nodes so they appear in a logical andPlease fix the base DT. There is no such thing as "out of scope".
Okay, will take care in the next patch.
Quoted 6 lines
Quoted 5 lines
Quoted 4 lines
Quoted 1 line
consistent sequence.
This is a prerequisite, no questions.