summaryrefslogtreecommitdiff
path: root/zephyr/dts/bindings/power/intel,ap-pwr-signal-emul.yaml
blob: 18633498922611efc48e5b9311860255b96178bf (plain)
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
 # Copyright 2022 The ChromiumOS Authors
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.

description: |
  Power Signal Emulator Node

  Power signal emulator allows executing AP Power Sequence in a virtual
  environment by simulating power signals behavior.

  This file defines a node to bind two or more power signals. A node connects
  one input-signal with one or more output-signals. When a node is loaded and
  initialized by power signal emulator, its input-signal state will control
  the value of its children output-signals. Behavior of output-signals are
  configurable to meet AP power sequence test cases.

  Power Signals direction is determined from emulator node perspective. An input
  signal in a node, is the one to be monitored by the emulator, while an output
  signal gets its value altered when corresponding input signal's state changes.

compatible: "intel,ap-pwr-signal-emul"

properties:
  input-signal:
    type: phandle
    required: true
    description: |
      Input signal whose value is monitored to control children output-signal`s
      value.

  assert-value:
    type: int
    required: false
    default: 1
    description: |
      Value that indicates `input-signal` must be ASSERTED.

      A power signal state can be ASSERTED or DEASSERTED.`input-signal` is only
      considered asserted if its new value is equal to `assert-value`, any
      other value makes it deasserted.

  edge:
    type: string
    required: false
    description: |
      Controls when to trigger children value change, based on `input-signal`
      new state.

      EDGE_ACTIVE_ON_ASSERT: Children value changes only when `input-signal`
        state changes into asserted.

      EDGE_ACTIVE_ON_DEASSERT: Children value changes only when `input-signal`
        state changes into deasserted.

      EDGE_ACTIVE_ON_DEASSERT: Children value changes everytime `input-signal`
        state changes.

    default: EDGE_ACTIVE_ON_BOTH
    enum:
      - EDGE_ACTIVE_ON_ASSERT
      - EDGE_ACTIVE_ON_DEASSERT
      - EDGE_ACTIVE_ON_BOTH

  init-value:
    type: int
    required: false
    description: |
      Initial value of `input-signal`.

child-binding:
  description: |
    Child power signals configuration.

  properties:
    output-signal:
      type: phandle
      required: true
      description: |
        Output signal whose value will be controlled by parent `input-signal`
        state.

    assert-value:
      type: int
      required: false
      default: 1
      description: |
        Value that will be assigned to this signal when parent `input-signal`
        state is asserted.

    assert-delay-ms:
      type: int
      required: false
      default: 10
      description: |
        Milliseconds to delay setting this signal to its `assert-value`
        after `input-signal` is asserted.

    deassert-value:
      type: int
      required: false
      default: 0
      description: |
        Value that will be assigned to this signal when parent `input-signal`
        state is deasserted.

    deassert-delay-ms:
      type: int
      required: false
      default: 10
      description: |
        Milliseconds to delay setting this signal to its `deassert-value`
        after `input-signal` is deasserted.

    init-value:
      type: int
      required: false
      description: |
        Value set to this power signal when initializing this node.

    invert-value:
      type: boolean
      description: |
        Invert this power signal assertion logic, this applies to both values
        and delays.