diff mbox

[v2,1/2] ts4900-fpga: add ts4900-fpga package

Message ID 1474143804-19181-2-git-send-email-mathieu.audat@savoirfairelinux.com
State Accepted
Headers show

Commit Message

Mathieu Audat Sept. 17, 2016, 8:23 p.m. UTC
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>
---
 package/Config.in                    |  1 +
 package/ts4900-fpga/Config.in        | 11 +++++++++++
 package/ts4900-fpga/ts4900-fpga.hash |  5 +++++
 package/ts4900-fpga/ts4900-fpga.mk   | 22 ++++++++++++++++++++++
 4 files changed, 39 insertions(+)
 create mode 100644 package/ts4900-fpga/Config.in
 create mode 100644 package/ts4900-fpga/ts4900-fpga.hash
 create mode 100644 package/ts4900-fpga/ts4900-fpga.mk

Comments

Thomas Petazzoni Sept. 18, 2016, 2:58 p.m. UTC | #1
Hello,

On Sat, 17 Sep 2016 16:23:23 -0400, Mathieu Audat wrote:
> 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>
> ---
>  package/Config.in                    |  1 +
>  package/ts4900-fpga/Config.in        | 11 +++++++++++
>  package/ts4900-fpga/ts4900-fpga.hash |  5 +++++
>  package/ts4900-fpga/ts4900-fpga.mk   | 22 ++++++++++++++++++++++
>  4 files changed, 39 insertions(+)
>  create mode 100644 package/ts4900-fpga/Config.in
>  create mode 100644 package/ts4900-fpga/ts4900-fpga.hash
>  create mode 100644 package/ts4900-fpga/ts4900-fpga.mk

Applied to master with the following changes:

    [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.]

Thanks!

Thomas
diff mbox

Patch

diff --git a/package/Config.in b/package/Config.in
index 1e51a45..a20a84c 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -334,6 +334,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"
diff --git a/package/ts4900-fpga/Config.in b/package/ts4900-fpga/Config.in
new file mode 100644
index 0000000..8711718
--- /dev/null
+++ b/package/ts4900-fpga/Config.in
@@ -0,0 +1,11 @@ 
+menuconfig BR2_PACKAGE_TS4900_FPGA
+	bool "ts4900-fpga"
+	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
+
diff --git a/package/ts4900-fpga/ts4900-fpga.hash b/package/ts4900-fpga/ts4900-fpga.hash
new file mode 100644
index 0000000..513d569
--- /dev/null
+++ b/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
\ No newline at end of file
diff --git a/package/ts4900-fpga/ts4900-fpga.mk b/package/ts4900-fpga/ts4900-fpga.mk
new file mode 100644
index 0000000..c2b5215
--- /dev/null
+++ b/package/ts4900-fpga/ts4900-fpga.mk
@@ -0,0 +1,22 @@ 
+################################################################################
+#
+# 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
+TS4900_FPGA_EXTRACT_CMDS =
+
+define TS4900_FPGA_INSTALL_TARGET_CMDS
+	mkdir -p $(TARGET_DIR)/boot
+	$(INSTALL) -m 0644 $(DL_DIR)/$(TS4900_FPGA_SOURCE) $(TARGET_DIR)/boot/ts4900-fpga.bin
+endef
+
+$(eval $(generic-package))