slimbus: ngd: dt-bindings: Add slim ngd dt bindings
authorSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Tue, 19 Jun 2018 16:13:00 +0000 (17:13 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 7 Jul 2018 15:24:32 +0000 (17:24 +0200)
This patch adds bindings for Qualcomm SLIMBus NGD controller.
SLIMBus NGD controller is a light-weight driver responsible for
communicating with SLIMBus slaves directly over the bus using messaging
interface and communicating with master component residing on ADSP for
bandwidth and data-channel management

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Tested-by: Craig Tatlor <ctatlor97@gmail.com>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/devicetree/bindings/slimbus/slim-ngd-qcom-ctrl.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/slimbus/slim-ngd-qcom-ctrl.txt b/Documentation/devicetree/bindings/slimbus/slim-ngd-qcom-ctrl.txt
new file mode 100644 (file)
index 0000000..e94a2ad
--- /dev/null
@@ -0,0 +1,84 @@
+Qualcomm SLIMBus Non Generic Device (NGD) Controller binding
+
+SLIMBus NGD controller is a light-weight driver responsible for communicating
+with SLIMBus slaves directly over the bus using messaging interface and
+communicating with master component residing on ADSP for bandwidth and
+data-channel management
+
+Please refer to slimbus/bus.txt for details of the common SLIMBus bindings.
+
+- compatible:
+       Usage: required
+       Value type: <stringlist>
+       Definition: must be "qcom,slim-ngd-v<MAJOR>.<MINOR>.<STEP>"
+       must be one of the following.
+       "qcom,slim-ngd-v1.5.0" for MSM8996
+       "qcom,slim-ngd-v2.1.0" for SDM845
+
+- reg:
+       Usage: required
+       Value type: <prop-encoded-array>
+       Definition: must specify the base address and size of the controller
+                   register space.
+- dmas
+       Usage: required
+       Value type: <array of phandles>
+       Definition: List of rx and tx dma channels
+
+- dma-names
+       Usage: required
+       Value type: <stringlist>
+       Definition: must be "rx" and "tx".
+
+- interrupts:
+       Usage: required
+       Value type: <prop-encoded-array>
+       Definition: must list controller IRQ.
+
+#address-cells
+       Usage: required
+       Value type: <u32>
+       Definition: Should be 1, reflecting the instance id of ngd.
+
+#size-cells
+       Usage: required
+       Value type: <u32>
+       Definition: Should be 0
+
+= NGD Devices
+Each subnode represents an instance of NGD, must contain the following
+properties:
+
+- reg:
+       Usage: required
+       Value type: <u32>
+       Definition: Should be instance id of ngd.
+
+#address-cells
+       Usage: required
+       Refer to slimbus/bus.txt for details of the common SLIMBus bindings.
+
+#size-cells
+       Usage: required
+       Refer to slimbus/bus.txt for details of the common SLIMBus bindings.
+
+= EXAMPLE
+
+slim@91c0000 {
+       compatible = "qcom,slim-ngd-v1.5.0";
+       reg = <0x91c0000 0x2c000>;
+       interrupts = <0 163 0>;
+       dmas =  <&slimbam 3>, <&slimbam 4>;
+       dma-names = "rx", "tx";
+       #address-cells = <1>;
+       #size-cells = <0>;
+       ngd@1 {
+               reg = <1>;
+               #address-cells = <1>;
+               #size-cells = <1>;
+               codec@1 {
+                       compatible = "slim217,1a0";
+                       reg  = <1 0>;
+               };
+       };
+};