From patchwork Mon Oct 26 19:32:16 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abel Vesa X-Patchwork-Id: 11858561 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BC669C4363A for ; Mon, 26 Oct 2020 19:34:34 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 4D1192085B for ; Mon, 26 Oct 2020 19:34:34 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="apVyw7zR" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4D1192085B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Owner; bh=Nt1UENZM+zNMXuH6WisDTOA0X3TXvw/64jMtx4YnumA=; b=apVyw7zRiRw64qYalg5by95AIs 32kPilEN3CwQG6idUp29LOtDMEvLwy1gnUajvCXYEUusURImwN+maAM+QOLBIOfi4ohOxiQLfBjhC 5Uyxs0QVS5GKl5f5PFdyCDmHk+C96sOQ+hUKLOB7dic8isWm29EDK88WhTfZorkSj8L6n2db7ThSy 0BRy/F/1oZ0LBRHhu5ZUOmDp5J+WIcwLiV5mVOek9aXlJz/zDZf3PWO7iwnW8wszXGvTFCfuzzL0z HlXtQY2t76NLmlRXM983lTuAkjAup09cSodsCR7CMaD4QrtDqX4Xde1Z47S/WkC/u/NkYAh80VAB/ nnbN/YoQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kX8Ek-0007N1-3E; Mon, 26 Oct 2020 19:32:58 +0000 Received: from inva020.nxp.com ([92.121.34.13]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kX8Eg-0007Ky-LL for linux-arm-kernel@lists.infradead.org; Mon, 26 Oct 2020 19:32:55 +0000 Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 7B4641A0A87; Mon, 26 Oct 2020 20:32:53 +0100 (CET) Received: from inva024.eu-rdc02.nxp.com (inva024.eu-rdc02.nxp.com [134.27.226.22]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 68CD21A09FD; Mon, 26 Oct 2020 20:32:53 +0100 (CET) Received: from fsr-ub1664-175.ea.freescale.net (fsr-ub1664-175.ea.freescale.net [10.171.82.40]) by inva024.eu-rdc02.nxp.com (Postfix) with ESMTP id AB12C20308; Mon, 26 Oct 2020 20:32:52 +0100 (CET) From: Abel Vesa To: Mike Turquette , Stephen Boyd , Adam Ford , Marek Vasut , Lucas Stach , Rob Herring , Shawn Guo , Sascha Hauer , Fabio Estevam , Anson Huang , Jacky Bai , Peng Fan , Dong Aisheng Subject: [PATCH v4 00/14] Add BLK_CTL support for i.MX8MP Date: Mon, 26 Oct 2020 21:32:16 +0200 Message-Id: <1603740750-10385-1-git-send-email-abel.vesa@nxp.com> X-Mailer: git-send-email 2.7.4 X-Virus-Scanned: ClamAV using ClamSMTP X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201026_153254_901750_6FC9D8BB X-CRM114-Status: GOOD ( 15.88 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, Abel Vesa , Linux Kernel Mailing List , NXP Linux Team , linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The BLK_CTL according to HW design is basically the wrapper of the entire function specific group of IPs and holds GPRs that usually cannot be placed into one specific IP from that group. Some of these GPRs are used to control some clocks, other some resets, others some very specific function that does not fit into clocks or resets. Since the clocks are registered using the i.MX clock subsystem API, the driver is placed into the clock subsystem, but it also registers the resets. For the other functionalities that other GPRs might have, the syscon is used. Changes since v3: * added R-b tags * renamed the imx_blk_ctl_probe to imx_blk_ctl_register since it's gonna be used by all the i.MX8M for their paltform blk_ctl driver. * added dedicated probe function for i.MX8MP blk_ctl driver * fixed the reset deassert first issue reported by Aisheng Dong Abel Vesa (14): dt-bindings: clocks: imx8mp: Rename audiomix ids clocks to audio_blk_ctl dt-bindings: reset: imx8mp: Add audio blk_ctl reset IDs dt-bindings: clock: imx8mp: Add ids for the audio shared gate dt-bindings: clock: imx8mp: Add media blk_ctl clock IDs dt-bindings: reset: imx8mp: Add media blk_ctl reset IDs dt-bindings: clock: imx8mp: Add hdmi blk_ctl clock IDs dt-bindings: reset: imx8mp: Add hdmi blk_ctl reset IDs clk: imx8mp: Add audio shared gate Documentation: bindings: clk: Add bindings for i.MX BLK_CTL clk: imx: Add generic blk-ctl driver clk: imx: Add blk-ctl driver for i.MX8MP arm64: dts: imx8mp: Add audio_blk_ctl node arm64: dts: imx8mp: Add media_blk_ctl node arm64: dts: imx8mp: Add hdmi_blk_ctl node .../devicetree/bindings/clock/fsl,imx-blk-ctl.yaml | 60 ++++ arch/arm64/boot/dts/freescale/imx8mp.dtsi | 37 +++ drivers/clk/imx/Makefile | 2 +- drivers/clk/imx/clk-blk-ctl-imx8mp.c | 316 +++++++++++++++++++++ drivers/clk/imx/clk-blk-ctl.c | 302 ++++++++++++++++++++ drivers/clk/imx/clk-blk-ctl.h | 80 ++++++ drivers/clk/imx/clk-imx8mp.c | 12 +- include/dt-bindings/clock/imx8mp-clock.h | 200 +++++++++---- include/dt-bindings/reset/imx8mp-reset.h | 45 +++ 9 files changed, 991 insertions(+), 63 deletions(-) create mode 100644 Documentation/devicetree/bindings/clock/fsl,imx-blk-ctl.yaml create mode 100644 drivers/clk/imx/clk-blk-ctl-imx8mp.c create mode 100644 drivers/clk/imx/clk-blk-ctl.c create mode 100644 drivers/clk/imx/clk-blk-ctl.h