mirror of
https://github.com/AetherDroid/android_kernel_samsung_on5xelte.git
synced 2025-10-29 07:18:51 +01:00
Fixed MTP to work with TWRP
This commit is contained in:
commit
f6dfaef42e
50820 changed files with 20846062 additions and 0 deletions
85
Documentation/devicetree/bindings/mfd/88pm860x.txt
Normal file
85
Documentation/devicetree/bindings/mfd/88pm860x.txt
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
* Marvell 88PM860x Power Management IC
|
||||
|
||||
Required parent device properties:
|
||||
- compatible : "marvell,88pm860x"
|
||||
- reg : the I2C slave address for the 88pm860x chip
|
||||
- interrupts : IRQ line for the 88pm860x chip
|
||||
- interrupt-controller: describes the 88pm860x as an interrupt controller (has its own domain)
|
||||
- #interrupt-cells : should be 1.
|
||||
- The cell is the 88pm860x local IRQ number
|
||||
|
||||
Optional parent device properties:
|
||||
- marvell,88pm860x-irq-read-clr: inicates whether interrupt status is cleared by read
|
||||
- marvell,88pm860x-slave-addr: 88pm860x are two chips solution. <reg> stores the I2C address
|
||||
of one chip, and this property stores the I2C address of
|
||||
another chip.
|
||||
|
||||
88pm860x consists of a large and varied group of sub-devices:
|
||||
|
||||
Device Supply Names Description
|
||||
------ ------------ -----------
|
||||
88pm860x-onkey : : On key
|
||||
88pm860x-rtc : : RTC
|
||||
88pm8607 : : Regulators
|
||||
88pm860x-backlight : : Backlight
|
||||
88pm860x-led : : Led
|
||||
88pm860x-touch : : Touchscreen
|
||||
|
||||
Example:
|
||||
|
||||
pmic: 88pm860x@34 {
|
||||
compatible = "marvell,88pm860x";
|
||||
reg = <0x34>;
|
||||
interrupts = <4>;
|
||||
interrupt-parent = <&intc>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
|
||||
marvell,88pm860x-irq-read-clr;
|
||||
marvell,88pm860x-slave-addr = <0x11>;
|
||||
|
||||
regulators {
|
||||
BUCK1 {
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
LDO1 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
rtc {
|
||||
marvell,88pm860x-vrtc = <1>;
|
||||
};
|
||||
touch {
|
||||
marvell,88pm860x-gpadc-prebias = <1>;
|
||||
marvell,88pm860x-gpadc-slot-cycle = <1>;
|
||||
marvell,88pm860x-tsi-prebias = <6>;
|
||||
marvell,88pm860x-pen-prebias = <16>;
|
||||
marvell,88pm860x-pen-prechg = <2>;
|
||||
marvell,88pm860x-resistor-X = <300>;
|
||||
};
|
||||
backlights {
|
||||
backlight-0 {
|
||||
marvell,88pm860x-iset = <4>;
|
||||
marvell,88pm860x-pwm = <3>;
|
||||
};
|
||||
backlight-2 {
|
||||
};
|
||||
};
|
||||
leds {
|
||||
led0-red {
|
||||
marvell,88pm860x-iset = <12>;
|
||||
};
|
||||
led0-green {
|
||||
marvell,88pm860x-iset = <12>;
|
||||
};
|
||||
led0-blue {
|
||||
marvell,88pm860x-iset = <12>;
|
||||
};
|
||||
};
|
||||
};
|
||||
159
Documentation/devicetree/bindings/mfd/ab8500.txt
Normal file
159
Documentation/devicetree/bindings/mfd/ab8500.txt
Normal file
|
|
@ -0,0 +1,159 @@
|
|||
* AB8500 Multi-Functional Device (MFD)
|
||||
|
||||
Required parent device properties:
|
||||
- compatible : contains "stericsson,ab8500";
|
||||
- interrupts : contains the IRQ line for the AB8500
|
||||
- interrupt-controller : describes the AB8500 as an Interrupt Controller (has its own domain)
|
||||
- #interrupt-cells : should be 2, for 2-cell format
|
||||
- The first cell is the AB8500 local IRQ number
|
||||
- The second cell is used to specify optional parameters
|
||||
- bits[3:0] trigger type and level flags:
|
||||
1 = low-to-high edge triggered
|
||||
2 = high-to-low edge triggered
|
||||
4 = active high level-sensitive
|
||||
8 = active low level-sensitive
|
||||
|
||||
The AB8500 consists of a large and varied group of sub-devices:
|
||||
|
||||
Device IRQ Names Supply Names Description
|
||||
------ --------- ------------ -----------
|
||||
ab8500-bm : : : Battery Manager
|
||||
ab8500-btemp : : : Battery Temperature
|
||||
ab8500-charger : : : Battery Charger
|
||||
ab8500-codec : : : Audio Codec
|
||||
ab8500-fg : : vddadc : Fuel Gauge
|
||||
: NCONV_ACCU : : Accumulate N Sample Conversion
|
||||
: BATT_OVV : : Battery Over Voltage
|
||||
: LOW_BAT_F : : LOW threshold battery voltage
|
||||
: CC_INT_CALIB : : Coulomb Counter Internal Calibration
|
||||
: CCEOC : : Coulomb Counter End of Conversion
|
||||
ab8500-btemp : : vtvout : Battery Temperature
|
||||
: BAT_CTRL_INDB : : Battery Removal Indicator
|
||||
: BTEMP_LOW : : Btemp < BtempLow, if battery temperature is lower than -10°C
|
||||
: BTEMP_LOW_MEDIUM : : BtempLow < Btemp < BtempMedium,if battery temperature is between -10 and 0°C
|
||||
: BTEMP_MEDIUM_HIGH : : BtempMedium < Btemp < BtempHigh,if battery temperature is between 0°C and“MaxTemp
|
||||
: BTEMP_HIGH : : Btemp > BtempHigh, if battery temperature is higher than “MaxTemp
|
||||
ab8500-charger : : vddadc : Charger interface
|
||||
: MAIN_CH_UNPLUG_DET : : main charger unplug detection management (not in 8505)
|
||||
: MAIN_CHARGE_PLUG_DET : : main charger plug detection management (not in 8505)
|
||||
: MAIN_EXT_CH_NOT_OK : : main charger not OK
|
||||
: MAIN_CH_TH_PROT_R : : Die temp is above main charger
|
||||
: MAIN_CH_TH_PROT_F : : Die temp is below main charger
|
||||
: VBUS_DET_F : : VBUS falling detected
|
||||
: VBUS_DET_R : : VBUS rising detected
|
||||
: USB_LINK_STATUS : : USB link status has changed
|
||||
: USB_CH_TH_PROT_R : : Die temp is above usb charger
|
||||
: USB_CH_TH_PROT_F : : Die temp is below usb charger
|
||||
: USB_CHARGER_NOT_OKR : : allowed USB charger not ok detection
|
||||
: VBUS_OVV : : Overvoltage on Vbus ball detected (USB charge is stopped)
|
||||
: CH_WD_EXP : : Charger watchdog detected
|
||||
ab8500-gpadc : HW_CONV_END : vddadc : Analogue to Digital Converter
|
||||
SW_CONV_END : :
|
||||
ab8500-gpio : : : GPIO Controller
|
||||
ab8500-ponkey : ONKEY_DBF : : Power-on Key
|
||||
ONKEY_DBR : :
|
||||
ab8500-pwm : : : Pulse Width Modulator
|
||||
ab8500-regulator : : : Regulators
|
||||
ab8500-rtc : 60S : : Real Time Clock
|
||||
: ALARM : :
|
||||
ab8500-sysctrl : : : System Control
|
||||
ab8500-usb : ID_WAKEUP_R : vddulpivio18 : Universal Serial Bus
|
||||
: ID_WAKEUP_F : v-ape :
|
||||
: VBUS_DET_F : musb_1v8 :
|
||||
: VBUS_DET_R : :
|
||||
: USB_LINK_STATUS : :
|
||||
: USB_ADP_PROBE_PLUG : :
|
||||
: USB_ADP_PROBE_UNPLUG : :
|
||||
|
||||
Required child device properties:
|
||||
- compatible : "stericsson,ab8500-[bm|btemp|charger|fg|gpadc|gpio|ponkey|
|
||||
pwm|regulator|rtc|sysctrl|usb]";
|
||||
|
||||
Optional child device properties:
|
||||
- interrupts : contains the device IRQ(s) using the 2-cell format (see above)
|
||||
- interrupt-names : contains names of IRQ resource in the order in which they were
|
||||
supplied in the interrupts property
|
||||
- <supply_name>-supply : contains a phandle to the regulator supply node in Device Tree
|
||||
|
||||
Non-standard child device properties:
|
||||
- Audio CODEC:
|
||||
- stericsson,amic[1|2]-type-single-ended : Single-ended Analoge Mic (default: differential)
|
||||
- stericsson,amic1a-bias-vamic2 : Analoge Mic wishes to use a non-standard Vamic
|
||||
- stericsson,amic1b-bias-vamic2 : Analoge Mic wishes to use a non-standard Vamic
|
||||
- stericsson,amic2-bias-vamic1 : Analoge Mic wishes to use a non-standard Vamic
|
||||
- stericsson,earpeice-cmv : Earpeice voltage (only: 950 | 1100 | 1270 | 1580)
|
||||
|
||||
ab8500 {
|
||||
compatible = "stericsson,ab8500";
|
||||
interrupts = <0 40 0x4>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
|
||||
ab8500-rtc {
|
||||
compatible = "stericsson,ab8500-rtc";
|
||||
interrupts = <17 0x4
|
||||
18 0x4>;
|
||||
interrupt-names = "60S", "ALARM";
|
||||
};
|
||||
|
||||
ab8500-gpadc {
|
||||
compatible = "stericsson,ab8500-gpadc";
|
||||
interrupts = <32 0x4
|
||||
39 0x4>;
|
||||
interrupt-names = "HW_CONV_END", "SW_CONV_END";
|
||||
vddadc-supply = <&ab8500_ldo_tvout_reg>;
|
||||
};
|
||||
|
||||
ab8500-usb {
|
||||
compatible = "stericsson,ab8500-usb";
|
||||
interrupts = < 90 0x4
|
||||
96 0x4
|
||||
14 0x4
|
||||
15 0x4
|
||||
79 0x4
|
||||
74 0x4
|
||||
75 0x4>;
|
||||
interrupt-names = "ID_WAKEUP_R",
|
||||
"ID_WAKEUP_F",
|
||||
"VBUS_DET_F",
|
||||
"VBUS_DET_R",
|
||||
"USB_LINK_STATUS",
|
||||
"USB_ADP_PROBE_PLUG",
|
||||
"USB_ADP_PROBE_UNPLUG";
|
||||
vddulpivio18-supply = <&ab8500_ldo_intcore_reg>;
|
||||
v-ape-supply = <&db8500_vape_reg>;
|
||||
musb_1v8-supply = <&db8500_vsmps2_reg>;
|
||||
};
|
||||
|
||||
ab8500-ponkey {
|
||||
compatible = "stericsson,ab8500-ponkey";
|
||||
interrupts = <6 0x4
|
||||
7 0x4>;
|
||||
interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
|
||||
};
|
||||
|
||||
ab8500-sysctrl {
|
||||
compatible = "stericsson,ab8500-sysctrl";
|
||||
};
|
||||
|
||||
ab8500-pwm {
|
||||
compatible = "stericsson,ab8500-pwm";
|
||||
};
|
||||
|
||||
codec: ab8500-codec {
|
||||
compatible = "stericsson,ab8500-codec";
|
||||
|
||||
stericsson,earpeice-cmv = <950>; /* Units in mV. */
|
||||
};
|
||||
|
||||
ab8500-regulators {
|
||||
compatible = "stericsson,ab8500-regulator";
|
||||
|
||||
ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
|
||||
/*
|
||||
* See: Documentation/devicetree/bindings/regulator/regulator.txt
|
||||
* for more information on regulators
|
||||
*/
|
||||
};
|
||||
};
|
||||
};
|
||||
249
Documentation/devicetree/bindings/mfd/arizona.txt
Normal file
249
Documentation/devicetree/bindings/mfd/arizona.txt
Normal file
|
|
@ -0,0 +1,249 @@
|
|||
Wolfson Arizona class audio SoCs
|
||||
|
||||
These devices are audio SoCs with extensive digital capabilites and a range
|
||||
of analogue I/O.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : One of the following chip-specific strings:
|
||||
"wlf,wm5102"
|
||||
"wlf,wm5110"
|
||||
"wlf,wm8280"
|
||||
"wlf,wm8281"
|
||||
"wlf,wm8997"
|
||||
"wlf,wm8998"
|
||||
"wlf,wm1814"
|
||||
"wlf,wm8285"
|
||||
"wlf,wm1840"
|
||||
"wlf,wm1831"
|
||||
"cirrus,cs47l24"
|
||||
"cirrus,cs47l85"
|
||||
"cirrus,cs47l90"
|
||||
"cirrus,cs47l91"
|
||||
|
||||
- reg : I2C slave address when connected using I2C, chip select number when
|
||||
using SPI.
|
||||
|
||||
- interrupts : The interrupt line the /IRQ signal for the device is
|
||||
connected to.
|
||||
- interrupt-controller : Arizona class devices contain interrupt controllers
|
||||
and may provide interrupt services to other devices.
|
||||
- interrupt-parent : The parent interrupt controller.
|
||||
- #interrupt-cells: the number of cells to describe an IRQ, this should be 2.
|
||||
The first cell is the IRQ number.
|
||||
The second cell is the flags, encoded as the trigger masks from
|
||||
Documentation/devicetree/bindings/interrupts.txt
|
||||
|
||||
- gpio-controller : Indicates this device is a GPIO controller.
|
||||
- #gpio-cells : Must be 2. The first cell is the pin number and the
|
||||
second cell is used to specify optional parameters (currently unused).
|
||||
|
||||
- AVDD-supply, DBVDD1-supply, DBVDD2-supply, DBVDD3-supply (wm5102, wm5110),
|
||||
DBVDD4-supply (wm8285), CPVDD-supply, SPKVDDL-supply (wm5102, wm5110),
|
||||
SPKVDDR-supply (wm5102, wm5110), SPKVDD-supply (wm8997, cs47l24) : Power
|
||||
supplies for the device, as covered in
|
||||
Documentation/devicetree/bindings/regulator/regulator.txt
|
||||
|
||||
Optional properties:
|
||||
|
||||
- wlf,reset : GPIO specifier for the GPIO controlling /RESET
|
||||
- wlf,ldoena : GPIO specifier for the GPIO controlling LDOENA
|
||||
- wlf,clk32k-src : set input source for codec 32kHz clock.
|
||||
0 = default, 1 = MCLK1, 2 = MCLK2, 3 = None
|
||||
|
||||
- wlf,micd-detect-debounce : Additional software microphone detection
|
||||
debounce specified in milliseconds
|
||||
- wlf,micd-manual-debounce : Additional software button detection
|
||||
debounce specified as a number
|
||||
- wlf,micd-pol-gpio : GPIO specifier for the GPIO controlling the headset
|
||||
polarity if one exists
|
||||
- wlf,micd-bias-start-time : Time allowed for MICBIAS to startup prior to
|
||||
performing microphone detection, specified as per the MICD_BIAS_STARTTIME
|
||||
bits in the register MIC_DETECT_1
|
||||
- wlf,micd-rate : Delay between successive microphone detection measurements,
|
||||
specified as per the MICD_RATE bits in the register MIC_DETECT_1
|
||||
- wlf,micd-dbtime : Microphone detection hardware debounce level, specified
|
||||
as per the MICD_DBTIME bits in the register MIC_DETECT_1
|
||||
- wlf,micd-timeout : Timeout for microphone detection, specified in
|
||||
milliseconds
|
||||
- wlf,micd-force-micbias : Force MICBIAS continuously on during microphone
|
||||
detection and button detection
|
||||
- wlf,micd-force-micbias-initial : Force MICBIAS continuously on during
|
||||
microphone detection
|
||||
- wlf,micd-software-compare : Use a software comparison to determine mic
|
||||
presence
|
||||
- wlf,use-jd-gpio : Use GPIO input alongwith JD1 for dual jack detection. For
|
||||
later arizona chips which have JD1 and JD2, setting this property will use
|
||||
both JD1 and JD2 for dual jack detect and does not require an additional
|
||||
GPIO
|
||||
- wlf,usr-jd-gpio-nopull : Internal pull on GPIO is disabled when used for
|
||||
jack detection.
|
||||
- wlf,gpsw : Settings for the general purpose switch, set as per the
|
||||
SW1_MODE bits in the GP Switch 1 register
|
||||
- wlf,init-mic-delay : Adds a delay in milliseconds between jack detection
|
||||
and beginning ramp of MICBIAS.
|
||||
- wlf,fixed-hpdet-imp : Do not perform any headphone detection, just use
|
||||
the fixed value specified here as the headphone impedance.
|
||||
- wlf,hpdet-short-circuit-imp : Specifies the maximum impedance in ohms
|
||||
that will be considered as a short circuit
|
||||
- wlf,hpdet-channel : When this property is set then right channel is used
|
||||
for headphone impedance measurement else the left headphone channel is
|
||||
used
|
||||
- wlf,micd-clamp-mode : Specifies the logic of the micdetect clamp block
|
||||
- wlf,hpd-left-pins : This field is only for moon (cs47l90, cs47l91) class
|
||||
of arizona codecs. It is a 2 cell long field where the first cell
|
||||
represents the pin that needs to be unclamped when measuring headphone
|
||||
left channel impedance as per the HPD_OUT_SEL field of HEADPHONE_DETECT_0
|
||||
register and the second pin represents the impedance sense pin as per the
|
||||
HPD_SENSE_SEL field of HEADPHONE_DETECT_0 register
|
||||
- wlf,hpd-right-pins : See wlf,hpd-left-pins which is for left headphone
|
||||
channel and this field is similar but for right headphone channel
|
||||
- wlf,micd-ranges : Microphone detection level and key configuration, this
|
||||
field can be of variable length but should always be a multiple of 2 cells
|
||||
long, each two cell group represents one button configuration
|
||||
The first cell is the maximum impedance for this button in ohms
|
||||
The second cell the key that should be reported to the input layer
|
||||
- wlf,micd-configs : Headset polarity configurations, the field can be of
|
||||
variable length. But is should always be a multiple of 4 cells long for Moon
|
||||
class (cs47l90, cs47l91) of Arizona chips and should always be a multiple
|
||||
of 3 cells long for other Arizona chips, each two cell group represents one
|
||||
polarity configration
|
||||
For Moon class (cs47l90, cs47l91) of Arizona chips the first cell is the
|
||||
accessory detection source as per the MICD_SENSE_SEL field of
|
||||
MIC_DETECT_1_CONTROL_0 regiser and for other Arizona chips its the accessory
|
||||
detection source as per the ACCDET_SRC bits in the ACCESSORY_DETECT_MODE_1 register
|
||||
For Moon class (cs47l90, cs47l91) of Arizona chips the second cell is the accessory
|
||||
detection ground as per the MICD_GND_SEL field of MIC_DETECT_1_CONTROL_0 regiser
|
||||
and for other Arizona chips the second cell represents the MICBIAS to be used as
|
||||
per the MICD_BIAS_SRC bits in the MIC_DETECT_1 register
|
||||
For Moon class (cs47l90, cs47l91) of Arizona chips the third cell represents
|
||||
the MICBIAS to be used as per the MICD_BIAS_SRC bits in the MIC_DETECT_1_CONTROL_1
|
||||
register and for other Arizona chips the third cell represents the value of the
|
||||
micd-pol-gpio pin, a non-zero value indicates this should be on
|
||||
For Moon class (cs47l90, cs47l91) of Arizona chips the fourth cell represents
|
||||
the value of the micd-pol-gpio pin, a non-zero value indicates this should be on
|
||||
and for other Arizona chips there are only three cells and fourth cell should
|
||||
not be specified
|
||||
- wlf,micbias1 : Configuration for the micbias regulator, number of cells
|
||||
here will depend on the arizona chip and will be 4 + n (number of
|
||||
children micbiases). For Marley (cs47l35) n is 2, for Moon
|
||||
(cs47l90, cs47l91) n is 4 and for other arizona chips n is 1.
|
||||
The first cell is the output voltage in millivolts
|
||||
The second cell a non-zero value indicates an external capacitor is fitted
|
||||
Starting from third cell the next n cells with a non-zero value indicates
|
||||
the micbias (or children micbiases if n > 1) should be actively discharged
|
||||
In the (3 + n)'th cell a non-zero value indicates that the micbias should be
|
||||
brought up slowly to reduce pops
|
||||
In the (4 + n)'th cell a non-zero value indicates the micbias should be bypassed
|
||||
and simply output MICVDD
|
||||
- wlf,micbias2 : See wlf,micbias1
|
||||
- wlf,micbias3 : See wlf,micbias1
|
||||
- wlf,micbias4 : See wlf,micbias1
|
||||
|
||||
- wlf,hs-mic: Specify an input to mute during headset button presses and
|
||||
jack removal: 1 - IN1L, 2 - IN1R, ..., n - IN[n]R
|
||||
|
||||
- wlf,dmic-ref : DMIC reference for each input, must contain four cells if
|
||||
specified. 0 indicates MICVDD and is the default, 1,2,3 indicate the
|
||||
respective MICBIAS.
|
||||
|
||||
- wlf,inmode : A list of INn_MODE register values, where n is the number
|
||||
of input signals. Valid values are 0 (Differential), 1 (Single-ended) and
|
||||
2 (Digital Microphone). If absent, INn_MODE registers set to 0 by default.
|
||||
If present, values must be specified less than or equal to the number of
|
||||
input singals. If values less than the number of input signals, elements
|
||||
that has not been specifed are set to 0 by default.
|
||||
For most codecs the entries map to <IN1, IN2, IN3, IN4>
|
||||
wm8998: entries are for <IN1A, IN2A, IN1B, IN2B>
|
||||
cs47l85, wm8285, cs47l90, cs47l91: entries are for <IN1L, IN1R, IN2L,
|
||||
IN2R, IN3L, IN3R>
|
||||
|
||||
- wlf,out-mono : Mono bit for each output, must contain six cells if
|
||||
specified. A non-zero value indicates the corresponding output is mono.
|
||||
|
||||
- wlf,use-jd-gpio : Use GPIO input for jack detection.
|
||||
- wlf,use-jd-gpio-nopull : Internal pull on GPIO is disabled when used for
|
||||
jack detection.
|
||||
|
||||
- wlf,dmic-clksrc : DMIC clock source for each input. This field is only for
|
||||
moon class of arizona codecs (cs47l90, cs47l91) and a value of 0 will source
|
||||
DMIC from internally generated clock within the ADC subsystem and a value of
|
||||
1 will source DMIC and External digital speakers with same clock
|
||||
|
||||
- wlf,gpio-defaults : A list of GPIO configuration register values. Defines
|
||||
for the appropriate values can found in <dt-bindings/mfd/arizona.txt>. If
|
||||
absent, no configuration of these registers is performed. If any entry has
|
||||
a value that is out of range for a 16 bit register then the chip default
|
||||
will be used.
|
||||
|
||||
- wlf,max-channels-clocked : The maximum number of channels to be clocked on
|
||||
each AIF, useful for I2S systems with multiple data lines being mastered.
|
||||
Specify one cell for each AIF, specify zero for AIFs that should be handled
|
||||
normally.
|
||||
|
||||
- wlf,out-mono : Mono bit for each output, must contain six cells if
|
||||
specified. A non-zero value indicates the corresponding output is mono.
|
||||
|
||||
- wlf,wm5102t-output-pwr : Output power setting (WM5102T only)
|
||||
|
||||
- DCVDD-supply, MICVDD-supply : Power supplies, only need to be specified if
|
||||
they are being externally supplied. As covered in
|
||||
Documentation/devicetree/bindings/regulator/regulator.txt
|
||||
|
||||
Optional subnodes:
|
||||
- ldo1 : Initial data for the LDO1 regulator, as covered in
|
||||
Documentation/devicetree/bindings/regulator/regulator.txt
|
||||
- micvdd : Initial data for the MICVDD regulator, as covered in
|
||||
Documentation/devicetree/bindings/regulator/regulator.txt
|
||||
|
||||
Example:
|
||||
|
||||
codec: wm5102@1a {
|
||||
compatible = "wlf,wm5102";
|
||||
reg = <0x1a>;
|
||||
interrupts = <347>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-parent = <&gic>;
|
||||
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
||||
wlf,micd-detect-debounce = <10>;
|
||||
wlf,micd-bias-start-time = <0x1>;
|
||||
wlf,micd-rate = <0x1>;
|
||||
wlf,micd-dbtime = <0x1>;
|
||||
wlf,micd-timeout = <10>;
|
||||
wlf,micd-force-micbias;
|
||||
wlf,micd-ranges = <
|
||||
11 0x100
|
||||
28 0x101
|
||||
54 0x102
|
||||
100 0x103
|
||||
186 0x104
|
||||
430 0x105
|
||||
>;
|
||||
wlf,micd-configs = <
|
||||
0x1 1 0
|
||||
0x0 2 1
|
||||
>;
|
||||
wlf,fixed-hpdet-imp = <8>;
|
||||
|
||||
wlf,micbias2 = <2600 0 1 1 0>;
|
||||
wlf,init-mic-delay = <10>;
|
||||
wlf,micd-clamp-mode = <0xb>;
|
||||
|
||||
wlf,dmic-ref = <0 0 1 0>;
|
||||
|
||||
wlf,gpsw = <0x3>;
|
||||
|
||||
wlf,gpio-defaults = <
|
||||
ARIZONA_GP_FN_TXLRCLK
|
||||
ARIZONA_GP_DEFAULT
|
||||
ARIZONA_GP_DEFAULT
|
||||
ARIZONA_GP_DEFAULT
|
||||
ARIZONA_GP_DEFAULT
|
||||
>;
|
||||
|
||||
wlf,max-channels-clocked = <2 0 0>;
|
||||
};
|
||||
73
Documentation/devicetree/bindings/mfd/as3711.txt
Normal file
73
Documentation/devicetree/bindings/mfd/as3711.txt
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
AS3711 is an I2C PMIC from Austria MicroSystems with multiple DCDC and LDO power
|
||||
supplies, a battery charger and an RTC. So far only bindings for the two stepup
|
||||
DCDC converters are defined. Other DCDC and LDO supplies are configured, using
|
||||
standard regulator properties, they must belong to a sub-node, called
|
||||
"regulators" and be called "sd1" to "sd4" and "ldo1" to "ldo8." Stepup converter
|
||||
configuration should be placed in a subnode, called "backlight."
|
||||
|
||||
Compulsory properties:
|
||||
- compatible : must be "ams,as3711"
|
||||
- reg : specifies the I2C address
|
||||
|
||||
To use the SU1 converter as a backlight source the following two properties must
|
||||
be provided:
|
||||
- su1-dev : framebuffer phandle
|
||||
- su1-max-uA : maximum current
|
||||
|
||||
To use the SU2 converter as a backlight source the following two properties must
|
||||
be provided:
|
||||
- su2-dev : framebuffer phandle
|
||||
- su1-max-uA : maximum current
|
||||
|
||||
Additionally one of these properties must be provided to select the type of
|
||||
feedback used:
|
||||
- su2-feedback-voltage : voltage feedback is used
|
||||
- su2-feedback-curr1 : CURR1 input used for current feedback
|
||||
- su2-feedback-curr2 : CURR2 input used for current feedback
|
||||
- su2-feedback-curr3 : CURR3 input used for current feedback
|
||||
- su2-feedback-curr-auto: automatic current feedback selection
|
||||
|
||||
and one of these to select the over-voltage protection pin
|
||||
- su2-fbprot-lx-sd4 : LX_SD4 is used for over-voltage protection
|
||||
- su2-fbprot-gpio2 : GPIO2 is used for over-voltage protection
|
||||
- su2-fbprot-gpio3 : GPIO3 is used for over-voltage protection
|
||||
- su2-fbprot-gpio4 : GPIO4 is used for over-voltage protection
|
||||
|
||||
If "su2-feedback-curr-auto" is selected, one or more of the following properties
|
||||
have to be specified:
|
||||
- su2-auto-curr1 : use CURR1 input for current feedback
|
||||
- su2-auto-curr2 : use CURR2 input for current feedback
|
||||
- su2-auto-curr3 : use CURR3 input for current feedback
|
||||
|
||||
Example:
|
||||
|
||||
as3711@40 {
|
||||
compatible = "ams,as3711";
|
||||
reg = <0x40>;
|
||||
|
||||
regulators {
|
||||
sd4 {
|
||||
regulator-name = "1.215V";
|
||||
regulator-min-microvolt = <1215000>;
|
||||
regulator-max-microvolt = <1235000>;
|
||||
};
|
||||
ldo2 {
|
||||
regulator-name = "2.8V CPU";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
|
||||
backlight {
|
||||
compatible = "ams,as3711-bl";
|
||||
su2-dev = <&lcdc>;
|
||||
su2-max-uA = <36000>;
|
||||
su2-feedback-curr-auto;
|
||||
su2-fbprot-gpio4;
|
||||
su2-auto-curr1;
|
||||
su2-auto-curr2;
|
||||
su2-auto-curr3;
|
||||
};
|
||||
};
|
||||
213
Documentation/devicetree/bindings/mfd/as3722.txt
Normal file
213
Documentation/devicetree/bindings/mfd/as3722.txt
Normal file
|
|
@ -0,0 +1,213 @@
|
|||
* ams AS3722 Power management IC.
|
||||
|
||||
Required properties:
|
||||
-------------------
|
||||
- compatible: Must be "ams,as3722".
|
||||
- reg: I2C device address.
|
||||
- interrupt-controller: AS3722 has internal interrupt controller which takes the
|
||||
interrupt request from internal sub-blocks like RTC, regulators, GPIOs as well
|
||||
as external input.
|
||||
- #interrupt-cells: Should be set to 2 for IRQ number and flags.
|
||||
The first cell is the IRQ number. IRQ numbers for different interrupt source
|
||||
of AS3722 are defined at dt-bindings/mfd/as3722.h
|
||||
The second cell is the flags, encoded as the trigger masks from binding document
|
||||
interrupts.txt, using dt-bindings/irq.
|
||||
|
||||
Optional properties:
|
||||
--------------------
|
||||
- ams,enable-internal-int-pullup: Boolean property, to enable internal pullup on
|
||||
interrupt pin. Missing this will disable internal pullup on INT pin.
|
||||
- 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.
|
||||
|
||||
Optional submodule and their properties:
|
||||
=======================================
|
||||
|
||||
Pinmux and GPIO:
|
||||
===============
|
||||
Device has 8 GPIO pins which can be configured as GPIO as well as the special IO
|
||||
functions.
|
||||
|
||||
Please refer to pinctrl-bindings.txt in this directory for details of the
|
||||
common pinctrl bindings used by client devices, including the meaning of the
|
||||
phrase "pin configuration node".
|
||||
|
||||
Following are properties which is needed if GPIO and pinmux functionality
|
||||
is required:
|
||||
Required properties:
|
||||
-------------------
|
||||
- gpio-controller: Marks the device node as a GPIO controller.
|
||||
- #gpio-cells: Number of GPIO cells. Refer to binding document
|
||||
gpio/gpio.txt
|
||||
|
||||
Optional properties:
|
||||
--------------------
|
||||
Following properties are require if pin control setting is required
|
||||
at boot.
|
||||
- pinctrl-names: A pinctrl state named "default" be defined, using the
|
||||
bindings in pinctrl/pinctrl-binding.txt.
|
||||
- pinctrl[0...n]: Properties to contain the phandle that refer to
|
||||
different nodes of pin control settings. These nodes represents
|
||||
the pin control setting of state 0 to state n. Each of these
|
||||
nodes contains different subnodes to represents some desired
|
||||
configuration for a list of pins. This configuration can
|
||||
include the mux function to select on those pin(s), and
|
||||
various pin configuration parameters, such as pull-up,
|
||||
open drain.
|
||||
|
||||
Each subnode have following properties:
|
||||
Required properties:
|
||||
- pins: List of pins. Valid values of pins properties are:
|
||||
gpio0, gpio1, gpio2, gpio3, gpio4, gpio5,
|
||||
gpio6, gpio7
|
||||
|
||||
Optional properties:
|
||||
function, bias-disable, bias-pull-up, bias-pull-down,
|
||||
bias-high-impedance, drive-open-drain.
|
||||
|
||||
Valid values for function properties are:
|
||||
gpio, interrupt-out, gpio-in-interrupt,
|
||||
vsup-vbat-low-undebounce-out,
|
||||
vsup-vbat-low-debounce-out,
|
||||
voltage-in-standby, oc-pg-sd0, oc-pg-sd6,
|
||||
powergood-out, pwm-in, pwm-out, clk32k-out,
|
||||
watchdog-in, soft-reset-in
|
||||
|
||||
Regulators:
|
||||
===========
|
||||
Device has multiple DCDC and LDOs. The node "regulators" is require if regulator
|
||||
functionality is needed.
|
||||
|
||||
Following are properties of regulator subnode.
|
||||
|
||||
Optional properties:
|
||||
-------------------
|
||||
The input supply of regulators are the optional properties on the
|
||||
regulator node. The input supply of these regulators are provided
|
||||
through following properties:
|
||||
vsup-sd2-supply: Input supply for SD2.
|
||||
vsup-sd3-supply: Input supply for SD3.
|
||||
vsup-sd4-supply: Input supply for SD4.
|
||||
vsup-sd5-supply: Input supply for SD5.
|
||||
vin-ldo0-supply: Input supply for LDO0.
|
||||
vin-ldo1-6-supply: Input supply for LDO1 and LDO6.
|
||||
vin-ldo2-5-7-supply: Input supply for LDO2, LDO5 and LDO7.
|
||||
vin-ldo3-4-supply: Input supply for LDO3 and LDO4.
|
||||
vin-ldo9-10-supply: Input supply for LDO9 and LDO10.
|
||||
vin-ldo11-supply: Input supply for LDO11.
|
||||
|
||||
Optional sub nodes for regulators:
|
||||
---------------------------------
|
||||
The subnodes name is the name of regulator and it must be one of:
|
||||
sd[0-6], ldo[0-7], ldo[9-11]
|
||||
|
||||
Each sub-node should contain the constraints and initialization
|
||||
information for that regulator. See regulator.txt for a description
|
||||
of standard properties for these sub-nodes.
|
||||
Additional optional custom properties are listed below.
|
||||
ams,ext-control: External control of the rail. The option of
|
||||
this properties will tell which external input is
|
||||
controlling this rail. Valid values are 0, 1, 2 ad 3.
|
||||
0: There is no external control of this rail.
|
||||
1: Rail is controlled by ENABLE1 input pin.
|
||||
2: Rail is controlled by ENABLE2 input pin.
|
||||
3: Rail is controlled by ENABLE3 input pin.
|
||||
Missing this property on DT will be assume as no
|
||||
external control. The external control pin macros
|
||||
are defined @dt-bindings/mfd/as3722.h
|
||||
|
||||
ams,enable-tracking: Enable tracking with SD1, only supported
|
||||
by LDO3.
|
||||
|
||||
Power-off:
|
||||
=========
|
||||
AS3722 supports the system power off by turning off all its rail. This
|
||||
is provided through pm_power_off.
|
||||
The device node should have the following properties to enable this
|
||||
functionality
|
||||
ams,system-power-controller: Boolean, to enable the power off functionality
|
||||
through this device.
|
||||
|
||||
Example:
|
||||
--------
|
||||
#include <dt-bindings/mfd/as3722.h>
|
||||
...
|
||||
ams3722 {
|
||||
compatible = "ams,as3722";
|
||||
reg = <0x48>;
|
||||
|
||||
ams,system-power-controller;
|
||||
|
||||
interrupt-parent = <&intc>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&as3722_default>;
|
||||
|
||||
as3722_default: pinmux {
|
||||
gpio0 {
|
||||
pins = "gpio0";
|
||||
function = "gpio";
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
gpio1_2_4_7 {
|
||||
pins = "gpio1", "gpio2", "gpio4", "gpio7";
|
||||
function = "gpio";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
gpio5 {
|
||||
pins = "gpio5";
|
||||
function = "clk32k_out";
|
||||
};
|
||||
}
|
||||
|
||||
regulators {
|
||||
vsup-sd2-supply = <...>;
|
||||
...
|
||||
|
||||
sd0 {
|
||||
regulator-name = "vdd_cpu";
|
||||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-always-on;
|
||||
ams,ext-control = <2>;
|
||||
};
|
||||
|
||||
sd1 {
|
||||
regulator-name = "vdd_core";
|
||||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-always-on;
|
||||
ams,ext-control = <1>;
|
||||
};
|
||||
|
||||
sd2 {
|
||||
regulator-name = "vddio_ddr";
|
||||
regulator-min-microvolt = <1350000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
sd4 {
|
||||
regulator-name = "avdd-hdmi-pex";
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
sd5 {
|
||||
regulator-name = "vdd-1v8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
....
|
||||
};
|
||||
};
|
||||
15
Documentation/devicetree/bindings/mfd/atmel-gpbr.txt
Normal file
15
Documentation/devicetree/bindings/mfd/atmel-gpbr.txt
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
* Device tree bindings for Atmel GPBR (General Purpose Backup Registers)
|
||||
|
||||
The GPBR are a set of battery-backed registers.
|
||||
|
||||
Required properties:
|
||||
- compatible: "atmel,at91sam9260-gpbr", "syscon"
|
||||
- reg: contains offset/length value of the GPBR memory
|
||||
region.
|
||||
|
||||
Example:
|
||||
|
||||
gpbr: gpbr@fffffd50 {
|
||||
compatible = "atmel,at91sam9260-gpbr", "syscon";
|
||||
reg = <0xfffffd50 0x10>;
|
||||
};
|
||||
39
Documentation/devicetree/bindings/mfd/bcm590xx.txt
Normal file
39
Documentation/devicetree/bindings/mfd/bcm590xx.txt
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
-------------------------------
|
||||
BCM590xx Power Management Units
|
||||
-------------------------------
|
||||
|
||||
Required properties:
|
||||
- compatible: "brcm,bcm59056"
|
||||
- reg: I2C slave address
|
||||
- interrupts: interrupt for the PMU. Generic interrupt client node bindings
|
||||
are described in interrupt-controller/interrupts.txt
|
||||
|
||||
------------------
|
||||
Voltage Regulators
|
||||
------------------
|
||||
|
||||
Optional child nodes:
|
||||
- regulators: container node for regulators following the generic
|
||||
regulator binding in regulator/regulator.txt
|
||||
|
||||
The valid regulator node names for BCM59056 are:
|
||||
rfldo, camldo1, camldo2, simldo1, simldo2, sdldo, sdxldo,
|
||||
mmcldo1, mmcldo2, audldo, micldo, usbldo, vibldo,
|
||||
csr, iosr1, iosr2, msr, sdsr1, sdsr2, vsr,
|
||||
gpldo1, gpldo2, gpldo3, gpldo4, gpldo5, gpldo6,
|
||||
vbus
|
||||
|
||||
Example:
|
||||
pmu: bcm59056@8 {
|
||||
compatible = "brcm,bcm59056";
|
||||
reg = <0x08>;
|
||||
interrupts = <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>;
|
||||
regulators {
|
||||
rfldo_reg: rfldo {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
...
|
||||
};
|
||||
};
|
||||
25
Documentation/devicetree/bindings/mfd/bfticu.txt
Normal file
25
Documentation/devicetree/bindings/mfd/bfticu.txt
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
KEYMILE bfticu Chassis Management FPGA
|
||||
|
||||
The bfticu is a multifunction device that manages the whole chassis.
|
||||
Its main functionality is to collect IRQs from the whole chassis and signals
|
||||
them to a single controller.
|
||||
|
||||
Required properties:
|
||||
- compatible: "keymile,bfticu"
|
||||
- interrupt-controller: the bfticu FPGA is an interrupt controller
|
||||
- interrupts: the main IRQ line to signal the collected IRQs
|
||||
- #interrupt-cells : is 2 and their usage is compliant to the 2 cells variant
|
||||
of Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
|
||||
- interrupt-parent: the parent IRQ ctrl the main IRQ is connected to
|
||||
- reg: access on the parent local bus (chip select, offset in chip select, size)
|
||||
|
||||
Example:
|
||||
|
||||
chassis-mgmt@3,0 {
|
||||
compatible = "keymile,bfticu";
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
reg = <3 0 0x100>;
|
||||
interrupt-parent = <&mpic>;
|
||||
interrupts = <6 1 0 0>;
|
||||
};
|
||||
65
Documentation/devicetree/bindings/mfd/cros-ec.txt
Normal file
65
Documentation/devicetree/bindings/mfd/cros-ec.txt
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
ChromeOS Embedded Controller
|
||||
|
||||
Google's ChromeOS EC is a Cortex-M device which talks to the AP and
|
||||
implements various function such as keyboard and battery charging.
|
||||
|
||||
The EC can be connect through various means (I2C, SPI, LPC) and the
|
||||
compatible string used depends on the interface. Each connection method has
|
||||
its own driver which connects to the top level interface-agnostic EC driver.
|
||||
Other Linux driver (such as cros-ec-keyb for the matrix keyboard) connect to
|
||||
the top-level driver.
|
||||
|
||||
Required properties (I2C):
|
||||
- compatible: "google,cros-ec-i2c"
|
||||
- reg: I2C slave address
|
||||
|
||||
Required properties (SPI):
|
||||
- compatible: "google,cros-ec-spi"
|
||||
- reg: SPI chip select
|
||||
|
||||
Optional properties (SPI):
|
||||
- google,cros-ec-spi-msg-delay: Some implementations of the EC require some
|
||||
additional processing time in order to accept new transactions. If the delay
|
||||
between transactions is not long enough the EC may not be able to respond
|
||||
properly to subsequent transactions and cause them to hang. This property
|
||||
specifies the delay, in usecs, introduced between transactions to account
|
||||
for the time required by the EC to get back into a state in which new data
|
||||
can be accepted.
|
||||
|
||||
Required properties (LPC):
|
||||
- compatible: "google,cros-ec-lpc"
|
||||
- reg: List of (IO address, size) pairs defining the interface uses
|
||||
|
||||
|
||||
Example for I2C:
|
||||
|
||||
i2c@12CA0000 {
|
||||
cros-ec@1e {
|
||||
reg = <0x1e>;
|
||||
compatible = "google,cros-ec-i2c";
|
||||
interrupts = <14 0>;
|
||||
interrupt-parent = <&wakeup_eint>;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
|
||||
Example for SPI:
|
||||
|
||||
spi@131b0000 {
|
||||
ec@0 {
|
||||
compatible = "google,cros-ec-spi";
|
||||
reg = <0x0>;
|
||||
interrupts = <14 0>;
|
||||
interrupt-parent = <&wakeup_eint>;
|
||||
wakeup-source;
|
||||
spi-max-frequency = <5000000>;
|
||||
controller-data {
|
||||
cs-gpio = <&gpf0 3 4 3 0>;
|
||||
samsung,spi-cs;
|
||||
samsung,spi-feedback-delay = <2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
Example for LPC is not supplied as it is not yet implemented.
|
||||
60
Documentation/devicetree/bindings/mfd/da9052-i2c.txt
Normal file
60
Documentation/devicetree/bindings/mfd/da9052-i2c.txt
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
* Dialog DA9052/53 Power Management Integrated Circuit (PMIC)
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be "dlg,da9052", "dlg,da9053-aa",
|
||||
"dlg,da9053-ab", or "dlg,da9053-bb"
|
||||
|
||||
Sub-nodes:
|
||||
- regulators : Contain the regulator nodes. The DA9052/53 regulators are
|
||||
bound using their names as listed below:
|
||||
|
||||
buck0 : regulator BUCK0
|
||||
buck1 : regulator BUCK1
|
||||
buck2 : regulator BUCK2
|
||||
buck3 : regulator BUCK3
|
||||
ldo4 : regulator LDO4
|
||||
ldo5 : regulator LDO5
|
||||
ldo6 : regulator LDO6
|
||||
ldo7 : regulator LDO7
|
||||
ldo8 : regulator LDO8
|
||||
ldo9 : regulator LDO9
|
||||
ldo10 : regulator LDO10
|
||||
ldo11 : regulator LDO11
|
||||
ldo12 : regulator LDO12
|
||||
ldo13 : regulator LDO13
|
||||
|
||||
The bindings details of individual regulator device can be found in:
|
||||
Documentation/devicetree/bindings/regulator/regulator.txt
|
||||
|
||||
Examples:
|
||||
|
||||
i2c@63fc8000 { /* I2C1 */
|
||||
status = "okay";
|
||||
|
||||
pmic: dialog@48 {
|
||||
compatible = "dlg,da9053-aa";
|
||||
reg = <0x48>;
|
||||
|
||||
regulators {
|
||||
buck0 {
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <2075000>;
|
||||
};
|
||||
|
||||
buck1 {
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <2075000>;
|
||||
};
|
||||
|
||||
buck2 {
|
||||
regulator-min-microvolt = <925000>;
|
||||
regulator-max-microvolt = <2500000>;
|
||||
};
|
||||
|
||||
buck3 {
|
||||
regulator-min-microvolt = <925000>;
|
||||
regulator-max-microvolt = <2500000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
72
Documentation/devicetree/bindings/mfd/da9055.txt
Normal file
72
Documentation/devicetree/bindings/mfd/da9055.txt
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
* Dialog DA9055 Power Management Integrated Circuit (PMIC)
|
||||
|
||||
DA9055 consists of a large and varied group of sub-devices (I2C Only):
|
||||
|
||||
Device Supply Names Description
|
||||
------ ------------ -----------
|
||||
da9055-gpio : : GPIOs
|
||||
da9055-regulator : : Regulators
|
||||
da9055-onkey : : On key
|
||||
da9055-rtc : : RTC
|
||||
da9055-hwmon : : ADC
|
||||
da9055-watchdog : : Watchdog
|
||||
|
||||
The CODEC device in DA9055 has a separate, configurable I2C address and so
|
||||
is instantiated separately from the PMIC.
|
||||
|
||||
For details on accompanying CODEC I2C device, see the following:
|
||||
Documentation/devicetree/bindings/sound/da9055.txt
|
||||
|
||||
======
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be "dlg,da9055-pmic"
|
||||
- reg: Specifies the I2C slave address (defaults to 0x5a but can be modified)
|
||||
- interrupt-parent: Specifies the phandle of the interrupt controller to which
|
||||
the IRQs from da9055 are delivered to.
|
||||
- interrupts: IRQ line info for da9055 chip.
|
||||
- interrupt-controller: da9055 has internal IRQs (has own IRQ domain).
|
||||
- #interrupt-cells: Should be 1, is the local IRQ number for da9055.
|
||||
|
||||
Sub-nodes:
|
||||
- regulators : Contain the regulator nodes. The DA9055 regulators are
|
||||
bound using their names as listed below:
|
||||
|
||||
buck1 : regulator BUCK1
|
||||
buck2 : regulator BUCK2
|
||||
ldo1 : regulator LDO1
|
||||
ldo2 : regulator LDO2
|
||||
ldo3 : regulator LDO3
|
||||
ldo4 : regulator LDO4
|
||||
ldo5 : regulator LDO5
|
||||
ldo6 : regulator LDO6
|
||||
|
||||
The bindings details of individual regulator device can be found in:
|
||||
Documentation/devicetree/bindings/regulator/regulator.txt
|
||||
|
||||
|
||||
Example:
|
||||
|
||||
pmic: da9055-pmic@5a {
|
||||
compatible = "dlg,da9055-pmic";
|
||||
reg = <0x5a>;
|
||||
interrupt-parent = <&intc>;
|
||||
interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
|
||||
regulators {
|
||||
buck1: BUCK1 {
|
||||
regulator-min-microvolt = <725000>;
|
||||
regulator-max-microvolt = <2075000>;
|
||||
};
|
||||
buck2: BUCK2 {
|
||||
regulator-min-microvolt = <925000>;
|
||||
regulator-max-microvolt = <2500000>;
|
||||
};
|
||||
ldo1: LDO1 {
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
38
Documentation/devicetree/bindings/mfd/hi6421.txt
Normal file
38
Documentation/devicetree/bindings/mfd/hi6421.txt
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
* HI6421 Multi-Functional Device (MFD), by HiSilicon Ltd.
|
||||
|
||||
Required parent device properties:
|
||||
- compatible : contains "hisilicon,hi6421-pmic";
|
||||
- reg : register range space of hi6421;
|
||||
|
||||
Supported Hi6421 sub-devices include:
|
||||
|
||||
Device IRQ Names Supply Names Description
|
||||
------ --------- ------------ -----------
|
||||
regulators : None : None : Regulators
|
||||
|
||||
Required child device properties:
|
||||
None.
|
||||
|
||||
Example:
|
||||
hi6421 {
|
||||
compatible = "hisilicon,hi6421-pmic";
|
||||
reg = <0xfcc00000 0x0180>; /* 0x60 << 2 */
|
||||
|
||||
regulators {
|
||||
// supply for MLC NAND/ eMMC
|
||||
hi6421_vout0_reg: hi6421_vout0 {
|
||||
regulator-name = "VOUT0";
|
||||
regulator-min-microvolt = <2850000>;
|
||||
regulator-max-microvolt = <2850000>;
|
||||
};
|
||||
|
||||
// supply for 26M Oscillator
|
||||
hi6421_vout1_reg: hi6421_vout1 {
|
||||
regulator-name = "VOUT1";
|
||||
regulator-min-microvolt = <1700000>;
|
||||
regulator-max-microvolt = <2000000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
33
Documentation/devicetree/bindings/mfd/lp3943.txt
Normal file
33
Documentation/devicetree/bindings/mfd/lp3943.txt
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
TI/National Semiconductor LP3943 MFD driver
|
||||
|
||||
Required properties:
|
||||
- compatible: "ti,lp3943"
|
||||
- reg: I2C slave address. From 0x60 to 0x67.
|
||||
|
||||
LP3943 consists of two sub-devices, lp3943-gpio and lp3943-pwm.
|
||||
|
||||
For the LP3943 GPIO properties please refer to:
|
||||
Documentation/devicetree/bindings/gpio/gpio-lp3943.txt
|
||||
|
||||
For the LP3943 PWM properties please refer to:
|
||||
Documentation/devicetree/bindings/pwm/pwm-lp3943.txt
|
||||
|
||||
Example:
|
||||
|
||||
lp3943@60 {
|
||||
compatible = "ti,lp3943";
|
||||
reg = <0x60>;
|
||||
|
||||
gpioex: gpio {
|
||||
compatible = "ti,lp3943-gpio";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
|
||||
pwm3943: pwm {
|
||||
compatible = "ti,lp3943-pwm";
|
||||
#pwm-cells = <2>;
|
||||
ti,pwm0 = <8 9 10>;
|
||||
ti,pwm1 = <15>;
|
||||
};
|
||||
};
|
||||
146
Documentation/devicetree/bindings/mfd/max14577.txt
Normal file
146
Documentation/devicetree/bindings/mfd/max14577.txt
Normal file
|
|
@ -0,0 +1,146 @@
|
|||
Maxim MAX14577/77836 Multi-Function Device
|
||||
|
||||
MAX14577 is a Multi-Function Device with Micro-USB Interface Circuit, Li+
|
||||
Battery Charger and SFOUT LDO output for powering USB devices. It is
|
||||
interfaced to host controller using I2C.
|
||||
|
||||
MAX77836 additionally contains PMIC (with two LDO regulators) and Fuel Gauge.
|
||||
|
||||
|
||||
Required properties:
|
||||
- compatible : Must be "maxim,max14577" or "maxim,max77836".
|
||||
- reg : I2C slave address for the max14577 chip (0x25 for max14577/max77836)
|
||||
- interrupts : IRQ line for the chip.
|
||||
- interrupt-parent : The parent interrupt controller.
|
||||
|
||||
|
||||
Required nodes:
|
||||
- charger :
|
||||
Node for configuring the charger driver.
|
||||
Required properties:
|
||||
- compatible : "maxim,max14577-charger"
|
||||
or "maxim,max77836-charger"
|
||||
- maxim,fast-charge-uamp : Current in uA for Fast Charge;
|
||||
Valid values:
|
||||
- for max14577: 90000 - 950000;
|
||||
- for max77836: 45000 - 475000;
|
||||
- maxim,eoc-uamp : Current in uA for End-Of-Charge mode;
|
||||
Valid values:
|
||||
- for max14577: 50000 - 200000;
|
||||
- for max77836: 5000 - 100000;
|
||||
- maxim,ovp-uvolt : OverVoltage Protection Threshold in uV;
|
||||
In an overvoltage condition, INT asserts and charging
|
||||
stops. Valid values:
|
||||
- 6000000, 6500000, 7000000, 7500000;
|
||||
- maxim,constant-uvolt : Battery Constant Voltage in uV;
|
||||
Valid values:
|
||||
- 4000000 - 4280000 (step by 20000);
|
||||
- 4350000;
|
||||
|
||||
|
||||
Optional nodes:
|
||||
- max14577-muic/max77836-muic :
|
||||
Node used only by extcon consumers.
|
||||
Required properties:
|
||||
- compatible : "maxim,max14577-muic" or "maxim,max77836-muic"
|
||||
|
||||
- regulators :
|
||||
Required properties:
|
||||
- compatible : "maxim,max14577-regulator"
|
||||
or "maxim,max77836-regulator"
|
||||
|
||||
May contain a sub-node per regulator from the list below. Each
|
||||
sub-node should contain the constraints and initialization information
|
||||
for that regulator. See regulator.txt for a description of standard
|
||||
properties for these sub-nodes.
|
||||
|
||||
List of valid regulator names:
|
||||
- for max14577: CHARGER, SAFEOUT.
|
||||
- for max77836: CHARGER, SAFEOUT, LDO1, LDO2.
|
||||
|
||||
The SAFEOUT is a fixed voltage regulator so there is no need to specify
|
||||
voltages for it.
|
||||
|
||||
|
||||
Example:
|
||||
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
max14577@25 {
|
||||
compatible = "maxim,max14577";
|
||||
reg = <0x25>;
|
||||
interrupt-parent = <&gpx1>;
|
||||
interrupts = <5 IRQ_TYPE_NONE>;
|
||||
|
||||
muic: max14577-muic {
|
||||
compatible = "maxim,max14577-muic";
|
||||
};
|
||||
|
||||
regulators {
|
||||
compatible = "maxim,max14577-regulator";
|
||||
|
||||
SAFEOUT {
|
||||
regulator-name = "SAFEOUT";
|
||||
};
|
||||
CHARGER {
|
||||
regulator-name = "CHARGER";
|
||||
regulator-min-microamp = <90000>;
|
||||
regulator-max-microamp = <950000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
|
||||
charger {
|
||||
compatible = "maxim,max14577-charger";
|
||||
|
||||
maxim,constant-uvolt = <4350000>;
|
||||
maxim,fast-charge-uamp = <450000>;
|
||||
maxim,eoc-uamp = <50000>;
|
||||
maxim,ovp-uvolt = <6500000>;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
max77836@25 {
|
||||
compatible = "maxim,max77836";
|
||||
reg = <0x25>;
|
||||
interrupt-parent = <&gpx1>;
|
||||
interrupts = <5 IRQ_TYPE_NONE>;
|
||||
|
||||
muic: max77836-muic {
|
||||
compatible = "maxim,max77836-muic";
|
||||
};
|
||||
|
||||
regulators {
|
||||
compatible = "maxim,max77836-regulator";
|
||||
|
||||
SAFEOUT {
|
||||
regulator-name = "SAFEOUT";
|
||||
};
|
||||
CHARGER {
|
||||
regulator-name = "CHARGER";
|
||||
regulator-min-microamp = <90000>;
|
||||
regulator-max-microamp = <950000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
LDO1 {
|
||||
regulator-name = "LDO1";
|
||||
regulator-min-microvolt = <2700000>;
|
||||
regulator-max-microvolt = <2700000>;
|
||||
};
|
||||
LDO2 {
|
||||
regulator-name = "LDO2";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <3950000>;
|
||||
};
|
||||
};
|
||||
|
||||
charger {
|
||||
compatible = "maxim,max77836-charger";
|
||||
|
||||
maxim,constant-uvolt = <4350000>;
|
||||
maxim,fast-charge-uamp = <225000>;
|
||||
maxim,eoc-uamp = <7500>;
|
||||
maxim,ovp-uvolt = <6500000>;
|
||||
};
|
||||
};
|
||||
62
Documentation/devicetree/bindings/mfd/max77686.txt
Normal file
62
Documentation/devicetree/bindings/mfd/max77686.txt
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
Maxim MAX77686 multi-function device
|
||||
|
||||
MAX77686 is a Mulitifunction device with PMIC, RTC and Charger on chip. It is
|
||||
interfaced to host controller using i2c interface. PMIC and Charger submodules
|
||||
are addressed using same i2c slave address whereas RTC submodule uses
|
||||
different i2c slave address,presently for which we are statically creating i2c
|
||||
client while probing.This document describes the binding for mfd device and
|
||||
PMIC submodule.
|
||||
|
||||
Binding for the built-in 32k clock generator block is defined separately
|
||||
in bindings/clk/maxim,max77686.txt file.
|
||||
|
||||
Required properties:
|
||||
- compatible : Must be "maxim,max77686";
|
||||
- reg : Specifies the i2c slave address of PMIC block.
|
||||
- interrupts : This i2c device has an IRQ line connected to the main SoC.
|
||||
- interrupt-parent : The parent interrupt controller.
|
||||
|
||||
Optional node:
|
||||
- voltage-regulators : The regulators of max77686 have to be instantiated
|
||||
under subnode named "voltage-regulators" using the following format.
|
||||
|
||||
regulator_name {
|
||||
regulator-compatible = LDOn/BUCKn
|
||||
standard regulator constraints....
|
||||
};
|
||||
refer Documentation/devicetree/bindings/regulator/regulator.txt
|
||||
|
||||
The regulator-compatible property of regulator should initialized with string
|
||||
to get matched with their hardware counterparts as follow:
|
||||
|
||||
-LDOn : for LDOs, where n can lie in range 1 to 26.
|
||||
example: LDO1, LDO2, LDO26.
|
||||
-BUCKn : for BUCKs, where n can lie in range 1 to 9.
|
||||
example: BUCK1, BUCK5, BUCK9.
|
||||
|
||||
Example:
|
||||
|
||||
max77686@09 {
|
||||
compatible = "maxim,max77686";
|
||||
interrupt-parent = <&wakeup_eint>;
|
||||
interrupts = <26 0>;
|
||||
reg = <0x09>;
|
||||
|
||||
voltage-regulators {
|
||||
ldo11_reg {
|
||||
regulator-compatible = "LDO11";
|
||||
regulator-name = "vdd_ldo11";
|
||||
regulator-min-microvolt = <1900000>;
|
||||
regulator-max-microvolt = <1900000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
buck1_reg {
|
||||
regulator-compatible = "BUCK1";
|
||||
regulator-name = "vdd_mif";
|
||||
regulator-min-microvolt = <950000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
}
|
||||
55
Documentation/devicetree/bindings/mfd/max77693.txt
Normal file
55
Documentation/devicetree/bindings/mfd/max77693.txt
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
Maxim MAX77693 multi-function device
|
||||
|
||||
MAX77693 is a Multifunction device with the following submodules:
|
||||
- PMIC,
|
||||
- CHARGER,
|
||||
- LED,
|
||||
- MUIC,
|
||||
- HAPTIC
|
||||
|
||||
It is interfaced to host controller using i2c.
|
||||
This document describes the bindings for the mfd device.
|
||||
|
||||
Required properties:
|
||||
- compatible : Must be "maxim,max77693".
|
||||
- reg : Specifies the i2c slave address of PMIC block.
|
||||
- interrupts : This i2c device has an IRQ line connected to the main SoC.
|
||||
- interrupt-parent : The parent interrupt controller.
|
||||
|
||||
Optional properties:
|
||||
- regulators : The regulators of max77693 have to be instantiated under subnod
|
||||
named "regulators" using the following format.
|
||||
|
||||
regulators {
|
||||
regualtor-compatible = ESAFEOUT1/ESAFEOUT2/CHARGER
|
||||
standard regulator constratints[*].
|
||||
};
|
||||
|
||||
[*] refer Documentation/devicetree/bindings/regulator/regulator.txt
|
||||
|
||||
Example:
|
||||
max77693@66 {
|
||||
compatible = "maxim,max77693";
|
||||
reg = <0x66>;
|
||||
interrupt-parent = <&gpx1>;
|
||||
interrupts = <5 2>;
|
||||
|
||||
regulators {
|
||||
esafeout@1 {
|
||||
regulator-compatible = "ESAFEOUT1";
|
||||
regulator-name = "ESAFEOUT1";
|
||||
regulator-boot-on;
|
||||
};
|
||||
esafeout@2 {
|
||||
regulator-compatible = "ESAFEOUT2";
|
||||
regulator-name = "ESAFEOUT2";
|
||||
};
|
||||
charger@0 {
|
||||
regulator-compatible = "CHARGER";
|
||||
regulator-name = "CHARGER";
|
||||
regulator-min-microamp = <60000>;
|
||||
regulator-max-microamp = <2580000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
64
Documentation/devicetree/bindings/mfd/max8925.txt
Normal file
64
Documentation/devicetree/bindings/mfd/max8925.txt
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
* Maxim max8925 Power Management IC
|
||||
|
||||
Required parent device properties:
|
||||
- compatible : "maxim,max8925"
|
||||
- reg : the I2C slave address for the max8925 chip
|
||||
- interrupts : IRQ line for the max8925 chip
|
||||
- interrupt-controller: describes the max8925 as an interrupt
|
||||
controller (has its own domain)
|
||||
- #interrupt-cells : should be 1.
|
||||
- The cell is the max8925 local IRQ number
|
||||
|
||||
Optional parent device properties:
|
||||
- maxim,tsc-irq: there are 2 IRQ lines for max8925, one is indicated in
|
||||
interrupts property, the other is indicated here.
|
||||
|
||||
max8925 consists of a large and varied group of sub-devices:
|
||||
|
||||
Device Supply Names Description
|
||||
------ ------------ -----------
|
||||
max8925-onkey : : On key
|
||||
max8925-rtc : : RTC
|
||||
max8925-regulator : : Regulators
|
||||
max8925-backlight : : Backlight
|
||||
max8925-touch : : Touchscreen
|
||||
max8925-power : : Charger
|
||||
|
||||
Example:
|
||||
|
||||
pmic: max8925@3c {
|
||||
compatible = "maxim,max8925";
|
||||
reg = <0x3c>;
|
||||
interrupts = <1>;
|
||||
interrupt-parent = <&intcmux4>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
maxim,tsc-irq = <0>;
|
||||
|
||||
regulators {
|
||||
SDV1 {
|
||||
regulator-min-microvolt = <637500>;
|
||||
regulator-max-microvolt = <1425000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
LDO1 {
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <3900000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
};
|
||||
backlight {
|
||||
maxim,max8925-dual-string = <0>;
|
||||
};
|
||||
charger {
|
||||
batt-detect = <0>;
|
||||
topoff-threshold = <1>;
|
||||
fast-charge = <7>;
|
||||
no-temp-support = <0>;
|
||||
no-insert-detect = <0>;
|
||||
};
|
||||
};
|
||||
119
Documentation/devicetree/bindings/mfd/max8998.txt
Normal file
119
Documentation/devicetree/bindings/mfd/max8998.txt
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
* Maxim MAX8998, National/TI LP3974 multi-function device
|
||||
|
||||
The Maxim MAX8998 is a multi-function device which includes voltage/current
|
||||
regulators, real time clock, battery charging controller and several
|
||||
other sub-blocks. It is interfaced using an I2C interface. Each sub-block
|
||||
is addressed by the host system using different i2c slave address.
|
||||
|
||||
PMIC sub-block
|
||||
--------------
|
||||
|
||||
The PMIC sub-block contains a number of voltage and current regulators,
|
||||
with controllable parameters and dynamic voltage scaling capability.
|
||||
In addition, it includes a real time clock and battery charging controller
|
||||
as well. It is accessible at I2C address 0x66.
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be one of the following:
|
||||
- "maxim,max8998" for Maxim MAX8998
|
||||
- "national,lp3974" or "ti,lp3974" for National/TI LP3974.
|
||||
- reg: Specifies the i2c slave address of the pmic block. It should be 0x66.
|
||||
|
||||
Optional properties:
|
||||
- interrupt-parent: Specifies the phandle of the interrupt controller to which
|
||||
the interrupts from MAX8998 are routed to.
|
||||
- interrupts: Interrupt specifiers for two interrupt sources.
|
||||
- First interrupt specifier is for main interrupt.
|
||||
- Second interrupt specifier is for power-on/-off interrupt.
|
||||
- max8998,pmic-buck1-dvs-gpios: GPIO specifiers for two host gpios used
|
||||
for buck 1 dvs. The format of the gpio specifier depends on the gpio
|
||||
controller.
|
||||
- max8998,pmic-buck2-dvs-gpio: GPIO specifier for host gpio used
|
||||
for buck 2 dvs. The format of the gpio specifier depends on the gpio
|
||||
controller.
|
||||
- max8998,pmic-buck1-default-dvs-idx: Default voltage setting selected from
|
||||
the possible 4 options selectable by the dvs gpios. The value of this
|
||||
property should be 0, 1, 2 or 3. If not specified or out of range,
|
||||
a default value of 0 is taken.
|
||||
- max8998,pmic-buck2-default-dvs-idx: Default voltage setting selected from
|
||||
the possible 2 options selectable by the dvs gpios. The value of this
|
||||
property should be 0 or 1. If not specified or out of range, a default
|
||||
value of 0 is taken.
|
||||
- max8998,pmic-buck-voltage-lock: If present, disallows changing of
|
||||
preprogrammed buck dvfs voltages.
|
||||
|
||||
Additional properties required if max8998,pmic-buck1-dvs-gpios is defined:
|
||||
- max8998,pmic-buck1-dvs-voltage: An array of 4 voltage values in microvolts
|
||||
for buck1 regulator that can be selected using dvs gpio.
|
||||
|
||||
Additional properties required if max8998,pmic-buck2-dvs-gpio is defined:
|
||||
- max8998,pmic-buck2-dvs-voltage: An array of 2 voltage values in microvolts
|
||||
for buck2 regulator that can be selected using dvs gpio.
|
||||
|
||||
Regulators: All the regulators of MAX8998 to be instantiated shall be
|
||||
listed in a child node named 'regulators'. Each regulator is represented
|
||||
by a child node of the 'regulators' node.
|
||||
|
||||
regulator-name {
|
||||
/* standard regulator bindings here */
|
||||
};
|
||||
|
||||
Following regulators of the MAX8998 PMIC block are supported. Note that
|
||||
the 'n' in regulator name, as in LDOn or BUCKn, represents the LDO or BUCK
|
||||
number as described in MAX8998 datasheet.
|
||||
|
||||
- LDOn
|
||||
- valid values for n are 2 to 17
|
||||
- Example: LDO2, LDO10, LDO17
|
||||
- BUCKn
|
||||
- valid values for n are 1 to 4.
|
||||
- Example: BUCK1, BUCK2, BUCK3, BUCK4
|
||||
|
||||
- ENVICHG: Battery Charging Current Monitor Output. This is a fixed
|
||||
voltage type regulator
|
||||
|
||||
- ESAFEOUT1: (ldo19)
|
||||
- ESAFEOUT2: (ld020)
|
||||
|
||||
Standard regulator bindings are used inside regulator subnodes. Check
|
||||
Documentation/devicetree/bindings/regulator/regulator.txt
|
||||
for more details.
|
||||
|
||||
Example:
|
||||
|
||||
pmic@66 {
|
||||
compatible = "maxim,max8998-pmic";
|
||||
reg = <0x66>;
|
||||
interrupt-parent = <&wakeup_eint>;
|
||||
interrupts = <4 0>, <3 0>;
|
||||
|
||||
/* Buck 1 DVS settings */
|
||||
max8998,pmic-buck1-default-dvs-idx = <0>;
|
||||
max8998,pmic-buck1-dvs-gpios = <&gpx0 0 1 0 0>, /* SET1 */
|
||||
<&gpx0 1 1 0 0>; /* SET2 */
|
||||
max8998,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
|
||||
<1000000>, <950000>;
|
||||
|
||||
/* Buck 2 DVS settings */
|
||||
max8998,pmic-buck2-default-dvs-idx = <0>;
|
||||
max8998,pmic-buck2-dvs-gpio = <&gpx0 0 3 0 0>; /* SET3 */
|
||||
max8998,pmic-buck2-dvs-voltage = <1350000>, <1300000>;
|
||||
|
||||
/* Regulators to instantiate */
|
||||
regulators {
|
||||
ldo2_reg: LDO2 {
|
||||
regulator-name = "VDD_ALIVE_1.1V";
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
buck1_reg: BUCK1 {
|
||||
regulator-name = "VDD_ARM_1.2V";
|
||||
regulator-min-microvolt = <950000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
158
Documentation/devicetree/bindings/mfd/mc13xxx.txt
Normal file
158
Documentation/devicetree/bindings/mfd/mc13xxx.txt
Normal file
|
|
@ -0,0 +1,158 @@
|
|||
* Freescale MC13783/MC13892 Power Management Integrated Circuit (PMIC)
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be "fsl,mc13783" or "fsl,mc13892"
|
||||
|
||||
Optional properties:
|
||||
- fsl,mc13xxx-uses-adc : Indicate the ADC is being used
|
||||
- fsl,mc13xxx-uses-codec : Indicate the Audio Codec is being used
|
||||
- fsl,mc13xxx-uses-rtc : Indicate the RTC is being used
|
||||
- fsl,mc13xxx-uses-touch : Indicate the touchscreen controller is being used
|
||||
|
||||
Sub-nodes:
|
||||
- codec: Contain the Audio Codec node.
|
||||
- adc-port: Contain PMIC SSI port number used for ADC.
|
||||
- dac-port: Contain PMIC SSI port number used for DAC.
|
||||
- leds : Contain the led nodes and initial register values in property
|
||||
"led-control". Number of register depends of used IC, for MC13783 is 6,
|
||||
for MC13892 is 4, for MC34708 is 1. See datasheet for bits definitions of
|
||||
these registers.
|
||||
- #address-cells: Must be 1.
|
||||
- #size-cells: Must be 0.
|
||||
Each led node should contain "reg", which used as LED ID (described below).
|
||||
Optional properties "label" and "linux,default-trigger" is described in
|
||||
Documentation/devicetree/bindings/leds/common.txt.
|
||||
- regulators : Contain the regulator nodes. The regulators are bound using
|
||||
their names as listed below with their registers and bits for enabling.
|
||||
|
||||
MC13783 LED IDs:
|
||||
0 : Main display
|
||||
1 : AUX display
|
||||
2 : Keypad
|
||||
3 : Red 1
|
||||
4 : Green 1
|
||||
5 : Blue 1
|
||||
6 : Red 2
|
||||
7 : Green 2
|
||||
8 : Blue 2
|
||||
9 : Red 3
|
||||
10 : Green 3
|
||||
11 : Blue 3
|
||||
|
||||
MC13892 LED IDs:
|
||||
0 : Main display
|
||||
1 : AUX display
|
||||
2 : Keypad
|
||||
3 : Red
|
||||
4 : Green
|
||||
5 : Blue
|
||||
|
||||
MC34708 LED IDs:
|
||||
0 : Charger Red
|
||||
1 : Charger Green
|
||||
|
||||
MC13783 regulators:
|
||||
sw1a : regulator SW1A (register 24, bit 0)
|
||||
sw1b : regulator SW1B (register 25, bit 0)
|
||||
sw2a : regulator SW2A (register 26, bit 0)
|
||||
sw2b : regulator SW2B (register 27, bit 0)
|
||||
sw3 : regulator SW3 (register 29, bit 20)
|
||||
vaudio : regulator VAUDIO (register 32, bit 0)
|
||||
viohi : regulator VIOHI (register 32, bit 3)
|
||||
violo : regulator VIOLO (register 32, bit 6)
|
||||
vdig : regulator VDIG (register 32, bit 9)
|
||||
vgen : regulator VGEN (register 32, bit 12)
|
||||
vrfdig : regulator VRFDIG (register 32, bit 15)
|
||||
vrfref : regulator VRFREF (register 32, bit 18)
|
||||
vrfcp : regulator VRFCP (register 32, bit 21)
|
||||
vsim : regulator VSIM (register 33, bit 0)
|
||||
vesim : regulator VESIM (register 33, bit 3)
|
||||
vcam : regulator VCAM (register 33, bit 6)
|
||||
vrfbg : regulator VRFBG (register 33, bit 9)
|
||||
vvib : regulator VVIB (register 33, bit 11)
|
||||
vrf1 : regulator VRF1 (register 33, bit 12)
|
||||
vrf2 : regulator VRF2 (register 33, bit 15)
|
||||
vmmc1 : regulator VMMC1 (register 33, bit 18)
|
||||
vmmc2 : regulator VMMC2 (register 33, bit 21)
|
||||
gpo1 : regulator GPO1 (register 34, bit 6)
|
||||
gpo2 : regulator GPO2 (register 34, bit 8)
|
||||
gpo3 : regulator GPO3 (register 34, bit 10)
|
||||
gpo4 : regulator GPO4 (register 34, bit 12)
|
||||
pwgt1spi : regulator PWGT1SPI (register 34, bit 15)
|
||||
pwgt2spi : regulator PWGT2SPI (register 34, bit 16)
|
||||
|
||||
MC13892 regulators:
|
||||
vcoincell : regulator VCOINCELL (register 13, bit 23)
|
||||
sw1 : regulator SW1 (register 24, bit 0)
|
||||
sw2 : regulator SW2 (register 25, bit 0)
|
||||
sw3 : regulator SW3 (register 26, bit 0)
|
||||
sw4 : regulator SW4 (register 27, bit 0)
|
||||
swbst : regulator SWBST (register 29, bit 20)
|
||||
vgen1 : regulator VGEN1 (register 32, bit 0)
|
||||
viohi : regulator VIOHI (register 32, bit 3)
|
||||
vdig : regulator VDIG (register 32, bit 9)
|
||||
vgen2 : regulator VGEN2 (register 32, bit 12)
|
||||
vpll : regulator VPLL (register 32, bit 15)
|
||||
vusb2 : regulator VUSB2 (register 32, bit 18)
|
||||
vgen3 : regulator VGEN3 (register 33, bit 0)
|
||||
vcam : regulator VCAM (register 33, bit 6)
|
||||
vvideo : regulator VVIDEO (register 33, bit 12)
|
||||
vaudio : regulator VAUDIO (register 33, bit 15)
|
||||
vsd : regulator VSD (register 33, bit 18)
|
||||
gpo1 : regulator GPO1 (register 34, bit 6)
|
||||
gpo2 : regulator GPO2 (register 34, bit 8)
|
||||
gpo3 : regulator GPO3 (register 34, bit 10)
|
||||
gpo4 : regulator GPO4 (register 34, bit 12)
|
||||
pwgt1spi : regulator PWGT1SPI (register 34, bit 15)
|
||||
pwgt2spi : regulator PWGT2SPI (register 34, bit 16)
|
||||
vusb : regulator VUSB (register 50, bit 3)
|
||||
|
||||
The bindings details of individual regulator device can be found in:
|
||||
Documentation/devicetree/bindings/regulator/regulator.txt
|
||||
|
||||
Examples:
|
||||
|
||||
ecspi@70010000 { /* ECSPI1 */
|
||||
fsl,spi-num-chipselects = <2>;
|
||||
cs-gpios = <&gpio4 24 0>, /* GPIO4_24 */
|
||||
<&gpio4 25 0>; /* GPIO4_25 */
|
||||
status = "okay";
|
||||
|
||||
pmic: mc13892@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,mc13892";
|
||||
spi-max-frequency = <6000000>;
|
||||
reg = <0>;
|
||||
interrupt-parent = <&gpio0>;
|
||||
interrupts = <8>;
|
||||
|
||||
leds {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
led-control = <0x000 0x000 0x0e0 0x000>;
|
||||
|
||||
sysled {
|
||||
reg = <3>;
|
||||
label = "system:red:live";
|
||||
linux,default-trigger = "heartbeat";
|
||||
};
|
||||
};
|
||||
|
||||
regulators {
|
||||
sw1_reg: mc13892__sw1 {
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <1375000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
sw2_reg: mc13892__sw2 {
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1850000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
103
Documentation/devicetree/bindings/mfd/omap-usb-host.txt
Normal file
103
Documentation/devicetree/bindings/mfd/omap-usb-host.txt
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
OMAP HS USB Host
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: should be "ti,usbhs-host"
|
||||
- reg: should contain one register range i.e. start and length
|
||||
- ti,hwmods: must contain "usb_host_hs"
|
||||
|
||||
Optional properties:
|
||||
|
||||
- num-ports: number of USB ports. Usually this is automatically detected
|
||||
from the IP's revision register but can be overridden by specifying
|
||||
this property. A maximum of 3 ports are supported at the moment.
|
||||
|
||||
- portN-mode: String specifying the port mode for port N, where N can be
|
||||
from 1 to 3. If the port mode is not specified, that port is treated
|
||||
as unused. When specified, it must be one of the following.
|
||||
"ehci-phy",
|
||||
"ehci-tll",
|
||||
"ehci-hsic",
|
||||
"ohci-phy-6pin-datse0",
|
||||
"ohci-phy-6pin-dpdm",
|
||||
"ohci-phy-3pin-datse0",
|
||||
"ohci-phy-4pin-dpdm",
|
||||
"ohci-tll-6pin-datse0",
|
||||
"ohci-tll-6pin-dpdm",
|
||||
"ohci-tll-3pin-datse0",
|
||||
"ohci-tll-4pin-dpdm",
|
||||
"ohci-tll-2pin-datse0",
|
||||
"ohci-tll-2pin-dpdm",
|
||||
|
||||
- single-ulpi-bypass: Must be present if the controller contains a single
|
||||
ULPI bypass control bit. e.g. OMAP3 silicon <= ES2.1
|
||||
|
||||
- clocks: a list of phandles and clock-specifier pairs, one for each entry in
|
||||
clock-names.
|
||||
|
||||
- clock-names: should include:
|
||||
For OMAP3
|
||||
* "usbhost_120m_fck" - 120MHz Functional clock.
|
||||
|
||||
For OMAP4+
|
||||
* "refclk_60m_int" - 60MHz internal reference clock for UTMI clock mux
|
||||
* "refclk_60m_ext_p1" - 60MHz external ref. clock for Port 1's UTMI clock mux.
|
||||
* "refclk_60m_ext_p2" - 60MHz external ref. clock for Port 2's UTMI clock mux
|
||||
* "utmi_p1_gfclk" - Port 1 UTMI clock mux.
|
||||
* "utmi_p2_gfclk" - Port 2 UTMI clock mux.
|
||||
* "usb_host_hs_utmi_p1_clk" - Port 1 UTMI clock gate.
|
||||
* "usb_host_hs_utmi_p2_clk" - Port 2 UTMI clock gate.
|
||||
* "usb_host_hs_utmi_p3_clk" - Port 3 UTMI clock gate.
|
||||
* "usb_host_hs_hsic480m_p1_clk" - Port 1 480MHz HSIC clock gate.
|
||||
* "usb_host_hs_hsic480m_p2_clk" - Port 2 480MHz HSIC clock gate.
|
||||
* "usb_host_hs_hsic480m_p3_clk" - Port 3 480MHz HSIC clock gate.
|
||||
* "usb_host_hs_hsic60m_p1_clk" - Port 1 60MHz HSIC clock gate.
|
||||
* "usb_host_hs_hsic60m_p2_clk" - Port 2 60MHz HSIC clock gate.
|
||||
* "usb_host_hs_hsic60m_p3_clk" - Port 3 60MHz HSIC clock gate.
|
||||
|
||||
Required properties if child node exists:
|
||||
|
||||
- #address-cells: Must be 1
|
||||
- #size-cells: Must be 1
|
||||
- ranges: must be present
|
||||
|
||||
Properties for children:
|
||||
|
||||
The OMAP HS USB Host subsystem contains EHCI and OHCI controllers.
|
||||
See Documentation/devicetree/bindings/usb/omap-ehci.txt and
|
||||
omap3-ohci.txt
|
||||
|
||||
Example for OMAP4:
|
||||
|
||||
usbhshost: usbhshost@4a064000 {
|
||||
compatible = "ti,usbhs-host";
|
||||
reg = <0x4a064000 0x800>;
|
||||
ti,hwmods = "usb_host_hs";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
usbhsohci: ohci@4a064800 {
|
||||
compatible = "ti,ohci-omap3", "usb-ohci";
|
||||
reg = <0x4a064800 0x400>;
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 76 0x4>;
|
||||
};
|
||||
|
||||
usbhsehci: ehci@4a064c00 {
|
||||
compatible = "ti,ehci-omap", "usb-ehci";
|
||||
reg = <0x4a064c00 0x400>;
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 77 0x4>;
|
||||
};
|
||||
};
|
||||
|
||||
&usbhshost {
|
||||
port1-mode = "ehci-phy";
|
||||
port2-mode = "ehci-tll";
|
||||
port3-mode = "ehci-phy";
|
||||
};
|
||||
|
||||
&usbhsehci {
|
||||
phys = <&hsusb1_phy 0 &hsusb3_phy>;
|
||||
};
|
||||
27
Documentation/devicetree/bindings/mfd/omap-usb-tll.txt
Normal file
27
Documentation/devicetree/bindings/mfd/omap-usb-tll.txt
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
OMAP HS USB Host TLL (Transceiver-Less Interface)
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should be "ti,usbhs-tll"
|
||||
- reg : should contain one register range i.e. start and length
|
||||
- interrupts : should contain the TLL module's interrupt
|
||||
- ti,hwmod : must contain "usb_tll_hs"
|
||||
|
||||
Optional properties:
|
||||
|
||||
- clocks: a list of phandles and clock-specifier pairs, one for each entry in
|
||||
clock-names.
|
||||
|
||||
- clock-names: should include:
|
||||
* "usb_tll_hs_usb_ch0_clk" - USB TLL channel 0 clock
|
||||
* "usb_tll_hs_usb_ch1_clk" - USB TLL channel 1 clock
|
||||
* "usb_tll_hs_usb_ch2_clk" - USB TLL channel 2 clock
|
||||
|
||||
Example:
|
||||
|
||||
usbhstll: usbhstll@4a062000 {
|
||||
compatible = "ti,usbhs-tll";
|
||||
reg = <0x4a062000 0x1000>;
|
||||
interrupts = <78>;
|
||||
ti,hwmods = "usb_tll_hs";
|
||||
};
|
||||
53
Documentation/devicetree/bindings/mfd/palmas.txt
Normal file
53
Documentation/devicetree/bindings/mfd/palmas.txt
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
* palmas device tree bindings
|
||||
|
||||
The TI palmas family current members :-
|
||||
twl6035 (palmas)
|
||||
twl6037 (palmas)
|
||||
tps65913 (palmas)
|
||||
tps65914 (palmas)
|
||||
tps659038
|
||||
tps65917
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be from the list
|
||||
ti,twl6035
|
||||
ti,twl6036
|
||||
ti,twl6037
|
||||
ti,tps65913
|
||||
ti,tps65914
|
||||
ti,tps80036
|
||||
ti,tps659038
|
||||
ti,tps65917
|
||||
and also the generic series names
|
||||
ti,palmas
|
||||
- interrupt-controller : palmas has its own internal IRQs
|
||||
- #interrupt-cells : should be set to 2 for IRQ number and flags
|
||||
The first cell is the IRQ number.
|
||||
The second cell is the flags, encoded as the trigger masks from
|
||||
Documentation/devicetree/bindings/interrupts.txt
|
||||
- interrupt-parent : The parent interrupt controller.
|
||||
|
||||
Optional properties:
|
||||
ti,mux-padX : set the pad register X (1-2) to the correct muxing for the
|
||||
hardware, if not set will use muxing in OTP.
|
||||
|
||||
Example:
|
||||
|
||||
palmas {
|
||||
compatible = "ti,twl6035", "ti,palmas";
|
||||
reg = <0x48>
|
||||
interrupt-parent = <&intc>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
|
||||
ti,mux-pad1 = <0>;
|
||||
ti,mux-pad2 = <0>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pmic {
|
||||
compatible = "ti,twl6035-pmic", "ti,palmas-pmic";
|
||||
....
|
||||
};
|
||||
}
|
||||
64
Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.txt
Normal file
64
Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.txt
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
Qualcomm SPMI PMICs multi-function device bindings
|
||||
|
||||
The Qualcomm SPMI series presently includes PM8941, PM8841 and PMA8084
|
||||
PMICs. These PMICs use a QPNP scheme through SPMI interface.
|
||||
QPNP is effectively a partitioning scheme for dividing the SPMI extended
|
||||
register space up into logical pieces, and set of fixed register
|
||||
locations/definitions within these regions, with some of these regions
|
||||
specifically used for interrupt handling.
|
||||
|
||||
The QPNP PMICs are used with the Qualcomm Snapdragon series SoCs, and are
|
||||
interfaced to the chip via the SPMI (System Power Management Interface) bus.
|
||||
Support for multiple independent functions are implemented by splitting the
|
||||
16-bit SPMI slave address space into 256 smaller fixed-size regions, 256 bytes
|
||||
each. A function can consume one or more of these fixed-size register regions.
|
||||
|
||||
Required properties:
|
||||
- compatible: Should contain one of:
|
||||
"qcom,pm8941"
|
||||
"qcom,pm8841"
|
||||
"qcom,pma8084"
|
||||
or generalized "qcom,spmi-pmic".
|
||||
- reg: Specifies the SPMI USID slave address for this device.
|
||||
For more information see:
|
||||
Documentation/devicetree/bindings/spmi/spmi.txt
|
||||
|
||||
Required properties for peripheral child nodes:
|
||||
- compatible: Should contain "qcom,xxx", where "xxx" is a peripheral name.
|
||||
|
||||
Optional properties for peripheral child nodes:
|
||||
- interrupts: Interrupts are specified as a 4-tuple. For more information
|
||||
see:
|
||||
Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt
|
||||
- interrupt-names: Corresponding interrupt name to the interrupts property
|
||||
|
||||
Each child node of SPMI slave id represents a function of the PMIC. In the
|
||||
example below the rtc device node represents a peripheral of pm8941
|
||||
SID = 0. The regulator device node represents a peripheral of pm8941 SID = 1.
|
||||
|
||||
Example:
|
||||
|
||||
spmi {
|
||||
compatible = "qcom,spmi-pmic-arb";
|
||||
|
||||
pm8941@0 {
|
||||
compatible = "qcom,pm8941", "qcom,spmi-pmic";
|
||||
reg = <0x0 SPMI_USID>;
|
||||
|
||||
rtc {
|
||||
compatible = "qcom,rtc";
|
||||
interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-names = "alarm";
|
||||
};
|
||||
};
|
||||
|
||||
pm8941@1 {
|
||||
compatible = "qcom,pm8941", "qcom,spmi-pmic";
|
||||
reg = <0x1 SPMI_USID>;
|
||||
|
||||
regulator {
|
||||
compatible = "qcom,regulator";
|
||||
regulator-name = "8941_boost";
|
||||
};
|
||||
};
|
||||
};
|
||||
97
Documentation/devicetree/bindings/mfd/qcom-pm8xxx.txt
Normal file
97
Documentation/devicetree/bindings/mfd/qcom-pm8xxx.txt
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
Qualcomm PM8xxx PMIC multi-function devices
|
||||
|
||||
The PM8xxx family of Power Management ICs are used to provide regulated
|
||||
voltages and other various functionality to Qualcomm SoCs.
|
||||
|
||||
= PROPERTIES
|
||||
|
||||
- compatible:
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: must be one of:
|
||||
"qcom,pm8058"
|
||||
"qcom,pm8921"
|
||||
|
||||
- #address-cells:
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: must be 1
|
||||
|
||||
- #size-cells:
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: must be 0
|
||||
|
||||
- interrupts:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: specifies the interrupt that indicates a subdevice
|
||||
has generated an interrupt (summary interrupt). The
|
||||
format of the specifier is defined by the binding document
|
||||
describing the node's interrupt parent.
|
||||
|
||||
- #interrupt-cells:
|
||||
Usage: required
|
||||
Value type : <u32>
|
||||
Definition: must be 2. Specifies the number of cells needed to encode
|
||||
an interrupt source. The 1st cell contains the interrupt
|
||||
number. The 2nd cell is the trigger type and level flags
|
||||
encoded as follows:
|
||||
|
||||
1 = low-to-high edge triggered
|
||||
2 = high-to-low edge triggered
|
||||
4 = active high level-sensitive
|
||||
8 = active low level-sensitive
|
||||
|
||||
- interrupt-controller:
|
||||
Usage: required
|
||||
Value type: <empty>
|
||||
Definition: identifies this node as an interrupt controller
|
||||
|
||||
= SUBCOMPONENTS
|
||||
|
||||
The PMIC contains multiple independent functions, each described in a subnode.
|
||||
The below bindings specify the set of valid subnodes.
|
||||
|
||||
== Real-Time Clock
|
||||
|
||||
- compatible:
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: must be one of:
|
||||
"qcom,pm8058-rtc"
|
||||
"qcom,pm8921-rtc"
|
||||
"qcom,pm8941-rtc"
|
||||
|
||||
- reg:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: single entry specifying the base address of the RTC registers
|
||||
|
||||
- interrupts:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: single entry specifying the RTC's alarm interrupt
|
||||
|
||||
- allow-set-time:
|
||||
Usage: optional
|
||||
Value type: <empty>
|
||||
Definition: indicates that the setting of RTC time is allowed by
|
||||
the host CPU
|
||||
|
||||
= EXAMPLE
|
||||
|
||||
pmicintc: pmic@0 {
|
||||
compatible = "qcom,pm8921";
|
||||
interrupts = <104 8>;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
rtc@11d {
|
||||
compatible = "qcom,pm8921-rtc";
|
||||
reg = <0x11d>;
|
||||
interrupts = <0x27 0>;
|
||||
};
|
||||
};
|
||||
17
Documentation/devicetree/bindings/mfd/qriox.txt
Normal file
17
Documentation/devicetree/bindings/mfd/qriox.txt
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
KEYMILE qrio Board Control CPLD
|
||||
|
||||
The qrio is a multifunction device that controls the KEYMILE boards based on
|
||||
the kmp204x design.
|
||||
It is consists of a reset controller, watchdog timer, LEDs, and 2 IRQ capable
|
||||
GPIO blocks.
|
||||
|
||||
Required properties:
|
||||
- compatible: "keymile,qriox"
|
||||
- reg: access on the parent local bus (chip select, offset in chip select, size)
|
||||
|
||||
Example:
|
||||
|
||||
board-control@1,0 {
|
||||
compatible = "keymile,qriox";
|
||||
reg = <1 0 0x80>;
|
||||
};
|
||||
177
Documentation/devicetree/bindings/mfd/rk808.txt
Normal file
177
Documentation/devicetree/bindings/mfd/rk808.txt
Normal file
|
|
@ -0,0 +1,177 @@
|
|||
RK808 Power Management Integrated Circuit
|
||||
|
||||
Required properties:
|
||||
- compatible: "rockchip,rk808"
|
||||
- reg: I2C slave address
|
||||
- interrupt-parent: The parent interrupt controller.
|
||||
- interrupts: the interrupt outputs of the controller.
|
||||
- #clock-cells: from common clock binding; shall be set to 1 (multiple clock
|
||||
outputs). See <dt-bindings/clock/rockchip,rk808.h> for clock IDs.
|
||||
|
||||
Optional properties:
|
||||
- clock-output-names: From common clock binding to override the
|
||||
default output clock name
|
||||
- rockchip,system-power-controller: Telling whether or not this pmic is controlling
|
||||
the system power.
|
||||
- vcc1-supply: The input supply for DCDC_REG1
|
||||
- vcc2-supply: The input supply for DCDC_REG2
|
||||
- vcc3-supply: The input supply for DCDC_REG3
|
||||
- vcc4-supply: The input supply for DCDC_REG4
|
||||
- vcc6-supply: The input supply for LDO_REG1 and LDO_REG2
|
||||
- vcc7-supply: The input supply for LDO_REG3 and LDO_REG7
|
||||
- vcc8-supply: The input supply for SWITCH_REG1
|
||||
- vcc9-supply: The input supply for LDO_REG4 and LDO_REG5
|
||||
- vcc10-supply: The input supply for LDO_REG6
|
||||
- vcc11-supply: The input supply for LDO_REG8
|
||||
- vcc12-supply: The input supply for SWITCH_REG2
|
||||
|
||||
Regulators: All the regulators of RK808 to be instantiated shall be
|
||||
listed in a child node named 'regulators'. Each regulator is represented
|
||||
by a child node of the 'regulators' node.
|
||||
|
||||
regulator-name {
|
||||
/* standard regulator bindings here */
|
||||
};
|
||||
|
||||
Following regulators of the RK808 PMIC block are supported. Note that
|
||||
the 'n' in regulator name, as in DCDC_REGn or LDOn, represents the DCDC or LDO
|
||||
number as described in RK808 datasheet.
|
||||
|
||||
- DCDC_REGn
|
||||
- valid values for n are 1 to 4.
|
||||
- LDO_REGn
|
||||
- valid values for n are 1 to 8.
|
||||
- SWITCH_REGn
|
||||
- valid values for n are 1 to 2
|
||||
|
||||
Standard regulator bindings are used inside regulator subnodes. Check
|
||||
Documentation/devicetree/bindings/regulator/regulator.txt
|
||||
for more details
|
||||
|
||||
Example:
|
||||
rk808: pmic@1b {
|
||||
compatible = "rockchip,rk808";
|
||||
clock-output-names = "xin32k", "rk808-clkout2";
|
||||
interrupt-parent = <&gpio0>;
|
||||
interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pmic_int>;
|
||||
reg = <0x1b>;
|
||||
rockchip,system-power-controller;
|
||||
wakeup-source;
|
||||
#clock-cells = <1>;
|
||||
|
||||
vcc8-supply = <&vcc_18>;
|
||||
vcc9-supply = <&vcc_io>;
|
||||
vcc10-supply = <&vcc_io>;
|
||||
vcc12-supply = <&vcc_io>;
|
||||
vddio-supply = <&vccio_pmu>;
|
||||
|
||||
regulators {
|
||||
vdd_cpu: DCDC_REG1 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-name = "vdd_arm";
|
||||
};
|
||||
|
||||
vdd_gpu: DCDC_REG2 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <850000>;
|
||||
regulator-max-microvolt = <1250000>;
|
||||
regulator-name = "vdd_gpu";
|
||||
};
|
||||
|
||||
vcc_ddr: DCDC_REG3 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-name = "vcc_ddr";
|
||||
};
|
||||
|
||||
vcc_io: DCDC_REG4 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc_io";
|
||||
};
|
||||
|
||||
vccio_pmu: LDO_REG1 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vccio_pmu";
|
||||
};
|
||||
|
||||
vcc_tp: LDO_REG2 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc_tp";
|
||||
};
|
||||
|
||||
vdd_10: LDO_REG3 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1000000>;
|
||||
regulator-name = "vdd_10";
|
||||
};
|
||||
|
||||
vcc18_lcd: LDO_REG4 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-name = "vcc18_lcd";
|
||||
};
|
||||
|
||||
vccio_sd: LDO_REG5 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vccio_sd";
|
||||
};
|
||||
|
||||
vdd10_lcd: LDO_REG6 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1000000>;
|
||||
regulator-name = "vdd10_lcd";
|
||||
};
|
||||
|
||||
vcc_18: LDO_REG7 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-name = "vcc_18";
|
||||
};
|
||||
|
||||
vcca_codec: LDO_REG8 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcca_codec";
|
||||
};
|
||||
|
||||
vcc_wl: SWITCH_REG1 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-name = "vcc_wl";
|
||||
};
|
||||
|
||||
vcc_lcd: SWITCH_REG2 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-name = "vcc_lcd";
|
||||
};
|
||||
};
|
||||
};
|
||||
36
Documentation/devicetree/bindings/mfd/rn5t618.txt
Normal file
36
Documentation/devicetree/bindings/mfd/rn5t618.txt
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
* Ricoh RN5T618 PMIC
|
||||
|
||||
Ricoh RN5T618 is a power management IC which integrates 3 step-down
|
||||
DCDC converters, 7 low-dropout regulators, a Li-ion battery charger,
|
||||
fuel gauge, ADC, GPIOs and a watchdog timer. It can be controlled
|
||||
through a I2C interface.
|
||||
|
||||
Required properties:
|
||||
- compatible: should be "ricoh,rn5t618"
|
||||
- reg: the I2C slave address of the device
|
||||
|
||||
Sub-nodes:
|
||||
- regulators: the node is required if the regulator functionality is
|
||||
needed. The valid regulator names are: DCDC1, DCDC2, DCDC3, LDO1,
|
||||
LDO2, LDO3, LDO4, LDO5, LDORTC1 and LDORTC2.
|
||||
The common bindings for each individual regulator can be found in:
|
||||
Documentation/devicetree/bindings/regulator/regulator.txt
|
||||
|
||||
Example:
|
||||
|
||||
pmic@32 {
|
||||
compatible = "ricoh,rn5t618";
|
||||
reg = <0x32>;
|
||||
|
||||
regulators {
|
||||
DCDC1 {
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
DCDC2 {
|
||||
regulator-min-microvolt = <1175000>;
|
||||
regulator-max-microvolt = <1175000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
90
Documentation/devicetree/bindings/mfd/s2mpa01.txt
Normal file
90
Documentation/devicetree/bindings/mfd/s2mpa01.txt
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
|
||||
* Samsung S2MPA01 Voltage and Current Regulator
|
||||
|
||||
The Samsung S2MPA01 is a multi-function device which includes high
|
||||
efficiency buck converters including Dual-Phase buck converter, various LDOs,
|
||||
and an RTC. It is interfaced to the host controller using an I2C interface.
|
||||
Each sub-block is addressed by the host system using different I2C slave
|
||||
addresses.
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be "samsung,s2mpa01-pmic".
|
||||
- reg: Specifies the I2C slave address of the PMIC block. It should be 0x66.
|
||||
|
||||
Optional properties:
|
||||
- interrupt-parent: Specifies the phandle of the interrupt controller to which
|
||||
the interrupts from s2mpa01 are delivered to.
|
||||
- interrupts: An interrupt specifier for the sole interrupt generated by the
|
||||
device.
|
||||
|
||||
Optional nodes:
|
||||
- regulators: The regulators of s2mpa01 that have to be instantiated should be
|
||||
included in a sub-node named 'regulators'. Regulator nodes and constraints
|
||||
included in this sub-node use the standard regulator bindings which are
|
||||
documented elsewhere.
|
||||
|
||||
Properties for BUCK regulator nodes:
|
||||
- regulator-ramp-delay: ramp delay in uV/us. May be 6250, 12500
|
||||
(default), 25000, or 50000. May be 0 for disabling the ramp delay on
|
||||
BUCK{1,2,3,4}.
|
||||
|
||||
In the absence of the regulator-ramp-delay property, the default ramp
|
||||
delay will be used.
|
||||
|
||||
NOTE: Some BUCKs share the ramp rate setting i.e. same ramp value will be set
|
||||
for a particular group of BUCKs. So provide same regulator-ramp-delay=<value>.
|
||||
|
||||
The following BUCKs share ramp settings:
|
||||
* 1 and 6
|
||||
* 2 and 4
|
||||
* 8, 9, and 10
|
||||
|
||||
The following are the names of the regulators that the s2mpa01 PMIC block
|
||||
supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number
|
||||
as per the datasheet of s2mpa01.
|
||||
|
||||
- LDOn
|
||||
- valid values for n are 1 to 26
|
||||
- Example: LDO1, LD02, LDO26
|
||||
- BUCKn
|
||||
- valid values for n are 1 to 10.
|
||||
- Example: BUCK1, BUCK2, BUCK9
|
||||
|
||||
Example:
|
||||
|
||||
s2mpa01_pmic@66 {
|
||||
compatible = "samsung,s2mpa01-pmic";
|
||||
reg = <0x66>;
|
||||
|
||||
regulators {
|
||||
ldo1_reg: LDO1 {
|
||||
regulator-name = "VDD_ALIVE";
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1000000>;
|
||||
};
|
||||
|
||||
ldo2_reg: LDO2 {
|
||||
regulator-name = "VDDQ_MMC2";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
buck1_reg: BUCK1 {
|
||||
regulator-name = "vdd_mif";
|
||||
regulator-min-microvolt = <950000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
buck2_reg: BUCK2 {
|
||||
regulator-name = "vdd_arm";
|
||||
regulator-min-microvolt = <950000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-ramp-delay = <50000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
137
Documentation/devicetree/bindings/mfd/s2mps11.txt
Normal file
137
Documentation/devicetree/bindings/mfd/s2mps11.txt
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
|
||||
* Samsung S2MPS11, S2MPS14 and S2MPU02 Voltage and Current Regulator
|
||||
|
||||
The Samsung S2MPS11 is a multi-function device which includes voltage and
|
||||
current regulators, RTC, charger controller and other sub-blocks. It is
|
||||
interfaced to the host controller using an I2C interface. Each sub-block is
|
||||
addressed by the host system using different I2C slave addresses.
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be "samsung,s2mps11-pmic" or "samsung,s2mps14-pmic"
|
||||
or "samsung,s2mpu02-pmic".
|
||||
- reg: Specifies the I2C slave address of the pmic block. It should be 0x66.
|
||||
|
||||
Optional properties:
|
||||
- interrupt-parent: Specifies the phandle of the interrupt controller to which
|
||||
the interrupts from s2mps11 are delivered to.
|
||||
- interrupts: Interrupt specifiers for interrupt sources.
|
||||
|
||||
Optional nodes:
|
||||
- clocks: s2mps11 and s5m8767 provide three(AP/CP/BT) buffered 32.768 KHz
|
||||
outputs, so to register these as clocks with common clock framework
|
||||
instantiate a sub-node named "clocks". It uses the common clock binding
|
||||
documented in :
|
||||
[Documentation/devicetree/bindings/clock/clock-bindings.txt]
|
||||
The s2mps14 provides two (AP/BT) buffered 32.768 KHz outputs.
|
||||
- #clock-cells: should be 1.
|
||||
|
||||
- The following is the list of clocks generated by the controller. Each clock
|
||||
is assigned an identifier and client nodes use this identifier to specify
|
||||
the clock which they consume.
|
||||
Clock ID Devices
|
||||
----------------------------------------------------------
|
||||
32KhzAP 0 S2MPS11, S2MPS14, S5M8767
|
||||
32KhzCP 1 S2MPS11, S5M8767
|
||||
32KhzBT 2 S2MPS11, S2MPS14, S5M8767
|
||||
|
||||
- compatible: Should be one of: "samsung,s2mps11-clk", "samsung,s2mps14-clk",
|
||||
"samsung,s5m8767-clk"
|
||||
|
||||
- regulators: The regulators of s2mps11 that have to be instantiated should be
|
||||
included in a sub-node named 'regulators'. Regulator nodes included in this
|
||||
sub-node should be of the format as listed below.
|
||||
|
||||
regulator_name {
|
||||
[standard regulator constraints....];
|
||||
};
|
||||
|
||||
regulator-ramp-delay for BUCKs = [6250/12500/25000(default)/50000] uV/us
|
||||
|
||||
BUCK[2/3/4/6] supports disabling ramp delay on hardware, so explicitly
|
||||
regulator-ramp-delay = <0> can be used for them to disable ramp delay.
|
||||
In the absence of the regulator-ramp-delay property, the default ramp
|
||||
delay will be used.
|
||||
|
||||
NOTE: Some BUCKs share the ramp rate setting i.e. same ramp value will be set
|
||||
for a particular group of BUCKs. So provide same regulator-ramp-delay<value>.
|
||||
Grouping of BUCKs sharing ramp rate setting is as follow : BUCK[1, 6],
|
||||
BUCK[3, 4], and BUCK[7, 8, 10]
|
||||
|
||||
On S2MPS14 the LDO10, LDO11 and LDO12 can be configured to external control
|
||||
over GPIO. To turn this feature on this property must be added to the regulator
|
||||
sub-node:
|
||||
- samsung,ext-control-gpios: GPIO specifier for one GPIO
|
||||
controlling this regulator (enable/disable);
|
||||
Example:
|
||||
LDO12 {
|
||||
regulator-name = "V_EMMC_2.8V";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
samsung,ext-control-gpios = <&gpk0 2 0>;
|
||||
};
|
||||
|
||||
|
||||
The regulator constraints inside the regulator nodes use the standard regulator
|
||||
bindings which are documented elsewhere.
|
||||
|
||||
The following are the names of the regulators that the s2mps11 pmic block
|
||||
supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number
|
||||
as per the datasheet of s2mps11.
|
||||
|
||||
- LDOn
|
||||
- valid values for n are:
|
||||
- S2MPS11: 1 to 38
|
||||
- S2MPS14: 1 to 25
|
||||
- S2MPU02: 1 to 28
|
||||
- Example: LDO1, LDO2, LDO28
|
||||
- BUCKn
|
||||
- valid values for n are:
|
||||
- S2MPS11: 1 to 10
|
||||
- S2MPS14: 1 to 5
|
||||
- S2MPU02: 1 to 7
|
||||
- Example: BUCK1, BUCK2, BUCK9
|
||||
|
||||
Example:
|
||||
|
||||
s2mps11_pmic@66 {
|
||||
compatible = "samsung,s2mps11-pmic";
|
||||
reg = <0x66>;
|
||||
|
||||
s2m_osc: clocks {
|
||||
compatible = "samsung,s2mps11-clk";
|
||||
#clock-cells = <1>;
|
||||
clock-output-names = "xx", "yy", "zz";
|
||||
};
|
||||
|
||||
regulators {
|
||||
ldo1_reg: LDO1 {
|
||||
regulator-name = "VDD_ABB_3.3V";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
ldo2_reg: LDO2 {
|
||||
regulator-name = "VDD_ALIVE_1.1V";
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
buck1_reg: BUCK1 {
|
||||
regulator-name = "vdd_mif";
|
||||
regulator-min-microvolt = <950000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
buck2_reg: BUCK2 {
|
||||
regulator-name = "vdd_arm";
|
||||
regulator-min-microvolt = <950000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-ramp-delay = <50000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
29
Documentation/devicetree/bindings/mfd/stmpe.txt
Normal file
29
Documentation/devicetree/bindings/mfd/stmpe.txt
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
* ST Microelectronics STMPE Multi-Functional Device
|
||||
|
||||
STMPE is an MFD device which may expose the following inbuilt devices: gpio,
|
||||
keypad, touchscreen, adc, pwm, rotator.
|
||||
|
||||
Required properties:
|
||||
- compatible : "st,stmpe[610|801|811|1601|2401|2403]"
|
||||
- reg : I2C/SPI address of the device
|
||||
|
||||
Optional properties:
|
||||
- interrupts : The interrupt outputs from the controller
|
||||
- interrupt-controller : Marks the device node as an interrupt controller
|
||||
- interrupt-parent : Specifies which IRQ controller we're connected to
|
||||
- wakeup-source : Marks the input device as wakable
|
||||
- st,autosleep-timeout : Valid entries (ms); 4, 16, 32, 64, 128, 256, 512 and 1024
|
||||
- irq-gpio : If present, which GPIO to use for event IRQ
|
||||
|
||||
Example:
|
||||
|
||||
stmpe1601: stmpe1601@40 {
|
||||
compatible = "st,stmpe1601";
|
||||
reg = <0x40>;
|
||||
interrupts = <26 0x4>;
|
||||
interrupt-parent = <&gpio6>;
|
||||
interrupt-controller;
|
||||
|
||||
wakeup-source;
|
||||
st,autosleep-timeout = <1024>;
|
||||
};
|
||||
59
Documentation/devicetree/bindings/mfd/sun6i-prcm.txt
Normal file
59
Documentation/devicetree/bindings/mfd/sun6i-prcm.txt
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
* Allwinner PRCM (Power/Reset/Clock Management) Multi-Functional Device
|
||||
|
||||
PRCM is an MFD device exposing several Power Management related devices
|
||||
(like clks and reset controllers).
|
||||
|
||||
Required properties:
|
||||
- compatible: "allwinner,sun6i-a31-prcm" or "allwinner,sun8i-a23-prcm"
|
||||
- reg: The PRCM registers range
|
||||
|
||||
The prcm node may contain several subdevices definitions:
|
||||
- see Documentation/devicetree/clk/sunxi.txt for clock devices
|
||||
- see Documentation/devicetree/reset/allwinner,sunxi-clock-reset.txt for reset
|
||||
controller devices
|
||||
|
||||
|
||||
Example:
|
||||
|
||||
prcm: prcm@01f01400 {
|
||||
compatible = "allwinner,sun6i-a31-prcm";
|
||||
reg = <0x01f01400 0x200>;
|
||||
|
||||
/* Put subdevices here */
|
||||
ar100: ar100_clk {
|
||||
compatible = "allwinner,sun6i-a31-ar100-clk";
|
||||
#clock-cells = <0>;
|
||||
clocks = <&osc32k>, <&osc24M>, <&pll6>, <&pll6>;
|
||||
};
|
||||
|
||||
ahb0: ahb0_clk {
|
||||
compatible = "fixed-factor-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-div = <1>;
|
||||
clock-mult = <1>;
|
||||
clocks = <&ar100_div>;
|
||||
clock-output-names = "ahb0";
|
||||
};
|
||||
|
||||
apb0: apb0_clk {
|
||||
compatible = "allwinner,sun6i-a31-apb0-clk";
|
||||
#clock-cells = <0>;
|
||||
clocks = <&ahb0>;
|
||||
clock-output-names = "apb0";
|
||||
};
|
||||
|
||||
apb0_gates: apb0_gates_clk {
|
||||
compatible = "allwinner,sun6i-a31-apb0-gates-clk";
|
||||
#clock-cells = <1>;
|
||||
clocks = <&apb0>;
|
||||
clock-output-names = "apb0_pio", "apb0_ir",
|
||||
"apb0_timer01", "apb0_p2wi",
|
||||
"apb0_uart", "apb0_1wire",
|
||||
"apb0_i2c";
|
||||
};
|
||||
|
||||
apb0_rst: apb0_rst {
|
||||
compatible = "allwinner,sun6i-a31-clock-reset";
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
};
|
||||
20
Documentation/devicetree/bindings/mfd/syscon.txt
Normal file
20
Documentation/devicetree/bindings/mfd/syscon.txt
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
* System Controller Registers R/W driver
|
||||
|
||||
System controller node represents a register region containing a set
|
||||
of miscellaneous registers. The registers are not cohesive enough to
|
||||
represent as any specific type of device. The typical use-case is for
|
||||
some other node's driver, or platform-specific code, to acquire a
|
||||
reference to the syscon node (e.g. by phandle, node path, or search
|
||||
using a specific compatible value), interrogate the node (or associated
|
||||
OS driver) to determine the location of the registers, and access the
|
||||
registers directly.
|
||||
|
||||
Required properties:
|
||||
- compatible: Should contain "syscon".
|
||||
- reg: the register region can be accessed from syscon
|
||||
|
||||
Examples:
|
||||
gpr: iomuxc-gpr@020e0000 {
|
||||
compatible = "fsl,imx6q-iomuxc-gpr", "syscon";
|
||||
reg = <0x020e0000 0x38>;
|
||||
};
|
||||
107
Documentation/devicetree/bindings/mfd/tc3589x.txt
Normal file
107
Documentation/devicetree/bindings/mfd/tc3589x.txt
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
* Toshiba TC3589x multi-purpose expander
|
||||
|
||||
The Toshiba TC3589x series are I2C-based MFD devices which may expose the
|
||||
following built-in devices: gpio, keypad, rotator (vibrator), PWM (for
|
||||
e.g. LEDs or vibrators) The included models are:
|
||||
|
||||
- TC35890
|
||||
- TC35892
|
||||
- TC35893
|
||||
- TC35894
|
||||
- TC35895
|
||||
- TC35896
|
||||
|
||||
Required properties:
|
||||
- compatible : must be "toshiba,tc35890", "toshiba,tc35892", "toshiba,tc35893",
|
||||
"toshiba,tc35894", "toshiba,tc35895" or "toshiba,tc35896"
|
||||
- reg : I2C address of the device
|
||||
- interrupt-parent : specifies which IRQ controller we're connected to
|
||||
- interrupts : the interrupt on the parent the controller is connected to
|
||||
- interrupt-controller : marks the device node as an interrupt controller
|
||||
- #interrupt-cells : should be <1>, the first cell is the IRQ offset on this
|
||||
TC3589x interrupt controller.
|
||||
|
||||
Optional nodes:
|
||||
|
||||
- GPIO
|
||||
This GPIO module inside the TC3589x has 24 (TC35890, TC35892) or 20
|
||||
(other models) GPIO lines.
|
||||
- compatible : must be "toshiba,tc3589x-gpio"
|
||||
- interrupts : interrupt on the parent, which must be the tc3589x MFD device
|
||||
- interrupt-controller : marks the device node as an interrupt controller
|
||||
- #interrupt-cells : should be <2>, the first cell is the IRQ offset on this
|
||||
TC3589x GPIO interrupt controller, the second cell is the interrupt flags
|
||||
in accordance with <dt-bindings/interrupt-controller/irq.h>. The following
|
||||
flags are valid:
|
||||
- IRQ_TYPE_LEVEL_LOW
|
||||
- IRQ_TYPE_LEVEL_HIGH
|
||||
- IRQ_TYPE_EDGE_RISING
|
||||
- IRQ_TYPE_EDGE_FALLING
|
||||
- IRQ_TYPE_EDGE_BOTH
|
||||
- gpio-controller : marks the device node as a GPIO controller
|
||||
- #gpio-cells : should be <2>, the first cell is the GPIO offset on this
|
||||
GPIO controller, the second cell is the flags.
|
||||
|
||||
- Keypad
|
||||
This keypad is the same on all variants, supporting up to 96 different
|
||||
keys. The linux-specific properties are modeled on those already existing
|
||||
in other input drivers.
|
||||
- compatible : must be "toshiba,tc3589x-keypad"
|
||||
- debounce-delay-ms : debounce interval in milliseconds
|
||||
- keypad,num-rows : number of rows in the matrix, see
|
||||
bindings/input/matrix-keymap.txt
|
||||
- keypad,num-columns : number of columns in the matrix, see
|
||||
bindings/input/matrix-keymap.txt
|
||||
- linux,keymap: the definition can be found in
|
||||
bindings/input/matrix-keymap.txt
|
||||
- linux,no-autorepeat: do no enable autorepeat feature.
|
||||
- linux,wakeup: use any event on keypad as wakeup event.
|
||||
|
||||
Example:
|
||||
|
||||
tc35893@44 {
|
||||
compatible = "toshiba,tc35893";
|
||||
reg = <0x44>;
|
||||
interrupt-parent = <&gpio6>;
|
||||
interrupts = <26 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
|
||||
tc3589x_gpio {
|
||||
compatible = "toshiba,tc3589x-gpio";
|
||||
interrupts = <0>;
|
||||
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
tc3589x_keypad {
|
||||
compatible = "toshiba,tc3589x-keypad";
|
||||
interrupts = <6>;
|
||||
debounce-delay-ms = <4>;
|
||||
keypad,num-columns = <8>;
|
||||
keypad,num-rows = <8>;
|
||||
linux,no-autorepeat;
|
||||
linux,wakeup;
|
||||
linux,keymap = <0x0301006b
|
||||
0x04010066
|
||||
0x06040072
|
||||
0x040200d7
|
||||
0x0303006a
|
||||
0x0205000e
|
||||
0x0607008b
|
||||
0x0500001c
|
||||
0x0403000b
|
||||
0x03040034
|
||||
0x05020067
|
||||
0x0305006c
|
||||
0x040500e7
|
||||
0x0005009e
|
||||
0x06020073
|
||||
0x01030039
|
||||
0x07060069
|
||||
0x050500d9>;
|
||||
};
|
||||
};
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
* Device tree bindings for Texas Instruments keystone device state control
|
||||
|
||||
The Keystone II devices have a set of registers that are used to control
|
||||
the status of its peripherals. This node is intended to allow access to
|
||||
this functionality.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: "ti,keystone-devctrl", "syscon"
|
||||
|
||||
- reg: contains offset/length value for device state control
|
||||
registers space.
|
||||
|
||||
Example:
|
||||
|
||||
devctrl: device-state-control@0x02620000 {
|
||||
compatible = "ti,keystone-devctrl", "syscon";
|
||||
reg = <0x02620000 0x1000>;
|
||||
};
|
||||
91
Documentation/devicetree/bindings/mfd/tps6507x.txt
Executable file
91
Documentation/devicetree/bindings/mfd/tps6507x.txt
Executable file
|
|
@ -0,0 +1,91 @@
|
|||
TPS6507x Power Management Integrated Circuit
|
||||
|
||||
Required properties:
|
||||
- compatible: "ti,tps6507x"
|
||||
- reg: I2C slave address
|
||||
- regulators: This is the list of child nodes that specify the regulator
|
||||
initialization data for defined regulators. Not all regulators for the
|
||||
given device need to be present. The definition for each of these nodes
|
||||
is defined using the standard binding for regulators found at
|
||||
Documentation/devicetree/bindings/regulator/regulator.txt.
|
||||
The regulator is matched with the regulator-compatible.
|
||||
|
||||
The valid regulator-compatible values are:
|
||||
tps6507x: vdcdc1, vdcdc2, vdcdc3, vldo1, vldo2
|
||||
- xxx-supply: Input voltage supply regulator.
|
||||
These entries are required if regulators are enabled for a device.
|
||||
Missing of these properties can cause the regulator registration
|
||||
fails.
|
||||
If some of input supply is powered through battery or always-on
|
||||
supply then also it is require to have these parameters with proper
|
||||
node handle of always on power supply.
|
||||
tps6507x:
|
||||
vindcdc1_2-supply: VDCDC1 and VDCDC2 input.
|
||||
vindcdc3-supply : VDCDC3 input.
|
||||
vldo1_2-supply : VLDO1 and VLDO2 input.
|
||||
|
||||
Regulator Optional properties:
|
||||
- defdcdc_default: It's property of DCDC2 and DCDC3 regulators.
|
||||
0: If defdcdc pin of DCDC2/DCDC3 is pulled to GND.
|
||||
1: If defdcdc pin of DCDC2/DCDC3 is driven HIGH.
|
||||
If this property is not defined, it defaults to 0 (not enabled).
|
||||
|
||||
Example:
|
||||
|
||||
pmu: tps6507x@48 {
|
||||
compatible = "ti,tps6507x";
|
||||
reg = <0x48>;
|
||||
|
||||
vindcdc1_2-supply = <&vbat>;
|
||||
vindcdc3-supply = <...>;
|
||||
vinldo1_2-supply = <...>;
|
||||
|
||||
regulators {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
vdcdc1_reg: regulator@0 {
|
||||
regulator-compatible = "VDCDC1";
|
||||
reg = <0>;
|
||||
regulator-min-microvolt = <3150000>;
|
||||
regulator-max-microvolt = <3450000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
vdcdc2_reg: regulator@1 {
|
||||
regulator-compatible = "VDCDC2";
|
||||
reg = <1>;
|
||||
regulator-min-microvolt = <1710000>;
|
||||
regulator-max-microvolt = <3450000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
defdcdc_default = <1>;
|
||||
};
|
||||
vdcdc3_reg: regulator@2 {
|
||||
regulator-compatible = "VDCDC3";
|
||||
reg = <2>;
|
||||
regulator-min-microvolt = <950000>
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
defdcdc_default = <1>;
|
||||
};
|
||||
ldo1_reg: regulator@3 {
|
||||
regulator-compatible = "LDO1";
|
||||
reg = <3>;
|
||||
regulator-min-microvolt = <1710000>;
|
||||
regulator-max-microvolt = <1890000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
ldo2_reg: regulator@4 {
|
||||
regulator-compatible = "LDO2";
|
||||
reg = <4>;
|
||||
regulator-min-microvolt = <1140000>;
|
||||
regulator-max-microvolt = <1320000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
201
Documentation/devicetree/bindings/mfd/tps65910.txt
Normal file
201
Documentation/devicetree/bindings/mfd/tps65910.txt
Normal file
|
|
@ -0,0 +1,201 @@
|
|||
TPS65910 Power Management Integrated Circuit
|
||||
|
||||
Required properties:
|
||||
- compatible: "ti,tps65910" or "ti,tps65911"
|
||||
- reg: I2C slave address
|
||||
- interrupts: the interrupt outputs of the controller
|
||||
- #gpio-cells: number of cells to describe a GPIO, this should be 2.
|
||||
The first cell is the GPIO number.
|
||||
The second cell is used to specify additional options <unused>.
|
||||
- gpio-controller: mark the device as a GPIO controller
|
||||
- #interrupt-cells: the number of cells to describe an IRQ, this should be 2.
|
||||
The first cell is the IRQ number.
|
||||
The second cell is the flags, encoded as the trigger masks from
|
||||
Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
|
||||
- regulators: This is the list of child nodes that specify the regulator
|
||||
initialization data for defined regulators. Not all regulators for the given
|
||||
device need to be present. The definition for each of these nodes is defined
|
||||
using the standard binding for regulators found at
|
||||
Documentation/devicetree/bindings/regulator/regulator.txt.
|
||||
The regulator is matched with the regulator-compatible.
|
||||
|
||||
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,
|
||||
ldo6, ldo7, ldo8
|
||||
|
||||
- xxx-supply: Input voltage supply regulator.
|
||||
These entries are require if regulators are enabled for a device. Missing of these
|
||||
properties can cause the regulator registration fails.
|
||||
If some of input supply is powered through battery or always-on supply then
|
||||
also it is require to have these parameters with proper node handle of always
|
||||
on power supply.
|
||||
tps65910:
|
||||
vcc1-supply: VDD1 input.
|
||||
vcc2-supply: VDD2 input.
|
||||
vcc3-supply: VAUX33 and VMMC input.
|
||||
vcc4-supply: VAUX1 and VAUX2 input.
|
||||
vcc5-supply: VPLL and VDAC input.
|
||||
vcc6-supply: VDIG1 and VDIG2 input.
|
||||
vcc7-supply: VRTC and VBB input.
|
||||
vccio-supply: VIO input.
|
||||
tps65911:
|
||||
vcc1-supply: VDD1 input.
|
||||
vcc2-supply: VDD2 input.
|
||||
vcc3-supply: LDO6, LDO7 and LDO8 input.
|
||||
vcc4-supply: LDO5 input.
|
||||
vcc5-supply: LDO3 and LDO4 input.
|
||||
vcc6-supply: LDO1 and LDO2 input.
|
||||
vcc7-supply: VRTC input.
|
||||
vccio-supply: VIO input.
|
||||
|
||||
Optional properties:
|
||||
- ti,vmbch-threshold: (tps65911) main battery charged threshold
|
||||
comparator. (see VMBCH_VSEL in TPS65910 datasheet)
|
||||
- ti,vmbch2-threshold: (tps65911) main battery discharged threshold
|
||||
comparator. (see VMBCH_VSEL in TPS65910 datasheet)
|
||||
- ti,en-ck32k-xtal: enable external 32-kHz crystal oscillator (see CK32K_CTRL
|
||||
in TPS6591X datasheet)
|
||||
- ti,en-gpio-sleep: enable sleep control for gpios
|
||||
There should be 9 entries here, one for each gpio.
|
||||
- ti,system-power-controller: Telling whether or not this pmic is controlling
|
||||
the system power.
|
||||
|
||||
Regulator Optional properties:
|
||||
- ti,regulator-ext-sleep-control: enable external sleep
|
||||
control through external inputs [0 (not enabled), 1 (EN1), 2 (EN2) or 4(EN3)]
|
||||
If this property is not defined, it defaults to 0 (not enabled).
|
||||
|
||||
Example:
|
||||
|
||||
pmu: tps65910@d2 {
|
||||
compatible = "ti,tps65910";
|
||||
reg = <0xd2>;
|
||||
interrupt-parent = <&intc>;
|
||||
interrupts = < 0 118 0x04 >;
|
||||
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
|
||||
ti,system-power-controller;
|
||||
|
||||
ti,vmbch-threshold = 0;
|
||||
ti,vmbch2-threshold = 0;
|
||||
ti,en-ck32k-xtal;
|
||||
ti,en-gpio-sleep = <0 0 1 0 0 0 0 0 0>;
|
||||
|
||||
vcc1-supply = <®_parent>;
|
||||
vcc2-supply = <&some_reg>;
|
||||
vcc3-supply = <...>;
|
||||
vcc4-supply = <...>;
|
||||
vcc5-supply = <...>;
|
||||
vcc6-supply = <...>;
|
||||
vcc7-supply = <...>;
|
||||
vccio-supply = <...>;
|
||||
|
||||
regulators {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
vdd1_reg: regulator@0 {
|
||||
regulator-compatible = "vdd1";
|
||||
reg = <0>;
|
||||
regulator-min-microvolt = < 600000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
ti,regulator-ext-sleep-control = <0>;
|
||||
};
|
||||
vdd2_reg: regulator@1 {
|
||||
regulator-compatible = "vdd2";
|
||||
reg = <1>;
|
||||
regulator-min-microvolt = < 600000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
ti,regulator-ext-sleep-control = <4>;
|
||||
};
|
||||
vddctrl_reg: regulator@2 {
|
||||
regulator-compatible = "vddctrl";
|
||||
reg = <2>;
|
||||
regulator-min-microvolt = < 600000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
ti,regulator-ext-sleep-control = <0>;
|
||||
};
|
||||
vio_reg: regulator@3 {
|
||||
regulator-compatible = "vio";
|
||||
reg = <3>;
|
||||
regulator-min-microvolt = <1500000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
ti,regulator-ext-sleep-control = <1>;
|
||||
};
|
||||
ldo1_reg: regulator@4 {
|
||||
regulator-compatible = "ldo1";
|
||||
reg = <4>;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
ti,regulator-ext-sleep-control = <0>;
|
||||
};
|
||||
ldo2_reg: regulator@5 {
|
||||
regulator-compatible = "ldo2";
|
||||
reg = <5>;
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
ti,regulator-ext-sleep-control = <0>;
|
||||
};
|
||||
ldo3_reg: regulator@6 {
|
||||
regulator-compatible = "ldo3";
|
||||
reg = <6>;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
ti,regulator-ext-sleep-control = <0>;
|
||||
};
|
||||
ldo4_reg: regulator@7 {
|
||||
regulator-compatible = "ldo4";
|
||||
reg = <7>;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
ti,regulator-ext-sleep-control = <0>;
|
||||
};
|
||||
ldo5_reg: regulator@8 {
|
||||
regulator-compatible = "ldo5";
|
||||
reg = <8>;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
ti,regulator-ext-sleep-control = <0>;
|
||||
};
|
||||
ldo6_reg: regulator@9 {
|
||||
regulator-compatible = "ldo6";
|
||||
reg = <9>;
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
ti,regulator-ext-sleep-control = <0>;
|
||||
};
|
||||
ldo7_reg: regulator@10 {
|
||||
regulator-compatible = "ldo7";
|
||||
reg = <10>;
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
ti,regulator-ext-sleep-control = <1>;
|
||||
};
|
||||
ldo8_reg: regulator@11 {
|
||||
regulator-compatible = "ldo8";
|
||||
reg = <11>;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
ti,regulator-ext-sleep-control = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
47
Documentation/devicetree/bindings/mfd/twl-familly.txt
Normal file
47
Documentation/devicetree/bindings/mfd/twl-familly.txt
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
Texas Instruments TWL family
|
||||
|
||||
The TWLs are Integrated Power Management Chips.
|
||||
Some version might contain much more analog function like
|
||||
USB transceiver or Audio amplifier.
|
||||
These chips are connected to an i2c bus.
|
||||
|
||||
|
||||
Required properties:
|
||||
- compatible : Must be "ti,twl4030";
|
||||
For Integrated power-management/audio CODEC device used in OMAP3
|
||||
based boards
|
||||
- compatible : Must be "ti,twl6030";
|
||||
For Integrated power-management used in OMAP4 based boards
|
||||
- interrupts : This i2c device has an IRQ line connected to the main SoC
|
||||
- interrupt-controller : Since the twl support several interrupts internally,
|
||||
it is considered as an interrupt controller cascaded to the SoC one.
|
||||
- #interrupt-cells = <1>;
|
||||
- interrupt-parent : The parent interrupt controller.
|
||||
|
||||
Optional node:
|
||||
- Child nodes contain in the twl. The twl family is made of several variants
|
||||
that support a different number of features.
|
||||
The children nodes will thus depend of the capability of the variant.
|
||||
|
||||
|
||||
Example:
|
||||
/*
|
||||
* Integrated Power Management Chip
|
||||
* http://www.ti.com/lit/ds/symlink/twl6030.pdf
|
||||
*/
|
||||
twl@48 {
|
||||
compatible = "ti,twl6030";
|
||||
reg = <0x48>;
|
||||
interrupts = <39>; /* IRQ_SYS_1N cascaded to gic */
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-parent = <&gic>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
twl_rtc {
|
||||
compatible = "ti,twl_rtc";
|
||||
interrupts = <11>;
|
||||
reg = <0>;
|
||||
};
|
||||
};
|
||||
46
Documentation/devicetree/bindings/mfd/twl4030-audio.txt
Normal file
46
Documentation/devicetree/bindings/mfd/twl4030-audio.txt
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
Texas Instruments TWL family (twl4030) audio module
|
||||
|
||||
The audio module inside the TWL family consist of an audio codec and a vibra
|
||||
driver.
|
||||
|
||||
Required properties:
|
||||
- compatible : must be "ti,twl4030-audio"
|
||||
|
||||
Optional properties, nodes:
|
||||
|
||||
Audio functionality:
|
||||
- codec { }: Need to be present if the audio functionality is used. Within this
|
||||
section the following options can be used:
|
||||
- ti,digimic_delay: Delay need after enabling the digimic to reduce artifacts
|
||||
from the start of the recorded sample (in ms)
|
||||
-ti,ramp_delay_value: HS ramp delay configuration to reduce pop noise
|
||||
-ti,hs_extmute: Use external mute for HS pop reduction
|
||||
-ti,hs_extmute_gpio: Use external GPIO to control the external mute
|
||||
-ti,offset_cncl_path: Offset cancellation path selection, refer to TRM for the
|
||||
valid values.
|
||||
|
||||
Vibra functionality
|
||||
- ti,enable-vibra: Need to be set to <1> if the vibra functionality is used. if
|
||||
missing or it is 0, the vibra functionality is disabled.
|
||||
|
||||
Example:
|
||||
&i2c1 {
|
||||
clock-frequency = <2600000>;
|
||||
|
||||
twl: twl@48 {
|
||||
reg = <0x48>;
|
||||
interrupts = <7>; /* SYS_NIRQ cascaded to intc */
|
||||
interrupt-parent = <&intc>;
|
||||
|
||||
twl_audio: audio {
|
||||
compatible = "ti,twl4030-audio";
|
||||
|
||||
ti,enable-vibra = <1>;
|
||||
|
||||
codec {
|
||||
ti,ramp_delay_value = <3>;
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
48
Documentation/devicetree/bindings/mfd/twl4030-power.txt
Normal file
48
Documentation/devicetree/bindings/mfd/twl4030-power.txt
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
Texas Instruments TWL family (twl4030) reset and power management module
|
||||
|
||||
The power management module inside the TWL family provides several facilities
|
||||
to control the power resources, including power scripts. For now, the
|
||||
binding only supports the complete shutdown of the system after poweroff.
|
||||
|
||||
Required properties:
|
||||
- compatible : must be one of the following
|
||||
"ti,twl4030-power"
|
||||
"ti,twl4030-power-reset"
|
||||
"ti,twl4030-power-idle"
|
||||
"ti,twl4030-power-idle-osc-off"
|
||||
|
||||
The use of ti,twl4030-power-reset is recommended at least on
|
||||
3530 that needs a special configuration for warm reset to work.
|
||||
|
||||
When using ti,twl4030-power-idle, the TI recommended configuration
|
||||
for idle modes is loaded to the tlw4030 PMIC.
|
||||
|
||||
When using ti,twl4030-power-idle-osc-off, the TI recommended
|
||||
configuration is used with the external oscillator being shut
|
||||
down during off-idle. Note that this does not work on all boards
|
||||
depending on how the external oscillator is wired.
|
||||
|
||||
Optional properties:
|
||||
|
||||
- ti,system-power-controller: This indicates that TWL4030 is the
|
||||
power supply master of the system. With this flag, the chip will
|
||||
initiate an ACTIVE-to-OFF or SLEEP-to-OFF transition when the
|
||||
system poweroffs.
|
||||
|
||||
- ti,use_poweroff: Deprecated name for ti,system-power-controller
|
||||
|
||||
Example:
|
||||
&i2c1 {
|
||||
clock-frequency = <2600000>;
|
||||
|
||||
twl: twl@48 {
|
||||
reg = <0x48>;
|
||||
interrupts = <7>; /* SYS_NIRQ cascaded to intc */
|
||||
interrupt-parent = <&intc>;
|
||||
|
||||
twl_power: power {
|
||||
compatible = "ti,twl4030-power";
|
||||
ti,use_poweroff;
|
||||
};
|
||||
};
|
||||
};
|
||||
67
Documentation/devicetree/bindings/mfd/twl6040.txt
Normal file
67
Documentation/devicetree/bindings/mfd/twl6040.txt
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
Texas Instruments TWL6040 family
|
||||
|
||||
The TWL6040s are 8-channel high quality low-power audio codecs providing audio,
|
||||
vibra and GPO functionality on OMAP4+ platforms.
|
||||
They are connected ot the host processor via i2c for commands, McPDM for audio
|
||||
data and commands.
|
||||
|
||||
Required properties:
|
||||
- compatible : "ti,twl6040" for twl6040, "ti,twl6041" for twl6041
|
||||
- reg: must be 0x4b for i2c address
|
||||
- interrupts: twl6040 has one interrupt line connecteded to the main SoC
|
||||
- interrupt-parent: The parent interrupt controller
|
||||
- gpio-controller:
|
||||
- #gpio-cells = <1>: twl6040 provides GPO lines.
|
||||
- twl6040,audpwron-gpio: Power on GPIO line for the twl6040
|
||||
|
||||
- vio-supply: Regulator for the twl6040 VIO supply
|
||||
- v2v1-supply: Regulator for the twl6040 V2V1 supply
|
||||
|
||||
Optional properties, nodes:
|
||||
- enable-active-high: To power on the twl6040 during boot.
|
||||
- clocks: phandle to the clk32k clock provider
|
||||
- clock-names: Must be "clk32k"
|
||||
|
||||
Vibra functionality
|
||||
Required properties:
|
||||
- vddvibl-supply: Regulator for the left vibra motor
|
||||
- vddvibr-supply: Regulator for the right vibra motor
|
||||
- vibra { }: Configuration section for vibra parameters containing the following
|
||||
properties:
|
||||
- ti,vibldrv-res: Resistance parameter for left driver
|
||||
- ti,vibrdrv-res: Resistance parameter for right driver
|
||||
- ti,viblmotor-res: Resistance parameter for left motor
|
||||
- ti,viblmotor-res: Resistance parameter for right motor
|
||||
|
||||
Optional properties within vibra { } section:
|
||||
- vddvibl_uV: If the vddvibl default voltage need to be changed
|
||||
- vddvibr_uV: If the vddvibr default voltage need to be changed
|
||||
|
||||
Example:
|
||||
&i2c1 {
|
||||
twl6040: twl@4b {
|
||||
compatible = "ti,twl6040";
|
||||
|
||||
interrupts = <0 119 4>;
|
||||
interrupt-parent = <&gic>;
|
||||
twl6040,audpwron-gpio = <&gpio4 31 0>;
|
||||
|
||||
vio-supply = <&v1v8>;
|
||||
v2v1-supply = <&v2v1>;
|
||||
enable-active-high;
|
||||
|
||||
/* regulators for vibra motor */
|
||||
vddvibl-supply = <&vbat>;
|
||||
vddvibr-supply = <&vbat>;
|
||||
|
||||
vibra {
|
||||
/* Vibra driver, motor resistance parameters */
|
||||
ti,vibldrv-res = <8>;
|
||||
ti,vibrdrv-res = <3>;
|
||||
ti,viblmotor-res = <10>;
|
||||
ti,vibrmotor-res = <10>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/include/ "twl6040.dtsi"
|
||||
Loading…
Add table
Add a link
Reference in a new issue