Skip to content

svdtools: patching yaml files/multipart yaml conversion? #126

Open
@hanetzer

Description

@hanetzer

So, I know this is mostly used to patch vendor-shipped svd files, but as prior issues have stated,
I've been using this to write svd's for cortex-a socs in yaml for use in other projects (ghidra, pycortexmdebug,
etc).

Is it possible, for example, do do the patching type stuff without a 'real' 'seed' svd file?
Like, I'd want to define all the svd blocks for stuff that is unique to this particular soc (clock controllers,
system controllers, various glue peripherals) in the primary yaml file, and draw from various 'library'
yaml files that define 'standard' peripherals (arm primecell stuff, designware stuff, etc).

I realize I can just concatenate main.yaml, gpioX.yaml, and so on, but that gets awkward as time goes on
and the file grows.

For example, one could have a file tree like this:

.
├── hi3516dv300.yaml
├── hi3521av100.yaml
└── peripherals
    ├── designware
    │   └── dw-mmc.yaml
    └── primecell
        ├── pl011.yaml
        ├── pl061.yaml
        └── sp804.yaml

Where hi3516dv300.yaml defines that there is a pl061 gpio at every 0x120d_{0..b}000 address block but
hi3521av100 has them at 0x12{15..22}_0000 and so on?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions