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.
|