1748022efSRahul Tanwar# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2748022efSRahul Tanwar%YAML 1.2 3748022efSRahul Tanwar--- 4748022efSRahul Tanwar$id: http://devicetree.org/schemas/hwmon/moortec,mr75203.yaml# 5748022efSRahul Tanwar$schema: http://devicetree.org/meta-schemas/core.yaml# 6748022efSRahul Tanwar 784e85359SKrzysztof Kozlowskititle: Moortec Semiconductor MR75203 PVT Controller 8748022efSRahul Tanwar 9748022efSRahul Tanwarmaintainers: 10748022efSRahul Tanwar - Rahul Tanwar <rtanwar@maxlinear.com> 11748022efSRahul Tanwar 12a658b4d3SEliav Farberdescription: | 13a658b4d3SEliav Farber A Moortec PVT (Process, Voltage, Temperature) monitoring logic design can 14a658b4d3SEliav Farber include many different units. 15a658b4d3SEliav Farber Such a design will usually consists of several Moortec's embedded analog IPs, 16a658b4d3SEliav Farber and a single Moortec controller (mr75203) to configure and control the IPs. 17a658b4d3SEliav Farber 18a658b4d3SEliav Farber Some of the Moortec's analog hard IPs that can be used in a design: 19a658b4d3SEliav Farber *) Temperature Sensor (TS) - used to monitor core temperature (e.g. mr74137). 20a658b4d3SEliav Farber *) Voltage Monitor (VM) - used to monitor voltage levels (e.g. mr74138). 21a658b4d3SEliav Farber *) Process Detector (PD) - used to assess silicon speed (e.g. mr74139). 22a658b4d3SEliav Farber *) Delay Chain - ring oscillator connected to the PD, used to measure IO 23a658b4d3SEliav Farber based transistors (e.g. mr76008 ring oscillator at 1.1V, mr76007 ring 24a658b4d3SEliav Farber oscillator at 1.8V). 25a658b4d3SEliav Farber *) Pre Scaler - provides divide-by-X scaling of input voltage, which can then 26a658b4d3SEliav Farber be presented for VM for measurement within its range (e.g. mr76006 - 27a658b4d3SEliav Farber divide by 2 pre-scaler). 28a658b4d3SEliav Farber 29a658b4d3SEliav Farber TS, VM & PD also include a digital interface, which consists of configuration 30a658b4d3SEliav Farber inputs and measurement outputs. 31a658b4d3SEliav Farber 32a658b4d3SEliav Farber Some of the units have number of series, each series can have slightly 33a658b4d3SEliav Farber different characteristics. 34a658b4d3SEliav Farber 35a658b4d3SEliav Farber The mr75203 binding describes configuration for the controller unit, but also 36a658b4d3SEliav Farber for some of the analog IPs. 37a658b4d3SEliav Farber 38748022efSRahul Tanwarproperties: 39748022efSRahul Tanwar compatible: 40748022efSRahul Tanwar const: moortec,mr75203 41748022efSRahul Tanwar 42748022efSRahul Tanwar reg: 43748022efSRahul Tanwar items: 44748022efSRahul Tanwar - description: PVT common registers 45*47aab533SBjorn Helgaas - description: PVT temperature sensor registers 46748022efSRahul Tanwar - description: PVT process detector registers 47748022efSRahul Tanwar - description: PVT voltage monitor registers 48748022efSRahul Tanwar 49748022efSRahul Tanwar reg-names: 50748022efSRahul Tanwar items: 51748022efSRahul Tanwar - const: common 52748022efSRahul Tanwar - const: ts 53748022efSRahul Tanwar - const: pd 54748022efSRahul Tanwar - const: vm 55748022efSRahul Tanwar 56748022efSRahul Tanwar intel,vm-map: 57748022efSRahul Tanwar description: 58748022efSRahul Tanwar PVT controller has 5 VM (voltage monitor) sensors. 59748022efSRahul Tanwar vm-map defines CPU core to VM instance mapping. A 60748022efSRahul Tanwar value of 0xff means that VM sensor is unused. 61d69c6dddSRob Herring $ref: /schemas/types.yaml#/definitions/uint8-array 62748022efSRahul Tanwar maxItems: 5 63748022efSRahul Tanwar 64748022efSRahul Tanwar clocks: 65748022efSRahul Tanwar maxItems: 1 66748022efSRahul Tanwar 67748022efSRahul Tanwar resets: 68748022efSRahul Tanwar maxItems: 1 69748022efSRahul Tanwar 70748022efSRahul Tanwar "#thermal-sensor-cells": 71748022efSRahul Tanwar const: 1 72748022efSRahul Tanwar 7309288b8fSEliav Farber moortec,vm-active-channels: 7409288b8fSEliav Farber description: 7509288b8fSEliav Farber Defines the number of channels per VM that are actually used and are 7609288b8fSEliav Farber connected to some input source. 7709288b8fSEliav Farber Maximum number of items - number of VMs. 7809288b8fSEliav Farber Maximum value of each item - number of channels. 7909288b8fSEliav Farber Minimum value of each item - 0 (which means entire VM sensor is not used). 8009288b8fSEliav Farber $ref: /schemas/types.yaml#/definitions/uint8-array 8109288b8fSEliav Farber 8264a2486cSEliav Farber moortec,vm-pre-scaler-x2: 8364a2486cSEliav Farber description: 8464a2486cSEliav Farber Defines the channels that use a mr76006 pre-scaler to divide the input 8564a2486cSEliav Farber source by 2. 8664a2486cSEliav Farber The pre-scaler is used for input sources that exceed the VM input range. 8764a2486cSEliav Farber The driver uses this information to present to the user with the actual 8864a2486cSEliav Farber value of the voltage source. 8964a2486cSEliav Farber For channels that are not listed, no pre-scaler is assumed. 9064a2486cSEliav Farber Maximum number of items - total number of channels in all VMs. 9164a2486cSEliav Farber Each channel should not appear more than once. 9264a2486cSEliav Farber $ref: /schemas/types.yaml#/definitions/uint8-array 9364a2486cSEliav Farber 9434339c85SEliav Farber moortec,ts-series: 9534339c85SEliav Farber description: 9634339c85SEliav Farber Definition of the temperature equation and coefficients that shall be 9734339c85SEliav Farber used to convert the digital output to value in milli-Celsius. 9834339c85SEliav Farber minimum: 5 9934339c85SEliav Farber maximum: 6 10034339c85SEliav Farber default: 5 10134339c85SEliav Farber $ref: /schemas/types.yaml#/definitions/uint32 10234339c85SEliav Farber 103bf1fdafdSEliav Farber moortec,ts-coeff-g: 104bf1fdafdSEliav Farber description: 105bf1fdafdSEliav Farber G coefficient for temperature equation. 106bf1fdafdSEliav Farber Default for series 5 = 60000 107bf1fdafdSEliav Farber Default for series 6 = 57400 108030d2a0cSKrzysztof Kozlowski multipleOf: 100 109bf1fdafdSEliav Farber minimum: 1000 110bf1fdafdSEliav Farber $ref: /schemas/types.yaml#/definitions/uint32 111bf1fdafdSEliav Farber 112bf1fdafdSEliav Farber moortec,ts-coeff-h: 113bf1fdafdSEliav Farber description: 114bf1fdafdSEliav Farber H coefficient for temperature equation. 115bf1fdafdSEliav Farber Default for series 5 = 200000 116bf1fdafdSEliav Farber Default for series 6 = 249400 117030d2a0cSKrzysztof Kozlowski multipleOf: 100 118bf1fdafdSEliav Farber minimum: 1000 119bf1fdafdSEliav Farber $ref: /schemas/types.yaml#/definitions/uint32 120bf1fdafdSEliav Farber 121bf1fdafdSEliav Farber moortec,ts-coeff-cal5: 122bf1fdafdSEliav Farber description: 123bf1fdafdSEliav Farber cal5 coefficient for temperature equation. 124bf1fdafdSEliav Farber Default for series 5 = 4094 125bf1fdafdSEliav Farber Default for series 6 = 4096 126bf1fdafdSEliav Farber minimum: 1 127bf1fdafdSEliav Farber $ref: /schemas/types.yaml#/definitions/uint32 128bf1fdafdSEliav Farber 129bf1fdafdSEliav Farber moortec,ts-coeff-j: 130bf1fdafdSEliav Farber description: 131bf1fdafdSEliav Farber J coefficient for temperature equation. 132bf1fdafdSEliav Farber Default for series 5 = -100 133bf1fdafdSEliav Farber Default for series 6 = 0 134030d2a0cSKrzysztof Kozlowski multipleOf: 100 135bf1fdafdSEliav Farber maximum: 0 136bf1fdafdSEliav Farber $ref: /schemas/types.yaml#/definitions/int32 137bf1fdafdSEliav Farber 138748022efSRahul Tanwarrequired: 139748022efSRahul Tanwar - compatible 140748022efSRahul Tanwar - reg 141748022efSRahul Tanwar - reg-names 142748022efSRahul Tanwar - clocks 143748022efSRahul Tanwar - "#thermal-sensor-cells" 144748022efSRahul Tanwar 145748022efSRahul TanwaradditionalProperties: false 146748022efSRahul Tanwar 147748022efSRahul Tanwarexamples: 148748022efSRahul Tanwar - | 149748022efSRahul Tanwar pvt: pvt@e0680000 { 150748022efSRahul Tanwar compatible = "moortec,mr75203"; 151748022efSRahul Tanwar reg = <0xe0680000 0x80>, 152748022efSRahul Tanwar <0xe0680080 0x180>, 153748022efSRahul Tanwar <0xe0680200 0x200>, 154748022efSRahul Tanwar <0xe0680400 0xc00>; 155748022efSRahul Tanwar reg-names = "common", "ts", "pd", "vm"; 156748022efSRahul Tanwar intel,vm-map = [03 01 04 ff ff]; 157748022efSRahul Tanwar clocks = <&osc0>; 158748022efSRahul Tanwar resets = <&rcu0 0x40 7>; 15909288b8fSEliav Farber moortec,vm-active-channels = /bits/ 8 <0x10 0x05>; 16064a2486cSEliav Farber moortec,vm-pre-scaler-x2 = /bits/ 8 <5 6 20>; 161bf1fdafdSEliav Farber moortec,ts-coeff-g = <61400>; 162bf1fdafdSEliav Farber moortec,ts-coeff-h = <253700>; 163748022efSRahul Tanwar #thermal-sensor-cells = <1>; 164748022efSRahul Tanwar }; 165