30 Sep, 2020

1 commit


13 Aug, 2020

1 commit

  • The current unbinding process for Madera has some issues. The trouble
    is runtime PM is disabled as the first step of the process, but
    some of the drivers release IRQs causing regmap IRQ to issue a
    runtime get which fails. To allow runtime PM to remain enabled during
    mfd_remove_devices, the DCVDD regulator must remain available. In
    the case of external DCVDD's this is simple, the regulator can simply
    be disabled/put after the call to mfd_remove_devices. However, in
    the case of an internally supplied DCVDD the regulator needs to be
    released after the other MFD children depending on it.

    Use the new MFD mfd_remove_devices_late functionality to split
    the DCVDD regulator off from the other drivers.

    Signed-off-by: Charles Keepax
    Signed-off-by: Lee Jones

    Charles Keepax
     

18 Jun, 2020

1 commit


24 Jan, 2020

2 commits


11 Nov, 2019

1 commit


02 Jul, 2019

6 commits

  • GPL-2.0-only is the preferred way of expressing v2 of the GPL, so switch
    to that. Remove some redundant copyright notices and correct some
    instances where the wrong comment type has been used in header files.

    Signed-off-by: Charles Keepax
    Signed-off-by: Lee Jones

    Charles Keepax
     
  • This patch adds all the core support and defines for the Cirrus
    Logic CS42L92, CS47L92 and CS47L93 smart audio CODECs.

    Registers or fields are named MADERA_* if it is part of the
    common hardware platform and does not conflict with any other
    Madera codecs. It is named CS47L15_* if it is unique to CS47L15
    and conflicts with definitions on other codecs.

    Signed-off-by: Stuart Henderson
    Signed-off-by: Richard Fitzgerald
    Signed-off-by: Charles Keepax
    Signed-off-by: Lee Jones

    Richard Fitzgerald
     
  • This patch adds all the core support and defines for the Cirrus
    Logic CS47L15 smart audio CODEC.

    Registers or fields are named MADERA_* if it is part of the
    common hardware platform and does not conflict with any other
    Madera codecs. It is named CS47L15_* if it is unique to CS47L15
    and conflicts with definitions on other codecs.

    Signed-off-by: Richard Fitzgerald
    Signed-off-by: Charles Keepax
    Signed-off-by: Lee Jones

    Richard Fitzgerald
     
  • Currently we are relying on the exact match of the regulator name to
    find MICVDD, we should add an explicit supply mapping to allow this to
    be found more reliably.

    Signed-off-by: Charles Keepax
    Signed-off-by: Lee Jones

    Charles Keepax
     
  • regmap_read won't set val to anything if an ACKed bus fails.

    Signed-off-by: Stuart Henderson
    Signed-off-by: Charles Keepax
    Signed-off-by: Lee Jones

    Stuart Henderson
     
  • MODULE_DEVICE_TABLE(of, ) should be called to complete DT
    OF mathing mechanism and register it.

    Before this patch:
    modinfo ./drivers/mfd/madera.ko | grep alias

    After this patch:
    modinfo ./drivers/mfd/madera.ko | grep alias
    alias: of:N*T*Ccirrus,wm1840C*
    alias: of:N*T*Ccirrus,wm1840
    alias: of:N*T*Ccirrus,cs47l91C*
    alias: of:N*T*Ccirrus,cs47l91
    alias: of:N*T*Ccirrus,cs47l90C*
    alias: of:N*T*Ccirrus,cs47l90
    alias: of:N*T*Ccirrus,cs47l85C*
    alias: of:N*T*Ccirrus,cs47l85
    alias: of:N*T*Ccirrus,cs47l35C*
    alias: of:N*T*Ccirrus,cs47l35

    Reported-by: Javier Martinez Canillas
    Signed-off-by: Daniel Gomez
    Signed-off-by: Lee Jones

    Daniel Gomez
     

03 Jan, 2019

2 commits


23 Oct, 2018

1 commit


05 Jun, 2018

1 commit

  • This adds the generic core support for Cirrus Logic "Madera" class codecs.
    These are complex audio codec SoCs with a variety of digital and analogue
    I/O, onboard audio processing and DSPs, and other features.

    These codecs are all based off a common set of hardware IP so can be
    supported by a core of common code (with a few minor device-to-device
    variations).

    Signed-off-by: Charles Keepax
    Signed-off-by: Nikesh Oswal
    Signed-off-by: Richard Fitzgerald
    Signed-off-by: Lee Jones

    Richard Fitzgerald