diff --git a/boards/shields/adafruit_aw9523/Kconfig.shield b/boards/shields/adafruit_aw9523/Kconfig.shield new file mode 100644 index 00000000000..9d853a9c67e --- /dev/null +++ b/boards/shields/adafruit_aw9523/Kconfig.shield @@ -0,0 +1,5 @@ +# Copyright (c) 2024 TOKITA Hiroshi +# SPDX-License-Identifier: Apache-2.0 + +config SHIELD_ADAFRUIT_AW9523 + def_bool $(shields_list_contains,adafruit_aw9523) diff --git a/boards/shields/adafruit_aw9523/adafruit_aw9523.overlay b/boards/shields/adafruit_aw9523/adafruit_aw9523.overlay new file mode 100644 index 00000000000..1b3ea5550e3 --- /dev/null +++ b/boards/shields/adafruit_aw9523/adafruit_aw9523.overlay @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2024 TOKITA Hiroshi + * + * SPDX-License-Identifier: Apache-2.0 + */ + +&stemma_qt_i2c { + status = "okay"; + + adafruit_aw9523: aw9523b@58 { + status = "okay"; + reg = <0x58>; + compatible = "awinic,aw9523b"; + + adafruit_aw9523_gpio: aw9523b-gpio { + status = "okay"; + compatible = "awinic,aw9523b-gpio"; + gpio-controller; + #gpio-cells = <2>; + }; + }; +}; diff --git a/boards/shields/adafruit_aw9523/doc/adafruit_aw9523.webp b/boards/shields/adafruit_aw9523/doc/adafruit_aw9523.webp new file mode 100644 index 00000000000..7a3cf48fda9 Binary files /dev/null and b/boards/shields/adafruit_aw9523/doc/adafruit_aw9523.webp differ diff --git a/boards/shields/adafruit_aw9523/doc/index.rst b/boards/shields/adafruit_aw9523/doc/index.rst new file mode 100644 index 00000000000..5f27d89f002 --- /dev/null +++ b/boards/shields/adafruit_aw9523/doc/index.rst @@ -0,0 +1,49 @@ +.. _adafruit_aw9523: + +Adafruit AW9523 GPIO Expander and LED Driver +############################################ + +Overview +******** + +The `Adafruit AW9523 GPIO Expander and LED Driver`_ provides +16-channel GPIO/LED controller function. + +.. figure:: adafruit_aw9523.webp + :align: center + :alt: Adafruit AW9523 + + Adafruit AW9523 (Credit: Adafruit) + +Pin Assignments +=============== + ++--------------------------+------------------------------------------+ +| Shield Pin | Function | ++==========================+==========================================+ +| SDA | AW9523B I2C SDA | ++--------------------------+------------------------------------------+ +| SCL | AW9523B I2C SCL | ++--------------------------+------------------------------------------+ +| INT (Pad on board) | AW9523B Interrupt output [1]_ | ++--------------------------+------------------------------------------+ +| RST (Pad on board) | AW9523B Reset pin [2]_ | ++--------------------------+------------------------------------------+ + +.. [1] To receive interrupts, connect the INT pin to the SoC's GPIO and set the connected + GPIO in the ``int-gpios`` property in an additional overlay. The INT terminal must be + pulled up. + +.. [2] If you want to control the reset pin from the SoC, connect it to a GPIO on the SoC + and define the ``reset-gpios`` property in an additional overlay. + +Programming +*********** + +Set ``--shield adafruit_aw9523`` when you invoke ``west build``. + +.. _Adafruit AW9523 GPIO Expander and LED Driver: + https://learn.adafruit.com/adafruit-aw9523-gpio-expander-and-led-driver + +.. _Awinic AW9523B 16 MULTI-FUNCTION LED DRIVER AND GPIO CONTROLLER WITH I2C INTERFACE: + https://doc.awinic.com/doc/202403/deffbf3b-7e7b-4ff6-8e91-fd85e2d845d5.pdf diff --git a/dts/bindings/mfd/awinic,aw9523b.yaml b/dts/bindings/mfd/awinic,aw9523b.yaml index 7e2d46f0b83..a98ce9f709a 100644 --- a/dts/bindings/mfd/awinic,aw9523b.yaml +++ b/dts/bindings/mfd/awinic,aw9523b.yaml @@ -1,7 +1,7 @@ # Copyright (c) 2024 TOKITA Hiroshi # SPDX-License-Identifier: Apache-2.0 -description: Awinic AW9523B +description: Awinic AW9523B 16 multi-function LED driver and GPIO controller compatible: "awinic,aw9523b"