[PATCH] dt-bindings: iio: sx9310: Add various settings as DT properties

From: Stephen Boyd
Date: Thu Sep 03 2020 - 18:18:33 EST


We need to set various bits in the hardware registers for this device to
operate properly depending on how it is installed. Add a handful of DT
properties to configure these things.

Cc: Daniel Campello <campello@xxxxxxxxxxxx>
Cc: Lars-Peter Clausen <lars@xxxxxxxxxx>
Cc: Peter Meerwald-Stadler <pmeerw@xxxxxxxxxx>
Cc: Rob Herring <robh+dt@xxxxxxxxxx>
Cc: <devicetree@xxxxxxxxxxxxxxx>
Cc: Douglas Anderson <dianders@xxxxxxxxxxxx>
Cc: Gwendal Grignou <gwendal@xxxxxxxxxxxx>
Cc: Evan Green <evgreen@xxxxxxxxxxxx>
Signed-off-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>
---

I haven't written any code to handle these properties yet. I'd rather do
that once the binding patch is reviewed. Patch based on iio.git testing
branch.

.../iio/proximity/semtech,sx9310.yaml | 182 ++++++++++++++++++
1 file changed, 182 insertions(+)

diff --git a/Documentation/devicetree/bindings/iio/proximity/semtech,sx9310.yaml b/Documentation/devicetree/bindings/iio/proximity/semtech,sx9310.yaml
index 5739074d3592..e74b81483c14 100644
--- a/Documentation/devicetree/bindings/iio/proximity/semtech,sx9310.yaml
+++ b/Documentation/devicetree/bindings/iio/proximity/semtech,sx9310.yaml
@@ -40,6 +40,169 @@ properties:
"#io-channel-cells":
const: 1

+ semtech,cs0-ground:
+ description: Indicates the CS0 sensor is connected to ground.
+ type: boolean
+
+ semtech,combined-sensors:
+ allOf:
+ - $ref: /schemas/types.yaml#definitions/uint32
+ - enum: [0, 1, 2, 3]
+ default: 0
+ description:
+ Which sensors are combined. 0 for CS3, 1 for CS0+CS1, 2 for CS1+CS2,
+ and 3 for all sensors.
+
+ semtech,cs0-gain-factor:
+ allOf:
+ - $ref: /schemas/types.yaml#definitions/uint32
+ - enum: [1, 2, 4, 8]
+ default: 1
+ description:
+ Gain factor for CS0 (and combined if any) sensor.
+
+ semtech,cs1-gain-factor:
+ allOf:
+ - $ref: /schemas/types.yaml#definitions/uint32
+ - enum: [1, 2, 4, 8]
+ default: 1
+ description:
+ Gain factor for CS1 sensor.
+
+ semtech,cs2-gain-factor:
+ allOf:
+ - $ref: /schemas/types.yaml#definitions/uint32
+ - enum: [1, 2, 4, 8]
+ default: 1
+ description:
+ Gain factor for CS2 sensor.
+
+ semtech,resolution:
+ description:
+ Capacitance measure resolution.
+ enum:
+ - coarsest
+ - very-coarse
+ - coarse
+ - medium-coarse
+ - medium
+ - fine
+ - very-fine
+ - finest
+
+ semtech,startup-sensor:
+ allOf:
+ - $ref: /schemas/types.yaml#definitions/uint32
+ - enum: [0, 1, 2, 3]
+ default: 0
+ description:
+ Sensor used for start-up proximity detection. The combined
+ sensor is represented by 3.
+
+ semtech,proxraw-strength:
+ allOf:
+ - $ref: /schemas/types.yaml#definitions/uint32
+ - enum: [0, 2, 4, 8]
+ default: 2
+ description:
+ PROXRAW filter strength. A value of 0 represents off, and other values
+ represent 1-1/N.
+
+ semtech,compensate-common:
+ description: Any sensor triggers compensation of all channels.
+ type: boolean
+
+ semtech,avg-pos-strength:
+ allOf:
+ - $ref: /schemas/types.yaml#definitions/uint32
+ - enum: [0, 16, 64, 128, 256, 512, 1024, 4294967295]
+ default: 16
+ description:
+ Average positive filter strength. A value of 0 represents off and
+ UINT_MAX (4294967295) represents infinite. Other values
+ represent 1-1/N.
+
+ semtech,cs0-prox-threshold:
+ allOf:
+ - $ref: /schemas/types.yaml#definitions/uint32
+ - enum: [2, 4, 6, 8, 12, 16, 20, 24, 28, 32, 40,
+ 48, 56, 64, 72, 80, 88, 96, 112, 128, 144,
+ 160, 192, 224, 256, 320, 384, 512, 640,
+ 768, 1024, 1536]
+ default: 12
+ description:
+ Proximity detection threshold for CS0 (and combined if any) sensor.
+
+ semtech,cs1-prox-threshold:
+ allOf:
+ - $ref: /schemas/types.yaml#definitions/uint32
+ - enum: [2, 4, 6, 8, 12, 16, 20, 24, 28, 32, 40,
+ 48, 56, 64, 72, 80, 88, 96, 112, 128, 144,
+ 160, 192, 224, 256, 320, 384, 512, 640,
+ 768, 1024, 1536]
+ default: 12
+ description:
+ Proximity detection threshold for CS1 sensor.
+
+ semtech,cs2-prox-threshold:
+ allOf:
+ - $ref: /schemas/types.yaml#definitions/uint32
+ - enum: [2, 4, 6, 8, 12, 16, 20, 24, 28, 32, 40,
+ 48, 56, 64, 72, 80, 88, 96, 112, 128, 144,
+ 160, 192, 224, 256, 320, 384, 512, 640,
+ 768, 1024, 1536]
+ default: 12
+ description:
+ Proximity detection threshold for CS2 sensor.
+
+ semtech,cs0-body-threshold:
+ allOf:
+ - $ref: /schemas/types.yaml#definitions/uint32
+ - enum: [0, 300, 600, 900, 1200, 1500, 1800, 30000]
+ default: 1800
+ description:
+ Body detection threshold for CS0 (and combined if any) sensor.
+
+ semtech,cs1-body-threshold:
+ allOf:
+ - $ref: /schemas/types.yaml#definitions/uint32
+ - enum: [0, 300, 600, 900, 1200, 1500, 1800, 30000]
+ default: 12
+ description:
+ Body detection threshold for CS1 sensor.
+
+ semtech,cs2-body-threshold:
+ allOf:
+ - $ref: /schemas/types.yaml#definitions/uint32
+ - enum: [0, 300, 600, 900, 1200, 1500, 1800, 30000]
+ default: 12
+ description:
+ Body detection threshold for CS2 sensor.
+
+ semtech,hysteresis:
+ allOf:
+ - $ref: /schemas/types.yaml#definitions/uint32
+ - enum: [0, 6, 12, 25]
+ default: 0
+ description:
+ The percentage of hysteresis +/- applied to proximity/body samples.
+
+ semtech,close-debounce-samples:
+ allOf:
+ - $ref: /schemas/types.yaml#definitions/uint32
+ - enum: [0, 2, 4, 8]
+ default: 0
+ description:
+ The number of close samples debounced for proximity/body thresholds.
+
+ semtech,far-debounce-samples:
+ allOf:
+ - $ref: /schemas/types.yaml#definitions/uint32
+ - enum: [0, 2, 4, 8]
+ default: 0
+ description:
+ The number of far samples debounced for proximity/body thresholds.
+
required:
- compatible
- reg
@@ -61,5 +224,24 @@ examples:
vdd-supply = <&pp3300_a>;
svdd-supply = <&pp1800_prox>;
#io-channel-cells = <1>;
+ semtech,cs0-ground;
+ semtech,combined-sensors = <0>;
+ semtech,cs0-gain-factor = <8>;
+ semtech,cs1-gain-factor = <8>;
+ semtech,cs2-gain-factor = <8>;
+ semtech,resolution = "fine";
+ semtech,startup-sensor = <1>;
+ semtech,proxraw-strength = <2>;
+ semtech,compensate-common;
+ semtech,avg-pos-strength = <64>;
+ semtech,cs0-prox-threshold = <96>;
+ semtech,cs1-prox-threshold = <112>;
+ semtech,cs2-prox-threshold = <96>;
+ semtech,cs0-body-threshold = <300>;
+ semtech,cs1-body-threshold = <300>;
+ semtech,cs2-body-threshold = <300>;
+ semtech,hysteresis = <0>;
+ semtech,close-debounce-samples = <2>;
+ semtech,far-debounce-samples = <2>;
};
};

base-commit: 1bebdcb928eba880f3a119bacb8149216206958a
--
Sent by a computer, using git, on the internet