Skip to content

Commit e822dd6

Browse files
Monish ChunaraKomal-Bajaj
authored andcommitted
arm64: dts: qcom: Add eMMC support for shikra SoC
Add support for eMMC on shikra SoC and enable the required pinctrl configurations. Signed-off-by: Monish Chunara <quic_mchunara@quicinc.com>
1 parent 16980ad commit e822dd6

1 file changed

Lines changed: 116 additions & 0 deletions

File tree

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

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
#include <dt-bindings/clock/qcom,rpmcc.h>
77
#include <dt-bindings/clock/qcom,shikra-gcc.h>
8+
#include <dt-bindings/interconnect/qcom,icc.h>
89
#include <dt-bindings/interconnect/qcom,rpm-icc.h>
910
#include <dt-bindings/interconnect/qcom,shikra.h>
1011
#include <dt-bindings/interrupt-controller/arm-gic.h>
@@ -364,6 +365,56 @@
364365
drive-strength = <2>;
365366
bias-disable;
366367
};
368+
369+
sdc1_state_on: sdc1-on-state {
370+
clk-pins {
371+
pins = "sdc1_clk";
372+
drive-strength = <6>;
373+
bias-disable;
374+
};
375+
376+
cmd-pins {
377+
pins = "sdc1_cmd";
378+
drive-strength = <6>;
379+
bias-pull-up;
380+
};
381+
382+
data-pins {
383+
pins = "sdc1_data";
384+
drive-strength = <6>;
385+
bias-pull-up;
386+
};
387+
388+
rclk-pins {
389+
pins = "sdc1_rclk";
390+
bias-pull-down;
391+
};
392+
};
393+
394+
sdc1_state_off: sdc1-off-state {
395+
clk-pins {
396+
pins = "sdc1_clk";
397+
drive-strength = <2>;
398+
bias-bus-hold;
399+
};
400+
401+
cmd-pins {
402+
pins = "sdc1_cmd";
403+
drive-strength = <2>;
404+
bias-bus-hold;
405+
};
406+
407+
data-pins {
408+
pins = "sdc1_data";
409+
drive-strength = <2>;
410+
bias-bus-hold;
411+
};
412+
413+
rclk-pins {
414+
pins = "sdc1_rclk";
415+
bias-bus-hold;
416+
};
417+
};
367418
};
368419

369420
mem_noc: interconnect@d00000 {
@@ -482,6 +533,71 @@
482533
reg = <0x0 0x04690000 0x0 0x14000>;
483534
};
484535

536+
sdhc_1: mmc@4744000 {
537+
compatible = "qcom,shikra-sdhci", "qcom,sdhci-msm-v5";
538+
539+
reg = <0x0 0x04744000 0x0 0x1000>,
540+
<0x0 0x04745000 0x0 0x1000>;
541+
reg-names = "hc",
542+
"cqhci";
543+
544+
iommus = <&apps_smmu 0xc0 0x0>;
545+
546+
interrupts = <GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH>,
547+
<GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>;
548+
interrupt-names = "hc_irq",
549+
"pwr_irq";
550+
551+
clocks = <&gcc GCC_SDCC1_AHB_CLK>,
552+
<&gcc GCC_SDCC1_APPS_CLK>,
553+
<&rpmcc RPM_SMD_XO_CLK_SRC>;
554+
clock-names = "iface",
555+
"core",
556+
"xo";
557+
558+
interconnects = <&system_noc MASTER_SDCC_1 QCOM_ICC_TAG_ALWAYS
559+
&mc_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ALWAYS>,
560+
<&mem_noc MASTER_AMPSS_M0 QCOM_ICC_TAG_ACTIVE_ONLY
561+
&config_noc SLAVE_SDCC_1 QCOM_ICC_TAG_ACTIVE_ONLY>;
562+
interconnect-names = "sdhc-ddr",
563+
"cpu-sdhc";
564+
565+
power-domains = <&rpmpd RPMHPD_CX>;
566+
operating-points-v2 = <&sdhc1_opp_table>;
567+
568+
qcom,dll-config = <0x000f642c>;
569+
qcom,ddr-config = <0x80040868>;
570+
571+
bus-width = <8>;
572+
573+
mmc-ddr-1_8v;
574+
mmc-hs200-1_8v;
575+
mmc-hs400-1_8v;
576+
mmc-hs400-enhanced-strobe;
577+
578+
resets = <&gcc GCC_SDCC1_BCR>;
579+
580+
status = "disabled";
581+
582+
sdhc1_opp_table: opp-table-1 {
583+
compatible = "operating-points-v2";
584+
585+
opp-100000000 {
586+
opp-hz = /bits/ 64 <100000000>;
587+
required-opps = <&rpmpd_opp_low_svs>;
588+
opp-peak-kBps = <250000 133320>;
589+
opp-avg-kBps = <104000 0>;
590+
};
591+
592+
opp-384000000 {
593+
opp-hz = /bits/ 64 <384000000>;
594+
required-opps = <&rpmpd_opp_nom>;
595+
opp-peak-kBps = <800000 300000>;
596+
opp-avg-kBps = <400000 0>;
597+
};
598+
};
599+
};
600+
485601
adreno_smmu: iommu@59a0000 {
486602
compatible = "qcom,shikra-smmu-500", "qcom,smmu-500", "arm,mmu-500";
487603
reg = <0x0 0x059a0000 0x0 0x10000>;

0 commit comments

Comments
 (0)