c8c9e10394
hw/i2c: Use DeviceClass::realize instead of I2CSlaveClass::init
...
I2CSlaveClass::init is no more used, remove it.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20180419212727.26095-3-f4bug@amsat.org >
Reviewed-by: Markus Armbruster <armbru@redhat.com >
Signed-off-by: Markus Armbruster <armbru@redhat.com >
Message-Id: <20180528144509.15812-3-armbru@redhat.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2018-06-01 15:14:31 +02:00
19473e51cc
hw/i2c/smbus: Use DeviceClass::realize instead of SMBusDeviceClass::init
...
SMBusDeviceClass::init is no more used, remove it.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20180419212727.26095-2-f4bug@amsat.org >
Reviewed-by: Markus Armbruster <armbru@redhat.com >
Signed-off-by: Markus Armbruster <armbru@redhat.com >
Message-Id: <20180528144509.15812-2-armbru@redhat.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2018-06-01 15:14:31 +02:00
aa88d7ad28
i2c: Move the bus class to i2c.h
...
Some devices need access to it.
Signed-off-by: Corey Minyard <cminyard@mvista.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Message-id: 20180227104903.21353-3-linus.walleij@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2018-03-01 11:05:45 +00:00
373b8ac794
i2c: Fix some brace style issues
...
Signed-off-by: Corey Minyard <cminyard@mvista.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Message-id: 20180227104903.21353-2-linus.walleij@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2018-03-01 11:05:44 +00:00
7ab14c5ace
hw/audio/wm8750: move WM8750 declarations from i2c/i2c.h to audio/wm8750.h
...
while here use TYPE_WM8750 and declare a data_req_cb() typedef.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-id: 20170919123053.32675-1-f4bug@amsat.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
2018-02-02 08:19:25 +01:00
7709dbf12c
ppc4xx_i2c: Implement basic I2C functions
...
Enough to please U-Boot and make it able to detect SDRAM SPD EEPROMs
Signed-off-by: François Revol <revol@free.fr >
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu >
Reviewed-by: David Gibson <david@gibson.dropbear.id.au >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2018-01-10 12:52:59 +11:00
b86caf7ad8
hw: remove "qemu/osdep.h" from header files
...
applied using ./scripts/clean-includes
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Reviewed-by: Corey Minyard <cminyard@mvista.com >
Tested-by: Corey Minyard <cminyard@mvista.com >
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru >
2017-12-18 17:07:02 +03:00
3b09bb0fb9
ppc4xx_i2c: QOMify
...
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2017-09-08 09:30:55 +10:00
d307c28ca9
i2c: Allow I2C devices to NAK start events
...
Add a return value to the event handler. Some I2C devices will
NAK if they have no data, so allow them to do this. This required
the following changes:
Go through all the event handlers and change them to return int
and return 0.
Modify i2c_start_transfer to terminate the transaction on a NAK.
Modify smbus handing to not assert if a NAK occurs on a second
operation, and terminate the transaction and return -1 instead.
Add some information on semantics to I2CSlaveClass.
Signed-off-by: Corey Minyard <cminyard@mvista.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2017-01-09 11:40:20 +00:00
175de52487
Clean up decorations and whitespace around header guards
...
Cleaned up with scripts/clean-header-guards.pl.
Signed-off-by: Markus Armbruster <armbru@redhat.com >
Reviewed-by: Richard Henderson <rth@twiddle.net >
2016-07-12 16:20:46 +02:00
2a6a4076e1
Clean up ill-advised or unusual header guards
...
Cleaned up with scripts/clean-header-guards.pl.
Signed-off-by: Markus Armbruster <armbru@redhat.com >
Reviewed-by: Richard Henderson <rth@twiddle.net >
2016-07-12 16:20:46 +02:00
a9c94277f0
Use #include "..." for our own headers, <...> for others
...
Tracked down with an ugly, brittle and probably buggy Perl script.
Also move includes converted to <...> up so they get included before
ours where that's obviously okay.
Signed-off-by: Markus Armbruster <armbru@redhat.com >
Reviewed-by: Eric Blake <eblake@redhat.com >
Tested-by: Eric Blake <eblake@redhat.com >
Reviewed-by: Richard Henderson <rth@twiddle.net >
2016-07-12 16:19:16 +02:00
78c71af804
hw/i2c-ddc.c: Implement DDC I2C slave
...
Implement an I2C slave which implements DDC and returns the
EDID data for an attached monitor.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com >
Tested-by: Hyun Kwon <hyun.kwon@xilinx.com >
Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com >
Message-id: 1465833014-21982-7-git-send-email-fred.konrad@greensocs.com
- Rebased on the current master.
- Modified for QOM.
Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com >
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com >
Tested-By: Hyun Kwon <hyun.kwon@xilinx.com >
[PMM: actually wire up the vmstate to dc->vmsd]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2016-06-14 15:59:15 +01:00
056fca7b51
i2c: Factor our send() and recv() common logic
...
Most of the control flow logic between send and recv (error checking
etc) is the same. Factor this out into a common send_recv() API.
This is then usable by clients, where the control logic for send
and receive differs only by a boolean. E.g.
if (send)
i2c_send(...):
else
i2c_recv(...);
becomes:
i2c_send_recv(... , send);
Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com >
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com >
Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com >
Message-id: 1465833014-21982-4-git-send-email-fred.konrad@greensocs.com
Changes from FK:
* Rebased on master.
* Rebased on my i2c broadcast patch.
Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com >
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2016-06-14 15:59:14 +01:00
1602001195
i2c: add aspeed i2c controller
...
The Aspeed AST2400 integrates a set of 14 I2C/SMBus bus controllers
directly connected to the APB bus. They can be programmed as master or
slave but the propopsed model only supports the master mode.
On the TODO list, we also have :
- improve and harden the state machine.
- bus recovery support (used by the Linux driver).
- transfer mode state machine bits. this is not strictly necessary as
it is mostly used for debug. The bus busy bit is deducted from the
I2C core engine of qemu.
- support of the pool buffer: 2048 bytes of internal SRAM (not used
by the Linux driver).
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Reviewed-by: Andrew Jeffery <andrew@aj.id.au >
Message-id: 1464704307-25178-1-git-send-email-clg@kaod.org
[PMM: removed unused functions aspeed_i2c_bus_get_state() and
aspeed_i2c_bus_set_state()]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2016-06-06 16:59:29 +01:00
20d0f9cf6a
i.MX: Add I2C controller emulator
...
The slave mode is not implemented.
Signed-off-by: Jean-Christophe Dubois <jcd@tribudubois.net >
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com >
Message-id: 508dbf2ebe26ec383d3a12a1db5a7890ac8acf20.1441057361.git.jcd@tribudubois.net
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2015-09-07 10:39:30 +01:00
046a184414
smbus: return -1 if nothing found at the given address
...
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
Acked-by: Michael S. Tsirkin <mst@redhat.com >
Reviewed-by: Andreas Färber <afaerber@suse.de >
Signed-off-by: Michael S. Tsirkin <mst@redhat.com >
2014-05-07 19:14:46 +03:00
285364e968
smbus: allow returning an error from reads
...
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
Acked-by: Michael S. Tsirkin <mst@redhat.com >
Reviewed-by: Andreas Färber <afaerber@suse.de >
Signed-off-by: Michael S. Tsirkin <mst@redhat.com >
2014-05-07 19:14:41 +03:00
9fe451a08e
i2c: Drop FROM_I2C_SLAVE() macro
...
We now use type-specific QOM cast macros instead.
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com >
Signed-off-by: Andreas Färber <afaerber@suse.de >
2014-02-14 16:22:32 +01:00
a5c828525e
i2c: Rename i2c_bus to I2CBus
...
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com >
Signed-off-by: Andreas Färber <afaerber@suse.de >
2014-02-14 16:22:31 +01:00
0d09e41a51
hw: move headers to include/
...
Many of these should be cleaned up with proper qdev-/QOM-ification.
Right now there are many catch-all headers in include/hw/ARCH depending
on cpu.h, and this makes it necessary to compile these files per-target.
However, fixing this does not belong in these patches.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2013-04-08 18:13:10 +02:00