[PATCH] mach-snapdragon: Update fdtfile logic to work for RB1 and RB2

neil.armstrong at linaro.org neil.armstrong at linaro.org
Mon May 5 09:26:09 CEST 2025


On 05/05/2025 09:23, Neil Armstrong via groups.io wrote:
> Hi,
> 
> On 23/04/2025 07:11, Sumit Garg wrote:
>> From: Sumit Garg <sumit.garg at oss.qualcomm.com>
>>
>> RB1 and RB2 have three root compatibles where the last one can't be used
>> to decode fdtfile name (qcm* vs qrb*). So rather just rely on the first
>> compatible to retrieve the SoC name.
> 
> OK, so "soc" would be qcm2290 instead of qrb2210, what's the problem since
> you have "board" with "qrb2210-rb1" ?
> 
> What is the difference between qcm2290 & qrb2210 that affects U-boot ?
> 
> Same for qrb4210 vs sm4250.
> 
> If you have a custom board code, you can still match on the root compatible.

Forget my comment, it affects the fdtfile construction....

> 
> Neil
> 
>>
>> Signed-off-by: Sumit Garg <sumit.garg at oss.qualcomm.com>
>> ---
>>   arch/arm/mach-snapdragon/board.c | 12 ++++++++++--
>>   1 file changed, 10 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/arm/mach-snapdragon/board.c b/arch/arm/mach-snapdragon/board.c
>> index deae4d32378..dc8220e89b4 100644
>> --- a/arch/arm/mach-snapdragon/board.c
>> +++ b/arch/arm/mach-snapdragon/board.c
>> @@ -437,16 +437,24 @@ static void configure_env(void)
>>       /* The Qualcomm reference boards (RBx, HDK, etc)  */
>>       if (!strncmp("qcom", buf, strlen("qcom"))) {
>> +        char *soc;
>> +
>>           /*
>>            * They all have the first compatible as "qcom,<soc>-<board>"
>>            * (e.g. "qcom,qrb5165-rb5"). We extract just the part after
>>            * the dash.
>>            */
>> -        if (!strsep(&tmp, "-")) {
>> +        if (!strsep(&tmp, ",")) {
>> +            log_warning("compatible '%s' has no ','\n", buf);
>> +            return;
>> +        }
>> +        soc = strsep(&tmp, "-");
>> +        if (!soc) {
>>               log_warning("compatible '%s' has no '-'\n", buf);
>>               return;
>>           }
>> -        /* tmp is now "rb5" */
>> +
>> +        env_set("soc", soc);

OK, so you should move the other env_set("soc", ...) code in the other else branch
to avoid having a double env_set("soc", ...)

>>           env_set("board", tmp);
>>       } else {
>>           if (!strsep(&tmp, ",")) {
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#1677): https://groups.io/g/u-boot-qcom/message/1677
> Mute This Topic: https://groups.io/mt/112410772/900740
> Group Owner: u-boot-qcom+owner at groups.io
> Unsubscribe: https://groups.io/g/u-boot-qcom/leave/13197875/900740/1403832380/xyzzy [neil.armstrong at linaro.org]
> -=-=-=-=-=-=-=-=-=-=-=-
> 
> 



More information about the U-Boot mailing list