devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/4] brcmfmac: Add brcm,nvram_file_name dt property
@ 2016-06-29 14:04 Hans de Goede
       [not found] ` <1467209074-15634-1-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
  0 siblings, 1 reply; 51+ messages in thread
From: Hans de Goede @ 2016-06-29 14:04 UTC (permalink / raw)
  To: John W . Linville
  Cc: Arend van Spriel, Maxime Ripard, Chen-Yu Tsai,
	linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree,
	linux-sunxi-/JYPxA39Uh5TLH3MbocFFw, Hans de Goede

Add a brcm,nvram_file_name dt property to allow overruling the default
nvram filename for sdio devices. The idea is that we can specify a
board specific nvram file, e.g. brcmfmac43362-ap6210.txt for boards
with an ap6210 wifi sdio module and ship this in linux-firmware, so
that wifi will work out of the box, without requiring users to find
and then manually install the right nvram file for their board.

Signed-off-by: Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
---
 .../devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt          | 2 ++
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c               | 2 ++
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c             | 6 ++++++
 include/linux/platform_data/brcmfmac.h                              | 2 ++
 4 files changed, 12 insertions(+)

diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
index 5dbf169..2ba13a6 100644
--- a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
+++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
@@ -11,6 +11,7 @@ Required properties:
 Optional properties:
  - brcm,drive-strength : drive strength used for SDIO pins on device in mA
 	(default = 6).
+ - brcm,nvram_file_name : name of the nvram file to load
  - 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).
@@ -34,6 +35,7 @@ mmc3: mmc@01c12000 {
 	brcmf: bcrmf@1 {
 		reg = <1>;
 		compatible = "brcm,bcm4329-fmac";
+		brcm,nvram_file_name = "brcm/brcmfmac43362-ap6210.txt";
 		interrupt-parent = <&pio>;
 		interrupts = <10 8>; /* PH10 / EINT10 */
 		interrupt-names = "host-wake";
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c
index 425c41d..a054122 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c
@@ -36,6 +36,8 @@ void brcmf_of_probe(struct device *dev, struct brcmfmac_sdio_pd *sdio)
 	if (of_property_read_u32(np, "brcm,drive-strength", &val) == 0)
 		sdio->drive_strength = val;
 
+	of_property_read_string(np, "brcm,nvram_file_name", &sdio->nvram_name);
+
 	/* make sure there are interrupts defined in the node */
 	if (!of_find_property(np, "interrupts", NULL))
 		return;
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
index 67e69bf..2655409 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
@@ -4201,6 +4201,12 @@ struct brcmf_sdio *brcmf_sdio_probe(struct brcmf_sdio_dev *sdiodev)
 	if (ret)
 		goto fail;
 
+	if (sdiodev->settings->bus.sdio.nvram_name) {
+		strlcpy(sdiodev->nvram_name,
+			sdiodev->settings->bus.sdio.nvram_name,
+			BRCMF_FW_NAME_LEN);
+	}
+
 	ret = brcmf_fw_get_firmwares(sdiodev->dev, BRCMF_FW_REQUEST_NVRAM,
 				     sdiodev->fw_name, sdiodev->nvram_name,
 				     brcmf_sdio_firmware_callback);
diff --git a/include/linux/platform_data/brcmfmac.h b/include/linux/platform_data/brcmfmac.h
index 1d30bf2..a5515dd 100644
--- a/include/linux/platform_data/brcmfmac.h
+++ b/include/linux/platform_data/brcmfmac.h
@@ -65,6 +65,7 @@ enum brcmf_bus_type {
  *			the target drive strength, the exact drive strength
  *			which will be used depends on the capabilities of the
  *			device.
+ * @nvram_name:		name of nvram file to load.
  * @oob_irq_supported:	does the board have support for OOB interrupts. SDIO
  *			in-band interrupts are relatively slow and for having
  *			less overhead on interrupt processing an out of band
@@ -91,6 +92,7 @@ enum brcmf_bus_type {
 struct brcmfmac_sdio_pd {
 	int		txglomsz;
 	unsigned int	drive_strength;
+	const char	*nvram_name;
 	bool		oob_irq_supported;
 	unsigned int	oob_irq_nr;
 	unsigned long	oob_irq_flags;
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 51+ messages in thread

end of thread, other threads:[~2016-07-18  7:51 UTC | newest]

Thread overview: 51+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-29 14:04 [PATCH 1/4] brcmfmac: Add brcm,nvram_file_name dt property Hans de Goede
     [not found] ` <1467209074-15634-1-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-06-29 14:04   ` [PATCH 2/4] ARM: dts: sun7i-a20-cubietruck: Set brcm,nvram_file_name Hans de Goede
     [not found]     ` <1467209074-15634-2-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-06-29 17:01       ` Kalle Valo
     [not found]         ` <87wpl8c4km.fsf-5ukZ45wKbUHoml4zekdYB16hYfS7NtTn@public.gmane.org>
2016-06-29 18:01           ` [linux-sunxi] " Hans de Goede
2016-06-29 14:04   ` [PATCH 3/4] ARM: dts: sun7i-a20-wits-pro-a20-dkt: " Hans de Goede
2016-06-29 14:04   ` [PATCH 4/4] ARM: dts: sun5i-a10s-auxtek-t004: " Hans de Goede
2016-06-29 14:42   ` [PATCH 1/4] brcmfmac: Add brcm,nvram_file_name dt property Jonas Gorski
     [not found]     ` <CAOiHx=n6itfmvwYQh+jUSDNguQFkos=MzjkDWP=GsupdgvF6KQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-06-29 15:16       ` Hans de Goede
     [not found]         ` <b49a9e4b-d591-d978-8005-413f39ebf2bd-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-06-29 17:00           ` Kalle Valo
     [not found]             ` <871t3gdj6p.fsf-5ukZ45wKbUHoml4zekdYB16hYfS7NtTn@public.gmane.org>
2016-06-29 18:01               ` [linux-sunxi] " Hans de Goede
     [not found]                 ` <ea10ff70-26e6-e151-5cea-c54bd12a054c-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-06-29 18:51                   ` 'Arend Van Spriel' via linux-sunxi
     [not found]                     ` <f8995599-115d-87e5-7928-c029b48584f1-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2016-06-29 18:57                       ` 'Arend Van Spriel' via linux-sunxi
     [not found]                         ` <fa0bf74d-cba3-0853-753c-64fe049105aa-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2016-06-30  8:50                           ` Kalle Valo
2016-06-29 19:33                       ` Arnd Bergmann
2016-06-29 19:54                         ` Priit Laes
     [not found]                           ` <1467230078.2598.2.camel-q/aMd4JkU83YtjvyW6yDsg@public.gmane.org>
2016-06-29 20:07                             ` Arnd Bergmann
2016-06-30  9:02                             ` Kalle Valo
     [not found]                               ` <87eg7f6odi.fsf-HodKDYzPHsUD5k0oWYwrnHL1okKdlPRT@public.gmane.org>
2016-06-30  9:50                                 ` Hans de Goede
     [not found]                                   ` <e94f58fe-f709-94bd-21f6-144c4e038d17-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-06-30  9:58                                     ` Kalle Valo
     [not found]                                       ` <87a8i36ls9.fsf-HodKDYzPHsUD5k0oWYwrnHL1okKdlPRT@public.gmane.org>
2016-06-30 10:04                                         ` [linux-sunxi] " Hans de Goede
     [not found]                                           ` <14a3aa66-5851-5537-f6cd-7681fb4cde07-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-06-30 10:18                                             ` Jonas Gorski
     [not found]                                               ` <CAOiHx==82LHOeQMNVD+dybFifXX690Q6AJTcMBMynjSfUOyGUw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-06-30 10:25                                                 ` [linux-sunxi] " Hans de Goede
     [not found]                                                   ` <8d8bd933-717b-48e4-f002-7b834abed6fd-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-06-30 11:31                                                     ` Arnd Bergmann
2016-06-30 19:23                                                       ` 'Arend Van Spriel' via linux-sunxi
     [not found]                                                         ` <1f44df41-0111-441b-4671-718eec0c4346-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2016-07-01  8:51                                                           ` Re: [PATCH 1/4] brcmfmac: Add brcm, nvram_file_name " Arnd Bergmann
2016-07-01  8:58                                                           ` Re: [PATCH 1/4] brcmfmac: Add brcm,nvram_file_name " Jonas Gorski
     [not found]                                                             ` <CAOiHx=m8Zf0T4=BTG6BMRjj3kOHzt4YaQa3yzutmrhFSOyZMmA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-07-02  6:59                                                               ` Kalle Valo
2016-07-02 18:20                                                               ` 'Arend Van Spriel' via linux-sunxi
     [not found]                                                                 ` <ced2a770-2724-bdc9-7e2a-3dc9f76abf29-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2016-07-02 21:30                                                                   ` Arnd Bergmann
2016-07-04  8:41                                                                     ` [linux-sunxi] " Arend Van Spriel
2016-07-04  8:55                                                                       ` [linux-sunxi] Re: [PATCH 1/4] brcmfmac: Add brcm, nvram_file_name " Arnd Bergmann
2016-07-04  9:08                                                                         ` Re: [PATCH 1/4] brcmfmac: Add brcm,nvram_file_name " 'Arend Van Spriel' via linux-sunxi
     [not found]                                                                           ` <6cc6dabf-e6da-d70d-3cce-a7f1804f233e-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2016-07-04 14:54                                                                             ` Arnd Bergmann
2016-07-04 18:36                                                                               ` 'Arend van Spriel' via linux-sunxi
     [not found]                                                                                 ` <577AAC95.7040800-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2016-07-05 13:43                                                                                   ` Arnd Bergmann
2016-07-06  8:08                                                                                     ` 'Arend Van Spriel' via linux-sunxi
     [not found]                                                                                       ` <CAF7Mx6qcwtwYQhrkNk8o+D6UQBLEQkL-ti7aMQyLVuRo+JMUfw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-07-06 13:42                                                                                         ` Arnd Bergmann
2016-07-06 19:19                                                                                           ` 'Arend Van Spriel' via linux-sunxi
     [not found]                                                                                             ` <bb1beb8d-652d-aa97-e24b-e3e27397dd2e-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2016-07-07  8:46                                                                                               ` Arnd Bergmann
2016-07-07  9:16                                                                                                 ` 'Arend Van Spriel' via linux-sunxi
     [not found]                                                                                                   ` <27f6d3d3-4bcc-8572-4c7b-b44966ad72f4-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2016-07-07  9:24                                                                                                     ` Re: [PATCH 1/4] brcmfmac: Add brcm, nvram_file_name " Arnd Bergmann
2016-07-17 21:45                                                                                                 ` Re: [PATCH 1/4] brcmfmac: Add brcm,nvram_file_name " Rob Herring
2016-07-18  7:51                                                                                                   ` 'Arend Van Spriel' via linux-sunxi
2016-06-30  8:46                       ` Kalle Valo
     [not found]                         ` <87mvm36p4d.fsf-HodKDYzPHsUD5k0oWYwrnHL1okKdlPRT@public.gmane.org>
2016-06-30  9:33                           ` Julian Calaby
2016-06-30  9:49                           ` Hans de Goede
2016-06-30  9:53                       ` Hans de Goede
2016-07-01  2:08   ` Rob Herring
2016-07-01  8:17     ` 'Arend Van Spriel' via linux-sunxi
     [not found]       ` <b18cd232-711a-b617-2f09-09c4bdf2c3c4-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2016-07-01  9:20         ` Arnd Bergmann
2016-07-04 16:12         ` Rob Herring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).