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

André Przywara andre.przywara at arm.com
Thu Oct 8 15:26:58 CEST 2020


On 08/10/2020 14:10, Heinrich Schuchardt wrote:

Hi,

> On 14.06.20 17:48, Heinrich Schuchardt wrote:
>> On 6/1/20 6:20 PM, Heinrich Schuchardt wrote:
>>> 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.
>>
>> Hello Andr+e
>>
>> any comments?
>>
>> Best regards
>>
>> Heinrich
> 
> 
> Hello Andre,
> 
> did you work on your idea of using the model property? Or can Jagan take
> the patch as is?

No, I didn't have time to tackle this yet.

So yes, please Jagan, take this patch as it.

Cheers,
Andre

>>
>>>
>>> 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