linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/5] ARM: dts: qcom: klte: Add support for hw keys, flash and usb
@ 2020-04-11 18:21 Iskren Chernev
  2020-04-11 18:21 ` [PATCH v2 1/5] ARM: dts: qcom: msm8974-klte: Add pma8084 regulator nodes Iskren Chernev
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Iskren Chernev @ 2020-04-11 18:21 UTC (permalink / raw)
  To: linux-arm-msm
  Cc: Daniele Debernardi, Andy Gross, Bjorn Andersson, Rob Herring,
	devicetree, linux-kernel, ~postmarketos/upstreaming,
	Iskren Chernev

Enable support for gpio-keys (volume up/down + home), internal flash storage
(sdhci), and usb (for usb-ethernet) for the Samsung Galaxy S5, codename klte.

v1: https://lkml.org/lkml/2020/4/9/927

changes in v2:
- do not include PMA8084 PMIC node in the msm8974 dtsi, instead only declare it
  in the device dts.

Daniele Debernardi (5):
  ARM: dts: qcom: msm8974-klte: Add pma8084 regulator nodes
  ARM: dts: qcom: msm8974-klte: Remove inherited vreg_boost node
  ARM: dts: qcom: msm8974-klte: Add gpio-keys nodes
  ARM: dts: qcom: msm8974-klte: Add sdhci1 node
  ARM: dts: qcom: msm8974-klte: Add USB node

 .../boot/dts/qcom-msm8974-samsung-klte.dts    | 294 +++++++++++++++++-
 1 file changed, 292 insertions(+), 2 deletions(-)


base-commit: 873e37a44b1ee8ad4628ca257dc51c0c7c654326
--
2.26.0


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

* [PATCH v2 1/5] ARM: dts: qcom: msm8974-klte: Add pma8084 regulator nodes
  2020-04-11 18:21 [PATCH v2 0/5] ARM: dts: qcom: klte: Add support for hw keys, flash and usb Iskren Chernev
@ 2020-04-11 18:21 ` Iskren Chernev
  2020-04-11 18:21 ` [PATCH v2 2/5] ARM: dts: qcom: msm8974-klte: Remove inherited vreg_boost node Iskren Chernev
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Iskren Chernev @ 2020-04-11 18:21 UTC (permalink / raw)
  To: linux-arm-msm
  Cc: Daniele Debernardi, Andy Gross, Bjorn Andersson, Rob Herring,
	devicetree, linux-kernel, ~postmarketos/upstreaming,
	Iskren Chernev

From: Daniele Debernardi <drebrez@gmail.com>

The pma8084 replaces the pm8841,pm8941 found in other msm8974 devices.
It is used for various things including gpio keys, sdhci, usb, dsi.

The voltages are pulled from the vendor source tree.

Signed-off-by: Daniele Debernardi <drebrez@gmail.com>
Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com>
---
 .../boot/dts/qcom-msm8974-samsung-klte.dts    | 184 ++++++++++++++++++
 1 file changed, 184 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
index eaa1001d0a46..b6329f24c502 100644
--- a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
+++ b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
@@ -2,6 +2,7 @@
 #include "qcom-msm8974pro.dtsi"
 #include "qcom-pm8841.dtsi"
 #include "qcom-pm8941.dtsi"
+#include "qcom-pma8084.dtsi"
 
 / {
 	model = "Samsung Galaxy S5";
@@ -14,6 +15,189 @@ aliases {
 	chosen {
 		stdout-path = "serial0:115200n8";
 	};
+
+	smd {
+		rpm {
+			rpm_requests {
+				pma8084-regulators {
+					compatible = "qcom,rpm-pma8084-regulators";
+					status = "okay";
+
+					pma8084_s1: s1 {
+						regulator-min-microvolt = <675000>;
+						regulator-max-microvolt = <1050000>;
+					};
+
+					pma8084_s2: s2 {
+						regulator-min-microvolt = <500000>;
+						regulator-max-microvolt = <1050000>;
+					};
+
+					pma8084_s3: s3 {
+						regulator-min-microvolt = <1300000>;
+						regulator-max-microvolt = <1300000>;
+					};
+
+					pma8084_s4: s4 {
+						regulator-min-microvolt = <1800000>;
+						regulator-max-microvolt = <1800000>;
+					};
+
+					pma8084_s5: s5 {
+						regulator-min-microvolt = <2150000>;
+						regulator-max-microvolt = <2150000>;
+					};
+
+					pma8084_s6: s6 {
+						regulator-min-microvolt = <1050000>;
+						regulator-max-microvolt = <1050000>;
+					};
+
+					pma8084_l1: l1 {
+						regulator-min-microvolt = <1225000>;
+						regulator-max-microvolt = <1225000>;
+					};
+
+					pma8084_l2: l2 {
+						regulator-min-microvolt = <1200000>;
+						regulator-max-microvolt = <1200000>;
+					};
+
+					pma8084_l3: l3 {
+						regulator-min-microvolt = <1050000>;
+						regulator-max-microvolt = <1200000>;
+					};
+
+					pma8084_l4: l4 {
+						regulator-min-microvolt = <1200000>;
+						regulator-max-microvolt = <1225000>;
+					};
+
+					pma8084_l5: l5 {
+						regulator-min-microvolt = <1800000>;
+						regulator-max-microvolt = <1800000>;
+					};
+
+					pma8084_l6: l6 {
+						regulator-min-microvolt = <1800000>;
+						regulator-max-microvolt = <1800000>;
+					};
+
+					pma8084_l7: l7 {
+						regulator-min-microvolt = <1800000>;
+						regulator-max-microvolt = <1800000>;
+					};
+
+					pma8084_l8: l8 {
+						regulator-min-microvolt = <1800000>;
+						regulator-max-microvolt = <1800000>;
+					};
+
+					pma8084_l9: l9 {
+						regulator-min-microvolt = <1800000>;
+						regulator-max-microvolt = <2950000>;
+					};
+
+					pma8084_l10: l10 {
+						regulator-min-microvolt = <1800000>;
+						regulator-max-microvolt = <2950000>;
+					};
+
+					pma8084_l11: l11 {
+						regulator-min-microvolt = <1300000>;
+						regulator-max-microvolt = <1300000>;
+					};
+
+					pma8084_l12: l12 {
+						regulator-min-microvolt = <1800000>;
+						regulator-max-microvolt = <1800000>;
+					};
+
+					pma8084_l13: l13 {
+						regulator-min-microvolt = <1800000>;
+						regulator-max-microvolt = <2950000>;
+					};
+
+					pma8084_l14: l14 {
+						regulator-min-microvolt = <1800000>;
+						regulator-max-microvolt = <1800000>;
+					};
+
+					pma8084_l15: l15 {
+						regulator-min-microvolt = <2050000>;
+						regulator-max-microvolt = <2050000>;
+					};
+
+					pma8084_l16: l16 {
+						regulator-min-microvolt = <2700000>;
+						regulator-max-microvolt = <2700000>;
+					};
+
+					pma8084_l17: l17 {
+						regulator-min-microvolt = <2850000>;
+						regulator-max-microvolt = <2850000>;
+					};
+
+					pma8084_l18: l18 {
+						regulator-min-microvolt = <2850000>;
+						regulator-max-microvolt = <2850000>;
+					};
+
+					pma8084_l19: l19 {
+						regulator-min-microvolt = <2900000>;
+						regulator-max-microvolt = <3300000>;
+					};
+
+					pma8084_l20: l20 {
+						regulator-min-microvolt = <2950000>;
+						regulator-max-microvolt = <2950000>;
+					};
+
+					pma8084_l21: l21 {
+						regulator-min-microvolt = <2950000>;
+						regulator-max-microvolt = <2950000>;
+					};
+
+					pma8084_l22: l22 {
+						regulator-min-microvolt = <3000000>;
+						regulator-max-microvolt = <3300000>;
+					};
+
+					pma8084_l23: l23 {
+						regulator-min-microvolt = <3000000>;
+						regulator-max-microvolt = <3000000>;
+					};
+
+					pma8084_l24: l24 {
+						regulator-min-microvolt = <3075000>;
+						regulator-max-microvolt = <3075000>;
+					};
+
+					pma8084_l25: l25 {
+						regulator-min-microvolt = <2100000>;
+						regulator-max-microvolt = <2100000>;
+					};
+
+					pma8084_l26: l26 {
+						regulator-min-microvolt = <1800000>;
+						regulator-max-microvolt = <2050000>;
+					};
+
+					pma8084_l27: l27 {
+						regulator-min-microvolt = <1000000>;
+						regulator-max-microvolt = <1225000>;
+					};
+
+					pma8084_lvs1: lvs1 {};
+					pma8084_lvs2: lvs2 {};
+					pma8084_lvs3: lvs3 {};
+					pma8084_lvs4: lvs4 {};
+
+					pma8084_5vs1: 5vs1 {};
+				};
+			};
+		};
+	};
 };
 
 &soc {
-- 
2.26.0


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

* [PATCH v2 2/5] ARM: dts: qcom: msm8974-klte: Remove inherited vreg_boost node
  2020-04-11 18:21 [PATCH v2 0/5] ARM: dts: qcom: klte: Add support for hw keys, flash and usb Iskren Chernev
  2020-04-11 18:21 ` [PATCH v2 1/5] ARM: dts: qcom: msm8974-klte: Add pma8084 regulator nodes Iskren Chernev
@ 2020-04-11 18:21 ` Iskren Chernev
  2020-04-11 18:21 ` [PATCH v2 3/5] ARM: dts: qcom: msm8974-klte: Add gpio-keys nodes Iskren Chernev
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Iskren Chernev @ 2020-04-11 18:21 UTC (permalink / raw)
  To: linux-arm-msm
  Cc: Daniele Debernardi, Andy Gross, Bjorn Andersson, Rob Herring,
	devicetree, linux-kernel, ~postmarketos/upstreaming,
	Iskren Chernev

From: Daniele Debernardi <drebrez@gmail.com>

The Samsung klte does not have a vreg_boost node. vreg_boost also
depends on pm8941-gpio which are not present on the klte.

Signed-off-by: Daniele Debernardi <drebrez@gmail.com>
Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com>
---
 arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
index b6329f24c502..36ad8ff071ca 100644
--- a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
+++ b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
@@ -1,7 +1,5 @@
 // SPDX-License-Identifier: GPL-2.0
 #include "qcom-msm8974pro.dtsi"
-#include "qcom-pm8841.dtsi"
-#include "qcom-pm8941.dtsi"
 #include "qcom-pma8084.dtsi"
 
 / {
@@ -198,6 +196,8 @@ pma8084_l27: l27 {
 			};
 		};
 	};
+
+	/delete-node/ vreg-boost;
 };
 
 &soc {
-- 
2.26.0


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

* [PATCH v2 3/5] ARM: dts: qcom: msm8974-klte: Add gpio-keys nodes
  2020-04-11 18:21 [PATCH v2 0/5] ARM: dts: qcom: klte: Add support for hw keys, flash and usb Iskren Chernev
  2020-04-11 18:21 ` [PATCH v2 1/5] ARM: dts: qcom: msm8974-klte: Add pma8084 regulator nodes Iskren Chernev
  2020-04-11 18:21 ` [PATCH v2 2/5] ARM: dts: qcom: msm8974-klte: Remove inherited vreg_boost node Iskren Chernev
@ 2020-04-11 18:21 ` Iskren Chernev
  2020-04-11 18:21 ` [PATCH v2 4/5] ARM: dts: qcom: msm8974-klte: Add sdhci1 node Iskren Chernev
  2020-04-11 18:21 ` [PATCH v2 5/5] ARM: dts: qcom: msm8974-klte: Add USB node Iskren Chernev
  4 siblings, 0 replies; 6+ messages in thread
From: Iskren Chernev @ 2020-04-11 18:21 UTC (permalink / raw)
  To: linux-arm-msm
  Cc: Daniele Debernardi, Andy Gross, Bjorn Andersson, Rob Herring,
	devicetree, linux-kernel, ~postmarketos/upstreaming

From: Daniele Debernardi <drebrez@gmail.com>

This introduces the gpio-keys nodes for volume/home keys and the
associated pinctrl state.

Signed-off-by: Daniele Debernardi <drebrez@gmail.com>
---
 .../boot/dts/qcom-msm8974-samsung-klte.dts    | 49 +++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
index 36ad8ff071ca..752ab9e99a8c 100644
--- a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
+++ b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
@@ -1,6 +1,9 @@
 // SPDX-License-Identifier: GPL-2.0
 #include "qcom-msm8974pro.dtsi"
 #include "qcom-pma8084.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
 
 / {
 	model = "Samsung Galaxy S5";
@@ -205,4 +208,50 @@ serial@f991e000 {
 		status = "ok";
 	};
 
+	gpio-keys {
+		compatible = "gpio-keys";
+		input-name = "gpio-keys";
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&gpio_keys_pin_a>;
+
+		volume-down {
+			label = "volume_down";
+			gpios = <&pma8084_gpios 2 GPIO_ACTIVE_LOW>;
+			linux,input-type = <1>;
+			linux,code = <KEY_VOLUMEDOWN>;
+			debounce-interval = <15>;
+		};
+
+		home-key {
+			label = "home_key";
+			gpios = <&pma8084_gpios 3 GPIO_ACTIVE_LOW>;
+			linux,input-type = <1>;
+			linux,code = <KEY_HOMEPAGE>;
+			wakeup-source;
+			debounce-interval = <15>;
+		};
+
+		volume-up {
+			label = "volume_up";
+			gpios = <&pma8084_gpios 5 GPIO_ACTIVE_LOW>;
+			linux,input-type = <1>;
+			linux,code = <KEY_VOLUMEUP>;
+			debounce-interval = <15>;
+		};
+	};
+};
+
+&spmi_bus {
+	pma8084@0 {
+		gpios@c000 {
+			gpio_keys_pin_a: gpio-keys-active {
+				pins = "gpio2", "gpio3", "gpio5";
+				function = "normal";
+
+				bias-pull-up;
+				power-source = <PMA8084_GPIO_S4>;
+			};
+		};
+	};
 };
-- 
2.26.0


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

* [PATCH v2 4/5] ARM: dts: qcom: msm8974-klte: Add sdhci1 node
  2020-04-11 18:21 [PATCH v2 0/5] ARM: dts: qcom: klte: Add support for hw keys, flash and usb Iskren Chernev
                   ` (2 preceding siblings ...)
  2020-04-11 18:21 ` [PATCH v2 3/5] ARM: dts: qcom: msm8974-klte: Add gpio-keys nodes Iskren Chernev
@ 2020-04-11 18:21 ` Iskren Chernev
  2020-04-11 18:21 ` [PATCH v2 5/5] ARM: dts: qcom: msm8974-klte: Add USB node Iskren Chernev
  4 siblings, 0 replies; 6+ messages in thread
From: Iskren Chernev @ 2020-04-11 18:21 UTC (permalink / raw)
  To: linux-arm-msm
  Cc: Daniele Debernardi, Andy Gross, Bjorn Andersson, Rob Herring,
	devicetree, linux-kernel, ~postmarketos/upstreaming

From: Daniele Debernardi <drebrez@gmail.com>

This introduces the eMMC sdhci node and its pinctrl state

Signed-off-by: Daniele Debernardi <drebrez@gmail.com>
---
 .../boot/dts/qcom-msm8974-samsung-klte.dts    | 32 +++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
index 752ab9e99a8c..42fc18804021 100644
--- a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
+++ b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
@@ -152,6 +152,9 @@ pma8084_l19: l19 {
 					pma8084_l20: l20 {
 						regulator-min-microvolt = <2950000>;
 						regulator-max-microvolt = <2950000>;
+
+						regulator-allow-set-load;
+						regulator-system-load = <200000>;
 					};
 
 					pma8084_l21: l21 {
@@ -240,6 +243,35 @@ volume-up {
 			debounce-interval = <15>;
 		};
 	};
+
+	pinctrl@fd510000 {
+		sdhc1_pin_a: sdhc1-pin-active {
+			clk {
+				pins = "sdc1_clk";
+				drive-strength = <4>;
+				bias-disable;
+			};
+
+			cmd-data {
+				pins = "sdc1_cmd", "sdc1_data";
+				drive-strength = <4>;
+				bias-pull-up;
+			};
+		};
+	};
+
+	sdhci@f9824900 {
+		status = "ok";
+
+		vmmc-supply = <&pma8084_l20>;
+		vqmmc-supply = <&pma8084_s4>;
+
+		bus-width = <8>;
+		non-removable;
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&sdhc1_pin_a>;
+	};
 };
 
 &spmi_bus {
-- 
2.26.0


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

* [PATCH v2 5/5] ARM: dts: qcom: msm8974-klte: Add USB node
  2020-04-11 18:21 [PATCH v2 0/5] ARM: dts: qcom: klte: Add support for hw keys, flash and usb Iskren Chernev
                   ` (3 preceding siblings ...)
  2020-04-11 18:21 ` [PATCH v2 4/5] ARM: dts: qcom: msm8974-klte: Add sdhci1 node Iskren Chernev
@ 2020-04-11 18:21 ` Iskren Chernev
  4 siblings, 0 replies; 6+ messages in thread
From: Iskren Chernev @ 2020-04-11 18:21 UTC (permalink / raw)
  To: linux-arm-msm
  Cc: Daniele Debernardi, Andy Gross, Bjorn Andersson, Rob Herring,
	devicetree, linux-kernel, ~postmarketos/upstreaming

From: Daniele Debernardi <drebrez@gmail.com>

This introduces the usb node which can be used e.g. for USB_ETH

Signed-off-by: Daniele Debernardi <drebrez@gmail.com>
---
 .../boot/dts/qcom-msm8974-samsung-klte.dts    | 25 +++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
index 42fc18804021..df85d90100d9 100644
--- a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
+++ b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
@@ -272,6 +272,31 @@ sdhci@f9824900 {
 		pinctrl-names = "default";
 		pinctrl-0 = <&sdhc1_pin_a>;
 	};
+
+	usb@f9a55000 {
+		status = "ok";
+
+		phys = <&usb_hs1_phy>;
+		phy-select = <&tcsr 0xb000 0>;
+		/*extcon = <&smbb>, <&usb_id>;*/
+		/*vbus-supply = <&chg_otg>;*/
+
+		hnp-disable;
+		srp-disable;
+		adp-disable;
+
+		ulpi {
+			phy@a {
+				status = "ok";
+
+				v1p8-supply = <&pma8084_l6>;
+				v3p3-supply = <&pma8084_l24>;
+
+				/*extcon = <&smbb>;*/
+				qcom,init-seq = /bits/ 8 <0x1 0x64>;
+			};
+		};
+	};
 };
 
 &spmi_bus {
-- 
2.26.0


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

end of thread, other threads:[~2020-04-11 18:22 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-11 18:21 [PATCH v2 0/5] ARM: dts: qcom: klte: Add support for hw keys, flash and usb Iskren Chernev
2020-04-11 18:21 ` [PATCH v2 1/5] ARM: dts: qcom: msm8974-klte: Add pma8084 regulator nodes Iskren Chernev
2020-04-11 18:21 ` [PATCH v2 2/5] ARM: dts: qcom: msm8974-klte: Remove inherited vreg_boost node Iskren Chernev
2020-04-11 18:21 ` [PATCH v2 3/5] ARM: dts: qcom: msm8974-klte: Add gpio-keys nodes Iskren Chernev
2020-04-11 18:21 ` [PATCH v2 4/5] ARM: dts: qcom: msm8974-klte: Add sdhci1 node Iskren Chernev
2020-04-11 18:21 ` [PATCH v2 5/5] ARM: dts: qcom: msm8974-klte: Add USB node Iskren Chernev

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).