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