We are developing an application based in nRF5340 using nRF Connect SDK v1.7.0
In this application we have a bootloader for both app and net cores.
Bluetooth is set to be used: CONFIG_BT=y
In our hardware setup all the GPIO pins are used by the application core. No pins are intended to be used by the net core.
However the default net core device tree configuration uses some pins for uart0, buttons etc. One of the pins (0.10) is used as uart0-cts pin by the net core but it should be controlled by the app core as output pin.
We want to remove any pin assignment form the net core.
What we tried so far:
1. Add an overlay file for the net core, where we disable uart0 --> app core still cannot control the 0.10 pin
&uart0 {
status = "disabled";
};
2. Add an overlay file for the net core, where we disable uart0 --> app core still cannot control the 0.10 pin
/ {
/delete-node/uart0;
};
3. Disabled logs for net core that could use the uart0 --> app core still cannot control the 0.10 pin
4. Assigned the pin to another peripheral in the "nrf5340dk_nrf5340_cpuapp.overlay" file. --> app core still cannot control the 0.10 pin
What can we do to remove pin assignments from the net core and assign functionality in the app core, when those are defined in "nrf5340dk_nrf5340_cpunet.dts"?
Update: According to this post, the control of these pins is given to the netcore via the "nrf5340_cpunet_reset.c" file. Does this mean we cannot configure the access of the pins via Net or App core directly from overlay files and we need to modify this "nrf5340_cpunet_reset.c" file?
We managed to regain control of the pin using the nrf_gpio_pin_mcu_select() function, however the question remains, if this can be set up at a configuration/overlay level.