Skip to content

Commit 0bf6ed3

Browse files
mchunara007Monish Chunara
authored andcommitted
FROMLIST: arm64: dts: qcom: lemans-evk: Add SDHCI support for eMMC via overlay
Enable the SDHCI controller for eMMC functionality on the lemans EVK using a device tree overlay. Configure the corresponding addresse space and resources for eMMC. Signed-off-by: Monish Chunara <monish.chunara@oss.qualcomm.com>
1 parent d9f2513 commit 0bf6ed3

3 files changed

Lines changed: 74 additions & 3 deletions

File tree

arch/arm64/boot/dts/qcom/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp454.dtb
3434
dtb-$(CONFIG_ARCH_QCOM) += kaanapali-mtp.dtb
3535
dtb-$(CONFIG_ARCH_QCOM) += lemans-evk.dtb
3636

37+
lemans-evk-emmc-dtbs := lemans-evk.dtb lemans-evk-emmc.dtbo
38+
dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-emmc.dtb
39+
3740
lemans-evk-sd-card-dtbs := lemans-evk.dtb lemans-evk-sd-card.dtbo
3841
dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-sd-card.dtb
3942

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
// SPDX-License-Identifier: BSD-3-Clause
2+
/*
3+
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
4+
*/
5+
6+
/dts-v1/;
7+
/plugin/;
8+
9+
#include <dt-bindings/gpio/gpio.h>
10+
#include <dt-bindings/clock/qcom,rpmh.h>
11+
#include <dt-bindings/clock/qcom,sa8775p-gcc.h>
12+
13+
/ {
14+
vmmc_sdc1: regulator-l8c {
15+
compatible = "regulator-fixed";
16+
regulator-name = "vreg-sdc1";
17+
18+
regulator-min-microvolt = <2960000>;
19+
regulator-max-microvolt = <2960000>;
20+
};
21+
22+
vqmmc_sdc1: regulator-s4a {
23+
compatible = "regulator-fixed";
24+
regulator-name = "vqmmc-sdc1";
25+
26+
regulator-min-microvolt = <1800000>;
27+
regulator-max-microvolt = <1800000>;
28+
};
29+
};
30+
31+
&sdhc {
32+
vmmc-supply = <&vmmc_sdc1>;
33+
vqmmc-supply = <&vqmmc_sdc1>;
34+
35+
pinctrl-0 = <&sdc_default>, <&sdc_rclk>;
36+
pinctrl-1 = <&sdc_sleep>, <&sdc_rclk_sleep>;
37+
38+
pinctrl-names = "default", "sleep";
39+
40+
supports-cqe;
41+
non-removable;
42+
43+
qcom,dll-config = <0x000F64EC>;
44+
max-frequency = <50000000>;
45+
46+
bus-width = <8>;
47+
no-sd;
48+
no-sdio;
49+
50+
status = "okay";
51+
};
52+
53+
&tlmm {
54+
sdc_rclk: sdc1-rclk-state {
55+
pins = "sdc1_rclk";
56+
bias-pull-down;
57+
};
58+
59+
sdc_rclk_sleep: sdc1-rclk-sleep-state {
60+
pins = "sdc1_rclk";
61+
drive-strength = <2>;
62+
bias-bus-hold;
63+
};
64+
};

arch/arm64/boot/dts/qcom/lemans.dtsi

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3875,17 +3875,21 @@
38753875

38763876
sdhc: mmc@87c4000 {
38773877
compatible = "qcom,sa8775p-sdhci", "qcom,sdhci-msm-v5";
3878-
reg = <0x0 0x087c4000 0x0 0x1000>;
3878+
reg = <0x0 0x87C4000 0x0 0x1000>,
3879+
<0x0 0x87C5000 0x0 0x1000>;
3880+
reg-names = "hc", "cqhci";
38793881

38803882
interrupts = <GIC_SPI 383 IRQ_TYPE_LEVEL_HIGH>,
38813883
<GIC_SPI 521 IRQ_TYPE_LEVEL_HIGH>;
38823884
interrupt-names = "hc_irq",
38833885
"pwr_irq";
38843886

38853887
clocks = <&gcc GCC_SDCC1_AHB_CLK>,
3886-
<&gcc GCC_SDCC1_APPS_CLK>;
3888+
<&gcc GCC_SDCC1_APPS_CLK>,
3889+
<&rpmhcc RPMH_CXO_CLK>;
38873890
clock-names = "iface",
3888-
"core";
3891+
"core",
3892+
"xo";
38893893

38903894
interconnects = <&aggre1_noc MASTER_SDC QCOM_ICC_TAG_ALWAYS
38913895
&mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,

0 commit comments

Comments
 (0)