devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/5] arm64: dts: qcom: msm8916-gplus-fl8005a: Add initial device tree
@ 2022-11-21 13:27 Lin, Meng-Bo
  2022-11-21 13:29 ` [PATCH v3 1/5] dt-bindings: vendor-prefixes: Add GPLUS Lin, Meng-Bo
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Lin, Meng-Bo @ 2022-11-21 13:27 UTC (permalink / raw)
  To: linux-kernel
  Cc: Andy Gross, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Linus Walleij, Stanislav Jakubek, Shawn Guo,
	Stephan Gerhold, Nikita Travkin, devicetree, linux-arm-msm,
	~postmarketos/upstreaming

v3: Sort properties in l11 and nodes in touchscreen pinctrl.
v2: Set property status = "okay"; as the last property.
Reword the bindings patch.

GPLUS FL8005A is a tablet using the MSM8916 SoC released in 2015.

Add a device tree for with initial support for:

- GPIO keys
- GPIO LEDs
- pm8916-vibrator
- SDHCI (internal and external storage)
- USB Device Mode
- UART
- WCNSS (WiFi/BT)
- Regulators
- Focaltech FT5402 touchscreen
- SGM3140 Flash LED


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

* [PATCH v3 1/5] dt-bindings: vendor-prefixes: Add GPLUS
  2022-11-21 13:27 [PATCH v3 0/5] arm64: dts: qcom: msm8916-gplus-fl8005a: Add initial device tree Lin, Meng-Bo
@ 2022-11-21 13:29 ` Lin, Meng-Bo
  2022-11-21 13:29 ` [PATCH v3 2/5] dt-bindings: qcom: Document msm8916-gplus-fl8005a Lin, Meng-Bo
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Lin, Meng-Bo @ 2022-11-21 13:29 UTC (permalink / raw)
  To: linux-kernel
  Cc: Andy Gross, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Linus Walleij, Stanislav Jakubek, Shawn Guo,
	Stephan Gerhold, Nikita Travkin, devicetree, linux-arm-msm,
	~postmarketos/upstreaming, Krzysztof Kozlowski

Add vendor prefix for GPLUS.
https://www.gplus.com.tw

Signed-off-by: Lin, Meng-Bo <linmengbo0689@protonmail.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 10c178d97b02..e3f5bb5bb3f4 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -510,6 +510,8 @@ patternProperties:
     description: Shenzhen Huiding Technology Co., Ltd.
   "^google,.*":
     description: Google, Inc.
+  "^gplus,.*":
+    description: GPLUS
   "^grinn,.*":
     description: Grinn
   "^grmn,.*":
-- 
2.30.2



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

* [PATCH v3 2/5] dt-bindings: qcom: Document msm8916-gplus-fl8005a
  2022-11-21 13:27 [PATCH v3 0/5] arm64: dts: qcom: msm8916-gplus-fl8005a: Add initial device tree Lin, Meng-Bo
  2022-11-21 13:29 ` [PATCH v3 1/5] dt-bindings: vendor-prefixes: Add GPLUS Lin, Meng-Bo
@ 2022-11-21 13:29 ` Lin, Meng-Bo
  2022-11-21 13:29 ` [PATCH v3 3/5] arm64: dts: qcom: msm8916-gplus-fl8005a: Add initial device tree Lin, Meng-Bo
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Lin, Meng-Bo @ 2022-11-21 13:29 UTC (permalink / raw)
  To: linux-kernel
  Cc: Andy Gross, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Linus Walleij, Stanislav Jakubek, Shawn Guo,
	Stephan Gerhold, Nikita Travkin, devicetree, linux-arm-msm,
	~postmarketos/upstreaming, Krzysztof Kozlowski

Document the new gplus,fl8005a device tree bindings used in its
device tree.

Signed-off-by: Lin, Meng-Bo <linmengbo0689@protonmail.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
 Documentation/devicetree/bindings/arm/qcom.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index 463509f0f23a..e19aee193c2b 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -182,6 +182,7 @@ properties:
           - enum:
               - alcatel,idol347
               - asus,z00l
+              - gplus,fl8005a
               - huawei,g7
               - longcheer,l8910
               - samsung,a3u-eur
-- 
2.30.2



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

* [PATCH v3 3/5] arm64: dts: qcom: msm8916-gplus-fl8005a: Add initial device tree
  2022-11-21 13:27 [PATCH v3 0/5] arm64: dts: qcom: msm8916-gplus-fl8005a: Add initial device tree Lin, Meng-Bo
  2022-11-21 13:29 ` [PATCH v3 1/5] dt-bindings: vendor-prefixes: Add GPLUS Lin, Meng-Bo
  2022-11-21 13:29 ` [PATCH v3 2/5] dt-bindings: qcom: Document msm8916-gplus-fl8005a Lin, Meng-Bo
@ 2022-11-21 13:29 ` Lin, Meng-Bo
  2022-11-21 13:30 ` [PATCH v3 4/5] arm64: dts: qcom: msm8916-gplus-fl8005a: Add touchscreen Lin, Meng-Bo
  2022-11-21 13:30 ` [PATCH v3 5/5] arm64: dts: qcom: msm8916-gplus-fl8005a: Add flash LED Lin, Meng-Bo
  4 siblings, 0 replies; 6+ messages in thread
From: Lin, Meng-Bo @ 2022-11-21 13:29 UTC (permalink / raw)
  To: linux-kernel
  Cc: Andy Gross, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Linus Walleij, Stanislav Jakubek, Shawn Guo,
	Stephan Gerhold, Nikita Travkin, devicetree, linux-arm-msm,
	~postmarketos/upstreaming

GPLUS FL8005A is a tablet using the MSM8916 SoC released in 2015.

Add a device tree for with initial support for:

- GPIO keys
- GPIO LEDs
- pm8916-vibrator
- SDHCI (internal and external storage)
- USB Device Mode
- UART
- WCNSS (WiFi/BT)
- Regulators

Signed-off-by: Lin, Meng-Bo <linmengbo0689@protonmail.com>
---
 .../boot/dts/qcom/msm8916-gplus-fl8005a.dts   | 239 ++++++++++++++++++
 1 file changed, 239 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/msm8916-gplus-fl8005a.dts

diff --git a/arch/arm64/boot/dts/qcom/msm8916-gplus-fl8005a.dts b/arch/arm64/boot/dts/qcom/msm8916-gplus-fl8005a.dts
new file mode 100644
index 000000000000..a8e8d5273e75
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/msm8916-gplus-fl8005a.dts
@@ -0,0 +1,239 @@
+// SPDX-License-Identifier: GPL-2.0-only
+
+/dts-v1/;
+
+#include "msm8916-pm8916.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
+
+/ {
+	model = "GPLUS FL8005A";
+	compatible = "gplus,fl8005a", "qcom,msm8916";
+	chassis-type = "tablet";
+
+	aliases {
+		serial0 = &blsp1_uart2;
+	};
+
+	chosen {
+		stdout-path = "serial0";
+	};
+
+	gpio-keys {
+		compatible = "gpio-keys";
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&gpio_keys_default>;
+
+		label = "GPIO Buttons";
+
+		button-volume-up {
+			label = "Volume Up";
+			gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_VOLUMEUP>;
+		};
+	};
+
+	gpio-leds {
+		compatible = "gpio-leds";
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&gpio_leds_default>;
+
+		led-red {
+			function = LED_FUNCTION_CHARGING;
+			color = <LED_COLOR_ID_RED>;
+			gpios = <&msmgpio 117 GPIO_ACTIVE_HIGH>;
+			retain-state-suspended;
+		};
+
+		led-green {
+			function = LED_FUNCTION_CHARGING;
+			color = <LED_COLOR_ID_GREEN>;
+			gpios = <&msmgpio 118 GPIO_ACTIVE_HIGH>;
+			retain-state-suspended;
+		};
+	};
+
+	usb_id: usb-id {
+		compatible = "linux,extcon-usb-gpio";
+		id-gpio = <&msmgpio 110 GPIO_ACTIVE_HIGH>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&usb_id_default>;
+	};
+};
+
+&blsp1_uart2 {
+	status = "okay";
+};
+
+&pm8916_resin {
+	linux,code = <KEY_VOLUMEDOWN>;
+	status = "okay";
+};
+
+&pm8916_vib {
+	status = "okay";
+};
+
+&pronto {
+	status = "okay";
+};
+
+&sdhc_1 {
+	pinctrl-names = "default", "sleep";
+	pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
+	pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
+
+	status = "okay";
+};
+
+&sdhc_2 {
+	pinctrl-names = "default", "sleep";
+	pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on>;
+	pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>;
+
+	cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
+
+	status = "okay";
+};
+
+&usb {
+	extcon = <&usb_id>, <&usb_id>;
+	status = "okay";
+};
+
+&usb_hs_phy {
+	extcon = <&usb_id>;
+};
+
+&smd_rpm_regulators {
+	vdd_l1_l2_l3-supply = <&pm8916_s3>;
+	vdd_l4_l5_l6-supply = <&pm8916_s4>;
+	vdd_l7-supply = <&pm8916_s4>;
+
+	s3 {
+		regulator-min-microvolt = <1200000>;
+		regulator-max-microvolt = <1300000>;
+	};
+
+	s4 {
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <2100000>;
+	};
+
+	l1 {
+		regulator-min-microvolt = <1225000>;
+		regulator-max-microvolt = <1225000>;
+	};
+
+	l2 {
+		regulator-min-microvolt = <1200000>;
+		regulator-max-microvolt = <1200000>;
+	};
+
+	l4 {
+		regulator-min-microvolt = <2050000>;
+		regulator-max-microvolt = <2050000>;
+	};
+
+	l5 {
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+	};
+
+	l6 {
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+	};
+
+	l7 {
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+	};
+
+	l8 {
+		regulator-min-microvolt = <2850000>;
+		regulator-max-microvolt = <2900000>;
+	};
+
+	l9 {
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+	};
+
+	l10 {
+		regulator-min-microvolt = <2700000>;
+		regulator-max-microvolt = <2800000>;
+	};
+
+	l11 {
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <2950000>;
+		regulator-system-load = <200000>;
+		regulator-allow-set-load;
+	};
+
+	l12 {
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <2950000>;
+	};
+
+	l13 {
+		regulator-min-microvolt = <3075000>;
+		regulator-max-microvolt = <3075000>;
+	};
+
+	l14 {
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <3300000>;
+	};
+
+	l15 {
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <3300000>;
+	};
+
+	l16 {
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <3300000>;
+	};
+
+	l17 {
+		regulator-min-microvolt = <2850000>;
+		regulator-max-microvolt = <2850000>;
+	};
+
+	l18 {
+		regulator-min-microvolt = <2700000>;
+		regulator-max-microvolt = <2700000>;
+	};
+};
+
+&msmgpio {
+	gpio_keys_default: gpio-keys-default-state {
+		pins = "gpio107";
+		function = "gpio";
+
+		drive-strength = <2>;
+		bias-pull-up;
+	};
+
+	gpio_leds_default: gpio-led-default-state {
+		pins = "gpio117", "gpio118";
+		function = "gpio";
+
+		drive-strength = <2>;
+		bias-disable;
+	};
+
+	usb_id_default: usb-id-default-state {
+		pins = "gpio110";
+		function = "gpio";
+
+		drive-strength = <8>;
+		bias-pull-up;
+	};
+};
-- 
2.30.2



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

* [PATCH v3 4/5] arm64: dts: qcom: msm8916-gplus-fl8005a: Add touchscreen
  2022-11-21 13:27 [PATCH v3 0/5] arm64: dts: qcom: msm8916-gplus-fl8005a: Add initial device tree Lin, Meng-Bo
                   ` (2 preceding siblings ...)
  2022-11-21 13:29 ` [PATCH v3 3/5] arm64: dts: qcom: msm8916-gplus-fl8005a: Add initial device tree Lin, Meng-Bo
@ 2022-11-21 13:30 ` Lin, Meng-Bo
  2022-11-21 13:30 ` [PATCH v3 5/5] arm64: dts: qcom: msm8916-gplus-fl8005a: Add flash LED Lin, Meng-Bo
  4 siblings, 0 replies; 6+ messages in thread
From: Lin, Meng-Bo @ 2022-11-21 13:30 UTC (permalink / raw)
  To: linux-kernel
  Cc: Andy Gross, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Linus Walleij, Stanislav Jakubek, Shawn Guo,
	Stephan Gerhold, Nikita Travkin, devicetree, linux-arm-msm,
	~postmarketos/upstreaming

FL8005A uses a Focaltech FT5402 touchscreen that is connected to
blsp_i2c5. Add it to the device tree.

Signed-off-by: Lin, Meng-Bo <linmengbo0689@protonmail.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
 .../boot/dts/qcom/msm8916-gplus-fl8005a.dts   | 44 +++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8916-gplus-fl8005a.dts b/arch/arm64/boot/dts/qcom/msm8916-gplus-fl8005a.dts
index a8e8d5273e75..2cac99e3e52c 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-gplus-fl8005a.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-gplus-fl8005a.dts
@@ -65,6 +65,32 @@ usb_id: usb-id {
 	};
 };
 
+&blsp_i2c5 {
+	status = "okay";
+
+	touchscreen@38 {
+		/* Actually ft5402 */
+		compatible = "edt,edt-ft5406";
+		reg = <0x38>;
+
+		interrupt-parent = <&msmgpio>;
+		interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
+
+		reset-gpios = <&msmgpio 12 GPIO_ACTIVE_LOW>;
+
+		vcc-supply = <&pm8916_l17>;
+		iovcc-supply = <&pm8916_l6>;
+
+		touchscreen-size-x = <800>;
+		touchscreen-size-y = <500>;
+		touchscreen-inverted-x;
+		touchscreen-swapped-x-y;
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&touchscreen_default>;
+	};
+};
+
 &blsp1_uart2 {
 	status = "okay";
 };
@@ -229,6 +255,24 @@ gpio_leds_default: gpio-led-default-state {
 		bias-disable;
 	};
 
+	touchscreen_default: touchscreen-default-state {
+		reset-pins {
+			pins = "gpio12";
+			function = "gpio";
+
+			drive-strength = <2>;
+			bias-disable;
+		};
+
+		touchscreen-pins {
+			pins = "gpio13";
+			function = "gpio";
+
+			drive-strength = <2>;
+			bias-pull-up;
+		};
+	};
+
 	usb_id_default: usb-id-default-state {
 		pins = "gpio110";
 		function = "gpio";
-- 
2.30.2



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

* [PATCH v3 5/5] arm64: dts: qcom: msm8916-gplus-fl8005a: Add flash LED
  2022-11-21 13:27 [PATCH v3 0/5] arm64: dts: qcom: msm8916-gplus-fl8005a: Add initial device tree Lin, Meng-Bo
                   ` (3 preceding siblings ...)
  2022-11-21 13:30 ` [PATCH v3 4/5] arm64: dts: qcom: msm8916-gplus-fl8005a: Add touchscreen Lin, Meng-Bo
@ 2022-11-21 13:30 ` Lin, Meng-Bo
  4 siblings, 0 replies; 6+ messages in thread
From: Lin, Meng-Bo @ 2022-11-21 13:30 UTC (permalink / raw)
  To: linux-kernel
  Cc: Andy Gross, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Linus Walleij, Stanislav Jakubek, Shawn Guo,
	Stephan Gerhold, Nikita Travkin, devicetree, linux-arm-msm,
	~postmarketos/upstreaming

FL8005A uses SGM3140 Flash LED driver. Add it to the device tree.

Signed-off-by: Lin, Meng-Bo <linmengbo0689@protonmail.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
 .../boot/dts/qcom/msm8916-gplus-fl8005a.dts   | 23 +++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8916-gplus-fl8005a.dts b/arch/arm64/boot/dts/qcom/msm8916-gplus-fl8005a.dts
index 2cac99e3e52c..b28d7d0f1ed5 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-gplus-fl8005a.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-gplus-fl8005a.dts
@@ -21,6 +21,21 @@ chosen {
 		stdout-path = "serial0";
 	};
 
+	flash-led-controller {
+		compatible = "sgmicro,sgm3140";
+		enable-gpios = <&msmgpio 31 GPIO_ACTIVE_HIGH>;
+		flash-gpios = <&msmgpio 32 GPIO_ACTIVE_HIGH>;
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&camera_flash_default>;
+
+		flash_led: led {
+			function = LED_FUNCTION_FLASH;
+			color = <LED_COLOR_ID_WHITE>;
+			flash-max-timeout-us = <250000>;
+		};
+	};
+
 	gpio-keys {
 		compatible = "gpio-keys";
 
@@ -239,6 +254,14 @@ l18 {
 };
 
 &msmgpio {
+	camera_flash_default: camera-flash-default-state {
+		pins = "gpio31", "gpio32";
+		function = "gpio";
+
+		drive-strength = <2>;
+		bias-disable;
+	};
+
 	gpio_keys_default: gpio-keys-default-state {
 		pins = "gpio107";
 		function = "gpio";
-- 
2.30.2



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

end of thread, other threads:[~2022-11-21 13:30 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-21 13:27 [PATCH v3 0/5] arm64: dts: qcom: msm8916-gplus-fl8005a: Add initial device tree Lin, Meng-Bo
2022-11-21 13:29 ` [PATCH v3 1/5] dt-bindings: vendor-prefixes: Add GPLUS Lin, Meng-Bo
2022-11-21 13:29 ` [PATCH v3 2/5] dt-bindings: qcom: Document msm8916-gplus-fl8005a Lin, Meng-Bo
2022-11-21 13:29 ` [PATCH v3 3/5] arm64: dts: qcom: msm8916-gplus-fl8005a: Add initial device tree Lin, Meng-Bo
2022-11-21 13:30 ` [PATCH v3 4/5] arm64: dts: qcom: msm8916-gplus-fl8005a: Add touchscreen Lin, Meng-Bo
2022-11-21 13:30 ` [PATCH v3 5/5] arm64: dts: qcom: msm8916-gplus-fl8005a: Add flash LED Lin, Meng-Bo

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