From patchwork Mon Mar 1 06:34:48 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Asherah Connor X-Patchwork-Id: 1445419 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=kivikakk.ee header.i=@kivikakk.ee header.a=rsa-sha256 header.s=fm1 header.b=FuO4xtuI; dkim=pass (2048-bit key; unprotected) header.d=messagingengine.com header.i=@messagingengine.com header.a=rsa-sha256 header.s=fm2 header.b=uNUmaad3; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Dpr9m62vSz9sR4 for ; Mon, 1 Mar 2021 17:35:32 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 5CB4380411; Mon, 1 Mar 2021 07:35:19 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=kivikakk.ee Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=kivikakk.ee header.i=@kivikakk.ee header.b="FuO4xtuI"; dkim=pass (2048-bit key; unprotected) header.d=messagingengine.com header.i=@messagingengine.com header.b="uNUmaad3"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 3D464804E7; Mon, 1 Mar 2021 07:35:17 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, SPF_HELO_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from new1-smtp.messagingengine.com (new1-smtp.messagingengine.com [66.111.4.221]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 3DF13801E9 for ; Mon, 1 Mar 2021 07:35:13 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=kivikakk.ee Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=ashe@kivikakk.ee Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailnew.nyi.internal (Postfix) with ESMTP id 326C05801BA; Mon, 1 Mar 2021 01:35:09 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Mon, 01 Mar 2021 01:35:09 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kivikakk.ee; h= from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; s=fm1; bh=NVGWR6FRI5qbQrpOPVGzbsnqTp D/9CLBGMstbMD+tLo=; b=FuO4xtuI+vw4/onawBzysRZpp4LIYipBe0HnvUCd1k cbVyEM+mNh8BITIyRHIk7Ey8oxxGbI0HYhkArIOhXzU4Sq/hKiHikD9yzf9ZSoMZ yWjggTDGBpDkXT/PS4VrjDuOrSyxNaBrt2/IFaGHnf9ei0jZCcBI/+V9M8nH0OCY wax4uWKmqu+50/2WCguU91zXO9/5xmFdx1Acsh75J9OQj2NTD4K/ZHDuyBNOXxe8 0oveSouo4AMx7lg3pYOduXSL30y+gDj/Eiz3qB1qoI4FAWFCKlVP+VMeoknC2XAd /dxB7UQgBsxnSNz6PXTv0FvjFF2Q48AAIfI12YOu364w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :message-id:mime-version:subject:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=NVGWR6FRI5qbQrpOP VGzbsnqTpD/9CLBGMstbMD+tLo=; b=uNUmaad304//BIspdw1zzwW0gLsiNT2YS qejc/gB5ofNZV2PzfkzZg5FXm8eKgIK/DubdIbCrkIC6kb+kXnaq78ov+y2+zXsr JpA+eL1fkmECDbKat1/3moh6lSIrwj877BU/r37PuZzeYneNhNaCCDaFHm1YIVdQ MQ4K//KeDueKySDQjVP/pU3TJtpH/rhfulyHcFV6LgUJQhd1k4NUhnynIKHo4+P8 R6p/+g/8kUzsExZcg/yNjo+YPNRVr8hjBw7YFDl/5IqznOIWFbPYMpmf9BgrAqhS 6JbH3IV5J7qBkRR/39gyupfLUcDANo+DV8v8lzXwWdTK0FQjM7+ww== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrleejgdeljecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhvffufffkofgggfestdekredtredttdenucfhrhhomheptehshhgvrhgrhhcu vehonhhnohhruceorghshhgvsehkihhvihhkrghkkhdrvggvqeenucggtffrrghtthgvrh hnpeelieehheehheffjedtfefgtdffjeeiteetffffjefgvdeiudffhfeileetleeghfen ucffohhmrghinhepkhgrmhgvlhhihigrrdgvvgenucfkphepudduledrudekrdefuddrud efheenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegr shhhvgeskhhivhhikhgrkhhkrdgvvg X-ME-Proxy: Received: from ravenlin.tomodachi (119-18-31-135.77121f.mel.static.aussiebb.net [119.18.31.135]) by mail.messagingengine.com (Postfix) with ESMTPA id 126111080059; Mon, 1 Mar 2021 01:35:02 -0500 (EST) From: Asherah Connor To: u-boot@lists.denx.de Cc: Bin Meng , Simon Glass , Asherah Connor , AKASHI Takahiro , Bharat Gooty , Heinrich Schuchardt , Igor Opaniuk , Masahiro Yamada , Michal Simek , Peng Fan , Pragnesh Patel , Tero Kristo , Tom Rini , Trevor Woerner , Tuomas Tynkkynen , Wolfgang Wallner Subject: [PATCH v5 0/3] Move qfw to DM, add Arm support Date: Mon, 1 Mar 2021 17:34:48 +1100 Message-Id: <20210301063451.5156-1-ashe@kivikakk.ee> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean This series moves the QFW driver into a uclass, UCLASS_QFW, and splits the driver into qfw_pio and qfw_mmio. Each driver is selected on the appropriate QEMU board. A sandbox driver is also added, and a DM unit test against that driver. The qfw command is tested in QEMU, and documentation added. Version 5 reworks the series into three patches: 1. Do the DM conversion of existing QFW on x86 2. Add MMIO driver 3. Add the MMIO driver to qemu-arm To view the changes online, see: https://git.src.kameliya.ee/~kameliya/u-boot/log/qfw-priv Changes in v5: * Split conversion of existing x86-only QFW to DM into its own patch. * Split MMIO driver into its own commit. * Split adding MMIO driver to QEMU arm/64 into own commit. Asherah Connor (3): x86: qemu: move QFW to its own uclass qemu: add MMIO driver for QFW qemu: arm: select QFW, MMIO on qemu-arm arch/x86/cpu/qemu/cpu.c | 9 +- arch/x86/cpu/qemu/qemu.c | 49 +------ arch/x86/cpu/qfw_cpu.c | 11 +- board/emulation/qemu-arm/Kconfig | 2 + board/emulation/qemu-x86/Kconfig | 1 + cmd/qfw.c | 56 ++++--- common/Makefile | 2 + common/qfw.c | 105 +++++++++++++ drivers/misc/Kconfig | 18 ++- drivers/misc/Makefile | 7 +- drivers/misc/qfw.c | 243 +++++++++++-------------------- drivers/misc/qfw_mmio.c | 119 +++++++++++++++ drivers/misc/qfw_pio.c | 69 +++++++++ drivers/misc/qfw_sandbox.c | 128 ++++++++++++++++ include/dm/uclass-id.h | 1 + include/qfw.h | 200 +++++++++++++++++++++---- test/dm/Makefile | 1 + test/dm/qfw.c | 42 ++++++ test/py/tests/test_qfw.py | 21 +++ 19 files changed, 812 insertions(+), 272 deletions(-) create mode 100644 common/qfw.c create mode 100644 drivers/misc/qfw_mmio.c create mode 100644 drivers/misc/qfw_pio.c create mode 100644 drivers/misc/qfw_sandbox.c create mode 100644 test/dm/qfw.c create mode 100644 test/py/tests/test_qfw.py