From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from hqemgate14.nvidia.com ([216.228.121.143]) by casper.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1fNZMN-0006Nb-MQ for linux-mtd@lists.infradead.org; Tue, 29 May 2018 07:48:01 +0000 Date: Tue, 29 May 2018 10:48:04 +0300 From: Peter De Schrijver To: Stefan Agner CC: , , , , , , , , , , , , , , , , , , , , , , , Subject: Re: [PATCH v2 4/6] clk: tegra20: init NDFLASH clock to sensible rate Message-ID: <20180529074804.GA6708@tbergstrom-lnx.Nvidia.com> References: <20180527215442.14760-5-stefan@agner.ch> <20180528075510.GQ6835@tbergstrom-lnx.Nvidia.com> <5665b799f763daa82dced238fb494863@agner.ch> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <5665b799f763daa82dced238fb494863@agner.ch> List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Mon, May 28, 2018 at 05:53:08PM +0200, Stefan Agner wrote: > On 28.05.2018 09:55, Peter De Schrijver wrote: > > On Sun, May 27, 2018 at 11:54:40PM +0200, Stefan Agner wrote: > >> From: Lucas Stach > >> > >> Set up the NAND Flash controller clock to run at 150MHz > >> instead of the rate set by the bootloader. This is a > >> conservative rate which also yields good performance. > >> > >> Signed-off-by: Lucas Stach > >> Signed-off-by: Stefan Agner > >> --- > >> drivers/clk/tegra/clk-tegra20.c | 1 + > >> 1 file changed, 1 insertion(+) > >> > >> diff --git a/drivers/clk/tegra/clk-tegra20.c b/drivers/clk/tegra/clk-tegra20.c > >> index 0ee56dd04cec..dff8c425cd28 100644 > >> --- a/drivers/clk/tegra/clk-tegra20.c > >> +++ b/drivers/clk/tegra/clk-tegra20.c > >> @@ -1049,6 +1049,7 @@ static struct tegra_clk_init_table init_table[] __initdata = { > >> { TEGRA20_CLK_GR2D, TEGRA20_CLK_PLL_C, 300000000, 0 }, > >> { TEGRA20_CLK_GR3D, TEGRA20_CLK_PLL_C, 300000000, 0 }, > >> { TEGRA20_CLK_VDE, TEGRA20_CLK_CLK_MAX, 300000000, 0 }, > >> + { TEGRA20_CLK_NDFLASH, TEGRA20_CLK_PLL_P, 150000000, 0 }, > >> /* must be the last entry */ > >> { TEGRA20_CLK_CLK_MAX, TEGRA20_CLK_CLK_MAX, 0, 0 }, > >> }; > >> -- > >> 2.17.0 > >> > > > > Maybe better to specify this in the Tegra20 dtsi? See > > "Assigned clock parents and rates" in > > Documentation/devicetree/bindings/clock/clock-bindings.txt > > assigned-clocks indeed works just fine for this case. Thanks for > bringing this up, will drop this patch and add the device tree > properties in v3. > > Hm, interesting that none of the Tegra device tree make use of the > feature so far. I guess there would be other cases where this would be > useful as well (the one just above, VDE?). > Yes, historically this feature wasn't available, so we used these init tables. Unfortunately it's not easy to get rid of them for parent and rate configuration, because new kernels should also work with existing DTBs, so we can't just add assigned-clock properties and remove the existing table entries. What we could do is use the CLK_IS_CRITICAL flag for all clocks which are only enabled by the init table. For not yet merged blocks, this is ofcourse not a concern. Cheers, Peter.