123456789101112131415161718192021222324252627282930313233343536 |
- /*
- * PCA9554 I/O port
- *
- * Copyright (c) 2023, IBM Corporation.
- *
- * SPDX-License-Identifier: GPL-2.0-or-later
- */
- #ifndef PCA9554_H
- #define PCA9554_H
- #include "hw/i2c/i2c.h"
- #include "qom/object.h"
- #define TYPE_PCA9554 "pca9554"
- typedef struct PCA9554State PCA9554State;
- DECLARE_INSTANCE_CHECKER(PCA9554State, PCA9554,
- TYPE_PCA9554)
- #define PCA9554_NR_REGS 4
- #define PCA9554_PIN_COUNT 8
- struct PCA9554State {
- /*< private >*/
- I2CSlave i2c;
- /*< public >*/
- uint8_t len;
- uint8_t pointer;
- uint8_t regs[PCA9554_NR_REGS];
- qemu_irq gpio_out[PCA9554_PIN_COUNT];
- uint8_t ext_state[PCA9554_PIN_COUNT];
- char *description; /* For debugging purpose only */
- };
- #endif
|