Merge "dt-bindings: iio: qcom,spmi-vadc: Add PMIC5 GEN3 ADC bindings"
This commit is contained in:
committed by
Gerrit - the friendly Code Review server
commit
8cf370c356
@@ -25,6 +25,7 @@ properties:
|
||||
- enum:
|
||||
- qcom,spmi-vadc
|
||||
- qcom,spmi-adc5
|
||||
- qcom,spmi-adc5-gen3
|
||||
- qcom,spmi-adc5-lite
|
||||
- qcom,spmi-adc-rev2
|
||||
- qcom,spmi-adc7
|
||||
@@ -39,6 +40,14 @@ properties:
|
||||
- For compatible property "qcom,spmi-adc7-sw-calib", two registers are required.
|
||||
First register is the VADC peripheral base address and the second is the
|
||||
ADC common peripheral base addess.
|
||||
- For compatible property "qcom,spmi-adc5-gen3", each reg corresponds
|
||||
to the SDAM peripheral base address that is being used.
|
||||
|
||||
qcom,debug-base:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
Debug ADC peripheral base address in the SPMI PMIC register map. Defined for
|
||||
compatible "qcom,spmi-adc5-gen3".
|
||||
|
||||
'#address-cells':
|
||||
const: 1
|
||||
@@ -49,10 +58,25 @@ properties:
|
||||
'#io-channel-cells':
|
||||
const: 1
|
||||
|
||||
'#thermal-sensor-cells':
|
||||
const: 1
|
||||
description: |
|
||||
For compatible property "qcom,spmi-adc5-gen3", property is required for ADC_TM device.
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
description:
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
description: |
|
||||
End of conversion interrupt.
|
||||
- For compatible property "qcom,spmi-adc5-gen3", interrupts are defined
|
||||
for each SDAM being used.
|
||||
|
||||
interrupt-names:
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
description: |
|
||||
For compatible property "qcom,spmi-adc5-gen3", names should be defined
|
||||
as "adc-sdam<N>" where <N> represents the SDAM index.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
@@ -168,10 +192,31 @@ patternProperties:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
The index of the VADC scale function used to convert raw ADC code to
|
||||
physical scaled unites for the channel. Defined for compatibles
|
||||
"qcom,spmi-adc5" and "qcom,spmi-adc7".
|
||||
physical scaled units for the channel. Defined for compatibles
|
||||
"qcom,spmi-adc5", "qcom,spmi-adc7" and "qcom,spmi-adc5-gen3".
|
||||
See include/dt-bindings/iio/qcom,spmi-vadc.h for values.
|
||||
|
||||
qcom,adc-tm-type:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
Type of ADC_TM usage defined for a given channel. Defined for compatible
|
||||
"qcom,spmi-adc5-gen3".
|
||||
0 - not used for ADC_TM
|
||||
1 - connected to thermistor; supports temperature threshold violation detection
|
||||
and temperature reading
|
||||
2 - connected to thermistor; supports temperature reading
|
||||
3 - not connected to thermistor; supports non-thermal threshold violation detection
|
||||
enum: [ 0, 1, 2, 3]
|
||||
default: 0
|
||||
|
||||
qcom,rscale-type:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
Type of reverse scaling function used for the ADC_TM channels. Defined for
|
||||
compatible "qcom,spmi-adc5-gen3" and valid only for the case of
|
||||
non-thermal ADC_TM client.
|
||||
const: 0
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
@@ -186,6 +231,9 @@ allOf:
|
||||
properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
qcom,debug-base: false
|
||||
patternProperties:
|
||||
"^channel@[0-9a-f]+$":
|
||||
properties:
|
||||
@@ -203,6 +251,8 @@ allOf:
|
||||
default: 1
|
||||
|
||||
qcom,no-cal: false
|
||||
qcom,adc-tm-type: false
|
||||
qcom,rscale-type: false
|
||||
|
||||
- if:
|
||||
properties:
|
||||
@@ -214,6 +264,9 @@ allOf:
|
||||
properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
qcom,debug-base: false
|
||||
patternProperties:
|
||||
"^channel@[0-9a-f]+$":
|
||||
properties:
|
||||
@@ -231,6 +284,8 @@ allOf:
|
||||
default: 1
|
||||
|
||||
qcom,no-cal: false
|
||||
qcom,adc-tm-type: false
|
||||
qcom,rscale-type: false
|
||||
|
||||
- if:
|
||||
properties:
|
||||
@@ -242,6 +297,9 @@ allOf:
|
||||
properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
qcom,debug-base: false
|
||||
patternProperties:
|
||||
"^channel@[0-9a-f]+$":
|
||||
properties:
|
||||
@@ -259,6 +317,45 @@ allOf:
|
||||
default: 1
|
||||
|
||||
qcom,no-cal: false
|
||||
qcom,adc-tm-type: false
|
||||
qcom,rscale-type: false
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: qcom,spmi-adc5-gen3
|
||||
|
||||
then:
|
||||
properties:
|
||||
reg:
|
||||
minItems: 2
|
||||
interrupts:
|
||||
minItems: 2
|
||||
interrupt-names:
|
||||
items:
|
||||
- const: adc-sdam0
|
||||
- const: adc-sdam1
|
||||
required:
|
||||
- interrupts
|
||||
- interrupt-names
|
||||
patternProperties:
|
||||
"^channel@[0-9a-f]+$":
|
||||
properties:
|
||||
qcom,decimation:
|
||||
enum: [ 85, 340, 1360 ]
|
||||
default: 1360
|
||||
|
||||
qcom,hw-settle-time:
|
||||
enum: [ 15, 100, 200, 300, 400, 500, 600, 700, 1000, 2000, 4000,
|
||||
8000, 16000, 32000, 64000, 128000 ]
|
||||
default: 15
|
||||
|
||||
qcom,avg-samples:
|
||||
enum: [ 1, 2, 4, 8, 16 ]
|
||||
default: 1
|
||||
|
||||
qcom,no-cal: false
|
||||
|
||||
- if:
|
||||
properties:
|
||||
@@ -270,6 +367,9 @@ allOf:
|
||||
properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
qcom,debug-base: false
|
||||
patternProperties:
|
||||
"^channel@[0-9a-f]+$":
|
||||
properties:
|
||||
@@ -287,6 +387,8 @@ allOf:
|
||||
default: 1
|
||||
|
||||
qcom,no-cal: false
|
||||
qcom,adc-tm-type: false
|
||||
qcom,rscale-type: false
|
||||
|
||||
- if:
|
||||
properties:
|
||||
@@ -298,6 +400,9 @@ allOf:
|
||||
properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
qcom,debug-base: false
|
||||
patternProperties:
|
||||
"^channel@[0-9a-f]+$":
|
||||
properties:
|
||||
@@ -315,6 +420,8 @@ allOf:
|
||||
default: 1
|
||||
|
||||
qcom,no-cal: false
|
||||
qcom,adc-tm-type: false
|
||||
qcom,rscale-type: false
|
||||
|
||||
- if:
|
||||
properties:
|
||||
@@ -326,6 +433,9 @@ allOf:
|
||||
properties:
|
||||
reg:
|
||||
minItems: 2
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
qcom,debug-base: false
|
||||
patternProperties:
|
||||
"^channel@[0-9a-f]+$":
|
||||
properties:
|
||||
@@ -342,6 +452,9 @@ allOf:
|
||||
enum: [ 1, 2, 4, 8, 16 ]
|
||||
default: 1
|
||||
|
||||
qcom,adc-tm-type: false
|
||||
qcom,rscale-type: false
|
||||
|
||||
not:
|
||||
required:
|
||||
- qcom,no-cal
|
||||
@@ -422,3 +535,39 @@ examples:
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
- |
|
||||
#include <dt-bindings/iio/qcom,spmi-adc5-gen3-pmk8550.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
spmi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
vadc@9000 {
|
||||
compatible = "qcom,spmi-adc5-gen3";
|
||||
reg = <0x9000>, <0x9100>;
|
||||
qcom,debug-base = <0x7600>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#io-channel-cells = <1>;
|
||||
#thermal-sensor-cells = <1>;
|
||||
interrupt-names = "adc-sdam0", "adc-sdam1";
|
||||
interrupts = <0x0 0x90 0x1 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x0 0x91 0x1 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
channel@0 {
|
||||
reg = <PMK8550_ADC5_GEN3_OFFSET_REF>;
|
||||
label = "pmk8550_offset_ref";
|
||||
qcom,pre-scaling = <1 1>;
|
||||
};
|
||||
|
||||
channel@4 {
|
||||
reg = <PMK8550_ADC5_GEN3_AMUX_THM1_XO_THERM_100K_PU>;
|
||||
label = "pmk8550_xo_therm";
|
||||
qcom,ratiometric;
|
||||
qcom,hw-settle-time = <200>;
|
||||
qcom,pre-scaling = <1 1>;
|
||||
qcom,adc-tm-type = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
Reference in New Issue
Block a user