We have a nRF9160 custom board on which I cannot switch some of the IO lines.
For example we have two leds, P0.9 an P0.10 but only P0.9 works. The hardware guy reports the P0.10 output (scope) does not change when I toggle the output while debugging. I tried moving the led to P0.30 & P0.31 also without success. Also I need to change a uart1's rx and tx lines in some scenarios when it is not used to save energy. In this case I do not call uart_dev = device_get_binding("UART_1"), but want to just clear both lines. I am evidently doing something wrong or missing something. The gpio APIs all report no errors and in the debugger I see that the pin numbers are correct.
I have defined a custom board in the \ncs\v1.6.0\zephyr\boards\arm\ folder based on the nrf21540dk_nrf52840.
I need to change IO on the fly to save power of course. I am new to Zephyr. I have all of the pins I plan to manipulate defined in the board's dts file in the zephyr\boards directory.
Do I need to add something to my ns overlay? I do not know why P0.9 works but P0.10 does not if it is a security error.
Could there possibly be a conflict with something else using those pins?
Where in my build output can I check what the pin definitions are in use?
Can I dynamically switch any GPIO pin or do I have to define all of them in my overlay files?
Can I dynamically redefine pins used in a module (uart,pwm,etc) to GPIO to lower power consumption?