[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e4356c5e89492eb690e3dc863ba281bd@milecki.pl>
Date: Wed, 13 Jul 2022 12:50:55 +0200
From: Rafał Miłecki <rafal@...ecki.pl>
To: William Zhang <william.zhang@...adcom.com>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
Linux ARM List <linux-arm-kernel@...ts.infradead.org>,
kursad.oney@...adcom.com, anand.gore@...adcom.com,
dan.beygelman@...adcom.com, f.fainelli@...il.com,
Broadcom Kernel List <bcm-kernel-feedback-list@...adcom.com>,
joel.peshkin@...adcom.com,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Rob Herring <robh+dt@...nel.org>, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [RFC PATCH 1/3] dt-bindings: arm64: bcmbca: Merge BCM4908 into
BCMBCA
On 2022-07-13 02:57, William Zhang wrote:
> On 7/12/22 11:18, Krzysztof Kozlowski wrote:
>> On 12/07/2022 19:37, William Zhang wrote:
>>>>> + - description: BCM4908 Family based boards
>>>>> + items:
>>>>> + - enum:
>>>>> + # BCM4908 SoC based boards
>>>>> + - brcm,bcm94908
>>>>> + - asus,gt-ac5300
>>>>> + - netgear,raxe500
>>>>> + # BCM4906 SoC based boards
>>>>> + - brcm,bcm94906
>>>>> + - netgear,r8000p
>>>>> + - tplink,archer-c2300-v1
>>>>> + - enum:
>>>>> + - brcm,bcm4908
>>>>> + - brcm,bcm4906
>>>>> + - brcm,bcm49408
>>>>
>>>> This is wrong. brcm,bcm94908 followed by brcm,bcm4906 does not look
>>>> like valid list of compatibles.
>>>>
>>> For 4908 board variant, it will need to be followed by 4908 chip.
>>> Sorry
>>> for the basic question but is there any requirement to enforce this
>>> kind
>>> of rule? I would assume dts writer know what he/she is doing and
>>> select
>>> the right combination.
>>
>> The entire point of DT schema is to validate DTS. Combination like
>> above
>> prevents that goal.
>>
>> Best regards,
>> Krzysztof
> Understand the DT schema purpose. But items property allows multiple
> enums in the list which gives a lot of flexibility but make it hard to
> validate. I am not familiar with DT schema, is there any directive to
> specify one enum value depending on another so dts validation tool can
> report error if combination is wrong?
>
> This is our preferred format of all bcmbca compatible string
> especially when we could have more than 10 chip variants for the same
> chip family and we really want to work on the chip family id. We will
> make sure they are in the right combination in our own patch and patch
> from other contributors. Would this work? If not, I will probably have
> to revert the change of 4908(maybe append brcm,bcmbca as this chip
> belongs to the same bca group) and use "enum board variant", "const
> main chip id", "brcm,bca" for all other chips as our secondary choice.
I'm not sure why I didn't even receive 1/3 and half of discussion
e-mails.
You can't just put all strings into a single bag and allow mixing them
in any combos. Please check how it's properly handled in the current
existing binding:
Documentation/devicetree/bindings/arm/bcm/brcm,bcm4908.yaml
Above binding enforces that non-matching compatible strings are not used
together.
Powered by blists - more mailing lists