linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/3] Enable SD card slot on msm8998 MTP
@ 2018-11-15 20:44 Jeffrey Hugo
  2018-11-15 20:44 ` [PATCH v2 1/3] arm64: dts: qcom: msm8998: correct xo clock name Jeffrey Hugo
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Jeffrey Hugo @ 2018-11-15 20:44 UTC (permalink / raw)
  To: andy.gross, david.brown
  Cc: bjorn.andersson, robh+dt, mark.rutland, linux-arm-msm, linux-soc,
	devicetree, linux-kernel, Jeffrey Hugo

A short series to enable the SD card slot on the msm8998 MTP so that there
is some storage media to play with.

[v2]
-Added Bjorn's reviewed by tags
-Fixed white space issues in patch 4
-Refactored pin declarations
-Squashed patches 3 and 4

Jeffrey Hugo (3):
  arm64: dts: qcom: msm8998: correct xo clock name
  arm64: dts: qcom: msm8998: Add SDCC2
  arm64: dts: qcom: msm8998-mtp: Add external SD

 arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi | 65 +++++++++++++++++++++++++++++++
 arch/arm64/boot/dts/qcom/msm8998.dtsi     | 20 +++++++++-
 2 files changed, 84 insertions(+), 1 deletion(-)

-- 
Qualcomm Datacenter Technologies as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v2 1/3] arm64: dts: qcom: msm8998: correct xo clock name
  2018-11-15 20:44 [PATCH v2 0/3] Enable SD card slot on msm8998 MTP Jeffrey Hugo
@ 2018-11-15 20:44 ` Jeffrey Hugo
  2018-11-15 20:44 ` [PATCH v2 2/3] arm64: dts: qcom: msm8998: Add SDCC2 Jeffrey Hugo
  2018-11-15 20:44 ` [PATCH v2 3/3] arm64: dts: qcom: msm8998-mtp: Add external SD Jeffrey Hugo
  2 siblings, 0 replies; 4+ messages in thread
From: Jeffrey Hugo @ 2018-11-15 20:44 UTC (permalink / raw)
  To: andy.gross, david.brown
  Cc: bjorn.andersson, robh+dt, mark.rutland, linux-arm-msm, linux-soc,
	devicetree, linux-kernel, Jeffrey Hugo

The root parent clock of most msm8998 clock is the "xo" clock.  The DT node
is incorrectly named "xo_board", which prevents Linux from correctly
parsing the clock tree, resulting in most clocks being unparented and
unable to be manipulated.  The end result is that we can't turn on clocks
for peripherals like SD, so init usually fails.

Fixes: 4807c71cc688 (arm64: dts: Add msm8998 SoC and MTP board support)
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
---
 arch/arm64/boot/dts/qcom/msm8998.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi
index 78227cc..a948d4b 100644
--- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
@@ -53,7 +53,7 @@
 	};
 
 	clocks {
-		xo_board {
+		xo {
 			compatible = "fixed-clock";
 			#clock-cells = <0>;
 			clock-frequency = <19200000>;
-- 
Qualcomm Datacenter Technologies as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH v2 2/3] arm64: dts: qcom: msm8998: Add SDCC2
  2018-11-15 20:44 [PATCH v2 0/3] Enable SD card slot on msm8998 MTP Jeffrey Hugo
  2018-11-15 20:44 ` [PATCH v2 1/3] arm64: dts: qcom: msm8998: correct xo clock name Jeffrey Hugo
@ 2018-11-15 20:44 ` Jeffrey Hugo
  2018-11-15 20:44 ` [PATCH v2 3/3] arm64: dts: qcom: msm8998-mtp: Add external SD Jeffrey Hugo
  2 siblings, 0 replies; 4+ messages in thread
From: Jeffrey Hugo @ 2018-11-15 20:44 UTC (permalink / raw)
  To: andy.gross, david.brown
  Cc: bjorn.andersson, robh+dt, mark.rutland, linux-arm-msm, linux-soc,
	devicetree, linux-kernel, Jeffrey Hugo

SDCC2 is typically used as the controller for an external SD card slot.

Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
---
 arch/arm64/boot/dts/qcom/msm8998.dtsi | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi
index a948d4b..09deee0 100644
--- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
@@ -53,7 +53,7 @@
 	};
 
 	clocks {
-		xo {
+		xo: xo {
 			compatible = "fixed-clock";
 			#clock-cells = <0>;
 			clock-frequency = <19200000>;
@@ -605,6 +605,23 @@
 			#mbox-cells = <1>;
 		};
 
+		sdhc2: sdhci@c0a4900 {
+			compatible = "qcom,sdhci-msm-v4";
+			reg = <0xc0a4900 0x314>, <0xc0a4000 0x800>;
+			reg-names = "hc_mem", "core_mem";
+
+			interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-names = "hc_irq", "pwr_irq";
+
+			clock-names = "iface", "core", "xo";
+			clocks = <&gcc GCC_SDCC2_AHB_CLK>,
+				 <&gcc GCC_SDCC2_APPS_CLK>,
+				 <&xo>;
+			bus-width = <4>;
+			status = "disabled";
+		};
+
 		blsp2_uart1: serial@c1b0000 {
 			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
 			reg = <0xc1b0000 0x1000>;
-- 
Qualcomm Datacenter Technologies as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH v2 3/3] arm64: dts: qcom: msm8998-mtp: Add external SD
  2018-11-15 20:44 [PATCH v2 0/3] Enable SD card slot on msm8998 MTP Jeffrey Hugo
  2018-11-15 20:44 ` [PATCH v2 1/3] arm64: dts: qcom: msm8998: correct xo clock name Jeffrey Hugo
  2018-11-15 20:44 ` [PATCH v2 2/3] arm64: dts: qcom: msm8998: Add SDCC2 Jeffrey Hugo
@ 2018-11-15 20:44 ` Jeffrey Hugo
  2 siblings, 0 replies; 4+ messages in thread
From: Jeffrey Hugo @ 2018-11-15 20:44 UTC (permalink / raw)
  To: andy.gross, david.brown
  Cc: bjorn.andersson, robh+dt, mark.rutland, linux-arm-msm, linux-soc,
	devicetree, linux-kernel, Jeffrey Hugo

The externally accessible SD card slot on the MTP is driven by SDCC2.
Wire it up for use.

Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
---
 arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi | 65 +++++++++++++++++++++++++++++++
 arch/arm64/boot/dts/qcom/msm8998.dtsi     |  1 +
 2 files changed, 66 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
index b4276da..cf74883 100644
--- a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
@@ -241,3 +241,68 @@
 		};
 	};
 };
+
+&tlmm {
+	sdc2_clk_on: sdc2-clk-on {
+		pins = "sdc2_clk";
+		bias-disable;           /* NO pull */
+		drive-strength = <16>;  /* 16 MA */
+	};
+
+	sdc2_clk_off: sdc2-clk-off {
+		pins = "sdc2_clk";
+		bias-disable;           /* NO pull */
+		drive-strength = <2>;   /* 2 MA */
+	};
+
+	sdc2_cmd_on: sdc2-cmd-on {
+		pins = "sdc2_cmd";
+		bias-pull-up;           /* pull up */
+		drive-strength = <10>;  /* 10 MA */
+	};
+
+	sdc2_cmd_off: sdc2-cmd-off {
+		pins = "sdc2_cmd";
+		bias-pull-up;           /* pull up */
+		drive-strength = <2>;   /* 2 MA */
+	};
+
+	sdc2_data_on: sdc2-data-on {
+		pins = "sdc2_data";
+		bias-pull-up;           /* pull up */
+		drive-strength = <10>;  /* 10 MA */
+	};
+
+	sdc2_data_off: sdc2-data-off {
+		pins = "sdc2_data";
+		bias-pull-up;           /* pull up */
+		drive-strength = <2>;   /* 2 MA */
+	};
+
+	sdc2_cd_on: sdc2-cd-on {
+		function = "gpio";
+		pins = "gpio95";
+		bias-pull-up;           /* pull up */
+		drive-strength = <2>;   /* 2 MA */
+	};
+
+	sdc2_cd_off: sdc2-cd-off {
+		function = "gpio";
+		pins = "gpio95";
+		bias-pull-up;           /* pull up */
+		drive-strength = <2>;   /* 2 MA */
+	};
+};
+
+&sdhc2 {
+	status = "okay";
+	cd-gpios = <&tlmm 95 GPIO_ACTIVE_LOW>;
+
+	vmmc-supply = <&vreg_l21a_2p95>;
+	vqmmc-supply = <&vreg_l13a_2p95>;
+
+	pinctrl-names = "default", "sleep";
+	pinctrl-0 = <&sdc2_clk_on  &sdc2_cmd_on  &sdc2_data_on  &sdc2_cd_on>;
+	pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
+};
+
diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi
index 09deee0..82f6472 100644
--- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
@@ -3,6 +3,7 @@
 
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/clock/qcom,gcc-msm8998.h>
+#include <dt-bindings/gpio/gpio.h>
 
 / {
 	interrupt-parent = <&intc>;
-- 
Qualcomm Datacenter Technologies as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-11-15 20:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-15 20:44 [PATCH v2 0/3] Enable SD card slot on msm8998 MTP Jeffrey Hugo
2018-11-15 20:44 ` [PATCH v2 1/3] arm64: dts: qcom: msm8998: correct xo clock name Jeffrey Hugo
2018-11-15 20:44 ` [PATCH v2 2/3] arm64: dts: qcom: msm8998: Add SDCC2 Jeffrey Hugo
2018-11-15 20:44 ` [PATCH v2 3/3] arm64: dts: qcom: msm8998-mtp: Add external SD Jeffrey Hugo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).