From patchwork Wed Sep 11 07:47:26 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Simek X-Patchwork-Id: 1160712 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=xilinx.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=monstr-eu.20150623.gappssmtp.com header.i=@monstr-eu.20150623.gappssmtp.com header.b="lOp+nPGj"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 46SvCH6wQwz9s00 for ; Wed, 11 Sep 2019 17:48:11 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id B15A2C21DA1; Wed, 11 Sep 2019 07:47:39 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 98609C21DED; Wed, 11 Sep 2019 07:47:37 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id E4C0EC21DFD; Wed, 11 Sep 2019 07:47:30 +0000 (UTC) Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) by lists.denx.de (Postfix) with ESMTPS id 54FF7C21C93 for ; Wed, 11 Sep 2019 07:47:29 +0000 (UTC) Received: by mail-wr1-f67.google.com with SMTP id y19so23327106wrd.3 for ; Wed, 11 Sep 2019 00:47:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monstr-eu.20150623.gappssmtp.com; s=20150623; h=sender:from:to:cc:subject:date:message-id; bh=1Tw+dTGkfXvKlxvmAd6zLKTfgnJP1JqeHdktObKoxk8=; b=lOp+nPGjAvSNAH2Vhram3+WiEsEWDWHl1PIP4xpu4lKUIJSPEBXEVuLjokV/4zcw/V PPQKSVUPqotU0niUau8quNlk+RRYuWGqP274M/+9QrJaObvhtUs+vj+/caNlgoZQrIR4 5QFwDmL0PMCX5mS5zlXtEfWQJjDPkfEfHW8XPa7mwWxrJE1+dUFdug+0I0+9tXqkR3iN SJpNOhAaKYWDAVD/XNpscthXEVOL2Bb87c4lJY+iiU0mZqHrX4l6BT/GIWDfsCWOmlJT T/PrYG0mOOoAt2lKhtrut5lFL4VdRyCzC8zBKqaQ2YuU7fs71PK/RxWCewZaTGKNoPg7 i5Xg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id; bh=1Tw+dTGkfXvKlxvmAd6zLKTfgnJP1JqeHdktObKoxk8=; b=Gzu0TPRH7axr3VRTrYGTh/XfUWDEA55rZdNJkYIaB1ucbSQnxT4u3iMgMsDPNUxrqY 2bj05ss1Mot20gkcEoeqITHW2AMEesaw9GCrY7sclI7oK6Cm8eiHIr2+DXeriTJ7NOI0 NcS+C4BPkhWq10HhdKAVoAHBdqC6Y8sfu+e6JInLf0iMxWeZrQEnW/d72v9kKU2Mp/V5 4D3w87BtSpDSDGQws0ZlbdT7VRKchuvD56zSkv21QFv9rNZv8N7q25puSzhgxd38Kzn4 t3AHaePrixGzcDovRujMLNjimzt34A0JwPcLkBsOvWs7M4uIXzH+PEpVQMkXYHvKfh7i zG4A== X-Gm-Message-State: APjAAAVIq7GVtQbsbBxspJkVYvu6qQIS3wLRV8q7znPjFP14y09AhnU+ 3bQAX1QWEgWiw5IZBjwZJwJdvrn5uuc= X-Google-Smtp-Source: APXvYqyKvn2QfxYlNEVN3I374N2aLjuztjsgcSAAJ0Odjz7wRGKOYlVfYiIoAtmgOTfU5J4FgOpBNA== X-Received: by 2002:adf:ee10:: with SMTP id y16mr2278305wrn.47.1568188048715; Wed, 11 Sep 2019 00:47:28 -0700 (PDT) Received: from localhost (nat-35.starnet.cz. [178.255.168.35]) by smtp.gmail.com with ESMTPSA id y13sm40984986wrg.8.2019.09.11.00.47.27 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 11 Sep 2019 00:47:28 -0700 (PDT) From: Michal Simek To: u-boot@lists.denx.de, git@xilinx.com Date: Wed, 11 Sep 2019 09:47:26 +0200 Message-Id: <7c742868362746fb6a16236d272484db4e7ae0af.1568188043.git.michal.simek@xilinx.com> X-Mailer: git-send-email 2.17.1 Cc: Rajan Vaja Subject: [U-Boot] [PATCH] zynqmp: firmware: Add Xilinx ZynqMP firmware driver X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Rajan Vaja 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 95fe0aea2ce8..305cbd96f165 100644 --- a/drivers/clk/Kconfig +++ b/drivers/clk/Kconfig @@ -113,6 +113,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 873bc8c79679..b70a2063551c 100644 --- a/drivers/firmware/Kconfig +++ b/drivers/firmware/Kconfig @@ -26,3 +26,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 6c3e12968527..a0c250a473eb 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 000000000000..b36eda1b04be --- /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, +};