Difference between revisions of "Spi device tree source code"
From Wiki at Neela Nurseries
m (Add templates for further dts and dtsi file exceprt pairings.) |
m (Add dts file for zephyr/boards/arm/96b_carbon_nrf51 board.) |
||
Line 88: | Line 88: | ||
− | <i>Excerpt 2 - <i> | + | <i>Excerpt 2 - zephyr/boards/arm/96b_carbon_nrf51/96b_carbon_nrf51.dts<i> |
{| | {| | ||
| style="background:#ffffff; vertical-align:top; padding:10px;" | | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
+ | <pre> | ||
+ | </pre> | ||
| style="background:#ffffff; vertical-align:top; padding:10px;" | | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
+ | <pre> | ||
+ | &spi1 { | ||
+ | compatible = "nordic,nrf-spis"; | ||
+ | status = "okay"; | ||
+ | def-char = <0x00>; | ||
+ | pinctrl-0 = <&spi1_default>; | ||
+ | pinctrl-names = "default"; | ||
+ | bt-hci@0 { | ||
+ | compatible = "zephyr,bt-hci-spi-slave"; | ||
+ | reg = <0>; | ||
+ | irq-gpios = <&gpio0 28 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; | ||
+ | }; | ||
+ | }; | ||
+ | </pre> | ||
| style="background:#ffffff; vertical-align:top; padding:10px;" | | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
+ | <pre> | ||
+ | </pre> | ||
| style="background:#ffffff; vertical-align:top; padding:10px;" | | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
+ | <pre> | ||
+ | </pre> | ||
|} | |} | ||
Line 104: | Line 124: | ||
{| | {| | ||
| style="background:#ffffff; vertical-align:top; padding:10px;" | | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
+ | <pre> | ||
+ | </pre> | ||
| style="background:#ffffff; vertical-align:top; padding:10px;" | | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
+ | <pre> | ||
+ | </pre> | ||
| style="background:#ffffff; vertical-align:top; padding:10px;" | | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
+ | <pre> | ||
+ | </pre> | ||
| style="background:#ffffff; vertical-align:top; padding:10px;" | | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
+ | <pre> | ||
+ | </pre> | ||
|} | |} | ||
Line 117: | Line 145: | ||
{| | {| | ||
| style="background:#ffffff; vertical-align:top; padding:10px;" | | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
+ | <pre> | ||
+ | </pre> | ||
| style="background:#ffffff; vertical-align:top; padding:10px;" | | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
+ | <pre> | ||
+ | </pre> | ||
| style="background:#ffffff; vertical-align:top; padding:10px;" | | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
+ | <pre> | ||
+ | </pre> | ||
| style="background:#ffffff; vertical-align:top; padding:10px;" | | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
+ | <pre> | ||
+ | </pre> | ||
|} | |} | ||
Line 130: | Line 166: | ||
{| | {| | ||
| style="background:#ffffff; vertical-align:top; padding:10px;" | | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
+ | <pre> | ||
+ | </pre> | ||
| style="background:#ffffff; vertical-align:top; padding:10px;" | | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
+ | <pre> | ||
+ | </pre> | ||
| style="background:#ffffff; vertical-align:top; padding:10px;" | | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
+ | <pre> | ||
+ | </pre> | ||
| style="background:#ffffff; vertical-align:top; padding:10px;" | | | style="background:#ffffff; vertical-align:top; padding:10px;" | | ||
+ | <pre> | ||
+ | </pre> | ||
|} | |} | ||
Revision as of 22:59, 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 - zephyr/boards/arm/96b_carbon_nrf51/96b_carbon_nrf51.dts<i>
|
&spi1 { compatible = "nordic,nrf-spis"; status = "okay"; def-char = <0x00>; pinctrl-0 = <&spi1_default>; pinctrl-names = "default"; bt-hci@0 { compatible = "zephyr,bt-hci-spi-slave"; reg = <0>; irq-gpios = <&gpio0 28 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; }; }; |
|
|
<i>Excerpt 3 - <i>
|
|
|
|
<i>Excerpt 4 - <i>
|
|
|
|
<i>Excerpt 5 - <i>
|
|
|
|
^ 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