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@xxxxxxxxxxx> >>> --- >>> .../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