File Index
Files and directories
Sign in
FILE

xlnx,zynqmp-ams.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/iio/adc/xlnx,zynqmp-ams.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/iio/adc/xlnx,zynqmp-ams.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Xilinx Zynq Ultrascale AMS controller
  8
  9maintainers:
 10  - Salih Erim <salih.erim@amd.com>
 11  - Conall O'Griofa <conall.ogriofa@amd.com>
 12
 13description: |
 14  The AMS (Analog Monitoring System) includes an ADC as well as on-chip sensors
 15  that can be used to sample external voltages and monitor on-die operating
 16  conditions, such as temperature and supply voltage levels.
 17  The AMS has two SYSMON blocks which are PL (Programmable Logic) SYSMON and
 18  PS (Processing System) SYSMON.
 19  All designs should have AMS registers, but PS and PL are optional. The
 20  AMS controller can work with only PS, only PL and both PS and PL
 21  configurations. Please specify registers according to your design. Devicetree
 22  should always have AMS module property. Providing PS & PL module is optional.
 23
 24  AMS Channel Details
 25  ```````````````````
 26  Sysmon Block  |Channel|                       Details                                 |Measurement
 27                |Number |                                                               |Type
 28  ---------------------------------------------------------------------------------------------------------
 29  AMS CTRL      |0      |System PLLs voltage measurement, VCC_PSPLL.                    |Voltage
 30                |1      |Battery voltage measurement, VCC_PSBATT.                       |Voltage
 31                |2      |PL Internal voltage measurement, VCCINT.                       |Voltage
 32                |3      |Block RAM voltage measurement, VCCBRAM.                        |Voltage
 33                |4      |PL Aux voltage measurement, VCCAUX.                            |Voltage
 34                |5      |Voltage measurement for six DDR I/O PLLs, VCC_PSDDR_PLL.       |Voltage
 35                |6      |VCC_PSINTFP_DDR voltage measurement.                           |Voltage
 36  ---------------------------------------------------------------------------------------------------------
 37  PS Sysmon     |7      |LPD temperature measurement.                                   |Temperature
 38                |8      |FPD temperature measurement (REMOTE).                          |Temperature
 39                |9      |VCC PS LPD voltage measurement (supply1).                      |Voltage
 40                |10     |VCC PS FPD voltage measurement (supply2).                      |Voltage
 41                |11     |PS Aux voltage reference (supply3).                            |Voltage
 42                |12     |DDR I/O VCC voltage measurement.                               |Voltage
 43                |13     |PS IO Bank 503 voltage measurement (supply5).                  |Voltage
 44                |14     |PS IO Bank 500 voltage measurement (supply6).                  |Voltage
 45                |15     |VCCO_PSIO1 voltage measurement.                                |Voltage
 46                |16     |VCCO_PSIO2 voltage measurement.                                |Voltage
 47                |17     |VCC_PS_GTR voltage measurement (VPS_MGTRAVCC).                 |Voltage
 48                |18     |VTT_PS_GTR voltage measurement (VPS_MGTRAVTT).                 |Voltage
 49                |19     |VCC_PSADC voltage measurement.                                 |Voltage
 50  ---------------------------------------------------------------------------------------------------------
 51  PL Sysmon     |20     |PL temperature measurement.                                    |Temperature
 52                |21     |PL Internal voltage measurement, VCCINT.                       |Voltage
 53                |22     |PL Auxiliary voltage measurement, VCCAUX.                      |Voltage
 54                |23     |ADC Reference P+ voltage measurement.                          |Voltage
 55                |24     |ADC Reference N- voltage measurement.                          |Voltage
 56                |25     |PL Block RAM voltage measurement, VCCBRAM.                     |Voltage
 57                |26     |LPD Internal voltage measurement, VCC_PSINTLP (supply4).       |Voltage
 58                |27     |FPD Internal voltage measurement, VCC_PSINTFP (supply5).       |Voltage
 59                |28     |PS Auxiliary voltage measurement (supply6).                    |Voltage
 60                |29     |PL VCCADC voltage measurement (vccams).                        |Voltage
 61                |30     |Differential analog input signal voltage measurement.          |Voltage
 62                |31     |VUser0 voltage measurement (supply7).                          |Voltage
 63                |32     |VUser1 voltage measurement (supply8).                          |Voltage
 64                |33     |VUser2 voltage measurement (supply9).                          |Voltage
 65                |34     |VUser3 voltage measurement (supply10).                         |Voltage
 66                |35     |Auxiliary ch 0 voltage measurement (VAux0).                    |Voltage
 67                |36     |Auxiliary ch 1 voltage measurement (VAux1).                    |Voltage
 68                |37     |Auxiliary ch 2 voltage measurement (VAux2).                    |Voltage
 69                |38     |Auxiliary ch 3 voltage measurement (VAux3).                    |Voltage
 70                |39     |Auxiliary ch 4 voltage measurement (VAux4).                    |Voltage
 71                |40     |Auxiliary ch 5 voltage measurement (VAux5).                    |Voltage
 72                |41     |Auxiliary ch 6 voltage measurement (VAux6).                    |Voltage
 73                |42     |Auxiliary ch 7 voltage measurement (VAux7).                    |Voltage
 74                |43     |Auxiliary ch 8 voltage measurement (VAux8).                    |Voltage
 75                |44     |Auxiliary ch 9 voltage measurement (VAux9).                    |Voltage
 76                |45     |Auxiliary ch 10 voltage measurement (VAux10).                  |Voltage
 77                |46     |Auxiliary ch 11 voltage measurement (VAux11).                  |Voltage
 78                |47     |Auxiliary ch 12 voltage measurement (VAux12).                  |Voltage
 79                |48     |Auxiliary ch 13 voltage measurement (VAux13).                  |Voltage
 80                |49     |Auxiliary ch 14 voltage measurement (VAux14).                  |Voltage
 81                |50     |Auxiliary ch 15 voltage measurement (VAux15).                  |Voltage
 82  --------------------------------------------------------------------------------------------------------
 83
 84properties:
 85  compatible:
 86    enum:
 87      - xlnx,zynqmp-ams
 88
 89  interrupts:
 90    maxItems: 1
 91
 92  reg:
 93    description: AMS Controller register space
 94    maxItems: 1
 95
 96  clocks:
 97    items:
 98      - description: AMS reference clock
 99
100  ranges:
101    description:
102      Maps the child address space for PS and/or PL.
103    maxItems: 1
104
105  '#address-cells':
106    const: 1
107
108  '#size-cells':
109    const: 1
110
111  '#io-channel-cells':
112    const: 1
113
114  ams-ps@0:
115    type: object
116    description: |
117      PS (Processing System) SYSMON is memory mapped to PS. This block has
118      built-in alarm generation logic that is used to interrupt the processor
119      based on condition set.
120
121    properties:
122      compatible:
123        enum:
124          - xlnx,zynqmp-ams-ps
125
126      reg:
127        description: Register Space for PS-SYSMON
128        maxItems: 1
129
130    required:
131      - compatible
132      - reg
133
134    additionalProperties: false
135
136  ams-pl@400:
137    type: object
138    additionalProperties: false
139    description:
140      PL-SYSMON is capable of monitoring off chip voltage and temperature.
141      PL-SYSMON block has DRP, JTAG and I2C interface to enable monitoring
142      from external master. Out of this interface currently only DRP is
143      supported. This block has alarm generation logic that is used to
144      interrupt the processor based on condition set.
145
146    properties:
147      compatible:
148        items:
149          - enum:
150              - xlnx,zynqmp-ams-pl
151
152      reg:
153        description: Register Space for PL-SYSMON.
154        maxItems: 1
155
156      '#address-cells':
157        const: 1
158
159      '#size-cells':
160        const: 0
161
162    patternProperties:
163      "^channel@([2-4][0-9]|50)$":
164        type: object
165        description:
166          Describes the external channels connected.
167
168        properties:
169          reg:
170            description:
171              Pair of pins the channel is connected to. This value is
172              same as Channel Number for a particular channel.
173            minimum: 20
174            maximum: 50
175
176          xlnx,bipolar:
177            $ref: /schemas/types.yaml#/definitions/flag
178            type: boolean
179            description:
180              If the set channel is used in bipolar mode.
181
182        required:
183          - reg
184
185        additionalProperties: false
186
187required:
188  - compatible
189  - reg
190  - clocks
191  - ranges
192
193additionalProperties: false
194
195examples:
196  - |
197
198    bus {
199        #address-cells = <2>;
200        #size-cells = <2>;
201
202        xilinx_ams: ams@ffa50000 {
203            compatible = "xlnx,zynqmp-ams";
204            interrupt-parent = <&gic>;
205            interrupts = <0 56 4>;
206            reg = <0x0 0xffa50000 0x0 0x800>;
207            clocks = <&zynqmp_clk 70>;
208            #address-cells = <1>;
209            #size-cells = <1>;
210            #io-channel-cells = <1>;
211            ranges = <0 0 0xffa50800 0x800>;
212
213            ams_ps: ams-ps@0 {
214                compatible = "xlnx,zynqmp-ams-ps";
215                reg = <0 0x400>;
216            };
217
218            ams_pl: ams-pl@400 {
219                compatible = "xlnx,zynqmp-ams-pl";
220                reg = <0x400 0x400>;
221                #address-cells = <1>;
222                #size-cells = <0>;
223                channel@30 {
224                    reg = <30>;
225                    xlnx,bipolar;
226                };
227                channel@31 {
228                    reg = <31>;
229                };
230                channel@38 {
231                    reg = <38>;
232                    xlnx,bipolar;
233                };
234            };
235        };
236    };
~/ Read-only file preview.