Message ID | 80fa42040f385eb47f4f3c71b9b02f643a643e38.1665066397.git.mazziesaccount@gmail.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | iio: Support ROHM/Kionix kx022a | expand |
On 06/10/2022 16:37, Matti Vaittinen wrote: > KX022A is a 3-axis Accelerometer from ROHM/Kionix. The sensor features > include variable ODRs, I2C and SPI control, FIFO/LIFO with watermark IRQ, > tap/motion detection, wake-up & back-to-sleep events, four acceleration > ranges (2, 4, 8 and 16g) and probably some other cool features. > Thank you for your patch. There is something to discuss/improve. > + > +properties: > + compatible: > + const: kionix,kx022a > + > + reg: > + maxItems: 1 > + > + interrupts: > + minItems: 1 > + maxItems: 2 > + > + interrupt-names: > + minItems: 1 > + maxItems: 2 > + items: > + enum: > + - INT1 > + - INT2 This allows any order, which I assume was your intention. However maybe at least fix it a bit like: minItems: 1 items: - enum: [ int1, int2] - const: int2 OTOH, the names are not really descriptive. Do they match pin names? Best regards, Krzysztof
Hi dee Ho Krzysztof, On 10/6/22 18:23, Krzysztof Kozlowski wrote: > On 06/10/2022 16:37, Matti Vaittinen wrote: >> KX022A is a 3-axis Accelerometer from ROHM/Kionix. The sensor features >> include variable ODRs, I2C and SPI control, FIFO/LIFO with watermark IRQ, >> tap/motion detection, wake-up & back-to-sleep events, four acceleration >> ranges (2, 4, 8 and 16g) and probably some other cool features. >> > > Thank you for your patch. There is something to discuss/improve. > >> + >> +properties: >> + compatible: >> + const: kionix,kx022a >> + >> + reg: >> + maxItems: 1 >> + >> + interrupts: >> + minItems: 1 >> + maxItems: 2 >> + >> + interrupt-names: >> + minItems: 1 >> + maxItems: 2 >> + items: >> + enum: >> + - INT1 >> + - INT2 > > This allows any order, which I assume was your intention. Yes. I don't see real need to restrict ordering - besides, with my yaml/schema skills it'd took eternity to find corrct example(s) ;) My intention is that the user can give either one of these - or both. Order needs naturally to match the order of IRQs - but this we can't know. > However maybe > at least fix it a bit like: > minItems: 1 > items: > - enum: [ int1, int2] > - const: int2 If you say so XD I can fix this for v3 :) > > OTOH, the names are not really descriptive. Do they match pin names? > Yes. They match to pin names used in the data-sheet. Yours -- Matti Ps. I've heard this year has not been that good with the mushrooms here in Finland ;)
On Thu, 6 Oct 2022 18:32:22 +0300 Matti Vaittinen <mazziesaccount@gmail.com> wrote: > Hi dee Ho Krzysztof, > > On 10/6/22 18:23, Krzysztof Kozlowski wrote: > > On 06/10/2022 16:37, Matti Vaittinen wrote: > >> KX022A is a 3-axis Accelerometer from ROHM/Kionix. The sensor features > >> include variable ODRs, I2C and SPI control, FIFO/LIFO with watermark IRQ, > >> tap/motion detection, wake-up & back-to-sleep events, four acceleration > >> ranges (2, 4, 8 and 16g) and probably some other cool features. > >> > > > > Thank you for your patch. There is something to discuss/improve. > > > >> + > >> +properties: > >> + compatible: > >> + const: kionix,kx022a > >> + > >> + reg: > >> + maxItems: 1 > >> + > >> + interrupts: > >> + minItems: 1 > >> + maxItems: 2 > >> + > >> + interrupt-names: > >> + minItems: 1 > >> + maxItems: 2 > >> + items: > >> + enum: > >> + - INT1 > >> + - INT2 > > > > This allows any order, which I assume was your intention. > > Yes. I don't see real need to restrict ordering - besides, with my > yaml/schema skills it'd took eternity to find corrct example(s) ;) > > My intention is that the user can give either one of these - or both. > Order needs naturally to match the order of IRQs - but this we can't know. > > > However maybe > > at least fix it a bit like: > > minItems: 1 > > items: > > - enum: [ int1, int2] > > - const: int2 > > If you say so XD > I can fix this for v3 :) If my limited understanding is correct, one advantage of this restriction is that we can't have "INT1", "INT1" though that may be prevented elsewhere... There is no loss of useful flexibility in how Krzysztof suggested doing it so looks like a good suggestion to me. Jonathan
On 10/9/22 15:27, Jonathan Cameron wrote: > On Thu, 6 Oct 2022 18:32:22 +0300 > Matti Vaittinen <mazziesaccount@gmail.com> wrote: > >> Hi dee Ho Krzysztof, >> >> On 10/6/22 18:23, Krzysztof Kozlowski wrote: >>> On 06/10/2022 16:37, Matti Vaittinen wrote: >>>> KX022A is a 3-axis Accelerometer from ROHM/Kionix. The sensor features >>>> include variable ODRs, I2C and SPI control, FIFO/LIFO with watermark IRQ, >>>> tap/motion detection, wake-up & back-to-sleep events, four acceleration >>>> ranges (2, 4, 8 and 16g) and probably some other cool features. >>>> >>> >>> Thank you for your patch. There is something to discuss/improve. >>> >>>> + >>>> +properties: >>>> + compatible: >>>> + const: kionix,kx022a >>>> + >>>> + reg: >>>> + maxItems: 1 >>>> + >>>> + interrupts: >>>> + minItems: 1 >>>> + maxItems: 2 >>>> + >>>> + interrupt-names: >>>> + minItems: 1 >>>> + maxItems: 2 >>>> + items: >>>> + enum: >>>> + - INT1 >>>> + - INT2 >>> >>> This allows any order, which I assume was your intention. >> >> Yes. I don't see real need to restrict ordering - besides, with my >> yaml/schema skills it'd took eternity to find corrct example(s) ;) >> >> My intention is that the user can give either one of these - or both. >> Order needs naturally to match the order of IRQs - but this we can't know. >> >>> However maybe >>> at least fix it a bit like: >>> minItems: 1 >>> items: >>> - enum: [ int1, int2] >>> - const: int2 >> >> If you say so XD >> I can fix this for v3 :) > If my limited understanding is correct, one advantage of this restriction > is that we can't have > > "INT1", "INT1" > though that may be prevented elsewhere... > > There is no loss of useful flexibility in how Krzysztof suggested doing it > so looks like a good suggestion to me. Thanks Krzysztof and Jonathan :) I'll use Krzysztof's suggestion for the v3.
diff --git a/Documentation/devicetree/bindings/iio/accel/kionix,kx022a.yaml b/Documentation/devicetree/bindings/iio/accel/kionix,kx022a.yaml new file mode 100644 index 000000000000..2919c436e46f --- /dev/null +++ b/Documentation/devicetree/bindings/iio/accel/kionix,kx022a.yaml @@ -0,0 +1,67 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iio/accel/kionix,kx022a.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: ROHM/Kionix KX022A Accelerometer + +maintainers: + - Matti Vaittinen <mazziesaccount@gmail.com> + +description: | + KX022A is a 3-axis accelerometer supporting +/- 2G, 4G, 8G and 16G ranges, + output data-rates from 0.78Hz to 1600Hz and a hardware-fifo buffering. + KX022A can be accessed either via I2C or SPI. + +properties: + compatible: + const: kionix,kx022a + + reg: + maxItems: 1 + + interrupts: + minItems: 1 + maxItems: 2 + + interrupt-names: + minItems: 1 + maxItems: 2 + items: + enum: + - INT1 + - INT2 + + vdd-supply: true + io-vdd-supply: true + + mount-matrix: + description: | + an optional 3x3 mounting rotation matrix. + +required: + - compatible + - reg + - interrupts + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/irq.h> + i2c { + #address-cells = <1>; + #size-cells = <0>; + accel@1f { + compatible = "kionix,kx022a"; + reg = <0x1f>; + + interrupt-parent = <&gpio1>; + interrupts = <29 IRQ_TYPE_LEVEL_LOW>; + interrupt-names = "INT1"; + + io-vdd-supply = <&iovdd>; + vdd-supply = <&vdd>; + }; + };
KX022A is a 3-axis Accelerometer from ROHM/Kionix. The sensor features include variable ODRs, I2C and SPI control, FIFO/LIFO with watermark IRQ, tap/motion detection, wake-up & back-to-sleep events, four acceleration ranges (2, 4, 8 and 16g) and probably some other cool features. Add the basic device tree description for the accelerometer. Only basic accelerometer features are considered as of now - new properties may or may not be needed in the future when rest of the features are supported. Signed-off-by: Matti Vaittinen <mazziesaccount@gmail.com> --- RFCv1 => v2: Based on a review by Krzysztof: - fix a typo from commit message - const compatible - drop unnecessary descriptions/words - io_vdd-supply => io-vdd-supply - fix the binding example indentiation Also, - change my email address - support both INT pins --- .../bindings/iio/accel/kionix,kx022a.yaml | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/accel/kionix,kx022a.yaml