xref: /linux/Documentation/devicetree/bindings/hwmon/moortec,mr75203.yaml (revision a1c613ae4c322ddd58d5a8539dbfba2a0380a8c0)
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