From f2106c699000c0fc2cf79a0be97819807072ec99 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Fri, 15 Apr 2022 13:04:37 +0200 Subject: [PATCH] Add out-of-tree Gasket driver for Google Coral support (#1848) The Google Gasket driver has been removed from the main kernels staging tree between 5.10 and 5.15 development window. Readd Google's out-of-tree driver to continiue support Google Coral devices. --- buildroot-external/Config.in | 17 ++++++++-------- .../configs/generic_aarch64_defconfig | 1 + .../configs/generic_x86_64_defconfig | 1 + .../configs/khadas_vim3_defconfig | 1 + .../configs/odroid_c2_defconfig | 1 + .../configs/odroid_c4_defconfig | 1 + .../configs/odroid_n2_defconfig | 1 + .../configs/odroid_xu4_defconfig | 1 + buildroot-external/configs/ova_defconfig | 1 + buildroot-external/configs/rpi2_defconfig | 1 + buildroot-external/configs/rpi3_64_defconfig | 1 + buildroot-external/configs/rpi3_defconfig | 1 + buildroot-external/configs/rpi4_64_defconfig | 1 + buildroot-external/configs/rpi4_defconfig | 1 + buildroot-external/configs/tinker_defconfig | 1 + buildroot-external/configs/yellow_defconfig | 1 + buildroot-external/package/gasket/Config.in | 7 +++++++ buildroot-external/package/gasket/gasket.mk | 20 +++++++++++++++++++ 18 files changed, 51 insertions(+), 8 deletions(-) create mode 100644 buildroot-external/package/gasket/Config.in create mode 100644 buildroot-external/package/gasket/gasket.mk diff --git a/buildroot-external/Config.in b/buildroot-external/Config.in index fb7041067..23e0db2f2 100644 --- a/buildroot-external/Config.in +++ b/buildroot-external/Config.in @@ -1,15 +1,16 @@ -source "$BR2_EXTERNAL_HASSOS_PATH/package/hassio/Config.in" -source "$BR2_EXTERNAL_HASSOS_PATH/package/pi-bluetooth/Config.in" source "$BR2_EXTERNAL_HASSOS_PATH/package/bluetooth-rtl8723/Config.in" +source "$BR2_EXTERNAL_HASSOS_PATH/package/eq3_char_loop/Config.in" +source "$BR2_EXTERNAL_HASSOS_PATH/package/gasket/Config.in" +source "$BR2_EXTERNAL_HASSOS_PATH/package/generic_raw_uart/Config.in" source "$BR2_EXTERNAL_HASSOS_PATH/package/hardkernel-boot/Config.in" +source "$BR2_EXTERNAL_HASSOS_PATH/package/hassio/Config.in" source "$BR2_EXTERNAL_HASSOS_PATH/package/khadas-boot/Config.in" +source "$BR2_EXTERNAL_HASSOS_PATH/package/os-agent/Config.in" +source "$BR2_EXTERNAL_HASSOS_PATH/package/pi-bluetooth/Config.in" source "$BR2_EXTERNAL_HASSOS_PATH/package/qemu-guest-agent/Config.in" source "$BR2_EXTERNAL_HASSOS_PATH/package/rpi-eeprom/Config.in" -source "$BR2_EXTERNAL_HASSOS_PATH/package/os-agent/Config.in" -source "$BR2_EXTERNAL_HASSOS_PATH/package/udisks2/Config.in" -source "$BR2_EXTERNAL_HASSOS_PATH/package/eq3_char_loop/Config.in" -source "$BR2_EXTERNAL_HASSOS_PATH/package/generic_raw_uart/Config.in" source "$BR2_EXTERNAL_HASSOS_PATH/package/rpi-rf-mod/Config.in" -source "$BR2_EXTERNAL_HASSOS_PATH/package/tempio/Config.in.host" -source "$BR2_EXTERNAL_HASSOS_PATH/package/xe-guest-utilities/Config.in" source "$BR2_EXTERNAL_HASSOS_PATH/package/rtl88x2bu/Config.in" +source "$BR2_EXTERNAL_HASSOS_PATH/package/tempio/Config.in.host" +source "$BR2_EXTERNAL_HASSOS_PATH/package/udisks2/Config.in" +source "$BR2_EXTERNAL_HASSOS_PATH/package/xe-guest-utilities/Config.in" diff --git a/buildroot-external/configs/generic_aarch64_defconfig b/buildroot-external/configs/generic_aarch64_defconfig index ce04cbd11..6eac8e86a 100644 --- a/buildroot-external/configs/generic_aarch64_defconfig +++ b/buildroot-external/configs/generic_aarch64_defconfig @@ -45,6 +45,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_HASSOS_PATH)/busybox.config" BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y +BR2_PACKAGE_GASKET=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_JQ=y BR2_PACKAGE_E2FSPROGS=y diff --git a/buildroot-external/configs/generic_x86_64_defconfig b/buildroot-external/configs/generic_x86_64_defconfig index c45073815..a0245ba5b 100644 --- a/buildroot-external/configs/generic_x86_64_defconfig +++ b/buildroot-external/configs/generic_x86_64_defconfig @@ -30,6 +30,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_HASSOS_PATH)/busybox.config" BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y +BR2_PACKAGE_GASKET=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_JQ=y BR2_PACKAGE_E2FSPROGS=y diff --git a/buildroot-external/configs/khadas_vim3_defconfig b/buildroot-external/configs/khadas_vim3_defconfig index be65c13c5..81adeec68 100644 --- a/buildroot-external/configs/khadas_vim3_defconfig +++ b/buildroot-external/configs/khadas_vim3_defconfig @@ -33,6 +33,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_HASSOS_PATH)/busybox.config" BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y +BR2_PACKAGE_GASKET=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_JQ=y BR2_PACKAGE_E2FSPROGS=y diff --git a/buildroot-external/configs/odroid_c2_defconfig b/buildroot-external/configs/odroid_c2_defconfig index d9e866c73..9492aa9c0 100644 --- a/buildroot-external/configs/odroid_c2_defconfig +++ b/buildroot-external/configs/odroid_c2_defconfig @@ -33,6 +33,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_HASSOS_PATH)/busybox.config" BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y +BR2_PACKAGE_GASKET=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_JQ=y BR2_PACKAGE_E2FSPROGS=y diff --git a/buildroot-external/configs/odroid_c4_defconfig b/buildroot-external/configs/odroid_c4_defconfig index 9fdcbc905..a8837b6ef 100644 --- a/buildroot-external/configs/odroid_c4_defconfig +++ b/buildroot-external/configs/odroid_c4_defconfig @@ -33,6 +33,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_HASSOS_PATH)/busybox.config" BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y +BR2_PACKAGE_GASKET=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_JQ=y BR2_PACKAGE_E2FSPROGS=y diff --git a/buildroot-external/configs/odroid_n2_defconfig b/buildroot-external/configs/odroid_n2_defconfig index a8910b99f..f462d2aab 100644 --- a/buildroot-external/configs/odroid_n2_defconfig +++ b/buildroot-external/configs/odroid_n2_defconfig @@ -33,6 +33,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_HASSOS_PATH)/busybox.config" BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y +BR2_PACKAGE_GASKET=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_JQ=y BR2_PACKAGE_E2FSPROGS=y diff --git a/buildroot-external/configs/odroid_xu4_defconfig b/buildroot-external/configs/odroid_xu4_defconfig index 0cf56d9c8..07f639866 100644 --- a/buildroot-external/configs/odroid_xu4_defconfig +++ b/buildroot-external/configs/odroid_xu4_defconfig @@ -32,6 +32,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_HASSOS_PATH)/busybox.config" BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y +BR2_PACKAGE_GASKET=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_JQ=y BR2_PACKAGE_E2FSPROGS=y diff --git a/buildroot-external/configs/ova_defconfig b/buildroot-external/configs/ova_defconfig index 55485ef32..dad8dbc50 100644 --- a/buildroot-external/configs/ova_defconfig +++ b/buildroot-external/configs/ova_defconfig @@ -31,6 +31,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_HASSOS_PATH)/busybox.config" BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y +BR2_PACKAGE_GASKET=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_JQ=y BR2_PACKAGE_E2FSPROGS=y diff --git a/buildroot-external/configs/rpi2_defconfig b/buildroot-external/configs/rpi2_defconfig index 34d1a79b0..7089aaf7d 100644 --- a/buildroot-external/configs/rpi2_defconfig +++ b/buildroot-external/configs/rpi2_defconfig @@ -33,6 +33,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_HASSOS_PATH)/busybox.config" BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y +BR2_PACKAGE_GASKET=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_JQ=y BR2_PACKAGE_E2FSPROGS=y diff --git a/buildroot-external/configs/rpi3_64_defconfig b/buildroot-external/configs/rpi3_64_defconfig index 467091aa3..f75e17f07 100644 --- a/buildroot-external/configs/rpi3_64_defconfig +++ b/buildroot-external/configs/rpi3_64_defconfig @@ -33,6 +33,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_HASSOS_PATH)/busybox.config" BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y +BR2_PACKAGE_GASKET=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_JQ=y BR2_PACKAGE_E2FSPROGS=y diff --git a/buildroot-external/configs/rpi3_defconfig b/buildroot-external/configs/rpi3_defconfig index e73815841..85afcb3fb 100644 --- a/buildroot-external/configs/rpi3_defconfig +++ b/buildroot-external/configs/rpi3_defconfig @@ -33,6 +33,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_HASSOS_PATH)/busybox.config" BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y +BR2_PACKAGE_GASKET=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_JQ=y BR2_PACKAGE_E2FSPROGS=y diff --git a/buildroot-external/configs/rpi4_64_defconfig b/buildroot-external/configs/rpi4_64_defconfig index 61e087bce..22b293db1 100644 --- a/buildroot-external/configs/rpi4_64_defconfig +++ b/buildroot-external/configs/rpi4_64_defconfig @@ -33,6 +33,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_HASSOS_PATH)/busybox.config" BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y +BR2_PACKAGE_GASKET=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_JQ=y BR2_PACKAGE_E2FSPROGS=y diff --git a/buildroot-external/configs/rpi4_defconfig b/buildroot-external/configs/rpi4_defconfig index 13cc0b8da..940faf472 100644 --- a/buildroot-external/configs/rpi4_defconfig +++ b/buildroot-external/configs/rpi4_defconfig @@ -33,6 +33,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_HASSOS_PATH)/busybox.config" BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y +BR2_PACKAGE_GASKET=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_JQ=y BR2_PACKAGE_E2FSPROGS=y diff --git a/buildroot-external/configs/tinker_defconfig b/buildroot-external/configs/tinker_defconfig index 524fed1a6..cd5c6c55f 100644 --- a/buildroot-external/configs/tinker_defconfig +++ b/buildroot-external/configs/tinker_defconfig @@ -35,6 +35,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_HASSOS_PATH)/busybox.config" BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y +BR2_PACKAGE_GASKET=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_JQ=y BR2_PACKAGE_E2FSPROGS=y diff --git a/buildroot-external/configs/yellow_defconfig b/buildroot-external/configs/yellow_defconfig index 88b9fb81b..d3b84c6bb 100644 --- a/buildroot-external/configs/yellow_defconfig +++ b/buildroot-external/configs/yellow_defconfig @@ -33,6 +33,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_HASSOS_PATH)/busybox.config" BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y +BR2_PACKAGE_GASKET=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_JQ=y BR2_PACKAGE_E2FSPROGS=y diff --git a/buildroot-external/package/gasket/Config.in b/buildroot-external/package/gasket/Config.in new file mode 100644 index 000000000..937ad97da --- /dev/null +++ b/buildroot-external/package/gasket/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_GASKET + tristate "Coral Gasket Driver" + depends on BR2_LINUX_KERNEL + ---help--- + Driver for Gasket (Google ASIC Software, Kernel Extensions, and Tools) + is a top level driver for lightweight communication with Google ASICs. + Apex refers to the EdgeTPU v1. diff --git a/buildroot-external/package/gasket/gasket.mk b/buildroot-external/package/gasket/gasket.mk new file mode 100644 index 000000000..e227f1e08 --- /dev/null +++ b/buildroot-external/package/gasket/gasket.mk @@ -0,0 +1,20 @@ +GASKET_VERSION = 97aeba584efd18983850c36dcf7384b0185284b3 +GASKET_SITE = $(call github,google,gasket-driver,$(GASKET_VERSION)) +GASKET_LICENSE = GPL-2.0 +GASKET_LICENSE_FILES = LICENSE +GASKET_MODULE_SUBDIRS = src + +#GASKET_MODULE_MAKE_OPTS = \ +# CONFIG_RTL8822BU=m \ +# KVER=$(LINUX_VERSION_PROBED) \ +# KBASE=$(LINUX_DIR) \ +# CROSS_COMPILE=$(TARGET_CROSS) + +#ifeq (arm, $(filter arm, $(KERNEL_ARCH))) +#GASKET_MODULE_MAKE_OPTS += CONFIG_PLATFORM_ARM_RPI=y +#else +#GASKET_MODULE_MAKE_OPTS += CONFIG_PLATFORM_I386_PC=y +#endif + +$(eval $(kernel-module)) +$(eval $(generic-package))