Thread (13 messages) 13 messages, 4 authors, 2017-03-07

Re: [PATCH 1/2] Documentation: dt-bindings: Document bindings for Aspeed AST2400/AST2500 ADC

From: Rick Altherr <hidden>
Date: 2017-03-06 23:12:34
Also in: linux-hwmon, lkml

On Thu, Mar 2, 2017 at 10:21 PM, Rob Herring [off-list ref] wrote:
 On Tue, Feb 28, 2017 at 12:14:03PM -0800, Rick Altherr wrote:
quoted
Signed-off-by: Rick Altherr <redacted>
---
 .../devicetree/bindings/hwmon/aspeed_adc.txt       | 48 ++++++++++++++++++++++
ADCs should really be documented in one place regardless of whether
hwmon or IIO is used. Don't need to move it now, but certainly the
bindings need to be compatible.
hwmon maintainers suggested IIO as well.  Looks like there is an IIO
to hwmon bridge so no concerns there.  I think IIO looks like a
plausible framework for this part based on my cursory look at the IIO
docs.  I'll be working on v2 as an IIO driver.
quoted
 1 file changed, 48 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/hwmon/aspeed_adc.txt
diff --git a/Documentation/devicetree/bindings/hwmon/aspeed_adc.txt b/Documentation/devicetree/bindings/hwmon/aspeed_adc.txt
new file mode 100644
index 000000000000..9e481668c4d3
--- /dev/null
+++ b/Documentation/devicetree/bindings/hwmon/aspeed_adc.txt
@@ -0,0 +1,48 @@
+Aspeed AST2400/2500 ADC
+
+This device is a 10-bit converter for 16 voltage channels.  All inputs are
+single ended.  Each channel can be individually enabled to allow for use of
+alternate pin functions.
+
+1) adc node
+
+  Required properties:
+  - compatible : Should be one of
+     "aspeed,ast2400-adc"
+     "aspeed,ast2500-adc"
+  - reg : memory window mapping address and length
+  - #address-cells : must be <1> corresponding to the channel child binding
+  - #size-cells : must be <0> corresponding to the channel child binding
+  - clocks : Input clock used to derive the sample clock. Expected to be the
+    SoC's APB clock.
+  - update-interval-ms : initial time between updates on a channel
This is like sampling rate? I think we have a standard ADC property for
that.
Will look.
quoted
+
+  The node contains child nodes for each channel that the platform uses.
+
+  Example adc node:
+    adc@1e6e9000 {
+     #address-cells = <1>;
+     #size-cells = <0>;
+     compatible = "aspeed,ast2400-adc";
+     reg = <0x1e6e9000 0xB0>;
+     clocks = <&clk_apb>;
+     update-interval-ms = <100>;
+
+     [ child node definitions... ]
+    };
+
+2) channel nodes
+
+  Optional properties:
+  - status: indicates the operational status of the device.
+    Value must be either "disabled" or "okay".
Don't need to document this.
OK
quoted
+  - label : string describing the monitored value
You need a reg property for the channel number.
Missed that when I fixed the code.  Will include in next revision.
quoted
+
+  Example channel node:
+  channel@1 {
+     status = "okay";
+     label = "3V3 rail";
+
+     pinctrl-names = "default";
+     pinctrl-0 = <&pinctrl_adc0_default>;
Need to document these.
These are described in the pinctrl bindings.  I only put them in the
example as they will be commonly used together but the driver does not
use them.
quoted
+  };
--
2.11.0.483.g087da7b7c-goog
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help