arm_sbcon_i2c.h 860 B

123456789101112131415161718192021222324252627282930313233343536
  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_I2C_H
  13. #define HW_I2C_ARM_SBCON_I2C_H
  14. #include "hw/sysbus.h"
  15. #include "hw/i2c/bitbang_i2c.h"
  16. #include "qom/object.h"
  17. #define TYPE_ARM_SBCON_I2C "versatile_i2c"
  18. typedef struct ArmSbconI2CState ArmSbconI2CState;
  19. DECLARE_INSTANCE_CHECKER(ArmSbconI2CState, ARM_SBCON_I2C, TYPE_ARM_SBCON_I2C)
  20. struct ArmSbconI2CState {
  21. /*< private >*/
  22. SysBusDevice parent_obj;
  23. /*< public >*/
  24. MemoryRegion iomem;
  25. bitbang_i2c_interface bitbang;
  26. int out;
  27. int in;
  28. };
  29. #endif /* HW_I2C_ARM_SBCON_I2C_H */