Add binding documentation for the Technologic Systems NBUS that is used
to interface with peripherals in the FPGA of the TS-4600 SoM.

---
Changes v1 -> v2:
  - rebase on master
  - remove the simple-bus compatibility as the root node will now
  populate child nodes (suggested by Rob Herring)
  - use the ts vendor prefix for gpios (suggested by Rob Herring)

Signed-off-by: Sebastien Bourdelin <sebastien.bourde...@savoirfairelinux.com>
---
 Documentation/devicetree/bindings/bus/ts-nbus.txt | 50 +++++++++++++++++++++++
 1 file changed, 50 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/bus/ts-nbus.txt

diff --git a/Documentation/devicetree/bindings/bus/ts-nbus.txt 
b/Documentation/devicetree/bindings/bus/ts-nbus.txt
new file mode 100644
index 000000000000..c8a1f2cbe6a0
--- /dev/null
+++ b/Documentation/devicetree/bindings/bus/ts-nbus.txt
@@ -0,0 +1,50 @@
+Technologic Systems NBUS
+
+The NBUS is a bus used to interface with peripherals in the Technologic
+Systems FPGA on the TS-4600 SoM.
+
+Required properties :
+ - compatible     : "technologic,ts-nbus"
+ - #address-cells : must be 1
+ - #size-cells    : must be 0
+ - pws            : The PWM binded to the FPGA
+ - data-gpios    : The GPIO pin connected to the data line on the FPGA
+ - csn-gpios     : The GPIO pin connected to the csn line on the FPGA
+ - txrx-gpios    : The GPIO pin connected to the txrx line on the FPGA
+ - strobe-gpios          : The GPIO pin connected to the stobe line on the FPGA
+ - ale-gpios     : The GPIO pin connected to the ale line on the FPGA
+ - rdy-gpios     : The GPIO pin connected to the rdy line on the FPGA
+
+Child nodes:
+
+The NBUS node can contain zero or more child nodes representing peripherals
+on the bus.
+
+Example:
+
+       nbus {
+               compatible = "technologic,ts-nbus";
+               pinctrl-0 = <&nbus_pins>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               pwms = <&pwm 2 83>;
+               ts-data-gpios   = <&gpio0 0 GPIO_ACTIVE_HIGH
+                                  &gpio0 1 GPIO_ACTIVE_HIGH
+                                  &gpio0 2 GPIO_ACTIVE_HIGH
+                                  &gpio0 3 GPIO_ACTIVE_HIGH
+                                  &gpio0 4 GPIO_ACTIVE_HIGH
+                                  &gpio0 5 GPIO_ACTIVE_HIGH
+                                  &gpio0 6 GPIO_ACTIVE_HIGH
+                                  &gpio0 7 GPIO_ACTIVE_HIGH>;
+               ts-csn-gpios    = <&gpio0 16 GPIO_ACTIVE_HIGH>;
+               ts-txrx-gpios   = <&gpio0 24 GPIO_ACTIVE_HIGH>;
+               ts-strobe-gpios = <&gpio0 25 GPIO_ACTIVE_HIGH>;
+               ts-ale-gpios    = <&gpio0 26 GPIO_ACTIVE_HIGH>;
+               ts-rdy-gpios    = <&gpio0 21 GPIO_ACTIVE_HIGH>;
+
+               watchdog@2a {
+                       compatible = "...";
+
+                       /* ... */
+               };
+       };
-- 
2.11.0

Reply via email to