From mboxrd@z Thu Jan 1 00:00:00 1970 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=-3.7 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,UNPARSEABLE_RELAY,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 16CDDC2BA19 for ; Wed, 15 Apr 2020 11:20:04 +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 D4AAD20575 for ; Wed, 15 Apr 2020 11:20:03 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="p4hR4r3l"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="WWo1FeKN" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D4AAD20575 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-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=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version: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=1tCrGPljmyVM75cmVsrJmUa8UqOlLYuxoX5YaB5axso=; b=p4hR4r3lhVB4Rm kZuuSieXtHUh+PXp4dgChfAnv/164pRX3aoNSH3Rn6yyknr8iYyCHiPBb88eiJdkSAuUsQR/8eha5 pLuVUdI29a707RJVHFwFFBrmoncy29CqPRUKzeAFtkCJx/RrRjLw8/lLHS3u8UmuTePqV0RlXjXUt gUoFutImmNipllZHeJtWLnnPUl8wM4oU9ei0oK+wT3VBUD4VgVvKD4/xJ7RqPT638cgPaQngD3KwE 0mSCgldGRtWHC3Ye+qds2lCL1y36yDfn/3s0GwAubcDJ5w6d9cz6MahAzWLtKTSVghWz3QCcLMThs w3OPYr9oOAkwZziK8y5Q==; 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 1jOg5G-0001uz-IW; Wed, 15 Apr 2020 11:19:58 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jOg4a-0001Mx-Vs; Wed, 15 Apr 2020 11:19:18 +0000 X-UUID: 23b4810764e4438abf259344ad78715d-20200415 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID:Date:Subject:CC:To:From; bh=VxaaBmnZiciOML8KK3Xnbo/VtfQpkB4jCNcyrHqsQOc=; b=WWo1FeKNnFH9I+I63Gk9uExc09/f9ECYeUvXSA02B903bEMD3mqIDQ9+dp4h8O3nKPSmaeqVd4veC1jZRrIbrd6tcJNwWJoA0mRgMao7vf6c4Nx7/ejM0iHRfp9sxIKopMnnG4UO73j1KFK9iGX/go5w5oymnTV76gh8fkkfdAc=; X-UUID: 23b4810764e4438abf259344ad78715d-20200415 Received: from mtkcas67.mediatek.inc [(172.29.193.45)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 283387120; Wed, 15 Apr 2020 03:19:01 -0800 Received: from MTKMBS02N2.mediatek.inc (172.21.101.101) by MTKMBS62N1.mediatek.inc (172.29.193.41) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 15 Apr 2020 04:19:08 -0700 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs02n2.mediatek.inc (172.21.101.101) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 15 Apr 2020 19:18:56 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Wed, 15 Apr 2020 19:18:56 +0800 From: Anthony Huang To: Rob Herring , Matthias Brugger Subject: Add Mediatek MMDVFS driver Date: Wed, 15 Apr 2020 19:18:24 +0800 Message-ID: <1586949506-22990-1-git-send-email-anthony.huang@mediatek.com> X-Mailer: git-send-email 1.7.9.5 MIME-Version: 1.0 X-TM-SNTS-SMTP: 2FC43E88FC5EC31261F318F81DD4C58D1769D04964F53E9E647465ED3ADE254F2000:8 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200415_041917_038932_687E8FC5 X-CRM114-Status: UNSURE ( 9.46 ) X-CRM114-Notice: Please train this message. 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, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, wsd_upstream@mediatek.com Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org his patchset adds the Mediatek MMDVFS(Multimedia Dynamic Voltage and Frequency Scaling) driver. The multimedia HWs, such as display, camera, share the same power supplier, and on some platforms, they share the same clock MUX. If each HW needs different clock frequency at the same time, the clock MUX must be set to the clock source which can meet the highest required clock frequency. Following implementation is used to achieve the goal. There are OPP tables for all the clock MUXs for MM HWs defined in DTS, ant these OPP tables have the same number of levels. The MMDVFS registers the regulator callback and the MM HWs can get available clock frequencies from OPP tables and set corresponding voltage by regulor API. The MMDVFS's callback will be triggered if the voltage is changed and this voltage represents the highest required OPP level. The MMDVFS has a mapping table: which clock source should be set to each clock MUX for every OPP level. So all the clock MUXs will be set to the clock sources according to the current OPP level in the MMDVFS's regulator callback. Anthony Huang (2): dt-bindings: soc: mediatek: Add document for mmdvfs driver soc: mediatek: Add mtk-mmdvfs driver .../devicetree/bindings/soc/mediatek/mmdvfs.yaml | 198 +++++++++++++ drivers/soc/mediatek/Kconfig | 9 + drivers/soc/mediatek/Makefile | 1 + drivers/soc/mediatek/mtk-mmdvfs.c | 312 ++++++++++++++++++++ 4 files changed, 520 insertions(+) create mode 100644 Documentation/devicetree/bindings/soc/mediatek/mmdvfs.yaml create mode 100644 drivers/soc/mediatek/mtk-mmdvfs.c -- 1.7.9.5 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel