@@ -2732,6 +2732,7 @@ F: package/gemmlowp/
F: package/psimd/
F: package/pthreadpool/
F: package/ruy/
+F: package/tensorflow-lite/
F: package/xnnpack/
N: Stefan Ott <stefan@ott.net>
@@ -2132,6 +2132,7 @@ endif
source "package/sphinxbase/Config.in"
source "package/startup-notification/Config.in"
source "package/tbb/Config.in"
+ source "package/tensorflow-lite/Config.in"
source "package/tinycbor/Config.in"
source "package/tz/Config.in"
source "package/tzdata/Config.in"
new file mode 100644
@@ -0,0 +1,49 @@
+From 081c2e4e3cf021efb2853a485a18b563e88f6117 Mon Sep 17 00:00:00 2001
+From: Terry Heo <terryheo@google.com>
+Date: Tue, 1 Nov 2022 15:55:30 -0700
+Subject: [PATCH] lite: Update CMakeLists.txt
+
+This changes are needed to build kernel tests.
+
+PiperOrigin-RevId: 485439972
+
+Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
+[james.hilliard1@gmail.com: backport from upstream commit
+081c2e4e3cf021efb2853a485a18b563e88f6117]
+---
+ tensorflow/lite/CMakeLists.txt | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/tensorflow/lite/CMakeLists.txt b/tensorflow/lite/CMakeLists.txt
+index 9dfbb4b72f3..fd8b3faf1e2 100644
+--- a/tensorflow/lite/CMakeLists.txt
++++ b/tensorflow/lite/CMakeLists.txt
+@@ -209,6 +209,9 @@ list(FILTER TFLITE_SRCS EXCLUDE REGEX ".*tflite_with_xnnpack\\.cc$")
+ # Exclude Flex related files.
+ list(FILTER TFLITE_SRCS EXCLUDE REGEX ".*with_selected_ops\\.cc$")
+
++# Exclude tensorflow_profiler_logger files.
++list(FILTER TFLITE_SRCS EXCLUDE REGEX ".*tensorflow_profiler_logger\\.cc$")
++
+ if(_TFLITE_ENABLE_MMAP)
+ list(FILTER TFLITE_SRCS EXCLUDE REGEX ".*mmap_allocation_disabled\\.cc$")
+ else()
+@@ -222,6 +225,7 @@ if(NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "iOS")
+ endif()
+ populate_tflite_source_vars("core" TFLITE_CORE_SRCS)
+ populate_tflite_source_vars("core/api" TFLITE_CORE_API_SRCS)
++populate_tflite_source_vars("core/c" TFLITE_CORE_C_SRCS)
+ populate_tflite_source_vars("c" TFLITE_C_SRCS)
+ populate_tflite_source_vars("delegates" TFLITE_DELEGATES_SRCS)
+ if(TFLITE_ENABLE_GPU)
+@@ -483,6 +487,7 @@ endif()
+ # TFLite library
+ set(_ALL_TFLITE_SRCS
+ ${TFLITE_CORE_API_SRCS}
++ ${TFLITE_CORE_C_SRCS}
+ ${TFLITE_CORE_SRCS}
+ ${TFLITE_C_SRCS}
+ ${TFLITE_DELEGATES_FLEX_SRCS}
+--
+2.34.1
+
new file mode 100644
@@ -0,0 +1,37 @@
+From a4ff4b5e952a22906ac0ed01e73f84f42926c325 Mon Sep 17 00:00:00 2001
+From: James Hilliard <james.hilliard1@gmail.com>
+Date: Thu, 24 Nov 2022 14:29:06 -0700
+Subject: [PATCH] Fix FindFlatBuffers cmake file
+
+Capitalization needs to match for system cmake override to work:
+https://github.com/google/flatbuffers/blob/v22.11.23/CMake/FindFlatBuffers.cmake
+
+Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
+[Upstream status:
+https://github.com/tensorflow/tensorflow/pull/58677]
+---
+ tensorflow/lite/CMakeLists.txt | 2 +-
+ .../modules/{FindFlatbuffers.cmake => FindFlatBuffers.cmake} | 0
+ 2 files changed, 1 insertion(+), 1 deletion(-)
+ rename tensorflow/lite/tools/cmake/modules/{FindFlatbuffers.cmake => FindFlatBuffers.cmake} (100%)
+
+diff --git a/tensorflow/lite/CMakeLists.txt b/tensorflow/lite/CMakeLists.txt
+index f9c30d6a046..c2ee9edfb61 100644
+--- a/tensorflow/lite/CMakeLists.txt
++++ b/tensorflow/lite/CMakeLists.txt
+@@ -143,7 +143,7 @@ find_package(absl REQUIRED)
+ find_package(Eigen3 REQUIRED)
+ find_package(farmhash REQUIRED)
+ find_package(fft2d REQUIRED)
+-find_package(Flatbuffers REQUIRED)
++find_package(FlatBuffers REQUIRED)
+ find_package(gemmlowp REQUIRED)
+ find_package(NEON_2_SSE REQUIRED)
+ find_package(cpuinfo REQUIRED) #CPUINFO is used by XNNPACK and RUY library
+diff --git a/tensorflow/lite/tools/cmake/modules/FindFlatbuffers.cmake b/tensorflow/lite/tools/cmake/modules/FindFlatBuffers.cmake
+similarity index 100%
+rename from tensorflow/lite/tools/cmake/modules/FindFlatbuffers.cmake
+rename to tensorflow/lite/tools/cmake/modules/FindFlatBuffers.cmake
+--
+2.34.1
+
new file mode 100644
@@ -0,0 +1,32 @@
+From fb584589f707853d85a081c99b1b82598c2631c1 Mon Sep 17 00:00:00 2001
+From: James Hilliard <james.hilliard1@gmail.com>
+Date: Thu, 24 Nov 2022 15:10:27 -0700
+Subject: [PATCH] Don't link tensorflow-lite against gemmlowp
+
+We can't link against gemmlowp as it is a header only library.
+
+Fixes:
+/bin/ld: cannot find -lgemmlowp: No such file or directory
+
+Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
+[Upstream status:
+https://github.com/tensorflow/tensorflow/pull/58678]
+---
+ tensorflow/lite/CMakeLists.txt | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/tensorflow/lite/CMakeLists.txt b/tensorflow/lite/CMakeLists.txt
+index f9c30d6a046..3fe5ed15605 100644
+--- a/tensorflow/lite/CMakeLists.txt
++++ b/tensorflow/lite/CMakeLists.txt
+@@ -560,7 +560,6 @@ target_link_libraries(tensorflow-lite
+ farmhash
+ fft2d_fftsg2d
+ flatbuffers::flatbuffers
+- gemmlowp
+ ruy::ruy
+ pthreadpool
+ ${CMAKE_DL_LIBS}
+--
+2.34.1
+
new file mode 100644
@@ -0,0 +1,27 @@
+config BR2_PACKAGE_TENSORFLOW_LITE
+ bool "tensorflow-lite"
+ depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_TOOLCHAIN_USES_GLIBC
+ depends on BR2_SHARED_LIBS
+ select BR2_PACKAGE_CPUINFO
+ select BR2_PACKAGE_EIGEN
+ select BR2_PACKAGE_FARMHASH
+ select BR2_PACKAGE_FFT2D
+ select BR2_PACKAGE_FLATBUFFERS
+ select BR2_PACKAGE_GEMMLOWP
+ select BR2_PACKAGE_LIBABSEIL_CPP
+ select BR2_PACKAGE_NEON_2_SSE
+ select BR2_PACKAGE_RUY
+ select BR2_PACKAGE_XNNPACK
+ help
+ Tensorflow Lite dynamic library and headers: Inference engine
+ to run previously trained machine learning models.
+
+comment "tensorflow-lite needs a toolchain w/ glibc, C++17, threads"
+ depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPP || \
+ !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || !BR2_TOOLCHAIN_HAS_THREADS
+
+comment "tensorflow-lite needs a toolchain w/ shared libraries"
+ depends on !BR2_SHARED_LIBS
new file mode 100644
@@ -0,0 +1,4 @@
+# Locally calculated
+sha256 99c732b92b1b37fc243a559e02f9aef5671771e272758aa4aec7f34dc92dac48 tensorflow-lite-2.11.0.tar.gz
+# License files, locally calculated
+sha256 71c6915d04265772a0339bed47276942c678b45cc01534210ebe6984fd1aec65 LICENSE
new file mode 100644
@@ -0,0 +1,51 @@
+################################################################################
+#
+# tensorflow-lite
+#
+################################################################################
+
+TENSORFLOW_LITE_VERSION = 2.11.0
+TENSORFLOW_LITE_SITE = $(call github,tensorflow,tensorflow,v$(TENSORFLOW_LITE_VERSION))
+TENSORFLOW_LITE_INSTALL_STAGING = YES
+TENSORFLOW_LITE_LICENSE = Apache-2.0
+TENSORFLOW_LITE_LICENSE_FILES = LICENSE
+TENSORFLOW_LITE_SUBDIR = tensorflow/lite
+TENSORFLOW_LITE_SUPPORTS_IN_SOURCE_BUILD = NO
+TENSORFLOW_LITE_DEPENDENCIES += \
+ host-pkgconf \
+ host-flatbuffers \
+ cpuinfo \
+ eigen \
+ farmhash \
+ fft2d \
+ flatbuffers \
+ gemmlowp \
+ libabseil-cpp \
+ neon-2-sse \
+ ruy \
+ xnnpack
+
+TENSORFLOW_LITE_CONF_OPTS = \
+ -Dabsl_DIR=$(STAGING_DIR)/usr/lib/cmake/absl \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -I$(STAGING_DIR)/usr/include/gemmlowp" \
+ -DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON \
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
+ -DEigen3_DIR=$(STAGING_DIR)/usr/share/eigen3/cmake \
+ -DFARMHASH_SOURCE_DIR=$(FARMHASH_DIR) \
+ -Dfarmhash_DIR=$(STAGING_DIR)/usr/lib \
+ -DFETCHCONTENT_FULLY_DISCONNECTED=ON \
+ -DFETCHCONTENT_QUIET=OFF \
+ -DFFT2D_SOURCE_DIR=$(STAGING_DIR)/usr/include/fft2d \
+ -DFlatBuffers_DIR=$(STAGING_DIR)/usr/lib/cmake/flatbuffers \
+ -DNEON_2_SSE_DIR=$(STAGING_DIR)/usr/lib/cmake/NEON_2_SSE \
+ -Dxnnpack_POPULATED=ON \
+ -DTFLITE_ENABLE_EXTERNAL_DELEGATE=ON \
+ -DTFLITE_ENABLE_GPU=OFF \
+ -DTFLITE_ENABLE_INSTALL=ON \
+ -DTFLITE_ENABLE_MMAP=ON \
+ -DTFLITE_ENABLE_NNAPI=OFF \
+ -DTFLITE_ENABLE_RUY=ON \
+ -DTFLITE_ENABLE_XNNPACK=ON
+
+$(eval $(cmake-package))