summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/iio/adc/aspeed,ast2600-adc.yaml
blob: b283c8ca2bbfccc32f738ecb20979f4da1036d6c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/adc/aspeed,ast2600-adc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ADC that forms part of an ASPEED server management processor.

maintainers:
  - Billy Tsai <billy_tsai@aspeedtech.com>

description: |
  • 10-bits resolution for 16 voltage channels.
  • The device split into two individual engine and each contains 8 voltage
  channels.
  • Channel scanning can be non-continuous.
  • Programmable ADC clock frequency.
  • Programmable upper and lower threshold for each channels.
  • Interrupt when larger or less than threshold for each channels.
  • Support hysteresis for each channels.
  • Built-in a compensating method.
  • Built-in a register to trim internal reference voltage.
  • Internal or External reference voltage.
  • Support 2 Internal reference voltage 1.2v or 2.5v.
  • Integrate dividing circuit for battery sensing.

properties:
  compatible:
    enum:
      - aspeed,ast2600-adc0
      - aspeed,ast2600-adc1
    description:
      Their trimming data, which is used to calibrate internal reference volage,
      locates in different address of OTP.

  reg:
    maxItems: 1

  clocks:
    maxItems: 1
    description:
      Input clock used to derive the sample clock. Expected to be the
      SoC's APB clock.

  resets:
    maxItems: 1

  "#io-channel-cells":
    const: 1

  vref-supply:
    description:
      The external regulator supply ADC reference voltage.

  aspeed,int-vref-microvolt:
    enum: [1200000, 2500000]
    description:
      ADC internal reference voltage in microvolts.

  aspeed,battery-sensing:
    type: boolean
    description:
      Inform the driver that last channel will be used to sensor battery.

  aspeed,trim-data-valid:
    type: boolean
    description: |
      The ADC reference voltage can be calibrated to obtain the trimming
      data which will be stored in otp. This property informs the driver that
      the data store in the otp is valid.

required:
  - compatible
  - reg
  - clocks
  - resets
  - "#io-channel-cells"

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/ast2600-clock.h>
    adc0: adc@1e6e9000 {
        compatible = "aspeed,ast2600-adc0";
        reg = <0x1e6e9000 0x100>;
        clocks = <&syscon ASPEED_CLK_APB2>;
        resets = <&syscon ASPEED_RESET_ADC>;
        #io-channel-cells = <1>;
        aspeed,int-vref-microvolt = <2500000>;
    };
    adc1: adc@1e6e9100 {
        compatible = "aspeed,ast2600-adc1";
        reg = <0x1e6e9100 0x100>;
        clocks = <&syscon ASPEED_CLK_APB2>;
        resets = <&syscon ASPEED_RESET_ADC>;
        #io-channel-cells = <1>;
        aspeed,int-vref-microvolt = <2500000>;
    };
...