pw_digital_io_mcuxpresso: Enable gpio clock even when disabling gpio

When define `FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL=1` is set,
the `kCLOCK_HsGpio[0-7]` clock doesn't get enabled anymore
by `GPIO_PinInit`. This change enables the `kCLOCK_HsGpio[0-7]`
before calling `GPIO_PinInit` even if we are disabling the GPIO.

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