From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934304AbcEDJF5 (ORCPT ); Wed, 4 May 2016 05:05:57 -0400 Received: from mout.kundenserver.de ([217.72.192.74]:51964 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932303AbcEDJFx (ORCPT ); Wed, 4 May 2016 05:05:53 -0400 From: Arnd Bergmann To: linux-arm-kernel@lists.infradead.org Cc: Arnaud Pouliquen , Peter Griffin , devicetree@vger.kernel.org, vinod.koul@intel.com, srinivas.kandagatla@gmail.com, patrice.chotard@st.com, linux-kernel@vger.kernel.org, broonie@kernel.org, ludovic.barre@st.com, dmaengine@vger.kernel.org, lee.jones@linaro.org, maxime.coquelin@st.com Subject: Re: [PATCH 09/18] ASoC: sti: Update DT example to match the driver code Date: Wed, 04 May 2016 11:05:03 +0200 Message-ID: <7856280.FvxMcUZr6e@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.16.0-10-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: <5729AA33.6020305@st.com> References: <1461236675-10176-1-git-send-email-peter.griffin@linaro.org> <5608365.uloflbeuqO@wuerfel> <5729AA33.6020305@st.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:CRK2VBPZ41EWzXD7/8lWIRRXAvvNKjZPDmQqYTAsL95GF/TU4ln 36EsVhnTGTnxtwQytKVpLVKZm56IEAka7fZiyfBXyNAHrHQV+POFPCPI4wir5tThqqenXK9 HxbwYbPpVcbgGn/avpcutvUCCH+yvwqqa1PrGtbfyBM/dM44cYZVGcB5dKI9ufDu0WzhM04 ktLw95M0aCeTao7Uy+HGA== X-UI-Out-Filterresults: notjunk:1;V01:K0:OrjF+9HOFbw=:OHwcY2Z2f5aRw+LApLDpdd fFXszIp7oxDygnXggLiU970sEhpJpIUdv9VA/jiWYXI1WScDkyShRfGSDc9LXAmn+tdM7zQhs zZNJpfxK62jDLAocUzYqu8qcxBGMwDrXcSw/BVneYI6OIvRjHNvk+z8s10D4lLtYZc4B/gUsf 6KsCKCD/Ww3DoUwvAKIhAnhCF7XFTd4AoeoOJqdcMqVxjQNgPRWPX2DXpTw4WFLcbtJDsFHh8 4UGM1xWQjhD9HAhmyDj1MhSsOeFV2yJoFztI2S3Tu6rKpGk8g/XsY/z0m4U5/t3Ch3/EAb3c8 tzspB8stBdsEijaHH4osuyjucZZqfXNk8PGx++CD4bMX34ofOsj6T241c2h3BchScg8AFun5G 1E4E/NFmUajCGIlj5lFxR2ciFNgyptKQozqXbduMY3BszaVIZsnQROdIacbHCj2kqFTWFwCEP zmdmCSDnCKwu1YrTrKcN5g8WvM5WDko5dwcJT4jXaz3FdQzJEeiSq7s4oVOJ5zFsRDyC8c/6E IQYsyrfzlZmWi2zCD9oRTwyV5zONdpAgrggbnRtGoFQMzUID+wcFM3QuYIe8QtQ+u0tIR4Tha PEq2lVAgMj+sxKy5Pmtt1Dtl0NnholZoIoQQw+bpQUpF6NNO8WtBMfS1Xu7RAu+zMYDCQIlGC 9Mz8wQBl+ykhp7MUciCutD86kGwHNcpjWsSw2f05w88kQyRRC2z6eoMTTGiyJk3ex+9CplfB2 K4wDpFw6Khp4myfP Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wednesday 04 May 2016 09:52:19 Arnaud Pouliquen wrote: > hello Arnd, peter, > > On 04/26/2016 01:44 PM, Arnd Bergmann wrote: > > On Tuesday 26 April 2016 12:15:32 Peter Griffin wrote: > >>> > >>>> If not what would you recommend instead? > >>> > >>> It's still not clear to me what that bit in the syscfg register > >>> is for. Given the error message about "sti-audio-clk-glue", > >>> I suspect that this is actually a clock controller and that > >>> it should be using the clock binding with a separate driver > >>> instead of manipulating the regmap directly from the audio driver. > >> > >> Luckily I do have the datasheet for the audio-glue sysconf register. > >> > >> It says: - > >> > >> [11:8] PCM_CLK_SEL: Selects the frequency synthesizer clock or the external > >> PCM clock for each channel. > >> > >> The driver only ever sets this to 1 which selects the frequency synthesizer > >> clock. So the bitfield of the register which the driver is using (PCM_CLK_SEL) > >> is a clock mux. > > > > Ok, that sounds like it could be either a really simple clock driver > > with just a few lines, or integrated into an existing clock driver > > if you already have one for this syscon node. > > > > Arnd > > > FYI, Name of this glue is related to the register name. But it does not > concern only clock... > This glue register is used to : > - select clock source ( clock framework or external clock from GPIO) > => one bit field per IP instance (player->clk_sel) > - select uniperiph player IP instance for PCM out. > (http://www.spinics.net/lists/alsa-devel/msg49034.html) Ok, I see. This is of course again the STi platform being a bit different from everyone else, and whatever we do to hide it won't give us a nice abstraction. Having just a clock driver for the register won't do the job here as you say, so I guess the original patch was already the least awkward way to handle it. Arnd