Re: [PATCH v6 1/2] dt: bindings: add MARVELL's sd8xxx wireless device

2016-03-30 Thread Rob Herring
On Wed, Mar 30, 2016 at 8:19 AM, Amitkumar Karwar  wrote:
> From: Xinming Hu 
>
> Add device tree binding documentation for MARVELL's sd8xxx
> (sd8897 and sd8997) wlan chip.
>
> Signed-off-by: Xinming Hu 
> Signed-off-by: Amitkumar Karwar 
> ---
> Listing changelist for both 1/2 and 2/2 patches
> v3: Don't update adapter->dt_node if mwifiex_plt_dev is NULL
>
> v4: a)Corrected the 'name' and 'compatible' property names.(Arnd Bergmann and 
> Rob
> Herring)
> b)Patch description wraped in 72 columns(Rob Herring)
> c)Moved DT binding file to bindings/net/wireless/(Rob Herring)
> d)Renamed "mwifiex,chip-gpio" to "marvell,wakeup-gpios"(Rob Herring/
> Arnd Bergmann)
> e)Replaced #ifdef with __maybe_unused(Arnd Bergmann)
>
> v5: a)Removed wildcards from compatible string(Arnd Bergmann)
> b)Prepared single patch for all binding changes(Rob Herring)
> c)Specified our node as a subnode of SDIO controller. With this approach, 
> we
> don't need to register new platform driver. (Rob herring)
>
> v6: a)List out the specific property names for marvell,caldata* and size of 
> the data(Rob Herring)
> b)Use sdio function number for both the unit address and reg(Rob Herring)
> ---
>  .../bindings/net/wireless/marvell-sd8xxx.txt   | 63 
> ++
>  1 file changed, 63 insertions(+)
>  create mode 100644 
> Documentation/devicetree/bindings/net/wireless/marvell-sd8xxx.txt
>
> diff --git 
> a/Documentation/devicetree/bindings/net/wireless/marvell-sd8xxx.txt 
> b/Documentation/devicetree/bindings/net/wireless/marvell-sd8xxx.txt
> new file mode 100644
> index 000..337fed4
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/wireless/marvell-sd8xxx.txt
> @@ -0,0 +1,63 @@
> +Marvell 8897/8997 (sd8897/sd8997) SDIO devices
> +--
> +
> +This node provides properties for controlling the marvell sdio wireless 
> device.
> +The node is expected to be specified as a child node to the SDIO controller 
> that
> +connects the device to the system.
> +
> +Required properties:
> +
> +  - compatible : should be one of the following:
> +   * "marvell,sd8897"
> +   * "marvell,sd8997"
> +
> +Optional properties:
> +
> +  - marvell,caldata* : A series of properties with marvell,caldata prefix,
> + represent calibration data downloaded to the device 
> during
> + initialization. This is an array of unsigned values.

unsigned 8-bit values...

> + the properties should follow below property name and
> + corresponding array length:
> +   "marvell,caldata_00_txpwrlimit_2g_cfg_set" (length = 566).
> +   "marvell,caldata_00_txpwrlimit_5g_cfg_set_sub0" (length = 502).
> +   "marvell,caldata_00_txpwrlimit_5g_cfg_set_sub1" (length = 688).
> +   "marvell,caldata_00_txpwrlimit_5g_cfg_set_sub2" (length = 750).
> +   "marvell,caldata_00_txpwrlimit_5g_cfg_set_sub3" (length = 502).

The 00 and cfg_set seem pretty pointless, and '-' is preferred over '_'. So:

marvell,caldata-txpwrlimit-5g-sub3

> +  - marvell,wakeup-pin : 'wakeuppin' is a wakeup pin number of wifi chip 
> which will

Drop "wakeuppin is"

> + be configured to firmware. firmware will wakeup host 
> side use
> + the pin during suspend/resume stage.
> +  - interrupt-parent: phandle of the parent interrupt controller
> +  - interrupts : interrupt pin number to the cpu. driver will request an irq 
> based on
> +this interrupt number. during system suspend, the irq will 
> be enabled
> +as system wakeup source, so that the wifi chip can wakeup 
> host

You need to use the wakeup-source binding here
(bindings/power/wakeup-source.txt). Probably on the BT binding too?

> +platform under certain condition. during system resume, the 
> irq will
> +be disabled to make sure unnecessary interrupt is not 
> received.
> +
> +Example:
> +
> +Tx power limit calibration data is configured in below example.
> +The calibration data is an array of unsigned values, the length
> +can vary between hw versions.
> +IRQ pin 38 is used as system wakeup source interrupt. wakeup pin 3 is 
> configured
> +so that firmware can wakeup host using this device side pin.
> +
> + {
> +   status = "okay";
> +   vmmc-supply = <_en_reg>;
> +   bus-width = <4>;
> +   cap-power-off-card;
> +   keep-power-in-suspend;
> +
> +   #address-cells = <1>;
> +   #size-cells = <0>;
> +   mwifiex: mwifiex@1 {

wifi@1

> +   compatible = "marvell,sd8897";
> +   reg = <1>;
> +   interrupt-parent = <>;
> +   interrupts = <38 IRQ_TYPE_LEVEL_LOW>;
> +
> +   marvell,caldata_00_txpwrlimit_2g_cfg_set = /bits/ 8 <
> +   0x01 0x00 0x06 0x00 0x08 0x02 0x89 0x01>;
> +   marvell,wakeup-pin = <3>;
> 

[PATCH v6 1/2] dt: bindings: add MARVELL's sd8xxx wireless device

2016-03-30 Thread Amitkumar Karwar
From: Xinming Hu 

Add device tree binding documentation for MARVELL's sd8xxx
(sd8897 and sd8997) wlan chip.

Signed-off-by: Xinming Hu 
Signed-off-by: Amitkumar Karwar 
---
Listing changelist for both 1/2 and 2/2 patches
v3: Don't update adapter->dt_node if mwifiex_plt_dev is NULL

v4: a)Corrected the 'name' and 'compatible' property names.(Arnd Bergmann and 
Rob
Herring)
b)Patch description wraped in 72 columns(Rob Herring)
c)Moved DT binding file to bindings/net/wireless/(Rob Herring)
d)Renamed "mwifiex,chip-gpio" to "marvell,wakeup-gpios"(Rob Herring/
Arnd Bergmann)
e)Replaced #ifdef with __maybe_unused(Arnd Bergmann)

v5: a)Removed wildcards from compatible string(Arnd Bergmann)
b)Prepared single patch for all binding changes(Rob Herring)
c)Specified our node as a subnode of SDIO controller. With this approach, we
don't need to register new platform driver. (Rob herring)

v6: a)List out the specific property names for marvell,caldata* and size of the 
data(Rob Herring)
b)Use sdio function number for both the unit address and reg(Rob Herring)
---
 .../bindings/net/wireless/marvell-sd8xxx.txt   | 63 ++
 1 file changed, 63 insertions(+)
 create mode 100644 
Documentation/devicetree/bindings/net/wireless/marvell-sd8xxx.txt

diff --git a/Documentation/devicetree/bindings/net/wireless/marvell-sd8xxx.txt 
b/Documentation/devicetree/bindings/net/wireless/marvell-sd8xxx.txt
new file mode 100644
index 000..337fed4
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/wireless/marvell-sd8xxx.txt
@@ -0,0 +1,63 @@
+Marvell 8897/8997 (sd8897/sd8997) SDIO devices
+--
+
+This node provides properties for controlling the marvell sdio wireless device.
+The node is expected to be specified as a child node to the SDIO controller 
that
+connects the device to the system.
+
+Required properties:
+
+  - compatible : should be one of the following:
+   * "marvell,sd8897"
+   * "marvell,sd8997"
+
+Optional properties:
+
+  - marvell,caldata* : A series of properties with marvell,caldata prefix,
+ represent calibration data downloaded to the device during
+ initialization. This is an array of unsigned values.
+ the properties should follow below property name and
+ corresponding array length:
+   "marvell,caldata_00_txpwrlimit_2g_cfg_set" (length = 566).
+   "marvell,caldata_00_txpwrlimit_5g_cfg_set_sub0" (length = 502).
+   "marvell,caldata_00_txpwrlimit_5g_cfg_set_sub1" (length = 688).
+   "marvell,caldata_00_txpwrlimit_5g_cfg_set_sub2" (length = 750).
+   "marvell,caldata_00_txpwrlimit_5g_cfg_set_sub3" (length = 502).
+  - marvell,wakeup-pin : 'wakeuppin' is a wakeup pin number of wifi chip which 
will
+ be configured to firmware. firmware will wakeup host side 
use
+ the pin during suspend/resume stage.
+  - interrupt-parent: phandle of the parent interrupt controller
+  - interrupts : interrupt pin number to the cpu. driver will request an irq 
based on
+this interrupt number. during system suspend, the irq will be 
enabled
+as system wakeup source, so that the wifi chip can wakeup host
+platform under certain condition. during system resume, the 
irq will
+be disabled to make sure unnecessary interrupt is not received.
+
+Example:
+
+Tx power limit calibration data is configured in below example.
+The calibration data is an array of unsigned values, the length
+can vary between hw versions.
+IRQ pin 38 is used as system wakeup source interrupt. wakeup pin 3 is 
configured
+so that firmware can wakeup host using this device side pin.
+
+ {
+   status = "okay";
+   vmmc-supply = <_en_reg>;
+   bus-width = <4>;
+   cap-power-off-card;
+   keep-power-in-suspend;
+
+   #address-cells = <1>;
+   #size-cells = <0>;
+   mwifiex: mwifiex@1 {
+   compatible = "marvell,sd8897";
+   reg = <1>;
+   interrupt-parent = <>;
+   interrupts = <38 IRQ_TYPE_LEVEL_LOW>;
+
+   marvell,caldata_00_txpwrlimit_2g_cfg_set = /bits/ 8 <
+   0x01 0x00 0x06 0x00 0x08 0x02 0x89 0x01>;
+   marvell,wakeup-pin = <3>;
+   };
+};
-- 
1.8.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html