mirror of
				https://github.com/Telecominfraproject/wlan-ap.git
				synced 2025-10-31 02:17:58 +00:00 
			
		
		
		
	mcu-firmware: add support for host side support packages
In case of some of the MCU firmware types, additional setup on the host side is required before the target application can be used. Example of such a requirement is a BLE HCI controller on UART bus (firmware type: 'hci_uart') which, before can be registered in system, needs to be attached to Bluetooth stack (with e.g. 'btattach'). This includes code for generating hidden packages under 'mcu-firmware' with all the files required for host side support (stored in directory with the same name as firmware type, under local 'files' directory), for a selected MCU firmware. For example, below tree: ./feeds/mcu/mcu-firmware/files/hci_uart/etc/... would result in creation of new package 'zephyr-hci_uart-host-support', included in dependencies lists for all MCU firmware versions of the 'hci_uart' type, with everything from '.../files/hci_uart/'. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
This commit is contained in:
		 Piotr Dymacz
					Piotr Dymacz
				
			
				
					committed by
					
						 John Crispin
						John Crispin
					
				
			
			
				
	
			
			
			 John Crispin
						John Crispin
					
				
			
						parent
						
							b9d20e083c
						
					
				
				
					commit
					a3f0fb23b7
				
			| @@ -32,6 +32,11 @@ ZEPHYR_VERSIONS := \ | |||||||
|  |  | ||||||
| ZEPHYR_FW_CI_URL := https://gitlab.com/pepe2k/zephyr/-/jobs/ | ZEPHYR_FW_CI_URL := https://gitlab.com/pepe2k/zephyr/-/jobs/ | ||||||
|  |  | ||||||
|  | ZEPHYR_FW_TYPES := \ | ||||||
|  | 	hello_world \ | ||||||
|  | 	hci_uart \ | ||||||
|  | 	hci_usb | ||||||
|  |  | ||||||
| # Zephyr 'hello_world' targets | # Zephyr 'hello_world' targets | ||||||
| ZEPHYR_HELLO_WORLD_TARGETS := \ | ZEPHYR_HELLO_WORLD_TARGETS := \ | ||||||
| 	cig_wf196_nrf52833 \ | 	cig_wf196_nrf52833 \ | ||||||
| @@ -59,6 +64,20 @@ define Download/zephyr-fw | |||||||
| endef | endef | ||||||
| $(foreach FW,$(ZEPHYR_VERSIONS),$(eval $(call Download,zephyr-fw,$(FW)))) | $(foreach FW,$(ZEPHYR_VERSIONS),$(eval $(call Download,zephyr-fw,$(FW)))) | ||||||
|  |  | ||||||
|  | # $(1) firmware name (e.g. hci_usb) | ||||||
|  | define zephyr-fw-host-support | ||||||
|  |   define Package/zephyr-$(1)-host-support | ||||||
|  |     $(call Package/mcu-fw-default) | ||||||
|  |     DEPENDS:=+mcu | ||||||
|  |     TITLE:=Zephyr '$(1)' common host side support | ||||||
|  |     HIDDEN:=1 | ||||||
|  |   endef | ||||||
|  |  | ||||||
|  |   define Package/zephyr-$(1)-host-support/install | ||||||
|  | 	$(CP) ./files/$(1)/* $$(1)/ | ||||||
|  |   endef | ||||||
|  | endef | ||||||
|  |  | ||||||
| # $(1) version (e.g zephyr-v3.3.x) | # $(1) version (e.g zephyr-v3.3.x) | ||||||
| # $(2) firmware name (e.g. hci_usb) | # $(2) firmware name (e.g. hci_usb) | ||||||
| # $(3) target/board name (e.g. nrf52840dongle_nrf52840) | # $(3) target/board name (e.g. nrf52840dongle_nrf52840) | ||||||
| @@ -81,6 +100,7 @@ define zephyr-fw | |||||||
| endef | endef | ||||||
|  |  | ||||||
| define zephyr-fw-deps | define zephyr-fw-deps | ||||||
|  | 	$(if $(wildcard ./files/$(1)/*),+zephyr-$(1)-host-support) \ | ||||||
| 	$(if $(findstring hci_u,$1),+bluez-daemon +kmod-bluetooth +kmod-crypto-user) | 	$(if $(findstring hci_u,$1),+bluez-daemon +kmod-bluetooth +kmod-crypto-user) | ||||||
| endef | endef | ||||||
|  |  | ||||||
| @@ -102,6 +122,15 @@ define Build/Compile | |||||||
| endef | endef | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # Generate host side support packages (per firmware type) | ||||||
|  | $(foreach FW,$(ZEPHYR_FW_TYPES),\ | ||||||
|  |   $(if $(wildcard ./files/$(FW)/*),$(eval $(call zephyr-fw-host-support,$(FW))))) | ||||||
|  |  | ||||||
|  | $(foreach FW,$(ZEPHYR_FW_TYPES),\ | ||||||
|  |   $(if $(wildcard ./files/$(FW)/*),$(eval $(call BuildPackage,zephyr-$(FW)-host-support)))) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # Generate dedicated Zephyr firmware packages (per firmware version, type and board) | ||||||
| $(foreach VER,$(ZEPHYR_VERSIONS),\ | $(foreach VER,$(ZEPHYR_VERSIONS),\ | ||||||
|   $(foreach TARGET,$(ZEPHYR_HELLO_WORLD_TARGETS),\ |   $(foreach TARGET,$(ZEPHYR_HELLO_WORLD_TARGETS),\ | ||||||
|     $(eval $(call zephyr-fw,$(call word-underscore,$(VER),1),hello_world,$(TARGET))))) |     $(eval $(call zephyr-fw,$(call word-underscore,$(VER),1),hello_world,$(TARGET))))) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user