mcu: support default configuration with uci-defaults

This adds support for creating initial MCU configuration with use of
'uci-defaults' in a same was as for example 'uboot-envtools' package.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
This commit is contained in:
Piotr Dymacz
2023-02-17 00:07:18 +01:00
committed by John Crispin
parent e4ed881dd7
commit 7a37e9bf0b
2 changed files with 35 additions and 1 deletions

View File

@@ -33,10 +33,18 @@ define Build/Compile
endef
define Package/mcu/install
$(INSTALL_DIR) $(1)/etc/init.d $(1)/etc/hotplug.d/usb $(1)/lib/functions
$(INSTALL_DIR) $(1)/etc/init.d $(1)/etc/hotplug.d/usb $(1)/lib/functions $(1)/etc/uci-defaults
$(INSTALL_BIN) ./files/mcu.init $(1)/etc/init.d/mcu
$(INSTALL_DATA) ./files/mcu.hotplug $(1)/etc/hotplug.d/usb/30-mcu
$(INSTALL_DATA) ./files/mcu.sh $(1)/lib/functions
$(if $(wildcard ./files/uci-defaults/$(BOARD)_$(SUBTARGET)), \
$(INSTALL_DATA) ./files/uci-defaults/$(BOARD)_$(SUBTARGET) \
$(1)/etc/uci-defaults/20-mcu, \
$(if $(wildcard ./files/uci-defaults/$(BOARD)), \
$(INSTALL_DATA) ./files/uci-defaults/$(BOARD) \
$(1)/etc/uci-defaults/20-mcu \
) \
)
endef
$(eval $(call BuildPackage,mcu))

View File

@@ -513,3 +513,29 @@ mcu_fw_check_and_update() {
return 0
}
mcu_add_uci_config() {
local name="$1"
local interface="$2"
local bootloader="$3"
local firmware="$4"
local enable_pin="$5"
local uart_path="$6"
local uart_baud="$7"
local uart_flow="$8"
uci -q set mcu.${name}="mcu"
uci -q set mcu.${name}.interface="$interface"
uci -q set mcu.${name}.bootloader="$bootloader"
uci -q set mcu.${name}.firmware="$firmware"
[ -n "$enable_pin" ] && uci -q set mcu.${name}.enable_pin="$enable_pin"
[ -n "$uart_path" ] && uci -q set mcu.${name}.uart_path="$uart_path"
[ -n "$uart_baud" ] && uci -q set mcu.${name}.uart_baud="$uart_baud"
[ "$uart_flow" = "1" ] && uci -q set mcu.${name}.uart_flow="1"
uci -q set mcu.${name}.disabled="0"
uci -q commit mcu
}