qemu/include/hw/i2c/arm_sbcon_i2c.h
<<
>>
Prefs
   1/*
   2 * ARM SBCon two-wire serial bus interface (I2C bitbang)
   3 *   a.k.a.
   4 * ARM Versatile I2C controller
   5 *
   6 * Copyright (c) 2006-2007 CodeSourcery.
   7 * Copyright (c) 2012 Oskar Andero <oskar.andero@gmail.com>
   8 * Copyright (C) 2020 Philippe Mathieu-Daudé <f4bug@amsat.org>
   9 *
  10 * SPDX-License-Identifier: GPL-2.0-or-later
  11 */
  12#ifndef HW_I2C_ARM_SBCON_H
  13#define HW_I2C_ARM_SBCON_H
  14
  15#include "hw/sysbus.h"
  16#include "hw/i2c/bitbang_i2c.h"
  17#include "qom/object.h"
  18
  19#define TYPE_VERSATILE_I2C "versatile_i2c"
  20#define TYPE_ARM_SBCON_I2C TYPE_VERSATILE_I2C
  21
  22typedef struct ArmSbconI2CState ArmSbconI2CState;
  23DECLARE_INSTANCE_CHECKER(ArmSbconI2CState, ARM_SBCON_I2C,
  24                         TYPE_ARM_SBCON_I2C)
  25
  26struct ArmSbconI2CState {
  27    /*< private >*/
  28    SysBusDevice parent_obj;
  29    /*< public >*/
  30
  31    MemoryRegion iomem;
  32    bitbang_i2c_interface bitbang;
  33    int out;
  34    int in;
  35};
  36
  37#endif /* HW_I2C_ARM_SBCON_H */
  38