From 1048e744a9dfb8f3262e81b509be70e3568c4524 Mon Sep 17 00:00:00 2001 From: iabdalkader Date: Sun, 7 Jul 2024 19:11:38 +0300 Subject: [PATCH] misc: Update CI to apply patches to Ethos driver. --- .github/workflows/tflm.yml | 8 ++++ patches/ethosu_driver.patch | 74 +++++++++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 patches/ethosu_driver.patch diff --git a/.github/workflows/tflm.yml b/.github/workflows/tflm.yml index 2ac4dc2..8ce8daf 100644 --- a/.github/workflows/tflm.yml +++ b/.github/workflows/tflm.yml @@ -51,6 +51,14 @@ jobs: repository: tensorflow/tflite-micro ref: 8c458fc48ee972ea4fc56ddc08849823b9af7ea8 + - name: '⏳ Checkout Ethos' + run: | + git clone --branch main --depth 1 https://review.mlplatform.org/ml/ethos-u/ethos-u-core-driver \ + tflite-micro/tensorflow/lite/micro/tools/make/downloads/ethos_u_core_driver/ + cd tflite-micro + git apply ../patches/ethosu_driver.patch \ + --directory=tensorflow/lite/micro/tools/make/downloads/ethos_u_core_driver/ + - name: '♻ Caching dependencies' uses: actions/cache@v4.0.2 id: cache diff --git a/patches/ethosu_driver.patch b/patches/ethosu_driver.patch new file mode 100644 index 0000000..f6fd0e2 --- /dev/null +++ b/patches/ethosu_driver.patch @@ -0,0 +1,74 @@ +diff --git a/src/ethosu_config_u55.h b/src/ethosu_config_u55.h +index 9330bb1..c1ce4a1 100644 +--- a/src/ethosu_config_u55.h ++++ b/src/ethosu_config_u55.h +@@ -22,11 +22,11 @@ + /* Set default values if not manually overriden */ + + #ifndef NPU_QCONFIG +-#define NPU_QCONFIG 2 ++#define NPU_QCONFIG 0 + #endif + + #ifndef NPU_REGIONCFG_0 +-#define NPU_REGIONCFG_0 3 ++#define NPU_REGIONCFG_0 0 + #endif + + #ifndef NPU_REGIONCFG_1 +@@ -58,11 +58,11 @@ + #endif + + #ifndef AXI_LIMIT0_MAX_BEATS_BYTES +-#define AXI_LIMIT0_MAX_BEATS_BYTES 0x0 ++#define AXI_LIMIT0_MAX_BEATS_BYTES 0x1 + #endif + + #ifndef AXI_LIMIT0_MEM_TYPE +-#define AXI_LIMIT0_MEM_TYPE 0x0 ++#define AXI_LIMIT0_MEM_TYPE 0x2 + #endif + + #ifndef AXI_LIMIT0_MAX_OUTSTANDING_READS +@@ -74,11 +74,11 @@ + #endif + + #ifndef AXI_LIMIT1_MAX_BEATS_BYTES +-#define AXI_LIMIT1_MAX_BEATS_BYTES 0x0 ++#define AXI_LIMIT1_MAX_BEATS_BYTES 0x1 + #endif + + #ifndef AXI_LIMIT1_MEM_TYPE +-#define AXI_LIMIT1_MEM_TYPE 0x0 ++#define AXI_LIMIT1_MEM_TYPE 0x2 + #endif + + #ifndef AXI_LIMIT1_MAX_OUTSTANDING_READS +@@ -90,11 +90,11 @@ + #endif + + #ifndef AXI_LIMIT2_MAX_BEATS_BYTES +-#define AXI_LIMIT2_MAX_BEATS_BYTES 0x0 ++#define AXI_LIMIT2_MAX_BEATS_BYTES 0x1 + #endif + + #ifndef AXI_LIMIT2_MEM_TYPE +-#define AXI_LIMIT2_MEM_TYPE 0x0 ++#define AXI_LIMIT2_MEM_TYPE 0x2 + #endif + + #ifndef AXI_LIMIT2_MAX_OUTSTANDING_READS +@@ -106,11 +106,11 @@ + #endif + + #ifndef AXI_LIMIT3_MAX_BEATS_BYTES +-#define AXI_LIMIT3_MAX_BEATS_BYTES 0x0 ++#define AXI_LIMIT3_MAX_BEATS_BYTES 0x1 + #endif + + #ifndef AXI_LIMIT3_MEM_TYPE +-#define AXI_LIMIT3_MEM_TYPE 0x0 ++#define AXI_LIMIT3_MEM_TYPE 0x2 + #endif + + #ifndef AXI_LIMIT3_MAX_OUTSTANDING_READS