blob: c6d6aa55e7fa8fe4b69d3e4dbbab3c0db4f2b9ee [file] [log] [blame]
# Copyright (c) 2019 Phytec Messtechnik GmbH
# Copyright (c) 2023 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
description: |
This is a representation of the Serial Wire Debug Port interface
implementation by GPIO bit-banging.
Schematic using dual-supply bus transceiver and separate dout and dnoe pins
VCC_3V3 VCC_REF
^ ^
| +-------------+ |
+-------|vcca vccb|-----+
| |
clk-gpios -------|a b|-------------- SWD CLK
| |
noe-gpios -------|dir gnd|-----+
+-------------+ |
74LVC1T45 v
GND
VCC_3V3 VCC_REF
^ ^
| +-------------+ |
+-------|vcca vccb|-----+
| |
dio-gpios -------|a b|------------*- SWD DIO
| | |
+-------|dir gnd|-----+ |
| +-------------+ | |
v 74LVC1T45 v |
GND GND |
|
|
VCC_3V3 VCC_REF |
^ ^ |
| +-------------+ | |
+-------|vcca vccb|-----+ |
| | |
dout-gpios -------|a b|------------+
| |
dnoe-gpios -------|dir gnd|-----+
+-------------+ |
74LVC1T45 v
GND
Direct connection using only dio pin for SWD DIO.
clk-gpios ------------------------------------ SWD CLK
dio-gpios ------------------------------------ SWD DIO
Of course, bidirectional bus transceiver between dio and SWD DIO can also be
used together with noe pin to enable/disable transceivers.
compatible: "zephyr,swdp-gpio"
include: base.yaml
properties:
clk-gpios:
type: phandle-array
required: true
description: GPIO pin used for SWCLK output
dio-gpios:
type: phandle-array
required: true
description: |
GPIO pin used for SWDIO input. This pin is also used for the SWDIO output
if separate output pin is not defined.
dout-gpios:
type: phandle-array
description: |
Optional GPIO pin used for SWDIO output.
dnoe-gpios:
type: phandle-array
description: |
GPIO pin used to disable the SWDIO output buffer behind optional
pin dout-gpios.
noe-gpios:
type: phandle-array
description: |
Optional pin to disable all bus transceivers if any are present.
reset-gpios:
type: phandle-array
description: |
Optional GPIO pin used for RESET output.
port-write-cycles:
type: int
required: true
description: |
Number of processor cycles for I/O Port write operations.For example, the
GPIO clock may be different from the CPU clock. This can usually be
found in the SoC documentation.