mbox series

[U-Boot,v2,00/13] arm64: zynqmp: Clean communication with PMUFW

Message ID cover.1570023563.git.michal.simek@xilinx.com
Headers show
Series arm64: zynqmp: Clean communication with PMUFW | expand

Message

Michal Simek Oct. 2, 2019, 1:39 p.m. UTC
Hi,

This patch series using ZynqMP firmware driver to provide a interface to
communicate with the PMU Firmware. As part of the series a mailbox driver
is also implemented to handle communication through ipi interface.

There are two new wiring:
1. Reading PMUFW version via firmware driver
 - mailbox driver in case of SPL
 - SMC in case of full U-Boot
2. Using the same patch for loading PMUFW configuration object

The whole series is based on several patches I have sent already that's why
I am providing a branch which also contains this series.
https://gitlab.denx.de/u-boot/custodians/u-boot-microblaze/tree/next

Thanks,
Michal

Changes in v2:
- Check error separately - Reported by Luca
- Align ret handling
- Also handle error from mbox_recv/mbox_send
- Move pm_api_id higher - Reported by Luca
- Fix macros for header protection
- pass rex_maxlen to ipi_req - reported by Luca

Ibai Erkiaga (10):
  mailbox: check ops prior calling
  mailbox: allow subnode for mbox regs
  mailbox: zynqmp: ipi mailbox driver
  firmware: zynqmp: Add zynqmp-power support
  arm64: zynqmp: add firmware and mailbox node to DT
  firmware: zynqmp: get fw version with mailbox driver
  firmware: zynqmp: create firmware header
  arm64: zynqmp: use firmware driver to get version
  arm64: zynqmp: remove old fw version function
  arm64: zynqmp: probe firmware driver

Michal Simek (3):
  arm64: zynqmp: Cleanup PM SMC macro composition
  firmware: zynqmp: Separate function for sending message via mailbox
  arm64: zynqmp: Use mailbox driver for PMUFW config loading

 MAINTAINERS                                   |   2 +
 arch/arm/Kconfig                              |   3 +
 arch/arm/dts/zynqmp.dtsi                      |  44 +++++-
 arch/arm/mach-zynqmp/Makefile                 |   4 -
 arch/arm/mach-zynqmp/cpu.c                    |  24 +--
 arch/arm/mach-zynqmp/include/mach/sys_proto.h |  24 +--
 arch/arm/mach-zynqmp/pmu_ipc.c                | 112 --------------
 board/xilinx/zynqmp/cmds.c                    |   1 +
 board/xilinx/zynqmp/zynqmp.c                  |  19 +--
 drivers/firmware/Kconfig                      |   2 +
 drivers/firmware/firmware-zynqmp.c            | 142 ++++++++++++++++++
 drivers/fpga/zynqmppl.c                       |   5 +-
 drivers/mailbox/Kconfig                       |   6 +
 drivers/mailbox/Makefile                      |   1 +
 drivers/mailbox/mailbox-uclass.c              |  19 ++-
 drivers/mailbox/zynqmp-ipi.c                  | 134 +++++++++++++++++
 include/zynqmp_firmware.h                     |  37 +++++
 17 files changed, 399 insertions(+), 180 deletions(-)
 delete mode 100644 arch/arm/mach-zynqmp/pmu_ipc.c
 create mode 100644 drivers/mailbox/zynqmp-ipi.c
 create mode 100644 include/zynqmp_firmware.h

Comments

Michal Simek Oct. 8, 2019, 8:01 a.m. UTC | #1
st 2. 10. 2019 v 15:39 odesílatel Michal Simek <michal.simek@xilinx.com> napsal:
>
> Hi,
>
> This patch series using ZynqMP firmware driver to provide a interface to
> communicate with the PMU Firmware. As part of the series a mailbox driver
> is also implemented to handle communication through ipi interface.
>
> There are two new wiring:
> 1. Reading PMUFW version via firmware driver
>  - mailbox driver in case of SPL
>  - SMC in case of full U-Boot
> 2. Using the same patch for loading PMUFW configuration object
>
> The whole series is based on several patches I have sent already that's why
> I am providing a branch which also contains this series.
> https://gitlab.denx.de/u-boot/custodians/u-boot-microblaze/tree/next
>
> Thanks,
> Michal
>
> Changes in v2:
> - Check error separately - Reported by Luca
> - Align ret handling
> - Also handle error from mbox_recv/mbox_send
> - Move pm_api_id higher - Reported by Luca
> - Fix macros for header protection
> - pass rex_maxlen to ipi_req - reported by Luca
>
> Ibai Erkiaga (10):
>   mailbox: check ops prior calling
>   mailbox: allow subnode for mbox regs
>   mailbox: zynqmp: ipi mailbox driver
>   firmware: zynqmp: Add zynqmp-power support

Applied all. Only in this patch I have fixed dependencies to be
selected via ARCH fragment.
Because IPI driver hasn't been adopted by Versal to be able to select
IPI directly.

M