Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp363236yba; Fri, 12 Apr 2019 05:15:34 -0700 (PDT) X-Google-Smtp-Source: APXvYqyFiu7rmvMBF7wVDbQ/pd7UQhU7FUOAUlx08p4QbkM2JerFXh4j/0DAeT4wxRfklVx81ePF X-Received: by 2002:a17:902:8a8b:: with SMTP id p11mr56726308plo.227.1555071334437; Fri, 12 Apr 2019 05:15:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1555071334; cv=none; d=google.com; s=arc-20160816; b=ehEaudbyAgt/ypb7+tVmojXFbW4pzAC3GDE4MmA5mIAjcnz1g/QngpttbqpexUaQ7F 11iZsuyYTXsas91pgPxFsvua6GnVKJemQysnC5VOZX0cZoyzyec8mRye8YjjVSG5wYAa BhlI9NAnvKYq2BK/AMuANoRXiLVrtC4PxlPEiBhPuA8inhYhvt9UPGuSIcM4IkMjd7qv W79E4xqoz04KldGAgWKsjzdwDaONfqhfy1uFZywKP/Tgyir8/6g530PIPnXZQCeMdc1x VpmBXi/7Zzhe6g8KaAasisl4pwNvBT6BHjF3Bw1uGiweczIah4Aqe4VVOZoXyE5AIIZt bCgg== 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 :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=0u+TA+jS3gQquUToKQKMotxxizVrJgNiconOsLpRxKc=; b=YIhf/0PLK7T9Rgt4asgmMnBNVHwYfNERrPcrbcAdSZwa2gbwIl6Wl95jOKsCCutQi8 hH2QB4+gKel9gTjhfp6Fk/FOk6Utkqf4jc4g+8hpNinXOSeqLDYHQjfqbkRRYTZgI1x3 e7+1eGMFwe5CzBVDIpzFUD7FFkuU7GJJyNQ9Pn3rntGBxme5658QjeHprkJ2NypUfeUG Q0A/u5atDEAN75dhPPy8SMEnULcURZ/GtEA17dDad5RgErBXvJHjTdtOLWVdpLXf2Ji/ jujGX94gPYYbsjNziJbpfstMnqmJINwfPgjXS9oBCxjDfdiuMcraSNPQuKZ7jSZnbn5h Uzvw== 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 y1si38694361plb.276.2019.04.12.05.15.18; Fri, 12 Apr 2019 05:15:34 -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 S1727556AbfDLMNE convert rfc822-to-8bit (ORCPT + 99 others); Fri, 12 Apr 2019 08:13:04 -0400 Received: from vegas.theobroma-systems.com ([144.76.126.164]:35592 "EHLO mail.theobroma-systems.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726327AbfDLMNE (ORCPT ); Fri, 12 Apr 2019 08:13:04 -0400 Received: from ip092042140082.rev.nessus.at ([92.42.140.82]:49247 helo=cmuellner.local) by mail.theobroma-systems.com with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1hEv37-0003NP-80; Fri, 12 Apr 2019 14:12:53 +0200 Subject: Re: [PATCH v1 1/6] clk: rockchip: Add supprot to limit input rate for fractional divider To: =?UTF-8?Q?Heiko_St=c3=bcbner?= , Elaine Zhang Cc: mturquette@baylibre.com, sboyd@kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, xxx@rock-chips.com, xf@rock-chips.com, huangtao@rock-chips.com, Finley Xiao References: <1554284549-24916-1-git-send-email-zhangqing@rock-chips.com> <1554284549-24916-2-git-send-email-zhangqing@rock-chips.com> <8338364.h4JqnAax9Z@diego> From: =?UTF-8?Q?Christoph_M=c3=bcllner?= Message-ID: <818a6e0a-d99b-7350-9c4a-9e0a0d12122a@theobroma-systems.com> Date: Fri, 12 Apr 2019 14:12:52 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: <8338364.h4JqnAax9Z@diego> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Heiko, On 12.04.19 13:52, Heiko Stübner wrote: > Hi Elaine, > > Am Mittwoch, 3. April 2019, 11:42:24 CEST schrieb Elaine Zhang: >> From: Finley Xiao >> >> From Rockchips fractional divider usage, some clocks can be generated >> by fractional divider, but the input clock frequency of fractional >> divider should be less than a specified value. >> >> Signed-off-by: Finley Xiao >> Signed-off-by: Elaine Zhang > > can you tell me where these maximum input values come from? > > I talked to Christoph from Theobroma (Cc'ed) last week and he mentioned > that they're using the fractional divider with a higher input frequency > to create a very specific frequency [some details are gone from my memory > though] they can't get otherwise. > > So I really don't want to break their working setup by introducing barriers > that are not strictly necessary. > > @Christoph: can you describe the bits from your fractional setup that > I've forgotten please? We need to set the I2S0 clock to 24.56 MHz. When restricting the input frequency to a maximum of 600 Mhz, we could use the integer divider to get 400 Mhz (dividing by 2). However, with the 400 Mhz as input to the frac divider, we run into the problem, that the maximum possible output frequency is 20 MHz (there is another restriction which states that the fraction input : output frequency must be >= 20). Thanks, Christoph > >> diff --git a/drivers/clk/rockchip/clk-px30.c b/drivers/clk/rockchip/clk-px30.c >> index 601a77f1af78..ccabce35580b 100644 >> --- a/drivers/clk/rockchip/clk-px30.c >> +++ b/drivers/clk/rockchip/clk-px30.c >> @@ -21,6 +21,7 @@ >> #include "clk.h" >> >> #define PX30_GRF_SOC_STATUS0 0x480 >> +#define PX30_FRAC_MAX_PRATE 600000000 > > >> diff --git a/drivers/clk/rockchip/clk-rk3368.c b/drivers/clk/rockchip/clk-rk3368.c >> index 7c4d242f19c1..67c2da5e7d61 100644 >> --- a/drivers/clk/rockchip/clk-rk3368.c >> +++ b/drivers/clk/rockchip/clk-rk3368.c >> @@ -20,6 +20,9 @@ >> #include "clk.h" >> >> #define RK3368_GRF_SOC_STATUS0 0x480 >> +#define RK3368_I2S_FRAC_MAX_PRATE 600000000 >> +#define RK3368_UART_FRAC_MAX_PRATE 600000000 >> +#define RK3368_SPDIF_FRAC_MAX_PRATE 600000000 > >> diff --git a/drivers/clk/rockchip/clk-rk3399.c b/drivers/clk/rockchip/clk-rk3399.c >> index 5a628148f3f0..1d81382bd3e0 100644 >> --- a/drivers/clk/rockchip/clk-rk3399.c >> +++ b/drivers/clk/rockchip/clk-rk3399.c >> @@ -21,6 +21,12 @@ >> #include >> #include "clk.h" >> >> +#define RK3399_I2S_FRAC_MAX_PRATE 600000000 >> +#define RK3399_UART_FRAC_MAX_PRATE 600000000 >> +#define RK3399_SPDIF_FRAC_MAX_PRATE 600000000 >> +#define RK3399_VOP_FRAC_MAX_PRATE 600000000 >> +#define RK3399_WIFI_FRAC_MAX_PRATE 600000000 >> + > > >