Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 532c2b92 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MFD updates from Lee Jones:
 "New Drivers:
   - Add Cirrus Logic Madera Codec (CS47L35, CS47L85 and CS47L90/91) driver
   - Add ChromeOS EC CEC driver
   - Add ROHM BD71837 PMIC driver

  New Device Support:
   - Add support for Dialog Semi DA9063L PMIC variant to DA9063
   - Add support for Intel Ice Lake to Intel-PLSS-PCI
   - Add support for X-Powers AXP806 to AXP20x

  New Functionality:
   - Add support for USB Charging to the ChromeOS Embedded Controller
   - Add support for HDMI CEC to the ChromeOS Embedded Controller
   - Add support for HDMI CEC to Intel HDMI
   - Add support for accessory detection to Madera devices
   - Allow individual pins to be configured via DT' wlf,csnaddr-pd
   - Provide legacy platform specific EEPROM/Watchdog commands; rave-sp

  Fix-upsL
   - Trivial renaming/spelling fixes; cros_ec, da9063-*
   - Convert to Managed Resources (devm_*); da9063-*, ti_am335x_tscadc
   - Transition to helper macros/functions; da9063-*
   - Constify; kempld-core
   - Improve error path/messages; wm8994-core
   - Disable IRQs locally instead of relying on USB subsystem; dln2
   - Remove unused code; rave-sp
   - New exports; sec-core

  Bug Fixes:
   - Fix possible false I2C transaction error; arizona-core
   - Fix declared memory area size; hi655x-pmic
   - Fix checksum type; rave-sp
   - Fix incorrect default serial port configuration: rave-sp
   - Fix incorrect coherent DMA mask for sub-devices; sm501"

* tag 'mfd-next-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (60 commits)
  mfd: madera: Add register definitions for accessory detect
  mfd: sm501: Set coherent_dma_mask when creating subdevices
  mfd: bd71837: Devicetree bindings for ROHM BD71837 PMIC
  mfd: bd71837: Core driver for ROHM BD71837 PMIC
  media: platform: cros-ec-cec: Fix dependency on MFD_CROS_EC
  mfd: sec-core: Export OF module alias table
  mfd: as3722: Disable auto-power-on when AC OK
  mfd: axp20x: Support AXP806 in I2C mode
  mfd: axp20x: Add self-working mode support for AXP806
  dt-bindings: mfd: axp20x: Add "self-working" mode for AXP806
  mfd: wm8994: Allow to configure CS/ADDR Pulldown from dts
  mfd: wm8994: Allow to configure Speaker Mode Pullup from dts
  mfd: rave-sp: Emulate CMD_GET_STATUS on device that don't support it
  mfd: rave-sp: Add legacy watchdog ping command translation
  mfd: rave-sp: Add legacy EEPROM access command translation
  mfd: rave-sp: Initialize flow control and parity of the port
  mfd: rave-sp: Fix incorrectly specified checksum type
  mfd: rave-sp: Remove unused defines
  mfd: hi655x: Fix regmap area declared size for hi655x
  mfd: ti_am335x_tscadc: Fix struct clk memory leak
  ...
parents 8786583d d2c9281c
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -20,6 +20,8 @@ Optional properties:
- ams,enable-internal-i2c-pullup: Boolean property, to enable internal pullup on
	i2c scl/sda pins. Missing this will disable internal pullup on i2c
	scl/sda lines.
- ams,enable-ac-ok-power-on: Boolean property, to enable exit out of power off
	mode with AC_OK pin (pin enabled in power off mode).

Optional submodule and their properties:
=======================================
+5 −2
Original line number Diff line number Diff line
@@ -44,8 +44,11 @@ Optional properties:
			  board is driving OTG VBus or not.
			  (axp221 / axp223 / axp803/ axp813 only)

- x-powers,master-mode: Boolean (axp806 only). Set this when the PMIC is
			wired for master mode. The default is slave mode.
- x-powers,self-working-mode and
  x-powers,master-mode: Boolean (axp806 only). Set either of these when the
			PMIC is wired for self-working mode or master mode.
			If neither is set then slave mode is assumed.
			This corresponds to how the MODESET pin is wired.

- <input>-supply: a phandle to the regulator supply node. May be omitted if
		  inputs are unregulated, such as using the IPSOUT output
+102 −0
Original line number Diff line number Diff line
Cirrus Logic Madera class audio codecs Multi-Functional Device

These devices are audio SoCs with extensive digital capabilities and a range
of analogue I/O.

See also the child driver bindings in:
bindings/pinctrl/cirrus,madera-pinctrl.txt
bindings/regulator/arizona-regulator.txt
bindings/sound/madera.txt

Required properties:

  - compatible : One of the following chip-specific strings:
        "cirrus,cs47l35"
        "cirrus,cs47l85"
        "cirrus,cs47l90"
        "cirrus,cs47l91"
        "cirrus,wm1840"

  - reg : I2C slave address when connected using I2C, chip select number when
    using SPI.

  - DCVDD-supply : Power supply for the device as defined in
    bindings/regulator/regulator.txt
    Mandatory on CS47L35, CS47L90, CS47L91
    Optional on CS47L85, WM1840

  - AVDD-supply, DBVDD1-supply, DBVDD2-supply, CPVDD1-supply, CPVDD2-supply :
    Power supplies for the device

  - DBVDD3-supply, DBVDD4-supply : Power supplies for the device
    (CS47L85, CS47L90, CS47L91, WM1840)

  - SPKVDDL-supply, SPKVDDR-supply : Power supplies for the device
    (CS47L85, WM1840)

  - SPKVDD-supply : Power supply for the device
    (CS47L35)

  - interrupt-controller : Indicates that this device is an interrupt controller

  - #interrupt-cells: the number of cells to describe an IRQ, must be 2.
    The first cell is the IRQ number.
    The second cell is the flags, encoded as the trigger masks from
    bindings/interrupt-controller/interrupts.txt

  - gpio-controller : Indicates this device is a GPIO controller.

  - #gpio-cells : Must be 2. The first cell is the pin number. The second cell
    is reserved for future use and must be zero

  - interrupt-parent : The parent interrupt controller.

  - interrupts : The interrupt line the /IRQ signal for the device is
    connected to.

Optional properties:

  - MICVDD-supply : Power supply, only need to be specified if
    powered externally

  - reset-gpios : One entry specifying the GPIO controlling /RESET.
    As defined in bindings/gpio.txt.
    Although optional, it is strongly recommended to use a hardware reset

  - MICBIASx : Initial data for the MICBIAS regulators, as covered in
    Documentation/devicetree/bindings/regulator/regulator.txt.
    One for each MICBIAS generator (MICBIAS1, MICBIAS2, ...)
    (all codecs)

    One for each output pin (MICBIAS1A, MIBCIAS1B, MICBIAS2A, ...)
    (all except CS47L85, WM1840)

    The following following additional property is supported for the generator
    nodes:
      - cirrus,ext-cap : Set to 1 if the MICBIAS has external decoupling
        capacitors attached.

Optional child nodes:
    micvdd : Node containing initialization data for the micvdd regulator
    See bindings/regulator/arizona-regulator.txt

    ldo1 : Node containing initialization data for the LDO1 regulator
    See bindings/regulator/arizona-regulator.txt
    (cs47l85, wm1840)

Example:

cs47l85@0 {
	compatible = "cirrus,cs47l85";
	reg = <0>;

	reset-gpios = <&gpio 0>;

	interrupt-controller;
	#interrupt-cells = <2>;
	interrupts = <&host_irq1>;
	interrupt-parent = <&gic>;

	gpio-controller;
	#gpio-cells = <2>;
};
+62 −0
Original line number Diff line number Diff line
* ROHM BD71837 Power Management Integrated Circuit bindings

BD71837MWV is a programmable Power Management IC for powering single-core,
dual-core, and quad-core SoCs such as NXP-i.MX 8M. It is optimized for
low BOM cost and compact solution footprint. It integrates 8 Buck
egulators and 7 LDOs to provide all the power rails required by the SoC and
the commonly used peripherals.

Datasheet for PMIC is available at:
https://www.rohm.com/datasheet/BD71837MWV/bd71837mwv-e

Required properties:
 - compatible		: Should be "rohm,bd71837".
 - reg			: I2C slave address.
 - interrupt-parent	: Phandle to the parent interrupt controller.
 - interrupts		: The interrupt line the device is connected to.
 - clocks		: The parent clock connected to PMIC. If this is missing
			  32768 KHz clock is assumed.
 - #clock-cells		: Should be 0.
 - regulators:		: List of child nodes that specify the regulators.
			  Please see ../regulator/rohm,bd71837-regulator.txt

Optional properties:
- clock-output-names	: Should contain name for output clock.

Example:

	/* external oscillator node */
	osc: oscillator {
		compatible = "fixed-clock";
		#clock-cells = <1>;
		clock-frequency  = <32768>;
		clock-output-names = "osc";
	};

	pmic: pmic@4b {
		compatible = "rohm,bd71837";
		reg = <0x4b>;
		interrupt-parent = <&gpio1>;
		interrupts = <29 GPIO_ACTIVE_LOW>;
		interrupt-names = "irq";
		#clock-cells = <0>;
		clocks = <&osc 0>;
		clock-output-names = "bd71837-32k-out";

		regulators {
			buck1: BUCK1 {
				regulator-name = "buck1";
				regulator-min-microvolt = <700000>;
				regulator-max-microvolt = <1300000>;
				regulator-boot-on;
				regulator-ramp-delay = <1250>;
			};
		};
	};

	/* Clock consumer node */
	rtc@0 {
		compatible = "company,my-rtc";
		clock-names = "my-clock";
		clocks = <&pmic>;
	};
+1 −1
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@ Required properties:
  The valid regulator-compatible values are:
  tps65910: vrtc, vio, vdd1, vdd2, vdd3, vdig1, vdig2, vpll, vdac, vaux1,
            vaux2, vaux33, vmmc, vbb
  tps65911: vrtc, vio, vdd1, vdd3, vddctrl, ldo1, ldo2, ldo3, ldo4, ldo5,
  tps65911: vrtc, vio, vdd1, vdd2, vddctrl, ldo1, ldo2, ldo3, ldo4, ldo5,
            ldo6, ldo7, ldo8

- xxx-supply: Input voltage supply regulator.
Loading