Thread (13 messages) 13 messages, 4 authors, 2016-06-28

Re: [PATCH 1/2] Documentation: Add sbs-manager device tree node documentation

From: Rob Herring <robh@kernel.org>
Date: 2016-06-24 17:50:14
Also in: linux-acpi, linux-devicetree, linux-i2c

On Wed, Jun 22, 2016 at 09:07:15PM +0200, Karl-Heinz Schneider wrote:
quoted hunk ↗ jump to hunk
This patch adds device tree documentation for the sbs-manager

Reviewed-by: Phil Reid <redacted>
Signed-off-by: Karl-Heinz Schneider <redacted>
---
 .../devicetree/bindings/power/sbs,sbs-manager.txt  | 58 ++++++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/power/sbs,sbs-manager.txt
diff --git a/Documentation/devicetree/bindings/power/sbs,sbs-manager.txt b/Documentation/devicetree/bindings/power/sbs,sbs-manager.txt
new file mode 100644
index 0000000..d52b466
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/sbs,sbs-manager.txt
@@ -0,0 +1,58 @@
+Binding for sbs-manager
+
+Required properties:
+- compatible: should be "sbs,sbs-manager" or "lltc,ltc1760" if device is a
+    ltc1760.
sbs is not a vendor. What chip is sbs-manager? I suspect you should drop 
it and only list specific chips.
+- reg: integer, i2c address of the device. Should be <0xa>.
+
+Optional properties:
+- sbsm,i2c-retry-count: integer, number of retries for trying to read or write
+    to registers. Default: 1
Seems like a driver setting. Is having a retry in the driver a problem 
if the h/w works and never actually needs it?
+
+From OS view the device is basically an i2c-mux used to communicate with up to
+four smart battery devices at address 0xb. The driver actually implements this
+behaviour. So standard i2c-mux nodes can be used to register up to four slave
+batteries. Channels will be numerated as 1, 2, 4 and 8.
+
+Example:
+
+batman@0a {
+    compatible = "sbs,sbs-manager";
+    reg = <0x0a>;
+    sbsm,i2c-retry-count = <3>;
+    #address-cells = <1>;
+    #size-cells = <0>;
+
+    channel1@1 {
channel@1

Do we have a standard node name for mux nodes? If not, we should.
+        #address-cells = <1>;
+        #size-cells = <0>;
+        reg = <1>;
+
+        battery1@0b {
battery@b
+            compatible = "sbs-battery";
This should be an actual battery model. Or all this information is 
generic, you don't really need it in DT.
+            reg = <0x0b>;
+        };
+    };
+
+    channel2@2 {
+        #address-cells = <1>;
+        #size-cells = <0>;
+        reg = <2>;
+
+        battery2@0b {
+            compatible = "sbs-battery";
+            reg = <0x0b>;
+        };
+    };
+
+    channel3@4 {
+        #address-cells = <1>;
+        #size-cells = <0>;
+        reg = <4>;
+
+        battery3@0b {
+            compatible = "sbs-battery";
+            reg = <0x0b>;
+        };
+    };
+};
-- 
1.9.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help