zynqmp: 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 <rajan.vaja@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
Rajan Vaja 2019-02-15 04:45:32 -08:00 committed by Michal Simek
parent 3899ebdd88
commit 14723ed544
5 changed files with 28 additions and 0 deletions

View File

@ -443,6 +443,7 @@ S: Maintained
T: git https://gitlab.denx.de/u-boot/custodians/u-boot-microblaze.git T: git https://gitlab.denx.de/u-boot/custodians/u-boot-microblaze.git
F: arch/arm/mach-zynqmp/ F: arch/arm/mach-zynqmp/
F: drivers/clk/clk_zynqmp.c F: drivers/clk/clk_zynqmp.c
F: driver/firmware/firmware-zynqmp.c
F: drivers/fpga/zynqpl.c F: drivers/fpga/zynqpl.c
F: drivers/gpio/zynq_gpio.c F: drivers/gpio/zynq_gpio.c
F: drivers/i2c/i2c-cdns.c F: drivers/i2c/i2c-cdns.c

View File

@ -113,6 +113,7 @@ config CLK_ZYNQ
config CLK_ZYNQMP config CLK_ZYNQMP
bool "Enable clock driver support for ZynqMP" bool "Enable clock driver support for ZynqMP"
depends on ARCH_ZYNQMP depends on ARCH_ZYNQMP
select ZYNQMP_FIRMWARE
help help
This clock driver adds support for clock realted settings for This clock driver adds support for clock realted settings for
ZynqMP platform. ZynqMP platform.

View File

@ -26,3 +26,13 @@ config TI_SCI_PROTOCOL
This protocol library is used by client drivers to use the features This protocol library is used by client drivers to use the features
provided by the system controller. 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.

View File

@ -2,3 +2,4 @@ obj-$(CONFIG_FIRMWARE) += firmware-uclass.o
obj-$(CONFIG_$(SPL_)ARM_PSCI_FW) += psci.o obj-$(CONFIG_$(SPL_)ARM_PSCI_FW) += psci.o
obj-$(CONFIG_TI_SCI_PROTOCOL) += ti_sci.o obj-$(CONFIG_TI_SCI_PROTOCOL) += ti_sci.o
obj-$(CONFIG_SANDBOX) += firmware-sandbox.o obj-$(CONFIG_SANDBOX) += firmware-sandbox.o
obj-$(CONFIG_ZYNQMP_FIRMWARE) += firmware-zynqmp.o

View File

@ -0,0 +1,15 @@
// SPDX-License-Identifier: GPL-2.0
#include <dm.h>
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,
};