[dif] migrate srcs to use UART auto-generated IRQ DIFs
This partially addresses #8142, by migrating all UART DIF consumers
to make use of the auto-generated UART (IRQ) DIFs.
Signed-off-by: Timothy Trippel <ttrippel@google.com>
diff --git a/hw/top_englishbreakfast/util/sw_sources.patch b/hw/top_englishbreakfast/util/sw_sources.patch
index a1eb827..c59d247 100644
--- a/hw/top_englishbreakfast/util/sw_sources.patch
+++ b/hw/top_englishbreakfast/util/sw_sources.patch
@@ -1,11 +1,11 @@
diff --git a/sw/device/boot_rom/rom_crt.S b/sw/device/boot_rom/rom_crt.S
-index 8c61ec4d7..1c8e29d86 100644
+index acff1a477..1c8e29d86 100644
--- a/sw/device/boot_rom/rom_crt.S
+++ b/sw/device/boot_rom/rom_crt.S
-@@ -84,19 +84,6 @@ _reset_start:
+@@ -81,19 +81,6 @@ _reset_start:
_start:
.globl _start
-
+
- // Enable entropy complex - this is not the full enable
- li a0, TOP_EARLGREY_ENTROPY_SRC_BASE_ADDR
- li t0, 0xa0a
@@ -58,7 +58,7 @@
@@ -203,18 +203,13 @@ int main(void) {
sca_init(kScaTriggerSourceAes, kScaPeripheralAes);
sca_get_uart(&uart1);
-
+
- LOG_INFO("Running AES serial");
-
- LOG_INFO("Initializing simple serial interface to capture board.");
@@ -66,45 +66,43 @@
simple_serial_register_handler('k', aes_serial_set_key);
simple_serial_register_handler('p', aes_serial_single_encrypt);
simple_serial_register_handler('b', aes_serial_batch_encrypt);
-
+
- LOG_INFO("Initializing AES unit.");
init_aes();
-
+
- LOG_INFO("Starting simple serial packet handling.");
while (true) {
simple_serial_process_packet();
}
diff --git a/sw/device/sca/lib/sca.c b/sw/device/sca/lib/sca.c
-index 9210f4529..81fd2a223 100644
+index 3fb4ff13d..e310076c3 100644
--- a/sw/device/sca/lib/sca.c
+++ b/sw/device/sca/lib/sca.c
@@ -56,7 +56,6 @@ enum {
kRvTimerHart = kTopEarlgreyPlicTargetIbex0,
};
-
+
-static dif_uart_t uart0;
static dif_uart_t uart1;
static dif_gpio_t gpio;
static dif_rv_timer_t timer;
-@@ -78,16 +77,9 @@ static void sca_init_uart(void) {
- (dif_uart_params_t){
- .base_addr = mmio_region_from_addr(TOP_EARLGREY_UART0_BASE_ADDR),
- },
-- &uart0));
+@@ -75,13 +74,9 @@ static void sca_init_uart(void) {
+ };
+
+ IGNORE_RESULT(dif_uart_init(
+- mmio_region_from_addr(TOP_EARLGREY_UART0_BASE_ADDR), &uart0));
- IGNORE_RESULT(dif_uart_configure(&uart0, uart_config));
- base_uart_stdout(&uart0);
-
- IGNORE_RESULT(dif_uart_init(
-- (dif_uart_params_t){
-- .base_addr = mmio_region_from_addr(TOP_EARLGREY_UART1_BASE_ADDR),
-- },
- &uart1));
+- mmio_region_from_addr(TOP_EARLGREY_UART1_BASE_ADDR), &uart1));
++ mmio_region_from_addr(TOP_EARLGREY_UART0_BASE_ADDR), &uart1));
IGNORE_RESULT(dif_uart_configure(&uart1, uart_config));
+ base_uart_stdout(&uart1);
}
-
+
/**
-@@ -155,32 +147,11 @@ void handler_irq_timer(void) {
+@@ -149,32 +144,11 @@ void handler_irq_timer(void) {
* @param disable Set of peripherals to disable.
*/
void sca_disable_peripherals(sca_peripherals_t disable) {
@@ -137,8 +135,8 @@
+ .last_hintable_clock = CLKMGR_CLK_HINTS_CLK_MAIN_HMAC_HINT_BIT};
dif_clkmgr_t clkmgr;
IGNORE_RESULT(dif_clkmgr_init(clkmgr_params, &clkmgr));
-
-@@ -194,19 +165,6 @@ void sca_disable_peripherals(sca_peripherals_t disable) {
+
+@@ -188,19 +162,6 @@ void sca_disable_peripherals(sca_peripherals_t disable) {
&clkmgr, CLKMGR_CLK_HINTS_CLK_MAIN_HMAC_HINT_BIT,
kDifClkmgrToggleDisabled));
}
@@ -168,12 +166,12 @@
#include "sw/device/lib/testing/check.h"
-#include "sw/device/lib/testing/entropy_testutils.h"
#include "sw/device/lib/testing/test_framework/test_main.h"
-
+
#include "hw/top_earlgrey/sw/autogen/top_earlgrey.h"
@@ -67,9 +66,6 @@ bool test_main(void) {
-
+
LOG_INFO("Running AES test");
-
+
- // First of all, we need to get the entropy complex up and running.
- entropy_testutils_boot_mode_init();
-
@@ -181,10 +179,10 @@
dif_aes_params_t params = {
.base_addr = mmio_region_from_addr(TOP_EARLGREY_AES_BASE_ADDR),
diff --git a/sw/device/tests/meson.build b/sw/device/tests/meson.build
-index b52efb47d..c8ba0060b 100644
+index 7abdc2045..829968cb9 100644
--- a/sw/device/tests/meson.build
+++ b/sw/device/tests/meson.build
-@@ -243,7 +243,6 @@ aes_smoketest_lib = declare_dependency(
+@@ -207,7 +207,6 @@ aes_smoketest_lib = declare_dependency(
sw_lib_dif_aes,
sw_lib_mmio,
sw_lib_runtime_log,