@@ -42,51 +42,105 @@ extern "C" {
4242 * This is the mandatory API any Serial Wire driver needs to expose.
4343 */
4444struct 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