Commit ba61ab1a authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'zynqmp-soc-for-v4.20-v2' of https://github.com/Xilinx/linux-xlnx into next/drivers

arm64: zynqmp: SoC changes for v4.20

- Adding firmware API for SoC with debugfs interface
  Firmware driver communicates to Platform Management Unit (PMU) by using
  SMC instructions routed to Arm Trusted Firmware (ATF). Initial version
  adds support for base firmware driver with query and clock APIs.

  EEMI spec is available here:
  https://www.xilinx.com/support/documentation/user_guides/ug1200-eemi-api.pdf

* tag 'zynqmp-soc-for-v4.20-v2' of https://github.com/Xilinx/linux-xlnx

:
  firmware: xilinx: Add debugfs for query data API
  firmware: xilinx: Add debugfs interface
  firmware: xilinx: Add clock APIs
  firmware: xilinx: Add query data API
  firmware: xilinx: Add Zynqmp firmware driver
  dt-bindings: firmware: Add bindings for ZynqMP firmware

Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 1e25ee6d e60f02dd
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
-----------------------------------------------------------------
Device Tree Bindings for the Xilinx Zynq MPSoC Firmware Interface
-----------------------------------------------------------------

The zynqmp-firmware node describes the interface to platform firmware.
ZynqMP has an interface to communicate with secure firmware. Firmware
driver provides an interface to firmware APIs. Interface APIs can be
used by any driver to communicate to PMUFW(Platform Management Unit).
These requests include clock management, pin control, device control,
power management service, FPGA service and other platform management
services.

Required properties:
 - compatible:	Must contain:	"xlnx,zynqmp-firmware"
 - method:	The method of calling the PM-API firmware layer.
		Permitted values are:
		  - "smc" : SMC #0, following the SMCCC
		  - "hvc" : HVC #0, following the SMCCC

-------
Example
-------

firmware {
	zynqmp_firmware: zynqmp-firmware {
		compatible = "xlnx,zynqmp-firmware";
		method = "smc";
	};
};
+1 −0
Original line number Diff line number Diff line
@@ -301,6 +301,7 @@ config ARCH_ZX

config ARCH_ZYNQMP
	bool "Xilinx ZynqMP Family"
	select ZYNQMP_FIRMWARE
	help
	  This enables support for Xilinx ZynqMP Family

+1 −0
Original line number Diff line number Diff line
@@ -291,5 +291,6 @@ source "drivers/firmware/google/Kconfig"
source "drivers/firmware/efi/Kconfig"
source "drivers/firmware/meson/Kconfig"
source "drivers/firmware/tegra/Kconfig"
source "drivers/firmware/xilinx/Kconfig"

endmenu
+1 −0
Original line number Diff line number Diff line
@@ -32,3 +32,4 @@ obj-$(CONFIG_GOOGLE_FIRMWARE) += google/
obj-$(CONFIG_EFI)		+= efi/
obj-$(CONFIG_UEFI_CPER)		+= efi/
obj-y				+= tegra/
obj-y				+= xilinx/
+23 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
# Kconfig for Xilinx firmwares

menu "Zynq MPSoC Firmware Drivers"
	depends on ARCH_ZYNQMP

config ZYNQMP_FIRMWARE
	bool "Enable Xilinx Zynq MPSoC firmware interface"
	help
	  Firmware interface driver is used by different
	  drivers to communicate with the firmware for
	  various platform management services.
	  Say yes to enable ZynqMP firmware interface driver.
	  If in doubt, say N.

config ZYNQMP_FIRMWARE_DEBUG
	bool "Enable Xilinx Zynq MPSoC firmware debug APIs"
	depends on ZYNQMP_FIRMWARE && DEBUG_FS
	help
	  Say yes to enable ZynqMP firmware interface debug APIs.
	  If in doubt, say N.

endmenu
Loading