mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
532c2b926d
- 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-ups - 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 -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEdrbJNaO+IJqU8IdIUa+KL4f8d2EFAlt6fm8ACgkQUa+KL4f8 d2H8qA/8CLIKKEyc3CiQIF4LqmOPn+P20gSlnNdDFGHV+ZpVryL6qKItDy76nbQS +GrPCmhADDn7N224ENlv4TYsB1txr7iZvyNr6W7F0fbdTLq5Fl2+6WIB3NnopPPK MGhzR2jikfuYGwEG+BG3efvTnrjoi+NPbNPHDdoegOiy/Q1R8PhjMKh10xWo3pgG 0TeZVg61ztfewAiebieMixNz+ehzFKK959Lsa7neV2ZsstBbM8B44UpXmLF5JLYe SR1ai5etSPBLxEeTXxlE+oG+fnDWk9Eyile7z1Nwg4et9OiXdyqAXBoA+BNDj2N2 N8vHuU79pSra+XGbka/7Kyz8sXjb4u92mJlc1wDcsCF+hX+wGEmwkEUb0S4YEtOH 1POi4YuIq0WF1oLSgCla/Pui0OQPIZaT31XhInYLV7rAX+MPgH0cUuLDsmzcg4ut C6RvoSzWiGA2JVqlALExSDtAkWUoZLjYkqnPYmZwGs25xsGUqJmiw1E73HI0OWr/ EJuKQbeq/bOmRPqbbwO7z7peZJHOt6j344VCXBdP/sB7d/lR1sEGpxC03MIogHrA BuiPyfDXTF1NB/+ZPBFbSG2Xhcg51yL4ddRa1sMntP6J4Ht1dW7TOpLI21Yu3eRp jzKnA9DRa/LPUvoR1y+C2LxDeBcT5qFMg4mZedOgio/C0vCXvus= =4Yj4 -----END PGP SIGNATURE----- Merge tag 'mfd-next-4.19' of git://git.kernel.org/pub/scm/linux/kernel/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 ...
263 lines
9.5 KiB
Plaintext
263 lines
9.5 KiB
Plaintext
AXP family PMIC device tree bindings
|
|
|
|
The axp20x family current members :
|
|
axp152 (X-Powers)
|
|
axp202 (X-Powers)
|
|
axp209 (X-Powers)
|
|
axp221 (X-Powers)
|
|
axp223 (X-Powers)
|
|
axp803 (X-Powers)
|
|
axp806 (X-Powers)
|
|
axp809 (X-Powers)
|
|
axp813 (X-Powers)
|
|
|
|
The AXP813 is 2 chips packaged into 1. The 2 chips do not share anything
|
|
other than the packaging. Pins are routed separately. As such they should
|
|
be treated as separate entities. The other half is an AC100 RTC/codec
|
|
combo chip. Please see ./ac100.txt for its bindings.
|
|
|
|
Required properties:
|
|
- compatible: should be one of:
|
|
* "x-powers,axp152"
|
|
* "x-powers,axp202"
|
|
* "x-powers,axp209"
|
|
* "x-powers,axp221"
|
|
* "x-powers,axp223"
|
|
* "x-powers,axp803"
|
|
* "x-powers,axp806"
|
|
* "x-powers,axp809"
|
|
* "x-powers,axp813"
|
|
- reg: The I2C slave address or RSB hardware address for the AXP chip
|
|
- interrupts: SoC NMI / GPIO interrupt connected to the PMIC's IRQ pin
|
|
- interrupt-controller: The PMIC has its own internal IRQs
|
|
- #interrupt-cells: Should be set to 1
|
|
|
|
Optional properties:
|
|
- x-powers,dcdc-freq: defines the work frequency of DC-DC in KHz
|
|
AXP152/20X: range: 750-1875, Default: 1.5 MHz
|
|
AXP22X/8XX: range: 1800-4050, Default: 3 MHz
|
|
|
|
- x-powers,drive-vbus-en: boolean, set this when the N_VBUSEN pin is
|
|
used as an output pin to control an external
|
|
regulator to drive the OTG VBus, rather then
|
|
as an input pin which signals whether the
|
|
board is driving OTG VBus or not.
|
|
(axp221 / axp223 / axp803/ axp813 only)
|
|
|
|
- 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
|
|
from the PMIC.
|
|
|
|
- regulators: A node that houses a sub-node for each regulator. Regulators
|
|
not used but preferred to be managed by the OS should be
|
|
listed as well.
|
|
See Documentation/devicetree/bindings/regulator/regulator.txt
|
|
for more information on standard regulator bindings.
|
|
|
|
Optional properties for DCDC regulators:
|
|
- x-powers,dcdc-workmode: 1 for PWM mode, 0 for AUTO (PWM/PFM) mode
|
|
Default: Current hardware setting
|
|
The DCDC regulators work in a mixed PWM/PFM mode,
|
|
using PFM under light loads and switching to PWM
|
|
for heavier loads. Forcing PWM mode trades efficiency
|
|
under light loads for lower output noise. This
|
|
probably makes sense for HiFi audio related
|
|
applications that aren't battery constrained.
|
|
|
|
AXP202/AXP209 regulators, type, and corresponding input supply names:
|
|
|
|
Regulator Type Supply Name Notes
|
|
--------- ---- ----------- -----
|
|
DCDC2 : DC-DC buck : vin2-supply
|
|
DCDC3 : DC-DC buck : vin3-supply
|
|
LDO1 : LDO : acin-supply : always on
|
|
LDO2 : LDO : ldo24in-supply : shared supply
|
|
LDO3 : LDO : ldo3in-supply
|
|
LDO4 : LDO : ldo24in-supply : shared supply
|
|
LDO5 : LDO : ldo5in-supply
|
|
|
|
AXP221/AXP223 regulators, type, and corresponding input supply names:
|
|
|
|
Regulator Type Supply Name Notes
|
|
--------- ---- ----------- -----
|
|
DCDC1 : DC-DC buck : vin1-supply
|
|
DCDC2 : DC-DC buck : vin2-supply
|
|
DCDC3 : DC-DC buck : vin3-supply
|
|
DCDC4 : DC-DC buck : vin4-supply
|
|
DCDC5 : DC-DC buck : vin5-supply
|
|
DC1SW : On/Off Switch : : DCDC1 secondary output
|
|
DC5LDO : LDO : : input from DCDC5
|
|
ALDO1 : LDO : aldoin-supply : shared supply
|
|
ALDO2 : LDO : aldoin-supply : shared supply
|
|
ALDO3 : LDO : aldoin-supply : shared supply
|
|
DLDO1 : LDO : dldoin-supply : shared supply
|
|
DLDO2 : LDO : dldoin-supply : shared supply
|
|
DLDO3 : LDO : dldoin-supply : shared supply
|
|
DLDO4 : LDO : dldoin-supply : shared supply
|
|
ELDO1 : LDO : eldoin-supply : shared supply
|
|
ELDO2 : LDO : eldoin-supply : shared supply
|
|
ELDO3 : LDO : eldoin-supply : shared supply
|
|
LDO_IO0 : LDO : ips-supply : GPIO 0
|
|
LDO_IO1 : LDO : ips-supply : GPIO 1
|
|
RTC_LDO : LDO : ips-supply : always on
|
|
DRIVEVBUS : Enable output : drivevbus-supply : external regulator
|
|
|
|
AXP803 regulators, type, and corresponding input supply names:
|
|
|
|
Regulator Type Supply Name Notes
|
|
--------- ---- ----------- -----
|
|
DCDC1 : DC-DC buck : vin1-supply
|
|
DCDC2 : DC-DC buck : vin2-supply : poly-phase capable
|
|
DCDC3 : DC-DC buck : vin3-supply : poly-phase capable
|
|
DCDC4 : DC-DC buck : vin4-supply
|
|
DCDC5 : DC-DC buck : vin5-supply : poly-phase capable
|
|
DCDC6 : DC-DC buck : vin6-supply : poly-phase capable
|
|
DC1SW : On/Off Switch : : DCDC1 secondary output
|
|
ALDO1 : LDO : aldoin-supply : shared supply
|
|
ALDO2 : LDO : aldoin-supply : shared supply
|
|
ALDO3 : LDO : aldoin-supply : shared supply
|
|
DLDO1 : LDO : dldoin-supply : shared supply
|
|
DLDO2 : LDO : dldoin-supply : shared supply
|
|
DLDO3 : LDO : dldoin-supply : shared supply
|
|
DLDO4 : LDO : dldoin-supply : shared supply
|
|
ELDO1 : LDO : eldoin-supply : shared supply
|
|
ELDO2 : LDO : eldoin-supply : shared supply
|
|
ELDO3 : LDO : eldoin-supply : shared supply
|
|
FLDO1 : LDO : fldoin-supply : shared supply
|
|
FLDO2 : LDO : fldoin-supply : shared supply
|
|
LDO_IO0 : LDO : ips-supply : GPIO 0
|
|
LDO_IO1 : LDO : ips-supply : GPIO 1
|
|
RTC_LDO : LDO : ips-supply : always on
|
|
DRIVEVBUS : Enable output : drivevbus-supply : external regulator
|
|
|
|
AXP806 regulators, type, and corresponding input supply names:
|
|
|
|
Regulator Type Supply Name Notes
|
|
--------- ---- ----------- -----
|
|
DCDCA : DC-DC buck : vina-supply : poly-phase capable
|
|
DCDCB : DC-DC buck : vinb-supply : poly-phase capable
|
|
DCDCC : DC-DC buck : vinc-supply : poly-phase capable
|
|
DCDCD : DC-DC buck : vind-supply : poly-phase capable
|
|
DCDCE : DC-DC buck : vine-supply : poly-phase capable
|
|
ALDO1 : LDO : aldoin-supply : shared supply
|
|
ALDO2 : LDO : aldoin-supply : shared supply
|
|
ALDO3 : LDO : aldoin-supply : shared supply
|
|
BLDO1 : LDO : bldoin-supply : shared supply
|
|
BLDO2 : LDO : bldoin-supply : shared supply
|
|
BLDO3 : LDO : bldoin-supply : shared supply
|
|
BLDO4 : LDO : bldoin-supply : shared supply
|
|
CLDO1 : LDO : cldoin-supply : shared supply
|
|
CLDO2 : LDO : cldoin-supply : shared supply
|
|
CLDO3 : LDO : cldoin-supply : shared supply
|
|
SW : On/Off Switch : swin-supply
|
|
|
|
Additionally, the AXP806 DC-DC regulators support poly-phase arrangements
|
|
for higher output current. The possible groupings are: A+B, A+B+C, D+E.
|
|
|
|
AXP809 regulators, type, and corresponding input supply names:
|
|
|
|
Regulator Type Supply Name Notes
|
|
--------- ---- ----------- -----
|
|
DCDC1 : DC-DC buck : vin1-supply
|
|
DCDC2 : DC-DC buck : vin2-supply
|
|
DCDC3 : DC-DC buck : vin3-supply
|
|
DCDC4 : DC-DC buck : vin4-supply
|
|
DCDC5 : DC-DC buck : vin5-supply
|
|
DC1SW : On/Off Switch : : DCDC1 secondary output
|
|
DC5LDO : LDO : : input from DCDC5
|
|
ALDO1 : LDO : aldoin-supply : shared supply
|
|
ALDO2 : LDO : aldoin-supply : shared supply
|
|
ALDO3 : LDO : aldoin-supply : shared supply
|
|
DLDO1 : LDO : dldoin-supply : shared supply
|
|
DLDO2 : LDO : dldoin-supply : shared supply
|
|
ELDO1 : LDO : eldoin-supply : shared supply
|
|
ELDO2 : LDO : eldoin-supply : shared supply
|
|
ELDO3 : LDO : eldoin-supply : shared supply
|
|
LDO_IO0 : LDO : ips-supply : GPIO 0
|
|
LDO_IO1 : LDO : ips-supply : GPIO 1
|
|
RTC_LDO : LDO : ips-supply : always on
|
|
SW : On/Off Switch : swin-supply
|
|
|
|
AXP813 regulators, type, and corresponding input supply names:
|
|
|
|
Regulator Type Supply Name Notes
|
|
--------- ---- ----------- -----
|
|
DCDC1 : DC-DC buck : vin1-supply
|
|
DCDC2 : DC-DC buck : vin2-supply : poly-phase capable
|
|
DCDC3 : DC-DC buck : vin3-supply : poly-phase capable
|
|
DCDC4 : DC-DC buck : vin4-supply
|
|
DCDC5 : DC-DC buck : vin5-supply : poly-phase capable
|
|
DCDC6 : DC-DC buck : vin6-supply : poly-phase capable
|
|
DCDC7 : DC-DC buck : vin7-supply
|
|
ALDO1 : LDO : aldoin-supply : shared supply
|
|
ALDO2 : LDO : aldoin-supply : shared supply
|
|
ALDO3 : LDO : aldoin-supply : shared supply
|
|
DLDO1 : LDO : dldoin-supply : shared supply
|
|
DLDO2 : LDO : dldoin-supply : shared supply
|
|
DLDO3 : LDO : dldoin-supply : shared supply
|
|
DLDO4 : LDO : dldoin-supply : shared supply
|
|
ELDO1 : LDO : eldoin-supply : shared supply
|
|
ELDO2 : LDO : eldoin-supply : shared supply
|
|
ELDO3 : LDO : eldoin-supply : shared supply
|
|
FLDO1 : LDO : fldoin-supply : shared supply
|
|
FLDO2 : LDO : fldoin-supply : shared supply
|
|
FLDO3 : LDO : fldoin-supply : shared supply
|
|
LDO_IO0 : LDO : ips-supply : GPIO 0
|
|
LDO_IO1 : LDO : ips-supply : GPIO 1
|
|
RTC_LDO : LDO : ips-supply : always on
|
|
SW : On/Off Switch : swin-supply
|
|
DRIVEVBUS : Enable output : drivevbus-supply : external regulator
|
|
|
|
Example:
|
|
|
|
axp209: pmic@34 {
|
|
compatible = "x-powers,axp209";
|
|
reg = <0x34>;
|
|
interrupt-parent = <&nmi_intc>;
|
|
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <1>;
|
|
|
|
regulators {
|
|
x-powers,dcdc-freq = <1500>;
|
|
|
|
vdd_cpu: dcdc2 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <1000000>;
|
|
regulator-max-microvolt = <1450000>;
|
|
regulator-name = "vdd-cpu";
|
|
};
|
|
|
|
vdd_int_dll: dcdc3 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <1000000>;
|
|
regulator-max-microvolt = <1400000>;
|
|
regulator-name = "vdd-int-dll";
|
|
};
|
|
|
|
vdd_rtc: ldo1 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1400000>;
|
|
regulator-name = "vdd-rtc";
|
|
};
|
|
|
|
avcc: ldo2 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <2700000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-name = "avcc";
|
|
};
|
|
|
|
ldo3 {
|
|
/* unused but preferred to be managed by OS */
|
|
};
|
|
};
|
|
};
|