Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/soc/qcom/qcom,wcnss.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Qualcomm WCNSS
0008 
0009 maintainers:
0010   - Andy Gross <agross@kernel.org>
0011   - Bjorn Andersson <bjorn.andersson@linaro.org>
0012 
0013 description:
0014   The Qualcomm WCNSS hardware consists of control block and a BT, WiFi and FM
0015   radio block, all using SMD as command channels.
0016 
0017 properties:
0018   compatible:
0019     const: qcom,wcnss
0020 
0021   firmware-name:
0022     $ref: /schemas/types.yaml#/definitions/string
0023     default: "wlan/prima/WCNSS_qcom_wlan_nv.bin"
0024     description:
0025       Relative firmware image path for the WLAN NV blob.
0026 
0027   qcom,mmio:
0028     $ref: /schemas/types.yaml#/definitions/phandle
0029     description: |
0030       Reference to a node specifying the wcnss "ccu" and "dxe" register blocks.
0031       The node must be compatible with one of the following::
0032            - qcom,riva"
0033            - qcom,pronto"
0034 
0035   qcom,smd-channels:
0036     $ref: /schemas/types.yaml#/definitions/string
0037     const: WCNSS_CTRL
0038     description:
0039       Standard SMD property specifying the SMD channel used for communication
0040       with the WiFi firmware.
0041 
0042   bluetooth:
0043     type: object
0044     additionalProperties: false
0045     properties:
0046       compatible:
0047         const: qcom,wcnss-bt
0048 
0049       local-bd-address:
0050         $ref: /schemas/types.yaml#/definitions/uint8-array
0051         maxItems: 6
0052         description:
0053           See Documentation/devicetree/bindings/net/bluetooth.txt
0054 
0055     required:
0056       - compatible
0057 
0058   wifi:
0059     additionalProperties: false
0060     type: object
0061     properties:
0062       compatible:
0063         const: qcom,wcnss-wlan
0064 
0065       interrupts:
0066         maxItems: 2
0067 
0068       interrupt-names:
0069         items:
0070           - const: tx
0071           - const: rx
0072 
0073       qcom,smem-states:
0074         $ref: /schemas/types.yaml#/definitions/phandle-array
0075         maxItems: 2
0076         description:
0077           Should reference the tx-enable and tx-rings-empty SMEM states.
0078 
0079       qcom,smem-state-names:
0080         items:
0081           - const: tx-enable
0082           - const: tx-rings-empty
0083         description:
0084           Names of SMEM states.
0085 
0086     required:
0087       - compatible
0088       - interrupts
0089       - interrupt-names
0090       - qcom,smem-states
0091       - qcom,smem-state-names
0092 
0093 required:
0094   - compatible
0095   - qcom,mmio
0096   - qcom,smd-channels
0097 
0098 additionalProperties: false
0099 
0100 examples:
0101   - |
0102     #include <dt-bindings/interrupt-controller/arm-gic.h>
0103 
0104     smd-edge {
0105         interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>;
0106 
0107         qcom,ipc = <&apcs 8 17>;
0108         qcom,smd-edge = <6>;
0109         qcom,remote-pid = <4>;
0110 
0111         label = "pronto";
0112 
0113         wcnss {
0114             compatible = "qcom,wcnss";
0115             qcom,smd-channels = "WCNSS_CTRL";
0116 
0117             qcom,mmio = <&pronto>;
0118 
0119             bluetooth {
0120                 compatible = "qcom,wcnss-bt";
0121                 /* BD address 00:11:22:33:44:55 */
0122                 local-bd-address = [ 55 44 33 22 11 00 ];
0123             };
0124 
0125             wifi {
0126                 compatible = "qcom,wcnss-wlan";
0127 
0128                 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
0129                              <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
0130                 interrupt-names = "tx", "rx";
0131 
0132                 qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>;
0133                 qcom,smem-state-names = "tx-enable", "tx-rings-empty";
0134             };
0135         };
0136     };