* [PATCH v21 0/4] Add support for the silergy,sy7636a
@ 2022-05-25 11:55 Alistair Francis
2022-05-25 11:55 ` [PATCH v21 1/4] mfd: silergy,sy7636a: Add config option Alistair Francis
` (3 more replies)
0 siblings, 4 replies; 11+ messages in thread
From: Alistair Francis @ 2022-05-25 11:55 UTC (permalink / raw)
To: lgirdwood, lee.jones, broonie, robh+dt, kernel
Cc: s.hauer, alistair23, linux-arm-kernel, andreas, amitk, shawnguo,
linux-kernel, geert, linux-hwmon, linux-imx, linux, rui.zhang,
devicetree, linux-pm, Alistair Francis
v21:
- Rebase on master
v20:
- Remove merged patches
- Fixup Kconfig selection based on previous discussions
v19:
- Rebase on linux-next
v18:
- Rebase
v17:
- Rebase and fix build issues
v16:
- Improve vdd regulator comments
v15:
- Address comments on the patches
v14:
- Merge the thermal driver and hwmon
v13:
- Address comments on thermal driver
- Rebase on master (without other patches)
v12:
- Rebase
v11:
- Address comments on hwmon
- Improve "mfd: simple-mfd-i2c: Add a Kconfig name" commit message
v10:
- Use dev_get_regmap() instead of dev_get_drvdata()
v9:
- Convert to use the simple-mfd-i2c instead
Alistair Francis (4):
mfd: silergy,sy7636a: Add config option
ARM: imx_v6_v7_defconfig: Enable silergy,sy7636a
ARM: dts: imx7d-remarkable2: Enable silergy,sy7636a
ARM: dts: imx7d-remarkable2: Enable lcdif
arch/arm/boot/dts/imx7d-remarkable2.dts | 136 ++++++++++++++++++++++++
arch/arm/configs/imx_v6_v7_defconfig | 3 +
drivers/hwmon/Kconfig | 1 +
drivers/mfd/Kconfig | 12 ++-
drivers/regulator/Kconfig | 1 +
5 files changed, 152 insertions(+), 1 deletion(-)
--
2.35.3
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v21 1/4] mfd: silergy,sy7636a: Add config option
2022-05-25 11:55 [PATCH v21 0/4] Add support for the silergy,sy7636a Alistair Francis
@ 2022-05-25 11:55 ` Alistair Francis
2022-05-25 18:03 ` Mark Brown
2022-08-09 13:33 ` Lee Jones
2022-05-25 11:55 ` [PATCH v21 2/4] ARM: imx_v6_v7_defconfig: Enable silergy,sy7636a Alistair Francis
` (2 subsequent siblings)
3 siblings, 2 replies; 11+ messages in thread
From: Alistair Francis @ 2022-05-25 11:55 UTC (permalink / raw)
To: lgirdwood, lee.jones, broonie, robh+dt, kernel
Cc: s.hauer, alistair23, linux-arm-kernel, andreas, amitk, shawnguo,
linux-kernel, geert, linux-hwmon, linux-imx, linux, rui.zhang,
devicetree, linux-pm, Alistair Francis
Add a specific MFD_SY7636A config option.
As part of this change we can use MFD_SY7636A as a dependency for all
SY7636a components and also remove the name from MFD_SIMPLE_MFD_I2C as
it no longer needs to be selectable.
Signed-off-by: Alistair Francis <alistair@alistair23.me>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
---
drivers/hwmon/Kconfig | 1 +
drivers/mfd/Kconfig | 12 +++++++++++-
drivers/regulator/Kconfig | 1 +
3 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
index 590d3d550acb..a3a3b73b0a87 100644
--- a/drivers/hwmon/Kconfig
+++ b/drivers/hwmon/Kconfig
@@ -1740,6 +1740,7 @@ config SENSORS_SIS5595
config SENSORS_SY7636A
tristate "Silergy SY7636A"
+ depends on MFD_SY7636A
help
If you say yes here you get support for the thermistor readout of
the Silergy SY7636A PMIC.
diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index 3b59456f5545..c47cb755757b 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -1095,6 +1095,16 @@ config MFD_SPMI_PMIC
Say M here if you want to include support for the SPMI PMIC
series as a module. The module will be called "qcom-spmi-pmic".
+config MFD_SY7636A
+ tristate "Silergy SY7636A voltage regulator"
+ depends on I2C
+ select MFD_SIMPLE_MFD_I2C
+ help
+ Enable support for Silergy SY7636A voltage regulator.
+
+ To enable support for building sub-devices as modules,
+ choose M here.
+
config MFD_RDC321X
tristate "RDC R-321x southbridge"
select MFD_CORE
@@ -1202,7 +1212,7 @@ config MFD_SI476X_CORE
module will be called si476x-core.
config MFD_SIMPLE_MFD_I2C
- tristate "Simple Multi-Functional Device support (I2C)"
+ tristate
depends on I2C
select MFD_CORE
select REGMAP_I2C
diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig
index cbe0f96ca342..25041cc2f605 100644
--- a/drivers/regulator/Kconfig
+++ b/drivers/regulator/Kconfig
@@ -1236,6 +1236,7 @@ config REGULATOR_STW481X_VMMC
config REGULATOR_SY7636A
tristate "Silergy SY7636A voltage regulator"
+ depends on MFD_SY7636A
help
This driver supports Silergy SY3686A voltage regulator.
--
2.35.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v21 2/4] ARM: imx_v6_v7_defconfig: Enable silergy,sy7636a
2022-05-25 11:55 [PATCH v21 0/4] Add support for the silergy,sy7636a Alistair Francis
2022-05-25 11:55 ` [PATCH v21 1/4] mfd: silergy,sy7636a: Add config option Alistair Francis
@ 2022-05-25 11:55 ` Alistair Francis
2022-05-25 11:55 ` [PATCH v21 3/4] ARM: dts: imx7d-remarkable2: " Alistair Francis
2022-05-25 11:55 ` [PATCH v21 4/4] ARM: dts: imx7d-remarkable2: Enable lcdif Alistair Francis
3 siblings, 0 replies; 11+ messages in thread
From: Alistair Francis @ 2022-05-25 11:55 UTC (permalink / raw)
To: lgirdwood, lee.jones, broonie, robh+dt, kernel
Cc: s.hauer, alistair23, linux-arm-kernel, andreas, amitk, shawnguo,
linux-kernel, geert, linux-hwmon, linux-imx, linux, rui.zhang,
devicetree, linux-pm, Alistair Francis
Enable the silergy,sy7636a and silergy,sy7636a-regulator for the
reMarkable2.
Signed-off-by: Alistair Francis <alistair@alistair23.me>
---
arch/arm/configs/imx_v6_v7_defconfig | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig
index f7498df08dfe..81fe604bf4ec 100644
--- a/arch/arm/configs/imx_v6_v7_defconfig
+++ b/arch/arm/configs/imx_v6_v7_defconfig
@@ -223,6 +223,7 @@ CONFIG_RN5T618_POWER=m
CONFIG_SENSORS_MC13783_ADC=y
CONFIG_SENSORS_GPIO_FAN=y
CONFIG_SENSORS_IIO_HWMON=y
+CONFIG_SENSORS_SY7636A=y
CONFIG_THERMAL_STATISTICS=y
CONFIG_THERMAL_WRITABLE_TRIPS=y
CONFIG_CPU_THERMAL=y
@@ -238,6 +239,7 @@ CONFIG_MFD_DA9062=y
CONFIG_MFD_DA9063=y
CONFIG_MFD_MC13XXX_SPI=y
CONFIG_MFD_MC13XXX_I2C=y
+CONFIG_MFD_SY7636A=y
CONFIG_MFD_RN5T618=y
CONFIG_MFD_STMPE=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
@@ -251,6 +253,7 @@ CONFIG_REGULATOR_MC13783=y
CONFIG_REGULATOR_MC13892=y
CONFIG_REGULATOR_PFUZE100=y
CONFIG_REGULATOR_RN5T618=y
+CONFIG_REGULATOR_SY7636A=y
CONFIG_RC_CORE=y
CONFIG_RC_DEVICES=y
CONFIG_IR_GPIO_CIR=y
--
2.35.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v21 3/4] ARM: dts: imx7d-remarkable2: Enable silergy,sy7636a
2022-05-25 11:55 [PATCH v21 0/4] Add support for the silergy,sy7636a Alistair Francis
2022-05-25 11:55 ` [PATCH v21 1/4] mfd: silergy,sy7636a: Add config option Alistair Francis
2022-05-25 11:55 ` [PATCH v21 2/4] ARM: imx_v6_v7_defconfig: Enable silergy,sy7636a Alistair Francis
@ 2022-05-25 11:55 ` Alistair Francis
2022-05-25 11:55 ` [PATCH v21 4/4] ARM: dts: imx7d-remarkable2: Enable lcdif Alistair Francis
3 siblings, 0 replies; 11+ messages in thread
From: Alistair Francis @ 2022-05-25 11:55 UTC (permalink / raw)
To: lgirdwood, lee.jones, broonie, robh+dt, kernel
Cc: s.hauer, alistair23, linux-arm-kernel, andreas, amitk, shawnguo,
linux-kernel, geert, linux-hwmon, linux-imx, linux, rui.zhang,
devicetree, linux-pm, Alistair Francis
Enable the silergy,sy7636a and silergy,sy7636a-regulator on the
reMarkable2.
Signed-off-by: Alistair Francis <alistair@alistair23.me>
---
| 62 +++++++++++++++++++++++++
1 file changed, 62 insertions(+)
--git a/arch/arm/boot/dts/imx7d-remarkable2.dts b/arch/arm/boot/dts/imx7d-remarkable2.dts
index a2a91bfdd98e..99ac0d242936 100644
--- a/arch/arm/boot/dts/imx7d-remarkable2.dts
+++ b/arch/arm/boot/dts/imx7d-remarkable2.dts
@@ -22,6 +22,27 @@ memory@80000000 {
reg = <0x80000000 0x40000000>;
};
+ thermal-zones {
+ epd-thermal {
+ thermal-sensors = <&epd_pmic>;
+ polling-delay-passive = <30000>;
+ polling-delay = <30000>;
+ trips {
+ trip0 {
+ temperature = <49000>;
+ hysteresis = <2000>;
+ type = "passive";
+ };
+
+ trip1 {
+ temperature = <50000>;
+ hysteresis = <2000>;
+ type = "critical";
+ };
+ };
+ };
+ };
+
reg_brcm: regulator-brcm {
compatible = "regulator-fixed";
regulator-name = "brcm_reg";
@@ -84,6 +105,33 @@ wacom_digitizer: digitizer@9 {
};
};
+&i2c4 {
+ clock-frequency = <100000>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&pinctrl_i2c4>;
+ pinctrl-1 = <&pinctrl_i2c4>;
+ status = "okay";
+
+ epd_pmic: sy7636a@62 {
+ compatible = "silergy,sy7636a";
+ reg = <0x62>;
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_epdpmic>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ #thermal-sensor-cells = <0>;
+
+ epd-pwr-good-gpios = <&gpio6 21 GPIO_ACTIVE_HIGH>;
+ regulators {
+ reg_epdpmic: vcom {
+ regulator-name = "vcom";
+ regulator-boot-on;
+ };
+ };
+ };
+};
+
&snvs_pwrkey {
status = "okay";
};
@@ -177,6 +225,13 @@ MX7D_PAD_SAI1_TX_BCLK__GPIO6_IO13 0x14
>;
};
+ pinctrl_epdpmic: epdpmicgrp {
+ fsl,pins = <
+ MX7D_PAD_SAI2_RX_DATA__GPIO6_IO21 0x00000074
+ MX7D_PAD_ENET1_RGMII_TXC__GPIO7_IO11 0x00000014
+ >;
+ };
+
pinctrl_i2c1: i2c1grp {
fsl,pins = <
MX7D_PAD_I2C1_SDA__I2C1_SDA 0x4000007f
@@ -184,6 +239,13 @@ MX7D_PAD_I2C1_SCL__I2C1_SCL 0x4000007f
>;
};
+ pinctrl_i2c4: i2c4grp {
+ fsl,pins = <
+ MX7D_PAD_I2C4_SDA__I2C4_SDA 0x4000007f
+ MX7D_PAD_I2C4_SCL__I2C4_SCL 0x4000007f
+ >;
+ };
+
pinctrl_uart1: uart1grp {
fsl,pins = <
MX7D_PAD_UART1_TX_DATA__UART1_DCE_TX 0x79
--
2.35.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v21 4/4] ARM: dts: imx7d-remarkable2: Enable lcdif
2022-05-25 11:55 [PATCH v21 0/4] Add support for the silergy,sy7636a Alistair Francis
` (2 preceding siblings ...)
2022-05-25 11:55 ` [PATCH v21 3/4] ARM: dts: imx7d-remarkable2: " Alistair Francis
@ 2022-05-25 11:55 ` Alistair Francis
2022-05-28 18:20 ` Samuel Holland
3 siblings, 1 reply; 11+ messages in thread
From: Alistair Francis @ 2022-05-25 11:55 UTC (permalink / raw)
To: lgirdwood, lee.jones, broonie, robh+dt, kernel
Cc: s.hauer, alistair23, linux-arm-kernel, andreas, amitk, shawnguo,
linux-kernel, geert, linux-hwmon, linux-imx, linux, rui.zhang,
devicetree, linux-pm, Alistair Francis
Connect the dispaly on the reMarkable2.
Signed-off-by: Alistair Francis <alistair@alistair23.me>
---
| 74 +++++++++++++++++++++++++
1 file changed, 74 insertions(+)
--git a/arch/arm/boot/dts/imx7d-remarkable2.dts b/arch/arm/boot/dts/imx7d-remarkable2.dts
index 99ac0d242936..03a4029e1e57 100644
--- a/arch/arm/boot/dts/imx7d-remarkable2.dts
+++ b/arch/arm/boot/dts/imx7d-remarkable2.dts
@@ -68,6 +68,16 @@ reg_digitizer: regulator-digitizer {
startup-delay-us = <100000>; /* 100 ms */
};
+ reg_sdoe: regulator-sdoe {
+ compatible = "regulator-fixed";
+ regulator-name = "SDOE";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&pinctrl_sdoe_reg>;
+ pinctrl-1 = <&pinctrl_sdoe_reg>;
+ gpio = <&gpio3 27 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
wifi_pwrseq: wifi_pwrseq {
compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
@@ -76,6 +86,16 @@ wifi_pwrseq: wifi_pwrseq {
clocks = <&clks IMX7D_CLKO2_ROOT_DIV>;
clock-names = "ext_clock";
};
+
+ panel {
+ compatible = "eink,vb3300-kca";
+
+ port {
+ panel_in: endpoint {
+ remote-endpoint = <&display_out>;
+ };
+ };
+ };
};
&clks {
@@ -132,6 +152,20 @@ reg_epdpmic: vcom {
};
};
+&lcdif {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_lcdif>;
+ lcd-supply = <®_epdpmic>;
+ lcd2-supply = <®_sdoe>;
+ status = "okay";
+
+ port {
+ display_out: endpoint {
+ remote-endpoint = <&panel_in>;
+ };
+ };
+};
+
&snvs_pwrkey {
status = "okay";
};
@@ -246,6 +280,46 @@ MX7D_PAD_I2C4_SCL__I2C4_SCL 0x4000007f
>;
};
+ pinctrl_lcdif: lcdifgrp {
+ fsl,pins = <
+ MX7D_PAD_LCD_DATA00__LCD_DATA0 0x79
+ MX7D_PAD_LCD_DATA01__LCD_DATA1 0x79
+ MX7D_PAD_LCD_DATA02__LCD_DATA2 0x79
+ MX7D_PAD_LCD_DATA03__LCD_DATA3 0x79
+ MX7D_PAD_LCD_DATA04__LCD_DATA4 0x79
+ MX7D_PAD_LCD_DATA05__LCD_DATA5 0x79
+ MX7D_PAD_LCD_DATA06__LCD_DATA6 0x79
+ MX7D_PAD_LCD_DATA07__LCD_DATA7 0x79
+ MX7D_PAD_LCD_DATA08__LCD_DATA8 0x79
+ MX7D_PAD_LCD_DATA09__LCD_DATA9 0x79
+ MX7D_PAD_LCD_DATA10__LCD_DATA10 0x79
+ MX7D_PAD_LCD_DATA11__LCD_DATA11 0x79
+ MX7D_PAD_LCD_DATA12__LCD_DATA12 0x79
+ MX7D_PAD_LCD_DATA13__LCD_DATA13 0x79
+ MX7D_PAD_LCD_DATA14__LCD_DATA14 0x79
+ MX7D_PAD_LCD_DATA15__LCD_DATA15 0x79
+
+ MX7D_PAD_LCD_DATA17__LCD_DATA17 0x79
+ MX7D_PAD_LCD_DATA18__LCD_DATA18 0x79
+ MX7D_PAD_LCD_DATA19__LCD_DATA19 0x79
+ MX7D_PAD_LCD_DATA20__LCD_DATA20 0x79
+ MX7D_PAD_LCD_DATA21__LCD_DATA21 0x79
+
+ MX7D_PAD_LCD_DATA23__LCD_DATA23 0x79
+ MX7D_PAD_LCD_CLK__LCD_CLK 0x79
+ MX7D_PAD_LCD_ENABLE__LCD_ENABLE 0x79
+ MX7D_PAD_LCD_VSYNC__LCD_VSYNC 0x79
+ MX7D_PAD_LCD_HSYNC__LCD_HSYNC 0x79
+ MX7D_PAD_LCD_RESET__LCD_RESET 0x79
+ >;
+ };
+
+ pinctrl_sdoe_reg: sdoereggrp {
+ fsl,pins = <
+ MX7D_PAD_LCD_DATA22__GPIO3_IO27 0x74
+ >;
+ };
+
pinctrl_uart1: uart1grp {
fsl,pins = <
MX7D_PAD_UART1_TX_DATA__UART1_DCE_TX 0x79
--
2.35.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v21 1/4] mfd: silergy,sy7636a: Add config option
2022-05-25 11:55 ` [PATCH v21 1/4] mfd: silergy,sy7636a: Add config option Alistair Francis
@ 2022-05-25 18:03 ` Mark Brown
2022-05-26 8:30 ` Lee Jones
2022-08-09 13:33 ` Lee Jones
1 sibling, 1 reply; 11+ messages in thread
From: Mark Brown @ 2022-05-25 18:03 UTC (permalink / raw)
To: Alistair Francis
Cc: lgirdwood, lee.jones, robh+dt, kernel, s.hauer, alistair23,
linux-arm-kernel, andreas, amitk, shawnguo, linux-kernel, geert,
linux-hwmon, linux-imx, linux, rui.zhang, devicetree, linux-pm
[-- Attachment #1: Type: text/plain, Size: 348 bytes --]
On Wed, May 25, 2022 at 09:55:51PM +1000, Alistair Francis wrote:
> Add a specific MFD_SY7636A config option.
>
> As part of this change we can use MFD_SY7636A as a dependency for all
> SY7636a components and also remove the name from MFD_SIMPLE_MFD_I2C as
> it no longer needs to be selectable.
Acked-by: Mark Brown <broonie@kernel.org>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v21 1/4] mfd: silergy,sy7636a: Add config option
2022-05-25 18:03 ` Mark Brown
@ 2022-05-26 8:30 ` Lee Jones
2022-08-09 11:28 ` Alistair Francis
0 siblings, 1 reply; 11+ messages in thread
From: Lee Jones @ 2022-05-26 8:30 UTC (permalink / raw)
To: Mark Brown
Cc: Alistair Francis, lgirdwood, robh+dt, kernel, s.hauer,
alistair23, linux-arm-kernel, andreas, amitk, shawnguo,
linux-kernel, geert, linux-hwmon, linux-imx, linux, rui.zhang,
devicetree, linux-pm
On Wed, 25 May 2022, Mark Brown wrote:
> On Wed, May 25, 2022 at 09:55:51PM +1000, Alistair Francis wrote:
> > Add a specific MFD_SY7636A config option.
> >
> > As part of this change we can use MFD_SY7636A as a dependency for all
> > SY7636a components and also remove the name from MFD_SIMPLE_MFD_I2C as
> > it no longer needs to be selectable.
>
> Acked-by: Mark Brown <broonie@kernel.org>
Full disclosure; I've already made my cut for v5.19.
This is due for v5.20.
--
Lee Jones [李琼斯]
Principal Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v21 4/4] ARM: dts: imx7d-remarkable2: Enable lcdif
2022-05-25 11:55 ` [PATCH v21 4/4] ARM: dts: imx7d-remarkable2: Enable lcdif Alistair Francis
@ 2022-05-28 18:20 ` Samuel Holland
2022-08-02 12:43 ` Alistair Francis
0 siblings, 1 reply; 11+ messages in thread
From: Samuel Holland @ 2022-05-28 18:20 UTC (permalink / raw)
To: Alistair Francis, lgirdwood, lee.jones, broonie, robh+dt, kernel
Cc: s.hauer, alistair23, linux-arm-kernel, andreas, amitk, shawnguo,
linux-kernel, geert, linux-hwmon, linux-imx, linux, rui.zhang,
devicetree, linux-pm
Hi Alistair,
On 5/25/22 6:55 AM, Alistair Francis wrote:
> Connect the dispaly on the reMarkable2.
>
> Signed-off-by: Alistair Francis <alistair@alistair23.me>
> ---
> arch/arm/boot/dts/imx7d-remarkable2.dts | 74 +++++++++++++++++++++++++
> 1 file changed, 74 insertions(+)
>
> diff --git a/arch/arm/boot/dts/imx7d-remarkable2.dts b/arch/arm/boot/dts/imx7d-remarkable2.dts
> index 99ac0d242936..03a4029e1e57 100644
> --- a/arch/arm/boot/dts/imx7d-remarkable2.dts
> +++ b/arch/arm/boot/dts/imx7d-remarkable2.dts
> @@ -68,6 +68,16 @@ reg_digitizer: regulator-digitizer {
> startup-delay-us = <100000>; /* 100 ms */
> };
>
> + reg_sdoe: regulator-sdoe {
> + compatible = "regulator-fixed";
> + regulator-name = "SDOE";
> + pinctrl-names = "default", "sleep";
> + pinctrl-0 = <&pinctrl_sdoe_reg>;
> + pinctrl-1 = <&pinctrl_sdoe_reg>;
> + gpio = <&gpio3 27 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + };
> +
> wifi_pwrseq: wifi_pwrseq {
> compatible = "mmc-pwrseq-simple";
> pinctrl-names = "default";
> @@ -76,6 +86,16 @@ wifi_pwrseq: wifi_pwrseq {
> clocks = <&clks IMX7D_CLKO2_ROOT_DIV>;
> clock-names = "ext_clock";
> };
> +
> + panel {
> + compatible = "eink,vb3300-kca";
> +
> + port {
> + panel_in: endpoint {
> + remote-endpoint = <&display_out>;
> + };
> + };
> + };
From the discussion at [1], this is not safe to merge. It exposes an
electrophoretic display to fbcon/userspace as if it was an LCD, which it very
much is not. Trying to write RGB pixel data to the panel could damage it.
So at the very least before hooking this up, the LCD controller has to know that
the EPD needs special handling and that it cannot accept RGB.
That doesn't necessarily mean there is a problem with the content of this patch
-- the special handling may all be taken care of based on the compatible string
-- but I think it's a really bad idea to merge this with how "eink,vb3300-kca"
is currently represented in panel-simple.
Regards,
Samuel
[1]: https://lore.kernel.org/lkml/Yo5kz%2F9cSd6ewC5f@phenom.ffwll.local/
> };
>
> &clks {
> @@ -132,6 +152,20 @@ reg_epdpmic: vcom {
> };
> };
>
> +&lcdif {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_lcdif>;
> + lcd-supply = <®_epdpmic>;
> + lcd2-supply = <®_sdoe>;
> + status = "okay";
> +
> + port {
> + display_out: endpoint {
> + remote-endpoint = <&panel_in>;
> + };
> + };
> +};
> +
> &snvs_pwrkey {
> status = "okay";
> };
> @@ -246,6 +280,46 @@ MX7D_PAD_I2C4_SCL__I2C4_SCL 0x4000007f
> >;
> };
>
> + pinctrl_lcdif: lcdifgrp {
> + fsl,pins = <
> + MX7D_PAD_LCD_DATA00__LCD_DATA0 0x79
> + MX7D_PAD_LCD_DATA01__LCD_DATA1 0x79
> + MX7D_PAD_LCD_DATA02__LCD_DATA2 0x79
> + MX7D_PAD_LCD_DATA03__LCD_DATA3 0x79
> + MX7D_PAD_LCD_DATA04__LCD_DATA4 0x79
> + MX7D_PAD_LCD_DATA05__LCD_DATA5 0x79
> + MX7D_PAD_LCD_DATA06__LCD_DATA6 0x79
> + MX7D_PAD_LCD_DATA07__LCD_DATA7 0x79
> + MX7D_PAD_LCD_DATA08__LCD_DATA8 0x79
> + MX7D_PAD_LCD_DATA09__LCD_DATA9 0x79
> + MX7D_PAD_LCD_DATA10__LCD_DATA10 0x79
> + MX7D_PAD_LCD_DATA11__LCD_DATA11 0x79
> + MX7D_PAD_LCD_DATA12__LCD_DATA12 0x79
> + MX7D_PAD_LCD_DATA13__LCD_DATA13 0x79
> + MX7D_PAD_LCD_DATA14__LCD_DATA14 0x79
> + MX7D_PAD_LCD_DATA15__LCD_DATA15 0x79
> +
> + MX7D_PAD_LCD_DATA17__LCD_DATA17 0x79
> + MX7D_PAD_LCD_DATA18__LCD_DATA18 0x79
> + MX7D_PAD_LCD_DATA19__LCD_DATA19 0x79
> + MX7D_PAD_LCD_DATA20__LCD_DATA20 0x79
> + MX7D_PAD_LCD_DATA21__LCD_DATA21 0x79
> +
> + MX7D_PAD_LCD_DATA23__LCD_DATA23 0x79
> + MX7D_PAD_LCD_CLK__LCD_CLK 0x79
> + MX7D_PAD_LCD_ENABLE__LCD_ENABLE 0x79
> + MX7D_PAD_LCD_VSYNC__LCD_VSYNC 0x79
> + MX7D_PAD_LCD_HSYNC__LCD_HSYNC 0x79
> + MX7D_PAD_LCD_RESET__LCD_RESET 0x79
> + >;
> + };
> +
> + pinctrl_sdoe_reg: sdoereggrp {
> + fsl,pins = <
> + MX7D_PAD_LCD_DATA22__GPIO3_IO27 0x74
> + >;
> + };
> +
> pinctrl_uart1: uart1grp {
> fsl,pins = <
> MX7D_PAD_UART1_TX_DATA__UART1_DCE_TX 0x79
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v21 4/4] ARM: dts: imx7d-remarkable2: Enable lcdif
2022-05-28 18:20 ` Samuel Holland
@ 2022-08-02 12:43 ` Alistair Francis
0 siblings, 0 replies; 11+ messages in thread
From: Alistair Francis @ 2022-08-02 12:43 UTC (permalink / raw)
To: Samuel Holland
Cc: Alistair Francis, Liam Girdwood, Lee Jones, Mark Brown,
Rob Herring, Sascha Hauer, Sascha Hauer, linux-arm-kernel,
Andreas Kemnade, Amit Kucheria, Shawn Guo,
Linux Kernel Mailing List, Geert Uytterhoeven, linux-hwmon,
dl-linux-imx, Guenter Roeck, Zhang Rui, devicetree,
Linux PM list
On Sun, May 29, 2022 at 4:20 AM Samuel Holland <samuel@sholland.org> wrote:
>
> Hi Alistair,
>
> On 5/25/22 6:55 AM, Alistair Francis wrote:
> > Connect the dispaly on the reMarkable2.
> >
> > Signed-off-by: Alistair Francis <alistair@alistair23.me>
> > ---
> > arch/arm/boot/dts/imx7d-remarkable2.dts | 74 +++++++++++++++++++++++++
> > 1 file changed, 74 insertions(+)
> >
> > diff --git a/arch/arm/boot/dts/imx7d-remarkable2.dts b/arch/arm/boot/dts/imx7d-remarkable2.dts
> > index 99ac0d242936..03a4029e1e57 100644
> > --- a/arch/arm/boot/dts/imx7d-remarkable2.dts
> > +++ b/arch/arm/boot/dts/imx7d-remarkable2.dts
> > @@ -68,6 +68,16 @@ reg_digitizer: regulator-digitizer {
> > startup-delay-us = <100000>; /* 100 ms */
> > };
> >
> > + reg_sdoe: regulator-sdoe {
> > + compatible = "regulator-fixed";
> > + regulator-name = "SDOE";
> > + pinctrl-names = "default", "sleep";
> > + pinctrl-0 = <&pinctrl_sdoe_reg>;
> > + pinctrl-1 = <&pinctrl_sdoe_reg>;
> > + gpio = <&gpio3 27 GPIO_ACTIVE_HIGH>;
> > + enable-active-high;
> > + };
> > +
> > wifi_pwrseq: wifi_pwrseq {
> > compatible = "mmc-pwrseq-simple";
> > pinctrl-names = "default";
> > @@ -76,6 +86,16 @@ wifi_pwrseq: wifi_pwrseq {
> > clocks = <&clks IMX7D_CLKO2_ROOT_DIV>;
> > clock-names = "ext_clock";
> > };
> > +
> > + panel {
> > + compatible = "eink,vb3300-kca";
> > +
> > + port {
> > + panel_in: endpoint {
> > + remote-endpoint = <&display_out>;
> > + };
> > + };
> > + };
>
> From the discussion at [1], this is not safe to merge. It exposes an
> electrophoretic display to fbcon/userspace as if it was an LCD, which it very
> much is not. Trying to write RGB pixel data to the panel could damage it.
Hey Samuel,
From what I can tell it's difficult to damage the display, but I see your point.
>
> So at the very least before hooking this up, the LCD controller has to know that
> the EPD needs special handling and that it cannot accept RGB.
Looking at [1] it seems like no decision was made about how to handle
a case like this where the EPC driving is all done in software. We
currently drive it from userspace via proprietary software. It seems
unlikely we will be able to support this in the kernel, so it would be
nice to somehow expose it to userspace.
>
> That doesn't necessarily mean there is a problem with the content of this patch
> -- the special handling may all be taken care of based on the compatible string
Ah ok. So it sounds like adding a check to the LCD controller based on
compatible string to reject RGB values would be a good start here.
That would at least block bogus values from making it to the screen
Alistair
> -- but I think it's a really bad idea to merge this with how "eink,vb3300-kca"
> is currently represented in panel-simple.
>
> Regards,
> Samuel
>
> [1]: https://lore.kernel.org/lkml/Yo5kz%2F9cSd6ewC5f@phenom.ffwll.local/
>
> > };
> >
> > &clks {
> > @@ -132,6 +152,20 @@ reg_epdpmic: vcom {
> > };
> > };
> >
> > +&lcdif {
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&pinctrl_lcdif>;
> > + lcd-supply = <®_epdpmic>;
> > + lcd2-supply = <®_sdoe>;
> > + status = "okay";
> > +
> > + port {
> > + display_out: endpoint {
> > + remote-endpoint = <&panel_in>;
> > + };
> > + };
> > +};
> > +
> > &snvs_pwrkey {
> > status = "okay";
> > };
> > @@ -246,6 +280,46 @@ MX7D_PAD_I2C4_SCL__I2C4_SCL 0x4000007f
> > >;
> > };
> >
> > + pinctrl_lcdif: lcdifgrp {
> > + fsl,pins = <
> > + MX7D_PAD_LCD_DATA00__LCD_DATA0 0x79
> > + MX7D_PAD_LCD_DATA01__LCD_DATA1 0x79
> > + MX7D_PAD_LCD_DATA02__LCD_DATA2 0x79
> > + MX7D_PAD_LCD_DATA03__LCD_DATA3 0x79
> > + MX7D_PAD_LCD_DATA04__LCD_DATA4 0x79
> > + MX7D_PAD_LCD_DATA05__LCD_DATA5 0x79
> > + MX7D_PAD_LCD_DATA06__LCD_DATA6 0x79
> > + MX7D_PAD_LCD_DATA07__LCD_DATA7 0x79
> > + MX7D_PAD_LCD_DATA08__LCD_DATA8 0x79
> > + MX7D_PAD_LCD_DATA09__LCD_DATA9 0x79
> > + MX7D_PAD_LCD_DATA10__LCD_DATA10 0x79
> > + MX7D_PAD_LCD_DATA11__LCD_DATA11 0x79
> > + MX7D_PAD_LCD_DATA12__LCD_DATA12 0x79
> > + MX7D_PAD_LCD_DATA13__LCD_DATA13 0x79
> > + MX7D_PAD_LCD_DATA14__LCD_DATA14 0x79
> > + MX7D_PAD_LCD_DATA15__LCD_DATA15 0x79
> > +
> > + MX7D_PAD_LCD_DATA17__LCD_DATA17 0x79
> > + MX7D_PAD_LCD_DATA18__LCD_DATA18 0x79
> > + MX7D_PAD_LCD_DATA19__LCD_DATA19 0x79
> > + MX7D_PAD_LCD_DATA20__LCD_DATA20 0x79
> > + MX7D_PAD_LCD_DATA21__LCD_DATA21 0x79
> > +
> > + MX7D_PAD_LCD_DATA23__LCD_DATA23 0x79
> > + MX7D_PAD_LCD_CLK__LCD_CLK 0x79
> > + MX7D_PAD_LCD_ENABLE__LCD_ENABLE 0x79
> > + MX7D_PAD_LCD_VSYNC__LCD_VSYNC 0x79
> > + MX7D_PAD_LCD_HSYNC__LCD_HSYNC 0x79
> > + MX7D_PAD_LCD_RESET__LCD_RESET 0x79
> > + >;
> > + };
> > +
> > + pinctrl_sdoe_reg: sdoereggrp {
> > + fsl,pins = <
> > + MX7D_PAD_LCD_DATA22__GPIO3_IO27 0x74
> > + >;
> > + };
> > +
> > pinctrl_uart1: uart1grp {
> > fsl,pins = <
> > MX7D_PAD_UART1_TX_DATA__UART1_DCE_TX 0x79
> >
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v21 1/4] mfd: silergy,sy7636a: Add config option
2022-05-26 8:30 ` Lee Jones
@ 2022-08-09 11:28 ` Alistair Francis
0 siblings, 0 replies; 11+ messages in thread
From: Alistair Francis @ 2022-08-09 11:28 UTC (permalink / raw)
To: Lee Jones
Cc: Mark Brown, Alistair Francis, Liam Girdwood, Rob Herring,
Sascha Hauer, Sascha Hauer, linux-arm-kernel, Andreas Kemnade,
Amit Kucheria, Shawn Guo, Linux Kernel Mailing List,
Geert Uytterhoeven, linux-hwmon, dl-linux-imx, Guenter Roeck,
Zhang Rui, devicetree, Linux PM list
On Thu, May 26, 2022 at 6:30 PM Lee Jones <lee.jones@linaro.org> wrote:
>
> On Wed, 25 May 2022, Mark Brown wrote:
>
> > On Wed, May 25, 2022 at 09:55:51PM +1000, Alistair Francis wrote:
> > > Add a specific MFD_SY7636A config option.
> > >
> > > As part of this change we can use MFD_SY7636A as a dependency for all
> > > SY7636a components and also remove the name from MFD_SIMPLE_MFD_I2C as
> > > it no longer needs to be selectable.
> >
> > Acked-by: Mark Brown <broonie@kernel.org>
>
> Full disclosure; I've already made my cut for v5.19.
>
> This is due for v5.20.
I just wanted to double check that this is still going in for 5.20
Alistair
>
> --
> Lee Jones [李琼斯]
> Principal Technical Lead - Developer Services
> Linaro.org │ Open source software for Arm SoCs
> Follow Linaro: Facebook | Twitter | Blog
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v21 1/4] mfd: silergy,sy7636a: Add config option
2022-05-25 11:55 ` [PATCH v21 1/4] mfd: silergy,sy7636a: Add config option Alistair Francis
2022-05-25 18:03 ` Mark Brown
@ 2022-08-09 13:33 ` Lee Jones
1 sibling, 0 replies; 11+ messages in thread
From: Lee Jones @ 2022-08-09 13:33 UTC (permalink / raw)
To: Alistair Francis
Cc: lgirdwood, broonie, robh+dt, kernel, s.hauer, alistair23,
linux-arm-kernel, andreas, amitk, shawnguo, linux-kernel, geert,
linux-hwmon, linux-imx, linux, rui.zhang, devicetree, linux-pm,
Lee Jones
On Wed, 25 May 2022, Alistair Francis wrote:
> Add a specific MFD_SY7636A config option.
>
> As part of this change we can use MFD_SY7636A as a dependency for all
> SY7636a components and also remove the name from MFD_SIMPLE_MFD_I2C as
> it no longer needs to be selectable.
>
> Signed-off-by: Alistair Francis <alistair@alistair23.me>
> Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> ---
> drivers/hwmon/Kconfig | 1 +
> drivers/mfd/Kconfig | 12 +++++++++++-
> drivers/regulator/Kconfig | 1 +
> 3 files changed, 13 insertions(+), 1 deletion(-)
Applied, thanks.
--
DEPRECATED: Please use lee@kernel.org
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2022-08-09 13:33 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-25 11:55 [PATCH v21 0/4] Add support for the silergy,sy7636a Alistair Francis
2022-05-25 11:55 ` [PATCH v21 1/4] mfd: silergy,sy7636a: Add config option Alistair Francis
2022-05-25 18:03 ` Mark Brown
2022-05-26 8:30 ` Lee Jones
2022-08-09 11:28 ` Alistair Francis
2022-08-09 13:33 ` Lee Jones
2022-05-25 11:55 ` [PATCH v21 2/4] ARM: imx_v6_v7_defconfig: Enable silergy,sy7636a Alistair Francis
2022-05-25 11:55 ` [PATCH v21 3/4] ARM: dts: imx7d-remarkable2: " Alistair Francis
2022-05-25 11:55 ` [PATCH v21 4/4] ARM: dts: imx7d-remarkable2: Enable lcdif Alistair Francis
2022-05-28 18:20 ` Samuel Holland
2022-08-02 12:43 ` Alistair Francis
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).