Re: [PATCH 1/2] slimbus: ngd: dt-bindings: Add slim ngd dt bindings

From: Rob Herring
Date: Wed May 23 2018 - 11:47:15 EST


On Wed, May 16, 2018 at 05:51:17PM +0100, Srinivas Kandagatla wrote:
> This patch adds bindings for Qualcomm SLIMBus NGD controller found in
> all new SoCs starting from B family.
> 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@xxxxxxxxxx>
> ---
> .../bindings/slimbus/slim-ngd-qcom-ctrl.txt | 70 ++++++++++++++++++++++
> 1 file changed, 70 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/slimbus/slim-ngd-qcom-ctrl.txt
>
> 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
> index 000000000000..c948fb098819
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/slimbus/slim-ngd-qcom-ctrl.txt
> @@ -0,0 +1,70 @@
> +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"

SoC specific compatible needed.

> +
> +- reg:
> + Usage: required
> + Value type: <prop-encoded-array>
> + Definition: must specify the base address and size of the controller
> + register blocks.

blocks? Is there more than one? If so, how many?

> +
> +- reg-names:
> + Usage: required
> + Value type: <stringlist>
> + Definition: must be "ctrl"

reg-names is pointless when there is only 1.

> +
> +- qcom,ngd-id
> + Usage: required
> + Value type: <u32>
> + Definition: ngd instance id in the controller

Why do you need this?

> +- 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
> + 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";
> + reg = <0x91c0000 0x2C000>;
> + reg-names = "ctrl";
> + interrupts = <0 163 0>;
> + qcom,ngd-id = <1>;
> + dmas = <&slimbam 3>, <&slimbam 4>;
> + dma-names = "rx", "tx";
> +
> + #address-cells = <1>;
> + #size-cells = <1>;
> + codec@1 {
> + compatible = "slim217,1a0";
> + reg = <1 0>;
> + };
> +};
> --
> 2.16.2
>