[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <3xmnitgajcyxu6qxkanzpnbp77jizx4n2r6pik2vmptitmtvla@wnh3dorv5bct>
Date: Wed, 12 Mar 2025 09:48:55 +0100
From: Ernest Van Hoecke <ernestvanhoecke@...il.com>
To: Krzysztof Kozlowski <krzk@...nel.org>
Cc: Rob Herring <robh@...nel.org>,
Francesco Dolcini <francesco@...cini.it>, Liam Girdwood <lgirdwood@...il.com>,
Mark Brown <broonie@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Saravana Kannan <saravanak@...gle.com>,
Jaroslav Kysela <perex@...ex.cz>, Takashi Iwai <tiwai@...e.com>, patches@...nsource.cirrus.com,
Ernest Van Hoecke <ernest.vanhoecke@...adex.com>, linux-sound@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, Francesco Dolcini <francesco.dolcini@...adex.com>,
Charles Keepax <ckeepax@...nsource.cirrus.com>
Subject: Re: [PATCH v3 3/5] ASoC: dt-bindings: wm8904: Add DMIC, GPIO, MIC
and EQ support
On Wed, Mar 12, 2025 at 09:39:59AM +0100, Krzysztof Kozlowski wrote:
> On 11/03/2025 18:59, Rob Herring wrote:
> > On Tue, Mar 11, 2025 at 09:42:45AM +0100, Krzysztof Kozlowski wrote:
> >> On Fri, Mar 07, 2025 at 02:52:42PM +0100, Francesco Dolcini wrote:
> >>> From: Ernest Van Hoecke <ernest.vanhoecke@...adex.com>
> >>>
> >>> Add two properties to select the IN1L/DMICDAT1 and IN2R/DMICDAT2
> >>> functionality:
> >>> - wlf,in1l-as-dmicdat1
> >>> - wlf,in1r-as-dmicdat2
> >>>
> >>> Add a property to describe the GPIO configuration registers, that can be
> >>> used to set the four multifunction pins:
> >>> - wlf,gpio-cfg
> >>>
> >>> Add a property to describe the mic bias control registers:
> >>> - wlf,mic-cfg
> >>>
> >>> Add two properties to describe the Dynamic Range Controller (DRC),
> >>> allowing multiple named configurations where each config sets the 4 DRC
> >>> registers (R40-R43):
> >>> - wlf,drc-cfg-regs
> >>> - wlf,drc-cfg-names
> >>>
> >>> Add three properties to describe the equalizer (ReTune Mobile), allowing
> >>> multiple named configurations (associated with a samplerate) that set
> >>> the 24 (R134-R157) EQ registers:
> >>> - wlf,retune-mobile-cfg-regs
> >>> - wlf,retune-mobile-cfg-hz
> >>> - wlf,retune-mobile-cfg-rates
> >
> >
> >>> + * Config registers per name, respectively:
> >>> + * KNEE_IP = 0, KNEE_OP = 0, HI_COMP = 1, LO_COMP = 1
> >>> + * KNEE_IP = -24, KNEE_OP = -6, HI_COMP = 1/4, LO_COMP = 1
> >>> + * KNEE_IP = -42, KNEE_OP = -3, HI_COMP = 0, LO_COMP = 1
> >>> + * KNEE_IP = -45, KNEE_OP = -9, HI_COMP = 1/8, LO_COMP = 1
> >>> + * KNEE_IP = -30, KNEE_OP = -10.5, HI_COMP = 1/4, LO_COMP = 1
> >>> + */
> >>> + wlf,drc-cfg-regs = /bits/ 16 <0x01af 0x3248 0x0000 0x0000>,
> >>
> >> <number>, <number>, <number> ...
> >>
> >> unless you wanted 64-bit?
> >
> > Why? You would need "/bits/ 16 <number>, /bits/ 16 <number>, ..."
> Uh, right.
After some investigation I realized I could use a "matrix" type instead
of an "array" for "drc-cfg-regs" and "retune-mobile-cfg-regs". In that
case, an item of the matrix is an array, and this split should be fine.
This is also how "adi,ltc2983.yaml" and "mediatek,mt76.yaml" handle
similarly long matrices. My bad for missing the matrix type.
Kind regards,
Ernest
Powered by blists - more mailing lists