-
Notifications
You must be signed in to change notification settings - Fork 11
ot_gpio_eg
: remember input lines between resets
#213
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
Conversation
I start to think that we are trying to solve these reset issues the wrong way. The state is preserved on the board/chip package where some signal are maintained. On reset, the GPIO gets reset as other IPs, then samples what's on the external pins. The more we deviate from the actual HW, the more we'll get into trouble. I think what is really needed here is a padring which should be part of the SoC and that the GPIO must be connected to it. |
Yes, I think you're right. The padring should have the chardev interface that GPIO currently has and we should route those pads through pinmux and to the GPIO block. It would also be nice to have a "pin" for reset in the padring too. Would you be willing to accept this patch to the GPIO block before we start moving everything to padring? We'd like to get bootstrapping working in the shorter term if possible. |
Can you only keep it for EG? I'm pretty sure if we use the DJ version we will get into trouble ( + add a new ticket for the padring work) |
f9d0b9a
to
670483c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you update the format of the PR title as well? Thanks.
Signed-off-by: James Wainwright <james.wainwright@lowrisc.org>
670483c
to
32a8be4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Can you update the PR title with the "new" syntax? Thanks.
gpio
: remember input lines between resets
gpio
: remember input lines between resetsot_gpio_eg
: remember input lines between resets
GPIO has a chardev interface for driving the inputs into QEMU, however we're currently clearing our memory of these lines at reset.
For bootstrapping Earlgrey we need to assert some pins and then reset the chip. I have restored the input lines on reset so we remember which pins were asserted.