From patchwork Wed Apr 15 08:02:40 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abel Vesa X-Patchwork-Id: 11490273 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 24603112C for ; Wed, 15 Apr 2020 08:03:35 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 E9FE1206F9 for ; Wed, 15 Apr 2020 08:03: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="NA8qdCnZ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E9FE1206F9 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+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.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=TxZNr6DH5j6jZ4gi4J9sXOt9w0xcpRBAcK1uvqW58k8=; b=NA8 qdCnZEbwOmBcysCMSTo9UlhRde7a33vJKx8F5TClptswpcFcxTmehBG+xIqdOZcPAqp+Rb5daitm3 oSQGDRW4b3bfmyJBFxySENudTEmbKEAUlQi2Bq9h8r9FiSmSFkhHsX+8k0ew6V/81xqPbKv7hXLH8 A8klJqoLu6EhzFila8Wv/7wSguuIn9gdXr9z4VZRaDQMGte2sLAE8OdeKIoFuu/nqM4jfeZjW7ZVo l5hbERvfHV/a2asGR+eLztT4oLb+5l0EuEGRE9i/oLM1E6bB7FUVpmIeYnjpKZN22JGQc4nCTFxFL eNyUGP2vRbDzCeUQyyOWrQhkiNdL92A==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jOd0y-0006XI-P1; Wed, 15 Apr 2020 08:03:20 +0000 Received: from inva020.nxp.com ([92.121.34.13]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jOd0m-0006Lg-UF for linux-arm-kernel@lists.infradead.org; Wed, 15 Apr 2020 08:03:10 +0000 Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 5A0641A079A; Wed, 15 Apr 2020 10:03:05 +0200 (CEST) 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 4C4851A078C; Wed, 15 Apr 2020 10:03:05 +0200 (CEST) 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 B19C5202B0; Wed, 15 Apr 2020 10:03:04 +0200 (CEST) From: Abel Vesa To: Lee Jones , Shawn Guo , Peng Fan , Philipp Zabel , Stephen Boyd , Sascha Hauer , Anson Huang , Leonard Crestez , Jacky Bai Subject: [PATCH v3 00/13] Add generic MFD i.MX mix and audiomix support Date: Wed, 15 Apr 2020 11:02:40 +0300 Message-Id: <1586937773-5836-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-20200415_010309_252395_3D431D01 X-CRM114-Status: UNSURE ( 9.22 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -2.3 (--) X-Spam-Report: SpamAssassin version 3.4.4 on bombadil.infradead.org summary: Content analysis details: (-2.3 points) pts rule name description ---- ---------------------- -------------------------------------------------- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, medium trust [92.121.34.13 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record 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+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org The i.MX8MP has some new IPs called mixes. They are formed usually by some GPRs that can be split into different functionalities. The first example here is the audiomix which has dedicated registers that can be registered as a clock controller and some other registers that can be registered as a reset controller, plus some dedicated ones that will be registered as syscon and used by each dedicated audio IP. More mixes to be following the same structure are to come, like hdmimix, dispmix and mediamix. They will all be populated and registered by the MFD imx-mix generic driver. Changes since v2: * removed the runtime PM for now * changed the new SPDX identifiers to GPL-2.0-only * took care of the DT schema comment Abel Vesa (13): mfd: Add i.MX generic mix support Documentation: mfd: Add DT bindings for i.MX Mix arm64: dts: imx8mp: Add AIPS 4 and 5 arm64: dts: imx8mp: Add audiomix node clk: imx: gate2: Allow single bit gating clock clk: imx: pll14xx: Add the device as argument when registering clk: imx: Add helpers for passing the device as argument dt-bindings: clocks: imx8mp: Add ids for audiomix clocks clk: imx: Add audiomix clock controller support arm64: dts: imx8mp: Add audiomix clock controller node dt-bindings: reset: imx8mp: Add ids for audiomix reset reset: imx: Add audiomix reset controller support arm64: dts: imx8mp: Add audiomix reset controller node .../devicetree/bindings/mfd/fsl,imx-mix.yaml | 34 ++++ arch/arm64/boot/dts/freescale/imx8mp.dtsi | 41 ++++- drivers/clk/imx/Makefile | 2 +- drivers/clk/imx/clk-audiomix.c | 175 +++++++++++++++++++++ drivers/clk/imx/clk-gate2.c | 31 +++- drivers/clk/imx/clk-pll14xx.c | 8 +- drivers/clk/imx/clk.h | 55 ++++++- drivers/mfd/Kconfig | 11 ++ drivers/mfd/Makefile | 1 + drivers/mfd/imx-mix.c | 48 ++++++ drivers/reset/Kconfig | 7 + drivers/reset/Makefile | 1 + drivers/reset/reset-imx-audiomix.c | 117 ++++++++++++++ include/dt-bindings/clock/imx8mp-clock.h | 62 ++++++++ include/dt-bindings/reset/imx-audiomix-reset.h | 15 ++ 15 files changed, 590 insertions(+), 18 deletions(-) create mode 100644 Documentation/devicetree/bindings/mfd/fsl,imx-mix.yaml create mode 100644 drivers/clk/imx/clk-audiomix.c create mode 100644 drivers/mfd/imx-mix.c create mode 100644 drivers/reset/reset-imx-audiomix.c create mode 100644 include/dt-bindings/reset/imx-audiomix-reset.h