Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp5217105ybi; Tue, 4 Jun 2019 03:15:37 -0700 (PDT) X-Google-Smtp-Source: APXvYqy0MNKRWLz4ID4TChdZ6fWovqZNxuWlxDTQ1fQwZvM2HGeexaBc0UBNX74snYOgnEHhdtIz X-Received: by 2002:a17:90a:b296:: with SMTP id c22mr36926009pjr.28.1559643337368; Tue, 04 Jun 2019 03:15:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559643337; cv=none; d=google.com; s=arc-20160816; b=UN2Ql73mHWtmGoYT9Og4asGmb/MLfNSzwHBgKA+z35EuSeCn0UuGw8mjHJ8UBMs0DN qtgo5Sr/EEDoo04oOovFds9UD68D5fHvV42QUFrQVHFbH+akYTBtk+MOu+V5D2u+sYqM dKJxAR9sGw80PHTQjw9p1hNlWPO0wfxMa5irC7puVPcKmH0/uF6sxVSQ4Xh31kyvqEv7 zqXat+Nv0dDmizvYpkutlwe2TEynobGNykAJnNEUieB/DWNOCfJ915mZdJUEqTKTf4rv /fjO68W/rz1aQmwWwvu6+SlyCPAZxaZfTnCqObEE4FUsoy6JnmWbQQcTKn7IJpHQRI51 LvJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=0j00OI+MGgv0YW1aeyTP/DD/V1YAoywBfR7hsybu2Jk=; b=PothtzIYAk59cRdk9SxPWNBBVzB2m9AkA70ItX31RfR/9R9JL7+59bHBDCVahZugW8 SJolgmGGzl6uMhLBYNdCI/MTbNRCrK1MvX9RVLcb4IkVm9nKN4u7Erh9zrTgF5glMZ/Z a63NJIy1aXUrdHnTwVZJXqpLQlfZXeJS6BkxuawSu/LDuuja8y23f8n4wvFJSGm5h1Wn xaJ0dQNN2mbPLjyXILGqE+31LLmQ5IYpesvLm6Df+9T4TGn5zAkc/nvWtRusYHlN+ZWV FbpfSPTAZdWpACcBaavIZDniXWKM3q8klA4RzXjqJIrrQCM8J9gW+VmWCNLP8N+gF13R OxWQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d23si21774180pgv.513.2019.06.04.03.15.18; Tue, 04 Jun 2019 03:15:37 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727226AbfFDKMH (ORCPT + 99 others); Tue, 4 Jun 2019 06:12:07 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:13010 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1727057AbfFDKMH (ORCPT ); Tue, 4 Jun 2019 06:12:07 -0400 X-UUID: 9d690ebe850f417eafe69d94ea59cbf7-20190604 X-UUID: 9d690ebe850f417eafe69d94ea59cbf7-20190604 Received: from mtkmrs01.mediatek.inc [(172.21.131.159)] by mailgw01.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 639631439; Tue, 04 Jun 2019 18:12:02 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs01n1.mediatek.inc (172.21.101.68) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Tue, 4 Jun 2019 18:12:00 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Tue, 4 Jun 2019 18:12:01 +0800 From: Stu Hsieh To: Mauro Carvalho Chehab , Rob Herring , CK Hu CC: Mark Rutland , Matthias Brugger , Stu Hsieh , , , , , , Subject: [PATCH v4 06/14] [media] mtk-mipicsi: enable/disable ana clk Date: Tue, 4 Jun 2019 18:11:47 +0800 Message-ID: <1559643115-15124-7-git-send-email-stu.hsieh@mediatek.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1559643115-15124-1-git-send-email-stu.hsieh@mediatek.com> References: <1559643115-15124-1-git-send-email-stu.hsieh@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch enable/disable ana clk when power on/off Signed-off-by: Stu Hsieh --- .../media/platform/mtk-mipicsi/mtk_mipicsi.c | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/drivers/media/platform/mtk-mipicsi/mtk_mipicsi.c b/drivers/media/platform/mtk-mipicsi/mtk_mipicsi.c index 28dcc683a958..f5cb29077022 100644 --- a/drivers/media/platform/mtk-mipicsi/mtk_mipicsi.c +++ b/drivers/media/platform/mtk-mipicsi/mtk_mipicsi.c @@ -182,6 +182,41 @@ static const struct mtk_format mtk_mipicsi_formats[] = { }, }; +static void mtk_mipicsi_ana_clk_enable(void __iomem *base, bool enable) +{ + if (enable) { + writel(1UL | readl(base + MIPI_RX_ANA00_CSI), + base + MIPI_RX_ANA00_CSI); + writel(1UL | readl(base + MIPI_RX_ANA04_CSI), + base + MIPI_RX_ANA04_CSI); + writel(1UL | readl(base + MIPI_RX_ANA08_CSI), + base + MIPI_RX_ANA08_CSI); + writel(1UL | readl(base + MIPI_RX_ANA0C_CSI), + base + MIPI_RX_ANA0C_CSI); + writel(1UL | readl(base + MIPI_RX_ANA10_CSI), + base + MIPI_RX_ANA10_CSI); + writel(1UL | readl(base + MIPI_RX_ANA20_CSI), + base + MIPI_RX_ANA20_CSI); + writel(1UL | readl(base + MIPI_RX_ANA24_CSI), + base + MIPI_RX_ANA24_CSI); + } else { + writel(~1UL & readl(base + MIPI_RX_ANA00_CSI), + base + MIPI_RX_ANA00_CSI); + writel(~1UL & readl(base + MIPI_RX_ANA04_CSI), + base + MIPI_RX_ANA04_CSI); + writel(~1UL & readl(base + MIPI_RX_ANA08_CSI), + base + MIPI_RX_ANA08_CSI); + writel(~1UL & readl(base + MIPI_RX_ANA0C_CSI), + base + MIPI_RX_ANA0C_CSI); + writel(~1UL & readl(base + MIPI_RX_ANA10_CSI), + base + MIPI_RX_ANA10_CSI); + writel(~1UL & readl(base + MIPI_RX_ANA20_CSI), + base + MIPI_RX_ANA20_CSI); + writel(~1UL & readl(base + MIPI_RX_ANA24_CSI), + base + MIPI_RX_ANA24_CSI); + } +} + static void mtk_mipicsi_ana_init(void __iomem *base) { writel(0xFEFBEFBEU & readl(base + MIPI_RX_ANA4C_CSI), @@ -354,6 +389,8 @@ static void mipicsi_clk_enable(struct mtk_mipicsi_dev *mipicsi, bool enable) for (i = 0; i < mipicsi->common_clk_num; i++) enable ? clk_prepare_enable(mipicsi->common_clk[i]) : clk_disable_unprepare(mipicsi->common_clk[i]); + + mtk_mipicsi_ana_clk_enable(mipicsi->ana, enable); } static int mtk_mipicsi_pm_suspend(struct device *dev) -- 2.18.0