Re: [PATCH v3 3/5] ASoC: dt-bindings: wm8904: Add DMIC, GPIO, MIC and EQ support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxx>
> >>>
> >>> 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




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux