Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[multitop] Devicetables SW #25807

Draft
wants to merge 11 commits into
base: master
Choose a base branch
from
Draft

Conversation

pamaury
Copy link
Contributor

@pamaury pamaury commented Jan 8, 2025

This is an implementation of the multitop software RFC and is a reimplementation of #24453.

Still WIP

TODO:

  • rename device ID to instance ID
  • cleanup templates and move some functionality to a dedicated helper class in python?
  • review everything

@pamaury
Copy link
Contributor Author

pamaury commented Jan 8, 2025

@Razer6 @a-will can you check if the clock rendering in the top header is still correct with unmanaged clocks that were recently introduced?

@pamaury pamaury force-pushed the multitop_sw_dt branch 2 times, most recently from 1e8044d to 211bc97 Compare January 8, 2025 15:52
@pamaury
Copy link
Contributor Author

pamaury commented Jan 8, 2025

I have done some renaming:

  • dt_device_type_t -> dt_instance_type_t
  • kDtDeviceType... -> kDtInstanceType...
  • dt_device_id_t -> dt_instance_id_t
  • kDtDeviceId... -> kDtInstanceId...
  • and similar device -> instance renaming in function calls and documentation

@pamaury pamaury force-pushed the multitop_sw_dt branch 2 times, most recently from 6617b03 to 4934aa4 Compare January 10, 2025 13:58
This list will be useful for the multi-top support.

Signed-off-by: Amaury Pouly <[email protected]>
Co-authored-by: Alexander Williams <[email protected]>
@pamaury pamaury force-pushed the multitop_sw_dt branch 3 times, most recently from 361d002 to 7d4c4ec Compare January 10, 2025 14:16
pamaury and others added 10 commits January 10, 2025 16:00
Signed-off-by: Amaury Pouly <[email protected]>
Co-authored-by: Alexander Williams <[email protected]>
This macro, which is similar to `opentitan_ip_{c,rust}_header` generates
the IP-specific part of the DT headers. This macro uses a rule a that
will be used to generate top-level headers later and so is slightly more
general than necessary for this commit.

Signed-off-by: Amaury Pouly <[email protected]>
This implementation works even if some of the elements are select().

Signed-off-by: Amaury Pouly <[email protected]>
This rule can generate both `dt_api.h` and the `devicetables.{c,h}`
library.

Signed-off-by: Amaury Pouly <[email protected]>
This commit adds the "target" specific part of the DT library.
Currently this is only used for the clock speeds which are not the
same on silicon and FPGA.

Signed-off-by: Amaury Pouly <[email protected]>
Co-authored-by: Alexander Williams <[email protected]>
This avoid including by mistake the wrong file: because it is
marked as incompatible, it will fail to compile.

Signed-off-by: Amaury Pouly <[email protected]>
This define is available as soon as one includes the top's library.

Signed-off-by: Amaury Pouly <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant