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