mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-29 07:04:10 +08:00
iio: adc: add STMPE ADC devicetree bindings
This adds the devicetree bindings for the STMPE ADC. This also corrects a typo in st,sample-time it is rather "6 -> 124 clocks" according to the datasheet and not 144. We need to use the naming stmpe_adc in devicetree because this is given by the mfd device. Signed-off-by: Stefan Agner <stefan@agner.ch> Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
This commit is contained in:
parent
9f3d084965
commit
81cdab7981
21
Documentation/devicetree/bindings/iio/adc/stmpe-adc.txt
Normal file
21
Documentation/devicetree/bindings/iio/adc/stmpe-adc.txt
Normal file
@ -0,0 +1,21 @@
|
||||
STMPE ADC driver
|
||||
----------------
|
||||
|
||||
Required properties:
|
||||
- compatible: "st,stmpe-adc"
|
||||
|
||||
Optional properties:
|
||||
Note that the ADC is shared with the STMPE touchscreen. ADC related settings
|
||||
have to be done in the mfd.
|
||||
- st,norequest-mask: bitmask specifying which ADC channels should _not_ be
|
||||
requestable due to different usage (e.g. touch)
|
||||
|
||||
Node name must be stmpe_adc and should be child node of stmpe node to
|
||||
which it belongs.
|
||||
|
||||
Example:
|
||||
|
||||
stmpe_adc {
|
||||
compatible = "st,stmpe-adc";
|
||||
st,norequest-mask = <0x0F>; /* dont use ADC CH3-0 */
|
||||
};
|
@ -5,24 +5,6 @@ Required properties:
|
||||
- compatible: "st,stmpe-ts"
|
||||
|
||||
Optional properties:
|
||||
- st,sample-time : ADC conversion time in number of clock.
|
||||
0 -> 36 clocks
|
||||
1 -> 44 clocks
|
||||
2 -> 56 clocks
|
||||
3 -> 64 clocks
|
||||
4 -> 80 clocks (recommended)
|
||||
5 -> 96 clocks
|
||||
6 -> 144 clocks
|
||||
- st,mod-12b : ADC Bit mode
|
||||
0 -> 10bit ADC
|
||||
1 -> 12bit ADC
|
||||
- st,ref-sel : ADC reference source
|
||||
0 -> internal
|
||||
1 -> external
|
||||
- st,adc-freq : ADC Clock speed
|
||||
0 -> 1.625 MHz
|
||||
1 -> 3.25 MHz
|
||||
2 || 3 -> 6.5 MHz
|
||||
- st,ave-ctrl : Sample average control
|
||||
0 -> 1 sample
|
||||
1 -> 2 samples
|
||||
@ -52,20 +34,76 @@ Optional properties:
|
||||
0 -> 20 mA (typical 35mA max)
|
||||
1 -> 50 mA (typical 80 mA max)
|
||||
|
||||
Optional properties common with MFD (deprecated):
|
||||
- st,sample-time : ADC conversion time in number of clock.
|
||||
0 -> 36 clocks
|
||||
1 -> 44 clocks
|
||||
2 -> 56 clocks
|
||||
3 -> 64 clocks
|
||||
4 -> 80 clocks (recommended)
|
||||
5 -> 96 clocks
|
||||
6 -> 124 clocks
|
||||
- st,mod-12b : ADC Bit mode
|
||||
0 -> 10bit ADC
|
||||
1 -> 12bit ADC
|
||||
- st,ref-sel : ADC reference source
|
||||
0 -> internal
|
||||
1 -> external
|
||||
- st,adc-freq : ADC Clock speed
|
||||
0 -> 1.625 MHz
|
||||
1 -> 3.25 MHz
|
||||
2 || 3 -> 6.5 MHz
|
||||
|
||||
Node name must be stmpe_touchscreen and should be child node of stmpe node to
|
||||
which it belongs.
|
||||
|
||||
Note that common ADC settings of stmpe_touchscreen (child) will take precedence
|
||||
over the settings done in MFD.
|
||||
|
||||
Example:
|
||||
|
||||
stmpe811@41 {
|
||||
compatible = "st,stmpe811";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_touch_int>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x41>;
|
||||
interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupt-parent = <&gpio4>;
|
||||
interrupt-controller;
|
||||
id = <0>;
|
||||
blocks = <0x5>;
|
||||
irq-trigger = <0x1>;
|
||||
/* Common ADC settings */
|
||||
/* 3.25 MHz ADC clock speed */
|
||||
st,adc-freq = <1>;
|
||||
/* 12-bit ADC */
|
||||
st,mod-12b = <1>;
|
||||
/* internal ADC reference */
|
||||
st,ref-sel = <0>;
|
||||
/* ADC converstion time: 80 clocks */
|
||||
st,sample-time = <4>;
|
||||
|
||||
stmpe_touchscreen {
|
||||
compatible = "st,stmpe-ts";
|
||||
st,sample-time = <4>;
|
||||
st,mod-12b = <1>;
|
||||
st,ref-sel = <0>;
|
||||
st,adc-freq = <1>;
|
||||
st,ave-ctrl = <1>;
|
||||
st,touch-det-delay = <2>;
|
||||
st,settling = <2>;
|
||||
reg = <0>;
|
||||
/* 8 sample average control */
|
||||
st,ave-ctrl = <3>;
|
||||
/* 5 ms touch detect interrupt delay */
|
||||
st,touch-det-delay = <5>;
|
||||
/* 1 ms panel driver settling time */
|
||||
st,settling = <3>;
|
||||
/* 7 length fractional part in z */
|
||||
st,fraction-z = <7>;
|
||||
/*
|
||||
* 50 mA typical 80 mA max touchscreen drivers
|
||||
* current limit value
|
||||
*/
|
||||
st,i-drive = <1>;
|
||||
};
|
||||
stmpe_adc {
|
||||
compatible = "st,stmpe-adc";
|
||||
st,norequest-mask = <0x0F>;
|
||||
};
|
||||
};
|
||||
|
@ -14,6 +14,20 @@ Optional properties:
|
||||
- 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
|
||||
|
||||
Optional properties for devices with touch and ADC (STMPE811|STMPE610):
|
||||
- st,sample-time : ADC conversion time in number of clock.
|
||||
0 -> 36 clocks 4 -> 80 clocks (recommended)
|
||||
1 -> 44 clocks 5 -> 96 clocks
|
||||
2 -> 56 clocks 6 -> 124 clocks
|
||||
3 -> 64 clocks
|
||||
- st,mod-12b : ADC Bit mode
|
||||
0 -> 10bit ADC 1 -> 12bit ADC
|
||||
- st,ref-sel : ADC reference source
|
||||
0 -> internal 1 -> external
|
||||
- st,adc-freq : ADC Clock speed
|
||||
0 -> 1.625 MHz 2 || 3 -> 6.5 MHz
|
||||
1 -> 3.25 MHz
|
||||
|
||||
Example:
|
||||
|
||||
stmpe1601: stmpe1601@40 {
|
||||
|
Loading…
Reference in New Issue
Block a user