Skip to contentSkip to conversation

iio: adc: hx711: Add DT binding for avia,hx711

PATCH Superseded Andreas Klinger 2 participants 4 messages Dec 14, 2016

Subsystems (2)

v2 of 5 Superseded Latest is v5 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/2 iio: adc: hx711: Add DT binding for avia,hx711

Add DT bindings for avia,hx711
Add vendor avia to vendor list

---
 .../devicetree/bindings/iio/adc/avia-hx711.txt      | 21 +++++++++++++++++++++
 .../devicetree/bindings/vendor-prefixes.txt         |  1 +
 2 files changed, 22 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/adc/avia-hx711.txt
Documentation/devicetree/bindings/iio/adc/avia-hx711.txt new file +21 -0
new file mode 100644
index 000000000000..6a4659fc7a4f
@@ -0,0 +1,21 @@
+* AVIA HX711 ADC chip for weight cells
+  Bit-banging driver
+
+Required properties:
+ - compatible: Should be "avia,hx711"
+ - sck-gpios:	Definition of the GPIO for the clock
+ - dout-gpios:	Definition of the GPIO for data-out
+		See Documentation/devicetree/bindings/gpio/gpio.txt
+
+Recommended properties:
+ - gain:	Gain select, can be 32, 64 or 128
+		default is 128
+
+Example:
+weight@0 {
+	compatible = "avia,hx711";
+	sck-gpios = <&gpio3 10 GPIO_ACTIVE_HIGH>;
+	dout-gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
+	gain = <32>
+};
+
Documentation/devicetree/bindings/vendor-prefixes.txt +1 -0
index 44ddc980b085..4696bb5c2198 100644
@@ -32,6 +32,7 @@ atlas	Atlas Scientific LLC
 atmel	Atmel Corporation
 auo	AU Optronics Corporation
 avago	Avago Technologies
+avia	avia semiconductor
 avic	Shanghai AVIC Optoelectronics Co., Ltd.
 axis	Axis Communications AB
 boe	BOE Technology Group Co., Ltd.
Signature · 1 line
2.1.4
#1 lore raw
Quoted 18 lines · Andreas Klinger

Add DT bindings for avia,hx711
Add vendor avia to vendor list

---
 .../devicetree/bindings/iio/adc/avia-hx711.txt      | 21 +++++++++++++++++++++
 .../devicetree/bindings/vendor-prefixes.txt         |  1 +
 2 files changed, 22 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/adc/avia-hx711.txt
Documentation/devicetree/bindings/iio/adc/avia-hx711.txt new file +2 -0
new file mode 100644
index 000000000000..6a4659fc7a4f
@@ -0,0 +1,21 @@
+* AVIA HX711 ADC chip for weight cells
+  Bit-banging driver

Documentation/devicetree/bindings/iio/adc/avia-hx711.txt line 12

Quoted 10 lines
Documentation/devicetree/bindings/iio/adc/avia-hx711.txt new file +10 -0
+
+Required properties:
+ - compatible: Should be "avia,hx711"
+ - sck-gpios:	Definition of the GPIO for the clock
+ - dout-gpios:	Definition of the GPIO for data-out
+		See Documentation/devicetree/bindings/gpio/gpio.txt
+
+Recommended properties:
+ - gain:	Gain select, can be 32, 64 or 128
+		default is 128

If the gain is software programmable it should be exposed by the driver allowing the application to change it rather than putting it in the devicetree.

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#2 lore raw

Hi Lars-Peter,

Lars-Peter Clausen <lars-Qo5EllUWu/[email protected]> schrieb am Wed, 14. Dec 11:11:

Quoted 24 lines · Andreas Klinger
Quoted 23 lines

Add DT bindings for avia,hx711
Add vendor avia to vendor list

---
 .../devicetree/bindings/iio/adc/avia-hx711.txt      | 21 +++++++++++++++++++++
 .../devicetree/bindings/vendor-prefixes.txt         |  1 +
 2 files changed, 22 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/adc/avia-hx711.txt
Documentation/devicetree/bindings/iio/adc/avia-hx711.txt new file +7 -0
new file mode 100644
index 000000000000..6a4659fc7a4f
@@ -0,0 +1,21 @@
+* AVIA HX711 ADC chip for weight cells
+  Bit-banging driver
+
+Required properties:
+ - compatible: Should be "avia,hx711"
+ - sck-gpios:	Definition of the GPIO for the clock
+ - dout-gpios:	Definition of the GPIO for data-out
Quoted 9 lines

Documentation/devicetree/bindings/iio/adc/avia-hx711.txt line 12

Quoted 5 lines
Documentation/devicetree/bindings/iio/adc/avia-hx711.txt new file +5 -0
+		See Documentation/devicetree/bindings/gpio/gpio.txt
+
+Recommended properties:
+ - gain:	Gain select, can be 32, 64 or 128
+		default is 128

If the gain is software programmable it should be exposed by the driver allowing the application to change it rather than putting it in the devicetree.

There is also a hardware dependency in terms of where to connect the input channel to:
- gain 64 and gain 128 are available only on input channel A
- gain 32 is only available on input channel B

Do you still think, it should be removed from the devicetree?

Andreas

Quoted 4 lines

--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#3 lore raw
Quoted 36 lines · Andreas Klinger

Hi Lars-Peter,

Lars-Peter Clausen <[email protected]> schrieb am Wed, 14. Dec 11:11:

Quoted 24 lines · Andreas Klinger
Quoted 23 lines

Add DT bindings for avia,hx711
Add vendor avia to vendor list

---
 .../devicetree/bindings/iio/adc/avia-hx711.txt      | 21 +++++++++++++++++++++
 .../devicetree/bindings/vendor-prefixes.txt         |  1 +
 2 files changed, 22 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/adc/avia-hx711.txt
Documentation/devicetree/bindings/iio/adc/avia-hx711.txt new file +7 -0
new file mode 100644
index 000000000000..6a4659fc7a4f
@@ -0,0 +1,21 @@
+* AVIA HX711 ADC chip for weight cells
+  Bit-banging driver
+
+Required properties:
+ - compatible: Should be "avia,hx711"
+ - sck-gpios:	Definition of the GPIO for the clock
+ - dout-gpios:	Definition of the GPIO for data-out
Quoted 9 lines

Documentation/devicetree/bindings/iio/adc/avia-hx711.txt line 12

Quoted 5 lines
Documentation/devicetree/bindings/iio/adc/avia-hx711.txt new file +5 -0
+		See Documentation/devicetree/bindings/gpio/gpio.txt
+
+Recommended properties:
+ - gain:	Gain select, can be 32, 64 or 128
+		default is 128

If the gain is software programmable it should be exposed by the driver allowing the application to change it rather than putting it in the devicetree.

Quoted 6 lines

There is also a hardware dependency in terms of where to connect the input channel to:
- gain 64 and gain 128 are available only on input channel A
- gain 32 is only available on input channel B

Do you still think, it should be removed from the devicetree?

I believe so, especially considering that there are two channels and your driver currently only exposes one of them, which is elected by the gain configuration. I'd expect that there are use-cases where both inputs are connected and the application wants to switch between them dynamically at runtime.

The only tricky part here seems to be that the configuration for the next conversion is selected on the current conversion. This means you probably need to do a dummy conversion whenever the settings change.