Commit e5ff19cf authored by Lee Jones's avatar Lee Jones
Browse files

Merge branches 'ib-mfd-4.19', 'ib-mfd-gpio-pinctrl-4.19',...

Merge branches 'ib-mfd-4.19', 'ib-mfd-gpio-pinctrl-4.19', 'ib-mfd-i915-media-platform-4.19' and 'ib-mfd-regulator-4.19', tag 'ib-platform-chrome-mfd-move-cros-ec-transport-for-4.19' into ibs-for-mfd-merged

Immutable branch (mfd, chrome) due for the v4.19 window

Immutable Branch which moves the cros_ec_i2c and cros_ec_spi
transport drivers from mfd to platform/chrome. Changes in arm are a simple
rename in defconfigs. Change in input is a rename in help text.
Loading
Loading
Loading
Loading
+13 −3
Original line number Diff line number Diff line
@@ -324,8 +324,7 @@ Global Attributes

``intel_pstate`` exposes several global attributes (files) in ``sysfs`` to
control its functionality at the system level.  They are located in the
``/sys/devices/system/cpu/cpufreq/intel_pstate/`` directory and affect all
CPUs.
``/sys/devices/system/cpu/intel_pstate/`` directory and affect all CPUs.

Some of them are not present if the ``intel_pstate=per_cpu_perf_limits``
argument is passed to the kernel in the command line.
@@ -379,6 +378,17 @@ argument is passed to the kernel in the command line.
	but it affects the maximum possible value of per-policy P-state	limits
	(see `Interpretation of Policy Attributes`_ below for details).

``hwp_dynamic_boost``
	This attribute is only present if ``intel_pstate`` works in the
	`active mode with the HWP feature enabled <Active Mode With HWP_>`_ in
	the processor.  If set (equal to 1), it causes the minimum P-state limit
	to be increased dynamically for a short time whenever a task previously
	waiting on I/O is selected to run on a given logical CPU (the purpose
	of this mechanism is to improve performance).

	This setting has no effect on logical CPUs whose minimum P-state limit
	is directly set to the highest non-turbo P-state or above it.

.. _status_attr:

``status``
@@ -410,7 +420,7 @@ argument is passed to the kernel in the command line.
	That only is supported in some configurations, though (for example, if
	the `HWP feature is enabled in the processor <Active Mode With HWP_>`_,
	the operation mode of the driver cannot be changed), and if it is not
	supported in the current configuration, writes to this attribute with
	supported in the current configuration, writes to this attribute will
	fail with an appropriate error.

Interpretation of Policy Attributes
+1 −1
Original line number Diff line number Diff line
@@ -284,7 +284,7 @@ Resources Management
MTRR Handling
-------------

.. kernel-doc:: arch/x86/kernel/cpu/mtrr/main.c
.. kernel-doc:: arch/x86/kernel/cpu/mtrr/mtrr.c
   :export:

Security Framework
+23 −0
Original line number Diff line number Diff line
Spreadtrum SC27xx PMIC Vibrator

Required properties:
- compatible: should be "sprd,sc2731-vibrator".
- reg: address of vibrator control register.

Example :

	sc2731_pmic: pmic@0 {
		compatible = "sprd,sc2731";
		reg = <0>;
		spi-max-frequency = <26000000>;
		interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-controller;
		#interrupt-cells = <2>;
		#address-cells = <1>;
		#size-cells = <0>;

		vibrator@eb4 {
			compatible = "sprd,sc2731-vibrator";
			reg = <0xeb4>;
		};
	};
+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>;
};
+99 −0
Original line number Diff line number Diff line
Cirrus Logic Madera class audio codecs pinctrl driver

The Cirrus Logic Madera codecs provide a number of GPIO functions for
interfacing to external hardware and to provide logic outputs to other devices.
Certain groups of GPIO pins also have an alternate function, normally as an
audio interface.

The set of available GPIOs, functions and alternate function groups differs
between codecs so refer to the datasheet for the codec for further information
on what is supported on that device.

The properties for this driver exist within the parent MFD driver node.

See also
  the core bindings for the parent MFD driver:
    Documentation/devicetree/bindings/mfd/madera.txt

  the generic pinmix bindings:
    Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt

Required properties of parent mfd node:
  - pinctrl-names : must be "default"
  - pinctrl-0 : a phandle to the node containing the subnodes containing default
      configurations

Required subnodes:
  One subnode is required to contain the default settings. It contains an
  arbitrary number of configuration subnodes, one for each group or pin
  configuration you want to apply as a default.

Required properties of configuration subnodes:
  - groups : name of one pin group to configure. One of:
	aif1, aif2, aif3, aif4, mif1, mif2, mif3, pdmspk1, pdmspk2,
	dmic4, dmic5, dmic6,
	gpio1, gpio2, ..., gpio40
    The gpioN groups select the single pin of this name for configuration

Optional properties of configuration subnodes:
  Any configuration option not explicitly listed in the dts will be left at
  chip default setting.

  - function : name of function to assign to this group. One of:
	aif1, aif2, aif3, aif4, mif1, mif2, mif3, pdmspk1, pdmspk2,
	dmic3, dmic4, dmic5, dmic6,
	io, dsp-gpio, irq1, irq2,
	fll1-clk, fll1-lock, fll2-clk, fll2-lock, fll3-clk, fll3-lock,
	fllao-clk, fllao-lock,
	opclk, opclk-async, pwm1, pwm2, spdif,
	asrc1-in1-lock, asrc1-in2-lock, asrc2-in1-lock, asrc2-in2-lock,
	spkl-short-circuit, spkr-short-circuit, spk-shutdown,
	spk-overheat-shutdown, spk-overheat-warn,
	timer1-sts, timer2-sts, timer3-sts, timer4-sts, timer5-sts, timer6-sts,
	timer7-sts, timer8-sts,
	log1-fifo-ne, log2-fifo-ne, log3-fifo-ne, log4-fifo-ne, log5-fifo-ne,
	log6-fifo-ne, log7-fifo-ne, log8-fifo-ne,

  - bias-disable : disable pull-up and pull-down
  - bias-bus-hold : enable buskeeper
  - bias-pull-up : output is pulled-up
  - bias-pull-down : output is pulled-down
  - drive-push-pull : CMOS output
  - drive-open-drain : open-drain output
  - drive-strength : drive strength in mA. Valid values are 4 or 8
  - input-schmitt-enable : enable schmitt-trigger mode
  - input-schmitt-disable : disable schmitt-trigger mode
  - input-debounce : A value of 0 disables debounce, a value !=0 enables
	debounce
  - output-low : set the pin to output mode with low level
  - output-high : set the pin to output mode with high level

Example:

cs47l85@0 {
	compatible = "cirrus,cs47l85";

	pinctrl-names = "default";
	pinctrl-0 = <&cs47l85_defaults>;

	cs47l85_defaults: cs47l85-gpio-defaults {
		aif1 {
			groups = "aif1";
			function = "aif1";
			bias-bus-hold;
		};

		aif2 {
			groups = "aif2";
			function = "aif2";
			bias-bus-hold;
		};

		opclk {
			groups = "gpio1";
			function = "opclk";
			bias-pull-up;
			drive-strength = <8>;
		};
	};
};
Loading