diff options
author | Corey Minyard <cminyard@mvista.com> | 2021-05-18 15:54:52 -0500 |
---|---|---|
committer | Corey Minyard <cminyard@mvista.com> | 2021-06-17 07:10:32 -0500 |
commit | 58f3e3fe69a66a5c27675faf3e7afa52e027e621 (patch) | |
tree | d7c4338e970f4911b123b6aa51b247a5a33f600f /include/hw/adc | |
parent | 246f530cdb5a93b5da6db2c2fb00549b4081d943 (diff) | |
download | qemu-58f3e3fe69a66a5c27675faf3e7afa52e027e621.zip qemu-58f3e3fe69a66a5c27675faf3e7afa52e027e621.tar.gz qemu-58f3e3fe69a66a5c27675faf3e7afa52e027e621.tar.bz2 |
adc: Move the max111x driver to the adc directory
It's an adc, put it where it belongs.
Cc: Andrzej Zaborowski <balrogg@gmail.com>
Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-arm@nongnu.org
Signed-off-by: Corey Minyard <cminyard@mvista.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Diffstat (limited to 'include/hw/adc')
-rw-r--r-- | include/hw/adc/max111x.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/include/hw/adc/max111x.h b/include/hw/adc/max111x.h new file mode 100644 index 0000000..beff59c --- /dev/null +++ b/include/hw/adc/max111x.h @@ -0,0 +1,56 @@ +/* + * Maxim MAX1110/1111 ADC chip emulation. + * + * Copyright (c) 2006 Openedhand Ltd. + * Written by Andrzej Zaborowski <balrog@zabor.org> + * + * This code is licensed under the GNU GPLv2. + * + * Contributions after 2012-01-13 are licensed under the terms of the + * GNU GPL, version 2 or (at your option) any later version. + */ + +#ifndef HW_MISC_MAX111X_H +#define HW_MISC_MAX111X_H + +#include "hw/ssi/ssi.h" +#include "qom/object.h" + +/* + * This is a model of the Maxim MAX1110/1111 ADC chip, which for QEMU + * is an SSI slave device. It has either 4 (max1110) or 8 (max1111) + * 8-bit ADC channels. + * + * QEMU interface: + * + GPIO inputs 0..3 (for max1110) or 0..7 (for max1111): set the value + * of each ADC input, as an unsigned 8-bit value + * + GPIO output 0: interrupt line + * + Properties "input0" to "input3" (max1110) or "input0" to "input7" + * (max1111): initial reset values for ADC inputs. + * + * Known bugs: + * + the interrupt line is not correctly implemented, and will never + * be lowered once it has been asserted. + */ +struct MAX111xState { + SSIPeripheral parent_obj; + + qemu_irq interrupt; + /* Values of inputs at system reset (settable by QOM property) */ + uint8_t reset_input[8]; + + uint8_t tb1, rb2, rb3; + int cycle; + + uint8_t input[8]; + int inputs, com; +}; + +#define TYPE_MAX_111X "max111x" + +OBJECT_DECLARE_SIMPLE_TYPE(MAX111xState, MAX_111X) + +#define TYPE_MAX_1110 "max1110" +#define TYPE_MAX_1111 "max1111" + +#endif |