]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
smbios: Add documentation and devicetree binding
authorSimon Glass <sjg@chromium.org>
Thu, 5 Nov 2020 13:32:10 +0000 (06:32 -0700)
committerBin Meng <bmeng.cn@gmail.com>
Fri, 6 Nov 2020 02:18:20 +0000 (10:18 +0800)
Add information about how to set SMBIOS properties using the devicetree.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
doc/arch/x86.rst
doc/device-tree-bindings/sysinfo/smbios.txt [new file with mode: 0644]

index c6b70ce61a320c3854803e296662735ba4ff3d47..cc307aa8d5eb99692beeed97da5133718bec105d 100644 (file)
@@ -740,6 +740,14 @@ Note that this is a development feature only. It is not intended for use in
 production environments. Also it is not currently part of the automated tests
 so may break in the future.
 
+SMBIOS tables
+-------------
+
+To generate SMBIOS tables in U-Boot, for use by the OS, enable the
+CONFIG_GENERATE_SMBIOS_TABLE option. The easiest way to provide the values to
+use is via the device tree. For details see
+device-tree-bindings/sysinfo/smbios.txt
+
 TODO List
 ---------
 - Audio
diff --git a/doc/device-tree-bindings/sysinfo/smbios.txt b/doc/device-tree-bindings/sysinfo/smbios.txt
new file mode 100644 (file)
index 0000000..b522322
--- /dev/null
@@ -0,0 +1,77 @@
+SMBIOS sysinfo information
+==========================
+
+This binding allows the values for the SMBIOS tables to be specified in the
+devicetree, as below.
+
+Required properties:
+
+  - compatible: "u-boot,smbios" or any other string depending on your board
+
+This driver allows providing board-specific features such as power control
+GPIOs. In addition, the SMBIOS values can be specified in the device tree,
+as below:
+
+An optional 'smbios' subnode can be used to provide these properties. Within
+that, the properties are broken down by table type, as in the System Management
+BIOS (Basic Input/Output System) Specification.
+
+Available subnodes for each table type are:
+
+  - 1 : system
+  - 2 : baseboard
+  - 3 : chassis
+
+Within each subnode the following tables are recognised:
+
+"system" subnode optional properties:
+
+  - manufacturer: Product manufacturer for system
+  - product:      Product name
+  - version:      Product version string
+  - serial:       Serial number for system (note that this can be overridden by
+                      the serial# environment variable)
+  - sku:          Product SKU (Stock-Keeping Unit)
+  - family:       Product family
+
+"baseboard" subnode optional properties:
+
+  - manufacturer: Product manufacturer for baseboard
+  - product:      Product name
+  - asset-tag:    Asset tag for the motherboard, sometimes used in organisations
+                      to track devices
+
+"chassis" subnode optional properties:
+
+  - manufacturer: Product manufacturer for chassis
+
+
+Example:
+
+sysinfo {
+       compatible = "sandbox,sysinfo-sandbox";
+
+       smbios {
+               /* Type 1 table */
+               system {
+                       manufacturer = "Google";
+                       product = "Coral";
+                       version = "rev2";
+                       serial = "123456789";
+                       sku = "sku3";
+                       family = "Google_Coral";
+               };
+
+               /* Type 2 table */
+               baseboard {
+                       manufacturer = "Google";
+                       product = "Coral";
+                       asset-tag = "ABC123";
+               };
+
+               /* Type 3 table */
+               chassis {
+                       manufacturer = "Google";
+               };
+       };
+};