/* * This file is created to fulfill the requirement of a pinctrl-N * property for nodes in the specific target overlay file. * * In the current implementation of samples, the specific peripheral * driver instance is initialized at runtime with a configuration * based on pin symbols defined in `nrfx_example.h`. * * To use values from specific property nodes from the device tree, * appropriate values for the `psels` property must be provided * instead of the dummy values defined in that file. Once done, these values * can be accessed from the device tree through using the API implemented in * `` (see Zephyr’s doc: Devicetree access from C/C++). * * Here is a sample of extracting node `psels` values to initialize a peripheral * driver instance with a configuration based on those values: * * #define SPI_NODE DT_NODELABEL(spi1) * #define SPI_PINCTRL_NODE DT_CHILD(DT_PINCTRL_0(SPI_NODE, 0), group1) * #define SCK_PIN (DT_PROP_BY_IDX(SPI_PINCTRL_NODE, psels, 0) & 0x3F) * #define MISO_PIN (DT_PROP_BY_IDX(SPI_PINCTRL_NODE, psels, 1) & 0x3F) * #define MOSI_PIN (DT_PROP_BY_IDX(SPI_PINCTRL_NODE, psels, 2) & 0x3F) */ &pinctrl { spi_dummy: spi_dummy { group1 { psels = , , ; }; }; spi_master_default: spi_master_default { group1 { psels = , , ; }; }; spi_slave_dummy: spi_slave_dummy { group1 { psels = , , ; }; }; i2c_master_dummy: i2c_master_dummy { group1 { psels = , ; }; }; i2c_slave_dummy: i2c_slave_dummy { group1 { psels = , ; }; }; };