xref: /openbmc/entity-manager/docs/blacklist_configuration.md (revision cefe4bb6b95624a4d1691cfdba075fff4fdb39f8)
1# Blacklist Configuration
2
3The blacklist.json in package directory can determine i2c buses and addresses
4that should not be scanned by FruDevice. An integer blocks an entire bus from
5being scanned. A bus/addresses object can block specific addresses on the bus
6while allowing scanning others addresses on the same bus.
7
8## For buses
9
10Put in numbers of buses. For example:
11
12```json
13{
14  "buses": [1, 3, 5]
15}
16```
17
18Note that "buses" should be an array of unsigned integer.
19
20## For addresses
21
22Put in bus and addresses with this format:
23
24```json
25{
26  "buses": [
27    {
28      "bus": 3,
29      "addresses": ["0x30", "0x40"]
30    },
31    {
32      "bus": 5,
33      "addresses": ["0x55"]
34    }
35  ]
36}
37```
38
39Note that "bus" should be an unsigned integer and "addresses" be an array of
40string of hex. Addresses can also be blocked on all busses. In this case, they
41should be strings of hex, just like specifying an address on a bus. This is
42useful for when you may not know the bus ahead of time, such as when adding
43busses dynamically through the addition of an i2c-mux through a new_device node.
44
45```json
46{
47  "addresses": ["0x70", "0x71"]
48}
49```
50
51This example will not query addresses 0x70 or 0x71 on any bus.
52
53## For both
54
55```json
56{
57  "buses": [
58    1,
59    {
60      "bus": 3,
61      "addresses": ["0x30", "0x40"]
62    }
63  ],
64  "addresses": ["0x71"]
65}
66```
67
68This example will skip addresses 0x30 and 0x40 on bus 3, all devices on bus 1,
69and all devices at address 0x71.
70