linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/3] imx7d-remarkable2: Enable cyttsp5 and rohm,bd71815
@ 2023-02-27  4:50 Alistair Francis
  2023-02-27  4:50 ` [PATCH v4 1/3] ARM: dts: imx7d-remarkable2: Enable the cyttsp5 Alistair Francis
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Alistair Francis @ 2023-02-27  4:50 UTC (permalink / raw)
  To: devicetree, s.hauer, krzysztof.kozlowski+dt, shawnguo,
	linux-kernel, linux-arm-kernel, robh+dt, linux-imx
  Cc: linux, arnd, alistair23, kernel, festevam, jernej.skrabec,
	Alistair Francis

Enable the cyttsp5 and rohm,bd71815 in the device trees and
defconfig for the reMarkable 2.

v4:
 - Fixup the rohm changes to match DT schema
v3:
 - Remove unused sleep states
v2:
 - Fixup DT formatting issues in path 3

Alistair Francis (3):
  ARM: dts: imx7d-remarkable2: Enable the cyttsp5
  ARM: imx_v6_v7_defconfig: Enable rohm,bd71815
  ARM: dts: imx7d-remarkable2: Enable the rohm,bd71815

 arch/arm/boot/dts/imx7d-remarkable2.dts | 239 ++++++++++++++++++++++++
 arch/arm/configs/imx_v6_v7_defconfig    |   5 +
 2 files changed, 244 insertions(+)

-- 
2.39.1


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

* [PATCH v4 1/3] ARM: dts: imx7d-remarkable2: Enable the cyttsp5
  2023-02-27  4:50 [PATCH v4 0/3] imx7d-remarkable2: Enable cyttsp5 and rohm,bd71815 Alistair Francis
@ 2023-02-27  4:50 ` Alistair Francis
  2023-02-27  4:50 ` [PATCH v4 2/3] ARM: imx_v6_v7_defconfig: Enable rohm,bd71815 Alistair Francis
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Alistair Francis @ 2023-02-27  4:50 UTC (permalink / raw)
  To: devicetree, s.hauer, krzysztof.kozlowski+dt, shawnguo,
	linux-kernel, linux-arm-kernel, robh+dt, linux-imx
  Cc: linux, arnd, alistair23, kernel, festevam, jernej.skrabec,
	Alistair Francis

Add support for the cyttsp5 touchscreen controller for the reMarkable 2.

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

diff --git a/arch/arm/boot/dts/imx7d-remarkable2.dts b/arch/arm/boot/dts/imx7d-remarkable2.dts
index 8b2f11e85e05..288fc8611117 100644
--- a/arch/arm/boot/dts/imx7d-remarkable2.dts
+++ b/arch/arm/boot/dts/imx7d-remarkable2.dts
@@ -8,6 +8,7 @@
 /dts-v1/;
 
 #include "imx7d.dtsi"
+#include <dt-bindings/input/linux-event-codes.h>
 
 / {
 	model = "reMarkable 2.0";
@@ -69,6 +70,17 @@ reg_digitizer: regulator-digitizer {
 		startup-delay-us = <100000>; /* 100 ms */
 	};
 
+	reg_touch: regulator-touch {
+		compatible = "regulator-fixed";
+		regulator-name = "VDD_3V3_TOUCH";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_touch_reg>;
+		gpio = <&gpio1 11 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+	};
+
 	wifi_pwrseq: wifi_pwrseq {
 		compatible = "mmc-pwrseq-simple";
 		pinctrl-names = "default";
@@ -106,6 +118,68 @@ wacom_digitizer: digitizer@9 {
 	};
 };
 
+&i2c3 {
+	clock-frequency = <100000>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_i2c3>;
+	status = "okay";
+
+	touchscreen@24 {
+		compatible = "cypress,tt21000";
+		reg = <0x24>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_touch>;
+		interrupt-parent = <&gpio1>;
+		interrupts = <14 IRQ_TYPE_EDGE_FALLING>;
+		reset-gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
+		vdd-supply = <&reg_touch>;
+		touchscreen-size-x = <880>;
+		touchscreen-size-y = <1280>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		button@0 {
+			reg = <0>;
+			linux,keycodes = <KEY_HOMEPAGE>;
+		};
+
+		button@1 {
+			reg = <1>;
+			linux,keycodes = <KEY_MENU>;
+		};
+
+		button@2 {
+			reg = <2>;
+			linux,keycodes = <KEY_BACK>;
+		};
+
+		button@3 {
+			reg = <3>;
+			linux,keycodes = <KEY_SEARCH>;
+		};
+
+		button@4 {
+			reg = <4>;
+			linux,keycodes = <KEY_VOLUMEDOWN>;
+		};
+
+		button@5 {
+			reg = <5>;
+			linux,keycodes = <KEY_VOLUMEUP>;
+		};
+
+		button@6 {
+			reg = <6>;
+			linux,keycodes = <KEY_CAMERA>;
+		};
+
+		button@7 {
+			reg = <7>;
+			linux,keycodes = <KEY_POWER>;
+		};
+	};
+};
+
 &i2c4 {
 	clock-frequency = <100000>;
 	pinctrl-names = "default", "sleep";
@@ -232,6 +306,15 @@ MX7D_PAD_ENET1_RGMII_TXC__GPIO7_IO11	0x00000014
 		>;
 	};
 
+	pinctrl_touch: touchgrp {
+		fsl,pins = <
+			/* CYTTSP interrupt */
+			MX7D_PAD_GPIO1_IO14__GPIO1_IO14		0x54
+			/* CYTTSP reset */
+			MX7D_PAD_GPIO1_IO13__GPIO1_IO13		0x04
+		>;
+	};
+
 	pinctrl_i2c1: i2c1grp {
 		fsl,pins = <
 			MX7D_PAD_I2C1_SDA__I2C1_SDA		0x4000007f
@@ -239,6 +322,13 @@ MX7D_PAD_I2C1_SCL__I2C1_SCL		0x4000007f
 		>;
 	};
 
+	pinctrl_i2c3: i2c3grp {
+		fsl,pins = <
+			MX7D_PAD_I2C3_SDA__I2C3_SDA		0x4000007f
+			MX7D_PAD_I2C3_SCL__I2C3_SCL		0x4000007f
+		>;
+	};
+
 	pinctrl_i2c4: i2c4grp {
 		fsl,pins = <
 			MX7D_PAD_I2C4_SDA__I2C4_SDA		0x4000007f
@@ -246,6 +336,13 @@ MX7D_PAD_I2C4_SCL__I2C4_SCL		0x4000007f
 		>;
 	};
 
+	pinctrl_touch_reg: touchreggrp {
+		fsl,pins = <
+			/* TOUCH_PWR_EN */
+			MX7D_PAD_GPIO1_IO11__GPIO1_IO11		0x14
+		>;
+	};
+
 	pinctrl_uart1: uart1grp {
 		fsl,pins = <
 			MX7D_PAD_UART1_TX_DATA__UART1_DCE_TX	0x79
-- 
2.39.1


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

* [PATCH v4 2/3] ARM: imx_v6_v7_defconfig: Enable rohm,bd71815
  2023-02-27  4:50 [PATCH v4 0/3] imx7d-remarkable2: Enable cyttsp5 and rohm,bd71815 Alistair Francis
  2023-02-27  4:50 ` [PATCH v4 1/3] ARM: dts: imx7d-remarkable2: Enable the cyttsp5 Alistair Francis
@ 2023-02-27  4:50 ` Alistair Francis
  2023-02-27  4:50 ` [PATCH v4 3/3] ARM: dts: imx7d-remarkable2: Enable the rohm,bd71815 Alistair Francis
  2023-03-14  3:01 ` [PATCH v4 0/3] imx7d-remarkable2: Enable cyttsp5 and rohm,bd71815 Shawn Guo
  3 siblings, 0 replies; 5+ messages in thread
From: Alistair Francis @ 2023-02-27  4:50 UTC (permalink / raw)
  To: devicetree, s.hauer, krzysztof.kozlowski+dt, shawnguo,
	linux-kernel, linux-arm-kernel, robh+dt, linux-imx
  Cc: linux, arnd, alistair23, kernel, festevam, jernej.skrabec,
	Alistair Francis

The reMarkable 2 uses the rohm,bd71815 power controller, so enable it in
the defconfig.

Signed-off-by: Alistair Francis <alistair@alistair23.me>
---
 arch/arm/configs/imx_v6_v7_defconfig | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig
index 6dc6fed12af8..02ccc86a8d4a 100644
--- a/arch/arm/configs/imx_v6_v7_defconfig
+++ b/arch/arm/configs/imx_v6_v7_defconfig
@@ -213,6 +213,7 @@ CONFIG_GPIO_SIOX=m
 CONFIG_GPIO_MAX732X=y
 CONFIG_GPIO_PCA953X=y
 CONFIG_GPIO_PCF857X=y
+CONFIG_GPIO_BD71815=y
 CONFIG_GPIO_STMPE=y
 CONFIG_GPIO_74X164=y
 CONFIG_POWER_RESET=y
@@ -242,8 +243,10 @@ CONFIG_MFD_MC13XXX_I2C=y
 CONFIG_MFD_SY7636A=y
 CONFIG_MFD_RN5T618=y
 CONFIG_MFD_STMPE=y
+CONFIG_MFD_ROHM_BD71828=y
 CONFIG_REGULATOR_FIXED_VOLTAGE=y
 CONFIG_REGULATOR_ANATOP=y
+CONFIG_REGULATOR_BD71815=y
 CONFIG_REGULATOR_DA9052=y
 CONFIG_REGULATOR_DA9062=y
 CONFIG_REGULATOR_DA9063=y
@@ -380,6 +383,7 @@ CONFIG_RTC_DRV_ISL1208=y
 CONFIG_RTC_DRV_PCF8523=y
 CONFIG_RTC_DRV_PCF8563=y
 CONFIG_RTC_DRV_M41T80=y
+CONFIG_RTC_DRV_BD70528=y
 CONFIG_RTC_DRV_RC5T619=y
 CONFIG_RTC_DRV_RV3029C2=y
 CONFIG_RTC_DRV_DA9063=y
@@ -396,6 +400,7 @@ CONFIG_STAGING=y
 CONFIG_STAGING_MEDIA=y
 CONFIG_VIDEO_IMX_MEDIA=y
 CONFIG_COMMON_CLK_PWM=y
+CONFIG_COMMON_CLK_BD718XX=y
 CONFIG_CLK_IMX8MM=y
 CONFIG_CLK_IMX8MN=y
 CONFIG_CLK_IMX8MP=y
-- 
2.39.1


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

* [PATCH v4 3/3] ARM: dts: imx7d-remarkable2: Enable the rohm,bd71815
  2023-02-27  4:50 [PATCH v4 0/3] imx7d-remarkable2: Enable cyttsp5 and rohm,bd71815 Alistair Francis
  2023-02-27  4:50 ` [PATCH v4 1/3] ARM: dts: imx7d-remarkable2: Enable the cyttsp5 Alistair Francis
  2023-02-27  4:50 ` [PATCH v4 2/3] ARM: imx_v6_v7_defconfig: Enable rohm,bd71815 Alistair Francis
@ 2023-02-27  4:50 ` Alistair Francis
  2023-03-14  3:01 ` [PATCH v4 0/3] imx7d-remarkable2: Enable cyttsp5 and rohm,bd71815 Shawn Guo
  3 siblings, 0 replies; 5+ messages in thread
From: Alistair Francis @ 2023-02-27  4:50 UTC (permalink / raw)
  To: devicetree, s.hauer, krzysztof.kozlowski+dt, shawnguo,
	linux-kernel, linux-arm-kernel, robh+dt, linux-imx
  Cc: linux, arnd, alistair23, kernel, festevam, jernej.skrabec,
	Alistair Francis, Matti Vaittinen

Add support for the rohm,bd71815 power controller controller for the
reMarkable 2.

Signed-off-by: Alistair Francis <alistair@alistair23.me>
Reviewed-by: Matti Vaittinen <mazziesaccount@gmail.com>
---
 arch/arm/boot/dts/imx7d-remarkable2.dts | 142 ++++++++++++++++++++++++
 1 file changed, 142 insertions(+)

diff --git a/arch/arm/boot/dts/imx7d-remarkable2.dts b/arch/arm/boot/dts/imx7d-remarkable2.dts
index 288fc8611117..dc954e4f63e0 100644
--- a/arch/arm/boot/dts/imx7d-remarkable2.dts
+++ b/arch/arm/boot/dts/imx7d-remarkable2.dts
@@ -91,6 +91,10 @@ wifi_pwrseq: wifi_pwrseq {
 	};
 };
 
+&cpu0 {
+	cpu-supply = <&buck1>;
+};
+
 &clks {
 	assigned-clocks = <&clks IMX7D_CLKO2_ROOT_SRC>,
 			  <&clks IMX7D_CLKO2_ROOT_DIV>;
@@ -118,6 +122,131 @@ wacom_digitizer: digitizer@9 {
 	};
 };
 
+&i2c2 {
+	clock-frequency = <100000>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_i2c2>;
+	status = "okay";
+
+	bd71815: pmic@4b {
+		compatible = "rohm,bd71815";
+		reg = <0x4b>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_bd71815>;
+		interrupt-parent = <&gpio6>; /* PMIC_INT_B GPIO6_IO16 */
+		interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
+		gpio-controller;
+		clocks = <&clks IMX7D_CLKO2_ROOT_SRC>;
+		clock-output-names = "bd71815-32k-out";
+		#clock-cells = <0>;
+		#gpio-cells = <2>;
+
+		regulators {
+			buck1: buck1 {
+				regulator-name = "buck1";
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <2000000>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-ramp-delay = <1250>;
+			};
+
+			buck2: buck2 {
+				regulator-name = "buck2";
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <2000000>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-ramp-delay = <1250>;
+			};
+
+			buck3: buck3 {
+				regulator-name = "buck3";
+				regulator-min-microvolt = <1200000>;
+				regulator-max-microvolt = <2700000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			buck4: buck4 {
+				regulator-name = "buck4";
+				regulator-min-microvolt = <1100000>;
+				regulator-max-microvolt = <1850000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			buck5: buck5 {
+				regulator-name = "buck5";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			ldo1: ldo1 {
+				regulator-name = "ldo1";
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			ldo2: ldo2 {
+				regulator-name = "ldo2";
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			ldo3: ldo3 {
+				regulator-name = "ldo3";
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			ldo4: ldo4 {
+				regulator-name = "ldo4";
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			ldo5: ldo5 {
+				regulator-name = "ldo5";
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			ldo6: ldodvref {
+				regulator-name = "ldodvref";
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			ldo7: ldolpsr {
+				regulator-name = "ldolpsr";
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			boost: wled {
+				regulator-name = "wled";
+				regulator-min-microamp = <10>;
+				regulator-max-microamp = <25000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+		};
+	};
+};
+
 &i2c3 {
 	clock-frequency = <100000>;
 	pinctrl-names = "default";
@@ -292,6 +421,12 @@ MX7D_PAD_LPSR_GPIO1_IO01__GPIO1_IO1	0x00000034 /* WACOM INT */
 };
 
 &iomuxc {
+	pinctrl_bd71815: bd71815grp {
+		fsl,pins = <
+			MX7D_PAD_SAI1_RX_SYNC__GPIO6_IO16	0x59
+		>;
+	};
+
 	pinctrl_brcm_reg: brcmreggrp {
 		fsl,pins = <
 			/* WIFI_PWR_EN */
@@ -322,6 +457,13 @@ MX7D_PAD_I2C1_SCL__I2C1_SCL		0x4000007f
 		>;
 	};
 
+	pinctrl_i2c2: i2c2grp {
+		fsl,pins = <
+			MX7D_PAD_I2C2_SDA__I2C2_SDA		0x4000007f
+			MX7D_PAD_I2C2_SCL__I2C2_SCL		0x4000007f
+		>;
+	};
+
 	pinctrl_i2c3: i2c3grp {
 		fsl,pins = <
 			MX7D_PAD_I2C3_SDA__I2C3_SDA		0x4000007f
-- 
2.39.1


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

* Re: [PATCH v4 0/3] imx7d-remarkable2: Enable cyttsp5 and rohm,bd71815
  2023-02-27  4:50 [PATCH v4 0/3] imx7d-remarkable2: Enable cyttsp5 and rohm,bd71815 Alistair Francis
                   ` (2 preceding siblings ...)
  2023-02-27  4:50 ` [PATCH v4 3/3] ARM: dts: imx7d-remarkable2: Enable the rohm,bd71815 Alistair Francis
@ 2023-03-14  3:01 ` Shawn Guo
  3 siblings, 0 replies; 5+ messages in thread
From: Shawn Guo @ 2023-03-14  3:01 UTC (permalink / raw)
  To: Alistair Francis
  Cc: devicetree, s.hauer, krzysztof.kozlowski+dt, linux-kernel,
	linux-arm-kernel, robh+dt, linux-imx, linux, arnd, alistair23,
	kernel, festevam, jernej.skrabec

On Mon, Feb 27, 2023 at 02:50:20PM +1000, Alistair Francis wrote:
> Enable the cyttsp5 and rohm,bd71815 in the device trees and
> defconfig for the reMarkable 2.
> 
> v4:
>  - Fixup the rohm changes to match DT schema
> v3:
>  - Remove unused sleep states
> v2:
>  - Fixup DT formatting issues in path 3
> 
> Alistair Francis (3):
>   ARM: dts: imx7d-remarkable2: Enable the cyttsp5
>   ARM: imx_v6_v7_defconfig: Enable rohm,bd71815
>   ARM: dts: imx7d-remarkable2: Enable the rohm,bd71815

Applied all, thanks!

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

end of thread, other threads:[~2023-03-14  3:01 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-27  4:50 [PATCH v4 0/3] imx7d-remarkable2: Enable cyttsp5 and rohm,bd71815 Alistair Francis
2023-02-27  4:50 ` [PATCH v4 1/3] ARM: dts: imx7d-remarkable2: Enable the cyttsp5 Alistair Francis
2023-02-27  4:50 ` [PATCH v4 2/3] ARM: imx_v6_v7_defconfig: Enable rohm,bd71815 Alistair Francis
2023-02-27  4:50 ` [PATCH v4 3/3] ARM: dts: imx7d-remarkable2: Enable the rohm,bd71815 Alistair Francis
2023-03-14  3:01 ` [PATCH v4 0/3] imx7d-remarkable2: Enable cyttsp5 and rohm,bd71815 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).