README.rst
1.. zephyr:code-sample:: usb-c-sink
2 :name: Basic USB-C Sink
3 :relevant-api: _usbc_device_api
4
5 Implement a USB-C Power Delivery application in the form of a USB-C Sink.
6
7Overview
8********
9
10This example demonstrates how to create a USB-C Power Delivery application and
11how to generate USB VIF policies in XML format using the USB-C subsystem. The
12application implements a USB-C Sink device.
13
14After the USB-C Sink device is plugged into a Power Delivery charger, it
15negotiates with the charger to provide 5V@100mA and displays all
16Power Delivery Objects (PDOs) provided by the charger.
17
18.. _usb-c-sink-sample-requirements:
19
20Requirements
21************
22The TCPC device used by the sample is specified in the devicetree
23node that's compatible with ``usb-c-connector``.
24The sample has been tested on :ref:`b_g474e_dpow1_board` and
25:ref:`stm32g081b_eval_board`. Overlay files for the two boards
26are provided.
27
28Building and Running
29********************
30
31Build and flash as follows, changing ``b_g474e_dpow1`` for your board:
32
33.. zephyr-app-commands::
34 :zephyr-app: samples/subsys/usb_c/sink
35 :board: b_g474e_dpow1
36 :goals: build flash
37 :compact:
38
39Connect a charger and see console output:
40
41Sample Output
42=============
43
44.. code-block:: console
45
46 Unattached.SNK
47 AttachWait.SNK
48 Attached.SNK
49 PE_SNK_Startup
50 PRL_INIT
51 PRL_HR_Wait_for_Request
52 PRL_Tx_PHY_Layer_Reset
53 PRL_Tx_Wait_for_Message_Request
54 PE_SNK_Discovery
55 PE_SNK_Wait_For_Capabilities
56 RECV 4161/4 [0]0a01912c [1]0002d12c [2]0004b12c [3]000640e1
57 PE_SNK_Evaluate_Capability
58 PE_SNK_Select_Capability
59 PRL_Tx_Wait_for_PHY_response
60 PWR 3A0
61
62 RECV 0363/0
63 PRL_Tx_Wait_for_Message_Request
64 PE_SNK_Transition_Sink
65 RECV 0566/0
66 Source Caps:
67 PDO 0:
68 Type: FIXED
69 Current: 3000
70 Voltage: 5000
71 Peak Current: 0
72 Uchunked Support: 0
73 Dual Role Data: 1
74 USB Comms: 0
75 Unconstrained Pwr: 1
76 USB Susspend: 0
77 Dual Role Power: 0
78 PDO 1:
79 Type: FIXED
80 Current: 3000
81 Voltage: 9000
82 Peak Current: 0
83 Uchunked Support: 0
84 Dual Role Data: 0
85 USB Comms: 0
86 Unconstrained Pwr: 0
87 USB Susspend: 0
88 Dual Role Power: 0
89 PDO 2:
90 Type: FIXED
91 Current: 3000
92 Voltage: 15000
93 Peak Current: 0
94 Uchunked Support: 0
95 Dual Role Data: 0
96 USB Comms: 0
97 Unconstrained Pwr: 0
98 USB Susspend: 0
99 Dual Role Power: 0
100 PDO 3:
101 Type: FIXED
102 Current: 2250
103 Voltage: 20000
104 Peak Current: 0
105 Uchunked Support: 0
106 Dual Role Data: 0
107 USB Comms: 0
108 Unconstrained Pwr: 0
109 USB Susspend: 0
110 Dual Role Power: 0
111 PE_SNK_Ready
112