[devices][i2c] Implement i2c driver for NXP imx8m* SoCs

Implement I2C controller driver for imx8m group of SoCs. Enable
I2C1 and I2C2 busses from board driver and PMIC on I2C bus 1.

Clocking is yet to be integrated in the driver, currently clock
rate is hard coded in the driver based on what u-boot sets.

Tests: Able to read different PMIC registers using i2cutil.
Change-Id: Ia041182d296e61ef5e05da234c6348925e39ddf1
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/781322
Reviewed-by: Christopher Anderson <cja@google.com>
Reviewed-by: Braden Kell <bradenkell@google.com>
Commit-Queue: Braden Kell <bradenkell@google.com>
Reviewed-by: Suraj Malhotra <surajmalhotra@google.com>
20 files changed
tree: b7d1468d2c8b9c62a40521afaf90968afa6730b8
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. products/
  7. scripts/
  8. sdk/
  9. src/
  10. third_party/
  11. tools/
  12. zircon/
  13. .clang-format
  14. .clang-tidy
  15. .editorconfig
  16. .git-blame-ignore-revs
  17. .gitattributes
  18. .gitignore
  19. .gitmodules
  20. .gn
  21. .style.yapf
  22. analysis_options.yaml
  23. AUTHORS
  24. BUILD.gn
  25. CODE_OF_CONDUCT.md
  26. CONTRIBUTING.md
  27. fuchsia.code-workspace
  28. LICENSE
  29. OWNERS
  30. PATENTS
  31. pyrightconfig.json
  32. README.md
  33. rustfmt.toml
README.md

Fuchsia

What is Fuchsia?

Fuchsia is an open source, general purpose operating system supporting modern 64-bit Intel and ARM processors.

We expect everyone interacting with our project to respect our code of conduct.

Read more about Fuchsia's principles.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.