blob: 34790ba790041cde9f6f2b1dbbcec9a8cd164f27 [file] [log] [blame]
# Copyright lowRISC contributors.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0
load("@rules_rust//rust:defs.bzl", "rust_library", "rust_test")
load("@rules_rust//bindgen:bindgen.bzl", "rust_bindgen_library")
package(default_visibility = ["//visibility:public"])
cc_library(
name = "difs",
hdrs = ["difs.h"],
deps = [
"//sw/device/lib/dif:lc_ctrl",
"//sw/device/lib/dif:rstmgr",
],
)
rust_bindgen_library(
name = "alert",
bindgen_flags = [
"--allowlist-type=AlertClass",
"--allowlist-type=AlertEnable",
"--allowlist-type=AlertEscalate",
],
cc_lib = "//sw/device/silicon_creator/lib/drivers:alert",
header = "//sw/device/silicon_creator/lib/drivers:alert.h",
rustc_flags = [
"--allow=non_snake_case",
"--allow=non_upper_case_globals",
],
)
rust_bindgen_library(
name = "dif",
bindgen_flags = [
"--allowlist-type=dif_lc_ctrl_state",
"--allowlist-type=dif_lc_ctrl_token",
"--allowlist-var=LC_CTRL_.*_BIT",
"--allowlist-var=LC_CTRL_.*_REG_OFFSET",
"--allowlist-type=dif_rstmgr_reset_info",
],
cc_lib = ":difs",
header = "difs.h",
rustc_flags = [
"--allow=non_snake_case",
"--allow=non_upper_case_globals",
"--allow=non_camel_case_types",
],
)
rust_bindgen_library(
name = "earlgrey",
bindgen_flags = [
"--allowlist-type=top_earlgrey_alert_peripheral",
"--allowlist-type=top_earlgrey_alert_id",
"--allowlist-type=top_earlgrey_pinmux_peripheral_in",
"--allowlist-type=top_earlgrey_pinmux_insel",
"--allowlist-type=top_earlgrey_pinmux_mio_out",
"--allowlist-type=top_earlgrey_pinmux_outsel",
"--allowlist-type=top_earlgrey_direct_pads",
"--allowlist-type=top_earlgrey_muxed_pads",
"--allowlist-type=top_earlgrey_power_manager_wake_ups",
"--allowlist-type=top_earlgrey_reset_manager_sw_resets",
"--allowlist-type=top_earlgrey_power_manager_reset_requests",
"--allowlist-type=top_earlgrey_gateable_clocks",
"--allowlist-type=top_earlgrey_hintable_clocks",
],
cc_lib = "//hw/top_earlgrey/sw/autogen:top_earlgrey",
header = "//hw/top_earlgrey/sw/autogen:top_earlgrey.h",
rustc_flags = [
"--allow=non_snake_case",
"--allow=non_upper_case_globals",
"--allow=non_camel_case_types",
],
)
rust_bindgen_library(
name = "hardened",
bindgen_flags = [
"--allowlist-type=hardened_bool",
"--allowlist-type=hardened_byte_bool",
],
cc_lib = "//sw/device/lib/base:hardened",
header = "//sw/device/lib/base:hardened.h",
rustc_flags = [
"--allow=non_snake_case",
"--allow=non_upper_case_globals",
"--allow=non_camel_case_types",
],
)
rust_bindgen_library(
name = "multibits",
bindgen_flags = [
"--allowlist-type=multi_bit_bool",
],
cc_lib = "//sw/device/lib/base:multibits",
header = "//sw/device/lib/base:multibits.h",
rustc_flags = [
"--allow=non_snake_case",
"--allow=non_upper_case_globals",
"--allow=non_camel_case_types",
],
)
rust_library(
name = "bindgen",
srcs = ["lib.rs"],
deps = [
":alert",
":dif",
":earlgrey",
":hardened",
":multibits",
],
)