cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

xlnx,zynqmp-ams.yaml (10078B)


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