I ran into a problem that some parameters that I change in the device tree are not applied.
For example:
The resulting zephyr.dts file contains this setting:
uart0: uart@8000 {
compatible = "nordic,nrf-uarte";
reg = < 0x8000 0x1000 >;
interrupts = < 0x8 0x1 >;
status = "okay";
label = "UART_0";
current-speed = < 0x1c200 >;
tx-pin = < 0x5 >;
rx-pin = < 0x6 >;
};
in <devicetree_unfixed.h> these settings are also updated. I am interested in Tx Rx pins.
#define DT_N_S_soc_S_peripheral_40000000_S_uart_8000_P_tx_pin 5 #define DT_N_S_soc_S_peripheral_40000000_S_uart_8000_P_rx_pin 6
But when these values are to be written to registers, the register value remains the same. (file nrf_uarte.h)


This happens at the initialization stage of running main.
Why does it work like this? What can block writing to these registers?