Received: by 2002:a05:6a10:c604:0:0:0:0 with SMTP id y4csp2590083pxt; Mon, 9 Aug 2021 04:25:00 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwUlZVm39qTY7ls/iCfKjf0Qupd8bsyLw+ECC8eBV1PGeSgbPPxOit8ApQD0MbMGCyCK7eE X-Received: by 2002:a17:906:134a:: with SMTP id x10mr21602880ejb.70.1628508300430; Mon, 09 Aug 2021 04:25:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628508300; cv=none; d=google.com; s=arc-20160816; b=LQEkuPgzOnQLvXbavW3yMNNC8wMYosDEFP3SAiSHFmWTzuJBG90o66Oqc4lrbblyjW FyFIufzA6V/F8aXmkPreE43Ao0W1euQr8nojbW+MRQ3O51/q0Q55AQnt/fQaOitZ+i34 WgC6MN/Da/4TcQB7ObIqtlEzFCyvhJnfyHXidE1Wb9hSa6guS/MaY62IiwbD87hrW4/y f2nfPgIzRuZkP/b+WSTIL1r75FC3q8TSKluxk2ufU18E+y7E4N1QDO0P21+w5ZJfP0zK Z4VnfktIJQbWFJlaKT7/gCOMYxiTDkcfwIyibudl7x8H0J0eku6WLSkpyBYYpxTNDo7S T6jg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=vRoT5BSxcI/qFuszLL/O88HOU90cRS5N0ZHejOSe9B0=; b=BI616Xd7N/Qa+FUSjOPBlRch1VpWH87WCQEXvRY/HaFcfzSm1jjmsUVg7/L3MaHw/T 4tw35z3YpNc3rR8Y/JtkE2EGJ7Bk5OyMlpW7N1g4DVwxQLJ2NKG1YQ7KHvSIvnb37/uh ayr+oqC7LbY5p7AhiJqz7irJpKQ7dTYLw3sp7cS41j06ltHsOIoRMEUETm7n/rKb6ofv W+kMi3H28ulbRMoQhrPZOcNh90C3c+56KWWf3vaD/CqrBniq+uOw5S6HZdbBb9+aQstN VMT547iiIj9nMh4fFJqJVfn5F96IvIMTv2PGFtnT6Er8mbf3c507VV9x7dvp1bbItAL7 S1jg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@canonical.com header.s=20210705 header.b=hFMY9oQ7; 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=pass (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n21si17628935edt.352.2021.08.09.04.24.37; Mon, 09 Aug 2021 04:25:00 -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; dkim=pass header.i=@canonical.com header.s=20210705 header.b=hFMY9oQ7; 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=pass (p=NONE sp=NONE dis=NONE) header.from=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234920AbhHILXc (ORCPT + 99 others); Mon, 9 Aug 2021 07:23:32 -0400 Received: from smtp-relay-canonical-0.canonical.com ([185.125.188.120]:43118 "EHLO smtp-relay-canonical-0.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235007AbhHILXb (ORCPT ); Mon, 9 Aug 2021 07:23:31 -0400 Received: from mail-lf1-f69.google.com (mail-lf1-f69.google.com [209.85.167.69]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-canonical-0.canonical.com (Postfix) with ESMTPS id 979E53F0A2 for ; Mon, 9 Aug 2021 11:23:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1628508190; bh=vRoT5BSxcI/qFuszLL/O88HOU90cRS5N0ZHejOSe9B0=; h=Subject:To:Cc:References:From:Message-ID:Date:MIME-Version: In-Reply-To:Content-Type; b=hFMY9oQ7c01pr7d0dnaLHwuOYPIN/dP7XtUDHAbGAU9yZUdsziovni5IpjKeAfLo5 DLPyotD3yGHqpjD1joQUCjKr78K6lhvMJDHvqmv19aZAsU7fqoGaZvVCREtmfsKlNl tso8u2FpyfqSSk71mTMVGU2a/FKgrbSK95T9468OENT1RhUAQCjYrKRhkdUQJPNd/V 3zV6LdYnsAl5Z49UdeLAznuzBRC7TQgi29ZwR9Fi/o5sGtV2ZlLUlITcRpit/FFWZA HAFWhhSKM0kEPG2r6pj0HDOE98rdqIKkswOKSG1cIWkeIn7oHnP+8H83ARGB1EoHE1 5kZOB10GzUvbA== Received: by mail-lf1-f69.google.com with SMTP id c24-20020a0565123258b02903c025690adcso4029203lfr.22 for ; Mon, 09 Aug 2021 04:23:10 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=vRoT5BSxcI/qFuszLL/O88HOU90cRS5N0ZHejOSe9B0=; b=aTs3fz7F5Y73wCMVbAp8Nt++MXsQN+bPwY9bkAgaoY5H13N88yxQv3THwZDh/sBV2i iZszL/TapB+cB7toYXwk2+L9GfUVy96EYUxsXJ5McPJvMPOTkQzWTLryyGclWivoTDkC EIRrremqh70VQ6ciio6Av9qgvcw0/73KPzIrUJsq1afJqGxPdTnc1TjzSO5h66SEjdbl 54E9CIa0lmBmTJ8bYdKDRfiHqOB4qc3eR0yNres8rXc3odYU7pYsMw9KRYIHNtAFdO4p P67WdRCiMUEeHkj8wiZG2M3xJNweyVYsFmQcwrcJUtFSqK2r9j9fOp2CEBKmvt/rKO0K XArQ== X-Gm-Message-State: AOAM533PU5W5nmnPBJWIxBc0xh4LGy7MY4kq2SrbEaoSwURGHqWaQQLW ba85RmQqHMoon0G8goapWmGIU/Ljdm2kwZuQ2RSfTR/y60tgSPcbL04ECxCi5xBnuHXojniGty2 s9+3r1WUtwJ2DPLLlGuTL4mLCPq0XHG2UhS64C37Rxw== X-Received: by 2002:a50:cc06:: with SMTP id m6mr8360383edi.97.1628508179570; Mon, 09 Aug 2021 04:22:59 -0700 (PDT) X-Received: by 2002:a50:cc06:: with SMTP id m6mr8360357edi.97.1628508179449; Mon, 09 Aug 2021 04:22:59 -0700 (PDT) Received: from [192.168.8.102] ([86.32.42.198]) by smtp.gmail.com with ESMTPSA id l20sm5813866ejb.23.2021.08.09.04.22.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 09 Aug 2021 04:22:59 -0700 (PDT) Subject: Re: [PATCH v2 7/8] clk: samsung: Add Exynos850 clock driver stub To: Sam Protsenko , Sylwester Nawrocki , Chanwoo Choi , Linus Walleij , Tomasz Figa , =?UTF-8?Q?Pawe=c5=82_Chmiel?= Cc: Marc Zyngier , Rob Herring , Stephen Boyd , Michael Turquette , Jiri Slaby , Greg Kroah-Hartman , Charles Keepax , Ryu Euiyoul , Tom Gall , Sumit Semwal , John Stultz , Amit Pundir , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-serial@vger.kernel.org References: <20210806152146.16107-1-semen.protsenko@linaro.org> <20210806152146.16107-8-semen.protsenko@linaro.org> From: Krzysztof Kozlowski Message-ID: <3add6f87-7293-e1ae-8f9e-c69e9de18cf5@canonical.com> Date: Mon, 9 Aug 2021 13:22:56 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: <20210806152146.16107-8-semen.protsenko@linaro.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 06/08/2021 17:21, Sam Protsenko wrote: > For now it's just a stub driver to make the serial driver work. Later it > will be implemented properly. This driver doesn't really change clocks, > only registers the UART clock as a fixed-rate clock. Without this clock > driver the UART driver won't work, as it's trying to obtain "uart" clock > and fails if it's not able to. > > In order to get a functional serial console we have to implement that > minimal clock driver with "uart" clock. It's not necessary to actually > configure clocks, as those are already configured in bootloader, so > kernel can rely on that for now. > > Signed-off-by: Sam Protsenko > --- > Changes in v2: > - Used hard coded clock indexes, as clock bindings were removed; will > add clock bindings back (reimplemented) once proper clock driver is > ready > - Removed .data = 0 for exynos850-oscclk, as it's in BSS section > - Removed comma for terminator {} > - Made exynos850_clk_init() static > - Removed checking np for NULL, as it's already done in of_iomap() > > drivers/clk/samsung/Makefile | 1 + > drivers/clk/samsung/clk-exynos850.c | 64 +++++++++++++++++++++++++++++ > 2 files changed, 65 insertions(+) > create mode 100644 drivers/clk/samsung/clk-exynos850.c > > diff --git a/drivers/clk/samsung/Makefile b/drivers/clk/samsung/Makefile > index 028b2e27a37e..c46cf11e4d0b 100644 > --- a/drivers/clk/samsung/Makefile > +++ b/drivers/clk/samsung/Makefile > @@ -17,6 +17,7 @@ obj-$(CONFIG_EXYNOS_ARM64_COMMON_CLK) += clk-exynos5433.o > obj-$(CONFIG_EXYNOS_AUDSS_CLK_CON) += clk-exynos-audss.o > obj-$(CONFIG_EXYNOS_CLKOUT) += clk-exynos-clkout.o > obj-$(CONFIG_EXYNOS_ARM64_COMMON_CLK) += clk-exynos7.o > +obj-$(CONFIG_EXYNOS_ARM64_COMMON_CLK) += clk-exynos850.o > obj-$(CONFIG_S3C2410_COMMON_CLK)+= clk-s3c2410.o > obj-$(CONFIG_S3C2410_COMMON_DCLK)+= clk-s3c2410-dclk.o > obj-$(CONFIG_S3C2412_COMMON_CLK)+= clk-s3c2412.o > diff --git a/drivers/clk/samsung/clk-exynos850.c b/drivers/clk/samsung/clk-exynos850.c > new file mode 100644 > index 000000000000..36c7c7fe7cf0 > --- /dev/null > +++ b/drivers/clk/samsung/clk-exynos850.c > @@ -0,0 +1,64 @@ > +// SPDX-License-Identifier: GPL-2.0-only > +/* > + * Copyright (C) 2019 Samsung Electronics Co., Ltd. > + * Copyright (C) 2021 Linaro Ltd. > + * > + * Common Clock Framework support for Exynos850 SoC. > + */ > + > +#include > +#include > +#include > +#include > +#include > + > +#include "clk.h" > + > +/* Will be extracted to bindings header once proper clk driver is implemented */ > +#define OSCCLK 1 > +#define DOUT_UART 2 > +#define CLK_NR_CLKS 3 > + > +/* Fixed rate clocks generated outside the SoC */ > +static struct samsung_fixed_rate_clock exynos850_fixed_rate_ext_clks[] __initdata = { > + FRATE(OSCCLK, "fin_pll", NULL, 0, 26000000), > +}; > + > +/* > + * Model the UART clock as a fixed-rate clock for now, to make serial driver > + * work. This clock is already configured in the bootloader. > + */ > +static const struct samsung_fixed_rate_clock exynos850_peri_clks[] __initconst = { > + FRATE(DOUT_UART, "DOUT_UART", NULL, 0, 200000000), > +}; > + > +static const struct of_device_id ext_clk_match[] __initconst = { > + { .compatible = "samsung,exynos850-oscclk" }, One more thing - I am not sure anymore if this is correct. AFAIR, we wanted to drop compatibles for external clocks. Chanwoo, Sylwester, Tomasz, Do you remember the recommended approach? Shall it be like Exynos542x (samsung,exynos5420-oscclk) or Exynos5433? BTW, I am now converting some of existing clock controller bindings to dtschema. Best regards, Krzysztof