{"id":2223155,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2223155/?format=json","web_url":"http://patchwork.ozlabs.org/project/uboot/patch/20260414153612.754646-1-kory.maincent@bootlin.com/","project":{"id":18,"url":"http://patchwork.ozlabs.org/api/1.1/projects/18/?format=json","name":"U-Boot","link_name":"uboot","list_id":"u-boot.lists.denx.de","list_email":"u-boot@lists.denx.de","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<20260414153612.754646-1-kory.maincent@bootlin.com>","date":"2026-04-14T15:36:11","name":"[v2] board: ti: cape_detect: Add overlay name lookup table for extension boards","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"c0c131948e4a9aa442cb7dc554b4dbc55558d485","submitter":{"id":80520,"url":"http://patchwork.ozlabs.org/api/1.1/people/80520/?format=json","name":"Kory Maincent","email":"kory.maincent@bootlin.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/uboot/patch/20260414153612.754646-1-kory.maincent@bootlin.com/mbox/","series":[{"id":499861,"url":"http://patchwork.ozlabs.org/api/1.1/series/499861/?format=json","web_url":"http://patchwork.ozlabs.org/project/uboot/list/?series=499861","date":"2026-04-14T15:36:11","name":"[v2] board: ti: cape_detect: Add overlay name lookup table for extension boards","version":2,"mbox":"http://patchwork.ozlabs.org/series/499861/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2223155/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2223155/checks/","tags":{},"headers":{"Return-Path":"<u-boot-bounces@lists.denx.de>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=bootlin.com header.i=@bootlin.com header.a=rsa-sha256\n header.s=dkim header.b=GkFtAe63;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)","phobos.denx.de;\n dmarc=pass (p=reject dis=none) header.from=bootlin.com","phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de","phobos.denx.de;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=bootlin.com header.i=@bootlin.com header.b=\"GkFtAe63\";\n\tdkim-atps=neutral","phobos.denx.de;\n dmarc=pass (p=reject dis=none) header.from=bootlin.com","phobos.denx.de;\n spf=pass smtp.mailfrom=kory.maincent@bootlin.com"],"Received":["from phobos.denx.de (phobos.denx.de\n [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fw7fg0z3lz1y2d\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 15 Apr 2026 01:36:27 +1000 (AEST)","from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id D5F9A84201;\n\tTue, 14 Apr 2026 17:36:23 +0200 (CEST)","by phobos.denx.de (Postfix, from userid 109)\n id 9E8398421D; Tue, 14 Apr 2026 17:36:23 +0200 (CEST)","from smtpout-04.galae.net (smtpout-04.galae.net [185.171.202.116])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id 884A8841CD\n for <u-boot@lists.denx.de>; Tue, 14 Apr 2026 17:36:21 +0200 (CEST)","from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233])\n by smtpout-04.galae.net (Postfix) with ESMTPS id 11AF6C5AAAF\n for <u-boot@lists.denx.de>; Tue, 14 Apr 2026 15:36:58 +0000 (UTC)","from mail.galae.net (mail.galae.net [212.83.136.155])\n by smtpout-01.galae.net (Postfix) with ESMTPS id CC93660410;\n Tue, 14 Apr 2026 15:36:20 +0000 (UTC)","from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon)\n with ESMTPSA id 4D99310451174;\n Tue, 14 Apr 2026 17:36:18 +0200 (CEST)"],"X-Spam-Checker-Version":"SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de","X-Spam-Level":"","X-Spam-Status":"No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,\n DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED,\n RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,\n SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim;\n t=1776180980; h=from:subject:date:message-id:to:cc:mime-version:\n content-transfer-encoding; bh=sGU4ZqTzwrK0tsENZS8xfQyl2/iJF4BkFW81I3BdIZw=;\n b=GkFtAe63IztuqT6PUlboP/Pr6mgw6jn6xAMes9R8beBE7/TGeiW99kNORNgratzt1xCTeL\n qtkUsLVvKuqSe9GaJue41+0IR64lyLXey/qlr6EPdOZWKiwtVsaOC49BwTuu9byZAaUKNA\n B5yqN+spMySUgVnpnIcHWqP8/yswXodYvIK4D8oR5bGFo4AiUxtCNZ/SZWTq1vH9fq2Rtn\n d4V4q7EWWpMvRSnBkCEdG5qdAelM8G6/FHw3KE1l/4tMqj3dx8p+2y20i8iG9ojUhgD0pV\n 3mLnh6x8EJ4XEwH80KbBttJZoRJygjgT4uaY+AVI5fKaBtKkttrGBnUIZBLHIg==","From":"Kory Maincent <kory.maincent@bootlin.com>","To":"u-boot@lists.denx.de","Cc":"Bajjuri Praneeth <praneeth@ti.com>,\n Robert Nelson <robertcnelson@gmail.com>, Andrew Davis <afd@ti.com>,\n Jason Kridner <jkridner@beagleboard.org>,\n \"Kory Maincent (TI)\" <kory.maincent@bootlin.com>,\n thomas.petazzoni@bootlin.com, Tom Rini <trini@konsulko.com>,\n Marian Cingel <cingel.marian@gmail.com>","Subject":"[PATCH v2] board: ti: cape_detect: Add overlay name lookup table for\n extension boards","Date":"Tue, 14 Apr 2026 17:36:11 +0200","Message-ID":"<20260414153612.754646-1-kory.maincent@bootlin.com>","X-Mailer":"git-send-email 2.43.0","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-Last-TLS-Session-Version":"TLSv1.3","X-BeenThere":"u-boot@lists.denx.de","X-Mailman-Version":"2.1.39","Precedence":"list","List-Id":"U-Boot discussion <u-boot.lists.denx.de>","List-Unsubscribe":"<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>","List-Archive":"<https://lists.denx.de/pipermail/u-boot/>","List-Post":"<mailto:u-boot@lists.denx.de>","List-Help":"<mailto:u-boot-request@lists.denx.de?subject=help>","List-Subscribe":"<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>","Errors-To":"u-boot-bounces@lists.denx.de","Sender":"\"U-Boot\" <u-boot-bounces@lists.denx.de>","X-Virus-Scanned":"clamav-milter 0.103.8 at phobos.denx.de","X-Virus-Status":"Clean"},"content":"From: \"Kory Maincent (TI)\" <kory.maincent@bootlin.com>\n\nSome extension boards have EEPROM part numbers that do not directly match\ntheir devicetree overlay filenames. Introduce a static name_mapping table\nand a set_cape_overlay() helper that translates the part number and version\nstrings read from the EEPROM into the correct overlay filename.\n\nWhen no entry matches, fall back to the existing behavior of constructing\nthe overlay name as \"<part_number>-<version>.dtbo\" directly from the\nEEPROM content.\n\nAdd an initial entry mapping BB-GREEN-HDMI revision 00A0 to\nam335x-bone-hdmi-00a0.dtbo.\n\nSigned-off-by: Kory Maincent (TI) <kory.maincent@bootlin.com>\n---\n\nChanges in v2:\n- Use ARRAY_SIZE instead of null-terminated array.\n- Declare the function static\n---\n board/ti/common/cape_detect.c | 42 +++++++++++++++++++++++++++++++++--\n 1 file changed, 40 insertions(+), 2 deletions(-)","diff":"diff --git a/board/ti/common/cape_detect.c b/board/ti/common/cape_detect.c\nindex 88fa6ae81f0..65bd6ef39ec 100644\n--- a/board/ti/common/cape_detect.c\n+++ b/board/ti/common/cape_detect.c\n@@ -13,6 +13,44 @@\n \n #include \"cape_detect.h\"\n \n+struct name_mapping {\n+\tchar part_number[17];\n+\tchar version[5];\n+\tchar overlay[64];\n+};\n+\n+static struct name_mapping extension_mapping[] = {\n+\t{\n+\t\t\"BB-GREEN-HDMI\",\n+\t\t\"00A0\",\n+\t\t\"am335x-bone-hdmi-00a0.dtbo\",\n+\t}\n+};\n+\n+static void set_cape_overlay(char *overlay, char *part_number, char *version)\n+{\n+\tstruct name_mapping *mapping;\n+\n+\tfor (int i = 0; i < ARRAY_SIZE(extension_mapping); i++) {\n+\t\tmapping = &extension_mapping[i];\n+\n+\t\tif (strncmp(mapping->part_number, part_number,\n+\t\t\t    sizeof(mapping->part_number)))\n+\t\t\tcontinue;\n+\n+\t\tif (strncmp(mapping->version, version,\n+\t\t\t    sizeof(mapping->version)))\n+\t\t\tcontinue;\n+\n+\t\tstrlcpy(overlay, mapping->overlay, sizeof(mapping->overlay));\n+\t\treturn;\n+\t}\n+\n+\t/* Use default name extracted from the EEPROM */\n+\tsnprintf(overlay, sizeof(extension_mapping[0].overlay), \"%s-%s.dtbo\",\n+\t\t part_number, version);\n+}\n+\n static void sanitize_field(char *text, size_t size)\n {\n \tchar *c = NULL;\n@@ -82,8 +120,8 @@ static int ti_extension_board_scan(struct udevice *dev,\n \n \t\tprintf(\"BeagleBone Cape: %s (0x%x)\\n\", eeprom_header.board_name, addr);\n \n-\t\tsnprintf(cape.overlay, sizeof(cape.overlay), \"%s-%s.dtbo\",\n-\t\t\t process_cape_part_number, process_cape_version);\n+\t\tset_cape_overlay(cape.overlay, process_cape_part_number,\n+\t\t\t\t process_cape_version);\n \t\tstrlcpy(cape.name, eeprom_header.board_name,\n \t\t\tsizeof(eeprom_header.board_name));\n \t\tstrlcpy(cape.version, process_cape_version,\n","prefixes":["v2"]}