forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'mfd-next-4.19' of git://git.kernel.org/pub/scm/linux/kerne…
…l/git/lee/mfd 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 ...
- Loading branch information
Showing
77 changed files
with
16,124 additions
and
460 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
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 changes: 62 additions & 0 deletions
62
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
* 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>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
99 changes: 99 additions & 0 deletions
99
Documentation/devicetree/bindings/pinctrl/cirrus,madera-pinctrl.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
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>; | ||
}; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3562,6 +3562,22 @@ M: Christian Benvenuti <[email protected]> | |
S: Supported | ||
F: drivers/infiniband/hw/usnic/ | ||
|
||
CIRRUS LOGIC MADERA CODEC DRIVERS | ||
M: Charles Keepax <[email protected]> | ||
M: Richard Fitzgerald <[email protected]> | ||
L: [email protected] (moderated for non-subscribers) | ||
L: [email protected] | ||
T: git https://github.com/CirrusLogic/linux-drivers.git | ||
W: https://github.com/CirrusLogic/linux-drivers/wiki | ||
S: Supported | ||
F: Documentation/devicetree/bindings/mfd/madera.txt | ||
F: Documentation/devicetree/bindings/pinctrl/cirrus,madera-pinctrl.txt | ||
F: include/linux/mfd/madera/* | ||
F: drivers/gpio/gpio-madera* | ||
F: drivers/mfd/madera* | ||
F: drivers/mfd/cs47l* | ||
F: drivers/pinctrl/cirrus/* | ||
|
||
CLANG-FORMAT FILE | ||
M: Miguel Ojeda <[email protected]> | ||
S: Maintained | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.