18 Jun, 2020

1 commit


11 Nov, 2019

1 commit


16 Jul, 2019

1 commit

  • Pull MFD updates from Lee Jones:
    "Core Frameworks:
    - Set 'struct device' fwnode when registering a new device

    New Drivers:
    - Add support for ROHM BD70528 PMIC

    New Device Support:
    - Add support for LP87561 4-Phase Regulator to TI LP87565 PMIC
    - Add support for RK809 and RK817 to Rockchip RK808
    - Add support for Lid Angle to ChromeOS core
    - Add support for CS47L15 CODEC to Madera core
    - Add support for CS47L92 CODEC to Madera core
    - Add support for ChromeOS (legacy) Accelerometers in ChromeOS core
    - Add support for Add Intel Elkhart Lake PCH to Intel LPSS

    New Functionality:
    - Provide regulator supply information when registering; madera-core
    - Additional Device Tree support; lp87565, madera, cros-ec, rohm,bd71837-pmic
    - Allow over-riding power button press via Device Tree; rohm-bd718x7
    - Differentiate between running processors; cros_ec_dev

    Fix-ups:
    - Big header file update; cros_ec_commands.h
    - Split header per-subsystem; rohm-bd718x7
    - Remove superfluous code; menelaus, cs5535-mfd, cs47lXX-tables
    - Trivial; sorting, coding style; intel-lpss-pci
    - Only remove Power Off functionality if set locally; rk808
    - Make use for Power Off Prepare(); rk808
    - Fix spelling mistake in header guards; stmfx
    - Properly free IDA resources
    - SPDX fixups; cs47lXX-tables, madera
    - Error path fixups; hi655x-pmic

    Bug Fixes:
    - Add missing break in case() statement
    - Repair undefined behaviour when not initialising variables; arizona-core, madera-core
    - Fix reference to Device Tree documentation; madera"

    * tag 'mfd-next-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (45 commits)
    mfd: hi655x-pmic: Fix missing return value check for devm_regmap_init_mmio_clk
    mfd: madera: Fixup SPDX headers
    mfd: madera: Remove some unused registers and fix some defaults
    mfd: intel-lpss: Release IDA resources
    mfd: intel-lpss: Add Intel Elkhart Lake PCH PCI IDs
    mfd: cs5535-mfd: Remove ifdef OLPC noise
    mfd: stmfx: Fix macro definition spelling
    dt-bindings: mfd: Add link to ROHM BD71847 Datasheet
    MAINAINERS: Swap words in INTEL PMIC MULTIFUNCTION DEVICE DRIVERS
    mfd: cros_ec_dev: Register cros_ec_accel_legacy driver as a subdevice
    mfd: rk808: Prepare rk805 for poweroff
    mfd: rk808: Check pm_power_off pointer
    mfd: cros_ec: differentiate SCP from EC by feature bit
    dt-bindings: Add binding for cros-ec-rpmsg
    mfd: madera: Add Madera core support for CS47L92
    mfd: madera: Add Madera core support for CS47L15
    mfd: madera: Update DT bindings to add additional CODECs
    mfd: madera: Add supply mapping for MICVDD
    mfd: madera: Fix potential uninitialised use of variable
    mfd: madera: Fix bad reference to pinctrl.txt file
    ...

    Linus Torvalds
     

02 Jul, 2019

5 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
     
  • 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
     
  • The pinctrl.txt file was converted into reStructuredText and moved into
    driver-api folder. This patch updates the broken reference.

    Fixes: 5a9b73832e9e ("pinctrl.txt: move it to the driver-api book")
    Signed-off-by: Otto Sabart
    Signed-off-by: Charles Keepax
    Reviewed-by: Mauro Carvalho Chehab
    Signed-off-by: Lee Jones

    Otto Sabart
     

20 Jun, 2019

1 commit

  • The Cirrus Logic Madera codecs are a family of related codecs with
    extensive digital and analogue I/O, digital mixing and routing,
    signal processing and programmable DSPs. This patch adds common
    support code shared by all Madera codecs.

    This patch also adds the pdata to the parent mfd pdata struct.
    Since there is a circular build dependency it's convenient to
    patch them both atomically.

    Signed-off-by: Nariman Poushin
    Signed-off-by: Nikesh Oswal
    Signed-off-by: Piotr Stankiewicz
    Signed-off-by: Ajit Pandey
    Signed-off-by: Richard Fitzgerald
    Signed-off-by: Charles Keepax
    Signed-off-by: Mark Brown

    Richard Fitzgerald
     

03 Jan, 2019

1 commit


23 Oct, 2018

1 commit


10 Sep, 2018

1 commit

  • Put the pointer to struct regmap_irq_chip_data into the parent
    mfd structure so that the child irqchip driver does not need
    a trivial private structure to store only this pointer. As
    the irqchip child driver already has a pointer to the parent
    struct madera it can use that to store the pointer. This also
    means that the irqchip driver does not need a double-indirection
    from its local struct to get at the parent struct madera.

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

    Richard Fitzgerald
     

16 Aug, 2018

1 commit


05 Jun, 2018

2 commits

  • 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
     
  • This patch adds a header file of register definitions for Cirrus
    Logic "Madera" class codecs. These codecs are all based off a common
    set of hardware IP so have a common register map (with a few minor
    device-to-device variations).

    The registers.h file is tool-generated directly from the hardware design
    but has been manually stripped down to reduce size (full register
    map is >44000 lines). All names are kept the same as datasheet names
    so that they can be cross-referenced between source and datasheet without
    confusion.

    The register map layout is kept fully-defined rather than factored into
    macros and/or block-indexing code. The major reasons for this are:

    - #1 is that it makes the source highly greppable, which is important.
    "What does the driver do with register bits XYZ" or "Where does it use
    register bits XYZ" are commonly types of questions. These can be quickly
    answered by a grep. Squashing definitions into generator macros or block-
    indexing code is a way of defeating grep.

    - most of the register definitions are used in tables, so a constant value
    is required. Using generator macros make the table definition clunky and
    obscure.

    - the code is clearer when it's there in the source exactly what register
    and field it is using

    - it is easier to diff the register map of a new (unsupported) codec against
    what is already supported and merge in differences

    - it makes the register map available in source for maintenance/debugging
    instead of having to refer back to the datasheet for a register map

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

    Richard Fitzgerald