xref: /openbmc/phosphor-bmc-code-mgmt/bios/README.md (revision 7e446a407a579ec72f48009008ad2f83c01c2262)
1# SPI Device Update Daemon
2
3This daemon is for updating SPI flash chips commonly used for Host Bios.
4
5## Configuration Example 1 (Tyan S8030)
6
7This is an example EM Exposes record which can appear on dbus as
8
9```
10xyz.openbmc_project.Configuration.SPIFlash
11```
12
13```json
14{
15  "Name": "HostSPIFlash",
16  "SPIControllerIndex": "1",
17  "SPIDeviceIndex": "0",
18  "HasME": false,
19  "MuxOutputs": ["BMC_SPI_SEL"],
20  "MuxGPIOValues": [1],
21  "VendorIANA": "6653",
22  "Layout": "Flat",
23  "Tool": "flashrom",
24  "FirmwareInfo": {
25    "VendorIANA": "6653",
26    "CompatibleHardware": "com.tyan.Hardware.S8030.SPI.Host"
27  },
28  "Type": "SPIFlash"
29}
30```
31
32- 'HasME' is referring to the Intel Management Engine.
33
34## Layout information
35
36Sometimes another tool is needed if one does not have a flat image. Use "Layout"
37property to give that hint. Possible values:
38
39- "Flat" : No tool, flat image. This can be used for example when we want to
40  write a flash image which was previously dumped.
41
42## Tool information
43
44We can directly write to the mtd device or use flashrom to do the writing.
45