public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] Add settings for precharge and internal resistor
@ 2022-03-15 17:30 Gwendal Grignou
  2022-03-15 17:30 ` [PATCH 1/7] iio: sx9324: Fix register field spelling Gwendal Grignou
                   ` (7 more replies)
  0 siblings, 8 replies; 18+ messages in thread
From: Gwendal Grignou @ 2022-03-15 17:30 UTC (permalink / raw)
  To: jic23, robh+dt, swboyd; +Cc: linux-iio, devicetree, Gwendal Grignou

For Semtech sensors SX9324 and SX9360, allow confugration of the
pre-charge resistor (9324/9360) and internal resistor (9324).

Fix a register name spelling mistake first.
The 9360 changes are independant from the 9324 changes, but they are
very similar.

Gwendal Grignou (7):
  iio: sx9324: Fix register field spelling
  dt-bindings: iio: sx9324: Add precharge resistor setting
  iio: sx9324: Add precharge internal resistance setting
  dt-bindings: iio: sx9324: Add internal compensation resistor setting
  iio: sx9324: Add Setting for internal compensation resistor
  dt-bindings: iio: sx9360: Add precharge resistor setting
  iio: sx9360: Add pre-charge resistor setting

 .../iio/proximity/semtech,sx9324.yaml         | 20 +++++++++
 .../iio/proximity/semtech,sx9360.yaml         |  9 ++++
 drivers/iio/proximity/sx9324.c                | 42 ++++++++++++++++---
 drivers/iio/proximity/sx9360.c                | 12 +++++-
 4 files changed, 77 insertions(+), 6 deletions(-)

-- 
2.35.1.723.g4982287a31-goog


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

* [PATCH 1/7] iio: sx9324: Fix register field spelling
  2022-03-15 17:30 [PATCH 0/7] Add settings for precharge and internal resistor Gwendal Grignou
@ 2022-03-15 17:30 ` Gwendal Grignou
  2022-03-15 18:19   ` Stephen Boyd
  2022-03-15 17:30 ` [PATCH 2/7] dt-bindings: iio: sx9324: Add precharge resistor setting Gwendal Grignou
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 18+ messages in thread
From: Gwendal Grignou @ 2022-03-15 17:30 UTC (permalink / raw)
  To: jic23, robh+dt, swboyd; +Cc: linux-iio, devicetree, Gwendal Grignou

Field for PROX_CTRL4 should contain PROX_CTRL4.

Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
---
 drivers/iio/proximity/sx9324.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/iio/proximity/sx9324.c b/drivers/iio/proximity/sx9324.c
index 0d9bbbb50cb45..1bef16437aa84 100644
--- a/drivers/iio/proximity/sx9324.c
+++ b/drivers/iio/proximity/sx9324.c
@@ -89,7 +89,7 @@
 #define SX9324_REG_PROX_CTRL4_AVGNEGFILT_MASK	GENMASK(5, 3)
 #define SX9324_REG_PROX_CTRL4_AVGNEG_FILT_2 0x08
 #define SX9324_REG_PROX_CTRL4_AVGPOSFILT_MASK	GENMASK(2, 0)
-#define SX9324_REG_PROX_CTRL3_AVGPOS_FILT_256 0x04
+#define SX9324_REG_PROX_CTRL4_AVGPOS_FILT_256 0x04
 #define SX9324_REG_PROX_CTRL5		0x35
 #define SX9324_REG_PROX_CTRL5_HYST_MASK			GENMASK(5, 4)
 #define SX9324_REG_PROX_CTRL5_CLOSE_DEBOUNCE_MASK	GENMASK(3, 2)
@@ -792,7 +792,7 @@ static const struct sx_common_reg_default sx9324_default_regs[] = {
 	{ SX9324_REG_PROX_CTRL3, SX9324_REG_PROX_CTRL3_AVGDEB_2SAMPLES |
 		SX9324_REG_PROX_CTRL3_AVGPOS_THRESH_16K },
 	{ SX9324_REG_PROX_CTRL4, SX9324_REG_PROX_CTRL4_AVGNEG_FILT_2 |
-		SX9324_REG_PROX_CTRL3_AVGPOS_FILT_256 },
+		SX9324_REG_PROX_CTRL4_AVGPOS_FILT_256 },
 	{ SX9324_REG_PROX_CTRL5, 0x00 },
 	{ SX9324_REG_PROX_CTRL6, SX9324_REG_PROX_CTRL6_PROXTHRESH_32 },
 	{ SX9324_REG_PROX_CTRL7, SX9324_REG_PROX_CTRL6_PROXTHRESH_32 },
-- 
2.35.1.723.g4982287a31-goog


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

* [PATCH 2/7] dt-bindings: iio: sx9324: Add precharge resistor setting
  2022-03-15 17:30 [PATCH 0/7] Add settings for precharge and internal resistor Gwendal Grignou
  2022-03-15 17:30 ` [PATCH 1/7] iio: sx9324: Fix register field spelling Gwendal Grignou
@ 2022-03-15 17:30 ` Gwendal Grignou
  2022-03-15 20:05   ` Stephen Boyd
  2022-03-15 17:30 ` [PATCH 3/7] iio: sx9324: Add precharge internal resistance setting Gwendal Grignou
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 18+ messages in thread
From: Gwendal Grignou @ 2022-03-15 17:30 UTC (permalink / raw)
  To: jic23, robh+dt, swboyd; +Cc: linux-iio, devicetree, Gwendal Grignou

Allow configure the resistance used during precharge.

Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
---
 .../bindings/iio/proximity/semtech,sx9324.yaml           | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/Documentation/devicetree/bindings/iio/proximity/semtech,sx9324.yaml b/Documentation/devicetree/bindings/iio/proximity/semtech,sx9324.yaml
index b8a6ee16854ff..cd8ed50f2882a 100644
--- a/Documentation/devicetree/bindings/iio/proximity/semtech,sx9324.yaml
+++ b/Documentation/devicetree/bindings/iio/proximity/semtech,sx9324.yaml
@@ -126,6 +126,14 @@ properties:
       UINT_MAX (4294967295) represents infinite. Other values
       represent 1-1/N.
 
+  semtech,input-precharge-resistor:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    default: 4
+    description:
+      Pre-charge input resistance in kOhm.
+    minimum: 0
+    maximum: 30
+
 required:
   - compatible
   - reg
@@ -157,5 +165,6 @@ examples:
         semtech,ph01-proxraw-strength = <2>;
         semtech,ph23-proxraw-strength = <2>;
         semtech,avg-pos-strength = <64>;
+        semtech,input-precharge-resistor = <2>;
       };
     };
-- 
2.35.1.723.g4982287a31-goog


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

* [PATCH 3/7] iio: sx9324: Add precharge internal resistance setting
  2022-03-15 17:30 [PATCH 0/7] Add settings for precharge and internal resistor Gwendal Grignou
  2022-03-15 17:30 ` [PATCH 1/7] iio: sx9324: Fix register field spelling Gwendal Grignou
  2022-03-15 17:30 ` [PATCH 2/7] dt-bindings: iio: sx9324: Add precharge resistor setting Gwendal Grignou
@ 2022-03-15 17:30 ` Gwendal Grignou
  2022-03-15 20:07   ` Stephen Boyd
  2022-03-15 17:30 ` [PATCH 4/7] dt-bindings: iio: sx9324: Add internal compensation resistor setting Gwendal Grignou
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 18+ messages in thread
From: Gwendal Grignou @ 2022-03-15 17:30 UTC (permalink / raw)
  To: jic23, robh+dt, swboyd; +Cc: linux-iio, devicetree, Gwendal Grignou

Add ability to set the precharge internal resistance from the device
tree.

Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
---
 drivers/iio/proximity/sx9324.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/drivers/iio/proximity/sx9324.c b/drivers/iio/proximity/sx9324.c
index 1bef16437aa84..785af857b23a1 100644
--- a/drivers/iio/proximity/sx9324.c
+++ b/drivers/iio/proximity/sx9324.c
@@ -70,7 +70,8 @@
 #define SX9324_REG_AFE_PH2		0x2a
 #define SX9324_REG_AFE_PH3		0x2b
 #define SX9324_REG_AFE_CTRL8		0x2c
-#define SX9324_REG_AFE_CTRL8_RESFILTN_4KOHM 0x02
+#define SX9324_REG_AFE_CTRL8_RESFILTIN_4KOHM 0x02
+#define SX9324_REG_AFE_CTRL8_RESFILTIN_MASK GENMASK(3, 0)
 #define SX9324_REG_AFE_CTRL9		0x2d
 #define SX9324_REG_AFE_CTRL9_AGAIN_1	0x08
 
@@ -781,7 +782,7 @@ static const struct sx_common_reg_default sx9324_default_regs[] = {
 	{ SX9324_REG_AFE_PH2, 0x1a },
 	{ SX9324_REG_AFE_PH3, 0x16 },
 
-	{ SX9324_REG_AFE_CTRL8, SX9324_REG_AFE_CTRL8_RESFILTN_4KOHM },
+	{ SX9324_REG_AFE_CTRL8, 0x10 | SX9324_REG_AFE_CTRL8_RESFILTIN_4KOHM },
 	{ SX9324_REG_AFE_CTRL9, SX9324_REG_AFE_CTRL9_AGAIN_1 },
 
 	{ SX9324_REG_PROX_CTRL0, SX9324_REG_PROX_CTRL0_GAIN_1 |
@@ -891,6 +892,15 @@ sx9324_get_default_reg(struct device *dev, int idx,
 		reg_def->def |= FIELD_PREP(SX9324_REG_AFE_CTRL4_RESOLUTION_MASK,
 					   raw);
 		break;
+	case SX9324_REG_AFE_CTRL8:
+		ret = device_property_read_u32(dev,
+				"semtech,input-precharge-resistor",
+				&raw);
+		reg_def->def &= ~SX9324_REG_AFE_CTRL8_RESFILTIN_MASK;
+		reg_def->def |= FIELD_PREP(SX9324_REG_AFE_CTRL8_RESFILTIN_MASK,
+					   raw / 2);
+		break;
+
 	case SX9324_REG_ADV_CTRL5:
 		ret = device_property_read_u32(dev, "semtech,startup-sensor",
 					       &start);
-- 
2.35.1.723.g4982287a31-goog


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

* [PATCH 4/7] dt-bindings: iio: sx9324: Add internal compensation resistor setting
  2022-03-15 17:30 [PATCH 0/7] Add settings for precharge and internal resistor Gwendal Grignou
                   ` (2 preceding siblings ...)
  2022-03-15 17:30 ` [PATCH 3/7] iio: sx9324: Add precharge internal resistance setting Gwendal Grignou
@ 2022-03-15 17:30 ` Gwendal Grignou
  2022-03-20 12:44   ` Jonathan Cameron
  2022-03-15 17:30 ` [PATCH 5/7] iio: sx9324: Add Setting for internal compensation resistor Gwendal Grignou
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 18+ messages in thread
From: Gwendal Grignou @ 2022-03-15 17:30 UTC (permalink / raw)
  To: jic23, robh+dt, swboyd; +Cc: linux-iio, devicetree, Gwendal Grignou

Allow setting the internal resistor used for compensation.

Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
---
 .../bindings/iio/proximity/semtech,sx9324.yaml        | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/Documentation/devicetree/bindings/iio/proximity/semtech,sx9324.yaml b/Documentation/devicetree/bindings/iio/proximity/semtech,sx9324.yaml
index cd8ed50f2882a..9a046f62579be 100644
--- a/Documentation/devicetree/bindings/iio/proximity/semtech,sx9324.yaml
+++ b/Documentation/devicetree/bindings/iio/proximity/semtech,sx9324.yaml
@@ -126,6 +126,16 @@ properties:
       UINT_MAX (4294967295) represents infinite. Other values
       represent 1-1/N.
 
+  semtech,int-comp-resistor:
+    description:
+      Internal resistor setting for compensation.
+    enum:
+      - lowest
+      - low
+      - high
+      - highest
+    default: lowest
+
   semtech,input-precharge-resistor:
     $ref: /schemas/types.yaml#/definitions/uint32
     default: 4
@@ -165,6 +175,7 @@ examples:
         semtech,ph01-proxraw-strength = <2>;
         semtech,ph23-proxraw-strength = <2>;
         semtech,avg-pos-strength = <64>;
+        semtech,int-comp-resistor = "lowest";
         semtech,input-precharge-resistor = <2>;
       };
     };
-- 
2.35.1.723.g4982287a31-goog


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

* [PATCH 5/7] iio: sx9324: Add Setting for internal compensation resistor
  2022-03-15 17:30 [PATCH 0/7] Add settings for precharge and internal resistor Gwendal Grignou
                   ` (3 preceding siblings ...)
  2022-03-15 17:30 ` [PATCH 4/7] dt-bindings: iio: sx9324: Add internal compensation resistor setting Gwendal Grignou
@ 2022-03-15 17:30 ` Gwendal Grignou
  2022-03-15 20:08   ` Stephen Boyd
  2022-03-15 17:30 ` [PATCH 6/7] dt-bindings: iio: sx9360: Add precharge resistor setting Gwendal Grignou
                   ` (2 subsequent siblings)
  7 siblings, 1 reply; 18+ messages in thread
From: Gwendal Grignou @ 2022-03-15 17:30 UTC (permalink / raw)
  To: jic23, robh+dt, swboyd; +Cc: linux-iio, devicetree, Gwendal Grignou

Based on device tree setting, set the internal compensation resistor.

Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
---
 drivers/iio/proximity/sx9324.c | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/drivers/iio/proximity/sx9324.c b/drivers/iio/proximity/sx9324.c
index 785af857b23a1..4a74513d029f5 100644
--- a/drivers/iio/proximity/sx9324.c
+++ b/drivers/iio/proximity/sx9324.c
@@ -52,6 +52,11 @@
 #define SX9324_REG_CLK_SPRD		0x15
 
 #define SX9324_REG_AFE_CTRL0		0x20
+#define SX9324_REG_AFE_CTRL0_RINT_MASK GENMASK(7, 6)
+#define SX9324_REG_AFE_CTRL0_RINT_LOWEST	0x00
+#define SX9324_REG_AFE_CTRL0_RINT_LOW		0x40
+#define SX9324_REG_AFE_CTRL0_RINT_HIGH		0x80
+#define SX9324_REG_AFE_CTRL0_RINT_HIGHEST	0xc0
 #define SX9324_REG_AFE_CTRL1		0x21
 #define SX9324_REG_AFE_CTRL2		0x22
 #define SX9324_REG_AFE_CTRL3		0x23
@@ -768,7 +773,7 @@ static const struct sx_common_reg_default sx9324_default_regs[] = {
 	 */
 	{ SX9324_REG_GNRL_CTRL1, SX9324_REG_GNRL_CTRL1_PAUSECTRL },
 
-	{ SX9324_REG_AFE_CTRL0, 0x00 },
+	{ SX9324_REG_AFE_CTRL0, SX9324_REG_AFE_CTRL0_RINT_LOWEST },
 	{ SX9324_REG_AFE_CTRL3, 0x00 },
 	{ SX9324_REG_AFE_CTRL4, SX9324_REG_AFE_CTRL4_FREQ_83_33HZ |
 		SX9324_REG_AFE_CTRL4_RES_100 },
@@ -853,6 +858,7 @@ sx9324_get_default_reg(struct device *dev, int idx,
 	char prop[] = SX9324_PROXRAW_DEF;
 	u32 start = 0, raw = 0, pos = 0;
 	int ret, count, ph, pin;
+	const char *res;
 
 	memcpy(reg_def, &sx9324_default_regs[idx], sizeof(*reg_def));
 	switch (reg_def->reg) {
@@ -873,6 +879,22 @@ sx9324_get_default_reg(struct device *dev, int idx,
 			       SX9324_REG_AFE_PH0_PIN_MASK(pin);
 		reg_def->def = raw;
 		break;
+	case SX9324_REG_AFE_CTRL0:
+		ret = device_property_read_string(dev,
+				"semtech,int-comp-resistor", &res);
+		if (ret)
+			break;
+		reg_def->def &= ~SX9324_REG_AFE_CTRL0_RINT_MASK;
+		if (!strcmp(res, "lowest"))
+			reg_def->def |= SX9324_REG_AFE_CTRL0_RINT_LOWEST;
+		else if (!strcmp(res, "low"))
+			reg_def->def |= SX9324_REG_AFE_CTRL0_RINT_LOW;
+		else if (!strcmp(res, "high"))
+			reg_def->def |= SX9324_REG_AFE_CTRL0_RINT_HIGH;
+		else if (!strcmp(res, "highest"))
+			reg_def->def |= SX9324_REG_AFE_CTRL0_RINT_HIGHEST;
+
+		break;
 	case SX9324_REG_AFE_CTRL4:
 	case SX9324_REG_AFE_CTRL7:
 		if (reg_def->reg == SX9324_REG_AFE_CTRL4)
-- 
2.35.1.723.g4982287a31-goog


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

* [PATCH 6/7] dt-bindings: iio: sx9360: Add precharge resistor setting
  2022-03-15 17:30 [PATCH 0/7] Add settings for precharge and internal resistor Gwendal Grignou
                   ` (4 preceding siblings ...)
  2022-03-15 17:30 ` [PATCH 5/7] iio: sx9324: Add Setting for internal compensation resistor Gwendal Grignou
@ 2022-03-15 17:30 ` Gwendal Grignou
  2022-03-20 12:45   ` Jonathan Cameron
  2022-03-15 17:30 ` [PATCH 7/7] iio: sx9360: Add pre-charge " Gwendal Grignou
  2022-03-20 12:48 ` [PATCH 0/7] Add settings for precharge and internal resistor Jonathan Cameron
  7 siblings, 1 reply; 18+ messages in thread
From: Gwendal Grignou @ 2022-03-15 17:30 UTC (permalink / raw)
  To: jic23, robh+dt, swboyd; +Cc: linux-iio, devicetree, Gwendal Grignou

Allow configure the resistance used during precharge.

Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
---
 .../bindings/iio/proximity/semtech,sx9360.yaml           | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/Documentation/devicetree/bindings/iio/proximity/semtech,sx9360.yaml b/Documentation/devicetree/bindings/iio/proximity/semtech,sx9360.yaml
index 63e1a1fd00d4c..a0f8a454481db 100644
--- a/Documentation/devicetree/bindings/iio/proximity/semtech,sx9360.yaml
+++ b/Documentation/devicetree/bindings/iio/proximity/semtech,sx9360.yaml
@@ -61,6 +61,14 @@ properties:
       UINT_MAX (4294967295) represents infinite. Other values
       represent 1-1/N.
 
+  semtech,input-precharge-resistor:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    default: 0
+    description:
+      Pre-charge input resistance in kOhm.
+    minimum: 0
+    maximum: 30
+
 required:
   - compatible
   - reg
@@ -85,5 +93,6 @@ examples:
         semtech,resolution = <256>;
         semtech,proxraw-strength = <2>;
         semtech,avg-pos-strength = <64>;
+        semtech,input-precharge-resistor = <4>;
       };
     };
-- 
2.35.1.723.g4982287a31-goog


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

* [PATCH 7/7] iio: sx9360: Add pre-charge resistor setting
  2022-03-15 17:30 [PATCH 0/7] Add settings for precharge and internal resistor Gwendal Grignou
                   ` (5 preceding siblings ...)
  2022-03-15 17:30 ` [PATCH 6/7] dt-bindings: iio: sx9360: Add precharge resistor setting Gwendal Grignou
@ 2022-03-15 17:30 ` Gwendal Grignou
  2022-03-15 20:10   ` Stephen Boyd
  2022-03-20 12:48 ` [PATCH 0/7] Add settings for precharge and internal resistor Jonathan Cameron
  7 siblings, 1 reply; 18+ messages in thread
From: Gwendal Grignou @ 2022-03-15 17:30 UTC (permalink / raw)
  To: jic23, robh+dt, swboyd; +Cc: linux-iio, devicetree, Gwendal Grignou

Add ability to set the precharge internal resistance from the device
tree.

Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
---
 drivers/iio/proximity/sx9360.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/drivers/iio/proximity/sx9360.c b/drivers/iio/proximity/sx9360.c
index 3ebb30c8a4f61..51aa65f12493a 100644
--- a/drivers/iio/proximity/sx9360.c
+++ b/drivers/iio/proximity/sx9360.c
@@ -51,6 +51,8 @@
 #define SX9360_REG_GNRL_REG_2_FREQ(_r)  (SX9360_FOSC_HZ / ((_r) * 8192))
 
 #define SX9360_REG_AFE_CTRL1		0x21
+#define SX9360_REG_AFE_CTRL1_RESFILTIN_MASK GENMASK(3, 0)
+#define SX9360_REG_AFE_CTRL1_RESFILTIN_0OHMS 0
 #define SX9360_REG_AFE_PARAM0_PHR	0x22
 #define SX9360_REG_AFE_PARAM1_PHR	0x23
 #define SX9360_REG_AFE_PARAM0_PHM	0x24
@@ -671,7 +673,7 @@ static const struct sx_common_reg_default sx9360_default_regs[] = {
 	{ SX9360_REG_GNRL_CTRL1, 0x00 },
 	{ SX9360_REG_GNRL_CTRL2, SX9360_REG_GNRL_CTRL2_PERIOD_102MS },
 
-	{ SX9360_REG_AFE_CTRL1, 0x00 },
+	{ SX9360_REG_AFE_CTRL1, SX9360_REG_AFE_CTRL1_RESFILTIN_0OHMS },
 	{ SX9360_REG_AFE_PARAM0_PHR, SX9360_REG_AFE_PARAM0_RSVD |
 		SX9360_REG_AFE_PARAM0_RESOLUTION_128 },
 	{ SX9360_REG_AFE_PARAM1_PHR, SX9360_REG_AFE_PARAM1_AGAIN_PHM_6PF |
@@ -722,6 +724,14 @@ sx9360_get_default_reg(struct device *dev, int idx,
 
 	memcpy(reg_def, &sx9360_default_regs[idx], sizeof(*reg_def));
 	switch (reg_def->reg) {
+	case SX9360_REG_AFE_CTRL1:
+		ret = device_property_read_u32(dev,
+				"semtech,input-precharge-resistor",
+				&raw);
+		reg_def->def &= ~SX9360_REG_AFE_CTRL1_RESFILTIN_MASK;
+		reg_def->def |= FIELD_PREP(SX9360_REG_AFE_CTRL1_RESFILTIN_MASK,
+					   raw / 2);
+		break;
 	case SX9360_REG_AFE_PARAM0_PHR:
 	case SX9360_REG_AFE_PARAM0_PHM:
 		ret = device_property_read_u32(dev, "semtech,resolution", &raw);
-- 
2.35.1.723.g4982287a31-goog


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

* Re: [PATCH 1/7] iio: sx9324: Fix register field spelling
  2022-03-15 17:30 ` [PATCH 1/7] iio: sx9324: Fix register field spelling Gwendal Grignou
@ 2022-03-15 18:19   ` Stephen Boyd
  2022-03-16 21:38     ` Gwendal Grignou
  0 siblings, 1 reply; 18+ messages in thread
From: Stephen Boyd @ 2022-03-15 18:19 UTC (permalink / raw)
  To: Gwendal Grignou, jic23, robh+dt; +Cc: linux-iio, devicetree

Quoting Gwendal Grignou (2022-03-15 10:30:36)
> Field for PROX_CTRL4 should contain PROX_CTRL4.
>
> Signed-off-by: Gwendal Grignou <gwendal@chromium.org>

Any Fixes tag? It's a typo though so not really a big deal.

Reviewed-by: Stephen Boyd <swboyd@chromium.org>

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

* Re: [PATCH 2/7] dt-bindings: iio: sx9324: Add precharge resistor setting
  2022-03-15 17:30 ` [PATCH 2/7] dt-bindings: iio: sx9324: Add precharge resistor setting Gwendal Grignou
@ 2022-03-15 20:05   ` Stephen Boyd
  2022-03-20 12:07     ` Jonathan Cameron
  0 siblings, 1 reply; 18+ messages in thread
From: Stephen Boyd @ 2022-03-15 20:05 UTC (permalink / raw)
  To: Gwendal Grignou, jic23, robh+dt; +Cc: linux-iio, devicetree

Quoting Gwendal Grignou (2022-03-15 10:30:37)
> Allow configure the resistance used during precharge.
>
> Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
> ---
>  .../bindings/iio/proximity/semtech,sx9324.yaml           | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/iio/proximity/semtech,sx9324.yaml b/Documentation/devicetree/bindings/iio/proximity/semtech,sx9324.yaml
> index b8a6ee16854ff..cd8ed50f2882a 100644
> --- a/Documentation/devicetree/bindings/iio/proximity/semtech,sx9324.yaml
> +++ b/Documentation/devicetree/bindings/iio/proximity/semtech,sx9324.yaml
> @@ -126,6 +126,14 @@ properties:
>        UINT_MAX (4294967295) represents infinite. Other values
>        represent 1-1/N.
>
> +  semtech,input-precharge-resistor:

It is clearer when the units are in the name of the property.

	semtech,input-precharge-resistor-kohms

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

* Re: [PATCH 3/7] iio: sx9324: Add precharge internal resistance setting
  2022-03-15 17:30 ` [PATCH 3/7] iio: sx9324: Add precharge internal resistance setting Gwendal Grignou
@ 2022-03-15 20:07   ` Stephen Boyd
  0 siblings, 0 replies; 18+ messages in thread
From: Stephen Boyd @ 2022-03-15 20:07 UTC (permalink / raw)
  To: Gwendal Grignou, jic23, robh+dt; +Cc: linux-iio, devicetree

Quoting Gwendal Grignou (2022-03-15 10:30:38)
> Add ability to set the precharge internal resistance from the device
> tree.
>
> Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
> ---
>  drivers/iio/proximity/sx9324.c | 14 ++++++++++++--
>  1 file changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/iio/proximity/sx9324.c b/drivers/iio/proximity/sx9324.c
> index 1bef16437aa84..785af857b23a1 100644
> --- a/drivers/iio/proximity/sx9324.c
> +++ b/drivers/iio/proximity/sx9324.c
> @@ -70,7 +70,8 @@
>  #define SX9324_REG_AFE_PH2             0x2a
>  #define SX9324_REG_AFE_PH3             0x2b
>  #define SX9324_REG_AFE_CTRL8           0x2c
> -#define SX9324_REG_AFE_CTRL8_RESFILTN_4KOHM 0x02
> +#define SX9324_REG_AFE_CTRL8_RESFILTIN_4KOHM 0x02
> +#define SX9324_REG_AFE_CTRL8_RESFILTIN_MASK GENMASK(3, 0)
>  #define SX9324_REG_AFE_CTRL9           0x2d
>  #define SX9324_REG_AFE_CTRL9_AGAIN_1   0x08
>
> @@ -781,7 +782,7 @@ static const struct sx_common_reg_default sx9324_default_regs[] = {
>         { SX9324_REG_AFE_PH2, 0x1a },
>         { SX9324_REG_AFE_PH3, 0x16 },
>
> -       { SX9324_REG_AFE_CTRL8, SX9324_REG_AFE_CTRL8_RESFILTN_4KOHM },
> +       { SX9324_REG_AFE_CTRL8, 0x10 | SX9324_REG_AFE_CTRL8_RESFILTIN_4KOHM },

Is this 0x10 an enable bit? So it wasn't being enabled before? Please
make a define for the 0x10 value.

>         { SX9324_REG_AFE_CTRL9, SX9324_REG_AFE_CTRL9_AGAIN_1 },
>
>         { SX9324_REG_PROX_CTRL0, SX9324_REG_PROX_CTRL0_GAIN_1 |

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

* Re: [PATCH 5/7] iio: sx9324: Add Setting for internal compensation resistor
  2022-03-15 17:30 ` [PATCH 5/7] iio: sx9324: Add Setting for internal compensation resistor Gwendal Grignou
@ 2022-03-15 20:08   ` Stephen Boyd
  0 siblings, 0 replies; 18+ messages in thread
From: Stephen Boyd @ 2022-03-15 20:08 UTC (permalink / raw)
  To: Gwendal Grignou, jic23, robh+dt; +Cc: linux-iio, devicetree

Quoting Gwendal Grignou (2022-03-15 10:30:40)
> Based on device tree setting, set the internal compensation resistor.
>
> Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
> ---

Reviewed-by: Stephen Boyd <swboyd@chromium.org>

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

* Re: [PATCH 7/7] iio: sx9360: Add pre-charge resistor setting
  2022-03-15 17:30 ` [PATCH 7/7] iio: sx9360: Add pre-charge " Gwendal Grignou
@ 2022-03-15 20:10   ` Stephen Boyd
  0 siblings, 0 replies; 18+ messages in thread
From: Stephen Boyd @ 2022-03-15 20:10 UTC (permalink / raw)
  To: Gwendal Grignou, jic23, robh+dt; +Cc: linux-iio, devicetree

Quoting Gwendal Grignou (2022-03-15 10:30:42)
> Add ability to set the precharge internal resistance from the device
> tree.
>
> Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
> ---

Reviewed-by: Stephen Boyd <swboyd@chromium.org>

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

* Re: [PATCH 1/7] iio: sx9324: Fix register field spelling
  2022-03-15 18:19   ` Stephen Boyd
@ 2022-03-16 21:38     ` Gwendal Grignou
  0 siblings, 0 replies; 18+ messages in thread
From: Gwendal Grignou @ 2022-03-16 21:38 UTC (permalink / raw)
  To: Stephen Boyd; +Cc: jic23, robh+dt, linux-iio, devicetree

On Tue, Mar 15, 2022 at 11:19 AM Stephen Boyd <swboyd@chromium.org> wrote:
>
> Quoting Gwendal Grignou (2022-03-15 10:30:36)
> > Field for PROX_CTRL4 should contain PROX_CTRL4.
> >
> > Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
>
> Any Fixes tag? It's a typo though so not really a big deal.
Fixes: 4c18a890dff8d ("iio:proximity:sx9324: Add SX9324 support")
>
> Reviewed-by: Stephen Boyd <swboyd@chromium.org>

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

* Re: [PATCH 2/7] dt-bindings: iio: sx9324: Add precharge resistor setting
  2022-03-15 20:05   ` Stephen Boyd
@ 2022-03-20 12:07     ` Jonathan Cameron
  0 siblings, 0 replies; 18+ messages in thread
From: Jonathan Cameron @ 2022-03-20 12:07 UTC (permalink / raw)
  To: Stephen Boyd; +Cc: Gwendal Grignou, robh+dt, linux-iio, devicetree

On Tue, 15 Mar 2022 13:05:38 -0700
Stephen Boyd <swboyd@chromium.org> wrote:

> Quoting Gwendal Grignou (2022-03-15 10:30:37)
> > Allow configure the resistance used during precharge.
> >
> > Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
> > ---
> >  .../bindings/iio/proximity/semtech,sx9324.yaml           | 9 +++++++++
> >  1 file changed, 9 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/iio/proximity/semtech,sx9324.yaml b/Documentation/devicetree/bindings/iio/proximity/semtech,sx9324.yaml
> > index b8a6ee16854ff..cd8ed50f2882a 100644
> > --- a/Documentation/devicetree/bindings/iio/proximity/semtech,sx9324.yaml
> > +++ b/Documentation/devicetree/bindings/iio/proximity/semtech,sx9324.yaml
> > @@ -126,6 +126,14 @@ properties:
> >        UINT_MAX (4294967295) represents infinite. Other values
> >        represent 1-1/N.
> >
> > +  semtech,input-precharge-resistor:  
> 
> It is clearer when the units are in the name of the property.
> 
> 	semtech,input-precharge-resistor-kohms

Added bonus is that you won't need the ref if the units chosen
match one of the ones in 
https://github.com/robherring/dt-schema/blob/master/schemas/property-units.yaml

Note kohms isn't there so unless we have an issue representing this in ohms,
please use that instead.

Jonathan

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

* Re: [PATCH 4/7] dt-bindings: iio: sx9324: Add internal compensation resistor setting
  2022-03-15 17:30 ` [PATCH 4/7] dt-bindings: iio: sx9324: Add internal compensation resistor setting Gwendal Grignou
@ 2022-03-20 12:44   ` Jonathan Cameron
  0 siblings, 0 replies; 18+ messages in thread
From: Jonathan Cameron @ 2022-03-20 12:44 UTC (permalink / raw)
  To: Gwendal Grignou; +Cc: robh+dt, swboyd, linux-iio, devicetree

On Tue, 15 Mar 2022 10:30:39 -0700
Gwendal Grignou <gwendal@chromium.org> wrote:

> Allow setting the internal resistor used for compensation.
> 
> Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
> ---
>  .../bindings/iio/proximity/semtech,sx9324.yaml        | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/iio/proximity/semtech,sx9324.yaml b/Documentation/devicetree/bindings/iio/proximity/semtech,sx9324.yaml
> index cd8ed50f2882a..9a046f62579be 100644
> --- a/Documentation/devicetree/bindings/iio/proximity/semtech,sx9324.yaml
> +++ b/Documentation/devicetree/bindings/iio/proximity/semtech,sx9324.yaml
> @@ -126,6 +126,16 @@ properties:
>        UINT_MAX (4294967295) represents infinite. Other values
>        represent 1-1/N.
>  
> +  semtech,int-comp-resistor:
> +    description:
> +      Internal resistor setting for compensation.

Can we add any info on how a board designer would choose this value?
What is affect of going higher?

> +    enum:
> +      - lowest
> +      - low
> +      - high
> +      - highest
> +    default: lowest
> +
>    semtech,input-precharge-resistor:
>      $ref: /schemas/types.yaml#/definitions/uint32
>      default: 4
> @@ -165,6 +175,7 @@ examples:
>          semtech,ph01-proxraw-strength = <2>;
>          semtech,ph23-proxraw-strength = <2>;
>          semtech,avg-pos-strength = <64>;
> +        semtech,int-comp-resistor = "lowest";
>          semtech,input-precharge-resistor = <2>;
>        };
>      };


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

* Re: [PATCH 6/7] dt-bindings: iio: sx9360: Add precharge resistor setting
  2022-03-15 17:30 ` [PATCH 6/7] dt-bindings: iio: sx9360: Add precharge resistor setting Gwendal Grignou
@ 2022-03-20 12:45   ` Jonathan Cameron
  0 siblings, 0 replies; 18+ messages in thread
From: Jonathan Cameron @ 2022-03-20 12:45 UTC (permalink / raw)
  To: Gwendal Grignou; +Cc: robh+dt, swboyd, linux-iio, devicetree

On Tue, 15 Mar 2022 10:30:41 -0700
Gwendal Grignou <gwendal@chromium.org> wrote:

> Allow configure the resistance used during precharge.
> 
> Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
> ---
>  .../bindings/iio/proximity/semtech,sx9360.yaml           | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/iio/proximity/semtech,sx9360.yaml b/Documentation/devicetree/bindings/iio/proximity/semtech,sx9360.yaml
> index 63e1a1fd00d4c..a0f8a454481db 100644
> --- a/Documentation/devicetree/bindings/iio/proximity/semtech,sx9360.yaml
> +++ b/Documentation/devicetree/bindings/iio/proximity/semtech,sx9360.yaml
> @@ -61,6 +61,14 @@ properties:
>        UINT_MAX (4294967295) represents infinite. Other values
>        represent 1-1/N.
>  
> +  semtech,input-precharge-resistor:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    default: 0
> +    description:
> +      Pre-charge input resistance in kOhm.
Another one to make in ohms and give it appropriate prefix so we don't need
the ref line.

Thanks,

Jonathan

> +    minimum: 0
> +    maximum: 30
> +
>  required:
>    - compatible
>    - reg
> @@ -85,5 +93,6 @@ examples:
>          semtech,resolution = <256>;
>          semtech,proxraw-strength = <2>;
>          semtech,avg-pos-strength = <64>;
> +        semtech,input-precharge-resistor = <4>;
>        };
>      };


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

* Re: [PATCH 0/7] Add settings for precharge and internal resistor
  2022-03-15 17:30 [PATCH 0/7] Add settings for precharge and internal resistor Gwendal Grignou
                   ` (6 preceding siblings ...)
  2022-03-15 17:30 ` [PATCH 7/7] iio: sx9360: Add pre-charge " Gwendal Grignou
@ 2022-03-20 12:48 ` Jonathan Cameron
  7 siblings, 0 replies; 18+ messages in thread
From: Jonathan Cameron @ 2022-03-20 12:48 UTC (permalink / raw)
  To: Gwendal Grignou; +Cc: robh+dt, swboyd, linux-iio, devicetree

On Tue, 15 Mar 2022 10:30:35 -0700
Gwendal Grignou <gwendal@chromium.org> wrote:

> For Semtech sensors SX9324 and SX9360, allow confugration of the
> pre-charge resistor (9324/9360) and internal resistor (9324).
> 
> Fix a register name spelling mistake first.
> The 9360 changes are independant from the 9324 changes, but they are
> very similar.
General comment on a pet hate of mine as someone who scan reads an awful
lot of mailing lists:  Always include the driver prefix for the
cover letter title as well to save a small amount of extra time it takes
people who are not interested in this patch series to skip over it.
So
iio: sx9324/9360: Add settings for precharge and internal resistor.

Also makes it easier to spot the series in patch work which is how I
just noticed the prefix wasn't there :)

Thanks,

Jonathan

> 
> Gwendal Grignou (7):
>   iio: sx9324: Fix register field spelling
>   dt-bindings: iio: sx9324: Add precharge resistor setting
>   iio: sx9324: Add precharge internal resistance setting
>   dt-bindings: iio: sx9324: Add internal compensation resistor setting
>   iio: sx9324: Add Setting for internal compensation resistor
>   dt-bindings: iio: sx9360: Add precharge resistor setting
>   iio: sx9360: Add pre-charge resistor setting
> 
>  .../iio/proximity/semtech,sx9324.yaml         | 20 +++++++++
>  .../iio/proximity/semtech,sx9360.yaml         |  9 ++++
>  drivers/iio/proximity/sx9324.c                | 42 ++++++++++++++++---
>  drivers/iio/proximity/sx9360.c                | 12 +++++-
>  4 files changed, 77 insertions(+), 6 deletions(-)
> 


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

end of thread, other threads:[~2022-03-20 12:41 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-15 17:30 [PATCH 0/7] Add settings for precharge and internal resistor Gwendal Grignou
2022-03-15 17:30 ` [PATCH 1/7] iio: sx9324: Fix register field spelling Gwendal Grignou
2022-03-15 18:19   ` Stephen Boyd
2022-03-16 21:38     ` Gwendal Grignou
2022-03-15 17:30 ` [PATCH 2/7] dt-bindings: iio: sx9324: Add precharge resistor setting Gwendal Grignou
2022-03-15 20:05   ` Stephen Boyd
2022-03-20 12:07     ` Jonathan Cameron
2022-03-15 17:30 ` [PATCH 3/7] iio: sx9324: Add precharge internal resistance setting Gwendal Grignou
2022-03-15 20:07   ` Stephen Boyd
2022-03-15 17:30 ` [PATCH 4/7] dt-bindings: iio: sx9324: Add internal compensation resistor setting Gwendal Grignou
2022-03-20 12:44   ` Jonathan Cameron
2022-03-15 17:30 ` [PATCH 5/7] iio: sx9324: Add Setting for internal compensation resistor Gwendal Grignou
2022-03-15 20:08   ` Stephen Boyd
2022-03-15 17:30 ` [PATCH 6/7] dt-bindings: iio: sx9360: Add precharge resistor setting Gwendal Grignou
2022-03-20 12:45   ` Jonathan Cameron
2022-03-15 17:30 ` [PATCH 7/7] iio: sx9360: Add pre-charge " Gwendal Grignou
2022-03-15 20:10   ` Stephen Boyd
2022-03-20 12:48 ` [PATCH 0/7] Add settings for precharge and internal resistor Jonathan Cameron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox