1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/net/wireless/ti,wlcore.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Texas Instruments Wilink 6/7/8 (wl12xx/wl18xx) Wireless LAN Controller 8 9maintainers: 10 - Tony Lindgren <tony@atomide.com> 11 12description: 13 The wl12xx/wl18xx chips can be connected via SPI or via SDIO. 14 Note that the *-clock-frequency properties assume internal clocks. In case 15 of external clocks, new bindings (for parsing the clock nodes) have to be 16 added. 17 18properties: 19 compatible: 20 enum: 21 - ti,wl1271 22 - ti,wl1273 23 - ti,wl1281 24 - ti,wl1283 25 - ti,wl1285 26 - ti,wl1801 27 - ti,wl1805 28 - ti,wl1807 29 - ti,wl1831 30 - ti,wl1835 31 - ti,wl1837 32 33 reg: 34 maxItems: 1 35 description: 36 This is required when connected via SPI, and optional when connected via 37 SDIO. 38 39 interrupts: 40 minItems: 1 41 maxItems: 2 42 43 interrupt-names: 44 items: 45 - const: irq 46 - const: wakeup 47 48 vwlan-supply: 49 description: 50 Points to the node of the regulator that powers/enable the wl12xx/wl18xx 51 chip. This is required when connected via SPI. 52 53 54 ref-clock-frequency: 55 $ref: /schemas/types.yaml#/definitions/uint32 56 description: Reference clock frequency. 57 58 tcxo-clock-frequency: 59 $ref: /schemas/types.yaml#/definitions/uint32 60 description: TCXO clock frequency. 61 62 clock-xtal: 63 $ref: /schemas/types.yaml#/definitions/flag 64 description: Indicates that the clock is generated from XTAL. 65 66required: 67 - compatible 68 - interrupts 69 70allOf: 71 - $ref: /schemas/spi/spi-peripheral-props.yaml# 72 - if: 73 properties: 74 compatible: 75 contains: 76 enum: 77 - ti,wl1271 78 - ti,wl1273 79 - ti,wl1281 80 - ti,wl1283 81 then: 82 required: 83 - ref-clock-frequency 84 85unevaluatedProperties: false 86 87examples: 88 - | 89 #include <dt-bindings/interrupt-controller/irq.h> 90 91 // For wl12xx family: 92 spi { 93 #address-cells = <1>; 94 #size-cells = <0>; 95 96 wlcore1: wlcore@1 { 97 compatible = "ti,wl1271"; 98 reg = <1>; 99 spi-max-frequency = <48000000>; 100 interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; 101 vwlan-supply = <&vwlan_fixed>; 102 clock-xtal; 103 ref-clock-frequency = <38400000>; 104 }; 105 }; 106 107 - | 108 #include <dt-bindings/interrupt-controller/irq.h> 109 110 // For wl18xx family: 111 spi { 112 #address-cells = <1>; 113 #size-cells = <0>; 114 115 wlcore2: wlcore@0 { 116 compatible = "ti,wl1835"; 117 reg = <0>; 118 spi-max-frequency = <48000000>; 119 interrupts = <27 IRQ_TYPE_EDGE_RISING>; 120 vwlan-supply = <&vwlan_fixed>; 121 }; 122 }; 123 124 - | 125 #include <dt-bindings/interrupt-controller/irq.h> 126 127 // SDIO example: 128 mmc3 { 129 vmmc-supply = <&wlan_en_reg>; 130 bus-width = <4>; 131 cap-power-off-card; 132 keep-power-in-suspend; 133 134 #address-cells = <1>; 135 #size-cells = <0>; 136 137 wlcore3: wlcore@2 { 138 compatible = "ti,wl1835"; 139 reg = <2>; 140 interrupts = <19 IRQ_TYPE_LEVEL_HIGH>; 141 }; 142 }; 143