When building our application for ns board variant, we are unable to configure and drive Pins 0 and 1 on port 0.
If we build for the default variant, the pins perform as expected.
The pins are simply being used to drive LEDs via BJTs.
We did find a work around which was to remove:
CONFIG_TFM_SECURE_UART30=y CONFIG_TFM_SECURE_UART_SHARE_INSTANCE=y
and replace it with
CONFIG_TFM_LOG_LEVEL_SILENCE=y
But ideally we would be able to keep TFM logs enabled for development.
UART30 is the instance we are using for shell/console.
Our UART30 instance is configured in pinctrl as:
/omit-if-no-ref/ uart_30_default: uart_30_default {
group1 {
psels = <NRF_PSEL(UART_TX, 0, 6)>,
<NRF_PSEL(UART_RTS, 0, 8)>;
};
group2 {
psels = <NRF_PSEL(UART_RX, 0, 7)>,
<NRF_PSEL(UART_CTS, 0, 9)>;
bias-pull-up;
};
};
/omit-if-no-ref/ uart_30_sleep: uart_30_sleep {
group1 {
psels = <NRF_PSEL(UART_TX, 0, 6)>,
<NRF_PSEL(UART_RX, 0, 7)>,
<NRF_PSEL(UART_RTS, 0, 8)>,
<NRF_PSEL(UART_CTS, 0, 9)>;
low-power-enable;
};
};
So enabling it in the secure domain shouldn't have any effect on pins 0 and 1.
Another thing potentially worth noting is that driving pin 0.2 does work, so its not securing all pins on the port 0 domain.