hw/gpio: introduce pcf8574 driver

NXP PCF8574 and compatible ICs are simple I2C GPIO expanders.
PCF8574 incorporates quasi-bidirectional IO, and simple
communication protocol, when IO read is I2C byte read, and
IO write is I2C byte write. User can think of it as
open-drain port, when line high state is input and line low
state is output.

Signed-off-by: Dmitrii Sharikhin <d.sharikhin@yadro.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <f1552d822276e878d84c01eba2cf2c7c9ebdde00.camel@yadro.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
Dmitriy Sharikhin 2024-03-11 09:58:31 +00:00 committed by Philippe Mathieu-Daudé
parent 2ea09fe85a
commit 4cbb1513a2
5 changed files with 188 additions and 0 deletions

15
include/hw/gpio/pcf8574.h Normal file
View file

@ -0,0 +1,15 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/*
* NXP PCF8574 8-port I2C GPIO expansion chip.
*
* Copyright (c) 2024 KNS Group (YADRO).
* Written by Dmitrii Sharikhin <d.sharikhin@yadro.com>
*/
#ifndef _HW_GPIO_PCF8574
#define _HW_GPIO_PCF8574
#define TYPE_PCF8574 "pcf8574"
#endif /* _HW_GPIO_PCF8574 */