aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/hwmon/moortec,mr75203.yaml
blob: 9454576ebb73efe626920ae015d9e7a506456ee5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/hwmon/moortec,mr75203.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Moortec Semiconductor MR75203 PVT Controller bindings

maintainers:
  - Rahul Tanwar <rtanwar@maxlinear.com>

description: |
  A Moortec PVT (Process, Voltage, Temperature) monitoring logic design can
  include many different units.
  Such a design will usually consists of several Moortec's embedded analog IPs,
  and a single Moortec controller (mr75203) to configure and control the IPs.

  Some of the Moortec's analog hard IPs that can be used in a design:
  *) Temperature Sensor (TS) - used to monitor core temperature (e.g. mr74137).
  *) Voltage Monitor (VM) - used to monitor voltage levels (e.g. mr74138).
  *) Process Detector (PD) - used to assess silicon speed (e.g. mr74139).
  *) Delay Chain - ring oscillator connected to the PD, used to measure IO
     based transistors (e.g. mr76008 ring oscillator at 1.1V, mr76007 ring
     oscillator at 1.8V).
  *) Pre Scaler - provides divide-by-X scaling of input voltage, which can then
     be presented for VM for measurement within its range (e.g. mr76006 -
     divide by 2 pre-scaler).

  TS, VM & PD also include a digital interface, which consists of configuration
  inputs and measurement outputs.

  Some of the units have number of series, each series can have slightly
  different characteristics.

  The mr75203 binding describes configuration for the controller unit, but also
  for some of the analog IPs.

properties:
  compatible:
    const: moortec,mr75203

  reg:
    items:
      - description: PVT common registers
      - description: PVT temprature sensor registers
      - description: PVT process detector registers
      - description: PVT voltage monitor registers

  reg-names:
    items:
      - const: common
      - const: ts
      - const: pd
      - const: vm

  intel,vm-map:
    description:
      PVT controller has 5 VM (voltage monitor) sensors.
      vm-map defines CPU core to VM instance mapping. A
      value of 0xff means that VM sensor is unused.
    $ref: /schemas/types.yaml#/definitions/uint8-array
    maxItems: 5

  clocks:
    maxItems: 1

  resets:
    maxItems: 1

  "#thermal-sensor-cells":
    const: 1

required:
  - compatible
  - reg
  - reg-names
  - clocks
  - "#thermal-sensor-cells"

additionalProperties: false

examples:
  - |
    pvt: pvt@e0680000 {
        compatible = "moortec,mr75203";
        reg = <0xe0680000 0x80>,
              <0xe0680080 0x180>,
              <0xe0680200 0x200>,
              <0xe0680400 0xc00>;
        reg-names = "common", "ts", "pd", "vm";
        intel,vm-map = [03 01 04 ff ff];
        clocks = <&osc0>;
        resets = <&rcu0 0x40 7>;
        #thermal-sensor-cells = <1>;
    };