Difference between revisions of "Spi device tree source code"
Jump to navigation
Jump to search
m (Add pin control .dtsi file for sparkfun_thing_plus_nrf9160 board.) |
m (Add templates for further dts and dtsi file exceprt pairings.) |
||
| Line 7: | Line 7: | ||
In Zephyr RTOS' supported board dts files we find SPI peripherals defined for several boards. Here are excerpts | In Zephyr RTOS' supported board dts files we find SPI peripherals defined for several boards. Here are excerpts | ||
| − | <i> zephyr/boards/arm/sparkfun_thing_plus_nrf9160/sparkfun_thing_plus_nrf9160_common.dts</i> | + | <i>Excerpt 1 - zephyr/boards/arm/sparkfun_thing_plus_nrf9160/sparkfun_thing_plus_nrf9160_common.dts</i> |
{| | {| | ||
|- | |- | ||
| Line 87: | Line 87: | ||
|} | |} | ||
| + | |||
| + | <i>Excerpt 2 - <i> | ||
| + | {| | ||
| + | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
| + | |||
| + | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
| + | |||
| + | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
| + | |||
| + | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
| + | |||
| + | |} | ||
| + | |||
| + | |||
| + | <i>Excerpt 3 - <i> | ||
| + | {| | ||
| + | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
| + | |||
| + | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
| + | |||
| + | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
| + | |||
| + | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
| + | |||
| + | |} | ||
| + | |||
| + | |||
| + | <i>Excerpt 4 - <i> | ||
| + | {| | ||
| + | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
| + | |||
| + | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
| + | |||
| + | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
| + | |||
| + | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
| + | |||
| + | |} | ||
| + | |||
| + | |||
| + | <i>Excerpt 5 - <i> | ||
| + | {| | ||
| + | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
| + | |||
| + | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
| + | |||
| + | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
| + | |||
| + | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
| + | |||
| + | |} | ||
| + | |||
| + | |||
| + | <!-- | ||
| + | |||
| + | <i>Excerpt x - <i> | ||
| + | {| | ||
| + | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
| + | |||
| + | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
| + | |||
| + | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
| + | |||
| + | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
| + | |||
| + | |} | ||
| + | |||
| + | --> | ||
Revision as of 22:52, 11 August 2022
2022-08-11 Thursday
Notes on SPI device tree source, with goal to add SPI device to modified RPi Pico DTS files, which build firmware to run on Sparkfun DEV-18288 board.
In Zephyr RTOS' supported board dts files we find SPI peripherals defined for several boards. Here are excerpts
Excerpt 1 - zephyr/boards/arm/sparkfun_thing_plus_nrf9160/sparkfun_thing_plus_nrf9160_common.dts
142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 |
&spi3 {
compatible = "nordic,nrf-spim";
status = "okay";
cs-gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
pinctrl-0 = <&spi3_default>;
pinctrl-1 = <&spi3_sleep>;
pinctrl-names = "default", "sleep";
w25q32jv: w25q32jv@0 {
compatible = "jedec,spi-nor";
label = "W25Q32JV";
reg = <0>;
spi-max-frequency = <40000000>;
wp-gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
hold-gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
size = <0x2000000>;
has-dpd;
t-enter-dpd = <3000>;
t-exit-dpd = <30000>;
jedec-id = [ ef 40 16 ];
};
};
|
a |
81 spi3_default: spi3_default {
82 group1 {
83 psels = <NRF_PSEL(SPIM_SCK, 0, 11)>,
84 <NRF_PSEL(SPIM_MOSI, 0, 9)>,
85 <NRF_PSEL(SPIM_MISO, 0, 28)>;
86 };
87 };
88
89 spi3_sleep: spi3_sleep {
90 group1 {
91 psels = <NRF_PSEL(SPIM_SCK, 0, 11)>,
92 <NRF_PSEL(SPIM_MOSI, 0, 9)>,
93 <NRF_PSEL(SPIM_MISO, 0, 28)>;
94 low-power-enable;
95 };
96 };
|
Excerpt 2 -
Excerpt 3 -
Excerpt 4 -
Excerpt 5 -
^ YAML device bindings files
To support a typical development kit or custom board with multiple peripherals we need a device bindings file comparable to this ... bindings file:
- ~/projects-sandbox/workspace-for-rpi/zephyr/boards/arm/nrf9160dk_nrf9160/nrf9160dk_nrf9160.yaml
identifier: nrf9160dk_nrf9160 name: nRF9160-DK-NRF9160 type: mcu arch: arm toolchain: - gnuarmemb - xtools - zephyr ram: 88 flash: 256 supported: - arduino_gpio - arduino_i2c - gpio - i2c - pwm - spi - watchdog - counter