This migrates the subsys code samples to the new Sphinx code-sample extension, making it easier to find relevant samples when browsing API reference. Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
84 lines
2.1 KiB
ReStructuredText
84 lines
2.1 KiB
ReStructuredText
.. zephyr:code-sample:: usb-c-source
|
|
:name: Basic USB-C Source
|
|
:relevant-api: _usbc_device_api
|
|
|
|
Implement a USB-C Power Delivery application in the form of a USB-C Source.
|
|
|
|
Overview
|
|
********
|
|
|
|
This example demonstrates how to create a USB-C Power Delivery application
|
|
using the USB-C subsystem. The application implements a USB-C Source device.
|
|
|
|
After a USB-C Sink device is plugged into the USB-C Source device, it
|
|
negotiates with the Source device to provide 5V at 100mA, 9V at 100mA,
|
|
or 15V at 100mA and the Requested Data Object (RDO) provided by the Source
|
|
is displayed.
|
|
|
|
.. _usb-c-source-sample-requirements:
|
|
|
|
Requirements
|
|
************
|
|
The TCPC device used by the sample is specified in the devicetree
|
|
node that's compatible with ``usb-c-connector``.
|
|
The sample has been tested on ``stm32g081b_eval``.
|
|
An overlay file is provided.
|
|
|
|
Building and Running
|
|
********************
|
|
|
|
Build and flash as follows, changing ``stm32g081b_eval`` for your board:
|
|
|
|
.. zephyr-app-commands::
|
|
:zephyr-app: samples/subsys/usb_c/source
|
|
:board: stm32g081b_eval
|
|
:goals: build flash
|
|
:compact:
|
|
|
|
Connect a sink device and see console output:
|
|
|
|
Sample Output
|
|
=============
|
|
|
|
.. code-block:: console
|
|
|
|
PRL_TX_SUSPEND
|
|
PRL_HR_SUSPEND
|
|
PE_SUSPEND
|
|
UnattachedWait.SRC
|
|
Unattached.SRC
|
|
AttachWait.SRC
|
|
Attached.SRC
|
|
PE_SRC_Startup
|
|
PRL_INIT
|
|
PRL_HR_Wait_for_Request
|
|
PRL_Tx_PHY_Layer_Reset
|
|
PRL_Tx_Wait_for_Message_Request
|
|
PE_SRC_Send_Capabilities
|
|
PRL_Tx_Wait_for_PHY_response
|
|
PRL_Tx_Wait_for_Message_Request
|
|
PE_SRC_Discover
|
|
PE_SRC_Send_Capabilities
|
|
PRL_Tx_Wait_for_PHY_response
|
|
RECV 1042/1
|
|
[0]1300280a
|
|
PRL_Tx_Wait_for_Message_Request
|
|
PE_SRC_Negotiate_Capability
|
|
PE_SRC_Transition_Supply
|
|
PRL_Tx_Wait_for_PHY_response
|
|
RECV 0441/0
|
|
PRL_Tx_Wait_for_Message_Request
|
|
PE_SRC_Ready
|
|
PRL_Tx_Wait_for_PHY_response
|
|
RECV 0641/0
|
|
PRL_Tx_Wait_for_Message_Request
|
|
REQUEST RDO: 1300280a
|
|
Object Position: 1
|
|
Giveback: 0
|
|
Capability Mismatch: 0
|
|
USB Comm Capable: 1
|
|
No USB Suspend: 1
|
|
Unchunk Ext MSG Support: 0
|
|
Operating Current: 100 mA
|
|
Min Operating Current: 100 mA
|