[PATCH 1/1] sunxi: Pine64-LTS: SMBIOS properties

Heinrich Schuchardt xypron.glpk at gmx.de
Mon Jun 1 18:20:08 CEST 2020


On 6/1/20 4:43 PM, André Przywara wrote:
> On 01/06/2020 14:56, Heinrich Schuchardt wrote:
>> Provide accurate values of the manufacturer and the product name.
>>
>> PINE Microsystems Inc. is referred to on https://www.pine64.org/contact/.
>
> While this patch looks alright, I wonder if we can just use the "model"
> property in the DT's root node, at least for the product name? This
> would not only avoid every defconfig to be touched, but would also cover
> all other platforms (at least ARM based ones, probably PPC and MIPS as
> well).

The relevant code is in lib/smbios.c. For boards that follow the driver
model you could read the model node here. But that would unnecessarily
increase the code size of the resulting binary. I doubt this would find
Tom's sympathy. So you would have to generate the value at compile time.
I have no clue how to do that.

The model property for the PINE A64 LTS is "Pine64 LTS" while the board
is called "PINE A64-LTS" by the manufacturer
(https://www.pine64.org/devices/single-board-computers/pine-a64-lts/).
So this approach does not lead to the correct result.

>
> The manufacturer is less straight-forward to handle generically, but the
> string before the comma in the DT root's compatible property should give
> a hint. The Linux kernel contains a machine readable list of those
> prefixes: Documentation/devicetree/bindings/vendor-prefixes.yaml
> So we could pick the vendor at compile time based on that.
> Of course any config could still overwrite this.

SMBIOS_MANUFACTURER defaults to SYS_VENDOR which is defined as "sunxi".

The Linux vendor-prefix exists for ARM64 and is missing for the ARM
architecture. So this cannot be a general solution.

For the Pine64 A64-LTS the vendor-prefix is "allwinner". Neither "sunxi"
nor "Allwinner" is the manufacturer of the PINE A64-LTS board.

You have to set SMBIOS_MANUFACTURER on the board level.

>
> Does that make sense?
> If people agree, I could try to make a patch for that.

Please, reconsider the patch as is.

Best regards

Heinrich

>
> Cheers,
> Andre.
>
>>
>> Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
>> ---
>>  configs/pine64-lts_defconfig | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/configs/pine64-lts_defconfig b/configs/pine64-lts_defconfig
>> index ef108a1a31..a8ff34a376 100644
>> --- a/configs/pine64-lts_defconfig
>> +++ b/configs/pine64-lts_defconfig
>> @@ -8,8 +8,10 @@ CONFIG_DRAM_ZQ=3881949
>>  CONFIG_MMC0_CD_PIN=""
>>  CONFIG_MMC_SUNXI_SLOT_EXTRA=2
>>  CONFIG_SPL_SPI_SUNXI=y
>> +CONFIG_SMBIOS_PRODUCT_NAME="PINE A64-LTS"
>>  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
>>  CONFIG_DEFAULT_DEVICE_TREE="sun50i-a64-pine64-lts"
>>  CONFIG_SUN8I_EMAC=y
>>  CONFIG_USB_EHCI_HCD=y
>>  CONFIG_USB_OHCI_HCD=y
>> +CONFIG_SMBIOS_MANUFACTURER="PINE Microsystems Inc."
>> --
>> 2.26.2
>>
>



More information about the U-Boot mailing list