* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.