Hi,

On 23/04/2025 07:11, Sumit Garg wrote:
From: Sumit Garg <sumit.g...@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.

Neil


Signed-off-by: Sumit Garg <sumit.g...@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);
                env_set("board", tmp);
        } else {
                if (!strsep(&tmp, ",")) {

Reply via email to