pw_i2c_rp2040: Initiator implementation

Bug: b/303255049
Change-Id: I88e57f2b0feecb4959a5c857f1e5355e052ac3c6
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173552
Reviewed-by: Erik Gilling <konkers@google.com>
10 files changed
tree: 12e4818f92c48225c22a709b049101b205b87d33
  1. .allstar/
  2. .vscode/
  3. build_overrides/
  4. docker/
  5. docs/
  6. kudzu/
  7. pw_alignment/
  8. pw_allocator/
  9. pw_analog/
  10. pw_android_toolchain/
  11. pw_arduino_build/
  12. pw_assert/
  13. pw_assert_basic/
  14. pw_assert_log/
  15. pw_assert_tokenized/
  16. pw_assert_zephyr/
  17. pw_async/
  18. pw_async2/
  19. pw_async2_basic/
  20. pw_async_basic/
  21. pw_base64/
  22. pw_bloat/
  23. pw_blob_store/
  24. pw_bluetooth/
  25. pw_bluetooth_hci/
  26. pw_bluetooth_profiles/
  27. pw_bluetooth_proxy/
  28. pw_bluetooth_sapphire/
  29. pw_boot/
  30. pw_boot_cortex_m/
  31. pw_build/
  32. pw_build_android/
  33. pw_build_info/
  34. pw_build_mcuxpresso/
  35. pw_bytes/
  36. pw_channel/
  37. pw_checksum/
  38. pw_chre/
  39. pw_chrono/
  40. pw_chrono_embos/
  41. pw_chrono_freertos/
  42. pw_chrono_rp2040/
  43. pw_chrono_stl/
  44. pw_chrono_threadx/
  45. pw_chrono_zephyr/
  46. pw_cli/
  47. pw_compilation_testing/
  48. pw_config_loader/
  49. pw_console/
  50. pw_containers/
  51. pw_cpu_exception/
  52. pw_cpu_exception_cortex_m/
  53. pw_crypto/
  54. pw_digital_io/
  55. pw_digital_io_linux/
  56. pw_digital_io_mcuxpresso/
  57. pw_digital_io_rp2040/
  58. pw_docgen/
  59. pw_doctor/
  60. pw_emu/
  61. pw_env_setup/
  62. pw_env_setup_zephyr/
  63. pw_file/
  64. pw_format/
  65. pw_function/
  66. pw_fuzzer/
  67. pw_grpc/
  68. pw_hdlc/
  69. pw_hex_dump/
  70. pw_i2c/
  71. pw_i2c_linux/
  72. pw_i2c_mcuxpresso/
  73. pw_i2c_rp2040/
  74. pw_ide/
  75. pw_interrupt/
  76. pw_interrupt_cortex_m/
  77. pw_interrupt_xtensa/
  78. pw_interrupt_zephyr/
  79. pw_intrusive_ptr/
  80. pw_json/
  81. pw_kvs/
  82. pw_libc/
  83. pw_libcxx/
  84. pw_log/
  85. pw_log_android/
  86. pw_log_basic/
  87. pw_log_null/
  88. pw_log_rpc/
  89. pw_log_string/
  90. pw_log_tokenized/
  91. pw_log_zephyr/
  92. pw_malloc/
  93. pw_malloc_freelist/
  94. pw_malloc_freertos/
  95. pw_metric/
  96. pw_minimal_cpp_stdlib/
  97. pw_module/
  98. pw_multibuf/
  99. pw_multisink/
  100. pw_package/
  101. pw_perf_test/
  102. pw_persistent_ram/
  103. pw_polyfill/
  104. pw_preprocessor/
  105. pw_presubmit/
  106. pw_protobuf/
  107. pw_protobuf_compiler/
  108. pw_random/
  109. pw_result/
  110. pw_ring_buffer/
  111. pw_router/
  112. pw_rpc/
  113. pw_rpc_transport/
  114. pw_rust/
  115. pw_snapshot/
  116. pw_software_update/
  117. pw_span/
  118. pw_spi/
  119. pw_spi_mcuxpresso/
  120. pw_spi_rp2040/
  121. pw_status/
  122. pw_stm32cube_build/
  123. pw_stream/
  124. pw_stream_shmem_mcuxpresso/
  125. pw_stream_uart_linux/
  126. pw_stream_uart_mcuxpresso/
  127. pw_string/
  128. pw_symbolizer/
  129. pw_sync/
  130. pw_sync_baremetal/
  131. pw_sync_embos/
  132. pw_sync_freertos/
  133. pw_sync_stl/
  134. pw_sync_threadx/
  135. pw_sync_zephyr/
  136. pw_sys_io/
  137. pw_sys_io_ambiq_sdk/
  138. pw_sys_io_arduino/
  139. pw_sys_io_baremetal_lm3s6965evb/
  140. pw_sys_io_baremetal_stm32f429/
  141. pw_sys_io_emcraft_sf2/
  142. pw_sys_io_mcuxpresso/
  143. pw_sys_io_rp2040/
  144. pw_sys_io_stdio/
  145. pw_sys_io_stm32cube/
  146. pw_sys_io_zephyr/
  147. pw_system/
  148. pw_target_runner/
  149. pw_thread/
  150. pw_thread_embos/
  151. pw_thread_freertos/
  152. pw_thread_stl/
  153. pw_thread_threadx/
  154. pw_thread_zephyr/
  155. pw_tls_client/
  156. pw_tls_client_boringssl/
  157. pw_tls_client_mbedtls/
  158. pw_tokenizer/
  159. pw_toolchain/
  160. pw_toolchain_bazel/
  161. pw_trace/
  162. pw_trace_tokenized/
  163. pw_transfer/
  164. pw_unit_test/
  165. pw_unit_test_zephyr/
  166. pw_varint/
  167. pw_watch/
  168. pw_web/
  169. pw_work_queue/
  170. seed/
  171. targets/
  172. third_party/
  173. ts/
  174. zephyr/
  175. .bazelignore
  176. .bazelrc
  177. .black.toml
  178. .clang-format
  179. .clang-tidy
  180. .eslintrc.cjs
  181. .git-blame-ignore-revs
  182. .gitattributes
  183. .gitignore
  184. .gn
  185. .mypy.ini
  186. .prettierignore
  187. .prettierrc.cjs
  188. .pw_ide.yaml
  189. .pylintrc
  190. activate.bat
  191. Android.bp
  192. AUTHORS
  193. bootstrap.bat
  194. bootstrap.sh
  195. BUILD.bazel
  196. BUILD.gn
  197. BUILDCONFIG.gn
  198. CMakeLists.txt
  199. jest.config.ts
  200. Kconfig.zephyr
  201. LICENSE
  202. modules.gni
  203. OWNERS
  204. package-lock.json
  205. package.json
  206. pigweed.json
  207. PIGWEED_MODULES
  208. README.md
  209. rollup.config.js
  210. tsconfig.json
  211. WORKSPACE
README.md

Pigweed

Pigweed is an open source collection of embedded-targeted libraries–or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.

For more information please see our website: https://pigweed.dev/.

Links