[alsa-devel] [PATCH v6 03/17] mfd: madera: Add common support for Cirrus Logic Madera codecs

Richard Fitzgerald rf at opensource.wolfsonmicro.com
Thu Dec 7 11:52:47 CET 2017


On 07/12/17 08:54, Linus Walleij wrote:
> On Mon, Dec 4, 2017 at 10:47 AM, Richard Fitzgerald
> <rf at opensource.wolfsonmicro.com> wrote:
>> On 02/12/17 12:10, Linus Walleij wrote:
>>> On Wed, Nov 29, 2017 at 12:36 PM, Richard Fitzgerald
>>> <rf at opensource.wolfsonmicro.com> wrote:
>>>> On 29/11/17 10:18, Linus Walleij wrote:
>>>>> On Thu, Nov 23, 2017 at 6:13 PM, Richard Fitzgerald
>>>>> <rf at opensource.wolfsonmicro.com> wrote:
>>>>>
>>>>>> +config MFD_MADERA_I2C
>>>>>> +       bool "Cirrus Logic Madera codecs with I2C"
>>>>>> +       select MFD_MADERA
>>>>>> +       select REGMAP_I2C
>>>>>> +       depends on I2C
>>>>>> +       depends on PINCTRL
>>>>>> +       help
>>>>>> +         Support for the Cirrus Logic Madera platform audio SoC
>>>>>> +         core functionality controlled via I2C.
>>>>>> +
>>>>>> +config MFD_MADERA_SPI
>>>>>> +       bool "Cirrus Logic Madera codecs with SPI"
>>>>>> +       select MFD_MADERA
>>>>>> +       select REGMAP_SPI
>>>>>> +       depends on SPI_MASTER
>>>>>> +       depends on PINCTRL
>>>>>> +       help
>>>>>> +         Support for the Cirrus Logic Madera platform audio SoC
>>>>>> +         core functionality controlled via SPI.
>>>>>
>>>>>
>>>>>
>>>>> Why do the I2C and SPI subdrivers depend on PINCTRL?
>>>>>
>>>>> They sure don't seem to be using any pinctrl-specific APIs.
>>>>>
>>>>
>>>> They require PINCTRL even if they don't call any functions on it because
>>>> the
>>>> chip won't work correctly if there isn't a PINCTRL driver to apply the
>>>> correct pinmux configuration.
>>>
>>>
>>> Apply the configuration to what? Sorry I don't get it.
>>>
>>> You can't be referring to the internal pin controller of the Madera, since
>>
>> Yes I am
> 
> You are saying that the I2C and SPI interface to the Madera codec
> depends on pin control.
> 
> It does not.
> 
> You can most certainly talk I2C and SPI to the coded without any
> pin control. Probably the MFD driver can come up without it.
> 
> If what you want is unconditional pin control enabled for this circuit,
> then have MFD_MADERA select PINCTRL.
> 
>>> that has to come up before its pin controller can even be communicated
>>> with.
>>
>>
>> So?
>>
>> The MFD driver powers up the chip before registering child drivers.
> 
> Including the pin controller. You just confirmed what I said: the
> I2C and SPI interfaces do not require pin control to talk to the
> chip.
> 
>> Also that's not entirely relevant, the pinctrl settings can still be written
>> with the chip off because they will go into the regmap cache and be applied
>> when the chip is next resumed.
> 
> You still have the dependencies wrong.
> 
> Yours,
> Linus Walleij
> 

So the short version of this email thread is that it should be "select 
PINCTRL" ?


More information about the Alsa-devel mailing list