| # Copyright lowRISC contributors. |
| # Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| load("@lowrisc_opentitan//rules:autogen.bzl", "autogen_hjson_header") |
| load("//rules:autogen.bzl", "autogen_top_gen_hjson") |
| |
| package(default_visibility = ["//visibility:public"]) |
| |
| autogen_hjson_header( |
| name = "rv_plic_regs", |
| srcs = [ |
| "ip_autogen/rv_plic/data/rv_plic.hjson", |
| ], |
| ) |
| |
| autogen_hjson_header( |
| name = "rv_plic_smc_regs", |
| srcs = [ |
| "ip_autogen/rv_plic_smc/data/rv_plic_smc.hjson", |
| ], |
| ) |
| |
| autogen_hjson_header( |
| name = "alert_handler_regs", |
| srcs = [ |
| "ip_autogen/alert_handler/data/alert_handler.hjson", |
| ], |
| ) |
| |
| # Need to add the template and hjson files to the data to support topgen_matcha. |
| # This rule assumes all the top_sencha hjson files are already up-to-date. |
| autogen_top_gen_hjson( |
| name = "top_gen_rom_ctrl_hjson", |
| srcs = "//hw/top_sencha/data:top_sencha.hjson", |
| data = [ |
| ":all_hjson_files", |
| "@lowrisc_opentitan//hw:all_files", |
| ], |
| output = "data/autogen/top_sencha.gen.rom_ctrl.hjson", |
| ) |
| |
| filegroup( |
| name = "all_files", |
| srcs = glob(["**"]) + [ |
| "//hw/ip:all_files", |
| "//hw/top_sencha/data:all_files", |
| "//hw/top_sencha/dv:all_files", |
| "//hw/top_sencha/ip:all_files", |
| "//hw/top_sencha/sw:all_files", |
| ], |
| ) |
| |
| filegroup( |
| name = "all_hjson_files", |
| srcs = glob(["ip_autogen/**/*.hjson"]) + [ |
| "//hw/ip:all_hjson_files", |
| "//hw/top_sencha/data:all_hjson_files", |
| "//hw/top_sencha/ip:all_hjson_files", |
| ], |
| ) |
| |
| cc_library( |
| name = "alert_handler_regs_h", |
| hdrs = select({ |
| "//rules:sparrow_platform": [ |
| "//hw/top_sencha/sparrow/hw/top_sencha:alert_handler_regs.h", |
| ], |
| "//conditions:default": [], |
| }), |
| includes = select({ |
| "//rules:sparrow_platform": [ |
| "sparrow/hw/top_sencha", |
| ], |
| "//conditions:default": [], |
| }), |
| deps = select({ |
| "//rules:sparrow_platform": [ |
| ], |
| "//conditions:default": [ |
| "//hw/top_sencha:alert_handler_regs", |
| ], |
| }), |
| ) |
| |
| cc_library( |
| name = "ast_regs", |
| hdrs = select({ |
| "//rules:sparrow_platform": [ |
| "//hw/top_sencha/sparrow/hw/top_sencha:ip/ast/data/ast_regs.h", |
| ], |
| "//conditions:default": [], |
| }), |
| includes = select({ |
| "//rules:sparrow_platform": [ |
| "sparrow/hw/top_sencha/ip/ast/data", |
| ], |
| "//conditions:default": [], |
| }), |
| deps = select({ |
| "//rules:sparrow_platform": [ |
| ], |
| "//conditions:default": [ |
| "//hw/top_sencha/ip/ast/data:ast_regs", |
| ], |
| }), |
| ) |
| |
| cc_library( |
| name = "clkmgr_regs", |
| hdrs = select({ |
| "//rules:sparrow_platform": [ |
| "//hw/top_sencha/sparrow/hw/top_sencha:ip/clkmgr/data/autogen/clkmgr_regs.h", |
| ], |
| "//conditions:default": [], |
| }), |
| includes = select({ |
| "//rules:sparrow_platform": [ |
| "sparrow/hw/top_sencha/ip/clkmgr/data/autogen", |
| ], |
| "//conditions:default": [], |
| }), |
| deps = select({ |
| "//rules:sparrow_platform": [ |
| ], |
| "//conditions:default": [ |
| "//hw/top_sencha/ip/clkmgr/data/autogen:clkmgr_regs", |
| ], |
| }), |
| ) |
| |
| cc_library( |
| name = "pinmux_regs", |
| hdrs = select({ |
| "//rules:sparrow_platform": [ |
| "//hw/top_sencha/sparrow/hw/top_sencha:ip/pinmux/data/autogen/pinmux_regs.h", |
| ], |
| "//conditions:default": [], |
| }), |
| includes = select({ |
| "//rules:sparrow_platform": [ |
| "sparrow/hw/top_sencha/ip/pinmux/data/autogen", |
| ], |
| "//conditions:default": [], |
| }), |
| deps = select({ |
| "//rules:sparrow_platform": [ |
| ], |
| "//conditions:default": [ |
| "//hw/top_sencha/ip/pinmux/data/autogen:pinmux_regs", |
| ], |
| }), |
| ) |
| |
| cc_library( |
| name = "rv_plic_regs_h", |
| hdrs = select({ |
| "//rules:sparrow_platform": [ |
| "//hw/top_sencha/sparrow/hw/top_sencha:rv_plic_regs.h", |
| ], |
| "//conditions:default": [], |
| }), |
| includes = select({ |
| "//rules:sparrow_platform": [ |
| "sparrow/hw/top_sencha", |
| ], |
| "//conditions:default": [], |
| }), |
| deps = select({ |
| "//rules:sparrow_platform": [ |
| ], |
| "//conditions:default": [ |
| "//hw/top_sencha:rv_plic_regs", |
| ], |
| }), |
| ) |
| |
| cc_library( |
| name = "rv_plic_smc_regs_h", |
| hdrs = select({ |
| "//rules:sparrow_platform": [ |
| "//hw/top_sencha/sparrow/hw/top_sencha:rv_plic_smc_regs.h", |
| ], |
| "//conditions:default": [], |
| }), |
| includes = select({ |
| "//rules:sparrow_platform": [ |
| "sparrow/hw/top_sencha", |
| ], |
| "//conditions:default": [], |
| }), |
| deps = select({ |
| "//rules:sparrow_platform": [ |
| ], |
| "//conditions:default": [ |
| "//hw/top_sencha:rv_plic_smc_regs", |
| ], |
| }), |
| ) |