* [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