* [PATCH v4 0/4] brcmfmac: OOB interrupt support
@ 2014-06-29 14:16 ` Hans de Goede
0 siblings, 0 replies; 33+ messages in thread
From: Hans de Goede @ 2014-06-29 14:16 UTC (permalink / raw)
To: John W. Linville
Cc: Arend van Spriel, Chen-Yu Tsai, linux-wireless, linux-arm-kernel,
devicetree, linux-sunxi
Hi All,
Here is v2 of the brcmfmac: OOB interrupt support series.
Changes since v1:
-Post as a stand alone series, rather then together with sunxi pinctrl changes,
etc.
-Add a patch to fixup the names of the register addresses used in the
"brcmfmac: Fix OOB interrupt not working for BCM43362" patch
-Use the new register names in:
"brcmfmac: Fix OOB interrupt not working for BCM43362"
Changes since v2:
-"dt: bindings: add bindings for Broadcom bcm43xx sdio devices"
* changed the compatible string to brcm,bcm4329-fmac
* replaced the dt-bindings example with a real world example
-"brcmfmac: Fix OOB interrupt not working for BCM43362"
* updated commit message with confirmation from broadcom that this is the
right thing to do
Regards,
Hans
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH v4 0/4] brcmfmac: OOB interrupt support
@ 2014-06-29 14:16 ` Hans de Goede
0 siblings, 0 replies; 33+ messages in thread
From: Hans de Goede @ 2014-06-29 14:16 UTC (permalink / raw)
To: John W. Linville
Cc: Arend van Spriel, Chen-Yu Tsai,
linux-wireless-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree,
linux-sunxi-/JYPxA39Uh5TLH3MbocFFw
Hi All,
Here is v2 of the brcmfmac: OOB interrupt support series.
Changes since v1:
-Post as a stand alone series, rather then together with sunxi pinctrl changes,
etc.
-Add a patch to fixup the names of the register addresses used in the
"brcmfmac: Fix OOB interrupt not working for BCM43362" patch
-Use the new register names in:
"brcmfmac: Fix OOB interrupt not working for BCM43362"
Changes since v2:
-"dt: bindings: add bindings for Broadcom bcm43xx sdio devices"
* changed the compatible string to brcm,bcm4329-fmac
* replaced the dt-bindings example with a real world example
-"brcmfmac: Fix OOB interrupt not working for BCM43362"
* updated commit message with confirmation from broadcom that this is the
right thing to do
Regards,
Hans
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH v4 0/4] brcmfmac: OOB interrupt support
@ 2014-06-29 14:16 ` Hans de Goede
0 siblings, 0 replies; 33+ messages in thread
From: Hans de Goede @ 2014-06-29 14:16 UTC (permalink / raw)
To: linux-arm-kernel
Hi All,
Here is v2 of the brcmfmac: OOB interrupt support series.
Changes since v1:
-Post as a stand alone series, rather then together with sunxi pinctrl changes,
etc.
-Add a patch to fixup the names of the register addresses used in the
"brcmfmac: Fix OOB interrupt not working for BCM43362" patch
-Use the new register names in:
"brcmfmac: Fix OOB interrupt not working for BCM43362"
Changes since v2:
-"dt: bindings: add bindings for Broadcom bcm43xx sdio devices"
* changed the compatible string to brcm,bcm4329-fmac
* replaced the dt-bindings example with a real world example
-"brcmfmac: Fix OOB interrupt not working for BCM43362"
* updated commit message with confirmation from broadcom that this is the
right thing to do
Regards,
Hans
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH v3 1/4] dt: bindings: add bindings for Broadcom bcm43xx sdio devices
@ 2014-06-29 14:16 ` Hans de Goede
0 siblings, 0 replies; 33+ messages in thread
From: Hans de Goede @ 2014-06-29 14:16 UTC (permalink / raw)
To: John W. Linville
Cc: Arend van Spriel, Chen-Yu Tsai, linux-wireless, linux-arm-kernel,
devicetree, linux-sunxi, Hans de Goede
From: Arend van Spriel <arend@broadcom.com>
The Broadcom bcm43xx sdio devices are fullmac devices that may be
integrated in ARM platforms. Currently, the brcmfmac driver for
these devices support use of platform data. This patch specifies
the bindings that allow this platform data to be expressed in the
devicetree.
Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
[hdegoede@redhat.com: drop clk / reg_on gpio handling, as there is no consensus
on how to handle this yet]
[hdegoede@redhat.com: move from bindings/staging to bindings]
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
.../bindings/net/wireless/brcm,bcm43xx-fmac.txt | 41 ++++++++++++++++++++++
1 file changed, 41 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
new file mode 100644
index 0000000..5dbf169
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
@@ -0,0 +1,41 @@
+Broadcom BCM43xx Fullmac wireless SDIO devices
+
+This node provides properties for controlling the Broadcom 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 "brcm,bcm4329-fmac".
+
+Optional properties:
+ - brcm,drive-strength : drive strength used for SDIO pins on device in mA
+ (default = 6).
+ - interrupt-parent : the phandle for the interrupt controller to which the
+ device interrupts are connected.
+ - interrupts : specifies attributes for the out-of-band interrupt (host-wake).
+ When not specified the device will use in-band SDIO interrupts.
+ - interrupt-names : name of the out-of-band interrupt, which must be set
+ to "host-wake".
+
+Example:
+
+mmc3: mmc@01c12000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc3_pins_a>;
+ vmmc-supply = <®_vmmc3>;
+ bus-width = <4>;
+ non-removable;
+ status = "okay";
+
+ brcmf: bcrmf@1 {
+ reg = <1>;
+ compatible = "brcm,bcm4329-fmac";
+ interrupt-parent = <&pio>;
+ interrupts = <10 8>; /* PH10 / EINT10 */
+ interrupt-names = "host-wake";
+ };
+};
--
2.0.0
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v3 1/4] dt: bindings: add bindings for Broadcom bcm43xx sdio devices
@ 2014-06-29 14:16 ` Hans de Goede
0 siblings, 0 replies; 33+ messages in thread
From: Hans de Goede @ 2014-06-29 14:16 UTC (permalink / raw)
To: John W. Linville
Cc: Arend van Spriel, Chen-Yu Tsai,
linux-wireless-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree,
linux-sunxi-/JYPxA39Uh5TLH3MbocFFw, Hans de Goede
From: Arend van Spriel <arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
The Broadcom bcm43xx sdio devices are fullmac devices that may be
integrated in ARM platforms. Currently, the brcmfmac driver for
these devices support use of platform data. This patch specifies
the bindings that allow this platform data to be expressed in the
devicetree.
Reviewed-by: Hante Meuleman <meuleman-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
Reviewed-by: Franky (Zhenhui) Lin <frankyl-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
Reviewed-by: Daniel (Deognyoun) Kim <dekim-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
Reviewed-by: Pieter-Paul Giesberts <pieterpg-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
Signed-off-by: Arend van Spriel <arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
[hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org: drop clk / reg_on gpio handling, as there is no consensus
on how to handle this yet]
[hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org: move from bindings/staging to bindings]
Signed-off-by: Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
---
.../bindings/net/wireless/brcm,bcm43xx-fmac.txt | 41 ++++++++++++++++++++++
1 file changed, 41 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
new file mode 100644
index 0000000..5dbf169
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
@@ -0,0 +1,41 @@
+Broadcom BCM43xx Fullmac wireless SDIO devices
+
+This node provides properties for controlling the Broadcom 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 "brcm,bcm4329-fmac".
+
+Optional properties:
+ - brcm,drive-strength : drive strength used for SDIO pins on device in mA
+ (default = 6).
+ - interrupt-parent : the phandle for the interrupt controller to which the
+ device interrupts are connected.
+ - interrupts : specifies attributes for the out-of-band interrupt (host-wake).
+ When not specified the device will use in-band SDIO interrupts.
+ - interrupt-names : name of the out-of-band interrupt, which must be set
+ to "host-wake".
+
+Example:
+
+mmc3: mmc@01c12000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc3_pins_a>;
+ vmmc-supply = <®_vmmc3>;
+ bus-width = <4>;
+ non-removable;
+ status = "okay";
+
+ brcmf: bcrmf@1 {
+ reg = <1>;
+ compatible = "brcm,bcm4329-fmac";
+ interrupt-parent = <&pio>;
+ interrupts = <10 8>; /* PH10 / EINT10 */
+ interrupt-names = "host-wake";
+ };
+};
--
2.0.0
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v3 1/4] dt: bindings: add bindings for Broadcom bcm43xx sdio devices
@ 2014-06-29 14:16 ` Hans de Goede
0 siblings, 0 replies; 33+ messages in thread
From: Hans de Goede @ 2014-06-29 14:16 UTC (permalink / raw)
To: linux-arm-kernel
From: Arend van Spriel <arend@broadcom.com>
The Broadcom bcm43xx sdio devices are fullmac devices that may be
integrated in ARM platforms. Currently, the brcmfmac driver for
these devices support use of platform data. This patch specifies
the bindings that allow this platform data to be expressed in the
devicetree.
Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
[hdegoede at redhat.com: drop clk / reg_on gpio handling, as there is no consensus
on how to handle this yet]
[hdegoede at redhat.com: move from bindings/staging to bindings]
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
.../bindings/net/wireless/brcm,bcm43xx-fmac.txt | 41 ++++++++++++++++++++++
1 file changed, 41 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
new file mode 100644
index 0000000..5dbf169
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
@@ -0,0 +1,41 @@
+Broadcom BCM43xx Fullmac wireless SDIO devices
+
+This node provides properties for controlling the Broadcom 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 "brcm,bcm4329-fmac".
+
+Optional properties:
+ - brcm,drive-strength : drive strength used for SDIO pins on device in mA
+ (default = 6).
+ - interrupt-parent : the phandle for the interrupt controller to which the
+ device interrupts are connected.
+ - interrupts : specifies attributes for the out-of-band interrupt (host-wake).
+ When not specified the device will use in-band SDIO interrupts.
+ - interrupt-names : name of the out-of-band interrupt, which must be set
+ to "host-wake".
+
+Example:
+
+mmc3: mmc at 01c12000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc3_pins_a>;
+ vmmc-supply = <®_vmmc3>;
+ bus-width = <4>;
+ non-removable;
+ status = "okay";
+
+ brcmf: bcrmf at 1 {
+ reg = <1>;
+ compatible = "brcm,bcm4329-fmac";
+ interrupt-parent = <&pio>;
+ interrupts = <10 8>; /* PH10 / EINT10 */
+ interrupt-names = "host-wake";
+ };
+};
--
2.0.0
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v3 2/4] brcmfmac: add device tree support for SDIO devices
@ 2014-06-29 14:16 ` Hans de Goede
0 siblings, 0 replies; 33+ messages in thread
From: Hans de Goede @ 2014-06-29 14:16 UTC (permalink / raw)
To: John W. Linville
Cc: Arend van Spriel, Chen-Yu Tsai, linux-wireless, linux-arm-kernel,
devicetree, linux-sunxi, Hans de Goede
From: Chen-Yu Tsai <wens@csie.org>
brcmfmac devices can use an out-of-band interrupt on a GPIO line.
Currently this is specified using platform data. Add support for
specifying out-of-band interrupt via device tree.
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
[arend@broadcom.com: conditionalize more of-code, use driver debug routines]
Signed-off-by: Arend van Spriel <arend@broadcom.com>
[hdegoede@redhat.com: drop clk / reg_on gpio handling, as there is no consensus
on how to handle this yet]
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
drivers/net/wireless/brcm80211/brcmfmac/Makefile | 2 +
drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c | 4 ++
drivers/net/wireless/brcm80211/brcmfmac/of.c | 56 ++++++++++++++++++++++++
drivers/net/wireless/brcm80211/brcmfmac/of.h | 22 ++++++++++
4 files changed, 84 insertions(+)
create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/of.c
create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/of.h
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/Makefile b/drivers/net/wireless/brcm80211/brcmfmac/Makefile
index 98e67c1..e2752cb 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/Makefile
+++ b/drivers/net/wireless/brcm80211/brcmfmac/Makefile
@@ -44,3 +44,5 @@ brcmfmac-$(CONFIG_BRCMDBG) += \
dhd_dbg.o
brcmfmac-$(CONFIG_BRCM_TRACING) += \
tracepoint.o
+brcmfmac-$(CONFIG_OF) += \
+ of.o
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
index a16e644..0fc707c 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
@@ -43,6 +43,7 @@
#include "dhd_bus.h"
#include "dhd_dbg.h"
#include "sdio_host.h"
+#include "of.h"
#define SDIOH_API_ACCESS_RETRY_LIMIT 2
@@ -1043,6 +1044,9 @@ static int brcmf_ops_sdio_probe(struct sdio_func *func,
sdiodev->dev = &sdiodev->func[1]->dev;
sdiodev->pdata = brcmfmac_sdio_pdata;
+ if (!sdiodev->pdata)
+ brcmf_of_probe(sdiodev);
+
atomic_set(&sdiodev->suspend, false);
init_waitqueue_head(&sdiodev->request_word_wait);
init_waitqueue_head(&sdiodev->request_buffer_wait);
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/of.c b/drivers/net/wireless/brcm80211/brcmfmac/of.c
new file mode 100644
index 0000000..f05f527
--- /dev/null
+++ b/drivers/net/wireless/brcm80211/brcmfmac/of.c
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2014 Broadcom Corporation
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+ * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+#include <linux/init.h>
+#include <linux/of.h>
+#include <linux/of_irq.h>
+#include <linux/mmc/card.h>
+#include <linux/platform_data/brcmfmac-sdio.h>
+#include <linux/mmc/sdio_func.h>
+
+#include <defs.h>
+#include "dhd_dbg.h"
+#include "sdio_host.h"
+
+void brcmf_of_probe(struct brcmf_sdio_dev *sdiodev)
+{
+ struct device *dev = sdiodev->dev;
+ struct device_node *np = dev->of_node;
+ int irq;
+ u32 irqf;
+ u32 val;
+
+ if (!np || !of_device_is_compatible(np, "brcm,bcm4329-fmac"))
+ return;
+
+ sdiodev->pdata = devm_kzalloc(dev, sizeof(*sdiodev->pdata), GFP_KERNEL);
+ if (!sdiodev->pdata)
+ return;
+
+ irq = irq_of_parse_and_map(np, 0);
+ if (irq < 0) {
+ brcmf_err("interrupt could not be mapped: err=%d\n", irq);
+ devm_kfree(dev, sdiodev->pdata);
+ return;
+ }
+ irqf = irqd_get_trigger_type(irq_get_irq_data(irq));
+
+ sdiodev->pdata->oob_irq_supported = true;
+ sdiodev->pdata->oob_irq_nr = irq;
+ sdiodev->pdata->oob_irq_flags = irqf;
+
+ if (of_property_read_u32(np, "brcm,drive-strength", &val) == 0)
+ sdiodev->pdata->drive_strength = val;
+}
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/of.h b/drivers/net/wireless/brcm80211/brcmfmac/of.h
new file mode 100644
index 0000000..5f7c355
--- /dev/null
+++ b/drivers/net/wireless/brcm80211/brcmfmac/of.h
@@ -0,0 +1,22 @@
+/*
+ * Copyright (c) 2014 Broadcom Corporation
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+ * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+#ifdef CONFIG_OF
+void brcmf_of_probe(struct brcmf_sdio_dev *sdiodev);
+#else
+static void brcmf_of_probe(struct brcmf_sdio_dev *sdiodev)
+{
+}
+#endif /* CONFIG_OF */
--
2.0.0
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v3 2/4] brcmfmac: add device tree support for SDIO devices
@ 2014-06-29 14:16 ` Hans de Goede
0 siblings, 0 replies; 33+ messages in thread
From: Hans de Goede @ 2014-06-29 14:16 UTC (permalink / raw)
To: John W. Linville
Cc: Arend van Spriel, Chen-Yu Tsai,
linux-wireless-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree,
linux-sunxi-/JYPxA39Uh5TLH3MbocFFw, Hans de Goede
From: Chen-Yu Tsai <wens-jdAy2FN1RRM@public.gmane.org>
brcmfmac devices can use an out-of-band interrupt on a GPIO line.
Currently this is specified using platform data. Add support for
specifying out-of-band interrupt via device tree.
Signed-off-by: Chen-Yu Tsai <wens-jdAy2FN1RRM@public.gmane.org>
[arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org: conditionalize more of-code, use driver debug routines]
Signed-off-by: Arend van Spriel <arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
[hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org: drop clk / reg_on gpio handling, as there is no consensus
on how to handle this yet]
Signed-off-by: Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
---
drivers/net/wireless/brcm80211/brcmfmac/Makefile | 2 +
drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c | 4 ++
drivers/net/wireless/brcm80211/brcmfmac/of.c | 56 ++++++++++++++++++++++++
drivers/net/wireless/brcm80211/brcmfmac/of.h | 22 ++++++++++
4 files changed, 84 insertions(+)
create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/of.c
create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/of.h
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/Makefile b/drivers/net/wireless/brcm80211/brcmfmac/Makefile
index 98e67c1..e2752cb 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/Makefile
+++ b/drivers/net/wireless/brcm80211/brcmfmac/Makefile
@@ -44,3 +44,5 @@ brcmfmac-$(CONFIG_BRCMDBG) += \
dhd_dbg.o
brcmfmac-$(CONFIG_BRCM_TRACING) += \
tracepoint.o
+brcmfmac-$(CONFIG_OF) += \
+ of.o
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
index a16e644..0fc707c 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
@@ -43,6 +43,7 @@
#include "dhd_bus.h"
#include "dhd_dbg.h"
#include "sdio_host.h"
+#include "of.h"
#define SDIOH_API_ACCESS_RETRY_LIMIT 2
@@ -1043,6 +1044,9 @@ static int brcmf_ops_sdio_probe(struct sdio_func *func,
sdiodev->dev = &sdiodev->func[1]->dev;
sdiodev->pdata = brcmfmac_sdio_pdata;
+ if (!sdiodev->pdata)
+ brcmf_of_probe(sdiodev);
+
atomic_set(&sdiodev->suspend, false);
init_waitqueue_head(&sdiodev->request_word_wait);
init_waitqueue_head(&sdiodev->request_buffer_wait);
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/of.c b/drivers/net/wireless/brcm80211/brcmfmac/of.c
new file mode 100644
index 0000000..f05f527
--- /dev/null
+++ b/drivers/net/wireless/brcm80211/brcmfmac/of.c
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2014 Broadcom Corporation
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+ * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+#include <linux/init.h>
+#include <linux/of.h>
+#include <linux/of_irq.h>
+#include <linux/mmc/card.h>
+#include <linux/platform_data/brcmfmac-sdio.h>
+#include <linux/mmc/sdio_func.h>
+
+#include <defs.h>
+#include "dhd_dbg.h"
+#include "sdio_host.h"
+
+void brcmf_of_probe(struct brcmf_sdio_dev *sdiodev)
+{
+ struct device *dev = sdiodev->dev;
+ struct device_node *np = dev->of_node;
+ int irq;
+ u32 irqf;
+ u32 val;
+
+ if (!np || !of_device_is_compatible(np, "brcm,bcm4329-fmac"))
+ return;
+
+ sdiodev->pdata = devm_kzalloc(dev, sizeof(*sdiodev->pdata), GFP_KERNEL);
+ if (!sdiodev->pdata)
+ return;
+
+ irq = irq_of_parse_and_map(np, 0);
+ if (irq < 0) {
+ brcmf_err("interrupt could not be mapped: err=%d\n", irq);
+ devm_kfree(dev, sdiodev->pdata);
+ return;
+ }
+ irqf = irqd_get_trigger_type(irq_get_irq_data(irq));
+
+ sdiodev->pdata->oob_irq_supported = true;
+ sdiodev->pdata->oob_irq_nr = irq;
+ sdiodev->pdata->oob_irq_flags = irqf;
+
+ if (of_property_read_u32(np, "brcm,drive-strength", &val) == 0)
+ sdiodev->pdata->drive_strength = val;
+}
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/of.h b/drivers/net/wireless/brcm80211/brcmfmac/of.h
new file mode 100644
index 0000000..5f7c355
--- /dev/null
+++ b/drivers/net/wireless/brcm80211/brcmfmac/of.h
@@ -0,0 +1,22 @@
+/*
+ * Copyright (c) 2014 Broadcom Corporation
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+ * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+#ifdef CONFIG_OF
+void brcmf_of_probe(struct brcmf_sdio_dev *sdiodev);
+#else
+static void brcmf_of_probe(struct brcmf_sdio_dev *sdiodev)
+{
+}
+#endif /* CONFIG_OF */
--
2.0.0
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v3 2/4] brcmfmac: add device tree support for SDIO devices
@ 2014-06-29 14:16 ` Hans de Goede
0 siblings, 0 replies; 33+ messages in thread
From: Hans de Goede @ 2014-06-29 14:16 UTC (permalink / raw)
To: linux-arm-kernel
From: Chen-Yu Tsai <wens@csie.org>
brcmfmac devices can use an out-of-band interrupt on a GPIO line.
Currently this is specified using platform data. Add support for
specifying out-of-band interrupt via device tree.
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
[arend at broadcom.com: conditionalize more of-code, use driver debug routines]
Signed-off-by: Arend van Spriel <arend@broadcom.com>
[hdegoede at redhat.com: drop clk / reg_on gpio handling, as there is no consensus
on how to handle this yet]
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
drivers/net/wireless/brcm80211/brcmfmac/Makefile | 2 +
drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c | 4 ++
drivers/net/wireless/brcm80211/brcmfmac/of.c | 56 ++++++++++++++++++++++++
drivers/net/wireless/brcm80211/brcmfmac/of.h | 22 ++++++++++
4 files changed, 84 insertions(+)
create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/of.c
create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/of.h
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/Makefile b/drivers/net/wireless/brcm80211/brcmfmac/Makefile
index 98e67c1..e2752cb 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/Makefile
+++ b/drivers/net/wireless/brcm80211/brcmfmac/Makefile
@@ -44,3 +44,5 @@ brcmfmac-$(CONFIG_BRCMDBG) += \
dhd_dbg.o
brcmfmac-$(CONFIG_BRCM_TRACING) += \
tracepoint.o
+brcmfmac-$(CONFIG_OF) += \
+ of.o
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
index a16e644..0fc707c 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
@@ -43,6 +43,7 @@
#include "dhd_bus.h"
#include "dhd_dbg.h"
#include "sdio_host.h"
+#include "of.h"
#define SDIOH_API_ACCESS_RETRY_LIMIT 2
@@ -1043,6 +1044,9 @@ static int brcmf_ops_sdio_probe(struct sdio_func *func,
sdiodev->dev = &sdiodev->func[1]->dev;
sdiodev->pdata = brcmfmac_sdio_pdata;
+ if (!sdiodev->pdata)
+ brcmf_of_probe(sdiodev);
+
atomic_set(&sdiodev->suspend, false);
init_waitqueue_head(&sdiodev->request_word_wait);
init_waitqueue_head(&sdiodev->request_buffer_wait);
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/of.c b/drivers/net/wireless/brcm80211/brcmfmac/of.c
new file mode 100644
index 0000000..f05f527
--- /dev/null
+++ b/drivers/net/wireless/brcm80211/brcmfmac/of.c
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2014 Broadcom Corporation
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+ * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+#include <linux/init.h>
+#include <linux/of.h>
+#include <linux/of_irq.h>
+#include <linux/mmc/card.h>
+#include <linux/platform_data/brcmfmac-sdio.h>
+#include <linux/mmc/sdio_func.h>
+
+#include <defs.h>
+#include "dhd_dbg.h"
+#include "sdio_host.h"
+
+void brcmf_of_probe(struct brcmf_sdio_dev *sdiodev)
+{
+ struct device *dev = sdiodev->dev;
+ struct device_node *np = dev->of_node;
+ int irq;
+ u32 irqf;
+ u32 val;
+
+ if (!np || !of_device_is_compatible(np, "brcm,bcm4329-fmac"))
+ return;
+
+ sdiodev->pdata = devm_kzalloc(dev, sizeof(*sdiodev->pdata), GFP_KERNEL);
+ if (!sdiodev->pdata)
+ return;
+
+ irq = irq_of_parse_and_map(np, 0);
+ if (irq < 0) {
+ brcmf_err("interrupt could not be mapped: err=%d\n", irq);
+ devm_kfree(dev, sdiodev->pdata);
+ return;
+ }
+ irqf = irqd_get_trigger_type(irq_get_irq_data(irq));
+
+ sdiodev->pdata->oob_irq_supported = true;
+ sdiodev->pdata->oob_irq_nr = irq;
+ sdiodev->pdata->oob_irq_flags = irqf;
+
+ if (of_property_read_u32(np, "brcm,drive-strength", &val) == 0)
+ sdiodev->pdata->drive_strength = val;
+}
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/of.h b/drivers/net/wireless/brcm80211/brcmfmac/of.h
new file mode 100644
index 0000000..5f7c355
--- /dev/null
+++ b/drivers/net/wireless/brcm80211/brcmfmac/of.h
@@ -0,0 +1,22 @@
+/*
+ * Copyright (c) 2014 Broadcom Corporation
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+ * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+#ifdef CONFIG_OF
+void brcmf_of_probe(struct brcmf_sdio_dev *sdiodev);
+#else
+static void brcmf_of_probe(struct brcmf_sdio_dev *sdiodev)
+{
+}
+#endif /* CONFIG_OF */
--
2.0.0
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v3 3/4] brcmfmac: Fix some wrong register defines
@ 2014-06-29 14:17 ` Hans de Goede
0 siblings, 0 replies; 33+ messages in thread
From: Hans de Goede @ 2014-06-29 14:17 UTC (permalink / raw)
To: John W. Linville
Cc: Arend van Spriel, Chen-Yu Tsai, linux-wireless, linux-arm-kernel,
devicetree, linux-sunxi, Hans de Goede
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h b/drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h
index 3deab79..6e6a366 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h
+++ b/drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h
@@ -72,12 +72,12 @@
#define SBSDIO_SPROM_DATA_HIGH 0x10003
/* sprom indirect access addr byte 0 */
#define SBSDIO_SPROM_ADDR_LOW 0x10004
-/* sprom indirect access addr byte 0 */
-#define SBSDIO_SPROM_ADDR_HIGH 0x10005
-/* xtal_pu (gpio) output */
-#define SBSDIO_CHIP_CTRL_DATA 0x10006
-/* xtal_pu (gpio) enable */
-#define SBSDIO_CHIP_CTRL_EN 0x10007
+/* gpio select */
+#define SBSDIO_GPIO_SELECT 0x10005
+/* gpio output */
+#define SBSDIO_GPIO_OUT 0x10006
+/* gpio enable */
+#define SBSDIO_GPIO_EN 0x10007
/* rev < 7, watermark for sdio device */
#define SBSDIO_WATERMARK 0x10008
/* control busy signal generation */
--
2.0.0
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v3 3/4] brcmfmac: Fix some wrong register defines
@ 2014-06-29 14:17 ` Hans de Goede
0 siblings, 0 replies; 33+ messages in thread
From: Hans de Goede @ 2014-06-29 14:17 UTC (permalink / raw)
To: John W. Linville
Cc: Arend van Spriel, Chen-Yu Tsai,
linux-wireless-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree,
linux-sunxi-/JYPxA39Uh5TLH3MbocFFw, Hans de Goede
Signed-off-by: Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
---
drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h b/drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h
index 3deab79..6e6a366 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h
+++ b/drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h
@@ -72,12 +72,12 @@
#define SBSDIO_SPROM_DATA_HIGH 0x10003
/* sprom indirect access addr byte 0 */
#define SBSDIO_SPROM_ADDR_LOW 0x10004
-/* sprom indirect access addr byte 0 */
-#define SBSDIO_SPROM_ADDR_HIGH 0x10005
-/* xtal_pu (gpio) output */
-#define SBSDIO_CHIP_CTRL_DATA 0x10006
-/* xtal_pu (gpio) enable */
-#define SBSDIO_CHIP_CTRL_EN 0x10007
+/* gpio select */
+#define SBSDIO_GPIO_SELECT 0x10005
+/* gpio output */
+#define SBSDIO_GPIO_OUT 0x10006
+/* gpio enable */
+#define SBSDIO_GPIO_EN 0x10007
/* rev < 7, watermark for sdio device */
#define SBSDIO_WATERMARK 0x10008
/* control busy signal generation */
--
2.0.0
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v3 3/4] brcmfmac: Fix some wrong register defines
@ 2014-06-29 14:17 ` Hans de Goede
0 siblings, 0 replies; 33+ messages in thread
From: Hans de Goede @ 2014-06-29 14:17 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h b/drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h
index 3deab79..6e6a366 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h
+++ b/drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h
@@ -72,12 +72,12 @@
#define SBSDIO_SPROM_DATA_HIGH 0x10003
/* sprom indirect access addr byte 0 */
#define SBSDIO_SPROM_ADDR_LOW 0x10004
-/* sprom indirect access addr byte 0 */
-#define SBSDIO_SPROM_ADDR_HIGH 0x10005
-/* xtal_pu (gpio) output */
-#define SBSDIO_CHIP_CTRL_DATA 0x10006
-/* xtal_pu (gpio) enable */
-#define SBSDIO_CHIP_CTRL_EN 0x10007
+/* gpio select */
+#define SBSDIO_GPIO_SELECT 0x10005
+/* gpio output */
+#define SBSDIO_GPIO_OUT 0x10006
+/* gpio enable */
+#define SBSDIO_GPIO_EN 0x10007
/* rev < 7, watermark for sdio device */
#define SBSDIO_WATERMARK 0x10008
/* control busy signal generation */
--
2.0.0
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v3 4/4] brcmfmac: Fix OOB interrupt not working for BCM43362
@ 2014-06-29 14:17 ` Hans de Goede
0 siblings, 0 replies; 33+ messages in thread
From: Hans de Goede @ 2014-06-29 14:17 UTC (permalink / raw)
To: John W. Linville
Cc: Arend van Spriel, Chen-Yu Tsai, linux-wireless, linux-arm-kernel,
devicetree, linux-sunxi, Hans de Goede
It has taken me a long long time to get the OOB interrupt working on the
AP6210 sdio wifi/bt module found on various Allwinner A20 boards. In the
end I found these magic register pokes in the cubietruck kernel tree:
https://github.com/cubieboard2/linux-sunxi/commit/7f08ba395617d17e7a711507503d89a50406fe7a
This is also done for the bcm43362 in broadcom's internal/proprietary driver.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Arend van Spriel <arend@broadcom.com>
---
drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
index 0fc707c..58e86a5 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
@@ -39,7 +39,9 @@
#include <brcm_hw_ids.h>
#include <brcmu_utils.h>
#include <brcmu_wifi.h>
+#include <chipcommon.h>
#include <soc.h>
+#include "chip.h"
#include "dhd_bus.h"
#include "dhd_dbg.h"
#include "sdio_host.h"
@@ -119,6 +121,7 @@ int brcmf_sdiod_intr_register(struct brcmf_sdio_dev *sdiodev)
{
int ret = 0;
u8 data;
+ u32 addr, gpiocontrol;
unsigned long flags;
if ((sdiodev->pdata) && (sdiodev->pdata->oob_irq_supported)) {
@@ -148,6 +151,19 @@ int brcmf_sdiod_intr_register(struct brcmf_sdio_dev *sdiodev)
sdio_claim_host(sdiodev->func[1]);
+ if (sdiodev->bus_if->chip == BCM43362_CHIP_ID) {
+ /* assign GPIO to SDIO core */
+ addr = CORE_CC_REG(SI_ENUM_BASE, gpiocontrol);
+ gpiocontrol = brcmf_sdiod_regrl(sdiodev, addr, &ret);
+ gpiocontrol |= 0x2;
+ brcmf_sdiod_regwl(sdiodev, addr, gpiocontrol, &ret);
+
+ brcmf_sdiod_regwb(sdiodev, SBSDIO_GPIO_SELECT, 0xf,
+ &ret);
+ brcmf_sdiod_regwb(sdiodev, SBSDIO_GPIO_OUT, 0, &ret);
+ brcmf_sdiod_regwb(sdiodev, SBSDIO_GPIO_EN, 0x2, &ret);
+ }
+
/* must configure SDIO_CCCR_IENx to enable irq */
data = brcmf_sdiod_regrb(sdiodev, SDIO_CCCR_IENx, &ret);
data |= 1 << SDIO_FUNC_1 | 1 << SDIO_FUNC_2 | 1;
--
2.0.0
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v3 4/4] brcmfmac: Fix OOB interrupt not working for BCM43362
@ 2014-06-29 14:17 ` Hans de Goede
0 siblings, 0 replies; 33+ messages in thread
From: Hans de Goede @ 2014-06-29 14:17 UTC (permalink / raw)
To: John W. Linville
Cc: Arend van Spriel, Chen-Yu Tsai,
linux-wireless-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree,
linux-sunxi-/JYPxA39Uh5TLH3MbocFFw, Hans de Goede
It has taken me a long long time to get the OOB interrupt working on the
AP6210 sdio wifi/bt module found on various Allwinner A20 boards. In the
end I found these magic register pokes in the cubietruck kernel tree:
https://github.com/cubieboard2/linux-sunxi/commit/7f08ba395617d17e7a711507503d89a50406fe7a
This is also done for the bcm43362 in broadcom's internal/proprietary driver.
Signed-off-by: Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Reviewed-by: Arend van Spriel <arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
---
drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
index 0fc707c..58e86a5 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
@@ -39,7 +39,9 @@
#include <brcm_hw_ids.h>
#include <brcmu_utils.h>
#include <brcmu_wifi.h>
+#include <chipcommon.h>
#include <soc.h>
+#include "chip.h"
#include "dhd_bus.h"
#include "dhd_dbg.h"
#include "sdio_host.h"
@@ -119,6 +121,7 @@ int brcmf_sdiod_intr_register(struct brcmf_sdio_dev *sdiodev)
{
int ret = 0;
u8 data;
+ u32 addr, gpiocontrol;
unsigned long flags;
if ((sdiodev->pdata) && (sdiodev->pdata->oob_irq_supported)) {
@@ -148,6 +151,19 @@ int brcmf_sdiod_intr_register(struct brcmf_sdio_dev *sdiodev)
sdio_claim_host(sdiodev->func[1]);
+ if (sdiodev->bus_if->chip == BCM43362_CHIP_ID) {
+ /* assign GPIO to SDIO core */
+ addr = CORE_CC_REG(SI_ENUM_BASE, gpiocontrol);
+ gpiocontrol = brcmf_sdiod_regrl(sdiodev, addr, &ret);
+ gpiocontrol |= 0x2;
+ brcmf_sdiod_regwl(sdiodev, addr, gpiocontrol, &ret);
+
+ brcmf_sdiod_regwb(sdiodev, SBSDIO_GPIO_SELECT, 0xf,
+ &ret);
+ brcmf_sdiod_regwb(sdiodev, SBSDIO_GPIO_OUT, 0, &ret);
+ brcmf_sdiod_regwb(sdiodev, SBSDIO_GPIO_EN, 0x2, &ret);
+ }
+
/* must configure SDIO_CCCR_IENx to enable irq */
data = brcmf_sdiod_regrb(sdiodev, SDIO_CCCR_IENx, &ret);
data |= 1 << SDIO_FUNC_1 | 1 << SDIO_FUNC_2 | 1;
--
2.0.0
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v3 4/4] brcmfmac: Fix OOB interrupt not working for BCM43362
@ 2014-06-29 14:17 ` Hans de Goede
0 siblings, 0 replies; 33+ messages in thread
From: Hans de Goede @ 2014-06-29 14:17 UTC (permalink / raw)
To: linux-arm-kernel
It has taken me a long long time to get the OOB interrupt working on the
AP6210 sdio wifi/bt module found on various Allwinner A20 boards. In the
end I found these magic register pokes in the cubietruck kernel tree:
https://github.com/cubieboard2/linux-sunxi/commit/7f08ba395617d17e7a711507503d89a50406fe7a
This is also done for the bcm43362 in broadcom's internal/proprietary driver.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Arend van Spriel <arend@broadcom.com>
---
drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
index 0fc707c..58e86a5 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
@@ -39,7 +39,9 @@
#include <brcm_hw_ids.h>
#include <brcmu_utils.h>
#include <brcmu_wifi.h>
+#include <chipcommon.h>
#include <soc.h>
+#include "chip.h"
#include "dhd_bus.h"
#include "dhd_dbg.h"
#include "sdio_host.h"
@@ -119,6 +121,7 @@ int brcmf_sdiod_intr_register(struct brcmf_sdio_dev *sdiodev)
{
int ret = 0;
u8 data;
+ u32 addr, gpiocontrol;
unsigned long flags;
if ((sdiodev->pdata) && (sdiodev->pdata->oob_irq_supported)) {
@@ -148,6 +151,19 @@ int brcmf_sdiod_intr_register(struct brcmf_sdio_dev *sdiodev)
sdio_claim_host(sdiodev->func[1]);
+ if (sdiodev->bus_if->chip == BCM43362_CHIP_ID) {
+ /* assign GPIO to SDIO core */
+ addr = CORE_CC_REG(SI_ENUM_BASE, gpiocontrol);
+ gpiocontrol = brcmf_sdiod_regrl(sdiodev, addr, &ret);
+ gpiocontrol |= 0x2;
+ brcmf_sdiod_regwl(sdiodev, addr, gpiocontrol, &ret);
+
+ brcmf_sdiod_regwb(sdiodev, SBSDIO_GPIO_SELECT, 0xf,
+ &ret);
+ brcmf_sdiod_regwb(sdiodev, SBSDIO_GPIO_OUT, 0, &ret);
+ brcmf_sdiod_regwb(sdiodev, SBSDIO_GPIO_EN, 0x2, &ret);
+ }
+
/* must configure SDIO_CCCR_IENx to enable irq */
data = brcmf_sdiod_regrb(sdiodev, SDIO_CCCR_IENx, &ret);
data |= 1 << SDIO_FUNC_1 | 1 << SDIO_FUNC_2 | 1;
--
2.0.0
^ permalink raw reply related [flat|nested] 33+ messages in thread
* Re: [PATCH v4 0/4] brcmfmac: OOB interrupt support
@ 2014-06-30 8:15 ` Arend van Spriel
0 siblings, 0 replies; 33+ messages in thread
From: Arend van Spriel @ 2014-06-30 8:15 UTC (permalink / raw)
To: Hans de Goede, John W. Linville
Cc: Chen-Yu Tsai, linux-wireless, linux-arm-kernel, devicetree, linux-sunxi
On 29-06-14 16:16, Hans de Goede wrote:
> Hi All,
>
> Here is v2 of the brcmfmac: OOB interrupt support series.
I guess this could use an update :-p
Regards,
Arend
> Changes since v1:
> -Post as a stand alone series, rather then together with sunxi pinctrl changes,
> etc.
> -Add a patch to fixup the names of the register addresses used in the
> "brcmfmac: Fix OOB interrupt not working for BCM43362" patch
> -Use the new register names in:
> "brcmfmac: Fix OOB interrupt not working for BCM43362"
>
> Changes since v2:
> -"dt: bindings: add bindings for Broadcom bcm43xx sdio devices"
> * changed the compatible string to brcm,bcm4329-fmac
> * replaced the dt-bindings example with a real world example
> -"brcmfmac: Fix OOB interrupt not working for BCM43362"
> * updated commit message with confirmation from broadcom that this is the
> right thing to do
>
> Regards,
>
> Hans
>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v4 0/4] brcmfmac: OOB interrupt support
@ 2014-06-30 8:15 ` Arend van Spriel
0 siblings, 0 replies; 33+ messages in thread
From: Arend van Spriel @ 2014-06-30 8:15 UTC (permalink / raw)
To: Hans de Goede, John W. Linville
Cc: Chen-Yu Tsai, linux-wireless-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree,
linux-sunxi-/JYPxA39Uh5TLH3MbocFFw
On 29-06-14 16:16, Hans de Goede wrote:
> Hi All,
>
> Here is v2 of the brcmfmac: OOB interrupt support series.
I guess this could use an update :-p
Regards,
Arend
> Changes since v1:
> -Post as a stand alone series, rather then together with sunxi pinctrl changes,
> etc.
> -Add a patch to fixup the names of the register addresses used in the
> "brcmfmac: Fix OOB interrupt not working for BCM43362" patch
> -Use the new register names in:
> "brcmfmac: Fix OOB interrupt not working for BCM43362"
>
> Changes since v2:
> -"dt: bindings: add bindings for Broadcom bcm43xx sdio devices"
> * changed the compatible string to brcm,bcm4329-fmac
> * replaced the dt-bindings example with a real world example
> -"brcmfmac: Fix OOB interrupt not working for BCM43362"
> * updated commit message with confirmation from broadcom that this is the
> right thing to do
>
> Regards,
>
> Hans
>
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH v4 0/4] brcmfmac: OOB interrupt support
@ 2014-06-30 8:15 ` Arend van Spriel
0 siblings, 0 replies; 33+ messages in thread
From: Arend van Spriel @ 2014-06-30 8:15 UTC (permalink / raw)
To: linux-arm-kernel
On 29-06-14 16:16, Hans de Goede wrote:
> Hi All,
>
> Here is v2 of the brcmfmac: OOB interrupt support series.
I guess this could use an update :-p
Regards,
Arend
> Changes since v1:
> -Post as a stand alone series, rather then together with sunxi pinctrl changes,
> etc.
> -Add a patch to fixup the names of the register addresses used in the
> "brcmfmac: Fix OOB interrupt not working for BCM43362" patch
> -Use the new register names in:
> "brcmfmac: Fix OOB interrupt not working for BCM43362"
>
> Changes since v2:
> -"dt: bindings: add bindings for Broadcom bcm43xx sdio devices"
> * changed the compatible string to brcm,bcm4329-fmac
> * replaced the dt-bindings example with a real world example
> -"brcmfmac: Fix OOB interrupt not working for BCM43362"
> * updated commit message with confirmation from broadcom that this is the
> right thing to do
>
> Regards,
>
> Hans
>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v3 1/4] dt: bindings: add bindings for Broadcom bcm43xx sdio devices
@ 2014-06-30 8:31 ` Arend van Spriel
0 siblings, 0 replies; 33+ messages in thread
From: Arend van Spriel @ 2014-06-30 8:31 UTC (permalink / raw)
To: Hans de Goede, John W. Linville
Cc: Chen-Yu Tsai, linux-wireless, linux-arm-kernel, devicetree, linux-sunxi
On 29-06-14 16:16, Hans de Goede wrote:
> From: Arend van Spriel <arend@broadcom.com>
>
> The Broadcom bcm43xx sdio devices are fullmac devices that may be
> integrated in ARM platforms. Currently, the brcmfmac driver for
> these devices support use of platform data. This patch specifies
> the bindings that allow this platform data to be expressed in the
> devicetree.
>
> Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
> Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
> Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com>
> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
> Signed-off-by: Arend van Spriel <arend@broadcom.com>
> [hdegoede@redhat.com: drop clk / reg_on gpio handling, as there is no consensus
> on how to handle this yet]
> [hdegoede@redhat.com: move from bindings/staging to bindings]
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
> .../bindings/net/wireless/brcm,bcm43xx-fmac.txt | 41 ++++++++++++++++++++++
> 1 file changed, 41 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>
> diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
> new file mode 100644
> index 0000000..5dbf169
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
> @@ -0,0 +1,41 @@
> +Broadcom BCM43xx Fullmac wireless SDIO devices
> +
> +This node provides properties for controlling the Broadcom 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 "brcm,bcm4329-fmac".
> +
> +Optional properties:
> + - brcm,drive-strength : drive strength used for SDIO pins on device in mA
> + (default = 6).
> + - interrupt-parent : the phandle for the interrupt controller to which the
> + device interrupts are connected.
> + - interrupts : specifies attributes for the out-of-band interrupt (host-wake).
> + When not specified the device will use in-band SDIO interrupts.
> + - interrupt-names : name of the out-of-band interrupt, which must be set
> + to "host-wake".
> +
> +Example:
> +
> +mmc3: mmc@01c12000 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&mmc3_pins_a>;
> + vmmc-supply = <®_vmmc3>;
> + bus-width = <4>;
> + non-removable;
> + status = "okay";
> +
> + brcmf: bcrmf@1 {
> + reg = <1>;
I guess the reg property is needed to have this node linked to sdio func
1 dev, right? I would add it to the list of required properties above
even if this behaviour is already described in a more generic binding.
Regards,
Arend
> + compatible = "brcm,bcm4329-fmac";
> + interrupt-parent = <&pio>;
> + interrupts = <10 8>; /* PH10 / EINT10 */
> + interrupt-names = "host-wake";
> + };
> +};
>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v3 1/4] dt: bindings: add bindings for Broadcom bcm43xx sdio devices
@ 2014-06-30 8:31 ` Arend van Spriel
0 siblings, 0 replies; 33+ messages in thread
From: Arend van Spriel @ 2014-06-30 8:31 UTC (permalink / raw)
To: Hans de Goede, John W. Linville
Cc: Chen-Yu Tsai, linux-wireless-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree,
linux-sunxi-/JYPxA39Uh5TLH3MbocFFw
On 29-06-14 16:16, Hans de Goede wrote:
> From: Arend van Spriel <arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
>
> The Broadcom bcm43xx sdio devices are fullmac devices that may be
> integrated in ARM platforms. Currently, the brcmfmac driver for
> these devices support use of platform data. This patch specifies
> the bindings that allow this platform data to be expressed in the
> devicetree.
>
> Reviewed-by: Hante Meuleman <meuleman-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
> Reviewed-by: Franky (Zhenhui) Lin <frankyl-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
> Reviewed-by: Daniel (Deognyoun) Kim <dekim-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
> Reviewed-by: Pieter-Paul Giesberts <pieterpg-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
> Signed-off-by: Arend van Spriel <arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
> [hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org: drop clk / reg_on gpio handling, as there is no consensus
> on how to handle this yet]
> [hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org: move from bindings/staging to bindings]
> Signed-off-by: Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
> ---
> .../bindings/net/wireless/brcm,bcm43xx-fmac.txt | 41 ++++++++++++++++++++++
> 1 file changed, 41 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>
> diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
> new file mode 100644
> index 0000000..5dbf169
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
> @@ -0,0 +1,41 @@
> +Broadcom BCM43xx Fullmac wireless SDIO devices
> +
> +This node provides properties for controlling the Broadcom 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 "brcm,bcm4329-fmac".
> +
> +Optional properties:
> + - brcm,drive-strength : drive strength used for SDIO pins on device in mA
> + (default = 6).
> + - interrupt-parent : the phandle for the interrupt controller to which the
> + device interrupts are connected.
> + - interrupts : specifies attributes for the out-of-band interrupt (host-wake).
> + When not specified the device will use in-band SDIO interrupts.
> + - interrupt-names : name of the out-of-band interrupt, which must be set
> + to "host-wake".
> +
> +Example:
> +
> +mmc3: mmc@01c12000 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&mmc3_pins_a>;
> + vmmc-supply = <®_vmmc3>;
> + bus-width = <4>;
> + non-removable;
> + status = "okay";
> +
> + brcmf: bcrmf@1 {
> + reg = <1>;
I guess the reg property is needed to have this node linked to sdio func
1 dev, right? I would add it to the list of required properties above
even if this behaviour is already described in a more generic binding.
Regards,
Arend
> + compatible = "brcm,bcm4329-fmac";
> + interrupt-parent = <&pio>;
> + interrupts = <10 8>; /* PH10 / EINT10 */
> + interrupt-names = "host-wake";
> + };
> +};
>
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH v3 1/4] dt: bindings: add bindings for Broadcom bcm43xx sdio devices
@ 2014-06-30 8:31 ` Arend van Spriel
0 siblings, 0 replies; 33+ messages in thread
From: Arend van Spriel @ 2014-06-30 8:31 UTC (permalink / raw)
To: linux-arm-kernel
On 29-06-14 16:16, Hans de Goede wrote:
> From: Arend van Spriel <arend@broadcom.com>
>
> The Broadcom bcm43xx sdio devices are fullmac devices that may be
> integrated in ARM platforms. Currently, the brcmfmac driver for
> these devices support use of platform data. This patch specifies
> the bindings that allow this platform data to be expressed in the
> devicetree.
>
> Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
> Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
> Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com>
> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
> Signed-off-by: Arend van Spriel <arend@broadcom.com>
> [hdegoede at redhat.com: drop clk / reg_on gpio handling, as there is no consensus
> on how to handle this yet]
> [hdegoede at redhat.com: move from bindings/staging to bindings]
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
> .../bindings/net/wireless/brcm,bcm43xx-fmac.txt | 41 ++++++++++++++++++++++
> 1 file changed, 41 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>
> diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
> new file mode 100644
> index 0000000..5dbf169
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
> @@ -0,0 +1,41 @@
> +Broadcom BCM43xx Fullmac wireless SDIO devices
> +
> +This node provides properties for controlling the Broadcom 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 "brcm,bcm4329-fmac".
> +
> +Optional properties:
> + - brcm,drive-strength : drive strength used for SDIO pins on device in mA
> + (default = 6).
> + - interrupt-parent : the phandle for the interrupt controller to which the
> + device interrupts are connected.
> + - interrupts : specifies attributes for the out-of-band interrupt (host-wake).
> + When not specified the device will use in-band SDIO interrupts.
> + - interrupt-names : name of the out-of-band interrupt, which must be set
> + to "host-wake".
> +
> +Example:
> +
> +mmc3: mmc at 01c12000 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&mmc3_pins_a>;
> + vmmc-supply = <®_vmmc3>;
> + bus-width = <4>;
> + non-removable;
> + status = "okay";
> +
> + brcmf: bcrmf at 1 {
> + reg = <1>;
I guess the reg property is needed to have this node linked to sdio func
1 dev, right? I would add it to the list of required properties above
even if this behaviour is already described in a more generic binding.
Regards,
Arend
> + compatible = "brcm,bcm4329-fmac";
> + interrupt-parent = <&pio>;
> + interrupts = <10 8>; /* PH10 / EINT10 */
> + interrupt-names = "host-wake";
> + };
> +};
>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v3 1/4] dt: bindings: add bindings for Broadcom bcm43xx sdio devices
@ 2014-06-30 9:09 ` Hans de Goede
0 siblings, 0 replies; 33+ messages in thread
From: Hans de Goede @ 2014-06-30 9:09 UTC (permalink / raw)
To: Arend van Spriel, John W. Linville
Cc: Chen-Yu Tsai, linux-wireless, linux-arm-kernel, devicetree, linux-sunxi
Hi,
On 06/30/2014 10:31 AM, Arend van Spriel wrote:
> On 29-06-14 16:16, Hans de Goede wrote:
>> From: Arend van Spriel <arend@broadcom.com>
>>
>> The Broadcom bcm43xx sdio devices are fullmac devices that may be
>> integrated in ARM platforms. Currently, the brcmfmac driver for
>> these devices support use of platform data. This patch specifies
>> the bindings that allow this platform data to be expressed in the
>> devicetree.
>>
>> Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
>> Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
>> Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com>
>> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
>> Signed-off-by: Arend van Spriel <arend@broadcom.com>
>> [hdegoede@redhat.com: drop clk / reg_on gpio handling, as there is no consensus
>> on how to handle this yet]
>> [hdegoede@redhat.com: move from bindings/staging to bindings]
>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
>> ---
>> .../bindings/net/wireless/brcm,bcm43xx-fmac.txt | 41 ++++++++++++++++++++++
>> 1 file changed, 41 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>>
>> diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>> new file mode 100644
>> index 0000000..5dbf169
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>> @@ -0,0 +1,41 @@
>> +Broadcom BCM43xx Fullmac wireless SDIO devices
>> +
>> +This node provides properties for controlling the Broadcom 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 "brcm,bcm4329-fmac".
>> +
>> +Optional properties:
>> + - brcm,drive-strength : drive strength used for SDIO pins on device in mA
>> + (default = 6).
>> + - interrupt-parent : the phandle for the interrupt controller to which the
>> + device interrupts are connected.
>> + - interrupts : specifies attributes for the out-of-band interrupt (host-wake).
>> + When not specified the device will use in-band SDIO interrupts.
>> + - interrupt-names : name of the out-of-band interrupt, which must be set
>> + to "host-wake".
>> +
>> +Example:
>> +
>> +mmc3: mmc@01c12000 {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&mmc3_pins_a>;
>> + vmmc-supply = <®_vmmc3>;
>> + bus-width = <4>;
>> + non-removable;
>> + status = "okay";
>> +
>> + brcmf: bcrmf@1 {
>> + reg = <1>;
>
> I guess the reg property is needed to have this node linked to sdio func
> 1 dev, right?
Right.
> I would add it to the list of required properties above
> even if this behaviour is already described in a more generic binding.
Then we would also need to describe the need to add:
#address-cells = <1>;
#size-cells = <0>;
To the mmc-host node itself, I don't think that that really
belongs here, and thus the description of the reg property itself
also does not really belong here IMHO.
Regards,
Hans
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v3 1/4] dt: bindings: add bindings for Broadcom bcm43xx sdio devices
@ 2014-06-30 9:09 ` Hans de Goede
0 siblings, 0 replies; 33+ messages in thread
From: Hans de Goede @ 2014-06-30 9:09 UTC (permalink / raw)
To: Arend van Spriel, John W. Linville
Cc: Chen-Yu Tsai, linux-wireless-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree,
linux-sunxi-/JYPxA39Uh5TLH3MbocFFw
Hi,
On 06/30/2014 10:31 AM, Arend van Spriel wrote:
> On 29-06-14 16:16, Hans de Goede wrote:
>> From: Arend van Spriel <arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
>>
>> The Broadcom bcm43xx sdio devices are fullmac devices that may be
>> integrated in ARM platforms. Currently, the brcmfmac driver for
>> these devices support use of platform data. This patch specifies
>> the bindings that allow this platform data to be expressed in the
>> devicetree.
>>
>> Reviewed-by: Hante Meuleman <meuleman-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
>> Reviewed-by: Franky (Zhenhui) Lin <frankyl-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
>> Reviewed-by: Daniel (Deognyoun) Kim <dekim-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
>> Reviewed-by: Pieter-Paul Giesberts <pieterpg-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
>> Signed-off-by: Arend van Spriel <arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
>> [hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org: drop clk / reg_on gpio handling, as there is no consensus
>> on how to handle this yet]
>> [hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org: move from bindings/staging to bindings]
>> Signed-off-by: Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
>> ---
>> .../bindings/net/wireless/brcm,bcm43xx-fmac.txt | 41 ++++++++++++++++++++++
>> 1 file changed, 41 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>>
>> diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>> new file mode 100644
>> index 0000000..5dbf169
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>> @@ -0,0 +1,41 @@
>> +Broadcom BCM43xx Fullmac wireless SDIO devices
>> +
>> +This node provides properties for controlling the Broadcom 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 "brcm,bcm4329-fmac".
>> +
>> +Optional properties:
>> + - brcm,drive-strength : drive strength used for SDIO pins on device in mA
>> + (default = 6).
>> + - interrupt-parent : the phandle for the interrupt controller to which the
>> + device interrupts are connected.
>> + - interrupts : specifies attributes for the out-of-band interrupt (host-wake).
>> + When not specified the device will use in-band SDIO interrupts.
>> + - interrupt-names : name of the out-of-band interrupt, which must be set
>> + to "host-wake".
>> +
>> +Example:
>> +
>> +mmc3: mmc@01c12000 {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&mmc3_pins_a>;
>> + vmmc-supply = <®_vmmc3>;
>> + bus-width = <4>;
>> + non-removable;
>> + status = "okay";
>> +
>> + brcmf: bcrmf@1 {
>> + reg = <1>;
>
> I guess the reg property is needed to have this node linked to sdio func
> 1 dev, right?
Right.
> I would add it to the list of required properties above
> even if this behaviour is already described in a more generic binding.
Then we would also need to describe the need to add:
#address-cells = <1>;
#size-cells = <0>;
To the mmc-host node itself, I don't think that that really
belongs here, and thus the description of the reg property itself
also does not really belong here IMHO.
Regards,
Hans
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH v3 1/4] dt: bindings: add bindings for Broadcom bcm43xx sdio devices
@ 2014-06-30 9:09 ` Hans de Goede
0 siblings, 0 replies; 33+ messages in thread
From: Hans de Goede @ 2014-06-30 9:09 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
On 06/30/2014 10:31 AM, Arend van Spriel wrote:
> On 29-06-14 16:16, Hans de Goede wrote:
>> From: Arend van Spriel <arend@broadcom.com>
>>
>> The Broadcom bcm43xx sdio devices are fullmac devices that may be
>> integrated in ARM platforms. Currently, the brcmfmac driver for
>> these devices support use of platform data. This patch specifies
>> the bindings that allow this platform data to be expressed in the
>> devicetree.
>>
>> Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
>> Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
>> Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com>
>> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
>> Signed-off-by: Arend van Spriel <arend@broadcom.com>
>> [hdegoede at redhat.com: drop clk / reg_on gpio handling, as there is no consensus
>> on how to handle this yet]
>> [hdegoede at redhat.com: move from bindings/staging to bindings]
>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
>> ---
>> .../bindings/net/wireless/brcm,bcm43xx-fmac.txt | 41 ++++++++++++++++++++++
>> 1 file changed, 41 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>>
>> diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>> new file mode 100644
>> index 0000000..5dbf169
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>> @@ -0,0 +1,41 @@
>> +Broadcom BCM43xx Fullmac wireless SDIO devices
>> +
>> +This node provides properties for controlling the Broadcom 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 "brcm,bcm4329-fmac".
>> +
>> +Optional properties:
>> + - brcm,drive-strength : drive strength used for SDIO pins on device in mA
>> + (default = 6).
>> + - interrupt-parent : the phandle for the interrupt controller to which the
>> + device interrupts are connected.
>> + - interrupts : specifies attributes for the out-of-band interrupt (host-wake).
>> + When not specified the device will use in-band SDIO interrupts.
>> + - interrupt-names : name of the out-of-band interrupt, which must be set
>> + to "host-wake".
>> +
>> +Example:
>> +
>> +mmc3: mmc at 01c12000 {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&mmc3_pins_a>;
>> + vmmc-supply = <®_vmmc3>;
>> + bus-width = <4>;
>> + non-removable;
>> + status = "okay";
>> +
>> + brcmf: bcrmf at 1 {
>> + reg = <1>;
>
> I guess the reg property is needed to have this node linked to sdio func
> 1 dev, right?
Right.
> I would add it to the list of required properties above
> even if this behaviour is already described in a more generic binding.
Then we would also need to describe the need to add:
#address-cells = <1>;
#size-cells = <0>;
To the mmc-host node itself, I don't think that that really
belongs here, and thus the description of the reg property itself
also does not really belong here IMHO.
Regards,
Hans
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v3 1/4] dt: bindings: add bindings for Broadcom bcm43xx sdio devices
@ 2014-07-07 18:23 ` John W. Linville
0 siblings, 0 replies; 33+ messages in thread
From: John W. Linville @ 2014-07-07 18:23 UTC (permalink / raw)
To: Hans de Goede
Cc: Arend van Spriel, Chen-Yu Tsai, linux-wireless, linux-arm-kernel,
devicetree, linux-sunxi
Any word from the devicetree folks?
On Sun, Jun 29, 2014 at 04:16:58PM +0200, Hans de Goede wrote:
> From: Arend van Spriel <arend@broadcom.com>
>
> The Broadcom bcm43xx sdio devices are fullmac devices that may be
> integrated in ARM platforms. Currently, the brcmfmac driver for
> these devices support use of platform data. This patch specifies
> the bindings that allow this platform data to be expressed in the
> devicetree.
>
> Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
> Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
> Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com>
> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
> Signed-off-by: Arend van Spriel <arend@broadcom.com>
> [hdegoede@redhat.com: drop clk / reg_on gpio handling, as there is no consensus
> on how to handle this yet]
> [hdegoede@redhat.com: move from bindings/staging to bindings]
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
> .../bindings/net/wireless/brcm,bcm43xx-fmac.txt | 41 ++++++++++++++++++++++
> 1 file changed, 41 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>
> diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
> new file mode 100644
> index 0000000..5dbf169
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
> @@ -0,0 +1,41 @@
> +Broadcom BCM43xx Fullmac wireless SDIO devices
> +
> +This node provides properties for controlling the Broadcom 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 "brcm,bcm4329-fmac".
> +
> +Optional properties:
> + - brcm,drive-strength : drive strength used for SDIO pins on device in mA
> + (default = 6).
> + - interrupt-parent : the phandle for the interrupt controller to which the
> + device interrupts are connected.
> + - interrupts : specifies attributes for the out-of-band interrupt (host-wake).
> + When not specified the device will use in-band SDIO interrupts.
> + - interrupt-names : name of the out-of-band interrupt, which must be set
> + to "host-wake".
> +
> +Example:
> +
> +mmc3: mmc@01c12000 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&mmc3_pins_a>;
> + vmmc-supply = <®_vmmc3>;
> + bus-width = <4>;
> + non-removable;
> + status = "okay";
> +
> + brcmf: bcrmf@1 {
> + reg = <1>;
> + compatible = "brcm,bcm4329-fmac";
> + interrupt-parent = <&pio>;
> + interrupts = <10 8>; /* PH10 / EINT10 */
> + interrupt-names = "host-wake";
> + };
> +};
> --
> 2.0.0
>
>
--
John W. Linville Someday the world will need a hero, and you
linville@tuxdriver.com might be all we have. Be ready.
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v3 1/4] dt: bindings: add bindings for Broadcom bcm43xx sdio devices
@ 2014-07-07 18:23 ` John W. Linville
0 siblings, 0 replies; 33+ messages in thread
From: John W. Linville @ 2014-07-07 18:23 UTC (permalink / raw)
To: Hans de Goede
Cc: Arend van Spriel, Chen-Yu Tsai,
linux-wireless-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree,
linux-sunxi-/JYPxA39Uh5TLH3MbocFFw
Any word from the devicetree folks?
On Sun, Jun 29, 2014 at 04:16:58PM +0200, Hans de Goede wrote:
> From: Arend van Spriel <arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
>
> The Broadcom bcm43xx sdio devices are fullmac devices that may be
> integrated in ARM platforms. Currently, the brcmfmac driver for
> these devices support use of platform data. This patch specifies
> the bindings that allow this platform data to be expressed in the
> devicetree.
>
> Reviewed-by: Hante Meuleman <meuleman-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
> Reviewed-by: Franky (Zhenhui) Lin <frankyl-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
> Reviewed-by: Daniel (Deognyoun) Kim <dekim-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
> Reviewed-by: Pieter-Paul Giesberts <pieterpg-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
> Signed-off-by: Arend van Spriel <arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
> [hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org: drop clk / reg_on gpio handling, as there is no consensus
> on how to handle this yet]
> [hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org: move from bindings/staging to bindings]
> Signed-off-by: Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
> ---
> .../bindings/net/wireless/brcm,bcm43xx-fmac.txt | 41 ++++++++++++++++++++++
> 1 file changed, 41 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>
> diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
> new file mode 100644
> index 0000000..5dbf169
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
> @@ -0,0 +1,41 @@
> +Broadcom BCM43xx Fullmac wireless SDIO devices
> +
> +This node provides properties for controlling the Broadcom 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 "brcm,bcm4329-fmac".
> +
> +Optional properties:
> + - brcm,drive-strength : drive strength used for SDIO pins on device in mA
> + (default = 6).
> + - interrupt-parent : the phandle for the interrupt controller to which the
> + device interrupts are connected.
> + - interrupts : specifies attributes for the out-of-band interrupt (host-wake).
> + When not specified the device will use in-band SDIO interrupts.
> + - interrupt-names : name of the out-of-band interrupt, which must be set
> + to "host-wake".
> +
> +Example:
> +
> +mmc3: mmc@01c12000 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&mmc3_pins_a>;
> + vmmc-supply = <®_vmmc3>;
> + bus-width = <4>;
> + non-removable;
> + status = "okay";
> +
> + brcmf: bcrmf@1 {
> + reg = <1>;
> + compatible = "brcm,bcm4329-fmac";
> + interrupt-parent = <&pio>;
> + interrupts = <10 8>; /* PH10 / EINT10 */
> + interrupt-names = "host-wake";
> + };
> +};
> --
> 2.0.0
>
>
--
John W. Linville Someday the world will need a hero, and you
linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org might be all we have. Be ready.
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH v3 1/4] dt: bindings: add bindings for Broadcom bcm43xx sdio devices
@ 2014-07-07 18:23 ` John W. Linville
0 siblings, 0 replies; 33+ messages in thread
From: John W. Linville @ 2014-07-07 18:23 UTC (permalink / raw)
To: linux-arm-kernel
Any word from the devicetree folks?
On Sun, Jun 29, 2014 at 04:16:58PM +0200, Hans de Goede wrote:
> From: Arend van Spriel <arend@broadcom.com>
>
> The Broadcom bcm43xx sdio devices are fullmac devices that may be
> integrated in ARM platforms. Currently, the brcmfmac driver for
> these devices support use of platform data. This patch specifies
> the bindings that allow this platform data to be expressed in the
> devicetree.
>
> Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
> Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
> Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com>
> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
> Signed-off-by: Arend van Spriel <arend@broadcom.com>
> [hdegoede at redhat.com: drop clk / reg_on gpio handling, as there is no consensus
> on how to handle this yet]
> [hdegoede at redhat.com: move from bindings/staging to bindings]
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
> .../bindings/net/wireless/brcm,bcm43xx-fmac.txt | 41 ++++++++++++++++++++++
> 1 file changed, 41 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>
> diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
> new file mode 100644
> index 0000000..5dbf169
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
> @@ -0,0 +1,41 @@
> +Broadcom BCM43xx Fullmac wireless SDIO devices
> +
> +This node provides properties for controlling the Broadcom 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 "brcm,bcm4329-fmac".
> +
> +Optional properties:
> + - brcm,drive-strength : drive strength used for SDIO pins on device in mA
> + (default = 6).
> + - interrupt-parent : the phandle for the interrupt controller to which the
> + device interrupts are connected.
> + - interrupts : specifies attributes for the out-of-band interrupt (host-wake).
> + When not specified the device will use in-band SDIO interrupts.
> + - interrupt-names : name of the out-of-band interrupt, which must be set
> + to "host-wake".
> +
> +Example:
> +
> +mmc3: mmc at 01c12000 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&mmc3_pins_a>;
> + vmmc-supply = <®_vmmc3>;
> + bus-width = <4>;
> + non-removable;
> + status = "okay";
> +
> + brcmf: bcrmf at 1 {
> + reg = <1>;
> + compatible = "brcm,bcm4329-fmac";
> + interrupt-parent = <&pio>;
> + interrupts = <10 8>; /* PH10 / EINT10 */
> + interrupt-names = "host-wake";
> + };
> +};
> --
> 2.0.0
>
>
--
John W. Linville Someday the world will need a hero, and you
linville at tuxdriver.com might be all we have. Be ready.
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [linux-sunxi] Re: [PATCH v3 1/4] dt: bindings: add bindings for Broadcom bcm43xx sdio devices
@ 2014-07-08 6:55 ` Hans de Goede
0 siblings, 0 replies; 33+ messages in thread
From: Hans de Goede @ 2014-07-08 6:55 UTC (permalink / raw)
To: linux-sunxi
Cc: Arend van Spriel, Chen-Yu Tsai, linux-wireless, linux-arm-kernel,
devicetree
Hi,
On 07/07/2014 08:23 PM, John W. Linville wrote:
> Any word from the devicetree folks?
We changed the compatible string from brcm,bcm43xx-fmac to brcm,bcm4329-fmac
at their request, that is the only feedback we've gotten from them AFAIK.
Regards,
Hans
>
> On Sun, Jun 29, 2014 at 04:16:58PM +0200, Hans de Goede wrote:
>> From: Arend van Spriel <arend@broadcom.com>
>>
>> The Broadcom bcm43xx sdio devices are fullmac devices that may be
>> integrated in ARM platforms. Currently, the brcmfmac driver for
>> these devices support use of platform data. This patch specifies
>> the bindings that allow this platform data to be expressed in the
>> devicetree.
>>
>> Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
>> Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
>> Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com>
>> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
>> Signed-off-by: Arend van Spriel <arend@broadcom.com>
>> [hdegoede@redhat.com: drop clk / reg_on gpio handling, as there is no consensus
>> on how to handle this yet]
>> [hdegoede@redhat.com: move from bindings/staging to bindings]
>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
>> ---
>> .../bindings/net/wireless/brcm,bcm43xx-fmac.txt | 41 ++++++++++++++++++++++
>> 1 file changed, 41 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>>
>> diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>> new file mode 100644
>> index 0000000..5dbf169
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>> @@ -0,0 +1,41 @@
>> +Broadcom BCM43xx Fullmac wireless SDIO devices
>> +
>> +This node provides properties for controlling the Broadcom 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 "brcm,bcm4329-fmac".
>> +
>> +Optional properties:
>> + - brcm,drive-strength : drive strength used for SDIO pins on device in mA
>> + (default = 6).
>> + - interrupt-parent : the phandle for the interrupt controller to which the
>> + device interrupts are connected.
>> + - interrupts : specifies attributes for the out-of-band interrupt (host-wake).
>> + When not specified the device will use in-band SDIO interrupts.
>> + - interrupt-names : name of the out-of-band interrupt, which must be set
>> + to "host-wake".
>> +
>> +Example:
>> +
>> +mmc3: mmc@01c12000 {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&mmc3_pins_a>;
>> + vmmc-supply = <®_vmmc3>;
>> + bus-width = <4>;
>> + non-removable;
>> + status = "okay";
>> +
>> + brcmf: bcrmf@1 {
>> + reg = <1>;
>> + compatible = "brcm,bcm4329-fmac";
>> + interrupt-parent = <&pio>;
>> + interrupts = <10 8>; /* PH10 / EINT10 */
>> + interrupt-names = "host-wake";
>> + };
>> +};
>> --
>> 2.0.0
>>
>>
>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: Re: [PATCH v3 1/4] dt: bindings: add bindings for Broadcom bcm43xx sdio devices
@ 2014-07-08 6:55 ` Hans de Goede
0 siblings, 0 replies; 33+ messages in thread
From: Hans de Goede @ 2014-07-08 6:55 UTC (permalink / raw)
To: linux-sunxi-/JYPxA39Uh5TLH3MbocFFw
Cc: Arend van Spriel, Chen-Yu Tsai,
linux-wireless-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree
Hi,
On 07/07/2014 08:23 PM, John W. Linville wrote:
> Any word from the devicetree folks?
We changed the compatible string from brcm,bcm43xx-fmac to brcm,bcm4329-fmac
at their request, that is the only feedback we've gotten from them AFAIK.
Regards,
Hans
>
> On Sun, Jun 29, 2014 at 04:16:58PM +0200, Hans de Goede wrote:
>> From: Arend van Spriel <arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
>>
>> The Broadcom bcm43xx sdio devices are fullmac devices that may be
>> integrated in ARM platforms. Currently, the brcmfmac driver for
>> these devices support use of platform data. This patch specifies
>> the bindings that allow this platform data to be expressed in the
>> devicetree.
>>
>> Reviewed-by: Hante Meuleman <meuleman-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
>> Reviewed-by: Franky (Zhenhui) Lin <frankyl-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
>> Reviewed-by: Daniel (Deognyoun) Kim <dekim-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
>> Reviewed-by: Pieter-Paul Giesberts <pieterpg-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
>> Signed-off-by: Arend van Spriel <arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
>> [hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org: drop clk / reg_on gpio handling, as there is no consensus
>> on how to handle this yet]
>> [hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org: move from bindings/staging to bindings]
>> Signed-off-by: Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
>> ---
>> .../bindings/net/wireless/brcm,bcm43xx-fmac.txt | 41 ++++++++++++++++++++++
>> 1 file changed, 41 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>>
>> diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>> new file mode 100644
>> index 0000000..5dbf169
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>> @@ -0,0 +1,41 @@
>> +Broadcom BCM43xx Fullmac wireless SDIO devices
>> +
>> +This node provides properties for controlling the Broadcom 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 "brcm,bcm4329-fmac".
>> +
>> +Optional properties:
>> + - brcm,drive-strength : drive strength used for SDIO pins on device in mA
>> + (default = 6).
>> + - interrupt-parent : the phandle for the interrupt controller to which the
>> + device interrupts are connected.
>> + - interrupts : specifies attributes for the out-of-band interrupt (host-wake).
>> + When not specified the device will use in-band SDIO interrupts.
>> + - interrupt-names : name of the out-of-band interrupt, which must be set
>> + to "host-wake".
>> +
>> +Example:
>> +
>> +mmc3: mmc@01c12000 {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&mmc3_pins_a>;
>> + vmmc-supply = <®_vmmc3>;
>> + bus-width = <4>;
>> + non-removable;
>> + status = "okay";
>> +
>> + brcmf: bcrmf@1 {
>> + reg = <1>;
>> + compatible = "brcm,bcm4329-fmac";
>> + interrupt-parent = <&pio>;
>> + interrupts = <10 8>; /* PH10 / EINT10 */
>> + interrupt-names = "host-wake";
>> + };
>> +};
>> --
>> 2.0.0
>>
>>
>
^ permalink raw reply [flat|nested] 33+ messages in thread
* [linux-sunxi] Re: [PATCH v3 1/4] dt: bindings: add bindings for Broadcom bcm43xx sdio devices
@ 2014-07-08 6:55 ` Hans de Goede
0 siblings, 0 replies; 33+ messages in thread
From: Hans de Goede @ 2014-07-08 6:55 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
On 07/07/2014 08:23 PM, John W. Linville wrote:
> Any word from the devicetree folks?
We changed the compatible string from brcm,bcm43xx-fmac to brcm,bcm4329-fmac
at their request, that is the only feedback we've gotten from them AFAIK.
Regards,
Hans
>
> On Sun, Jun 29, 2014 at 04:16:58PM +0200, Hans de Goede wrote:
>> From: Arend van Spriel <arend@broadcom.com>
>>
>> The Broadcom bcm43xx sdio devices are fullmac devices that may be
>> integrated in ARM platforms. Currently, the brcmfmac driver for
>> these devices support use of platform data. This patch specifies
>> the bindings that allow this platform data to be expressed in the
>> devicetree.
>>
>> Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
>> Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
>> Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com>
>> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
>> Signed-off-by: Arend van Spriel <arend@broadcom.com>
>> [hdegoede at redhat.com: drop clk / reg_on gpio handling, as there is no consensus
>> on how to handle this yet]
>> [hdegoede at redhat.com: move from bindings/staging to bindings]
>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
>> ---
>> .../bindings/net/wireless/brcm,bcm43xx-fmac.txt | 41 ++++++++++++++++++++++
>> 1 file changed, 41 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>>
>> diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>> new file mode 100644
>> index 0000000..5dbf169
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>> @@ -0,0 +1,41 @@
>> +Broadcom BCM43xx Fullmac wireless SDIO devices
>> +
>> +This node provides properties for controlling the Broadcom 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 "brcm,bcm4329-fmac".
>> +
>> +Optional properties:
>> + - brcm,drive-strength : drive strength used for SDIO pins on device in mA
>> + (default = 6).
>> + - interrupt-parent : the phandle for the interrupt controller to which the
>> + device interrupts are connected.
>> + - interrupts : specifies attributes for the out-of-band interrupt (host-wake).
>> + When not specified the device will use in-band SDIO interrupts.
>> + - interrupt-names : name of the out-of-band interrupt, which must be set
>> + to "host-wake".
>> +
>> +Example:
>> +
>> +mmc3: mmc at 01c12000 {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&mmc3_pins_a>;
>> + vmmc-supply = <®_vmmc3>;
>> + bus-width = <4>;
>> + non-removable;
>> + status = "okay";
>> +
>> + brcmf: bcrmf at 1 {
>> + reg = <1>;
>> + compatible = "brcm,bcm4329-fmac";
>> + interrupt-parent = <&pio>;
>> + interrupts = <10 8>; /* PH10 / EINT10 */
>> + interrupt-names = "host-wake";
>> + };
>> +};
>> --
>> 2.0.0
>>
>>
>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v4 0/4] brcmfmac: OOB interrupt support
@ 2014-07-15 20:58 ` John W. Linville
0 siblings, 0 replies; 33+ messages in thread
From: John W. Linville @ 2014-07-15 20:58 UTC (permalink / raw)
To: Hans de Goede
Cc: Arend van Spriel, Chen-Yu Tsai, linux-wireless, linux-arm-kernel,
devicetree, linux-sunxi
The patch "brcmfmac: Cleanup used device IDs." makes this series
not build. Unfortunately, I already merged that one...
Would you mind rebasing/reposting this?
Sorry...
John
On Sun, Jun 29, 2014 at 04:16:57PM +0200, Hans de Goede wrote:
> Hi All,
>
> Here is v2 of the brcmfmac: OOB interrupt support series.
>
> Changes since v1:
> -Post as a stand alone series, rather then together with sunxi pinctrl changes,
> etc.
> -Add a patch to fixup the names of the register addresses used in the
> "brcmfmac: Fix OOB interrupt not working for BCM43362" patch
> -Use the new register names in:
> "brcmfmac: Fix OOB interrupt not working for BCM43362"
>
> Changes since v2:
> -"dt: bindings: add bindings for Broadcom bcm43xx sdio devices"
> * changed the compatible string to brcm,bcm4329-fmac
> * replaced the dt-bindings example with a real world example
> -"brcmfmac: Fix OOB interrupt not working for BCM43362"
> * updated commit message with confirmation from broadcom that this is the
> right thing to do
>
> Regards,
>
> Hans
>
--
John W. Linville Someday the world will need a hero, and you
linville@tuxdriver.com might be all we have. Be ready.
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v4 0/4] brcmfmac: OOB interrupt support
@ 2014-07-15 20:58 ` John W. Linville
0 siblings, 0 replies; 33+ messages in thread
From: John W. Linville @ 2014-07-15 20:58 UTC (permalink / raw)
To: Hans de Goede
Cc: Arend van Spriel, Chen-Yu Tsai,
linux-wireless-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree,
linux-sunxi-/JYPxA39Uh5TLH3MbocFFw
The patch "brcmfmac: Cleanup used device IDs." makes this series
not build. Unfortunately, I already merged that one...
Would you mind rebasing/reposting this?
Sorry...
John
On Sun, Jun 29, 2014 at 04:16:57PM +0200, Hans de Goede wrote:
> Hi All,
>
> Here is v2 of the brcmfmac: OOB interrupt support series.
>
> Changes since v1:
> -Post as a stand alone series, rather then together with sunxi pinctrl changes,
> etc.
> -Add a patch to fixup the names of the register addresses used in the
> "brcmfmac: Fix OOB interrupt not working for BCM43362" patch
> -Use the new register names in:
> "brcmfmac: Fix OOB interrupt not working for BCM43362"
>
> Changes since v2:
> -"dt: bindings: add bindings for Broadcom bcm43xx sdio devices"
> * changed the compatible string to brcm,bcm4329-fmac
> * replaced the dt-bindings example with a real world example
> -"brcmfmac: Fix OOB interrupt not working for BCM43362"
> * updated commit message with confirmation from broadcom that this is the
> right thing to do
>
> Regards,
>
> Hans
>
--
John W. Linville Someday the world will need a hero, and you
linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org might be all we have. Be ready.
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH v4 0/4] brcmfmac: OOB interrupt support
@ 2014-07-15 20:58 ` John W. Linville
0 siblings, 0 replies; 33+ messages in thread
From: John W. Linville @ 2014-07-15 20:58 UTC (permalink / raw)
To: linux-arm-kernel
The patch "brcmfmac: Cleanup used device IDs." makes this series
not build. Unfortunately, I already merged that one...
Would you mind rebasing/reposting this?
Sorry...
John
On Sun, Jun 29, 2014 at 04:16:57PM +0200, Hans de Goede wrote:
> Hi All,
>
> Here is v2 of the brcmfmac: OOB interrupt support series.
>
> Changes since v1:
> -Post as a stand alone series, rather then together with sunxi pinctrl changes,
> etc.
> -Add a patch to fixup the names of the register addresses used in the
> "brcmfmac: Fix OOB interrupt not working for BCM43362" patch
> -Use the new register names in:
> "brcmfmac: Fix OOB interrupt not working for BCM43362"
>
> Changes since v2:
> -"dt: bindings: add bindings for Broadcom bcm43xx sdio devices"
> * changed the compatible string to brcm,bcm4329-fmac
> * replaced the dt-bindings example with a real world example
> -"brcmfmac: Fix OOB interrupt not working for BCM43362"
> * updated commit message with confirmation from broadcom that this is the
> right thing to do
>
> Regards,
>
> Hans
>
--
John W. Linville Someday the world will need a hero, and you
linville at tuxdriver.com might be all we have. Be ready.
^ permalink raw reply [flat|nested] 33+ messages in thread
end of thread, other threads:[~2014-07-15 21:00 UTC | newest]
Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-29 14:16 [PATCH v4 0/4] brcmfmac: OOB interrupt support Hans de Goede
2014-06-29 14:16 ` Hans de Goede
2014-06-29 14:16 ` Hans de Goede
2014-06-29 14:16 ` [PATCH v3 1/4] dt: bindings: add bindings for Broadcom bcm43xx sdio devices Hans de Goede
2014-06-29 14:16 ` Hans de Goede
2014-06-29 14:16 ` Hans de Goede
2014-06-30 8:31 ` Arend van Spriel
2014-06-30 8:31 ` Arend van Spriel
2014-06-30 8:31 ` Arend van Spriel
2014-06-30 9:09 ` Hans de Goede
2014-06-30 9:09 ` Hans de Goede
2014-06-30 9:09 ` Hans de Goede
2014-07-07 18:23 ` John W. Linville
2014-07-07 18:23 ` John W. Linville
2014-07-07 18:23 ` John W. Linville
2014-07-08 6:55 ` [linux-sunxi] " Hans de Goede
2014-07-08 6:55 ` Hans de Goede
2014-07-08 6:55 ` Hans de Goede
2014-06-29 14:16 ` [PATCH v3 2/4] brcmfmac: add device tree support for SDIO devices Hans de Goede
2014-06-29 14:16 ` Hans de Goede
2014-06-29 14:16 ` Hans de Goede
2014-06-29 14:17 ` [PATCH v3 3/4] brcmfmac: Fix some wrong register defines Hans de Goede
2014-06-29 14:17 ` Hans de Goede
2014-06-29 14:17 ` Hans de Goede
2014-06-29 14:17 ` [PATCH v3 4/4] brcmfmac: Fix OOB interrupt not working for BCM43362 Hans de Goede
2014-06-29 14:17 ` Hans de Goede
2014-06-29 14:17 ` Hans de Goede
2014-06-30 8:15 ` [PATCH v4 0/4] brcmfmac: OOB interrupt support Arend van Spriel
2014-06-30 8:15 ` Arend van Spriel
2014-06-30 8:15 ` Arend van Spriel
2014-07-15 20:58 ` John W. Linville
2014-07-15 20:58 ` John W. Linville
2014-07-15 20:58 ` John W. Linville
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.