Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp3420700pxv; Mon, 26 Jul 2021 03:59:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzY0S2Z9kCHeeAAx6mabW35iqqMforkXN8tKjFOQQk3SzUUQ0nrTdsSFZ4MC+Od1t8Y22aA X-Received: by 2002:a17:907:e8c:: with SMTP id ho12mr16585481ejc.552.1627297170505; Mon, 26 Jul 2021 03:59:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627297170; cv=none; d=google.com; s=arc-20160816; b=wj7MdM5363wubVgF/NFjWvJve9Rxb2IzrTRvo0RAoEFKZisgVuhgOqgpux+lJX+3ja pbNJCrgoHUaudTX210Pn9zTwn/2Lfy94sIZbNnMQtbRf6/D5EdDyzD+zol2sDJZ1Q/uX WnpfLaqzQyd4ClN907wCEFYl9GgGfozYLHJbEdxYFjTEXYopBDsMnpBCE9zO2Mw/tKw5 PvsPWU17x2jrC3DGy6v0NyfmHYWKVlp/WRzPMfAhzExqQYV1YA6fshDyxjhSyVXL+Y5g 42VWlACC+hS3Cf5dc+3dhd+Zsx3Dv7NMdLBwNmmN/oQY5jXLVyLJtKW+2jMqDEJlvoij 7lNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:cc:to:from; bh=r0Yp2Ibf+2HNL/uNptocYCJFHeovx+N7Qt3qMlb52AE=; b=MDuEDwneGavT8S0Shw+RVAH6oC6AlEfG4yBx/SBvNarepvRzEhT1RHjWp3d/IVUcBl yQykOXOfj+/56FFZrd+wyXwd7g963gp2QAHqE4/Cqv5XdE/lGHXynweypZHQHWCu1voD uNu7G5Witkc2ic6i/uUqV5N8SIhqJ0/Rjb8zzq1WwL2smf0VTfVwkaJqs5kBiTYpztGH ootM0QlKHLtYtweq/46evqYxbv0vtJg0yEMyfTByWgep6sG2rMapauPkvxQnSVGrlJfS /fBMeqHuI6InW+RG5e9bCu1ED8JHpXXwF5taKGrYqiWHvlA7kWuk5i7HSPH9K2LUAyOm sMsQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n5si39065347edd.91.2021.07.26.03.59.07; Mon, 26 Jul 2021 03:59:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232862AbhGZKRM (ORCPT + 99 others); Mon, 26 Jul 2021 06:17:12 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:33746 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S232334AbhGZKRL (ORCPT ); Mon, 26 Jul 2021 06:17:11 -0400 X-UUID: 28ee40d46c664887908e903d2e78c20b-20210726 X-UUID: 28ee40d46c664887908e903d2e78c20b-20210726 Received: from mtkexhb02.mediatek.inc [(172.21.101.103)] by mailgw02.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1134525413; Mon, 26 Jul 2021 18:57:36 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs07n2.mediatek.inc (172.21.101.141) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 26 Jul 2021 18:57:35 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Mon, 26 Jul 2021 18:57:34 +0800 From: Chun-Jie Chen To: Matthias Brugger , Stephen Boyd , Nicolas Boichat , Rob Herring CC: , , , , , , Subject: [v14 00/21] Mediatek MT8192 clock support Date: Mon, 26 Jul 2021 18:56:58 +0800 Message-ID: <20210726105719.15793-1-chun-jie.chen@mediatek.com> X-Mailer: git-send-email 2.18.0 MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org this patch series is based on 5.14-rc1. changes since v13: - no change (rebased to 5.14) changes since v12: - move audsys binding to "mediatek,audsys.txt" (patch 3) changes since v11: - move mmsys binding to "mediatek,mmsys.txt" (patch 2) - fix new DT binding error (patch 1) change since v10: - refine binding document in patch 1 (drop the 'oneOf') change since v9: - combine similiar dt-binding file for system and functional clock - change api of getting regmap if it's not a syscon node (patch 3) change since v8: - fix mm dt-binding file conflict. reason for sending v8: - due to this patch series including dt-binding file, so add device tree reviewer to mail list, no change between [1] and v8. [1] https://patchwork.kernel.org/project/linux-mediatek/list/?series=454523 reason for resending v7: - add review history from series below [1] https://patchwork.kernel.org/project/linux-mediatek/list/?series=405295 change since v6: - update from series below [1] https://patchwork.kernel.org/project/linux-mediatek/list/?series=405295 - fix DT bindings fail - fix checkpatch warning - update mux ops without gate control change since v5: - remove unused clocks by rolling Tinghan's patches[1][2] into series [1] https://patchwork.kernel.org/project/linux-mediatek/list/?series=398781 [2] https://patchwork.kernel.org/project/linux-mediatek/list/?series=405143 - remove dts related patches from series change since v4: - merge some subsystem into same driver - add a generic probe function to reduce duplicated code changes since v3: - add critical clocks - split large patches into small ones changes since v2: - update and split dt-binding documents by functionalities - add error checking in probe() function - fix incorrect clock relation and add critical clocks - update license identifier and minor fix of coding style changes since v1: - fix asymmetrical control of PLL - have en_mask used as divider enable mask on all MediaTek SoC Chun-Jie Chen (21): dt-bindings: ARM: Mediatek: Add new document bindings of MT8192 clock dt-bindings: ARM: Mediatek: Add mmsys document binding for MT8192 dt-bindings: ARM: Mediatek: Add audsys document binding for MT8192 clk: mediatek: Add dt-bindings of MT8192 clocks clk: mediatek: Get regmap without syscon compatible check clk: mediatek: Fix asymmetrical PLL enable and disable control clk: mediatek: Add configurable enable control to mtk_pll_data clk: mediatek: Add mtk_clk_simple_probe() to simplify clock providers clk: mediatek: Add MT8192 basic clocks support clk: mediatek: Add MT8192 audio clock support clk: mediatek: Add MT8192 camsys clock support clk: mediatek: Add MT8192 imgsys clock support clk: mediatek: Add MT8192 imp i2c wrapper clock support clk: mediatek: Add MT8192 ipesys clock support clk: mediatek: Add MT8192 mdpsys clock support clk: mediatek: Add MT8192 mfgcfg clock support clk: mediatek: Add MT8192 mmsys clock support clk: mediatek: Add MT8192 msdc clock support clk: mediatek: Add MT8192 scp adsp clock support clk: mediatek: Add MT8192 vdecsys clock support clk: mediatek: Add MT8192 vencsys clock support .../bindings/arm/mediatek/mediatek,audsys.txt | 1 + .../bindings/arm/mediatek/mediatek,mmsys.txt | 1 + .../arm/mediatek/mediatek,mt8192-clock.yaml | 199 +++ .../mediatek/mediatek,mt8192-sys-clock.yaml | 65 + drivers/clk/mediatek/Kconfig | 80 + drivers/clk/mediatek/Makefile | 13 + drivers/clk/mediatek/clk-cpumux.c | 2 +- drivers/clk/mediatek/clk-mt8192-aud.c | 118 ++ drivers/clk/mediatek/clk-mt8192-cam.c | 107 ++ drivers/clk/mediatek/clk-mt8192-img.c | 70 + .../clk/mediatek/clk-mt8192-imp_iic_wrap.c | 119 ++ drivers/clk/mediatek/clk-mt8192-ipe.c | 57 + drivers/clk/mediatek/clk-mt8192-mdp.c | 82 + drivers/clk/mediatek/clk-mt8192-mfg.c | 50 + drivers/clk/mediatek/clk-mt8192-mm.c | 108 ++ drivers/clk/mediatek/clk-mt8192-msdc.c | 85 ++ drivers/clk/mediatek/clk-mt8192-scp_adsp.c | 50 + drivers/clk/mediatek/clk-mt8192-vdec.c | 94 ++ drivers/clk/mediatek/clk-mt8192-venc.c | 53 + drivers/clk/mediatek/clk-mt8192.c | 1326 +++++++++++++++++ drivers/clk/mediatek/clk-mtk.c | 25 +- drivers/clk/mediatek/clk-mtk.h | 28 +- drivers/clk/mediatek/clk-mux.c | 11 +- drivers/clk/mediatek/clk-mux.h | 18 +- drivers/clk/mediatek/clk-pll.c | 31 +- drivers/clk/mediatek/reset.c | 2 +- include/dt-bindings/clock/mt8192-clk.h | 585 ++++++++ 27 files changed, 3356 insertions(+), 24 deletions(-) create mode 100644 Documentation/devicetree/bindings/arm/mediatek/mediatek,mt8192-clock.yaml create mode 100644 Documentation/devicetree/bindings/arm/mediatek/mediatek,mt8192-sys-clock.yaml create mode 100644 drivers/clk/mediatek/clk-mt8192-aud.c create mode 100644 drivers/clk/mediatek/clk-mt8192-cam.c create mode 100644 drivers/clk/mediatek/clk-mt8192-img.c create mode 100644 drivers/clk/mediatek/clk-mt8192-imp_iic_wrap.c create mode 100644 drivers/clk/mediatek/clk-mt8192-ipe.c create mode 100644 drivers/clk/mediatek/clk-mt8192-mdp.c create mode 100644 drivers/clk/mediatek/clk-mt8192-mfg.c create mode 100644 drivers/clk/mediatek/clk-mt8192-mm.c create mode 100644 drivers/clk/mediatek/clk-mt8192-msdc.c create mode 100644 drivers/clk/mediatek/clk-mt8192-scp_adsp.c create mode 100644 drivers/clk/mediatek/clk-mt8192-vdec.c create mode 100644 drivers/clk/mediatek/clk-mt8192-venc.c create mode 100644 drivers/clk/mediatek/clk-mt8192.c create mode 100644 include/dt-bindings/clock/mt8192-clk.h -- 2.18.0