15141d415SCédric Le Goater /* 25141d415SCédric Le Goater * PCA9552 I2C LED blinker 35141d415SCédric Le Goater * 45141d415SCédric Le Goater * Copyright (c) 2017-2018, IBM Corporation. 55141d415SCédric Le Goater * 65141d415SCédric Le Goater * This work is licensed under the terms of the GNU GPL, version 2 or 75141d415SCédric Le Goater * later. See the COPYING file in the top-level directory. 85141d415SCédric Le Goater */ 95141d415SCédric Le Goater #ifndef PCA9552_H 105141d415SCédric Le Goater #define PCA9552_H 115141d415SCédric Le Goater 125141d415SCédric Le Goater #include "hw/i2c/i2c.h" 135141d415SCédric Le Goater 145141d415SCédric Le Goater #define TYPE_PCA9552 "pca9552" 155141d415SCédric Le Goater #define PCA9552(obj) OBJECT_CHECK(PCA9552State, (obj), TYPE_PCA9552) 165141d415SCédric Le Goater 175141d415SCédric Le Goater #define PCA9552_NR_REGS 10 185141d415SCédric Le Goater 195141d415SCédric Le Goater typedef struct PCA9552State { 205141d415SCédric Le Goater /*< private >*/ 215141d415SCédric Le Goater I2CSlave i2c; 225141d415SCédric Le Goater /*< public >*/ 235141d415SCédric Le Goater 245141d415SCédric Le Goater uint8_t len; 255141d415SCédric Le Goater uint8_t pointer; 265141d415SCédric Le Goater 275141d415SCédric Le Goater uint8_t regs[PCA9552_NR_REGS]; 285141d415SCédric Le Goater uint8_t max_reg; 29*8208335bSPhilippe Mathieu-Daudé uint8_t pin_count; 305141d415SCédric Le Goater } PCA9552State; 315141d415SCédric Le Goater 325141d415SCédric Le Goater #endif 33