summaryrefslogtreecommitdiffstats
path: root/dts/Bindings/iio/adc/brcm,iproc-static-adc.yaml
blob: c562d25bee3bd3fd937c71e00b1715d097698ecc (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
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/adc/brcm,iproc-static-adc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Broadcom's IPROC Static ADC controller

maintainers:
  - Raveendra Padasalagi <raveendra.padasalagi@broadcom.com>

description: |
  Broadcom iProc ADC controller has 8 10bit channels

properties:
  compatible:
    const: brcm,iproc-static-adc

  adc-syscon:
    $ref: /schemas/types.yaml#/definitions/phandle
    description:
      syscon node defining physical base address of the controller and length
      of memory mapped region.

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

  clocks:
    maxItems: 1

  clock-names:
    const: tsc_clk

  interrupts:
    maxItems: 1

additionalProperties: false

required:
  - compatible
  - adc-syscon
  - "#io-channel-cells"
  - clocks
  - clock-names
  - interrupts

examples:
  - |
    #include <dt-bindings/clock/bcm-cygnus.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    soc {
        #address-cells = <1>;
        #size-cells = <1>;

        ts_adc_syscon: ts_adc_syscon@180a6000 {
            compatible = "brcm,iproc-ts-adc-syscon","syscon";
            reg = <0x180a6000 0xc30>;
        };

        adc {
            compatible = "brcm,iproc-static-adc";
            adc-syscon = <&ts_adc_syscon>;
            #io-channel-cells = <1>;
            clocks = <&asiu_clks BCM_CYGNUS_ASIU_ADC_CLK>;
            clock-names = "tsc_clk";
            interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
        };
    };
...