summaryrefslogtreecommitdiff
path: root/zephyr/dts/bindings/cbi/cros-ec-cbi-fw-config.yaml
blob: b19c9632be0ef97da008e7831e5415595e06bb5c (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
# Copyright 2021 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

description: CBI Firmware Config fields (FW_CONFIG)

compatible: "cros-ec,cbi-fw-config"

child-binding:
    description:
        ChromeOS CBI Firmware Config fields definition.
        Each field is defined via a start bit (from LSB) and a size.
        The total size of all FW_CONFIG bit fields must not exceed 32 bits.
        One default value for each field may be indicated.
    properties:
        enum-name:
            type: string
            required: true
            description:
              Name of field used for description purposes
        start:
            type: int
            required: true
            description: The starting bit of the field (LSB = 0)
        size:
            type: int
            required: true
            description: The size of the field in bits.

# Example:
#
# cbi-fw-config {
#     compatible = "cros-ec,cbi-fw-config";
#
#     fan {
#         enum-name = "FAN";
#         start = <0>
#         size = <1>;
#         fan_absent {
#             enum-name = "ABSENT"
#             compatible = "cros-ec,cbi-fw-config-value";
#             value = <0>;
#         fan_present {
#             enum-name = "PRESENT"
#             compatible = "cros-ec,cbi-fw-config-value";
#             value = <1>;
#             default;
#         };
#     };
# };
#
# This will generate an enum field id for CBI_FW_CONFIG_FIELD_FAN,
# and separate values for CBI_FW_CONFIG_FIELD_FAN_ABSENT = 0 and
# CBI_FW_CONFIG_FIELD_FAN_PRESENT = 1