From patchwork Mon Mar 25 11:11:59 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerome Brunet X-Patchwork-Id: 161087 Delivered-To: patch@linaro.org Received: by 2002:a02:c6d8:0:0:0:0:0 with SMTP id r24csp3831470jan; Mon, 25 Mar 2019 04:12:23 -0700 (PDT) X-Google-Smtp-Source: APXvYqxeR6KxbTQlJjT0D2FAUrr3+gzFVzGT+cs7Ozf3y2OiAaxmG5mZS8T0AceHdz2NWD3pedZ0 X-Received: by 2002:a62:524e:: with SMTP id g75mr4211162pfb.106.1553512343658; Mon, 25 Mar 2019 04:12:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553512343; cv=none; d=google.com; s=arc-20160816; b=VRtKucJO+UQBd3229hTNCynUTm0BHTqKn/tregsakyNWZM31eoWkmz4vadtzMJeEmJ 9ZWJlA7co6FO3lSad6MlEzRddAo9lSSjZ5tzvDzyahKUyJYzwD91TAW/FjGm/LThlu+A slWXgekCV3Qww4i3G96Vguox8RtEu/dc/TQHaVqhbWU3lzt7KwE8qRGKjNGeJOEkMf0U 5dXouhoGZyNP85xwduiyd7pUv4SYpxgfuDY1FzygMNJ8wmE8PRe4dKfaLI2FDLAGXBS2 YjPEoCfmXAPOItvhrr22UXS93oAyBKYjfPo4Ykyyt2eykIP/GYJyrjr5jTEAP+/XpTry 9kWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=fKq0Xmw2ntAqrTVNaEz/XqYkib9vFynLezQDvMrUHDU=; b=NvU2z6BcWfhb8WuYG1kf/g76DajOjl8FPr8J4lFYUDPhgUBLNQUeYF1iVL4XTbJ5e8 Uao/SfJA/x10v2WQoFINwJNja1Dj/eF+k2JcvakV41y060+0+r6neNc+uHQhnSofVohN v7MVhZ4LFqDUeJoPmTmagUoTF9GSFNOoeYyyxxcgYO452sNelcCMrNcNY6fUuL7FoF5Y VoOkta+2IuBl72JYJdCCDyIhUNbmEGzJ2us3OD6LEjsUKp0qBPikvIrx+QWm+gIpZjb/ cG9rU+UfHQNd+8SeaTGreQ+yFo1Wq5dSkxWqxWczv1tyjK9RGmmd0alrlnsk97xwaA+e pbWg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=HLJdfe4u; spf=temperror (google.com: error in processing during lookup of linux-kernel-owner@vger.kernel.org: DNS error) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org ([209.132.180.67]) by mx.google.com with ESMTP id c7si13734247plo.274.2019.03.25.04.12.23; Mon, 25 Mar 2019 04:12:23 -0700 (PDT) Received-SPF: temperror (google.com: error in processing during lookup of linux-kernel-owner@vger.kernel.org: DNS error) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=HLJdfe4u; spf=temperror (google.com: error in processing during lookup of linux-kernel-owner@vger.kernel.org: DNS error) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730928AbfCYLMQ (ORCPT + 31 others); Mon, 25 Mar 2019 07:12:16 -0400 Received: from mail-wr1-f65.google.com ([209.85.221.65]:46188 "EHLO mail-wr1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730906AbfCYLMO (ORCPT ); Mon, 25 Mar 2019 07:12:14 -0400 Received: by mail-wr1-f65.google.com with SMTP id o1so9573431wrs.13 for ; Mon, 25 Mar 2019 04:12:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=fKq0Xmw2ntAqrTVNaEz/XqYkib9vFynLezQDvMrUHDU=; b=HLJdfe4usokrPovRQReXb3u4/AX4uD/nG1dOjRXM6qMGCuiE5XhVyoMWmgp32yaGTl kEu0Zh5L1k0o/ERmTU8U4rscsJj0nWj/V8kyY7/Bt8NiBAJZwpypz4lHJDmu7veLelcC XFrn4pOXj2r+UCdQ63gUljC2h3SYDRx4RIzmUHYMAwr3oppJcj7pTt1Ikg+9OVQvPZ5j 12nBK8Y+Lk+jVhREudTFRTbR0LmKuV/FaWQ3jzZNNIOI9e1jYSt9Fp6qhik5niLFfWxP RI2/3IbJD+kOC/TGr6o3PqhrD8VcUs1GmsRyOeyJov2zDMq9j2mjxDABZe8u2bfXWS7z OpEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=fKq0Xmw2ntAqrTVNaEz/XqYkib9vFynLezQDvMrUHDU=; b=B4MwKJnl1Er58ST9uYV97ZQrEhmjQEFpXmFXExB7U1mBwI3KrJAEtGTZr71WmSjhXr ssxE0X5v7xFnL3Gpp3XOPSlcdcxDVP7O1gOMJHTDPet5uusYEcXQvIZ1ldXhi4ITAbxO osVSI/SD8hoeIU1OOnNcWII34N2u0R4jQ+NtPRjQcJtKFVb+e6S2+2Gy3GuQ1nrsAEVC RaGbBeemiNfD93p5J8/OF1pvyu2FwEEYBnLyyfh8GlfnDhWCrAkBnqa2axsX10NP9iCX h/Nfr/05Jzobot6KuGOV00Xp+caDqWHUJUIRI0AOrt+2HJ0QnLApTEDKerCQrMGtxm9l ET7Q== X-Gm-Message-State: APjAAAX8GZ3dOY3kJTmdunhEr/lVWoznYDZ9yAGSK/DU77B5pyN38PdN Hsz213e0hfOrGLxLiNvM1Bp0twjQynE= X-Received: by 2002:adf:dcca:: with SMTP id x10mr15173526wrm.57.1553512332252; Mon, 25 Mar 2019 04:12:12 -0700 (PDT) Received: from boomer.local ([2a01:e34:eeb6:4690:106b:bae3:31ed:7561]) by smtp.googlemail.com with ESMTPSA id n188sm15134301wme.13.2019.03.25.04.12.10 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 25 Mar 2019 04:12:11 -0700 (PDT) From: Jerome Brunet To: Neil Armstrong Cc: Jerome Brunet , linux-amlogic@lists.infradead.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/4] clk: meson: eeclk: add init regs Date: Mon, 25 Mar 2019 12:11:59 +0100 Message-Id: <20190325111200.15940-4-jbrunet@baylibre.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190325111200.15940-1-jbrunet@baylibre.com> References: <20190325111200.15940-1-jbrunet@baylibre.com> MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Like the PLL and MPLL, the controller may require some magic setting to be applied on startup. This is needed when the initial setting is not applied by the boot ROM. The controller need to do it when the setting applies to several clock, like all the MPLLs in the case of g12a. Signed-off-by: Jerome Brunet --- drivers/clk/meson/meson-eeclk.c | 3 +++ drivers/clk/meson/meson-eeclk.h | 2 ++ 2 files changed, 5 insertions(+) -- 2.20.1 diff --git a/drivers/clk/meson/meson-eeclk.c b/drivers/clk/meson/meson-eeclk.c index 37a34c9c3885..6ba2094be257 100644 --- a/drivers/clk/meson/meson-eeclk.c +++ b/drivers/clk/meson/meson-eeclk.c @@ -34,6 +34,9 @@ int meson_eeclkc_probe(struct platform_device *pdev) return PTR_ERR(map); } + if (data->init_count) + regmap_multi_reg_write(map, data->init_regs, data->init_count); + input = meson_clk_hw_register_input(dev, "xtal", IN_PREFIX "xtal", 0); if (IS_ERR(input)) { ret = PTR_ERR(input); diff --git a/drivers/clk/meson/meson-eeclk.h b/drivers/clk/meson/meson-eeclk.h index 1b809b1419fe..9ab5d6fa7ccb 100644 --- a/drivers/clk/meson/meson-eeclk.h +++ b/drivers/clk/meson/meson-eeclk.h @@ -17,6 +17,8 @@ struct platform_device; struct meson_eeclkc_data { struct clk_regmap *const *regmap_clks; unsigned int regmap_clk_num; + const struct reg_sequence *init_regs; + unsigned int init_count; struct clk_hw_onecell_data *hw_onecell_data; };