From 4d71416b962c31dbee75ad71fc073025e0c7526e Mon Sep 17 00:00:00 2001 From: "Bao D. Nguyen" Date: Fri, 24 Jan 2020 17:32:14 -0800 Subject: [PATCH 1/2] ARM: dts: msm: Add SD card bus voting details for Lahaina Add bus votes (ab/ib) compatible with ICC framework for SD card on Lahaina platforms. Change-Id: If039b6211cae1627014bc5004615d428743a6e4e --- qcom/lahaina.dtsi | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/qcom/lahaina.dtsi b/qcom/lahaina.dtsi index 4df43af6a5fe..9eb219fcfe9b 100644 --- a/qcom/lahaina.dtsi +++ b/qcom/lahaina.dtsi @@ -1593,7 +1593,7 @@ sdhc_2: sdhci@8804000 { compatible = "qcom,sdhci-msm-v5"; - reg = <0x8804000 0x1000>; + reg = <0x08804000 0x1000>; reg-names = "hc_mem"; interrupts = , @@ -1603,6 +1603,32 @@ qcom,bus-width = <4>; qcom,large-address-bus; + 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"; + qcom,msm-bus,name = "sdhc2"; + qcom,msm-bus,num-cases = <8>; + qcom,msm-bus,num-paths = <2>; + qcom,msm-bus,vectors-KBps = + /* No Vote */ + <0 0>, <0 0>, + /* 400 KB/s*/ + <1046 1600>, <1600 1600>, + /* 20 MB/s */ + <52286 80000>, <80000 80000>, + /* 25 MB/s */ + <65360 100000>, <100000 100000>, + /* 50 MB/s */ + <130718 200000>, <133320 133320>, + /* 100 MB/s */ + <261438 200000>, <150000 150000>, + /* 200 MB/s */ + <261438 400000>, <300000 300000>, + /* Max. bandwidth */ + <1338562 4096000>, <1338562 4096000>; + qcom,bus-bw-vectors-bps = <0 400000 20000000 25000000 50000000 + 100750000 200000000 4294967295>; + qcom,restore-after-cx-collapse; qcom,clk-rates = <400000 20000000 25000000 @@ -1615,12 +1641,6 @@ <&clock_gcc GCC_SDCC2_APPS_CLK>; clock-names = "iface", "core"; - /* PM QoS */ - qcom,pm-qos-irq-type = "affine_irq"; - qcom,pm-qos-irq-latency = <44 44>; - qcom,pm-qos-cpu-groups = <0x3f 0xc0>; - qcom,pm-qos-legacy-latency-us = <44 44>, <44 44>; - /* DLL HSR settings. Refer go/hsr - DLL settings */ qcom,dll-hsr-list = <0x0007642C 0xA800 0x10 0x2C010800 0x80040868>; From 5a47daf3cb40a47652b577c40a011ad399d2e9c6 Mon Sep 17 00:00:00 2001 From: "Bao D. Nguyen" Date: Fri, 28 Feb 2020 16:25:16 -0800 Subject: [PATCH 2/2] ARM: dts: msm: Enable SD card support on Lahaina Enable the SD card support on Lahaina's platforms. Change-Id: Id6870710d43f3d79a1d5556534ce0f7305446e50 --- qcom/lahaina-cdp.dtsi | 8 ++-- qcom/lahaina-mtp.dtsi | 8 ++-- qcom/lahaina-pinctrl.dtsi | 81 +++++++++++++++++---------------------- qcom/lahaina-qrd.dtsi | 18 +++++++++ qcom/lahaina-rumi.dtsi | 6 +-- 5 files changed, 65 insertions(+), 56 deletions(-) diff --git a/qcom/lahaina-cdp.dtsi b/qcom/lahaina-cdp.dtsi index 7290b1eaf842..39903cb31383 100644 --- a/qcom/lahaina-cdp.dtsi +++ b/qcom/lahaina-cdp.dtsi @@ -85,13 +85,13 @@ qcom,vdd-io-voltage-level = <1808000 2960000>; qcom,vdd-io-current-level = <200 22000>; - pinctrl-names = "active", "sleep"; - pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &storage_cd>; - pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &storage_cd>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&sdc2_on>; + pinctrl-1 = <&sdc2_off>; cd-gpios = <&tlmm 92 GPIO_ACTIVE_LOW>; - status = "disabled"; + status = "ok"; }; diff --git a/qcom/lahaina-mtp.dtsi b/qcom/lahaina-mtp.dtsi index f6b90a75e644..0bfed5030d89 100644 --- a/qcom/lahaina-mtp.dtsi +++ b/qcom/lahaina-mtp.dtsi @@ -87,13 +87,13 @@ qcom,vdd-io-voltage-level = <1808000 2960000>; qcom,vdd-io-current-level = <200 22000>; - pinctrl-names = "active", "sleep"; - pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &storage_cd>; - pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &storage_cd>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&sdc2_on>; + pinctrl-1 = <&sdc2_off>; cd-gpios = <&tlmm 92 GPIO_ACTIVE_LOW>; - status = "disabled"; + status = "ok"; }; diff --git a/qcom/lahaina-pinctrl.dtsi b/qcom/lahaina-pinctrl.dtsi index be8c8f34c49a..ae173d1f0784 100644 --- a/qcom/lahaina-pinctrl.dtsi +++ b/qcom/lahaina-pinctrl.dtsi @@ -82,64 +82,55 @@ }; }; - storage_cd: storage_cd { - mux { - pins = "gpio92"; - function = "gpio"; - }; - - config { - pins = "gpio92"; - bias-pull-up; /* pull up */ - drive-strength = <2>; /* 2 MA */ - }; - }; - - sdc2_clk_on: sdc2_clk_on { - config { + sdc2_on: sdc2_on { + clk { pins = "sdc2_clk"; - bias-disable; /* NO pull */ - drive-strength = <16>; /* 16 MA */ + bias-disable; + drive-strength = <16>; + }; + + cmd { + pins = "sdc2_cmd"; + bias-pull-up; + drive-strength = <10>; + }; + + data { + pins = "sdc2_data"; + bias-pull-up; + drive-strength = <10>; + }; + + sd-cd { + pins = "gpio92"; + bias-pull-up; + drive-strength = <2>; }; }; - sdc2_clk_off: sdc2_clk_off { - config { + sdc2_off: sdc2_off { + clk { pins = "sdc2_clk"; - bias-disable; /* NO pull */ - drive-strength = <2>; /* 2 MA */ + bias-disable; + drive-strength = <2>; }; - }; - sdc2_cmd_on: sdc2_cmd_on { - config { + cmd { pins = "sdc2_cmd"; - bias-pull-up; /* pull up */ - drive-strength = <16>; /* 16 MA */ + bias-pull-up; + drive-strength = <2>; }; - }; - sdc2_cmd_off: sdc2_cmd_off { - config { - pins = "sdc2_cmd"; - bias-pull-up; /* pull up */ - drive-strength = <2>; /* 2 MA */ - }; - }; - - sdc2_data_on: sdc2_data_on { - config { + data { pins = "sdc2_data"; - bias-pull-up; /* pull up */ - drive-strength = <16>; /* 16 MA */ + bias-pull-up; + drive-strength = <2>; }; - }; - sdc2_data_off: sdc2_data_off { - config { - pins = "sdc2_data"; - bias-pull-up; /* pull up */ - drive-strength = <2>; /* 2 MA */ + sd-cd { + pins = "gpio92"; + bias-disable; + drive-strength = <2>; }; }; diff --git a/qcom/lahaina-qrd.dtsi b/qcom/lahaina-qrd.dtsi index f43b2b3e285b..9ace5845158c 100644 --- a/qcom/lahaina-qrd.dtsi +++ b/qcom/lahaina-qrd.dtsi @@ -32,6 +32,24 @@ status = "ok"; }; +&sdhc_2 { + vdd-supply = <&pm8350c_l9>; + qcom,vdd-voltage-level = <2950000 2960000>; + qcom,vdd-current-level = <200 800000>; + + vdd-io-supply = <&pm8350c_l6>; + 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 = <&tlmm 92 GPIO_ACTIVE_LOW>; + + status = "disabled"; +}; + &swr_dmic_01 { status = "disabled"; }; diff --git a/qcom/lahaina-rumi.dtsi b/qcom/lahaina-rumi.dtsi index c5cfb8726147..36bdde01b3cd 100644 --- a/qcom/lahaina-rumi.dtsi +++ b/qcom/lahaina-rumi.dtsi @@ -58,9 +58,9 @@ qcom,vdd-io-voltage-level = <1808000 2960000>; qcom,vdd-io-current-level = <200 22000>; - pinctrl-names = "active", "sleep"; - pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &storage_cd>; - pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &storage_cd>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&sdc2_on>; + pinctrl-1 = <&sdc2_off>; cd-gpios = <&tlmm 92 GPIO_ACTIVE_LOW>;