Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 1 | Marvell 8787/8897/8978/8997 (sd8787/sd8897/sd8978/sd8997/pcie8997) SDIO/PCIE devices |
| 2 | ------ |
| 3 | |
| 4 | This node provides properties for controlling the Marvell SDIO/PCIE wireless device. |
| 5 | The node is expected to be specified as a child node to the SDIO/PCIE controller that |
| 6 | connects the device to the system. |
| 7 | |
| 8 | Required properties: |
| 9 | |
| 10 | - compatible : should be one of the following: |
| 11 | * "marvell,sd8787" |
| 12 | * "marvell,sd8897" |
| 13 | * "marvell,sd8978" |
| 14 | * "marvell,sd8997" |
| 15 | * "nxp,iw416" |
| 16 | * "pci11ab,2b42" |
| 17 | * "pci1b4b,2b42" |
| 18 | |
| 19 | Optional properties: |
| 20 | |
| 21 | - marvell,caldata* : A series of properties with marvell,caldata prefix, |
| 22 | represent calibration data downloaded to the device during |
| 23 | initialization. This is an array of unsigned 8-bit values. |
| 24 | the properties should follow below property name and |
| 25 | corresponding array length: |
| 26 | "marvell,caldata-txpwrlimit-2g" (length = 566). |
| 27 | "marvell,caldata-txpwrlimit-5g-sub0" (length = 502). |
| 28 | "marvell,caldata-txpwrlimit-5g-sub1" (length = 688). |
| 29 | "marvell,caldata-txpwrlimit-5g-sub2" (length = 750). |
| 30 | "marvell,caldata-txpwrlimit-5g-sub3" (length = 502). |
| 31 | - marvell,wakeup-pin : a wakeup pin number of wifi chip which will be configured |
| 32 | to firmware. Firmware will wakeup the host using this pin |
| 33 | during suspend/resume. |
| 34 | - interrupts : interrupt pin number to the cpu. driver will request an irq based on |
| 35 | this interrupt number. during system suspend, the irq will be enabled |
| 36 | so that the wifi chip can wakeup host platform under certain condition. |
| 37 | during system resume, the irq will be disabled to make sure |
| 38 | unnecessary interrupt is not received. |
| 39 | - vmmc-supply: a phandle of a regulator, supplying VCC to the card |
| 40 | - mmc-pwrseq: phandle to the MMC power sequence node. See "mmc-pwrseq-*" |
| 41 | for documentation of MMC power sequence bindings. |
| 42 | |
| 43 | Example: |
| 44 | |
| 45 | Tx power limit calibration data is configured in below example. |
| 46 | The calibration data is an array of unsigned values, the length |
| 47 | can vary between hw versions. |
| 48 | IRQ pin 38 is used as system wakeup source interrupt. wakeup pin 3 is configured |
| 49 | so that firmware can wakeup host using this device side pin. |
| 50 | |
| 51 | &mmc3 { |
| 52 | vmmc-supply = <&wlan_en_reg>; |
| 53 | mmc-pwrseq = <&wifi_pwrseq>; |
| 54 | bus-width = <4>; |
| 55 | cap-power-off-card; |
| 56 | keep-power-in-suspend; |
| 57 | |
| 58 | #address-cells = <1>; |
| 59 | #size-cells = <0>; |
| 60 | mwifiex: wifi@1 { |
| 61 | compatible = "marvell,sd8897"; |
| 62 | reg = <1>; |
| 63 | interrupt-parent = <&pio>; |
| 64 | interrupts = <38 IRQ_TYPE_LEVEL_LOW>; |
| 65 | |
| 66 | marvell,caldata_00_txpwrlimit_2g_cfg_set = /bits/ 8 < |
| 67 | 0x01 0x00 0x06 0x00 0x08 0x02 0x89 0x01>; |
| 68 | marvell,wakeup-pin = <3>; |
| 69 | }; |
| 70 | }; |