From 69a41b3e90a6ea6f64d005b11740dda800cd976a Mon Sep 17 00:00:00 2001 From: Rajan Vaja Date: Fri, 15 Feb 2019 04:45:32 -0800 Subject: [PATCH] firmware: Add Xilinx ZynqMP firmware driver Add simple ZynqMP firmware drive to populate child nodes under zynqmp_firmware DT node. Signed-off-by: Rajan Vaja Signed-off-by: Michal Simek --- drivers/clk/Kconfig | 1 + drivers/firmware/Kconfig | 10 ++++++++++ drivers/firmware/Makefile | 1 + drivers/firmware/firmware-zynqmp.c | 15 +++++++++++++++ 4 files changed, 27 insertions(+) create mode 100644 drivers/firmware/firmware-zynqmp.c diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig index eadf7f8250b..ae49f2581cd 100644 --- a/drivers/clk/Kconfig +++ b/drivers/clk/Kconfig @@ -86,6 +86,7 @@ config CLK_ZYNQ config CLK_ZYNQMP bool "Enable clock driver support for ZynqMP" depends on ARCH_ZYNQMP + select ZYNQMP_FIRMWARE help This clock driver adds support for clock realted settings for ZynqMP platform. diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig index 7d8f161b267..4c7c5bea5f1 100644 --- a/drivers/firmware/Kconfig +++ b/drivers/firmware/Kconfig @@ -21,3 +21,13 @@ config TI_SCI_PROTOCOL This protocol library is used by client drivers to use the features provided by the system controller. + +config ZYNQMP_FIRMWARE + bool "ZynqMP Firmware interface" + select FIRMWARE + 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. diff --git a/drivers/firmware/Makefile b/drivers/firmware/Makefile index 6c3e1296852..a0c250a473e 100644 --- a/drivers/firmware/Makefile +++ b/drivers/firmware/Makefile @@ -2,3 +2,4 @@ obj-$(CONFIG_FIRMWARE) += firmware-uclass.o obj-$(CONFIG_$(SPL_)ARM_PSCI_FW) += psci.o obj-$(CONFIG_TI_SCI_PROTOCOL) += ti_sci.o obj-$(CONFIG_SANDBOX) += firmware-sandbox.o +obj-$(CONFIG_ZYNQMP_FIRMWARE) += firmware-zynqmp.o diff --git a/drivers/firmware/firmware-zynqmp.c b/drivers/firmware/firmware-zynqmp.c new file mode 100644 index 00000000000..b36eda1b04b --- /dev/null +++ b/drivers/firmware/firmware-zynqmp.c @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: GPL-2.0 + +#include + +static const struct udevice_id zynqmp_firmware_ids[] = { + { .compatible = "xlnx,zynqmp-firmware" }, + { } +}; + +U_BOOT_DRIVER(zynqmp_firmware) = { + .id = UCLASS_FIRMWARE, + .name = "zynqmp-firmware", + .probe = dm_scan_fdt_dev, + .of_match = zynqmp_firmware_ids, +}; -- 2.47.3