Zephyr API Documentation 4.3.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
dap_link.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: Copyright The Zephyr Project Contributors
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
11
12#ifndef ZEPHYR_INCLUDE_DAP_DAP_LINK_H
13#define ZEPHYR_INCLUDE_DAP_DAP_LINK_H
14
15#include <stdint.h>
16#include <zephyr/device.h>
17#include <zephyr/drivers/swdp.h>
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
31
37struct dap_link_context {
38 /* Pointer to SWD or JTAG device. Only SWD is supported yet. */
39 const struct device *dev;
41 /* Runtime debug port type */
42 uint8_t debug_port;
43 /* Debug port capabilities */
44 uint8_t capabilities;
45 /* Packet size used by a backend */
46 uint16_t pkt_size;
47 struct {
48 /* Idle cycles after transfer */
49 uint8_t idle_cycles;
50 /* Number of retries after WAIT response */
51 uint16_t retry_count;
52 /* Number of retries if read value does not match */
53 uint16_t match_retry;
54 /* Match Mask */
55 uint32_t match_mask;
56 } transfer;
57};
58
60
74#define DAP_LINK_CONTEXT_DEFINE(ctx_name, ctx_dev) \
75 static struct dap_link_context ctx_name = { \
76 .dev = ctx_dev, \
77 }
78
86int dap_link_init(struct dap_link_context *const dap_link_ctx);
87
95void dap_link_set_pkt_size(struct dap_link_context *const dap_link_ctx,
96 const uint16_t pkt_size);
97
105int dap_link_backend_usb_init(struct dap_link_context *const dap_link_ctx);
106
107#ifdef __cplusplus
108}
109#endif
110
112
113#endif /* ZEPHYR_INCLUDE_DAP_DAP_LINK_H */
long atomic_t
Definition atomic_types.h:15
int dap_link_backend_usb_init(struct dap_link_context *const dap_link_ctx)
Initialize DAP Link USB backend.
void dap_link_set_pkt_size(struct dap_link_context *const dap_link_ctx, const uint16_t pkt_size)
Set packet size used by a DAP Link backend.
int dap_link_init(struct dap_link_context *const dap_link_ctx)
Initialize DAP Link.
state
Definition parser_state.h:29
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
__UINT16_TYPE__ uint16_t
Definition stdint.h:89
Main header file for SWDP (Serial Wire Debug Port) driver API.