[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4c419118-83f8-4263-9d7c-8aef02908430@kernel.org>
Date: Thu, 21 Nov 2024 08:49:11 +0100
From: Krzysztof Kozlowski <krzk@...nel.org>
To: Cheng Jiang <quic_chejiang@...cinc.com>,
Marcel Holtmann <marcel@...tmann.org>,
Luiz Augusto von Dentz <luiz.dentz@...il.com>, Rob Herring
<robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>,
Balakrishna Godavarthi <quic_bgodavar@...cinc.com>,
Rocky Liao <quic_rjliao@...cinc.com>, quic_zijuhu@...cinc.com
Cc: linux-bluetooth@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-msm@...r.kernel.org,
quic_mohamull@...cinc.com
Subject: Re: [PATCH v2 1/4] dt-bindings: bluetooth: add 'qcom,product-variant'
On 21/11/2024 05:06, Cheng Jiang wrote:
> Hi Krzysztof,
>
> On 11/21/2024 12:47 AM, Krzysztof Kozlowski wrote:
>> On 20/11/2024 10:54, Cheng Jiang wrote:
>>> Several Qualcomm projects will use the same Bluetooth chip, each
>>> focusing on different features. For instance, consumer projects
>>> prioritize the A2DP SRC feature, while IoT projects focus on the A2DP
>>> SINK feature, which may have more optimizations for coexistence when
>>> acting as a SINK. Due to the patch size, it is not feasible to include
>>> all features in a single firmware.
>>>
>>> Therefore, the 'product-variant' devicetree property is used to provide
>>> product information for the Bluetooth driver to load the appropriate
>>> firmware.
>>>
>>> If this property is not defined, the default firmware will be loaded,
>>> ensuring there are no backward compatibility issues with older
>>> devicetrees.
>>>
>>> The product-variant defines like this:
>>> 0 - 15 (16 bits) are product line specific definitions
>>> 16 - 23 (8 bits) are for the product line.
>>> 24 - 31 (8 bits) are reserved for future use, 0 currently
>>>
>>> |---------------------------------------------------------------------|
>>> | 32 Bits |
>>> |---------------------------------------------------------------------|
>>> | 31 - 24 (bits) | 23 - 16 (bits) | 15 - 0 (16 bits) |
>>> |---------------------------------------------------------------------|
>>> | Reserved | 0: default | 0: default |
>>> | | 1: CE | |
>>> | | 2: IoT | |
>>> | | 3: Auto | |
>>> | | 4: Reserved | |
>>> |---------------------------------------------------------------------|
>>>
>>> Signed-off-by: Cheng Jiang <quic_chejiang@...cinc.com>
>>> ---
>>> .../bindings/net/bluetooth/qualcomm-bluetooth.yaml | 6 ++++++
>>> 1 file changed, 6 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml b/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml
>>> index 7bb68311c609..9019fe7bcdc6 100644
>>> --- a/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml
>>> +++ b/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml
>>> @@ -110,6 +110,12 @@ properties:
>>> description:
>>> boot firmware is incorrectly passing the address in big-endian order
>>>
>>> + qcom,product-variant:
>>> + $ref: /schemas/types.yaml#/definitions/uint32
>>> + description:
>>> + specify the product information for driver to load the appropriate firmware
>>
>> Nah, you have firmware-name for this.
>>
> Currently "firmware-name" is used to specifythe nvm (config) file only,
> we also need to specify the rampatch file (TLV).
>
> Can we re-use the "firmware-name"? add two segments like the following?
> firmware-name = "rampatch_xx.tlv", "nvm_xx.bin";
>
> Or add a new property to specify the rampatch file?
> rampatch-name = "rampatch_xx.tlv";
You can grow the property, it's a list. Order of items in the list must
be fixed (specific), though. See other Qualcomm remoteproc PAS loaders
which already use two entries.
Best regards,
Krzysztof
Powered by blists - more mailing lists