From patchwork Wed Oct 1 13:01:29 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: 71351 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 5AC37CCA470 for ; Wed, 1 Oct 2025 13:03:12 +0000 (UTC) Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) by mx.groups.io with SMTP id smtpd.web11.17053.1759323698248670013 for ; Wed, 01 Oct 2025 06:01:38 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20230601 header.b=h1IQ1LfA; spf=pass (domain: gmail.com, ip: 209.85.128.53, mailfrom: joao.raul.434@gmail.com) Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-46e2e363118so69042775e9.0 for ; Wed, 01 Oct 2025 06:01:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1759323697; x=1759928497; 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=h1IQ1LfAZi3oQHIGiZTWdO0c2UbPackDfw3OrpLgUMfSSlBxvUfbE7ypdpPU2ieQ9S dfUjrvw3HodxtFDwNyzA0OQQIBHXii51SySMoAJoqHsZBXR0QmqgkinNO73UhGdlTu6d zuzDGggf6eP0TBi6x/E57pVfrXw9BgkWfoy02PtRqzi5yl8Kna937mS18wsFwDhbci3l N9cfZdMxfUz1/M6NmTTqX8qIIIADXllhLpN5+xPqQFBYqurz3LT65RejxyvAxRmN8FHa P/PKpmpYM4vZ8QgWFgPKVOvKRqrJiluFkjNFQojxwAdC6wQ0iKeu/259xJpb/wVch+tB O6lA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759323697; x=1759928497; 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=BaUeq3QKL9FlnqNKTVDUvXHKnISP4mQtoMF5P+dOk/x9dYFBAWU0qweT6Nn/jyzEJT cDDU+9TX2cbtJv3Vy26B4kHG60veEzAdbQ7yGpuKx0nxvf5U8JUG7+kxamrpHMBZeSnP h+Dee3ggPUclxQx7Vj8jIxH0lxTWZSsjrQuGQmm/+7mQnSYefJDb0bU60pPAEQm6YZQ4 KZed+B73isS0Ec/9DbKnhiwzMiJ/xMgGVQMhWpcHP57s8Cp4yRi90NRPkDvuU2E29JAR WTJmXRQ8Of5o1DRVKtZffmuVwxQDrryfwb0uu5zU53K6sethbtGNEQEZM8FYDF8kVVCG ojbQ== X-Forwarded-Encrypted: i=1; AJvYcCW/DzLyt42Lq88Q3XCM7MsrNtq4Vo77HMDSEhresye6UUzr0qq4Glfkje+BxBJp6PSFtulkWxiqzsCpOaXoMV3JgrY=@lists.openembedded.org X-Gm-Message-State: AOJu0YwQHvLlKHAReiUQBLzam+BBNnbQELbZz556zk3VlFvIwxD6f+Ux yQDxaBDKa2Qnem9PWmZVm559JrAzWWbhAcowyk8V71e1t/JneTKUbVcJ X-Gm-Gg: ASbGncsykLoGR43/gKMVBo4S7ASNG/Fqka6QjTSI0957KuahGjXonG7eilGg/TaOBvu 9nB3Y4AbBveh8hzAiHL5Lb1SsDqqDpj9tJ8GjPTc1O1NgNrGMoTyGFbWk8GZb/hGre/jk7mchwp J2HZ66+FbD4aebKXDmcaaIexwiyVmbjmmVy8iXVGQRnYWobsXA2rR/qNKDyb3RepB7jtJZ/Pzhl jmvsTVNRdSk1o5LuZroKSXN2aEbps+JLIpR3aNKMnz2erq1lTbhKnwi4g502OQ6aNG8jyEAksQC AA6v4qJ1Q+6NgQTxwrEHBb7bXFaXkIeEVqK76JaBeLnSYzUp+4Lngxe/WKMnQHq7fXixk3mIh2o 9kf2LGtRqTgHfsMwW7jHIQa+lsXbIP9Lrgb3uyhYMi4mch6AVILtVgGymoDYwJ4kcX0Qu2DtFnr xaMzwogkxbsZO/bXgib6fPGbgZKxb154PPi0S4E/blPLlsVw== X-Google-Smtp-Source: AGHT+IHmcErybvyTLQbBpiFkqjp4I4Kdl+7HIVbQJ7XyPXMxvoocTm45eoeXg7gucxiDoTopb2lKIg== X-Received: by 2002:a05:600c:a118:b0:46e:3f75:da49 with SMTP id 5b1f17b1804b1-46e613dd423mr20566945e9.37.1759323694750; Wed, 01 Oct 2025 06:01:34 -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 5b1f17b1804b1-46e5b633afdsm35865545e9.2.2025.10.01.06.01.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Oct 2025 06:01:33 -0700 (PDT) From: " =?utf-8?b?TGltYSwgSm/Do28=?= " X-Google-Original-From: =?utf-8?b?TGltYSwgSm/Do28=?= To: 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 14:01:29 +0100 Message-ID: <20251001130129.1638-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 13:03:12 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/120105 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"