162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/soc/qcom/qcom,wcnss.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Qualcomm WCNSS 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Andy Gross <agross@kernel.org> 1162306a36Sopenharmony_ci - Bjorn Andersson <bjorn.andersson@linaro.org> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_cidescription: 1462306a36Sopenharmony_ci The Qualcomm WCNSS hardware consists of control block and a BT, WiFi and FM 1562306a36Sopenharmony_ci radio block, all using SMD as command channels. 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciproperties: 1862306a36Sopenharmony_ci compatible: 1962306a36Sopenharmony_ci const: qcom,wcnss 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci firmware-name: 2262306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/string 2362306a36Sopenharmony_ci default: wlan/prima/WCNSS_qcom_wlan_nv.bin 2462306a36Sopenharmony_ci description: 2562306a36Sopenharmony_ci Relative firmware image path for the WLAN NV blob. 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci qcom,mmio: 2862306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/phandle 2962306a36Sopenharmony_ci description: | 3062306a36Sopenharmony_ci Reference to a node specifying the wcnss "ccu" and "dxe" register blocks. 3162306a36Sopenharmony_ci The node must be compatible with one of the following:: 3262306a36Sopenharmony_ci - qcom,riva" 3362306a36Sopenharmony_ci - qcom,pronto" 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci qcom,smd-channels: 3662306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/string 3762306a36Sopenharmony_ci const: WCNSS_CTRL 3862306a36Sopenharmony_ci description: 3962306a36Sopenharmony_ci Standard SMD property specifying the SMD channel used for communication 4062306a36Sopenharmony_ci with the WiFi firmware. 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci bluetooth: 4362306a36Sopenharmony_ci type: object 4462306a36Sopenharmony_ci additionalProperties: false 4562306a36Sopenharmony_ci allOf: 4662306a36Sopenharmony_ci - $ref: /schemas/net/bluetooth/bluetooth-controller.yaml# 4762306a36Sopenharmony_ci properties: 4862306a36Sopenharmony_ci compatible: 4962306a36Sopenharmony_ci const: qcom,wcnss-bt 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci local-bd-address: true 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci required: 5462306a36Sopenharmony_ci - compatible 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci wifi: 5762306a36Sopenharmony_ci additionalProperties: false 5862306a36Sopenharmony_ci type: object 5962306a36Sopenharmony_ci properties: 6062306a36Sopenharmony_ci compatible: 6162306a36Sopenharmony_ci const: qcom,wcnss-wlan 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci interrupts: 6462306a36Sopenharmony_ci maxItems: 2 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci interrupt-names: 6762306a36Sopenharmony_ci items: 6862306a36Sopenharmony_ci - const: tx 6962306a36Sopenharmony_ci - const: rx 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci qcom,smem-states: 7262306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/phandle-array 7362306a36Sopenharmony_ci maxItems: 2 7462306a36Sopenharmony_ci description: 7562306a36Sopenharmony_ci Should reference the tx-enable and tx-rings-empty SMEM states. 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci qcom,smem-state-names: 7862306a36Sopenharmony_ci items: 7962306a36Sopenharmony_ci - const: tx-enable 8062306a36Sopenharmony_ci - const: tx-rings-empty 8162306a36Sopenharmony_ci description: 8262306a36Sopenharmony_ci Names of SMEM states. 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ci required: 8562306a36Sopenharmony_ci - compatible 8662306a36Sopenharmony_ci - interrupts 8762306a36Sopenharmony_ci - interrupt-names 8862306a36Sopenharmony_ci - qcom,smem-states 8962306a36Sopenharmony_ci - qcom,smem-state-names 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_cirequired: 9262306a36Sopenharmony_ci - compatible 9362306a36Sopenharmony_ci - qcom,mmio 9462306a36Sopenharmony_ci - qcom,smd-channels 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ciadditionalProperties: false 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ciexamples: 9962306a36Sopenharmony_ci - | 10062306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ci smd-edge { 10362306a36Sopenharmony_ci interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>; 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ci qcom,ipc = <&apcs 8 17>; 10662306a36Sopenharmony_ci qcom,smd-edge = <6>; 10762306a36Sopenharmony_ci qcom,remote-pid = <4>; 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci label = "pronto"; 11062306a36Sopenharmony_ci 11162306a36Sopenharmony_ci wcnss { 11262306a36Sopenharmony_ci compatible = "qcom,wcnss"; 11362306a36Sopenharmony_ci qcom,smd-channels = "WCNSS_CTRL"; 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ci qcom,mmio = <&pronto>; 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ci bluetooth { 11862306a36Sopenharmony_ci compatible = "qcom,wcnss-bt"; 11962306a36Sopenharmony_ci /* BD address 00:11:22:33:44:55 */ 12062306a36Sopenharmony_ci local-bd-address = [ 55 44 33 22 11 00 ]; 12162306a36Sopenharmony_ci }; 12262306a36Sopenharmony_ci 12362306a36Sopenharmony_ci wifi { 12462306a36Sopenharmony_ci compatible = "qcom,wcnss-wlan"; 12562306a36Sopenharmony_ci 12662306a36Sopenharmony_ci interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, 12762306a36Sopenharmony_ci <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>; 12862306a36Sopenharmony_ci interrupt-names = "tx", "rx"; 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_ci qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>; 13162306a36Sopenharmony_ci qcom,smem-state-names = "tx-enable", "tx-rings-empty"; 13262306a36Sopenharmony_ci }; 13362306a36Sopenharmony_ci }; 13462306a36Sopenharmony_ci }; 135