Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

dt-bindings: slimbus: qcom,slim-ngd: convert to DT schema

Convert the Qualcomm SoC SLIMBus Non Generic Device (NGD) controller
bindings to DT Schema.

During conversion add iommus already present in DTS and extend the
example based on SDM845.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20221118065246.6835-13-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Krzysztof Kozlowski and committed by
Greg Kroah-Hartman
5f115bb9 717bd3df

+120 -82
+120
Documentation/devicetree/bindings/slimbus/qcom,slim-ngd.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/slimbus/qcom,slim-ngd.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Qualcomm SoC SLIMBus Non Generic Device (NGD) Controller 8 + 9 + maintainers: 10 + - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11 + - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 12 + 13 + description: 14 + SLIMBus NGD controller is a light-weight driver responsible for communicating 15 + with SLIMBus slaves directly over the bus using messaging interface and 16 + communicating with master component residing on ADSP for bandwidth and 17 + data-channel management 18 + 19 + properties: 20 + compatible: 21 + enum: 22 + - qcom,slim-ngd-v1.5.0 # for MSM8996 23 + - qcom,slim-ngd-v2.1.0 # for SDM845 24 + 25 + reg: 26 + maxItems: 1 27 + 28 + "#address-cells": 29 + const: 1 30 + 31 + "#size-cells": 32 + const: 0 33 + 34 + dmas: 35 + maxItems: 2 36 + 37 + dma-names: 38 + items: 39 + - const: rx 40 + - const: tx 41 + 42 + interrupts: 43 + maxItems: 1 44 + 45 + iommus: 46 + maxItems: 1 47 + 48 + patternProperties: 49 + "^slim@[0-9a-f]+$": 50 + type: object 51 + $ref: slimbus.yaml# 52 + description: 53 + Each subnode represents an instance of NGD 54 + 55 + properties: 56 + reg: 57 + maxItems: 1 58 + 59 + unevaluatedProperties: false 60 + 61 + required: 62 + - compatible 63 + - reg 64 + - "#address-cells" 65 + - "#size-cells" 66 + - dmas 67 + - dma-names 68 + - interrupts 69 + 70 + additionalProperties: false 71 + 72 + examples: 73 + - | 74 + #include <dt-bindings/gpio/gpio.h> 75 + #include <dt-bindings/interrupt-controller/arm-gic.h> 76 + 77 + slim-ngd@171c0000 { 78 + compatible = "qcom,slim-ngd-v2.1.0"; 79 + reg = <0x171c0000 0x2c000>; 80 + interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>; 81 + 82 + dmas = <&slimbam 3>, <&slimbam 4>; 83 + dma-names = "rx", "tx"; 84 + iommus = <&apps_smmu 0x1806 0x0>; 85 + #address-cells = <1>; 86 + #size-cells = <0>; 87 + 88 + slim@1 { 89 + reg = <1>; 90 + #address-cells = <2>; 91 + #size-cells = <0>; 92 + 93 + codec@1,0 { 94 + compatible = "slim217,250"; 95 + reg = <1 0>; 96 + slim-ifc-dev = <&wcd9340_ifd>; 97 + 98 + #sound-dai-cells = <1>; 99 + 100 + interrupts-extended = <&tlmm 54 IRQ_TYPE_LEVEL_HIGH>; 101 + interrupt-controller; 102 + #interrupt-cells = <1>; 103 + 104 + #clock-cells = <0>; 105 + clock-frequency = <9600000>; 106 + clock-output-names = "mclk"; 107 + qcom,micbias1-microvolt = <1800000>; 108 + qcom,micbias2-microvolt = <1800000>; 109 + qcom,micbias3-microvolt = <1800000>; 110 + qcom,micbias4-microvolt = <1800000>; 111 + 112 + #address-cells = <1>; 113 + #size-cells = <1>; 114 + 115 + reset-gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>; 116 + 117 + /* Rest of the WCD9340 codec */ 118 + }; 119 + }; 120 + };
-82
Documentation/devicetree/bindings/slimbus/slim-ngd-qcom-ctrl.txt
··· 1 - Qualcomm SLIMBus Non Generic Device (NGD) Controller binding 2 - 3 - SLIMBus NGD controller is a light-weight driver responsible for communicating 4 - with SLIMBus slaves directly over the bus using messaging interface and 5 - communicating with master component residing on ADSP for bandwidth and 6 - data-channel management 7 - 8 - - compatible: 9 - Usage: required 10 - Value type: <stringlist> 11 - Definition: must be "qcom,slim-ngd-v<MAJOR>.<MINOR>.<STEP>" 12 - must be one of the following. 13 - "qcom,slim-ngd-v1.5.0" for MSM8996 14 - "qcom,slim-ngd-v2.1.0" for SDM845 15 - 16 - - reg: 17 - Usage: required 18 - Value type: <prop-encoded-array> 19 - Definition: must specify the base address and size of the controller 20 - register space. 21 - - dmas 22 - Usage: required 23 - Value type: <array of phandles> 24 - Definition: List of rx and tx dma channels 25 - 26 - - dma-names 27 - Usage: required 28 - Value type: <stringlist> 29 - Definition: must be "rx" and "tx". 30 - 31 - - interrupts: 32 - Usage: required 33 - Value type: <prop-encoded-array> 34 - Definition: must list controller IRQ. 35 - 36 - #address-cells 37 - Usage: required 38 - Value type: <u32> 39 - Definition: Should be 1, reflecting the instance id of ngd. 40 - 41 - #size-cells 42 - Usage: required 43 - Value type: <u32> 44 - Definition: Should be 0 45 - 46 - = NGD Devices 47 - Each subnode represents an instance of NGD, must contain the following 48 - properties: 49 - 50 - - reg: 51 - Usage: required 52 - Value type: <u32> 53 - Definition: Should be instance id of ngd. 54 - 55 - #address-cells 56 - Usage: required 57 - Refer to slimbus/bus.txt for details of the common SLIMBus bindings. 58 - 59 - #size-cells 60 - Usage: required 61 - Refer to slimbus/bus.txt for details of the common SLIMBus bindings. 62 - 63 - = EXAMPLE 64 - 65 - slim@91c0000 { 66 - compatible = "qcom,slim-ngd-v1.5.0"; 67 - reg = <0x91c0000 0x2c000>; 68 - interrupts = <0 163 0>; 69 - dmas = <&slimbam 3>, <&slimbam 4>; 70 - dma-names = "rx", "tx"; 71 - #address-cells = <1>; 72 - #size-cells = <0>; 73 - ngd@1 { 74 - reg = <1>; 75 - #address-cells = <1>; 76 - #size-cells = <1>; 77 - codec@1 { 78 - compatible = "slim217,1a0"; 79 - reg = <1 0>; 80 - }; 81 - }; 82 - };