Skip to content

Commit a4f7311

Browse files
maxd-nordicjfischer-no
authored andcommitted
drivers: swdp: document API
This patch adds documentation for the SWDP API. Signed-off-by: Maximilian Deubel <[email protected]> Signed-off-by: Johann Fischer <[email protected]>
1 parent b469d41 commit a4f7311

File tree

1 file changed

+69
-15
lines changed

1 file changed

+69
-15
lines changed

include/zephyr/drivers/swdp.h

Lines changed: 69 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -42,51 +42,105 @@ extern "C" {
4242
* This is the mandatory API any Serial Wire driver needs to expose.
4343
*/
4444
struct swdp_api {
45-
/* Generate SWJ Sequence according to sequence bit count and bit data */
45+
/**
46+
* @brief Write count bits to SWDIO from data LSB first
47+
*
48+
* @param dev SWDP device
49+
* @param count Number of bits to write
50+
* @param data Bits to write
51+
* @return 0 on success, or error code
52+
*/
4653
int (*swdp_output_sequence)(const struct device *dev,
4754
uint32_t count,
4855
const uint8_t *data);
4956

50-
/* Read count bits from SWDIO into data LSB first */
57+
/**
58+
* @brief Read count bits from SWDIO into data LSB first
59+
*
60+
* @param dev SWDP device
61+
* @param count Number of bits to read
62+
* @param data Buffer to store bits read
63+
* @return 0 on success, or error code
64+
*/
5165
int (*swdp_input_sequence)(const struct device *dev,
5266
uint32_t count,
5367
uint8_t *data);
5468

55-
/*
56-
* Perform SWDP transfer based on host request value and store
57-
* acknowledge response bits ACK[0:2].
69+
/**
70+
* @brief Perform SWDP transfer and store response
71+
*
72+
* @param dev SWDP device
73+
* @param request SWDP request bits
74+
* @param data Data to be transferred with request
75+
* @param idle_cycles Idle cycles between request and response
76+
* @param response Buffer to store response (ACK/WAIT/FAULT)
77+
* @return 0 on success, or error code
5878
*/
5979
int (*swdp_transfer)(const struct device *dev,
6080
uint8_t request,
6181
uint32_t *data,
6282
uint8_t idle_cycles,
6383
uint8_t *response);
6484

65-
/* Set SWCLK, SWDPIO, and nRESET pins state */
85+
/**
86+
* @brief Set SWCLK, SWDPIO, and nRESET pins state
87+
* @note The bit positions are defined by the SWDP_*_PIN macros.
88+
*
89+
* @param dev SWDP device
90+
* @param pins Bitmask of pins to set
91+
* @param value Value to set pins to
92+
* @return 0 on success, or error code
93+
*/
6694
int (*swdp_set_pins)(const struct device *dev,
6795
uint8_t pins, uint8_t value);
6896

69-
/* Get SWCLK, SWDPIO, and nRESET pins state */
97+
/**
98+
* @brief Get SWCLK, SWDPIO, and nRESET pins state
99+
* @note The bit positions are defined by the SWDP_*_PIN macros.
100+
*
101+
* @param dev SWDP device
102+
* @param state Place to store pins state
103+
* @return 0 on success, or error code
104+
*/
70105
int (*swdp_get_pins)(const struct device *dev, uint8_t *state);
71106

72-
/* Set SWCLK frequency */
107+
/**
108+
* @brief Set SWDP clock frequency
109+
*
110+
* @param dev SWDP device
111+
* @param clock Clock frequency in Hz
112+
* @return 0 on success, or error code
113+
*/
73114
int (*swdp_set_clock)(const struct device *dev, uint32_t clock);
74115

75-
/*
76-
* Configure interface, line turnaround and whether data phase is
77-
* forced after WAIN and FAULT response.
116+
/**
117+
* @brief Configure SWDP interface
118+
*
119+
* @param dev SWDP device
120+
* @param turnaround Line turnaround cycles
121+
* @param data_phase Always generate Data Phase (also on WAIT/FAULT)
122+
* @return 0 on success, or error code
78123
*/
79124
int (*swdp_configure)(const struct device *dev,
80125
uint8_t turnaround,
81126
bool data_phase);
82127

83-
/*
84-
* Enable interface, set SWDPIO to output mode
85-
* and set SWCLK and nRESET to default high level.
128+
/**
129+
* @brief Enable interface, set pins to default state
130+
*
131+
* @note SWDPIO is set to output mode, SWCLK and nRESET are set to high level.
132+
*
133+
* @param dev SWDP device
134+
* @return 0 on success, or error code
86135
*/
87136
int (*swdp_port_on)(const struct device *dev);
88137

89-
/* Disables interface, set SWCLK, SWDPIO, nRESET to High-Z mode. */
138+
/**
139+
* @brief Disable interface, set pins to High-Z mode
140+
*
141+
* @param dev SWDP device
142+
* @return 0 on success, or error code
143+
*/
90144
int (*swdp_port_off)(const struct device *dev);
91145
};
92146

0 commit comments

Comments
 (0)