Hi Heinrich, On Fri, 2 Oct 2020 at 08:57, Heinrich Schuchardt <xypron.g...@gmx.de> wrote: > > On 02.10.20 16:23, Simon Glass wrote: > > Add information about how to set SMBIOS properties using the devicetree. > > > > Signed-off-by: Simon Glass <s...@chromium.org> > > --- > > > > (no changes since v1) > > > > doc/arch/x86.rst | 8 +++++ > > doc/device-tree-bindings/board/board_x86.txt | 36 ++++++++++++++++++++ > > 2 files changed, 44 insertions(+) > > create mode 100644 doc/device-tree-bindings/board/board_x86.txt > > > > diff --git a/doc/arch/x86.rst b/doc/arch/x86.rst > > index c6b70ce61a3..45f9ba308c7 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/board/board_x86.txt > > + > > TODO List > > --------- > > - Audio > > diff --git a/doc/device-tree-bindings/board/board_x86.txt > > b/doc/device-tree-bindings/board/board_x86.txt > > new file mode 100644 > > index 00000000000..3766751896a > > --- /dev/null > > +++ b/doc/device-tree-bindings/board/board_x86.txt > > @@ -0,0 +1,36 @@ > > +x86 board driver > > +================ > > + > > +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. > > + > > +Optional properties: > > + - manufacturer: Product manufacturer for system / baseboard > > + - 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 > > + - asset-tag: Asset tag for the motherboard, sometimes used in > > organisations > > + to track devices > > + > > + > > +Example: > > + > > + board { > > + compatible = "google,coral"; > > + > > + smbios { > > I think board is the wrong place for the new node. > > SMBIOS also includes chassis, processor and other information. We may > opt to provide non-board information in future via the device-tree.
I think of board as the whole thing. Are you thinking of it just being the circuit board? > > If this is for U-Boot internal only usage, we should indicate this in > the label name. All drivers are for U-Boot-internal use, right? Or are you saying you don't want this information to appear in the upstream bindings? > > So it could be like: > > /u-boot-smbios { compatible string? > bios {}; > system {}; > board { > manufacturer = "Hardkernel Co., Ltd."; > product = "ODROID-C2"; > ... > }; > chassis {}; > processor {}; > boot {}; > }; > > > + manufacturer = "Google"; > > + product = "Coral"; > > + version = "rev2"; > > + serial = "123456789"; > > + sku = "sku3"; > > + family = "Google_Coral"; > > + asset-tag = "ABC123"; > > + }; > > + }; > > > > SMBIOS is not x86 specific. On ARM we are also passing an SMBIOS table. > > On my Odroid C2 dmidecode shows the information provided by U-Boot: Oh dear. Legacy never dies. It never occurred to me that this would be used on ARM. > > .... > Handle 0x0001, DMI type 1, 27 bytes > System Information > Manufacturer: Hardkernel Co., Ltd. > Product Name: ODROID-C2 > Version: Not Specified > ... > Wake-up Type: Reserved > SKU Number: Not Specified > Family: Not Specified > .... > > > So doc/device-tree-bindings/board/board_x86.txt is the wrong place to > document the new device tree node. > > Why not create a document doc/device-tree-bindings/smbios.rst for it? OK I can do that. I'll await your thoughts on the above. Regards, Simon