1{
2    "comments": ["Config file for a FooBar one-chassis system"],
3
4    "rules": [
5        {
6            "comments": ["Sets output voltage for a PMBus regulator rail"],
7            "id": "set_voltage_rule",
8            "actions": [
9                {
10                    "pmbus_write_vout_command": {
11                        "format": "linear"
12                    }
13                }
14            ]
15        },
16
17        {
18            "comments": ["Reads sensors from a PMBus regulator rail"],
19            "id": "read_sensors_rule",
20            "actions": [
21                {
22                    "comments": ["Read output voltage from READ_VOUT."],
23                    "pmbus_read_sensor": {
24                        "type": "vout",
25                        "command": "0x8B",
26                        "format": "linear_16"
27                    }
28                },
29
30                {
31                    "comments": ["Read output current from READ_IOUT."],
32                    "pmbus_read_sensor": {
33                        "type": "iout",
34                        "command": "0x8C",
35                        "format": "linear_11"
36                    }
37                },
38
39                {
40                    "comments": ["Read temperature from READ_TEMPERATURE_1."],
41                    "pmbus_read_sensor": {
42                        "type": "temperature",
43                        "command": "0x8D",
44                        "format": "linear_11"
45                    }
46                }
47            ]
48        }
49    ],
50
51    "chassis": [
52        {
53            "comments": ["Chassis number 1 containing CPUs and memory"],
54            "number": 1,
55            "inventory_path": "system/chassis",
56            "devices": [
57                {
58                    "comments": ["IR35221 regulator producing the Vdd rail"],
59                    "id": "vdd_regulator",
60                    "is_regulator": true,
61                    "fru": "system/chassis/motherboard/regulator1",
62                    "i2c_interface": {
63                        "bus": 1,
64                        "address": "0x70"
65                    },
66                    "rails": [
67                        {
68                            "comments": ["Vdd rail"],
69                            "id": "vdd",
70                            "configuration": {
71                                "volts": 1.03,
72                                "rule_id": "set_voltage_rule"
73                            },
74                            "sensor_monitoring": {
75                                "rule_id": "read_sensors_rule"
76                            }
77                        }
78                    ]
79                },
80
81                {
82                    "comments": ["IR35221 regulator producing the Vio rail"],
83                    "id": "vio_regulator",
84                    "is_regulator": true,
85                    "fru": "system/chassis/motherboard/regulator2",
86                    "i2c_interface": {
87                        "bus": 1,
88                        "address": "0x71"
89                    },
90                    "rails": [
91                        {
92                            "comments": ["Vio rail"],
93                            "id": "vio",
94                            "configuration": {
95                                "volts": 1.1,
96                                "rule_id": "set_voltage_rule"
97                            },
98                            "sensor_monitoring": {
99                                "rule_id": "read_sensors_rule"
100                            }
101                        }
102                    ]
103                }
104            ]
105        }
106    ]
107}
108