Skip to content

Conversation

jonathannilsen
Copy link
Contributor

@jonathannilsen jonathannilsen commented Aug 28, 2025

The upcoming release of IronSide SE no longer disables RETAIN
in all GPIO instances on boot, so the application must be able
to handle the hardware default state of RETAIN being enabled.

The GPIO retention is properly handled by changes that are
currently only upstream and will be pulled in by the next upmerge.
This patch exists a workaround to be able to integrate
IronSide SE before the proper solution is pulled in.

Copy link
Contributor

@57300 57300 left a comment

Choose a reason for hiding this comment

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

Could you link the upstream changes for reference?

I'm wondering if it would complicate things too much if we just cherry-picked them here.

@jonathannilsen
Copy link
Contributor Author

Could you link the upstream changes for reference?

I'm wondering if it would complicate things too much if we just cherry-picked them here.

If I'm not mistaken we are missing this, which is only on the 3.1 branch at the moment: #3175
I believe zephyrproject-rtos/zephyr#90754 is the critical part there with the gpio pad driver for handling retention for the slow pins, no idea if any other changes are strictly needed for this.

I don't have much context other than that, @bjarki-andreasen?

This patch should be dropped as part of the next upmerge.

The upcoming release of IronSide SE no longer disables RETAIN
in all GPIO instances on boot, so the application must be able
to handle the hardware default state of RETAIN being enabled.

The GPIO retention is properly handled by changes that are
currently only upstream and will be pulled in by the next upmerge.
This patch exists a workaround to be able to integrate
IronSide SE before the proper solution is pulled in.

Signed-off-by: Jonathan Nilsen <[email protected]>
@bjarki-andreasen
Copy link
Contributor

Could you link the upstream changes for reference?
I'm wondering if it would complicate things too much if we just cherry-picked them here.

If I'm not mistaken we are missing this, which is only on the 3.1 branch at the moment: #3175 I believe zephyrproject-rtos/zephyr#90754 is the critical part there with the gpio pad driver for handling retention for the slow pins, no idea if any other changes are strictly needed for this.

I don't have much context other than that, @bjarki-andreasen?

The proper solution upstream is to enable power domains for the H20 everywhere, which just means not disabling them in upstream MCUBoot. Downstream for now, since we don't have zephyrproject-rtos/zephyr#90754, this noup is needed as the power domain drivers which would disable retention simply are not there yet :)

@bjarki-andreasen bjarki-andreasen merged commit 20d89eb into nrfconnect:main Aug 28, 2025
19 checks passed
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.

5 participants