From f840480802134372c28b09f4b0ecec93535813f7 Mon Sep 17 00:00:00 2001 From: Naveen Kumar Goud Arepalli Date: Tue, 15 Nov 2022 18:22:56 +0530 Subject: [PATCH] ARM: dts: msm: Add sdcard support for SA8195 Add SD Card support for SA8195. Change-Id: Ic16f6bba9a7b68df7f020a5339451b460be43646 --- qcom/sa8195p.dtsi | 18 +++++++++++++ qcom/sdmshrike.dtsi | 63 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+) diff --git a/qcom/sa8195p.dtsi b/qcom/sa8195p.dtsi index a4ad019f..fb46d767 100644 --- a/qcom/sa8195p.dtsi +++ b/qcom/sa8195p.dtsi @@ -132,6 +132,24 @@ status = "ok"; }; +&sdhc_2 { + vdd-supply = <&pm8195_1_l10>; + qcom,vdd-voltage-level = <2950000 2960000>; + qcom,vdd-current-level = <200 800000>; + + vdd-io-supply = <&pm8195_1_l2>; + qcom,vdd-io-voltage-level = <1808000 2960000>; + qcom,vdd-io-current-level = <200 22000>; + + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&sdc2_on>; + pinctrl-1 = <&sdc2_off>; + + cd-gpios = <&pm8195_1_gpios 4 GPIO_ACTIVE_LOW>; + + status = "ok"; +}; + &ufsphy_mem { compatible = "qcom,ufs-phy-qmp-v4"; vdda-phy-supply = <&pm8195_3_l5>; diff --git a/qcom/sdmshrike.dtsi b/qcom/sdmshrike.dtsi index 7f3151c0..9b9a3f14 100644 --- a/qcom/sdmshrike.dtsi +++ b/qcom/sdmshrike.dtsi @@ -28,6 +28,7 @@ aliases { ufshc1 = &ufshc_mem; /* Embedded UFS slot */ + mmc1 = &sdhc_2; /* SDC2 SD Card slot */ serial0 = &qupv3_se12_2uart; spi22 = &qupv3_se22_spi; i2c7 = &qupv3_se20_i2c; @@ -1574,6 +1575,68 @@ }; }; + + sdhc2_opp_table: sdhc2-opp-table { + compatible = "operating-points-v2"; + + opp-100000000 { + opp-hz = /bits/ 64 <100000000>; + opp-peak-kBps = <1600000 280000>; + opp-avg-kBps = <50000 0>; + }; + + opp-202000000 { + opp-hz = /bits/ 64 <202000000>; + opp-peak-kBps = <5600000 1500000>; + opp-avg-kBps = <104000 0>; + }; + }; + + sdhc_2: sdhci@8804000 { + compatible = "qcom,sdhci-msm-v5"; + reg = <0x8804000 0x1000>; + reg-names = "hc_mem"; + + interrupts = , + ; + interrupt-names = "hc_irq", "pwr_irq"; + + clocks = <&gcc GCC_SDCC2_AHB_CLK>, + <&gcc GCC_SDCC2_APPS_CLK>; + clock-names = "iface", "core"; + + bus-width = <4>; + qcom,restore-after-cx-collapse; + + + iommus = <&apps_smmu 0x06A0 0x0>; + qcom,iommu-dma = "fastmap"; + dma-coherent; + + interconnects = <&aggre2_noc MASTER_SDCC_2 &mc_virt SLAVE_EBI1>, + <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_SDCC_2>; + interconnect-names = "sdhc-ddr","cpu-sdhc"; + operating-points-v2 = <&sdhc2_opp_table>; + + + /* DLL HSR settings. Refer go/hsr - DLL settings */ + qcom,dll-hsr-list = <0x0007642c 0x0 0x10 0x2C010800 0x80040868>; + + qcom,devfreq,freq-table = <50000000 200000000>; + + status = "disabled"; + + qos0 { + mask = <0x0f>; + vote = <70>; + }; + + qos1 { + mask = <0xf0>; + vote = <70>; + }; + }; + ufsphy_mem: ufsphy_mem@1d87000 { reg = <0x1d87000 0xe00>; /* PHY regs */ reg-names = "phy_mem";