From patchwork Wed Oct 1 08:54:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?TGltYSwgSm/Do28=?= X-Patchwork-Id: 71339 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2F581CCD185 for ; Wed, 1 Oct 2025 09:36:11 +0000 (UTC) Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.54]) by mx.groups.io with SMTP id smtpd.web11.12499.1759309277047553719 for ; Wed, 01 Oct 2025 02:01:17 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20230601 header.b=C266b4Bb; spf=pass (domain: gmail.com, ip: 209.85.218.54, mailfrom: joao.raul.434@gmail.com) Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-b3be330b1f5so797944466b.1 for ; Wed, 01 Oct 2025 02:01:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1759309275; x=1759914075; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=GnR/9GLFCMdQv1cUqzM4QFVhxyHwZKCQZ7byKLM7E90=; b=C266b4Bb9BNB9k+BN4vV+z4Ggoo0IKMiBIwSQg4+FKDQKeVUnfvPppFRP9glXMBVhm Iaojt5NIMOE83m2C+qBuxeLsBUyq1f1hPopU9K8Yb99v5QUPZOMD7IWeOuLRUIcvMHbd FF6DsLb25zPfhwOPH3s6VWPH3i0DMIJlx/Z/+s7AZhwhKTuxBNGw1KZ2rjUJe+vUoIzV tDk3ZDTRELAFqTP4sNxW53DmPFW9XCGY06MXcZqiIzzpd/nFAqTF+1rrB1m3OMtBD618 Ou2t+2SEsFAP/jtOACXW1UvOgeBpIuE/17Oz6BMxDA3ZMuDzEvo2kxPbTjzLyI4vccKs HK0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759309275; x=1759914075; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=GnR/9GLFCMdQv1cUqzM4QFVhxyHwZKCQZ7byKLM7E90=; b=hmAtsgvzZTRHneSxflbQ3Y+t5ybHYyshkXCdOzvnekRlJUMGxVQe+Bi8Br0LNOQ83z 97YWn3IT+h6nw/rX9V3caH2zdv5oecFNsb8wEj0yaxRveyFeip67uqmyzwhSS1qTUmwQ bgWivbTwAJ5J8J0/HnafZnYDZcSmsD4FLJOFMFEzxF/L0k0+WFt9w43xXgllwAnPP+pe XR7MB3OrS9AW5BJ25wIcIIfyYAEBlufNeDOCx6PqM89E2ikOkehj75CeR6mtFNg7CUsx LfFGDYK2zjBnnM7w84Qas7N2e0MxZCzZrrkkiB/+EdNWuf1kL6glLVJT1IWoU25x84q/ geNA== X-Forwarded-Encrypted: i=1; AJvYcCVG7cfbEfYXXg6PD7NYAoB2gZq6N4n2G2yO1LpmdxAvqXsxPT/sqV3Y+0NY5dHUfl4wlHPTQ1wTBnTb96/bzlE0m5E=@lists.openembedded.org X-Gm-Message-State: AOJu0Yx/arUBiqs5DK7EvutyTJ4BPdp0AElW4/E4mdG0ujMYeXqHAv32 mOoOf2T4wWfoGjgTEBuuypefWpxtDchq+sywOBl0goChzDrvvWAnV+89nt0fQ1jx X-Gm-Gg: ASbGnctMviRQ4AlEyK4eSaOhgSpQcrhUpfPsaPGBZJbyMCONqvPdrokktJAEYj40rGg PGiJdwpDisDlXCU9ExhTbMM6QcSyd8U5XErHlD2MxZUiWyUT0Ojttk/cOwNgFxg76F99ovtPerd MVk6PTEaVyXO51BxqRqF8gPiac+yN01g5JjtvaKiA23DljiOhNYmnNv4hG7Rwc86lmBFCfd3b3/ O2B9WNuqKFCynuzSH0AZIW3vDivoTtW71zhsqXMfvOGOKKt5OGa17fTsY4Es7DAh45UlLtCxFqN 9DrXbR80ImHJvGQlZiyQZc+5qpuoqKG6BAI/PzlTq22fEAxhn7rCKUpm366YEd9wqKaHY8Kj2kK pfCsodgmXhOk92C58On3lEMD6hUxERTWIkToPRAsxhYlmFICNDizIULq9LH0ubb+kqOmiQZ1EdE Y8B5vhVGZtl17HTD0+WpZh/QDxW0hBJFwwQRGFQII9pfpTJg== X-Google-Smtp-Source: AGHT+IGSb2gDoMdQP21T9Fyf8XHlRBgUMvkQL18yBP0+q1KeSUDhlb+cyCTQbF0XQt9Lm4yPh2Xqjw== X-Received: by 2002:a5d:5f53:0:b0:3eb:b80c:cea0 with SMTP id ffacd0b85a97d-425577ee980mr1665604f8f.4.1759308901643; Wed, 01 Oct 2025 01:55:01 -0700 (PDT) Received: from RD-8dhlsmLpT3bz.corp.hbkworld.com (89-181-200-223.net.novis.pt. [89.181.200.223]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-40fb72facf9sm26892840f8f.13.2025.10.01.01.55.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Oct 2025 01:55:01 -0700 (PDT) From: " =?utf-8?b?TGltYSwgSm/Do28=?= " X-Google-Original-From: =?utf-8?b?TGltYSwgSm/Do28=?= To: randy.macleod@windriver.com, tgamblin@baylibre.com, joao.lima@hbkworld.com, openembedded-devel@lists.openembedded.org Cc: raj.khem@gmail.com Subject: [meta-oe][PATCH 2/3] openocd: add dmem support to am64xx and j784s4 platforms Date: Wed, 1 Oct 2025 09:54:56 +0100 Message-ID: <20251001085458.250-1-joao.lima@hbkworld.com> X-Mailer: git-send-email 2.51.0.windows.1 MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 01 Oct 2025 09:36:11 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/120098 From: Joao Lima Platform support patches: - Add SWD native configuration files for AM64x and J784s4 boards - Configure DMEM access parameters in ti_k3.cfg for direct memory operations - Set up DAPBUS debugger and emulated AP descriptions Signed-off-by: Joao Lima --- ...wd_native.cfg-Add-support-for-direct.patch | 77 +++++++++++++++++++ ....cfg-Add-support-for-direct-memory-a.patch | 65 ++++++++++++++++ .../recipes-devtools/openocd/openocd_git.bb | 2 + 3 files changed, 144 insertions(+) create mode 100644 meta-oe/recipes-devtools/openocd/openocd/0001-tcl-board-ti_-_swd_native.cfg-Add-support-for-direct.patch create mode 100644 meta-oe/recipes-devtools/openocd/openocd/0002-tcl-target-ti_k3.cfg-Add-support-for-direct-memory-a.patch diff --git a/meta-oe/recipes-devtools/openocd/openocd/0001-tcl-board-ti_-_swd_native.cfg-Add-support-for-direct.patch b/meta-oe/recipes-devtools/openocd/openocd/0001-tcl-board-ti_-_swd_native.cfg-Add-support-for-direct.patch new file mode 100644 index 0000000000..8a3b72321f --- /dev/null +++ b/meta-oe/recipes-devtools/openocd/openocd/0001-tcl-board-ti_-_swd_native.cfg-Add-support-for-direct.patch @@ -0,0 +1,77 @@ +From 5c55d79ecfecc4a1b5a5ebcf649227ca1e1bf38e Mon Sep 17 00:00:00 2001 +From: Joao Lima +Date: Tue, 30 Sep 2025 12:13:04 +0000 +Subject: [PATCH 1/2] tcl/board/ti_*_swd_native.cfg: Add support for direct + memory access via SW + +Add support for SWD emulation as a transport method for +direct memory operations of boards TI AM64x and TI J784s4 + +Upstream-Status: Submitted [http://openocd.zylin.com/#/c/9020/] + +Change-Id: I17fe9b2bef5c58886625bfdb88d92645ba4d7da7 +Signed-off-by: Joao Lima +--- + tcl/board/ti_am64xx_swd_native.cfg | 23 +++++++++++++++++++++++ + tcl/board/ti_j784s4_swd_native.cfg | 22 ++++++++++++++++++++++ + 2 files changed, 45 insertions(+) + create mode 100644 tcl/board/ti_am64xx_swd_native.cfg + create mode 100644 tcl/board/ti_j784s4_swd_native.cfg + +diff --git a/tcl/board/ti_am64xx_swd_native.cfg b/tcl/board/ti_am64xx_swd_native.cfg +new file mode 100644 +index 000000000..d3727149e +--- /dev/null ++++ b/tcl/board/ti_am64xx_swd_native.cfg +@@ -0,0 +1,23 @@ ++# SPDX-License-Identifier: GPL-2.0-or-later ++# Copyright (C) 2022-2023 Texas Instruments Incorporated - http://www.ti.com/ ++# ++# Texas Instruments am642 ++# Link: https://www.ti.com/product/AM642 ++# ++# This configuration file is used as a self hosted debug configuration that ++# works on every AM642 platform based on firewall configuration permitted ++# in the system. ++# ++# In this system openOCD runs on one of the CPUs inside AM625 and provides ++# network ports that can then be used to debug the microcontrollers on the ++# SoC - either self hosted IDE OR remotely. ++ ++# We are using dmem, which uses dapdirect_swd transport ++adapter driver dmem ++transport select swd ++ ++if { ![info exists SOC] } { ++ set SOC am642 ++} ++ ++source [find target/ti_k3.cfg] +diff --git a/tcl/board/ti_j784s4_swd_native.cfg b/tcl/board/ti_j784s4_swd_native.cfg +new file mode 100644 +index 000000000..13b2ac3b8 +--- /dev/null ++++ b/tcl/board/ti_j784s4_swd_native.cfg +@@ -0,0 +1,22 @@ ++# SPDX-License-Identifier: GPL-2.0-or-later ++# Copyright (C) 2022-2023 Texas Instruments Incorporated - http://www.ti.com/ ++# ++# Texas Instruments TDA4VM/J721E ++# Link: https://www.ti.com/product/TDA4VM ++# ++# This configuration file is used as a self hosted debug configuration that ++# works on every TDA4VM platform based on firewall configuration permitted ++# in the system. ++# ++# In this system openOCD runs on one of the CPUs inside TDA4VM and provides ++# network ports that can then be used to debug the microcontrollers on the ++# SoC - either self hosted IDE OR remotely. ++ ++# We are using dmem, which uses dapdirect_swd transport ++adapter driver dmem ++transport select swd ++ ++if { ![info exists SOC] } { ++ set SOC j784s4 ++} ++source [find target/ti_k3.cfg] diff --git a/meta-oe/recipes-devtools/openocd/openocd/0002-tcl-target-ti_k3.cfg-Add-support-for-direct-memory-a.patch b/meta-oe/recipes-devtools/openocd/openocd/0002-tcl-target-ti_k3.cfg-Add-support-for-direct-memory-a.patch new file mode 100644 index 0000000000..c879696ef5 --- /dev/null +++ b/meta-oe/recipes-devtools/openocd/openocd/0002-tcl-target-ti_k3.cfg-Add-support-for-direct-memory-a.patch @@ -0,0 +1,65 @@ +From 39bc4461642eaaf993d0a6cf772d51cdde8c0ae8 Mon Sep 17 00:00:00 2001 +From: Joao Lima +Date: Tue, 30 Sep 2025 12:13:30 +0000 +Subject: [PATCH 2/2] tcl/target/ti_k3.cfg: Add support for direct memory + access via SWD + +Adds support for direct memory access via SWD emulation for AM64x and +J784s4 boards, configuring addresses and parameters required for +direct memory operations. + +Upstream-Status: Submitted [http://openocd.zylin.com/#/c/9021/] + +Change-Id: Iebc16612b3990b2ef19ddc4143b66ab1bcbfe0f3 +Signed-off-by: Joao Lima +--- + tcl/target/ti_k3.cfg | 22 +++++++++++++++++++++- + 1 file changed, 21 insertions(+), 1 deletion(-) + +diff --git a/tcl/target/ti_k3.cfg b/tcl/target/ti_k3.cfg +index 0dee74e5e..6b0ac2e52 100644 +--- a/tcl/target/ti_k3.cfg ++++ b/tcl/target/ti_k3.cfg +@@ -176,6 +176,16 @@ switch $_soc { + # Uses the same JTAG ID + set _armv8_cores 0 + } ++ ++ # Setup DMEM access descriptions ++ # DAPBUS (Debugger) description ++ set _dmem_base_address 0x740002000 ++ set _dmem_ap_address_offset 0x100 ++ set _dmem_max_aps 10 ++ # Emulated AP description ++ set _dmem_emu_base_address 0x760000000 ++ set _dmem_emu_base_address_map_to 0x1d500000 ++ set _dmem_emu_ap_list 1 + } + am625 { + set _K3_DAP_TAPID 0x0bb7e02f +@@ -333,7 +343,7 @@ switch $_soc { + set ARMV8_CTIBASE {0x90420000 0x90520000 0x90620000 0x90720000 + 0x90820000 0x90920000 0x90a20000 0x90b20000} + +- # J721s2 has 4 clusters of 2 R5 cores each. ++ # J784s4 has 4 clusters of 2 R5 cores each. + set _r5_cores 8 + set R5_DBGBASE {0x9d010000 0x9d012000 + 0x9d410000 0x9d412000 +@@ -348,6 +358,16 @@ switch $_soc { + main1_r5.0 main1_r5.1 + main2_r5.0 main2_r5.1} + ++ # Setup DMEM access descriptions ++ # DAPBUS (Debugger) description ++ set _dmem_base_address 0x4c40002000 ++ set _dmem_ap_address_offset 0x100 ++ set _dmem_max_aps 8 ++ # Emulated AP description ++ set _dmem_emu_base_address 0x4c60000000 ++ set _dmem_emu_base_address_map_to 0x1d600000 ++ set _dmem_emu_ap_list 1 ++ + # sysctrl CTI base + set CM3_CTIBASE {0x20001000} + # Sysctrl power-ap unlock offsets diff --git a/meta-oe/recipes-devtools/openocd/openocd_git.bb b/meta-oe/recipes-devtools/openocd/openocd_git.bb index 2c07273940..846d2f62c5 100644 --- a/meta-oe/recipes-devtools/openocd/openocd_git.bb +++ b/meta-oe/recipes-devtools/openocd/openocd_git.bb @@ -9,6 +9,8 @@ SRC_URI = " \ git://repo.or.cz/r/git2cl.git;protocol=http;destsuffix=tools/git2cl;name=git2cl;branch=master \ git://github.com/msteveb/jimtcl.git;protocol=https;destsuffix=git/jimtcl;name=jimtcl;branch=master \ git://repo.or.cz/r/libjaylink.git;protocol=http;destsuffix=git/src/jtag/drivers/libjaylink;name=libjaylink;branch=master \ + file://0001-tcl-board-ti_-_swd_native.cfg-Add-support-for-direct.patch \ + file://0002-tcl-target-ti_k3.cfg-Add-support-for-direct-memory-a.patch \ " SRCREV_FORMAT = "openocd"