[bazel] fixup bazel rules for autogen targets
* rv_plic autogen moved relevant hjson targets which need a new
rule to build.
* many of the difs got new autogenerated code files.
* edn got a unit test
Signed-off-by: Drew Macrae <drewmacrae@google.com>
diff --git a/hw/top_earlgrey/BUILD b/hw/top_earlgrey/BUILD
index 9f9e5f5..62ed427 100644
--- a/hw/top_earlgrey/BUILD
+++ b/hw/top_earlgrey/BUILD
@@ -1,3 +1,14 @@
# Copyright lowRISC contributors.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0
+
+package(default_visibility = ["//visibility:public"])
+
+load("//rules:autogen.bzl", "autogen_hjson_header")
+
+autogen_hjson_header(
+ name = "rv_plic_regs",
+ srcs = [
+ "ip_autogen/rv_plic/data/rv_plic.hjson",
+ ],
+)
diff --git a/sw/device/lib/dif/BUILD b/sw/device/lib/dif/BUILD
index 68efe05..8bf2eaf 100644
--- a/sw/device/lib/dif/BUILD
+++ b/sw/device/lib/dif/BUILD
@@ -14,10 +14,13 @@
cc_library(
name = "clkmgr",
srcs = [
+ "autogen/dif_clkmgr_autogen.c",
+ "autogen/dif_clkmgr_autogen.h",
"dif_clkmgr.c",
],
hdrs = ["dif_clkmgr.h"],
deps = [
+ ":base",
"//hw/top_earlgrey/ip/clkmgr/data/autogen:clkmgr_regs",
"//sw/device/lib/base",
],
@@ -26,6 +29,9 @@
cc_test(
name = "clkmgr_unittest",
srcs = [
+ "autogen/dif_clkmgr_autogen.c",
+ "autogen/dif_clkmgr_autogen.h",
+ "autogen/dif_clkmgr_autogen_unittest.cc",
"dif_clkmgr.c",
"dif_clkmgr.h",
"dif_clkmgr_unittest.cc",
@@ -34,6 +40,7 @@
"MOCK_MMIO=1",
],
deps = [
+ ":base",
"//hw/top_earlgrey/ip/clkmgr/data/autogen:clkmgr_regs",
"//sw/device/lib/base",
"//sw/device/lib/base/testing",
@@ -44,12 +51,15 @@
cc_library(
name = "csrng",
srcs = [
+ "autogen/dif_csrng_autogen.c",
+ "autogen/dif_csrng_autogen.h",
"dif_csrng.c",
],
hdrs = [
"dif_csrng.h",
],
deps = [
+ ":base",
"//hw/ip/csrng/data:csrng_regs",
"//sw/device/lib/base",
],
@@ -58,6 +68,9 @@
cc_test(
name = "csrng_unittest",
srcs = [
+ "autogen/dif_csrng_autogen.c",
+ "autogen/dif_csrng_autogen.h",
+ "autogen/dif_csrng_autogen_unittest.cc",
"dif_csrng.c",
"dif_csrng.h",
"dif_csrng_unittest.cc",
@@ -66,6 +79,7 @@
"MOCK_MMIO=1",
],
deps = [
+ ":base",
"//hw/ip/csrng/data:csrng_regs",
"//sw/device/lib/base",
"//sw/device/lib/base/testing",
@@ -76,17 +90,41 @@
cc_library(
name = "edn",
srcs = [
+ "autogen/dif_edn_autogen.c",
+ "autogen/dif_edn_autogen.h",
"dif_edn.c",
],
hdrs = [
"dif_edn.h",
],
deps = [
+ ":base",
"//hw/ip/edn/data:edn_regs",
"//sw/device/lib/base",
],
)
+cc_test(
+ name = "edn_unittest",
+ srcs = [
+ "autogen/dif_edn_autogen.c",
+ "autogen/dif_edn_autogen.h",
+ "autogen/dif_edn_autogen_unittest.cc",
+ "dif_edn.c",
+ "dif_edn.h",
+ ],
+ defines = [
+ "MOCK_MMIO=1",
+ ],
+ deps = [
+ ":base",
+ "//hw/ip/edn/data:edn_regs",
+ "//sw/device/lib/base",
+ "//sw/device/lib/base/testing",
+ "@googletest//:gtest_main",
+ ],
+)
+
cc_library(
name = "uart",
srcs = [
@@ -133,7 +171,7 @@
"dif_rv_plic.h",
],
deps = [
- "//hw/top_earlgrey/ip/rv_plic/data/autogen:rv_plic_regs",
+ "//hw/top_earlgrey:rv_plic_regs",
"//sw/device/lib/base",
],
)
@@ -149,7 +187,7 @@
"MOCK_MMIO=1",
],
deps = [
- "//hw/top_earlgrey/ip/rv_plic/data/autogen:rv_plic_regs",
+ "//hw/top_earlgrey:rv_plic_regs",
"//sw/device/lib/base",
"//sw/device/lib/base/testing",
"@googletest//:gtest_main",
@@ -262,12 +300,15 @@
cc_library(
name = "i2c",
srcs = [
+ "autogen/dif_i2c_autogen.c",
+ "autogen/dif_i2c_autogen.h",
"dif_i2c.c",
],
hdrs = [
"dif_i2c.h",
],
deps = [
+ ":base",
"//hw/ip/i2c/data:i2c_regs",
"//sw/device/lib/base",
],
@@ -276,6 +317,9 @@
cc_test(
name = "i2c_unittest",
srcs = [
+ "autogen/dif_i2c_autogen.c",
+ "autogen/dif_i2c_autogen.h",
+ "autogen/dif_i2c_autogen_unittest.cc",
"dif_i2c.c",
"dif_i2c.h",
"dif_i2c_unittest.cc",
@@ -284,6 +328,7 @@
"MOCK_MMIO=1",
],
deps = [
+ ":base",
"//hw/ip/i2c/data:i2c_regs",
"//sw/device/lib/base",
"//sw/device/lib/base/testing",
@@ -378,12 +423,15 @@
cc_library(
name = "otbn",
srcs = [
+ "autogen/dif_otbn_autogen.c",
+ "autogen/dif_otbn_autogen.h",
"dif_otbn.c",
],
hdrs = [
"dif_otbn.h",
],
deps = [
+ ":base",
"//hw/ip/otbn/data:otbn_regs",
"//sw/device/lib/base",
],
@@ -392,6 +440,9 @@
cc_test(
name = "otbn_unittest",
srcs = [
+ "autogen/dif_otbn_autogen.c",
+ "autogen/dif_otbn_autogen.h",
+ "autogen/dif_otbn_autogen_unittest.cc",
"dif_otbn.c",
"dif_otbn.h",
"dif_otbn_unittest.cc",
@@ -400,6 +451,7 @@
"MOCK_MMIO=1",
],
deps = [
+ ":base",
"//hw/ip/otbn/data:otbn_regs",
"//sw/device/lib/base",
"//sw/device/lib/base/testing",
@@ -410,12 +462,15 @@
cc_library(
name = "rstmgr",
srcs = [
+ "autogen/dif_rstmgr_autogen.c",
+ "autogen/dif_rstmgr_autogen.h",
"dif_rstmgr.c",
],
hdrs = [
"dif_rstmgr.h",
],
deps = [
+ ":base",
"//hw/top_earlgrey/ip/rstmgr/data/autogen:rstmgr_regs",
"//sw/device/lib/base",
],
@@ -424,6 +479,9 @@
cc_test(
name = "rstmgr_unittest",
srcs = [
+ "autogen/dif_rstmgr_autogen.c",
+ "autogen/dif_rstmgr_autogen.h",
+ "autogen/dif_rstmgr_autogen_unittest.cc",
"dif_rstmgr.c",
"dif_rstmgr.h",
"dif_rstmgr_unittest.cc",
@@ -432,6 +490,7 @@
"MOCK_MMIO=1",
],
deps = [
+ ":base",
"//hw/top_earlgrey/ip/rstmgr/data/autogen:rstmgr_regs",
"//sw/device/lib/base",
"//sw/device/lib/base/testing",
@@ -481,12 +540,15 @@
cc_library(
name = "pwrmgr",
srcs = [
+ "autogen/dif_pwrmgr_autogen.c",
+ "autogen/dif_pwrmgr_autogen.h",
"dif_pwrmgr.c",
],
hdrs = [
"dif_pwrmgr.h",
],
deps = [
+ ":base",
"//hw/top_earlgrey/ip/pwrmgr/data/autogen:pwrmgr_regs",
"//sw/device/lib/base",
],
@@ -495,6 +557,9 @@
cc_test(
name = "pwrmgr_unittest",
srcs = [
+ "autogen/dif_pwrmgr_autogen.c",
+ "autogen/dif_pwrmgr_autogen.h",
+ "autogen/dif_pwrmgr_autogen_unittest.cc",
"dif_pwrmgr.c",
"dif_pwrmgr.h",
"dif_pwrmgr_unittest.cc",
@@ -503,6 +568,7 @@
"MOCK_MMIO=1",
],
deps = [
+ ":base",
"//hw/top_earlgrey/ip/pwrmgr/data/autogen:pwrmgr_regs",
"//sw/device/lib/base",
"//sw/device/lib/base/testing",
@@ -513,12 +579,15 @@
cc_library(
name = "keymgr",
srcs = [
+ "autogen/dif_keymgr_autogen.c",
+ "autogen/dif_keymgr_autogen.h",
"dif_keymgr.c",
],
hdrs = [
"dif_keymgr.h",
],
deps = [
+ ":base",
"//hw/ip/keymgr/data:keymgr_regs",
"//sw/device/lib/base",
],
@@ -527,6 +596,9 @@
cc_test(
name = "keymgr_unittest",
srcs = [
+ "autogen/dif_keymgr_autogen.c",
+ "autogen/dif_keymgr_autogen.h",
+ "autogen/dif_keymgr_autogen_unittest.cc",
"dif_keymgr.c",
"dif_keymgr.h",
"dif_keymgr_unittest.cc",
@@ -535,6 +607,7 @@
"MOCK_MMIO=1",
],
deps = [
+ ":base",
"//hw/ip/keymgr/data:keymgr_regs",
"//sw/device/lib/base",
"//sw/device/lib/base/testing",
@@ -545,12 +618,15 @@
cc_library(
name = "otp_ctrl",
srcs = [
+ "autogen/dif_otp_ctrl_autogen.c",
+ "autogen/dif_otp_ctrl_autogen.h",
"dif_otp_ctrl.c",
],
hdrs = [
"dif_otp_ctrl.h",
],
deps = [
+ ":base",
"//hw/ip/otp_ctrl/data:otp_ctrl_regs",
"//sw/device/lib/base",
],
@@ -559,6 +635,9 @@
cc_test(
name = "otp_ctrl_unittest",
srcs = [
+ "autogen/dif_otp_ctrl_autogen.c",
+ "autogen/dif_otp_ctrl_autogen.h",
+ "autogen/dif_otp_ctrl_autogen_unittest.cc",
"dif_otp_ctrl.c",
"dif_otp_ctrl.h",
"dif_otp_ctrl_unittest.cc",
@@ -567,6 +646,7 @@
"MOCK_MMIO=1",
],
deps = [
+ ":base",
"//hw/ip/otp_ctrl/data:otp_ctrl_regs",
"//sw/device/lib/base",
"//sw/device/lib/base/testing",
@@ -648,12 +728,15 @@
cc_library(
name = "entropy_src",
srcs = [
+ "autogen/dif_entropy_src_autogen.c",
+ "autogen/dif_entropy_src_autogen.h",
"dif_entropy_src.c",
],
hdrs = [
"dif_entropy_src.h",
],
deps = [
+ ":base",
"//hw/ip/entropy_src/data:entropy_src_regs",
"//sw/device/lib/base",
],
@@ -662,6 +745,9 @@
cc_test(
name = "entropy_src_unittest",
srcs = [
+ "autogen/dif_entropy_src_autogen.c",
+ "autogen/dif_entropy_src_autogen.h",
+ "autogen/dif_entropy_src_autogen_unittest.cc",
"dif_entropy_src.c",
"dif_entropy_src.h",
"dif_entropy_src_unittest.cc",
@@ -670,6 +756,7 @@
"MOCK_MMIO=1",
],
deps = [
+ ":base",
"//hw/ip/entropy_src/data:entropy_src_regs",
"//sw/device/lib/base",
"//sw/device/lib/base/testing",
@@ -719,12 +806,15 @@
cc_library(
name = "pinmux",
srcs = [
+ "autogen/dif_pinmux_autogen.c",
+ "autogen/dif_pinmux_autogen.h",
"dif_pinmux.c",
],
hdrs = [
"dif_pinmux.h",
],
deps = [
+ ":base",
"//hw/top_earlgrey/ip/pinmux/data/autogen:pinmux_regs",
"//sw/device/lib/base",
],
@@ -733,12 +823,15 @@
cc_library(
name = "sram_ctrl",
srcs = [
+ "autogen/dif_sram_ctrl_autogen.c",
+ "autogen/dif_sram_ctrl_autogen.h",
"dif_sram_ctrl.c",
],
hdrs = [
"dif_sram_ctrl.h",
],
deps = [
+ ":base",
"//hw/ip/sram_ctrl/data:sram_ctrl_regs",
"//sw/device/lib/base",
],