From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from wnew3-smtp.messagingengine.com (wnew3-smtp.messagingengine.com [64.147.123.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 966773FD1 for ; Mon, 4 Oct 2021 01:27:42 +0000 (UTC) Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailnew.west.internal (Postfix) with ESMTP id 5631E2B01318; Sun, 3 Oct 2021 21:27:41 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Sun, 03 Oct 2021 21:27:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sholland.org; h= from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; s=fm3; bh=HdSTkWjTFUo6RFWfKSuzPaUvO9 DhW7mD54XQttsAuQo=; b=EihmDYib3vvy0NlGOt2bP+b4O5o6ETorkH+AHsK9KU qtdzDzRog9aM5MPhiA9Im+aOOag4Ccop0NXGDvVxQEeRk7Yej7jDOLTRqioLhJnN HmBU1DF15jvbGzbRaxJAIK6c+e48IFiB7FpX+Z6oVztWv4Du6W4iy68s1+HG4ihF gjEdHaMRVLwl9a6CHHL6Hm+LTVLmiw330xuunuXLE/p0VhOaXv+1BgMEqFXUmz+V BrhaXwg0empa/KBTos0BP/pRu6b02H4AjtK2B5u4cFRyUpb68+aY25RvppGNjRqe jEgUS0DUY/pVhKFhW7LJJ+zPYeJnfw+BwJGCI+vZFwjg== 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=fm1; bh=HdSTkWjTFUo6RFWfK SuzPaUvO9DhW7mD54XQttsAuQo=; b=ZYuil6dNYYFK5fiUDNdmXlZZwMdiOcZh5 pC6mhFAnbRJMMhYYPkhKQSyq2RUAJphAshZ0QpIxYp5ABtKE0K8ti1gTYhCu1fW9 +OSenETXwZgjuPWRHo2Z9yTtkInFT+IQcTTPS522yBqurXndvuseHVb9p8n1ece8 HWCeARejUw+E+2rx3qggN/WVK4pTUJrlzsDfYsKP/hxos87FDhOx5eITGz+mMxVQ V6GUGz4kCfMgVNmYGjBV7lSKDOQZmkan4cW98r+5WFPtG/9SIutmRpZ+Ng3ITq6d UzLM777Hc8wf2kG3zXVMqzBf38DVbmUgNFYqJHZtS8XNgVXUpaN3g== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrudeluddggeehucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkffoggfgsedtkeertdertddtnecuhfhrohhmpefurghmuhgvlhcu jfholhhlrghnugcuoehsrghmuhgvlhesshhhohhllhgrnhgurdhorhhgqeenucggtffrrg htthgvrhhnpeeiteekhfehuddugfeltddufeejjeefgeevheekueffhffhjeekheeiffdt vedtveenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe hsrghmuhgvlhesshhhohhllhgrnhgurdhorhhg X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 3 Oct 2021 21:27:40 -0400 (EDT) From: Samuel Holland To: MyungJoo Ham , Kyungmin Park , Chanwoo Choi , Maxime Ripard , Chen-Yu Tsai , Jernej Skrabec , Rob Herring Cc: Michael Turquette , Stephen Boyd , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, Samuel Holland Subject: [PATCH v2 0/6] DRAM devfreq support for Allwinner A64/H5 Date: Sun, 3 Oct 2021 20:27:33 -0500 Message-Id: <20211004012739.39053-1-samuel@sholland.org> X-Mailer: git-send-email 2.32.0 Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit This series adds a new devfreq driver for the MBUS/DRAM controller in some Allwinner SoCs, and enables it for the A64 and H5. The binding and DTs are updated in patches 1-5. The MBUS nodes already existed, but were not bound to any driver before; they were only used for their dma-ranges property. Finally, the driver is added in patch 6. I am not quite sure the best way to handle DRAM register range in the DT binding -- as a separate reg property, a separate node, or simply enlarging the MBUS register range. While the DRAM controller is a separate IP block, the MBUS hardware has the ability to double-buffer certain DRAM controller registers, and the hardware MDFS process writes to some DRAM controller registers as well. So they are rather tightly integrated. Like the driver commit description says, this driver could support additional SoCs: at least A33, A83T, and H3. I can send follow-up patches adding compatibles for these, but I cannot test A33 or A83T. Changes from v1: - Patch 1 was merged - Drop patches 2-4 (support for devfreq drivers without OPPs) - Convert the driver to use dynamic OPPs Samuel Holland (6): dt-bindings: clock: sunxi: Export CLK_DRAM for devfreq dt-bindings: arm: sunxi: Expand MBUS binding dt-bindings: arm: sunxi: Add H5 MBUS compatible ARM: dts: sunxi: h3/h5: Update MBUS node arm64: dts: allwinner: a64: Update MBUS node PM / devfreq: Add a driver for the sun8i/sun50i MBUS .../arm/sunxi/allwinner,sun4i-a10-mbus.yaml | 77 ++- arch/arm/boot/dts/sun8i-h3.dtsi | 4 + arch/arm/boot/dts/sunxi-h3-h5.dtsi | 11 +- arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 10 +- arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi | 4 + drivers/clk/sunxi-ng/ccu-sun50i-a64.h | 2 - drivers/clk/sunxi-ng/ccu-sun8i-h3.h | 2 - drivers/devfreq/Kconfig | 8 + drivers/devfreq/Makefile | 1 + drivers/devfreq/sun8i-a33-mbus.c | 511 ++++++++++++++++++ include/dt-bindings/clock/sun50i-a64-ccu.h | 2 +- include/dt-bindings/clock/sun8i-h3-ccu.h | 2 +- 12 files changed, 620 insertions(+), 14 deletions(-) create mode 100644 drivers/devfreq/sun8i-a33-mbus.c -- 2.32.0