[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 05/12] hw/ssi: Introduce a ssi_get_cs() helper
|
From: |
Cédric Le Goater |
|
Subject: |
[PATCH 05/12] hw/ssi: Introduce a ssi_get_cs() helper |
|
Date: |
Mon, 8 May 2023 09:58:52 +0200 |
Simple routine to retrieve a DeviceState object on a SPI bus using its
address/cs. It will be useful for the board to wire the CS lines.
Cc: Alistair Francis <alistair@alistair23.me>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
include/hw/ssi/ssi.h | 2 ++
hw/ssi/ssi.c | 15 +++++++++++++++
2 files changed, 17 insertions(+)
diff --git a/include/hw/ssi/ssi.h b/include/hw/ssi/ssi.h
index ffd3a34ba4..c7beabdb09 100644
--- a/include/hw/ssi/ssi.h
+++ b/include/hw/ssi/ssi.h
@@ -112,4 +112,6 @@ SSIBus *ssi_create_bus(DeviceState *parent, const char
*name);
uint32_t ssi_transfer(SSIBus *bus, uint32_t val);
+DeviceState *ssi_get_cs(SSIBus *bus, int addr);
+
#endif
diff --git a/hw/ssi/ssi.c b/hw/ssi/ssi.c
index 9fffe4f27a..a25e064417 100644
--- a/hw/ssi/ssi.c
+++ b/hw/ssi/ssi.c
@@ -27,6 +27,21 @@ struct SSIBus {
#define TYPE_SSI_BUS "SSI"
OBJECT_DECLARE_SIMPLE_TYPE(SSIBus, SSI_BUS)
+DeviceState *ssi_get_cs(SSIBus *bus, int addr)
+{
+ BusState *b = BUS(bus);
+ BusChild *kid;
+
+ QTAILQ_FOREACH(kid, &b->children, sibling) {
+ SSIPeripheral *kid_ssi = SSI_PERIPHERAL(kid->child);
+ if (kid_ssi->addr == addr) {
+ return kid->child;
+ }
+ }
+
+ return NULL;
+}
+
static const TypeInfo ssi_bus_info = {
.name = TYPE_SSI_BUS,
.parent = TYPE_BUS,
--
2.40.0
- Re: [PATCH 02/12] aspeed: Introduce a boot_rom region at the machine level, (continued)
- [PATCH 01/12] aspeed/hace: Initialize g_autofree pointer, Cédric Le Goater, 2023/05/08
- [PATCH 03/12] aspeed: Use the boot_rom region of the fby35 machine, Cédric Le Goater, 2023/05/08
- [PATCH 04/12] hw/ssi: Add an "addr" property to SSIPeripheral, Cédric Le Goater, 2023/05/08
- [PATCH 05/12] hw/ssi: Introduce a ssi_get_cs() helper,
Cédric Le Goater <=
- Re: [PATCH 05/12] hw/ssi: Introduce a ssi_get_cs() helper, Philippe Mathieu-Daudé, 2023/05/30
- Re: [PATCH 05/12] hw/ssi: Introduce a ssi_get_cs() helper, Philippe Mathieu-Daudé, 2023/05/30
- Re: [PATCH 05/12] hw/ssi: Introduce a ssi_get_cs() helper, Cédric Le Goater, 2023/05/31
- Re: [PATCH 05/12] hw/ssi: Introduce a ssi_get_cs() helper, Philippe Mathieu-Daudé, 2023/05/31
- Re: [PATCH 05/12] hw/ssi: Introduce a ssi_get_cs() helper, Cédric Le Goater, 2023/05/31
- Re: [PATCH 05/12] hw/ssi: Introduce a ssi_get_cs() helper, Philippe Mathieu-Daudé, 2023/05/31
- Re: [PATCH 05/12] hw/ssi: Introduce a ssi_get_cs() helper, Cédric Le Goater, 2023/05/31
[PATCH 06/12] aspeed/smc: Wire CS lines at reset, Cédric Le Goater, 2023/05/08