commit | 45efcde3ed95a1da8d69afbfd6934964358c5e0a | [log] [tgz] |
---|---|---|
author | Timothy Trippel <ttrippel@google.com> | Wed Oct 13 21:48:57 2021 +0000 |
committer | Srikrishna Iyer <46467186+sriyerg@users.noreply.github.com> | Thu Oct 14 12:09:14 2021 -0700 |
tree | 5df86fc61f8a21c114cce7731e406281d264805c | |
parent | 937252d0166170259e1ac99bb07ba5c71111d13e [diff] |
[clkmgr] Add params to HJSON so they can be used by DIFs. This fixes #3932 and partially addresses #8409. Some clkmgr DIFs check if the user passed in a valid bit index for the CLKMGR_CLK_ENABLES_REG and CLKMGR_CLK_HINTS_REG registers. These bit indices are used to gate a specific clock, or hint a specific clock should be gated, from SW (i.e., using a DIF). Currently these indices are defined in both `top_<toplevel>.h` and in the auto-generated (at build-time) `clkmgr_regs.h`. However, the **number** of gateable and hintable clocks is only defined in the `top_<toplevel>.h`, which cannot be used in DIFs since it is toplevel-specific. The current work-around for this issue is to pass these bits of information in at run-time to the DIFs that use them, as described in #8409. The first step in addressing this issue is to add local parameters to the clkmgr's HJSON, so that the **number** of gateable and hintable clocks are defined in `clkmgr_regs.h`. This commit implements this first step as a part of a larger set of changes to address #8409. Signed-off-by: Timothy Trippel <ttrippel@google.com>
OpenTitan is an open source silicon Root of Trust (RoT) project. OpenTitan will make the silicon RoT design and implementation more transparent, trustworthy, and secure for enterprises, platform providers, and chip manufacturers. OpenTitan is administered by lowRISC CIC as a collaborative project to produce high quality, open IP for instantiation as a full-featured product. See the OpenTitan site and OpenTitan docs for more information about the project.
This repository contains hardware, software and utilities written as part of the OpenTitan project. It is structured as monolithic repository, or “monorepo”, where all components live in one repository. It exists to enable collaboration across partners participating in the OpenTitan project.
The project contains comprehensive documentation of all IPs and tools. You can access it online at docs.opentitan.org.
Have a look at CONTRIBUTING and our documentation on project organization and processes for guidelines on how to contribute code to this repository.
Unless otherwise noted, everything in this repository is covered by the Apache License, Version 2.0 (see LICENSE for full text).