Document the bindings for the Allegro MicroSystems ALS31300 3-D Linear Hall
Effect Sensor controller by an I2C interface, mainly used in 3D head-on
motion sensing applications.
The device can be configured with different sensitivities in factory,
but the sensitivity value used to calculate value into the Gauss
unit is not available from registers, thus the sensitivity is
provided by the compatible/device-id string which is based
on the part number as described in the datasheet page 2.
The datasheet is available on the product website at [1].
[1] https://www.allegromicro.com/en/products/sense/linear-and-angular-position/linear-position-sensor-ics/als31300
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
---
.../iio/magnetometer/allegro,als31300.yaml | 43 ++++++++++++++++++++++
1 file changed, 43 insertions(+)
diff --git a/Documentation/devicetree/bindings/iio/magnetometer/allegro,als31300.yaml b/Documentation/devicetree/bindings/iio/magnetometer/allegro,als31300.yaml
new file mode 100644
index 000000000000..0a08e769f3aa
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/magnetometer/allegro,als31300.yaml
@@ -0,0 +1,43 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/magnetometer/allegromicro,als31300.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Allegro MicroSystems ALS31300 3-D Linear Hall Effect sensor
+
+maintainers:
+ - Neil Armstrong <neil.armstrong@linaro.org>
+
+properties:
+ $nodename:
+ pattern: '^magnetometer@[0-9a-f]+$'
+
+ compatible:
+ enum:
+ - allegromicro,als31300-500 # Factory configured at 500 Gauss input range
+ - allegromicro,als31300-1000 # Factory configured at 1000 Gauss input range
+ - allegromicro,als31300-2000 # Factory configured at 2000 Gauss input range
+
+ reg:
+ maxItems: 1
+
+ vcc-supply:
+ description: 5.5V supply
+
+required:
+ - compatible
+
+additionalProperties: false
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ sensor@61 {
+ compatible = "allegromicro,als31300";
+ reg = <0x61>;
+ vcc-supply = <&hall_vcc>;
+ };
+ };
--
2.34.1
On Mon, 07 Oct 2024 15:14:39 +0200 Neil Armstrong <neil.armstrong@linaro.org> wrote: > Document the bindings for the Allegro MicroSystems ALS31300 3-D Linear Hall > Effect Sensor controller by an I2C interface, mainly used in 3D head-on > motion sensing applications. > > The device can be configured with different sensitivities in factory, > but the sensitivity value used to calculate value into the Gauss > unit is not available from registers, thus the sensitivity is > provided by the compatible/device-id string which is based > on the part number as described in the datasheet page 2. > > The datasheet is available on the product website at [1]. > > [1] https://www.allegromicro.com/en/products/sense/linear-and-angular-position/linear-position-sensor-ics/als31300 Use Datasheet tag. It's not that common but it makes it clear what this is and some scripting can pick it up. > Datasheet: https://www.allegromicro.com/en/products/sense/linear-and-angular-position/linear-position-sensor-ics/als31300 > Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> Hi Neil, > --- > .../iio/magnetometer/allegro,als31300.yaml | 43 ++++++++++++++++++++++ > 1 file changed, 43 insertions(+) > > diff --git a/Documentation/devicetree/bindings/iio/magnetometer/allegro,als31300.yaml b/Documentation/devicetree/bindings/iio/magnetometer/allegro,als31300.yaml > new file mode 100644 > index 000000000000..0a08e769f3aa > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/magnetometer/allegro,als31300.yaml Rob's bot has better eyes than me. Filename needs to be allegromicro,als31300.yaml > @@ -0,0 +1,43 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/iio/magnetometer/allegromicro,als31300.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Allegro MicroSystems ALS31300 3-D Linear Hall Effect sensor > + > +maintainers: > + - Neil Armstrong <neil.armstrong@linaro.org> > + > +properties: > + $nodename: > + pattern: '^magnetometer@[0-9a-f]+$' > + > + compatible: > + enum: > + - allegromicro,als31300-500 # Factory configured at 500 Gauss input range > + - allegromicro,als31300-1000 # Factory configured at 1000 Gauss input range > + - allegromicro,als31300-2000 # Factory configured at 2000 Gauss input range I was wondering if the range should be a separate property, but given these are the part numbers the parts are sold under, I think compatibles are fine. > + > + reg: > + maxItems: 1 > + > + vcc-supply: > + description: 5.5V supply A quick glance at the pinout google fed me suggests an interrupt pin. Even though the driver doesn't yet support it (I assume as I've not looked at that yet) the binding should include it. > + > +required: > + - compatible > + > +additionalProperties: false > + > +examples: > + - | > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + sensor@61 { magnetometer@61 { > + compatible = "allegromicro,als31300"; > + reg = <0x61>; > + vcc-supply = <&hall_vcc>; > + }; > + }; >
Hi Jonathan, On 12/10/2024 16:20, Jonathan Cameron wrote: > On Mon, 07 Oct 2024 15:14:39 +0200 > Neil Armstrong <neil.armstrong@linaro.org> wrote: > >> Document the bindings for the Allegro MicroSystems ALS31300 3-D Linear Hall >> Effect Sensor controller by an I2C interface, mainly used in 3D head-on >> motion sensing applications. >> >> The device can be configured with different sensitivities in factory, >> but the sensitivity value used to calculate value into the Gauss >> unit is not available from registers, thus the sensitivity is >> provided by the compatible/device-id string which is based >> on the part number as described in the datasheet page 2. >> >> The datasheet is available on the product website at [1]. >> >> [1] https://www.allegromicro.com/en/products/sense/linear-and-angular-position/linear-position-sensor-ics/als31300 > Use Datasheet tag. It's not that common but it makes it clear what this is and some scripting > can pick it up. Ack sure I'll use that instead > >> > Datasheet: https://www.allegromicro.com/en/products/sense/linear-and-angular-position/linear-position-sensor-ics/als31300 >> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> > Hi Neil, > >> --- >> .../iio/magnetometer/allegro,als31300.yaml | 43 ++++++++++++++++++++++ >> 1 file changed, 43 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/iio/magnetometer/allegro,als31300.yaml b/Documentation/devicetree/bindings/iio/magnetometer/allegro,als31300.yaml >> new file mode 100644 >> index 000000000000..0a08e769f3aa >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/iio/magnetometer/allegro,als31300.yaml > > Rob's bot has better eyes than me. Filename needs to be allegromicro,als31300.yaml Yeah I did modifications without testing it, bad habit.... > >> @@ -0,0 +1,43 @@ >> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/iio/magnetometer/allegromicro,als31300.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Allegro MicroSystems ALS31300 3-D Linear Hall Effect sensor >> + >> +maintainers: >> + - Neil Armstrong <neil.armstrong@linaro.org> >> + >> +properties: >> + $nodename: >> + pattern: '^magnetometer@[0-9a-f]+$' >> + >> + compatible: >> + enum: >> + - allegromicro,als31300-500 # Factory configured at 500 Gauss input range >> + - allegromicro,als31300-1000 # Factory configured at 1000 Gauss input range >> + - allegromicro,als31300-2000 # Factory configured at 2000 Gauss input range > > I was wondering if the range should be a separate property, but given these > are the part numbers the parts are sold under, I think compatibles are fine. Yeah, I had the same conclusion >> + >> + reg: >> + maxItems: 1 >> + >> + vcc-supply: >> + description: 5.5V supply > A quick glance at the pinout google fed me suggests an interrupt pin. > Even though the driver doesn't yet support it (I assume as I've not looked at that yet) > the binding should include it. Sure I'll add it even if how it's configured in the epprom, it's barely usable by default. > >> + >> +required: >> + - compatible >> + >> +additionalProperties: false >> + >> +examples: >> + - | >> + i2c { >> + #address-cells = <1>; >> + #size-cells = <0>; >> + sensor@61 { > > magnetometer@61 { Ack > >> + compatible = "allegromicro,als31300"; >> + reg = <0x61>; >> + vcc-supply = <&hall_vcc>; >> + }; >> + }; >> > Thanks for the review, Neil
On Mon, 07 Oct 2024 15:14:39 +0200, Neil Armstrong wrote: > Document the bindings for the Allegro MicroSystems ALS31300 3-D Linear Hall > Effect Sensor controller by an I2C interface, mainly used in 3D head-on > motion sensing applications. > > The device can be configured with different sensitivities in factory, > but the sensitivity value used to calculate value into the Gauss > unit is not available from registers, thus the sensitivity is > provided by the compatible/device-id string which is based > on the part number as described in the datasheet page 2. > > The datasheet is available on the product website at [1]. > > [1] https://www.allegromicro.com/en/products/sense/linear-and-angular-position/linear-position-sensor-ics/als31300 > > Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> > --- > .../iio/magnetometer/allegro,als31300.yaml | 43 ++++++++++++++++++++++ > 1 file changed, 43 insertions(+) > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: dtschema/dtc warnings/errors: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/magnetometer/allegro,als31300.yaml: $id: Cannot determine base path from $id, relative path/filename doesn't match actual path or filename $id: http://devicetree.org/schemas/iio/magnetometer/allegromicro,als31300.yaml file: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/magnetometer/allegro,als31300.yaml Documentation/devicetree/bindings/iio/magnetometer/allegro,als31300.example.dtb: /example-0/i2c/sensor@61: failed to match any schema with compatible: ['allegromicro,als31300'] doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20241007-topic-input-upstream-als31300-v1-2-2c240ea5cb77@linaro.org The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
© 2016 - 2024 Red Hat, Inc.