]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: qcom: Add lemans evaluation kit (EVK) initial board support
authorWasim Nazir <wasim.nazir@oss.qualcomm.com>
Sun, 3 Aug 2025 11:01:12 +0000 (16:31 +0530)
committerBjorn Andersson <andersson@kernel.org>
Mon, 11 Aug 2025 02:01:20 +0000 (21:01 -0500)
Lemans EVK is an IoT board without safety monitoring feature of
Safety Island(SAIL) subsystem.

Lemans EVK is single board supporting these peripherals:
  - Storage: 2 × 128 GB UFS, micro-SD card, EEPROMs for MACs,
    eMMC on mezzanine card
  - Audio/Video, Camera & Display ports
  - Connectivity: RJ45 2.5GbE, WLAN/Bluetooth, CAN/CAN-FD
  - Sensors: IMU
  - PCIe ports
  - USB & UART ports

On top of lemans EVK board additional mezzanine boards can be stacked
in future.

Implement basic features like uart/ufs to enable 'boot to shell'.

Co-developed-by: Rakesh Kota <quic_kotarake@quicinc.com>
Signed-off-by: Rakesh Kota <quic_kotarake@quicinc.com>
Co-developed-by: Sayali Lokhande <quic_sayalil@quicinc.com>
Signed-off-by: Sayali Lokhande <quic_sayalil@quicinc.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Wasim Nazir <wasim.nazir@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250803110113.401927-9-wasim.nazir@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/Makefile
arch/arm64/boot/dts/qcom/lemans-evk.dts [new file with mode: 0644]

index 4bfa926b6a0850c3c459bcba28129c559d50a7cf..dcc0f6382f5104ea1d320a81d831c44de56c17fc 100644 (file)
@@ -29,6 +29,7 @@ dtb-$(CONFIG_ARCH_QCOM)       += ipq9574-rdp433.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += ipq9574-rdp449.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += ipq9574-rdp453.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += ipq9574-rdp454.dtb
+dtb-$(CONFIG_ARCH_QCOM)        += lemans-evk.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += msm8216-samsung-fortuna3g.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += msm8916-acer-a1-724.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += msm8916-alcatel-idol347.dtb
diff --git a/arch/arm64/boot/dts/qcom/lemans-evk.dts b/arch/arm64/boot/dts/qcom/lemans-evk.dts
new file mode 100644 (file)
index 0000000..669ac52
--- /dev/null
@@ -0,0 +1,291 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2024-2025, Qualcomm Innovation Center, Inc. All rights reserved.
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+
+#include "lemans.dtsi"
+#include "lemans-pmics.dtsi"
+
+/ {
+       model = "Qualcomm Technologies, Inc. Lemans EVK";
+       compatible = "qcom,lemans-evk", "qcom,qcs9100", "qcom,sa8775p";
+
+       aliases {
+               serial0 = &uart10;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+};
+
+&apps_rsc {
+       regulators-0 {
+               compatible = "qcom,pmm8654au-rpmh-regulators";
+               qcom,pmic-id = "a";
+
+               vreg_s4a: smps4 {
+                       regulator-name = "vreg_s4a";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1816000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_s5a: smps5 {
+                       regulator-name = "vreg_s5a";
+                       regulator-min-microvolt = <1850000>;
+                       regulator-max-microvolt = <1996000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_s9a: smps9 {
+                       regulator-name = "vreg_s9a";
+                       regulator-min-microvolt = <535000>;
+                       regulator-max-microvolt = <1120000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l4a: ldo4 {
+                       regulator-name = "vreg_l4a";
+                       regulator-min-microvolt = <788000>;
+                       regulator-max-microvolt = <1050000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       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 = <870000>;
+                       regulator-max-microvolt = <950000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l6a: ldo6 {
+                       regulator-name = "vreg_l6a";
+                       regulator-min-microvolt = <870000>;
+                       regulator-max-microvolt = <970000>;
+                       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 = <720000>;
+                       regulator-max-microvolt = <950000>;
+                       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 = <2504000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l9a: ldo9 {
+                       regulator-name = "vreg_l9a";
+                       regulator-min-microvolt = <2970000>;
+                       regulator-max-microvolt = <3544000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+       };
+
+       regulators-1 {
+               compatible = "qcom,pmm8654au-rpmh-regulators";
+               qcom,pmic-id = "c";
+
+               vreg_l1c: ldo1 {
+                       regulator-name = "vreg_l1c";
+                       regulator-min-microvolt = <1140000>;
+                       regulator-max-microvolt = <1260000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l2c: ldo2 {
+                       regulator-name = "vreg_l2c";
+                       regulator-min-microvolt = <900000>;
+                       regulator-max-microvolt = <1100000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l3c: ldo3 {
+                       regulator-name = "vreg_l3c";
+                       regulator-min-microvolt = <1100000>;
+                       regulator-max-microvolt = <1300000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l4c: ldo4 {
+                       regulator-name = "vreg_l4c";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l5c: ldo5 {
+                       regulator-name = "vreg_l5c";
+                       regulator-min-microvolt = <1100000>;
+                       regulator-max-microvolt = <1300000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l6c: ldo6 {
+                       regulator-name = "vreg_l6c";
+                       regulator-min-microvolt = <1620000>;
+                       regulator-max-microvolt = <1980000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l7c: ldo7 {
+                       regulator-name = "vreg_l7c";
+                       regulator-min-microvolt = <1620000>;
+                       regulator-max-microvolt = <2000000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l8c: ldo8 {
+                       regulator-name = "vreg_l8c";
+                       regulator-min-microvolt = <2400000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l9c: ldo9 {
+                       regulator-name = "vreg_l9c";
+                       regulator-min-microvolt = <1650000>;
+                       regulator-max-microvolt = <2700000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+       };
+
+       regulators-2 {
+               compatible = "qcom,pmm8654au-rpmh-regulators";
+               qcom,pmic-id = "e";
+
+               vreg_s4e: smps4 {
+                       regulator-name = "vreg_s4e";
+                       regulator-min-microvolt = <970000>;
+                       regulator-max-microvolt = <1520000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_s7e: smps7 {
+                       regulator-name = "vreg_s7e";
+                       regulator-min-microvolt = <1010000>;
+                       regulator-max-microvolt = <1170000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_s9e: smps9 {
+                       regulator-name = "vreg_s9e";
+                       regulator-min-microvolt = <300000>;
+                       regulator-max-microvolt = <570000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l6e: ldo6 {
+                       regulator-name = "vreg_l6e";
+                       regulator-min-microvolt = <1280000>;
+                       regulator-max-microvolt = <1450000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l8e: ldo8 {
+                       regulator-name = "vreg_l8e";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1950000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+       };
+};
+
+&qupv3_id_1 {
+       status = "okay";
+};
+
+&sleep_clk {
+       clock-frequency = <32768>;
+};
+
+&uart10 {
+       compatible = "qcom,geni-debug-uart";
+       pinctrl-0 = <&qup_uart10_default>;
+       pinctrl-names = "default";
+
+       status = "okay";
+};
+
+&ufs_mem_hc {
+       reset-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>;
+       vcc-supply = <&vreg_l8a>;
+       vcc-max-microamp = <1100000>;
+       vccq-supply = <&vreg_l4c>;
+       vccq-max-microamp = <1200000>;
+
+       status = "okay";
+};
+
+&ufs_mem_phy {
+       vdda-phy-supply = <&vreg_l4a>;
+       vdda-pll-supply = <&vreg_l1c>;
+
+       status = "okay";
+};
+
+&xo_board_clk {
+       clock-frequency = <38400000>;
+};