xref: /linux/Documentation/devicetree/bindings/iio/adc/sprd,sc2720-adc.yaml (revision 7ae9fb1b7ecbb5d85d07857943f677fd1a559b18)
197218c6dSJonathan Cameron# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
297218c6dSJonathan Cameron%YAML 1.2
397218c6dSJonathan Cameron---
497218c6dSJonathan Cameron$id: http://devicetree.org/schemas/iio/adc/sprd,sc2720-adc.yaml#
597218c6dSJonathan Cameron$schema: http://devicetree.org/meta-schemas/core.yaml#
697218c6dSJonathan Cameron
7*84e85359SKrzysztof Kozlowskititle: Spreadtrum SC27XX series PMICs ADC
897218c6dSJonathan Cameron
997218c6dSJonathan Cameronmaintainers:
1097218c6dSJonathan Cameron  - Baolin Wang <baolin.wang7@gmail.com>
1197218c6dSJonathan Cameron
1297218c6dSJonathan Camerondescription:
1397218c6dSJonathan Cameron  Supports the ADC found on these PMICs.
1497218c6dSJonathan Cameron
1597218c6dSJonathan Cameronproperties:
1697218c6dSJonathan Cameron  compatible:
1797218c6dSJonathan Cameron    enum:
1897218c6dSJonathan Cameron      - sprd,sc2720-adc
1997218c6dSJonathan Cameron      - sprd,sc2721-adc
2097218c6dSJonathan Cameron      - sprd,sc2723-adc
2197218c6dSJonathan Cameron      - sprd,sc2730-adc
2297218c6dSJonathan Cameron      - sprd,sc2731-adc
23392eecccSCixi Geng      - sprd,ump9620-adc
2497218c6dSJonathan Cameron
2597218c6dSJonathan Cameron  reg:
2697218c6dSJonathan Cameron    maxItems: 1
2797218c6dSJonathan Cameron
2897218c6dSJonathan Cameron  interrupts:
2997218c6dSJonathan Cameron    maxItems: 1
3097218c6dSJonathan Cameron
3197218c6dSJonathan Cameron  "#io-channel-cells":
3297218c6dSJonathan Cameron    const: 1
3397218c6dSJonathan Cameron
3497218c6dSJonathan Cameron  hwlocks:
3597218c6dSJonathan Cameron    maxItems: 1
3697218c6dSJonathan Cameron
37392eecccSCixi Geng  nvmem-cells: true
38392eecccSCixi Geng
39392eecccSCixi Geng  nvmem-cell-names: true
40392eecccSCixi Geng
41392eecccSCixi GengallOf:
42392eecccSCixi Geng  - if:
43392eecccSCixi Geng      not:
44392eecccSCixi Geng        properties:
45392eecccSCixi Geng          compatible:
46392eecccSCixi Geng            contains:
47392eecccSCixi Geng              enum:
48392eecccSCixi Geng                - sprd,ump9620-adc
49392eecccSCixi Geng    then:
50392eecccSCixi Geng      properties:
5197218c6dSJonathan Cameron        nvmem-cells:
5297218c6dSJonathan Cameron          maxItems: 2
5397218c6dSJonathan Cameron        nvmem-cell-names:
5497218c6dSJonathan Cameron          items:
5597218c6dSJonathan Cameron            - const: big_scale_calib
5697218c6dSJonathan Cameron            - const: small_scale_calib
5797218c6dSJonathan Cameron
58392eecccSCixi Geng    else:
59392eecccSCixi Geng      properties:
60392eecccSCixi Geng        nvmem-cells:
61392eecccSCixi Geng          maxItems: 6
62392eecccSCixi Geng        nvmem-cell-names:
63392eecccSCixi Geng          items:
64392eecccSCixi Geng            - const: big_scale_calib1
65392eecccSCixi Geng            - const: big_scale_calib2
66392eecccSCixi Geng            - const: small_scale_calib1
67392eecccSCixi Geng            - const: small_scale_calib2
68392eecccSCixi Geng            - const: vbat_det_cal1
69392eecccSCixi Geng            - const: vbat_det_cal2
70392eecccSCixi Geng
7197218c6dSJonathan Cameronrequired:
7297218c6dSJonathan Cameron  - compatible
7397218c6dSJonathan Cameron  - reg
7497218c6dSJonathan Cameron  - interrupts
7597218c6dSJonathan Cameron  - "#io-channel-cells"
7697218c6dSJonathan Cameron  - hwlocks
7797218c6dSJonathan Cameron  - nvmem-cells
7897218c6dSJonathan Cameron  - nvmem-cell-names
7997218c6dSJonathan Cameron
8097218c6dSJonathan CameronadditionalProperties: false
8197218c6dSJonathan Cameron
8297218c6dSJonathan Cameronexamples:
8397218c6dSJonathan Cameron  - |
8497218c6dSJonathan Cameron    #include <dt-bindings/interrupt-controller/irq.h>
8597218c6dSJonathan Cameron    pmic {
8697218c6dSJonathan Cameron        #address-cells = <1>;
8797218c6dSJonathan Cameron        #size-cells = <0>;
8897218c6dSJonathan Cameron        adc@480 {
8997218c6dSJonathan Cameron            compatible = "sprd,sc2731-adc";
9097218c6dSJonathan Cameron            reg = <0x480>;
9197218c6dSJonathan Cameron            interrupt-parent = <&sc2731_pmic>;
9297218c6dSJonathan Cameron            interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
9397218c6dSJonathan Cameron            #io-channel-cells = <1>;
9497218c6dSJonathan Cameron            hwlocks = <&hwlock 4>;
9597218c6dSJonathan Cameron            nvmem-cells = <&adc_big_scale>, <&adc_small_scale>;
9697218c6dSJonathan Cameron            nvmem-cell-names = "big_scale_calib", "small_scale_calib";
9797218c6dSJonathan Cameron        };
9897218c6dSJonathan Cameron    };
99392eecccSCixi Geng
100392eecccSCixi Geng  - |
101392eecccSCixi Geng    #include <dt-bindings/interrupt-controller/irq.h>
102392eecccSCixi Geng    pmic {
103392eecccSCixi Geng        #address-cells = <1>;
104392eecccSCixi Geng        #size-cells = <0>;
105392eecccSCixi Geng        adc@504 {
106392eecccSCixi Geng            compatible = "sprd,ump9620-adc";
107392eecccSCixi Geng            reg = <0x504>;
108392eecccSCixi Geng            interrupt-parent = <&ump9620_pmic>;
109392eecccSCixi Geng            interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
110392eecccSCixi Geng            #io-channel-cells = <1>;
111392eecccSCixi Geng            hwlocks = <&hwlock 4>;
112392eecccSCixi Geng            nvmem-cells = <&adc_bcal1>, <&adc_bcal2>,
113392eecccSCixi Geng                          <&adc_scal1>, <&adc_scal2>,
114392eecccSCixi Geng                          <&vbat_det_cal1>, <&vbat_det_cal2>;
115392eecccSCixi Geng            nvmem-cell-names = "big_scale_calib1", "big_scale_calib2",
116392eecccSCixi Geng                               "small_scale_calib1", "small_scale_calib2",
117392eecccSCixi Geng                               "vbat_det_cal1", "vbat_det_cal2";
118392eecccSCixi Geng        };
119392eecccSCixi Geng    };
12097218c6dSJonathan Cameron...
121