[PATCH 1/4] spi: zynq_qspi: Add child pre probe function
Ashok Reddy Soma
ashok.reddy.soma at xilinx.com
Fri Jul 15 16:01:16 CEST 2022
From: Siva Durga Prasad Paladugu <siva.durga.paladugu at xilinx.com>
Add child pre probe function in the driver. Update max_hz of priv from
spi_slave structure.
Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu at xilinx.com>
Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma at xilinx.com>
---
drivers/spi/zynq_qspi.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/spi/zynq_qspi.c b/drivers/spi/zynq_qspi.c
index b69d992b28..066a0c6002 100644
--- a/drivers/spi/zynq_qspi.c
+++ b/drivers/spi/zynq_qspi.c
@@ -94,6 +94,7 @@ struct zynq_qspi_priv {
u8 mode;
u8 fifo_depth;
u32 freq; /* required frequency */
+ u32 max_hz;
const void *tx_buf;
void *rx_buf;
unsigned len;
@@ -174,6 +175,16 @@ static void zynq_qspi_init_hw(struct zynq_qspi_priv *priv)
writel(ZYNQ_QSPI_ENR_SPI_EN_MASK, ®s->enr);
}
+static int zynq_qspi_child_pre_probe(struct udevice *bus)
+{
+ struct spi_slave *slave = dev_get_parent_priv(bus);
+ struct zynq_qspi_priv *priv = dev_get_priv(bus->parent);
+
+ priv->max_hz = slave->max_hz;
+
+ return 0;
+}
+
static int zynq_qspi_probe(struct udevice *bus)
{
struct zynq_qspi_plat *plat = dev_get_plat(bus);
@@ -746,4 +757,5 @@ U_BOOT_DRIVER(zynq_qspi) = {
.plat_auto = sizeof(struct zynq_qspi_plat),
.priv_auto = sizeof(struct zynq_qspi_priv),
.probe = zynq_qspi_probe,
+ .child_pre_probe = zynq_qspi_child_pre_probe,
};
--
2.17.1
More information about the U-Boot
mailing list