[PATCH v4 06/13] smbios: Add documentation and devicetree binding
Simon Glass
sjg at chromium.org
Thu Oct 22 16:19:41 CEST 2020
Add information about how to set SMBIOS properties using the devicetree.
Signed-off-by: Simon Glass <sjg at chromium.org>
---
(no changes since v1)
doc/arch/x86.rst | 8 +++
doc/device-tree-bindings/sysinfo/smbios.txt | 77 +++++++++++++++++++++
2 files changed, 85 insertions(+)
create mode 100644 doc/device-tree-bindings/sysinfo/smbios.txt
diff --git a/doc/arch/x86.rst b/doc/arch/x86.rst
index c6b70ce61a3..cc307aa8d5e 100644
--- a/doc/arch/x86.rst
+++ b/doc/arch/x86.rst
@@ -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
index 00000000000..b5223228025
--- /dev/null
+++ b/doc/device-tree-bindings/sysinfo/smbios.txt
@@ -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";
+ };
+ };
+};
--
2.29.0.rc1.297.gfa9743e501-goog
More information about the U-Boot
mailing list