From: Wasim Nazir <wasim.nazir@oss.qualcomm.com>
To: Ulf Hansson <ulf.hansson@linaro.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konradybcio@kernel.org>,
Richard Cochran <richardcochran@gmail.com>
Cc: kernel@oss.qualcomm.com, linux-mmc@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-msm@vger.kernel.org, netdev@vger.kernel.org,
Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>,
Sushrut Shree Trivedi <quic_sushruts@quicinc.com>,
Nirmesh Kumar Singh <quic_nkumarsi@quicinc.com>,
Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>,
Mohd Ayaan Anwar <quic_mohdayaa@quicinc.com>,
Dikshita Agarwal <quic_dikshita@quicinc.com>,
Monish Chunara <quic_mchunara@quicinc.com>,
Vishal Kumar Pal <quic_vispal@quicinc.com>,
Wasim Nazir <wasim.nazir@oss.qualcomm.com>
Subject: [PATCH 3/5] arm64: dts: qcom: lemans-evk: Extend peripheral and subsystem support
Date: Tue, 26 Aug 2025 23:51:02 +0530 [thread overview]
Message-ID: <20250826-lemans-evk-bu-v1-3-08016e0d3ce5@oss.qualcomm.com> (raw)
In-Reply-To: <20250826-lemans-evk-bu-v1-0-08016e0d3ce5@oss.qualcomm.com>
Enhance the Qualcomm Lemans EVK board file to support essential
peripherals and improve overall hardware capabilities, as
outlined below:
- Enable GPI (Generic Peripheral Interface) DMA-0/1/2 and QUPv3-0/2
controllers to facilitate DMA and peripheral communication.
- Add support for PCIe-0/1, including required regulators and PHYs,
to enable high-speed external device connectivity.
- Integrate the TCA9534 I/O expander via I2C to provide 8 additional
GPIO lines for extended I/O functionality.
- Enable the USB0 controller in device mode to support USB peripheral
operations.
- Activate remoteproc subsystems for supported DSPs such as Audio DSP,
Compute DSP-0/1 and Generic DSP-0/1, along with their corresponding
firmware.
- Configure nvmem-layout on the I2C EEPROM to store data for Ethernet
and other consumers.
- Enable the QCA8081 2.5G Ethernet PHY on port-0 and expose the
Ethernet MAC address via nvmem for network configuration.
It depends on CONFIG_QCA808X_PHY to use QCA8081 PHY.
- Add support for the Iris video decoder, including the required
firmware, to enable video decoding capabilities.
- Enable SD-card slot on SDHC.
Co-developed-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
Co-developed-by: Sushrut Shree Trivedi <quic_sushruts@quicinc.com>
Signed-off-by: Sushrut Shree Trivedi <quic_sushruts@quicinc.com>
Co-developed-by: Nirmesh Kumar Singh <quic_nkumarsi@quicinc.com>
Signed-off-by: Nirmesh Kumar Singh <quic_nkumarsi@quicinc.com>
Co-developed-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>
Signed-off-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>
Co-developed-by: Mohd Ayaan Anwar <quic_mohdayaa@quicinc.com>
Signed-off-by: Mohd Ayaan Anwar <quic_mohdayaa@quicinc.com>
Co-developed-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
Co-developed-by: Monish Chunara <quic_mchunara@quicinc.com>
Signed-off-by: Monish Chunara <quic_mchunara@quicinc.com>
Co-developed-by: Vishal Kumar Pal <quic_vispal@quicinc.com>
Signed-off-by: Vishal Kumar Pal <quic_vispal@quicinc.com>
Signed-off-by: Wasim Nazir <wasim.nazir@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/lemans-evk.dts | 387 ++++++++++++++++++++++++++++++++
1 file changed, 387 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/lemans-evk.dts b/arch/arm64/boot/dts/qcom/lemans-evk.dts
index 9e415012140b..642b66c4ad1e 100644
--- a/arch/arm64/boot/dts/qcom/lemans-evk.dts
+++ b/arch/arm64/boot/dts/qcom/lemans-evk.dts
@@ -16,7 +16,10 @@ / {
compatible = "qcom,lemans-evk", "qcom,qcs9100", "qcom,sa8775p";
aliases {
+ ethernet0 = ðernet0;
+ mmc1 = &sdhc;
serial0 = &uart10;
+ serial1 = &uart17;
};
chosen {
@@ -46,6 +49,30 @@ edp1_connector_in: endpoint {
};
};
};
+
+ vmmc_sdc: regulator-vmmc-sdc {
+ compatible = "regulator-fixed";
+ regulator-name = "vmmc_sdc";
+
+ regulator-min-microvolt = <2950000>;
+ regulator-max-microvolt = <2950000>;
+ };
+
+ vreg_sdc: regulator-vreg-sdc {
+ compatible = "regulator-gpio";
+
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <2950000>;
+ regulator-name = "vreg_sdc";
+ regulator-type = "voltage";
+
+ startup-delay-us = <100>;
+
+ gpios = <&expander1 7 GPIO_ACTIVE_HIGH>;
+
+ states = <1800000 0x1
+ 2950000 0x0>;
+ };
};
&apps_rsc {
@@ -277,6 +304,161 @@ vreg_l8e: ldo8 {
};
};
+ðernet0 {
+ phy-handle = <&hsgmii_phy0>;
+ phy-mode = "2500base-x";
+
+ pinctrl-0 = <ðernet0_default>;
+ pinctrl-names = "default";
+
+ snps,mtl-rx-config = <&mtl_rx_setup>;
+ snps,mtl-tx-config = <&mtl_tx_setup>;
+ snps,ps-speed = <1000>;
+
+ nvmem-cells = <&mac_addr0>;
+ nvmem-cell-names = "mac-address";
+
+ status = "okay";
+
+ mdio {
+ compatible = "snps,dwmac-mdio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ hsgmii_phy0: ethernet-phy@1c {
+ compatible = "ethernet-phy-id004d.d101";
+ reg = <0x1c>;
+ reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>;
+ reset-assert-us = <11000>;
+ reset-deassert-us = <70000>;
+ };
+ };
+
+ mtl_rx_setup: rx-queues-config {
+ snps,rx-queues-to-use = <4>;
+ snps,rx-sched-sp;
+
+ queue0 {
+ snps,dcb-algorithm;
+ snps,map-to-dma-channel = <0x0>;
+ snps,route-up;
+ snps,priority = <0x1>;
+ };
+
+ queue1 {
+ snps,dcb-algorithm;
+ snps,map-to-dma-channel = <0x1>;
+ snps,route-ptp;
+ };
+
+ queue2 {
+ snps,avb-algorithm;
+ snps,map-to-dma-channel = <0x2>;
+ snps,route-avcp;
+ };
+
+ queue3 {
+ snps,avb-algorithm;
+ snps,map-to-dma-channel = <0x3>;
+ snps,priority = <0xc>;
+ };
+ };
+
+ mtl_tx_setup: tx-queues-config {
+ snps,tx-queues-to-use = <4>;
+
+ queue0 {
+ snps,dcb-algorithm;
+ };
+
+ queue1 {
+ snps,dcb-algorithm;
+ };
+
+ queue2 {
+ snps,avb-algorithm;
+ snps,send_slope = <0x1000>;
+ snps,idle_slope = <0x1000>;
+ snps,high_credit = <0x3e800>;
+ snps,low_credit = <0xffc18000>;
+ };
+
+ queue3 {
+ snps,avb-algorithm;
+ snps,send_slope = <0x1000>;
+ snps,idle_slope = <0x1000>;
+ snps,high_credit = <0x3e800>;
+ snps,low_credit = <0xffc18000>;
+ };
+ };
+};
+
+&gpi_dma0 {
+ status = "okay";
+};
+
+&gpi_dma1 {
+ status = "okay";
+};
+
+&gpi_dma2 {
+ status = "okay";
+};
+
+&i2c18 {
+ status = "okay";
+
+ expander0: pca953x@38 {
+ compatible = "ti,tca9538";
+ #gpio-cells = <2>;
+ gpio-controller;
+ reg = <0x38>;
+ };
+
+ expander1: pca953x@39 {
+ compatible = "ti,tca9538";
+ #gpio-cells = <2>;
+ gpio-controller;
+ reg = <0x39>;
+ };
+
+ expander2: pca953x@3a {
+ compatible = "ti,tca9538";
+ #gpio-cells = <2>;
+ gpio-controller;
+ reg = <0x3a>;
+ };
+
+ expander3: pca953x@3b {
+ compatible = "ti,tca9538";
+ #gpio-cells = <2>;
+ gpio-controller;
+ reg = <0x3b>;
+ };
+
+ eeprom@50 {
+ compatible = "atmel,24c256";
+ reg = <0x50>;
+ pagesize = <64>;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ mac_addr0: mac-addr@0 {
+ reg = <0x0 0x6>;
+ };
+ };
+ };
+};
+
+&iris {
+ firmware-name = "qcom/vpu/vpu30_p4_s6.mbn";
+
+ status = "okay";
+};
+
&mdss0 {
status = "okay";
};
@@ -323,14 +505,196 @@ &mdss0_dp1_phy {
status = "okay";
};
+&pcie0 {
+ perst-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
+ wake-gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pcie0_default_state>;
+
+ status = "okay";
+};
+
+&pcie0_phy {
+ vdda-phy-supply = <&vreg_l5a>;
+ vdda-pll-supply = <&vreg_l1c>;
+
+ status = "okay";
+};
+
+&pcie1 {
+ perst-gpios = <&tlmm 4 GPIO_ACTIVE_LOW>;
+ wake-gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pcie1_default_state>;
+
+ status = "okay";
+};
+
+&pcie1_phy {
+ vdda-phy-supply = <&vreg_l5a>;
+ vdda-pll-supply = <&vreg_l1c>;
+
+ status = "okay";
+};
+
+&qupv3_id_0 {
+ status = "okay";
+};
+
&qupv3_id_1 {
status = "okay";
};
+&qupv3_id_2 {
+ status = "okay";
+};
+
+&remoteproc_adsp {
+ firmware-name = "qcom/sa8775p/adsp.mbn";
+
+ status = "okay";
+};
+
+&remoteproc_cdsp0 {
+ firmware-name = "qcom/sa8775p/cdsp0.mbn";
+
+ status = "okay";
+};
+
+&remoteproc_cdsp1 {
+ firmware-name = "qcom/sa8775p/cdsp1.mbn";
+
+ status = "okay";
+};
+
+&remoteproc_gpdsp0 {
+ firmware-name = "qcom/sa8775p/gpdsp0.mbn";
+
+ status = "okay";
+};
+
+&remoteproc_gpdsp1 {
+ firmware-name = "qcom/sa8775p/gpdsp1.mbn";
+
+ status = "okay";
+};
+
+&sdhc {
+ vmmc-supply = <&vmmc_sdc>;
+ vqmmc-supply = <&vreg_sdc>;
+
+ pinctrl-0 = <&sdc_default>, <&sd_cd>;
+ pinctrl-1 = <&sdc_sleep>, <&sd_cd>;
+ pinctrl-names = "default", "sleep";
+
+ power-domains = <&rpmhpd SA8775P_CX>;
+ operating-points-v2 = <&sdhc_opp_table>;
+
+ cd-gpios = <&tlmm 36 GPIO_ACTIVE_LOW>;
+
+ status = "okay";
+
+ sdhc_opp_table: opp-table {
+ compatible = "operating-points-v2";
+
+ opp-100000000 {
+ opp-hz = /bits/ 64 <100000000>;
+ required-opps = <&rpmhpd_opp_low_svs>;
+ opp-peak-kBps = <1800000 400000>;
+ opp-avg-kBps = <100000 0>;
+ };
+
+ opp-384000000 {
+ opp-hz = /bits/ 64 <384000000>;
+ required-opps = <&rpmhpd_opp_nom>;
+ opp-peak-kBps = <5400000 1600000>;
+ opp-avg-kBps = <390000 0>;
+ };
+ };
+};
+
+&serdes0 {
+ phy-supply = <&vreg_l5a>;
+
+ status = "okay";
+};
+
&sleep_clk {
clock-frequency = <32768>;
};
+&tlmm {
+ ethernet0_default: ethernet0-default-state {
+ ethernet0_mdc: ethernet0-mdc-pins {
+ pins = "gpio8";
+ function = "emac0_mdc";
+ drive-strength = <16>;
+ bias-pull-up;
+ };
+
+ ethernet0_mdio: ethernet0-mdio-pins {
+ pins = "gpio9";
+ function = "emac0_mdio";
+ drive-strength = <16>;
+ bias-pull-up;
+ };
+ };
+
+ pcie0_default_state: pcie0-default-state {
+ clkreq-pins {
+ pins = "gpio1";
+ function = "pcie0_clkreq";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ perst-pins {
+ pins = "gpio2";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+
+ wake-pins {
+ pins = "gpio0";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ pcie1_default_state: pcie1-default-state {
+ clkreq-pins {
+ pins = "gpio3";
+ function = "pcie1_clkreq";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ perst-pins {
+ pins = "gpio4";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+
+ wake-pins {
+ pins = "gpio5";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ sd_cd: sd-cd-state {
+ pins = "gpio36";
+ function = "gpio";
+ bias-pull-up;
+ };
+};
+
&uart10 {
compatible = "qcom,geni-debug-uart";
pinctrl-0 = <&qup_uart10_default>;
@@ -356,6 +720,29 @@ &ufs_mem_phy {
status = "okay";
};
+&usb_0 {
+ status = "okay";
+};
+
+&usb_0_dwc3 {
+ dr_mode = "peripheral";
+};
+
+&usb_0_hsphy {
+ vdda-pll-supply = <&vreg_l7a>;
+ vdda18-supply = <&vreg_l6c>;
+ vdda33-supply = <&vreg_l9a>;
+
+ status = "okay";
+};
+
+&usb_0_qmpphy {
+ vdda-phy-supply = <&vreg_l1c>;
+ vdda-pll-supply = <&vreg_l7a>;
+
+ status = "okay";
+};
+
&xo_board_clk {
clock-frequency = <38400000>;
};
--
2.51.0
next prev parent reply other threads:[~2025-08-26 18:21 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-26 18:20 [PATCH 0/5] arm64: dts: qcom: lemans-evk: Extend board support for additional peripherals Wasim Nazir
2025-08-26 18:21 ` [PATCH 1/5] dt-bindings: mmc: sdhci-msm: Document the Lemans compatible Wasim Nazir
2025-08-27 1:19 ` Dmitry Baryshkov
2025-08-28 14:54 ` Monish Chunara
2025-08-26 18:21 ` [PATCH 2/5] arm64: dts: qcom: lemans: Add SDHC controller and SDC pin configuration Wasim Nazir
2025-08-27 1:20 ` Dmitry Baryshkov
2025-08-28 14:57 ` Monish Chunara
2025-09-03 16:12 ` Konrad Dybcio
2025-09-03 16:28 ` Wasim Nazir
2025-09-03 17:16 ` Konrad Dybcio
2025-08-26 18:21 ` Wasim Nazir [this message]
2025-08-27 1:35 ` [PATCH 3/5] arm64: dts: qcom: lemans-evk: Extend peripheral and subsystem support Dmitry Baryshkov
2025-08-28 6:35 ` Sushrut Shree Trivedi
2025-08-28 11:01 ` Dmitry Baryshkov
2025-08-28 13:08 ` Sushrut Shree Trivedi
2025-08-28 13:30 ` Dmitry Baryshkov
2025-08-29 14:20 ` Monish Chunara
2025-08-29 16:24 ` Dmitry Baryshkov
2025-09-01 7:32 ` Krishna Kurapati PSSNV
2025-09-02 2:34 ` Dmitry Baryshkov
2025-09-02 17:16 ` Dmitry Baryshkov
2025-09-03 9:12 ` Krishna Kurapati PSSNV
2025-08-28 15:05 ` Monish Chunara
2025-09-01 11:32 ` Vikash Garodia
2025-08-27 23:06 ` Bjorn Andersson
2025-08-28 12:23 ` Wasim Nazir
2025-08-28 6:56 ` Krzysztof Kozlowski
2025-08-28 15:15 ` Wasim Nazir
2025-08-26 18:21 ` [PATCH 4/5] arm64: dts: qcom: lemans: Add gpr node Wasim Nazir
2025-08-26 18:21 ` [PATCH 5/5] arm64: dts: qcom: lemans-evk: Add sound card Wasim Nazir
2025-08-27 23:07 ` Bjorn Andersson
2025-08-28 16:21 ` Mohammad Rafi Shaik
2025-08-26 23:19 ` [PATCH 0/5] arm64: dts: qcom: lemans-evk: Extend board support for additional peripherals Rob Herring (Arm)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250826-lemans-evk-bu-v1-3-08016e0d3ce5@oss.qualcomm.com \
--to=wasim.nazir@oss.qualcomm.com \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=kernel@oss.qualcomm.com \
--cc=konradybcio@kernel.org \
--cc=krishna.kurapati@oss.qualcomm.com \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=quic_dikshita@quicinc.com \
--cc=quic_mchunara@quicinc.com \
--cc=quic_mohdayaa@quicinc.com \
--cc=quic_nkumarsi@quicinc.com \
--cc=quic_sushruts@quicinc.com \
--cc=quic_vispal@quicinc.com \
--cc=richardcochran@gmail.com \
--cc=robh@kernel.org \
--cc=ulf.hansson@linaro.org \
--cc=viken.dadhaniya@oss.qualcomm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).