Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
hw/ssi: Add a "cs" property to SSIPeripheral
Boards will use this new property to identify the device CS line and
wire the SPI controllers accordingly.

Cc: Alistair Francis <alistair@alistair23.me>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
  • Loading branch information
legoater committed Sep 1, 2023
1 parent 9bf9865 commit 243975c
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 0 deletions.
7 changes: 7 additions & 0 deletions hw/ssi/ssi.c
Expand Up @@ -13,6 +13,7 @@
*/

#include "qemu/osdep.h"
#include "hw/qdev-properties.h"
#include "hw/ssi/ssi.h"
#include "migration/vmstate.h"
#include "qemu/module.h"
Expand Down Expand Up @@ -71,6 +72,11 @@ static void ssi_peripheral_realize(DeviceState *dev, Error **errp)
ssc->realize(s, errp);
}

static Property ssi_peripheral_properties[] = {
DEFINE_PROP_UINT8("cs", SSIPeripheral, cs_index, 0),
DEFINE_PROP_END_OF_LIST(),
};

static void ssi_peripheral_class_init(ObjectClass *klass, void *data)
{
SSIPeripheralClass *ssc = SSI_PERIPHERAL_CLASS(klass);
Expand All @@ -81,6 +87,7 @@ static void ssi_peripheral_class_init(ObjectClass *klass, void *data)
if (!ssc->transfer_raw) {
ssc->transfer_raw = ssi_transfer_raw_default;
}
device_class_set_props(dc, ssi_peripheral_properties);
}

static const TypeInfo ssi_peripheral_info = {
Expand Down
3 changes: 3 additions & 0 deletions include/hw/ssi/ssi.h
Expand Up @@ -64,6 +64,9 @@ struct SSIPeripheral {

/* Chip select state */
bool cs;

/* Chip select index */
uint8_t cs_index;
};

extern const VMStateDescription vmstate_ssi_peripheral;
Expand Down

0 comments on commit 243975c

Please sign in to comment.