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

Create a documentation directory and updating the serial subsystem docs #156

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

Courtney3141
Copy link
Contributor

This pull request aims to provide an example of a preferred style of documentation. Firstly, it adds a docs directory to the repo, which contains developer targeted documentation for using each sDDF subsystem. Secondly, it restricts the README.md documentation in the serial example to more specifically provide details of the example, leaving general subsystem informations for docs/serial.md.

Once a convention for such documentation is agreed upon, we should aim to update the remaining sDDF subsystems.

Signed-off-by: Courtney Darville <[email protected]>
Signed-off-by: Courtney Darville <[email protected]>
Signed-off-by: Courtney Darville <[email protected]>
Signed-off-by: Courtney Darville <[email protected]>
Signed-off-by: Courtney Darville <[email protected]>
@erichchan999
Copy link
Contributor

erichchan999 commented Jul 12, 2024

I'm halfway through on a block doc aswell, will put that into this PR when im closer to finishing

@Ivan-Velickovic
Copy link
Collaborator

I'd like to discuss with others in the team the role of this documentation vs the design doc before reviewing. I don't have any strong opinions on whether we should have everything in one place or not, but I do want to understand what belongs in the design doc and what belongs in these more technical docs.

@Ivan-Velickovic
Copy link
Collaborator

I haven't looked closely yet but one good addition would be listing exactly what drivers we have and any setup they need.

Right now we have stuff like this in the Makefile:

# NOTES
#  Generates eth_driver.elf
#  Expects System Description File to set eth_regs to the address of
#  the registers
#  Expects libsddf_util_debug.a to be in LIBS

Other than the last line about LIBS, we really should not be documenting things in the Makefiles themselves.

So for serial we should have something like:

We support the following drivers:
* PL0111
* etc

Each driver expects to have the `uart_base` variable patched in the System Description File (SDF) like so:
<map mr="uart" vaddr="0x5_000_000" perms="rw" cached="false" setvar_vaddr="uart_base" />

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be showing example output, we should always include example output of what the system should look like when you boot it up so people know if they've done the right thing or not.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

docs/blk.md Outdated
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@erichchan999 can you put this in a separate PR, it'll be hard to address feedback for two people's work in the same PR. It's fine for your PR to just be based of Courtney's branch,

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sure, i'll undo those commits

## System architecture

The serial subsystem adheres to the sDDF design principles of modularalised components split via
separation of concerns which communicate via shared data structures and microkit channels.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
separation of concerns which communicate via shared data structures and microkit channels.
separation of concerns which communicate via shared data structures and asynchronous notifications (Microkit channels).

The serial subsystem adheres to the sDDF design principles of modularalised components split via
separation of concerns which communicate via shared data structures and microkit channels.

In order to transmit and receive via the uart device, clients of the system must interface with
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
In order to transmit and receive via the uart device, clients of the system must interface with
In order to transmit and receive via the UART device, clients of the system must interface with

@Ivan-Velickovic
Copy link
Collaborator

Before addressing any feedback I would suggest rebasing since there might be some conflicting changes in the serial example since the PR got made.

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.

3 participants