Browse Source

ts4900-fpga: add ts4900-fpga package

This package is responsible from downloading and deploying bitstream for
TS-4900's FPGA. It implements clocks, UART MUX, and GPIOs. One of these
GPIOs is used to enable the wifi module.

It is loaded by U-Boot during the boot sequence, the default U-boot
script expects to find it in the /boot folder.

Signed-off-by: Mathieu Audat <mathieu.audat@savoirfairelinux.com>
[Thomas:
 - Use "config" instead of "menuconfig" since there's a single option
   and no sub-options.
 - Add BR2_arm dependency, since it's only used on a specific i.MX6
   platform.
 - Implement TS4900_FPGA_EXTRACT_CMDS that copy the file to the package
   build directory $(@D)
 - Change the install command to copy from $(@D) instead of from
   $(DL_DIR)
 - Change the install command to remove the 'mkdir -p
   $(TARGET_DIR)/boot' and instead just use the -D option of the install
   program that creates the destination directory if it doesn't exist.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Mathieu Audat 9 years ago
parent
commit
57cc20810a

+ 1 - 0
package/Config.in

@@ -333,6 +333,7 @@ menu "Firmware"
 	source "package/linux-firmware/Config.in"
 	source "package/rpi-firmware/Config.in"
 	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/zd1211-firmware/Config.in"

+ 12 - 0
package/ts4900-fpga/Config.in

@@ -0,0 +1,12 @@
+config BR2_PACKAGE_TS4900_FPGA
+	bool "ts4900-fpga"
+	depends on BR2_arm
+	help
+	  TS-4900's FPGA implements clocks, UART MUX, and GPIOs. One of these
+	  GPIOs is used to enable the wifi module.
+
+	  It is loaded by U-Boot during the boot sequence, the default U-boot
+	  script expects to find it in the /boot folder.
+
+	  http://wiki.embeddedarm.com/wiki/TS-4900#FPGA_Changelog
+

+ 5 - 0
package/ts4900-fpga/ts4900-fpga.hash

@@ -0,0 +1,5 @@
+# From ftp://ftp.embeddedarm.com/ts-socket-macrocontrollers/ts-4900-linux/fpga/ts4900-fpga-20150930.bin.md5
+md5 bf93c03ef914cf008287c8cd60781cc8  ts4900-fpga-20150930.bin
+
+# Locally calculated
+sha256 242ac6a90bea9a95c937ea8952cdc9b02f543cea24a0359bed66a408a6dd8bf9 ts4900-fpga-20150930.bin

+ 24 - 0
package/ts4900-fpga/ts4900-fpga.mk

@@ -0,0 +1,24 @@
+################################################################################
+#
+# ts4900-fpga
+#
+################################################################################
+
+TS4900_FPGA_VERSION = 20150930
+TS4900_FPGA_SOURCE = ts4900-fpga-$(TS4900_FPGA_VERSION).bin
+TS4900_FPGA_SITE = ftp://ftp.embeddedarm.com/ts-socket-macrocontrollers/ts-4900-linux/fpga
+# No license file provided, Yocto recipe from the vendor claims MIT.
+# https://github.com/embeddedarm/meta-ts/blob/f31860f1204b64f765a5380d3b93a2cf18234f90/recipes-extras/ts4900-fpga/ts4900-fpga.bb#L6
+
+TS4900_FPGA_INSTALL_IMAGES = NO
+TS4900_FPGA_INSTALL_TARGET = YES
+
+define TS4900_FPGA_EXTRACT_CMDS
+	cp $(DL_DIR)/$(TS4900_FPGA_SOURCE) $(@D)
+endef
+
+define TS4900_FPGA_INSTALL_TARGET_CMDS
+	$(INSTALL) -m 0644 -D $(@D)/$(TS4900_FPGA_SOURCE) $(TARGET_DIR)/boot/ts4900-fpga.bin
+endef
+
+$(eval $(generic-package))