All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/4] Pull in WILC Wi-Fi updates
@ 2022-03-24 20:20 Kris Bahnsen via buildroot
  2022-03-24 20:20 ` [Buildroot] [PATCH 1/4] package/wilc1000-firmware: bump to 15.6 Kris Bahnsen via buildroot
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Kris Bahnsen via buildroot @ 2022-03-24 20:20 UTC (permalink / raw)
  To: buildroot
  Cc: Eugen Hristev, Ludovic Desroches, Mark Featherston,
	Thomas Petazzoni, Kris Bahnsen

This series bumps WILC1000/3000 firmware to the latest available from
Microchip, updates existing defconfig files to include both WILC1000
and WILC3000 blobs, and adds a package to build the wilc driver as
an external kernel module.

The previous wilc1000-firmware package was extremely outdated, no longer
available on github, and installed the firmware files to the wrong
location for the current upstream kernel wilc1000 driver and Microchip's
separately maintained driver.

Since the firmware change includes individual WILC1000 and WILC3000
config options, this package is renamed to wilc-firmware.

The defconfigs of all platforms that used WILC1000 firmware were
touched to also include WILC3000 firmware. They either natively
have WILC3000 or can support either WILC1000/WILC3000 being connected
to these platforms.

I've attempted to test the firmware changes against
microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig as this is a board I
have in my possession. However, the defconfig appears broken (Microchip
now maintains the evk in their own BR2_EXTERNAL repo):

...
Kernel command line: console=ttyS0,115200 initrd=0x21100000,25165824 root=/dev/ram0 rw
...
RAMDISK: Couldn't find valid RAM disk image starting at 0.
mmc0: new ultra high speed DDR50 SDHC card at address aaaa
List of all partitions:
...
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
CPU: 0 PID: 1 Comm: swapper Not tainted 5.10.80-linux4microchip-2021.10 #1
Hardware name: Atmel SAMA5
Function entered at [<c010c0fc>] from [<c010974c>]
Function entered at [<c010974c>] from [<c087e37c>]
Function entered at [<c087e37c>] from [<c0b014bc>]
Function entered at [<c0b014bc>] from [<c0b01788>]
Function entered at [<c0b01788>] from [<c08872c0>]
Function entered at [<c08872c0>] from [<c0100148>]
Exception stack(0xc2c29fb0 to 0xc2c29ff8)
9fa0:                                     00000000 00000000 00000000 00000000
9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9fe0: 00000000 00000000 00000000 00000000 00000013 00000000
---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0) ]---

The firmware and driver changes have been thoroughly tested, however,
on an embeddedTS platform (BR patch for this in the future, waiting on
kernel accepting FDT) that includes the WILC3000 device. We have a number
of platforms that all use this same device and are starting to push for
better upstream support overall. So this patch series is us laying the
groundwork for that.

Kris Bahnsen (4):
  package/wilc1000-firmware: bump to 15.6
  package/wilc-firmware: rename from wilc1000-firmware
  configs: add WILC3000_FIRMWARE to compatible devices
  package/wilc-driver: new package

 DEVELOPERS                                         |  6 ++-
 configs/at91sam9x5ek_dev_defconfig                 |  1 +
 configs/at91sam9x5ek_mmc_dev_defconfig             |  1 +
 configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig   |  1 +
 configs/atmel_sama5d2_xplained_mmc_dev_defconfig   |  1 +
 configs/atmel_sama5d3_xplained_dev_defconfig       |  1 +
 configs/atmel_sama5d3_xplained_mmc_dev_defconfig   |  1 +
 configs/atmel_sama5d4_xplained_dev_defconfig       |  1 +
 configs/atmel_sama5d4_xplained_mmc_dev_defconfig   |  1 +
 configs/microchip_sam9x60ek_mmc_dev_defconfig      |  1 +
 .../microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig |  1 +
 configs/microchip_sama5d2_icp_mmc_dev_defconfig    |  1 +
 configs/microchip_sama7g5ek_mmc_dev_defconfig      |  1 +
 package/Config.in                                  |  3 +-
 package/wilc-driver/Config.in                      | 58 ++++++++++++++++++++++
 package/wilc-driver/wilc-driver.hash               |  2 +
 package/wilc-driver/wilc-driver.mk                 | 29 +++++++++++
 package/wilc-firmware/Config.in                    | 29 +++++++++++
 package/wilc-firmware/wilc-firmware.hash           |  2 +
 package/wilc-firmware/wilc-firmware.mk             | 34 +++++++++++++
 package/wilc1000-firmware/Config.in                |  6 ---
 package/wilc1000-firmware/wilc1000-firmware.hash   |  2 -
 package/wilc1000-firmware/wilc1000-firmware.mk     | 24 ---------
 23 files changed, 173 insertions(+), 34 deletions(-)
 create mode 100644 package/wilc-driver/Config.in
 create mode 100644 package/wilc-driver/wilc-driver.hash
 create mode 100644 package/wilc-driver/wilc-driver.mk
 create mode 100644 package/wilc-firmware/Config.in
 create mode 100644 package/wilc-firmware/wilc-firmware.hash
 create mode 100644 package/wilc-firmware/wilc-firmware.mk
 delete mode 100644 package/wilc1000-firmware/Config.in
 delete mode 100644 package/wilc1000-firmware/wilc1000-firmware.hash
 delete mode 100644 package/wilc1000-firmware/wilc1000-firmware.mk

-- 
2.11.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 1/4] package/wilc1000-firmware: bump to 15.6
  2022-03-24 20:20 [Buildroot] [PATCH 0/4] Pull in WILC Wi-Fi updates Kris Bahnsen via buildroot
@ 2022-03-24 20:20 ` Kris Bahnsen via buildroot
  2022-03-24 20:20 ` [Buildroot] [PATCH 2/4] package/wilc-firmware: rename from wilc1000-firmware Kris Bahnsen via buildroot
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Kris Bahnsen via buildroot @ 2022-03-24 20:20 UTC (permalink / raw)
  To: buildroot
  Cc: Eugen Hristev, Ludovic Desroches, Mark Featherston,
	Thomas Petazzoni, Kris Bahnsen

Supports both WILC1000 (Wi-Fi only) and WILC3000 (Wi-Fi/BLE) hardware

To support WILC3000 this commit adds a separate config option,
the original config option from this package is still valid.

Signed-off-by: Kris Bahnsen <kris@embeddedTS.com>
---
 package/wilc1000-firmware/Config.in              | 27 +++++++++++++++++++++--
 package/wilc1000-firmware/wilc1000-firmware.hash |  2 +-
 package/wilc1000-firmware/wilc1000-firmware.mk   | 28 ++++++++++++++++--------
 3 files changed, 45 insertions(+), 12 deletions(-)

diff --git a/package/wilc1000-firmware/Config.in b/package/wilc1000-firmware/Config.in
index df8a7a6b60..0734c7ad99 100644
--- a/package/wilc1000-firmware/Config.in
+++ b/package/wilc1000-firmware/Config.in
@@ -1,6 +1,29 @@
 config BR2_PACKAGE_WILC1000_FIRMWARE
 	bool "wilc1000-firmware"
 	help
-	  Firmware for Atmel Wilc1000 wireless device
+	  Firmware for Microchip WILC1000 wireless device
 
-	  https://github.com/linux4sc/wireless-firmware.git
+	  These binary blobs are provided directly from Microchip.
+	  Ideally, the firmware version should match driver version.
+	  Generally, the latest firmware would be acceptible regardless
+	  of driver version.
+
+	  These will be installed to /lib/firmware/mchp/
+
+	  https://github.com/linux4wilc/firmware
+
+if BR2_PACKAGE_WILC1000_FIRMWARE
+config BR2_PACKAGE_WILC3000_FIRMWARE
+	bool "wilc3000-firmware"
+	help
+	  Firmware for Microchip WILC3000 wireless device
+
+	  These binary blobs are provided directly from Microchip.
+	  Ideally, the firmware version should match driver version.
+	  Generally, the latest firmware would be acceptible regardless
+	  of driver version.
+
+	  These will be installed to /lib/firmware/mchp/
+
+	  https://github.com/linux4wilc/firmware
+endif
diff --git a/package/wilc1000-firmware/wilc1000-firmware.hash b/package/wilc1000-firmware/wilc1000-firmware.hash
index 5344efe517..9d55be9edc 100644
--- a/package/wilc1000-firmware/wilc1000-firmware.hash
+++ b/package/wilc1000-firmware/wilc1000-firmware.hash
@@ -1,2 +1,2 @@
 # Locally calculated
-sha256 a2e7a327dd545ba2051946f7613005cbde88fdd952afb8eecdd1dacda7e767d2  v14.1_Firmware.zip
+sha256  29bb5739136cdb4088cb52af59badce05cc7e562bca40e9f29fef7f8f7c19cb8  wilc1000-firmware-wilc_linux_15_6.tar.gz
diff --git a/package/wilc1000-firmware/wilc1000-firmware.mk b/package/wilc1000-firmware/wilc1000-firmware.mk
index 6f504d67a0..2bea9febe2 100644
--- a/package/wilc1000-firmware/wilc1000-firmware.mk
+++ b/package/wilc1000-firmware/wilc1000-firmware.mk
@@ -4,21 +4,31 @@
 #
 ################################################################################
 
-WILC1000_FIRMWARE_VERSION = 14.1
-WILC1000_FIRMWARE_SITE = https://github.com/linux4sc/wireless-firmware/archive
-WILC1000_FIRMWARE_SOURCE = v$(WILC1000_FIRMWARE_VERSION)_Firmware.zip
+WILC1000_FIRMWARE_VERSION = wilc_linux_15_6
+WILC1000_FIRMWARE_SITE = $(call github,linux4wilc,firmware,$(WILC1000_FIRMWARE_VERSION))
 
 WILC1000_FIRMWARE_LICENSE = PROPRIETARY
 
-define WILC1000_FIRMWARE_EXTRACT_CMDS
-	$(UNZIP) -d $(BUILD_DIR) $(WILC1000_FIRMWARE_DL_DIR)/$(WILC1000_FIRMWARE_SOURCE)
-	mv $(BUILD_DIR)/wireless-firmware-$(WILC1000_FIRMWARE_VERSION)_Firmware/* $(@D)
-	rmdir $(BUILD_DIR)/wireless-firmware-$(WILC1000_FIRMWARE_VERSION)_Firmware
+ifeq ($(BR2_PACKAGE_WILC1000_FIRMWARE),y)
+WILC1000_FIRMWARE_FILES += \
+	wilc1000_wifi_firmware.bin
+endif
+
+ifeq ($(BR2_PACKAGE_WILC3000_FIRMWARE),y)
+WILC1000_FIRMWARE_FILES += \
+	wilc3000_ble_firmware.bin \
+	wilc3000_wifi_firmware.bin
+endif
+
+define WILC1000_FIRMWARE_INSTALL_FILES
+	cd $(@D) && \
+		$(TAR) cf install.tar $(sort $(WILC1000_FIRMWARE_FILES)) && \
+		$(TAR) xf install.tar -C $(TARGET_DIR)/lib/firmware/mchp
 endef
 
 define WILC1000_FIRMWARE_INSTALL_TARGET_CMDS
-	$(INSTALL) -D -m 0644 $(@D)/wilc1003_firmware.bin \
-		$(TARGET_DIR)/lib/firmware/atmel/wilc1003_firmware.bin
+	$(INSTALL) -d -m 0755 $(TARGET_DIR)/lib/firmware/mchp/
+	$(WILC1000_FIRMWARE_INSTALL_FILES)
 endef
 
 $(eval $(generic-package))
-- 
2.11.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 2/4] package/wilc-firmware: rename from wilc1000-firmware
  2022-03-24 20:20 [Buildroot] [PATCH 0/4] Pull in WILC Wi-Fi updates Kris Bahnsen via buildroot
  2022-03-24 20:20 ` [Buildroot] [PATCH 1/4] package/wilc1000-firmware: bump to 15.6 Kris Bahnsen via buildroot
@ 2022-03-24 20:20 ` Kris Bahnsen via buildroot
  2022-03-24 20:20 ` [Buildroot] [PATCH 3/4] configs: add WILC3000_FIRMWARE to compatible devices Kris Bahnsen via buildroot
  2022-03-24 20:20 ` [Buildroot] [PATCH 4/4] package/wilc-driver: new package Kris Bahnsen via buildroot
  3 siblings, 0 replies; 5+ messages in thread
From: Kris Bahnsen via buildroot @ 2022-03-24 20:20 UTC (permalink / raw)
  To: buildroot
  Cc: Eugen Hristev, Ludovic Desroches, Mark Featherston,
	Thomas Petazzoni, Kris Bahnsen

Separates out WILC1000 and WILC3000 in to individual config options
since in reality only one or the other set would be needed.

Signed-off-by: Kris Bahnsen <kris@embeddedTS.com>
---
 DEVELOPERS                                                 |  5 ++++-
 package/Config.in                                          |  2 +-
 package/{wilc1000-firmware => wilc-firmware}/Config.in     |  4 ++--
 .../wilc-firmware.hash}                                    |  2 +-
 .../wilc-firmware.mk}                                      | 14 +++++++-------
 5 files changed, 15 insertions(+), 12 deletions(-)
 rename package/{wilc1000-firmware => wilc-firmware}/Config.in (92%)
 rename package/{wilc1000-firmware/wilc1000-firmware.hash => wilc-firmware/wilc-firmware.hash} (62%)
 rename package/{wilc1000-firmware/wilc1000-firmware.mk => wilc-firmware/wilc-firmware.mk} (67%)

diff --git a/DEVELOPERS b/DEVELOPERS
index 942bb8fe9c..17becfa189 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1660,6 +1660,9 @@ F:	board/octavo/osd32mp1-red/
 F:	configs/octavo_osd32mp1_brk_defconfig
 F:	configs/octavo_osd32mp1_red_defconfig
 
+N:	Kris Bahnsen <kris@embeddedTS.com>
+F:	package/wilc-firmware/
+
 N:	Kurt Van Dijck <dev.kurt@vandijck-laurijssen.be>
 F:	package/bcusdk/
 F:	package/libpthsem/
@@ -1757,7 +1760,7 @@ F:	package/python-json-schema-validator/
 F:	package/python-keyring/
 F:	package/python-simplejson/
 F:	package/python-versiontools/
-F:	package/wilc1000-firmware/
+F:	package/wilc-firmware/
 
 N:	Maeva Manuel <maeva.manuel@oss.nxp.com>
 F:	board/freescale/imx8qmmek/
diff --git a/package/Config.in b/package/Config.in
index 0d5d763180..a175f105f3 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -432,7 +432,7 @@ menu "Firmware"
 	source "package/sunxi-boards/Config.in"
 	source "package/ts4900-fpga/Config.in"
 	source "package/ux500-firmware/Config.in"
-	source "package/wilc1000-firmware/Config.in"
+	source "package/wilc-firmware/Config.in"
 	source "package/wilink-bt-firmware/Config.in"
 	source "package/zd1211-firmware/Config.in"
 endmenu
diff --git a/package/wilc1000-firmware/Config.in b/package/wilc-firmware/Config.in
similarity index 92%
rename from package/wilc1000-firmware/Config.in
rename to package/wilc-firmware/Config.in
index 0734c7ad99..23abc88712 100644
--- a/package/wilc1000-firmware/Config.in
+++ b/package/wilc-firmware/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_WILC1000_FIRMWARE
 	bool "wilc1000-firmware"
+	select BR2_PACKAGE_WILC_FIRMWARE
 	help
 	  Firmware for Microchip WILC1000 wireless device
 
@@ -12,9 +13,9 @@ config BR2_PACKAGE_WILC1000_FIRMWARE
 
 	  https://github.com/linux4wilc/firmware
 
-if BR2_PACKAGE_WILC1000_FIRMWARE
 config BR2_PACKAGE_WILC3000_FIRMWARE
 	bool "wilc3000-firmware"
+	select BR2_PACKAGE_WILC_FIRMWARE
 	help
 	  Firmware for Microchip WILC3000 wireless device
 
@@ -26,4 +27,3 @@ config BR2_PACKAGE_WILC3000_FIRMWARE
 	  These will be installed to /lib/firmware/mchp/
 
 	  https://github.com/linux4wilc/firmware
-endif
diff --git a/package/wilc1000-firmware/wilc1000-firmware.hash b/package/wilc-firmware/wilc-firmware.hash
similarity index 62%
rename from package/wilc1000-firmware/wilc1000-firmware.hash
rename to package/wilc-firmware/wilc-firmware.hash
index 9d55be9edc..2f1fc9964d 100644
--- a/package/wilc1000-firmware/wilc1000-firmware.hash
+++ b/package/wilc-firmware/wilc-firmware.hash
@@ -1,2 +1,2 @@
 # Locally calculated
-sha256  29bb5739136cdb4088cb52af59badce05cc7e562bca40e9f29fef7f8f7c19cb8  wilc1000-firmware-wilc_linux_15_6.tar.gz
+sha256  29bb5739136cdb4088cb52af59badce05cc7e562bca40e9f29fef7f8f7c19cb8  wilc-firmware-wilc_linux_15_6.tar.gz
diff --git a/package/wilc1000-firmware/wilc1000-firmware.mk b/package/wilc-firmware/wilc-firmware.mk
similarity index 67%
rename from package/wilc1000-firmware/wilc1000-firmware.mk
rename to package/wilc-firmware/wilc-firmware.mk
index 2bea9febe2..63fd100421 100644
--- a/package/wilc1000-firmware/wilc1000-firmware.mk
+++ b/package/wilc-firmware/wilc-firmware.mk
@@ -1,13 +1,13 @@
 ################################################################################
 #
-# wilc1000-firmware
+# wilc-firmware
 #
 ################################################################################
 
-WILC1000_FIRMWARE_VERSION = wilc_linux_15_6
-WILC1000_FIRMWARE_SITE = $(call github,linux4wilc,firmware,$(WILC1000_FIRMWARE_VERSION))
+WILC_FIRMWARE_VERSION = wilc_linux_15_6
+WILC_FIRMWARE_SITE = $(call github,linux4wilc,firmware,$(WILC_FIRMWARE_VERSION))
 
-WILC1000_FIRMWARE_LICENSE = PROPRIETARY
+WILC_FIRMWARE_LICENSE = PROPRIETARY
 
 ifeq ($(BR2_PACKAGE_WILC1000_FIRMWARE),y)
 WILC1000_FIRMWARE_FILES += \
@@ -20,15 +20,15 @@ WILC1000_FIRMWARE_FILES += \
 	wilc3000_wifi_firmware.bin
 endif
 
-define WILC1000_FIRMWARE_INSTALL_FILES
+define WILC_FIRMWARE_INSTALL_FILES
 	cd $(@D) && \
 		$(TAR) cf install.tar $(sort $(WILC1000_FIRMWARE_FILES)) && \
 		$(TAR) xf install.tar -C $(TARGET_DIR)/lib/firmware/mchp
 endef
 
-define WILC1000_FIRMWARE_INSTALL_TARGET_CMDS
+define WILC_FIRMWARE_INSTALL_TARGET_CMDS
 	$(INSTALL) -d -m 0755 $(TARGET_DIR)/lib/firmware/mchp/
-	$(WILC1000_FIRMWARE_INSTALL_FILES)
+	$(WILC_FIRMWARE_INSTALL_FILES)
 endef
 
 $(eval $(generic-package))
-- 
2.11.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 3/4] configs: add WILC3000_FIRMWARE to compatible devices
  2022-03-24 20:20 [Buildroot] [PATCH 0/4] Pull in WILC Wi-Fi updates Kris Bahnsen via buildroot
  2022-03-24 20:20 ` [Buildroot] [PATCH 1/4] package/wilc1000-firmware: bump to 15.6 Kris Bahnsen via buildroot
  2022-03-24 20:20 ` [Buildroot] [PATCH 2/4] package/wilc-firmware: rename from wilc1000-firmware Kris Bahnsen via buildroot
@ 2022-03-24 20:20 ` Kris Bahnsen via buildroot
  2022-03-24 20:20 ` [Buildroot] [PATCH 4/4] package/wilc-driver: new package Kris Bahnsen via buildroot
  3 siblings, 0 replies; 5+ messages in thread
From: Kris Bahnsen via buildroot @ 2022-03-24 20:20 UTC (permalink / raw)
  To: buildroot
  Cc: Eugen Hristev, Ludovic Desroches, Mark Featherston,
	Thomas Petazzoni, Kris Bahnsen

The update to wilc-firmware added firmware files for WILC3000
devices as a separate config option. All Atmel/Microchip defconfigs
that previously only had WILC1000_FIRMWARE either have WILC3000
Wi-Fi hardware (WILC3000 is the same silicon but with BLE added)
or have the capacity to have either WILC1000 or WILC3000 devices
added to the system. Install all firmware blobs to these devices
by default.

Signed-off-by: Kris Bahnsen <kris@embeddedTS.com>
---
 configs/at91sam9x5ek_dev_defconfig                     | 1 +
 configs/at91sam9x5ek_mmc_dev_defconfig                 | 1 +
 configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig       | 1 +
 configs/atmel_sama5d2_xplained_mmc_dev_defconfig       | 1 +
 configs/atmel_sama5d3_xplained_dev_defconfig           | 1 +
 configs/atmel_sama5d3_xplained_mmc_dev_defconfig       | 1 +
 configs/atmel_sama5d4_xplained_dev_defconfig           | 1 +
 configs/atmel_sama5d4_xplained_mmc_dev_defconfig       | 1 +
 configs/microchip_sam9x60ek_mmc_dev_defconfig          | 1 +
 configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig | 1 +
 configs/microchip_sama5d2_icp_mmc_dev_defconfig        | 1 +
 configs/microchip_sama7g5ek_mmc_dev_defconfig          | 1 +
 12 files changed, 12 insertions(+)

diff --git a/configs/at91sam9x5ek_dev_defconfig b/configs/at91sam9x5ek_dev_defconfig
index bfa8e95941..8714463d89 100644
--- a/configs/at91sam9x5ek_dev_defconfig
+++ b/configs/at91sam9x5ek_dev_defconfig
@@ -47,6 +47,7 @@ BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y
 BR2_PACKAGE_MMC_UTILS=y
 BR2_PACKAGE_MTD=y
 BR2_PACKAGE_WILC1000_FIRMWARE=y
+BR2_PACKAGE_WILC3000_FIRMWARE=y
 BR2_PACKAGE_EVTEST=y
 BR2_PACKAGE_I2C_TOOLS=y
 BR2_PACKAGE_SETSERIAL=y
diff --git a/configs/at91sam9x5ek_mmc_dev_defconfig b/configs/at91sam9x5ek_mmc_dev_defconfig
index 2e1a5c7f59..9481594716 100644
--- a/configs/at91sam9x5ek_mmc_dev_defconfig
+++ b/configs/at91sam9x5ek_mmc_dev_defconfig
@@ -50,6 +50,7 @@ BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y
 BR2_PACKAGE_MMC_UTILS=y
 BR2_PACKAGE_MTD=y
 BR2_PACKAGE_WILC1000_FIRMWARE=y
+BR2_PACKAGE_WILC3000_FIRMWARE=y
 BR2_PACKAGE_EVTEST=y
 BR2_PACKAGE_I2C_TOOLS=y
 BR2_PACKAGE_SETSERIAL=y
diff --git a/configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig b/configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig
index ba2fa46790..38618a5732 100644
--- a/configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig
+++ b/configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig
@@ -39,6 +39,7 @@ BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y
 BR2_PACKAGE_MMC_UTILS=y
 BR2_PACKAGE_MTD=y
 BR2_PACKAGE_WILC1000_FIRMWARE=y
+BR2_PACKAGE_WILC3000_FIRMWARE=y
 BR2_PACKAGE_EVTEST=y
 BR2_PACKAGE_I2C_TOOLS=y
 BR2_PACKAGE_RNG_TOOLS=y
diff --git a/configs/atmel_sama5d2_xplained_mmc_dev_defconfig b/configs/atmel_sama5d2_xplained_mmc_dev_defconfig
index a8b68ca0a2..1654408aa5 100644
--- a/configs/atmel_sama5d2_xplained_mmc_dev_defconfig
+++ b/configs/atmel_sama5d2_xplained_mmc_dev_defconfig
@@ -53,6 +53,7 @@ BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y
 BR2_PACKAGE_MMC_UTILS=y
 BR2_PACKAGE_MTD=y
 BR2_PACKAGE_WILC1000_FIRMWARE=y
+BR2_PACKAGE_WILC3000_FIRMWARE=y
 BR2_PACKAGE_EVTEST=y
 BR2_PACKAGE_I2C_TOOLS=y
 BR2_PACKAGE_SETSERIAL=y
diff --git a/configs/atmel_sama5d3_xplained_dev_defconfig b/configs/atmel_sama5d3_xplained_dev_defconfig
index cdfd9de17e..64455cb2e0 100644
--- a/configs/atmel_sama5d3_xplained_dev_defconfig
+++ b/configs/atmel_sama5d3_xplained_dev_defconfig
@@ -49,6 +49,7 @@ BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y
 BR2_PACKAGE_MMC_UTILS=y
 BR2_PACKAGE_MTD=y
 BR2_PACKAGE_WILC1000_FIRMWARE=y
+BR2_PACKAGE_WILC3000_FIRMWARE=y
 BR2_PACKAGE_EVTEST=y
 BR2_PACKAGE_I2C_TOOLS=y
 BR2_PACKAGE_SETSERIAL=y
diff --git a/configs/atmel_sama5d3_xplained_mmc_dev_defconfig b/configs/atmel_sama5d3_xplained_mmc_dev_defconfig
index a2205aeefa..8f5724d631 100644
--- a/configs/atmel_sama5d3_xplained_mmc_dev_defconfig
+++ b/configs/atmel_sama5d3_xplained_mmc_dev_defconfig
@@ -52,6 +52,7 @@ BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y
 BR2_PACKAGE_MMC_UTILS=y
 BR2_PACKAGE_MTD=y
 BR2_PACKAGE_WILC1000_FIRMWARE=y
+BR2_PACKAGE_WILC3000_FIRMWARE=y
 BR2_PACKAGE_EVTEST=y
 BR2_PACKAGE_I2C_TOOLS=y
 BR2_PACKAGE_SETSERIAL=y
diff --git a/configs/atmel_sama5d4_xplained_dev_defconfig b/configs/atmel_sama5d4_xplained_dev_defconfig
index f8783f5652..fab91cf0b3 100644
--- a/configs/atmel_sama5d4_xplained_dev_defconfig
+++ b/configs/atmel_sama5d4_xplained_dev_defconfig
@@ -50,6 +50,7 @@ BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y
 BR2_PACKAGE_MMC_UTILS=y
 BR2_PACKAGE_MTD=y
 BR2_PACKAGE_WILC1000_FIRMWARE=y
+BR2_PACKAGE_WILC3000_FIRMWARE=y
 BR2_PACKAGE_EVTEST=y
 BR2_PACKAGE_I2C_TOOLS=y
 BR2_PACKAGE_SETSERIAL=y
diff --git a/configs/atmel_sama5d4_xplained_mmc_dev_defconfig b/configs/atmel_sama5d4_xplained_mmc_dev_defconfig
index b4e99f658a..f9074e9862 100644
--- a/configs/atmel_sama5d4_xplained_mmc_dev_defconfig
+++ b/configs/atmel_sama5d4_xplained_mmc_dev_defconfig
@@ -53,6 +53,7 @@ BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y
 BR2_PACKAGE_MMC_UTILS=y
 BR2_PACKAGE_MTD=y
 BR2_PACKAGE_WILC1000_FIRMWARE=y
+BR2_PACKAGE_WILC3000_FIRMWARE=y
 BR2_PACKAGE_EVTEST=y
 BR2_PACKAGE_I2C_TOOLS=y
 BR2_PACKAGE_SETSERIAL=y
diff --git a/configs/microchip_sam9x60ek_mmc_dev_defconfig b/configs/microchip_sam9x60ek_mmc_dev_defconfig
index 06e03967c4..2b4e234297 100644
--- a/configs/microchip_sam9x60ek_mmc_dev_defconfig
+++ b/configs/microchip_sam9x60ek_mmc_dev_defconfig
@@ -36,6 +36,7 @@ BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y
 BR2_PACKAGE_MMC_UTILS=y
 BR2_PACKAGE_MTD=y
 BR2_PACKAGE_WILC1000_FIRMWARE=y
+BR2_PACKAGE_WILC3000_FIRMWARE=y
 BR2_PACKAGE_EVTEST=y
 BR2_PACKAGE_I2C_TOOLS=y
 BR2_PACKAGE_SETSERIAL=y
diff --git a/configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig b/configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig
index 3bcd5f0200..f9aa6cdc05 100644
--- a/configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig
+++ b/configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig
@@ -39,6 +39,7 @@ BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y
 BR2_PACKAGE_MMC_UTILS=y
 BR2_PACKAGE_MTD=y
 BR2_PACKAGE_WILC1000_FIRMWARE=y
+BR2_PACKAGE_WILC3000_FIRMWARE=y
 BR2_PACKAGE_EVTEST=y
 BR2_PACKAGE_I2C_TOOLS=y
 BR2_PACKAGE_SETSERIAL=y
diff --git a/configs/microchip_sama5d2_icp_mmc_dev_defconfig b/configs/microchip_sama5d2_icp_mmc_dev_defconfig
index 27d1d3409d..b1b22c1312 100644
--- a/configs/microchip_sama5d2_icp_mmc_dev_defconfig
+++ b/configs/microchip_sama5d2_icp_mmc_dev_defconfig
@@ -32,6 +32,7 @@ BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y
 BR2_PACKAGE_MMC_UTILS=y
 BR2_PACKAGE_MTD=y
 BR2_PACKAGE_WILC1000_FIRMWARE=y
+BR2_PACKAGE_WILC3000_FIRMWARE=y
 BR2_PACKAGE_EVTEST=y
 BR2_PACKAGE_SETSERIAL=y
 BR2_PACKAGE_SPI_TOOLS=y
diff --git a/configs/microchip_sama7g5ek_mmc_dev_defconfig b/configs/microchip_sama7g5ek_mmc_dev_defconfig
index 6eb6c282e0..d68846e553 100644
--- a/configs/microchip_sama7g5ek_mmc_dev_defconfig
+++ b/configs/microchip_sama7g5ek_mmc_dev_defconfig
@@ -30,6 +30,7 @@ BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y
 BR2_PACKAGE_MMC_UTILS=y
 BR2_PACKAGE_MTD=y
 BR2_PACKAGE_WILC1000_FIRMWARE=y
+BR2_PACKAGE_WILC3000_FIRMWARE=y
 BR2_PACKAGE_EVTEST=y
 BR2_PACKAGE_RNG_TOOLS=y
 # BR2_PACKAGE_RNG_TOOLS_JITTERENTROPY_LIBRARY is not set
-- 
2.11.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 4/4] package/wilc-driver: new package
  2022-03-24 20:20 [Buildroot] [PATCH 0/4] Pull in WILC Wi-Fi updates Kris Bahnsen via buildroot
                   ` (2 preceding siblings ...)
  2022-03-24 20:20 ` [Buildroot] [PATCH 3/4] configs: add WILC3000_FIRMWARE to compatible devices Kris Bahnsen via buildroot
@ 2022-03-24 20:20 ` Kris Bahnsen via buildroot
  3 siblings, 0 replies; 5+ messages in thread
From: Kris Bahnsen via buildroot @ 2022-03-24 20:20 UTC (permalink / raw)
  To: buildroot
  Cc: Eugen Hristev, Ludovic Desroches, Mark Featherston,
	Thomas Petazzoni, Kris Bahnsen

WILC1000/3000 driver pulled from at91-linux tree set-up to be built
as an external module. Upstream Linux kernel does not support
WILC3000 features at this time. This package is intended to bridge
that gap until WILC1000/3000 is fully supported in kernel.

Signed-off-by: Kris Bahnsen <kris@embeddedTS.com>
---
 DEVELOPERS                           |  1 +
 package/Config.in                    |  1 +
 package/wilc-driver/Config.in        | 58 ++++++++++++++++++++++++++++++++++++
 package/wilc-driver/wilc-driver.hash |  2 ++
 package/wilc-driver/wilc-driver.mk   | 29 ++++++++++++++++++
 5 files changed, 91 insertions(+)
 create mode 100644 package/wilc-driver/Config.in
 create mode 100644 package/wilc-driver/wilc-driver.hash
 create mode 100644 package/wilc-driver/wilc-driver.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 17becfa189..acd341873d 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1662,6 +1662,7 @@ F:	configs/octavo_osd32mp1_red_defconfig
 
 N:	Kris Bahnsen <kris@embeddedTS.com>
 F:	package/wilc-firmware/
+F:	package/wilc-driver/
 
 N:	Kurt Van Dijck <dev.kurt@vandijck-laurijssen.be>
 F:	package/bcusdk/
diff --git a/package/Config.in b/package/Config.in
index a175f105f3..ae3f13df5c 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -610,6 +610,7 @@ endmenu
 	source "package/usbutils/Config.in"
 	source "package/w_scan/Config.in"
 	source "package/wf111/Config.in"
+	source "package/wilc-driver/Config.in"
 	source "package/wipe/Config.in"
 	source "package/xorriso/Config.in"
 	source "package/xr819-xradio/Config.in"
diff --git a/package/wilc-driver/Config.in b/package/wilc-driver/Config.in
new file mode 100644
index 0000000000..caf46ae281
--- /dev/null
+++ b/package/wilc-driver/Config.in
@@ -0,0 +1,58 @@
+config BR2_PACKAGE_WILC_DRIVER
+	bool "wilc kernel module"
+	help
+	  External kernel module for WILC1000/3000 devices.
+
+	  wilc kernel driver source as found in Microchip's at91-linux
+	  kernel tree with added Kbuild file to be built as a generic
+	  external module.
+
+	  The wilc1000 driver currently maintained in Linux kernel does
+	  not support BLE of the WILC3000 hardware. This package is
+	  meant to bridge that gap until Microchip can get WILC3000
+	  support upstream.
+
+	  Supports both SDIO and SPI modes.
+
+	  https://github.com/embeddedTS/wilc3000-external-module
+
+if BR2_PACKAGE_WILC_DRIVER
+
+config BR2_PACKAGE_WILC_DRIVER_SPI
+	bool "SPI"
+	help
+	  This module adds support for the SPI interface of adapters
+	  using WILC1000/3000 chipset. The WILC1000/3000 has a Serial
+	  Peripheral Interface (SPI) that operates as an SPI slave.
+	  This SPI interface can be used for control and for serial
+	  I/O of 802.11 data. The SPI is a full-duplex slave
+	  synchronous serial interface that is available immediately
+	  following reset when pin 9 (SDIO_SPI_CFG) is tied to VDDIO.
+	  Select this if your platform is using the SPI bus.
+
+config BR2_PACKAGE_WILC_DRIVER_SDIO
+	bool "SDIO"
+	help
+	  This module adds support for the SDIO interface of adapters
+	  using WILC1000/3000 chipset. The WILC1000/3000 SDIO is a full
+	  speed interface. It meets SDIO card specification version 2.0.
+	  The interface supports the 1-bit/4-bit SD transfer mode at the
+	  clock range of 0-50 MHz. The host can use this interface to
+	  read and write from any register within the chip as well as
+	  configure the WILC1000/3000 for data DMA. To use this
+	  interface, pin9 (SDIO_SPI_CFG) must be grounded. Select this
+	  if your platform is using the SDIO bus.
+
+if BR2_PACKAGE_WILC_DRIVER_SDIO
+
+config BR2_PACKAGE_WILC_DRIVER_SDIO_OOB
+	bool "Enable out-of-band interrupt"
+	help
+	  This option enables out-of-band interrupt support for the
+	  WILC1000/3000 chipset. This OOB interrupt is intended to
+	  provide a faster interrupt mechanism for SDIO host controllers
+	  that don't support SDIO interrupt. Select this option If the
+	  SDIO host controller in your platform doesn't support SDIO
+	  time division interrupt.
+endif
+endif
diff --git a/package/wilc-driver/wilc-driver.hash b/package/wilc-driver/wilc-driver.hash
new file mode 100644
index 0000000000..bfd8eaebc4
--- /dev/null
+++ b/package/wilc-driver/wilc-driver.hash
@@ -0,0 +1,2 @@
+# Locally calculated
+sha256  62a03d1a4f6aa92f5ecae36b5c8798a121506e8b09a8a68192b664416bf6e745  wilc-driver-linux4microchip-2021.10.tar.gz
diff --git a/package/wilc-driver/wilc-driver.mk b/package/wilc-driver/wilc-driver.mk
new file mode 100644
index 0000000000..3b1fab8954
--- /dev/null
+++ b/package/wilc-driver/wilc-driver.mk
@@ -0,0 +1,29 @@
+################################################################################
+#
+# wilc-driver
+#
+################################################################################
+
+WILC_DRIVER_VERSION = linux4microchip-2021.10
+WILC_DRIVER_SITE = $(call github,embeddedTS,wilc3000-external-module,$(WILC_DRIVER_VERSION))
+
+WILC_DRIVER_LICENSE = GPL-2.0
+WILC_DRIVER_LICENSE_FILES = LICENSE
+
+ifeq ($(BR2_PACKAGE_WILC_DRIVER_SPI),y)
+WILC_DRIVER_MODULE_MAKE_OPTS += \
+	CONFIG_WILC_SPI=m
+endif
+
+ifeq ($(BR2_PACKAGE_WILC_DRIVER_SDIO),y)
+WILC_DRIVER_MODULE_MAKE_OPTS += \
+	CONFIG_WILC_SDIO=m
+endif
+
+ifeq ($(BR2_PACKAGE_WILC_DRIVER_SDIO_OOB),y)
+WILC_DRIVER_MODULE_MAKE_OPTS += \
+	CONFIG_WILC_HW_OOB_INTR=y
+endif
+
+$(eval $(kernel-module))
+$(eval $(generic-package))
-- 
2.11.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

end of thread, other threads:[~2022-03-24 20:21 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-24 20:20 [Buildroot] [PATCH 0/4] Pull in WILC Wi-Fi updates Kris Bahnsen via buildroot
2022-03-24 20:20 ` [Buildroot] [PATCH 1/4] package/wilc1000-firmware: bump to 15.6 Kris Bahnsen via buildroot
2022-03-24 20:20 ` [Buildroot] [PATCH 2/4] package/wilc-firmware: rename from wilc1000-firmware Kris Bahnsen via buildroot
2022-03-24 20:20 ` [Buildroot] [PATCH 3/4] configs: add WILC3000_FIRMWARE to compatible devices Kris Bahnsen via buildroot
2022-03-24 20:20 ` [Buildroot] [PATCH 4/4] package/wilc-driver: new package Kris Bahnsen via buildroot

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.