On 6/4/24 16:27, lukas.funke-...@weidmueller.com wrote:
From: Lukas Funke <lukas.fu...@weidmueller.com>

Use common zynqmp_pm_get_chipid() function to get the chip revision

Signed-off-by: Lukas Funke <lukas.fu...@weidmueller.com>
---

(no changes since v1)

  drivers/soc/soc_xilinx_zynqmp.c | 21 +++++++++------------
  1 file changed, 9 insertions(+), 12 deletions(-)

diff --git a/drivers/soc/soc_xilinx_zynqmp.c b/drivers/soc/soc_xilinx_zynqmp.c
index d8b4f172a39..8a65810b7d7 100644
--- a/drivers/soc/soc_xilinx_zynqmp.c
+++ b/drivers/soc/soc_xilinx_zynqmp.c
@@ -346,22 +346,21 @@ static const struct soc_ops soc_xilinx_zynqmp_ops = {
  static int soc_xilinx_zynqmp_probe(struct udevice *dev)
  {
        struct soc_xilinx_zynqmp_priv *priv = dev_get_priv(dev);
-       u32 ret_payload[PAYLOAD_ARG_CNT];
+       u32 idcode, version;
        int ret;
priv->family = zynqmp_family; - if (!IS_ENABLED(CONFIG_ZYNQMP_FIRMWARE))
-               ret = zynqmp_mmio_read(ZYNQMP_PS_VERSION, &ret_payload[2]);
+       if (!CONFIG_IS_ENABLED(ZYNQMP_FIRMWARE))
+               ret = zynqmp_mmio_read(ZYNQMP_PS_VERSION, &version);
        else
-               ret = xilinx_pm_request(PM_GET_CHIPID, 0, 0, 0, 0,
-                                       ret_payload);
+               ret = zynqmp_pm_get_chipid(&idcode, &version);
        if (ret < 0)
                return ret;
- priv->revision = ret_payload[2] & ZYNQMP_PS_VER_MASK;
+       priv->revision = version & ZYNQMP_PS_VER_MASK;
- if (IS_ENABLED(CONFIG_ZYNQMP_FIRMWARE)) {
+       if (CONFIG_IS_ENABLED(ZYNQMP_FIRMWARE)) {
                /*
                 * Firmware returns:
                 * payload[0][31:0] = status of the operation
@@ -370,11 +369,9 @@ static int soc_xilinx_zynqmp_probe(struct udevice *dev)
                 * payload[2][28:20] = EXTENDED_IDCODE
                 * payload[2][29] = PL_INIT
                 */
-               u32 idcode = ret_payload[1];
-               u32 idcode2 = ret_payload[2] >>
-                                  ZYNQMP_CSU_VERSION_EMPTY_SHIFT;
-               dev_dbg(dev, "IDCODE: 0x%0x, IDCODE2: 0x%0x\n", idcode,
-                       idcode2);
+               u32 idcode2 = version >> ZYNQMP_CSU_VERSION_EMPTY_SHIFT;
+
+               dev_dbg(dev, "IDCODE: 0x%0x, IDCODE2: 0x%0x\n", idcode, 
idcode2);
ret = soc_xilinx_zynqmp_detect_machine(dev, idcode, idcode2);
                if (ret)

Looks good.
Reviewed-by: Michal Simek <michal.si...@amd.com>

Thanks,
Michal

Reply via email to