Based on kernel version 7.2. Page generated on 2026-08-20 08:41 EST.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 | # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/connector/pcie-m2-e-connector.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: PCIe M.2 Mechanical Key E Connector maintainers: - Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com> description: A PCIe M.2 E connector node represents a physical PCIe M.2 Mechanical Key E connector. Mechanical Key E connectors are used to connect Wireless Connectivity devices including combinations of Wi-Fi, BT, NFC to the host machine over interfaces like PCIe/SDIO, USB/UART+PCM, and I2C. properties: compatible: const: pcie-m2-e-connector vpcie3v3-supply: description: A phandle to the regulator for 3.3v supply. vpcie1v8-supply: description: A phandle to the regulator for VIO 1.8v supply. i2c-parent: $ref: /schemas/types.yaml#/definitions/phandle description: I2C interface clocks: description: 32.768 KHz Suspend Clock (SUSCLK) input from the host system to the M.2 card. Refer, PCI Express M.2 Specification r4.0, sec 3.1.12.1 for more details. maxItems: 1 w-disable1-gpios: description: GPIO output to W_DISABLE1# signal. This signal is used by the host system to disable WiFi radio in the M.2 card. Refer, PCI Express M.2 Specification r4.0, sec 3.1.12.3 for more details. maxItems: 1 w-disable2-gpios: description: GPIO output to W_DISABLE2# signal. This signal is used by the host system to disable BT radio in the M.2 card. Refer, PCI Express M.2 Specification r4.0, sec 3.1.12.3 for more details. maxItems: 1 viocfg-gpios: description: GPIO input to IO voltage configuration (VIO_CFG) signal. The card drives this signal to indicate to the host system whether the card supports an independent IO voltage domain for sideband signals. Refer, PCI Express M.2 Specification r4.0, sec 3.1.15.1 for more details. maxItems: 1 uart-wake-gpios: description: GPIO input to UART_WAKE# signal. The card asserts this signal to wake the host system and initiate UART interface communication. Refer, PCI Express M.2 Specification r4.0, sec 3.1.8.1 for more details. maxItems: 1 sdio-wake-gpios: description: GPIO input to SDIO_WAKE# signal. The card asserts this signal to wake the host system and initiate SDIO interface communication. Refer, PCI Express M.2 Specification r4.0, sec 3.1.7 for more details. maxItems: 1 sdio-reset-gpios: description: GPIO output to SDIO_RESET# signal. This signal is used by the host system to reset SDIO interface of the M.2 card. Refer, PCI Express M.2 Specification r4.0, sec 3.1.7 for more details. maxItems: 1 vendor-porta-gpios: description: GPIO for the first vendor specific signal (VENDOR_PORTA). This signal's functionality is defined by the card manufacturer and may be used for proprietary features. Refer the card vendor's documentation for details. maxItems: 1 vendor-portb-gpios: description: GPIO for the second vendor specific signal (VENDOR_PORTB). This signal's functionality is defined by the card manufacturer and may be used for proprietary features. Refer the card vendor's documentation for details. maxItems: 1 vendor-portc-gpios: description: GPIO for the third vendor specific signal (VENDOR_PORTC). This signal's functionality is defined by the card manufacturer and may be used for proprietary features. Refer the card vendor's documentation for details. maxItems: 1 ports: $ref: /schemas/graph.yaml#/properties/ports description: OF graph bindings modeling the interfaces exposed on the connector. Since a single connector can have multiple interfaces, every interface has an assigned OF graph port number as described below. properties: port@0: $ref: /schemas/graph.yaml#/properties/port description: PCIe interface for Wi-Fi port@1: $ref: /schemas/graph.yaml#/properties/port description: SDIO interface for Wi-Fi port@2: $ref: /schemas/graph.yaml#/properties/port description: USB 2.0 interface for BT port@3: $ref: /schemas/graph.yaml#/properties/port description: UART interface for BT port@4: $ref: /schemas/graph.yaml#/properties/port description: PCM/I2S interface anyOf: - anyOf: - required: - port@0 - required: - port@1 - anyOf: - required: - port@2 - required: - port@3 required: - compatible - vpcie3v3-supply additionalProperties: false examples: # PCI M.2 Key E connector for Wi-Fi/BT with PCIe/UART interfaces - | #include <dt-bindings/gpio/gpio.h> connector { compatible = "pcie-m2-e-connector"; vpcie3v3-supply = <&vreg_wcn_3p3>; vpcie1v8-supply = <&vreg_l15b_1p8>; i2c-parent = <&i2c0>; w-disable1-gpios = <&tlmm 115 GPIO_ACTIVE_LOW>; w-disable2-gpios = <&tlmm 116 GPIO_ACTIVE_LOW>; viocfg-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>; uart-wake-gpios = <&tlmm 118 GPIO_ACTIVE_LOW>; sdio-wake-gpios = <&tlmm 119 GPIO_ACTIVE_LOW>; sdio-reset-gpios = <&tlmm 120 GPIO_ACTIVE_LOW>; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; #address-cells = <1>; #size-cells = <0>; endpoint@0 { reg = <0>; remote-endpoint = <&pcie4_port0_ep>; }; }; port@3 { reg = <3>; #address-cells = <1>; #size-cells = <0>; endpoint@0 { reg = <0>; remote-endpoint = <&uart14_ep>; }; }; }; }; |