brintos

brintos / linux-shallow public Read only

0
0
Text · 9.9 KiB · 8cbad7e Raw
237 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---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 controller8 9maintainers:10  - Anand Ashok Dumbre <anand.ashok.dumbre@xilinx.com>11 12description: |13  The AMS (Analog Monitoring System) includes an ADC as well as on-chip sensors14  that can be used to sample external voltages and monitor on-die operating15  conditions, such as temperature and supply voltage levels.16  The AMS has two SYSMON blocks which are PL (Programmable Logic) SYSMON and17  PS (Processing System) SYSMON.18  All designs should have AMS registers, but PS and PL are optional. The19  AMS controller can work with only PS, only PL and both PS and PL20  configurations. Please specify registers according to your design. Devicetree21  should always have AMS module property. Providing PS & PL module is optional.22 23  AMS Channel Details24  ```````````````````25  Sysmon Block  |Channel|                       Details                                 |Measurement26                |Number |                                                               |Type27  ---------------------------------------------------------------------------------------------------------28  AMS CTRL      |0      |System PLLs voltage measurement, VCC_PSPLL.                    |Voltage29                |1      |Battery voltage measurement, VCC_PSBATT.                       |Voltage30                |2      |PL Internal voltage measurement, VCCINT.                       |Voltage31                |3      |Block RAM voltage measurement, VCCBRAM.                        |Voltage32                |4      |PL Aux voltage measurement, VCCAUX.                            |Voltage33                |5      |Voltage measurement for six DDR I/O PLLs, VCC_PSDDR_PLL.       |Voltage34                |6      |VCC_PSINTFP_DDR voltage measurement.                           |Voltage35  ---------------------------------------------------------------------------------------------------------36  PS Sysmon     |7      |LPD temperature measurement.                                   |Temperature37                |8      |FPD temperature measurement (REMOTE).                          |Temperature38                |9      |VCC PS LPD voltage measurement (supply1).                      |Voltage39                |10     |VCC PS FPD voltage measurement (supply2).                      |Voltage40                |11     |PS Aux voltage reference (supply3).                            |Voltage41                |12     |DDR I/O VCC voltage measurement.                               |Voltage42                |13     |PS IO Bank 503 voltage measurement (supply5).                  |Voltage43                |14     |PS IO Bank 500 voltage measurement (supply6).                  |Voltage44                |15     |VCCO_PSIO1 voltage measurement.                                |Voltage45                |16     |VCCO_PSIO2 voltage measurement.                                |Voltage46                |17     |VCC_PS_GTR voltage measurement (VPS_MGTRAVCC).                 |Voltage47                |18     |VTT_PS_GTR voltage measurement (VPS_MGTRAVTT).                 |Voltage48                |19     |VCC_PSADC voltage measurement.                                 |Voltage49  ---------------------------------------------------------------------------------------------------------50  PL Sysmon     |20     |PL temperature measurement.                                    |Temperature51                |21     |PL Internal voltage measurement, VCCINT.                       |Voltage52                |22     |PL Auxiliary voltage measurement, VCCAUX.                      |Voltage53                |23     |ADC Reference P+ voltage measurement.                          |Voltage54                |24     |ADC Reference N- voltage measurement.                          |Voltage55                |25     |PL Block RAM voltage measurement, VCCBRAM.                     |Voltage56                |26     |LPD Internal voltage measurement, VCC_PSINTLP (supply4).       |Voltage57                |27     |FPD Internal voltage measurement, VCC_PSINTFP (supply5).       |Voltage58                |28     |PS Auxiliary voltage measurement (supply6).                    |Voltage59                |29     |PL VCCADC voltage measurement (vccams).                        |Voltage60                |30     |Differential analog input signal voltage measurement.          |Voltage61                |31     |VUser0 voltage measurement (supply7).                          |Voltage62                |32     |VUser1 voltage measurement (supply8).                          |Voltage63                |33     |VUser2 voltage measurement (supply9).                          |Voltage64                |34     |VUser3 voltage measurement (supply10).                         |Voltage65                |35     |Auxiliary ch 0 voltage measurement (VAux0).                    |Voltage66                |36     |Auxiliary ch 1 voltage measurement (VAux1).                    |Voltage67                |37     |Auxiliary ch 2 voltage measurement (VAux2).                    |Voltage68                |38     |Auxiliary ch 3 voltage measurement (VAux3).                    |Voltage69                |39     |Auxiliary ch 4 voltage measurement (VAux4).                    |Voltage70                |40     |Auxiliary ch 5 voltage measurement (VAux5).                    |Voltage71                |41     |Auxiliary ch 6 voltage measurement (VAux6).                    |Voltage72                |42     |Auxiliary ch 7 voltage measurement (VAux7).                    |Voltage73                |43     |Auxiliary ch 8 voltage measurement (VAux8).                    |Voltage74                |44     |Auxiliary ch 9 voltage measurement (VAux9).                    |Voltage75                |45     |Auxiliary ch 10 voltage measurement (VAux10).                  |Voltage76                |46     |Auxiliary ch 11 voltage measurement (VAux11).                  |Voltage77                |47     |Auxiliary ch 12 voltage measurement (VAux12).                  |Voltage78                |48     |Auxiliary ch 13 voltage measurement (VAux13).                  |Voltage79                |49     |Auxiliary ch 14 voltage measurement (VAux14).                  |Voltage80                |50     |Auxiliary ch 15 voltage measurement (VAux15).                  |Voltage81  --------------------------------------------------------------------------------------------------------82 83properties:84  compatible:85    enum:86      - xlnx,zynqmp-ams87 88  interrupts:89    maxItems: 190 91  reg:92    description: AMS Controller register space93    maxItems: 194 95  clocks:96    items:97      - description: AMS reference clock98 99  ranges:100    description:101      Maps the child address space for PS and/or PL.102    maxItems: 1103 104  '#address-cells':105    const: 1106 107  '#size-cells':108    const: 1109 110  '#io-channel-cells':111    const: 1112 113  ams-ps@0:114    type: object115    description: |116      PS (Processing System) SYSMON is memory mapped to PS. This block has117      built-in alarm generation logic that is used to interrupt the processor118      based on condition set.119 120    properties:121      compatible:122        enum:123          - xlnx,zynqmp-ams-ps124 125      reg:126        description: Register Space for PS-SYSMON127        maxItems: 1128 129    required:130      - compatible131      - reg132 133    additionalProperties: false134 135  ams-pl@400:136    type: object137    additionalProperties: false138    description:139      PL-SYSMON is capable of monitoring off chip voltage and temperature.140      PL-SYSMON block has DRP, JTAG and I2C interface to enable monitoring141      from external master. Out of this interface currently only DRP is142      supported. This block has alarm generation logic that is used to143      interrupt the processor based on condition set.144 145    properties:146      compatible:147        items:148          - enum:149              - xlnx,zynqmp-ams-pl150 151      reg:152        description: Register Space for PL-SYSMON.153        maxItems: 1154 155      '#address-cells':156        const: 1157 158      '#size-cells':159        const: 0160 161    patternProperties:162      "^channel@([2-4][0-9]|50)$":163        type: object164        description:165          Describes the external channels connected.166 167        properties:168          reg:169            description:170              Pair of pins the channel is connected to. This value is171              same as Channel Number for a particular channel.172            minimum: 20173            maximum: 50174 175          xlnx,bipolar:176            $ref: /schemas/types.yaml#/definitions/flag177            type: boolean178            description:179              If the set channel is used in bipolar mode.180 181        required:182          - reg183 184        additionalProperties: false185 186required:187  - compatible188  - reg189  - clocks190  - ranges191 192additionalProperties: false193 194examples:195  - |196    #include <dt-bindings/clock/xlnx-zynqmp-clk.h>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 AMS_REF>;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    };237