linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v15 0/3] Add Wacom I2C support to rM2
@ 2021-12-02 11:56 Alistair Francis
  2021-12-02 11:56 ` [PATCH v15 1/3] HID: quirks: Allow inverting the absolute X/Y values Alistair Francis
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Alistair Francis @ 2021-12-02 11:56 UTC (permalink / raw)
  To: benjamin.tissoires, shawnguo, s.hauer, dmitry.torokhov
  Cc: Ping.Cheng, linux-arm-kernel, linux-imx, alistair23,
	tatsunosuke.tobita, linux-input, Jason.Gerecke, linux-kernel,
	jikos, martin.chen, devicetree, Alistair Francis

Add Wacom I2C support for the reMarkable 2 eInk tablet using the
generic I2C HID framework.

Alistair Francis (3):
  HID: quirks: Allow inverting the absolute X/Y values
  HID: i2c-hid-of: Expose the touchscreen-inverted properties
  ARM: dts: imx7d: remarkable2: add wacom digitizer device

 .../bindings/input/hid-over-i2c.txt           |  2 +
 arch/arm/boot/dts/imx7d-remarkable2.dts       | 59 +++++++++++++++++++
 drivers/hid/hid-input.c                       |  6 ++
 drivers/hid/i2c-hid/i2c-hid-acpi.c            |  2 +-
 drivers/hid/i2c-hid/i2c-hid-core.c            |  4 +-
 drivers/hid/i2c-hid/i2c-hid-of-goodix.c       |  2 +-
 drivers/hid/i2c-hid/i2c-hid-of.c              | 11 +++-
 drivers/hid/i2c-hid/i2c-hid.h                 |  2 +-
 include/linux/hid.h                           |  2 +
 9 files changed, 85 insertions(+), 5 deletions(-)

-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v15 1/3] HID: quirks: Allow inverting the absolute X/Y values
  2021-12-02 11:56 [PATCH v15 0/3] Add Wacom I2C support to rM2 Alistair Francis
@ 2021-12-02 11:56 ` Alistair Francis
  2021-12-02 11:56 ` [PATCH v15 2/3] HID: i2c-hid-of: Expose the touchscreen-inverted properties Alistair Francis
  2021-12-02 11:56 ` [PATCH v15 3/3] ARM: dts: imx7d: remarkable2: add wacom digitizer device Alistair Francis
  2 siblings, 0 replies; 7+ messages in thread
From: Alistair Francis @ 2021-12-02 11:56 UTC (permalink / raw)
  To: benjamin.tissoires, shawnguo, s.hauer, dmitry.torokhov
  Cc: Ping.Cheng, linux-arm-kernel, linux-imx, alistair23,
	tatsunosuke.tobita, linux-input, Jason.Gerecke, linux-kernel,
	jikos, martin.chen, devicetree, Alistair Francis

Add a HID_QUIRK_X_INVERT/HID_QUIRK_Y_INVERT quirk that can be used
to invert the X/Y values.

Signed-off-by: Alistair Francis <alistair@alistair23.me>
---
 drivers/hid/hid-input.c | 6 ++++++
 include/linux/hid.h     | 2 ++
 2 files changed, 8 insertions(+)

diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index 217f2d1b91c5..83ee803186a1 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -1331,6 +1331,12 @@ void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct
 
 	input = field->hidinput->input;
 
+	if (usage->type == EV_ABS &&
+		(((*quirks & HID_QUIRK_X_INVERT) && usage->code == ABS_X) ||
+		 ((*quirks & HID_QUIRK_Y_INVERT) && usage->code == ABS_Y))) {
+			value = field->logical_maximum - value;
+	}
+
 	if (usage->hat_min < usage->hat_max || usage->hat_dir) {
 		int hat_dir = usage->hat_dir;
 		if (!hat_dir)
diff --git a/include/linux/hid.h b/include/linux/hid.h
index 9e067f937dbc..4959385ca588 100644
--- a/include/linux/hid.h
+++ b/include/linux/hid.h
@@ -349,6 +349,8 @@ struct hid_item {
 /* BIT(9) reserved for backward compatibility, was NO_INIT_INPUT_REPORTS */
 #define HID_QUIRK_ALWAYS_POLL			BIT(10)
 #define HID_QUIRK_INPUT_PER_APP			BIT(11)
+#define HID_QUIRK_X_INVERT			BIT(12)
+#define HID_QUIRK_Y_INVERT			BIT(13)
 #define HID_QUIRK_SKIP_OUTPUT_REPORTS		BIT(16)
 #define HID_QUIRK_SKIP_OUTPUT_REPORT_ID		BIT(17)
 #define HID_QUIRK_NO_OUTPUT_REPORTS_ON_INTR_EP	BIT(18)
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v15 2/3] HID: i2c-hid-of: Expose the touchscreen-inverted properties
  2021-12-02 11:56 [PATCH v15 0/3] Add Wacom I2C support to rM2 Alistair Francis
  2021-12-02 11:56 ` [PATCH v15 1/3] HID: quirks: Allow inverting the absolute X/Y values Alistair Francis
@ 2021-12-02 11:56 ` Alistair Francis
  2021-12-02 11:56 ` [PATCH v15 3/3] ARM: dts: imx7d: remarkable2: add wacom digitizer device Alistair Francis
  2 siblings, 0 replies; 7+ messages in thread
From: Alistair Francis @ 2021-12-02 11:56 UTC (permalink / raw)
  To: benjamin.tissoires, shawnguo, s.hauer, dmitry.torokhov
  Cc: Ping.Cheng, linux-arm-kernel, linux-imx, alistair23,
	tatsunosuke.tobita, linux-input, Jason.Gerecke, linux-kernel,
	jikos, martin.chen, devicetree, Alistair Francis, Rob Herring

Allow the touchscreen-inverted-x/y device tree properties to control the
HID_QUIRK_X_INVERT/HID_QUIRK_Y_INVERT quirks for the hid-input device.

Signed-off-by: Alistair Francis <alistair@alistair23.me>
Acked-by: Rob Herring <robh@kernel.org>
---
 .../devicetree/bindings/input/hid-over-i2c.txt        |  2 ++
 drivers/hid/i2c-hid/i2c-hid-acpi.c                    |  2 +-
 drivers/hid/i2c-hid/i2c-hid-core.c                    |  4 +++-
 drivers/hid/i2c-hid/i2c-hid-of-goodix.c               |  2 +-
 drivers/hid/i2c-hid/i2c-hid-of.c                      | 11 ++++++++++-
 drivers/hid/i2c-hid/i2c-hid.h                         |  2 +-
 6 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/Documentation/devicetree/bindings/input/hid-over-i2c.txt b/Documentation/devicetree/bindings/input/hid-over-i2c.txt
index c76bafaf98d2..34c43d3bddfd 100644
--- a/Documentation/devicetree/bindings/input/hid-over-i2c.txt
+++ b/Documentation/devicetree/bindings/input/hid-over-i2c.txt
@@ -32,6 +32,8 @@ device-specific compatible properties, which should be used in addition to the
 - vdd-supply: phandle of the regulator that provides the supply voltage.
 - post-power-on-delay-ms: time required by the device after enabling its regulators
   or powering it on, before it is ready for communication.
+- touchscreen-inverted-x: See touchscreen.txt
+- touchscreen-inverted-y: See touchscreen.txt
 
 Example:
 
diff --git a/drivers/hid/i2c-hid/i2c-hid-acpi.c b/drivers/hid/i2c-hid/i2c-hid-acpi.c
index a6f0257a26de..b96ae15e0ad9 100644
--- a/drivers/hid/i2c-hid/i2c-hid-acpi.c
+++ b/drivers/hid/i2c-hid/i2c-hid-acpi.c
@@ -111,7 +111,7 @@ static int i2c_hid_acpi_probe(struct i2c_client *client)
 	}
 
 	return i2c_hid_core_probe(client, &ihid_acpi->ops,
-				  hid_descriptor_address);
+				  hid_descriptor_address, 0);
 }
 
 static const struct acpi_device_id i2c_hid_acpi_match[] = {
diff --git a/drivers/hid/i2c-hid/i2c-hid-core.c b/drivers/hid/i2c-hid/i2c-hid-core.c
index 517141138b00..4804d71e5293 100644
--- a/drivers/hid/i2c-hid/i2c-hid-core.c
+++ b/drivers/hid/i2c-hid/i2c-hid-core.c
@@ -912,7 +912,7 @@ static void i2c_hid_core_shutdown_tail(struct i2c_hid *ihid)
 }
 
 int i2c_hid_core_probe(struct i2c_client *client, struct i2chid_ops *ops,
-		       u16 hid_descriptor_address)
+		       u16 hid_descriptor_address, u32 quirks)
 {
 	int ret;
 	struct i2c_hid *ihid;
@@ -1009,6 +1009,8 @@ int i2c_hid_core_probe(struct i2c_client *client, struct i2chid_ops *ops,
 		goto err_mem_free;
 	}
 
+	hid->quirks |= quirks;
+
 	return 0;
 
 err_mem_free:
diff --git a/drivers/hid/i2c-hid/i2c-hid-of-goodix.c b/drivers/hid/i2c-hid/i2c-hid-of-goodix.c
index 52674149a275..b4dad66fa954 100644
--- a/drivers/hid/i2c-hid/i2c-hid-of-goodix.c
+++ b/drivers/hid/i2c-hid/i2c-hid-of-goodix.c
@@ -150,7 +150,7 @@ static int i2c_hid_of_goodix_probe(struct i2c_client *client,
 		goodix_i2c_hid_deassert_reset(ihid_goodix, true);
 	mutex_unlock(&ihid_goodix->regulator_mutex);
 
-	return i2c_hid_core_probe(client, &ihid_goodix->ops, 0x0001);
+	return i2c_hid_core_probe(client, &ihid_goodix->ops, 0x0001, 0);
 }
 
 static const struct goodix_i2c_hid_timing_data goodix_gt7375p_timing_data = {
diff --git a/drivers/hid/i2c-hid/i2c-hid-of.c b/drivers/hid/i2c-hid/i2c-hid-of.c
index 4bf7cea92637..b16349d6e9de 100644
--- a/drivers/hid/i2c-hid/i2c-hid-of.c
+++ b/drivers/hid/i2c-hid/i2c-hid-of.c
@@ -21,6 +21,7 @@
 
 #include <linux/delay.h>
 #include <linux/device.h>
+#include <linux/hid.h>
 #include <linux/i2c.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
@@ -71,6 +72,7 @@ static int i2c_hid_of_probe(struct i2c_client *client,
 	struct device *dev = &client->dev;
 	struct i2c_hid_of *ihid_of;
 	u16 hid_descriptor_address;
+	u32 quirks = 0;
 	int ret;
 	u32 val;
 
@@ -105,8 +107,15 @@ static int i2c_hid_of_probe(struct i2c_client *client,
 	if (ret)
 		return ret;
 
+	if (device_property_read_bool(dev, "touchscreen-inverted-x")) {
+		quirks |= HID_QUIRK_X_INVERT;
+	}
+	if (device_property_read_bool(dev, "touchscreen-inverted-y")) {
+		quirks |= HID_QUIRK_Y_INVERT;
+	}
+
 	return i2c_hid_core_probe(client, &ihid_of->ops,
-				  hid_descriptor_address);
+				  hid_descriptor_address, quirks);
 }
 
 static const struct of_device_id i2c_hid_of_match[] = {
diff --git a/drivers/hid/i2c-hid/i2c-hid.h b/drivers/hid/i2c-hid/i2c-hid.h
index 05a7827d211a..236cc062d5ef 100644
--- a/drivers/hid/i2c-hid/i2c-hid.h
+++ b/drivers/hid/i2c-hid/i2c-hid.h
@@ -32,7 +32,7 @@ struct i2chid_ops {
 };
 
 int i2c_hid_core_probe(struct i2c_client *client, struct i2chid_ops *ops,
-		       u16 hid_descriptor_address);
+		       u16 hid_descriptor_address, u32 quirks);
 int i2c_hid_core_remove(struct i2c_client *client);
 
 void i2c_hid_core_shutdown(struct i2c_client *client);
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v15 3/3] ARM: dts: imx7d: remarkable2: add wacom digitizer device
  2021-12-02 11:56 [PATCH v15 0/3] Add Wacom I2C support to rM2 Alistair Francis
  2021-12-02 11:56 ` [PATCH v15 1/3] HID: quirks: Allow inverting the absolute X/Y values Alistair Francis
  2021-12-02 11:56 ` [PATCH v15 2/3] HID: i2c-hid-of: Expose the touchscreen-inverted properties Alistair Francis
@ 2021-12-02 11:56 ` Alistair Francis
  2021-12-03 15:57   ` Benjamin Tissoires
  2021-12-06  3:03   ` Shawn Guo
  2 siblings, 2 replies; 7+ messages in thread
From: Alistair Francis @ 2021-12-02 11:56 UTC (permalink / raw)
  To: benjamin.tissoires, shawnguo, s.hauer, dmitry.torokhov
  Cc: Ping.Cheng, linux-arm-kernel, linux-imx, alistair23,
	tatsunosuke.tobita, linux-input, Jason.Gerecke, linux-kernel,
	jikos, martin.chen, devicetree, Alistair Francis

Signed-off-by: Alistair Francis <alistair@alistair23.me>
---
 arch/arm/boot/dts/imx7d-remarkable2.dts | 59 +++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/arch/arm/boot/dts/imx7d-remarkable2.dts b/arch/arm/boot/dts/imx7d-remarkable2.dts
index 89cbf13097a4..a2a91bfdd98e 100644
--- a/arch/arm/boot/dts/imx7d-remarkable2.dts
+++ b/arch/arm/boot/dts/imx7d-remarkable2.dts
@@ -34,6 +34,19 @@ reg_brcm: regulator-brcm {
 		startup-delay-us = <150>;
 	};
 
+	reg_digitizer: regulator-digitizer {
+		compatible = "regulator-fixed";
+		regulator-name = "VDD_3V3_DIGITIZER";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		pinctrl-names = "default", "sleep";
+		pinctrl-0 = <&pinctrl_digitizer_reg>;
+		pinctrl-1 = <&pinctrl_digitizer_reg>;
+		gpio = <&gpio1 6 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+		startup-delay-us = <100000>; /* 100 ms */
+	};
+
 	wifi_pwrseq: wifi_pwrseq {
 		compatible = "mmc-pwrseq-simple";
 		pinctrl-names = "default";
@@ -51,6 +64,26 @@ &clks {
 	assigned-clock-rates = <0>, <32768>;
 };
 
+&i2c1 {
+	clock-frequency = <400000>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_i2c1>;
+	status = "okay";
+
+	wacom_digitizer: digitizer@9 {
+		compatible = "hid-over-i2c";
+		reg = <0x09>;
+		hid-descr-addr = <0x01>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_wacom>;
+		interrupt-parent = <&gpio1>;
+		interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
+		touchscreen-inverted-x;
+		touchscreen-inverted-y;
+		vdd-supply = <&reg_digitizer>;
+	};
+};
+
 &snvs_pwrkey {
 	status = "okay";
 };
@@ -117,6 +150,25 @@ &wdog1 {
 	fsl,ext-reset-output;
 };
 
+&iomuxc_lpsr {
+	pinctrl_digitizer_reg: digitizerreggrp {
+		fsl,pins = <
+			/* DIGITIZER_PWR_EN */
+			MX7D_PAD_LPSR_GPIO1_IO06__GPIO1_IO6	0x14
+		>;
+	};
+
+	pinctrl_wacom: wacomgrp {
+		fsl,pins = <
+			/*MX7D_PAD_LPSR_GPIO1_IO05__GPIO1_IO5	0x00000014 FWE */
+			MX7D_PAD_LPSR_GPIO1_IO04__GPIO1_IO4	0x00000074 /* PDCTB */
+			MX7D_PAD_LPSR_GPIO1_IO01__GPIO1_IO1	0x00000034 /* WACOM INT */
+			/*MX7D_PAD_LPSR_GPIO1_IO06__GPIO1_IO6	0x00000014 WACOM PWR ENABLE */
+			/*MX7D_PAD_LPSR_GPIO1_IO00__GPIO1_IO0	0x00000074 WACOM RESET */
+		>;
+	};
+};
+
 &iomuxc {
 	pinctrl_brcm_reg: brcmreggrp {
 		fsl,pins = <
@@ -125,6 +177,13 @@ MX7D_PAD_SAI1_TX_BCLK__GPIO6_IO13	0x14
 		>;
 	};
 
+	pinctrl_i2c1: i2c1grp {
+		fsl,pins = <
+			MX7D_PAD_I2C1_SDA__I2C1_SDA		0x4000007f
+			MX7D_PAD_I2C1_SCL__I2C1_SCL		0x4000007f
+		>;
+	};
+
 	pinctrl_uart1: uart1grp {
 		fsl,pins = <
 			MX7D_PAD_UART1_TX_DATA__UART1_DCE_TX	0x79
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v15 3/3] ARM: dts: imx7d: remarkable2: add wacom digitizer device
  2021-12-02 11:56 ` [PATCH v15 3/3] ARM: dts: imx7d: remarkable2: add wacom digitizer device Alistair Francis
@ 2021-12-03 15:57   ` Benjamin Tissoires
  2021-12-06  3:00     ` Shawn Guo
  2021-12-06  3:03   ` Shawn Guo
  1 sibling, 1 reply; 7+ messages in thread
From: Benjamin Tissoires @ 2021-12-03 15:57 UTC (permalink / raw)
  To: Alistair Francis
  Cc: Shawn Guo, Sascha Hauer, Dmitry Torokhov, Ping Cheng, Linux ARM,
	dl-linux-imx, Alistair Francis, tatsunosuke.tobita,
	open list:HID CORE LAYER, Jason Gerecke, lkml, Jiri Kosina,
	martin.chen, DTML

On Thu, Dec 2, 2021 at 12:56 PM Alistair Francis <alistair@alistair23.me> wrote:
>
> Signed-off-by: Alistair Francis <alistair@alistair23.me>
> ---
>  arch/arm/boot/dts/imx7d-remarkable2.dts | 59 +++++++++++++++++++++++++

I think I am always asking the same question, but is it fine for me to
take this patch through the hid tree?
I seem to remember that this was a little bit free for all but I'd
like to get the confirmation first.

Cheers,
Benjamin


>  1 file changed, 59 insertions(+)
>
> diff --git a/arch/arm/boot/dts/imx7d-remarkable2.dts b/arch/arm/boot/dts/imx7d-remarkable2.dts
> index 89cbf13097a4..a2a91bfdd98e 100644
> --- a/arch/arm/boot/dts/imx7d-remarkable2.dts
> +++ b/arch/arm/boot/dts/imx7d-remarkable2.dts
> @@ -34,6 +34,19 @@ reg_brcm: regulator-brcm {
>                 startup-delay-us = <150>;
>         };
>
> +       reg_digitizer: regulator-digitizer {
> +               compatible = "regulator-fixed";
> +               regulator-name = "VDD_3V3_DIGITIZER";
> +               regulator-min-microvolt = <3300000>;
> +               regulator-max-microvolt = <3300000>;
> +               pinctrl-names = "default", "sleep";
> +               pinctrl-0 = <&pinctrl_digitizer_reg>;
> +               pinctrl-1 = <&pinctrl_digitizer_reg>;
> +               gpio = <&gpio1 6 GPIO_ACTIVE_HIGH>;
> +               enable-active-high;
> +               startup-delay-us = <100000>; /* 100 ms */
> +       };
> +
>         wifi_pwrseq: wifi_pwrseq {
>                 compatible = "mmc-pwrseq-simple";
>                 pinctrl-names = "default";
> @@ -51,6 +64,26 @@ &clks {
>         assigned-clock-rates = <0>, <32768>;
>  };
>
> +&i2c1 {
> +       clock-frequency = <400000>;
> +       pinctrl-names = "default";
> +       pinctrl-0 = <&pinctrl_i2c1>;
> +       status = "okay";
> +
> +       wacom_digitizer: digitizer@9 {
> +               compatible = "hid-over-i2c";
> +               reg = <0x09>;
> +               hid-descr-addr = <0x01>;
> +               pinctrl-names = "default";
> +               pinctrl-0 = <&pinctrl_wacom>;
> +               interrupt-parent = <&gpio1>;
> +               interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
> +               touchscreen-inverted-x;
> +               touchscreen-inverted-y;
> +               vdd-supply = <&reg_digitizer>;
> +       };
> +};
> +
>  &snvs_pwrkey {
>         status = "okay";
>  };
> @@ -117,6 +150,25 @@ &wdog1 {
>         fsl,ext-reset-output;
>  };
>
> +&iomuxc_lpsr {
> +       pinctrl_digitizer_reg: digitizerreggrp {
> +               fsl,pins = <
> +                       /* DIGITIZER_PWR_EN */
> +                       MX7D_PAD_LPSR_GPIO1_IO06__GPIO1_IO6     0x14
> +               >;
> +       };
> +
> +       pinctrl_wacom: wacomgrp {
> +               fsl,pins = <
> +                       /*MX7D_PAD_LPSR_GPIO1_IO05__GPIO1_IO5   0x00000014 FWE */
> +                       MX7D_PAD_LPSR_GPIO1_IO04__GPIO1_IO4     0x00000074 /* PDCTB */
> +                       MX7D_PAD_LPSR_GPIO1_IO01__GPIO1_IO1     0x00000034 /* WACOM INT */
> +                       /*MX7D_PAD_LPSR_GPIO1_IO06__GPIO1_IO6   0x00000014 WACOM PWR ENABLE */
> +                       /*MX7D_PAD_LPSR_GPIO1_IO00__GPIO1_IO0   0x00000074 WACOM RESET */
> +               >;
> +       };
> +};
> +
>  &iomuxc {
>         pinctrl_brcm_reg: brcmreggrp {
>                 fsl,pins = <
> @@ -125,6 +177,13 @@ MX7D_PAD_SAI1_TX_BCLK__GPIO6_IO13  0x14
>                 >;
>         };
>
> +       pinctrl_i2c1: i2c1grp {
> +               fsl,pins = <
> +                       MX7D_PAD_I2C1_SDA__I2C1_SDA             0x4000007f
> +                       MX7D_PAD_I2C1_SCL__I2C1_SCL             0x4000007f
> +               >;
> +       };
> +
>         pinctrl_uart1: uart1grp {
>                 fsl,pins = <
>                         MX7D_PAD_UART1_TX_DATA__UART1_DCE_TX    0x79
> --
> 2.31.1
>


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v15 3/3] ARM: dts: imx7d: remarkable2: add wacom digitizer device
  2021-12-03 15:57   ` Benjamin Tissoires
@ 2021-12-06  3:00     ` Shawn Guo
  0 siblings, 0 replies; 7+ messages in thread
From: Shawn Guo @ 2021-12-06  3:00 UTC (permalink / raw)
  To: Benjamin Tissoires
  Cc: Alistair Francis, Sascha Hauer, Dmitry Torokhov, Ping Cheng,
	Linux ARM, dl-linux-imx, Alistair Francis, tatsunosuke.tobita,
	open list:HID CORE LAYER, Jason Gerecke, lkml, Jiri Kosina,
	martin.chen, DTML

On Fri, Dec 03, 2021 at 04:57:11PM +0100, Benjamin Tissoires wrote:
> On Thu, Dec 2, 2021 at 12:56 PM Alistair Francis <alistair@alistair23.me> wrote:
> >
> > Signed-off-by: Alistair Francis <alistair@alistair23.me>
> > ---
> >  arch/arm/boot/dts/imx7d-remarkable2.dts | 59 +++++++++++++++++++++++++
> 
> I think I am always asking the same question, but is it fine for me to
> take this patch through the hid tree?
> I seem to remember that this was a little bit free for all but I'd
> like to get the confirmation first.

I will take care of dts patch.

Shawn

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v15 3/3] ARM: dts: imx7d: remarkable2: add wacom digitizer device
  2021-12-02 11:56 ` [PATCH v15 3/3] ARM: dts: imx7d: remarkable2: add wacom digitizer device Alistair Francis
  2021-12-03 15:57   ` Benjamin Tissoires
@ 2021-12-06  3:03   ` Shawn Guo
  1 sibling, 0 replies; 7+ messages in thread
From: Shawn Guo @ 2021-12-06  3:03 UTC (permalink / raw)
  To: Alistair Francis
  Cc: benjamin.tissoires, s.hauer, dmitry.torokhov, Ping.Cheng,
	linux-arm-kernel, linux-imx, alistair23, tatsunosuke.tobita,
	linux-input, Jason.Gerecke, linux-kernel, jikos, martin.chen,
	devicetree

On Thu, Dec 02, 2021 at 09:56:22PM +1000, Alistair Francis wrote:
> Signed-off-by: Alistair Francis <alistair@alistair23.me>

Please write up some commit log.

Shawn

> ---
>  arch/arm/boot/dts/imx7d-remarkable2.dts | 59 +++++++++++++++++++++++++
>  1 file changed, 59 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/imx7d-remarkable2.dts b/arch/arm/boot/dts/imx7d-remarkable2.dts
> index 89cbf13097a4..a2a91bfdd98e 100644
> --- a/arch/arm/boot/dts/imx7d-remarkable2.dts
> +++ b/arch/arm/boot/dts/imx7d-remarkable2.dts
> @@ -34,6 +34,19 @@ reg_brcm: regulator-brcm {
>  		startup-delay-us = <150>;
>  	};
>  
> +	reg_digitizer: regulator-digitizer {
> +		compatible = "regulator-fixed";
> +		regulator-name = "VDD_3V3_DIGITIZER";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		pinctrl-names = "default", "sleep";
> +		pinctrl-0 = <&pinctrl_digitizer_reg>;
> +		pinctrl-1 = <&pinctrl_digitizer_reg>;
> +		gpio = <&gpio1 6 GPIO_ACTIVE_HIGH>;
> +		enable-active-high;
> +		startup-delay-us = <100000>; /* 100 ms */
> +	};
> +
>  	wifi_pwrseq: wifi_pwrseq {
>  		compatible = "mmc-pwrseq-simple";
>  		pinctrl-names = "default";
> @@ -51,6 +64,26 @@ &clks {
>  	assigned-clock-rates = <0>, <32768>;
>  };
>  
> +&i2c1 {
> +	clock-frequency = <400000>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_i2c1>;
> +	status = "okay";
> +
> +	wacom_digitizer: digitizer@9 {
> +		compatible = "hid-over-i2c";
> +		reg = <0x09>;
> +		hid-descr-addr = <0x01>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_wacom>;
> +		interrupt-parent = <&gpio1>;
> +		interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
> +		touchscreen-inverted-x;
> +		touchscreen-inverted-y;
> +		vdd-supply = <&reg_digitizer>;
> +	};
> +};
> +
>  &snvs_pwrkey {
>  	status = "okay";
>  };
> @@ -117,6 +150,25 @@ &wdog1 {
>  	fsl,ext-reset-output;
>  };
>  
> +&iomuxc_lpsr {
> +	pinctrl_digitizer_reg: digitizerreggrp {
> +		fsl,pins = <
> +			/* DIGITIZER_PWR_EN */
> +			MX7D_PAD_LPSR_GPIO1_IO06__GPIO1_IO6	0x14
> +		>;
> +	};
> +
> +	pinctrl_wacom: wacomgrp {
> +		fsl,pins = <
> +			/*MX7D_PAD_LPSR_GPIO1_IO05__GPIO1_IO5	0x00000014 FWE */
> +			MX7D_PAD_LPSR_GPIO1_IO04__GPIO1_IO4	0x00000074 /* PDCTB */
> +			MX7D_PAD_LPSR_GPIO1_IO01__GPIO1_IO1	0x00000034 /* WACOM INT */
> +			/*MX7D_PAD_LPSR_GPIO1_IO06__GPIO1_IO6	0x00000014 WACOM PWR ENABLE */
> +			/*MX7D_PAD_LPSR_GPIO1_IO00__GPIO1_IO0	0x00000074 WACOM RESET */
> +		>;
> +	};
> +};
> +
>  &iomuxc {
>  	pinctrl_brcm_reg: brcmreggrp {
>  		fsl,pins = <
> @@ -125,6 +177,13 @@ MX7D_PAD_SAI1_TX_BCLK__GPIO6_IO13	0x14
>  		>;
>  	};
>  
> +	pinctrl_i2c1: i2c1grp {
> +		fsl,pins = <
> +			MX7D_PAD_I2C1_SDA__I2C1_SDA		0x4000007f
> +			MX7D_PAD_I2C1_SCL__I2C1_SCL		0x4000007f
> +		>;
> +	};
> +
>  	pinctrl_uart1: uart1grp {
>  		fsl,pins = <
>  			MX7D_PAD_UART1_TX_DATA__UART1_DCE_TX	0x79
> -- 
> 2.31.1
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2021-12-06  3:05 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-02 11:56 [PATCH v15 0/3] Add Wacom I2C support to rM2 Alistair Francis
2021-12-02 11:56 ` [PATCH v15 1/3] HID: quirks: Allow inverting the absolute X/Y values Alistair Francis
2021-12-02 11:56 ` [PATCH v15 2/3] HID: i2c-hid-of: Expose the touchscreen-inverted properties Alistair Francis
2021-12-02 11:56 ` [PATCH v15 3/3] ARM: dts: imx7d: remarkable2: add wacom digitizer device Alistair Francis
2021-12-03 15:57   ` Benjamin Tissoires
2021-12-06  3:00     ` Shawn Guo
2021-12-06  3:03   ` Shawn Guo

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