mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-23 10:28:51 +09:00
![Patrice Chotard](/assets/img/avatar_default.png)
Add documentation in doc/drivel-model for the bind/unbind command.
Part of this documentation is extracted from original patch commit
message:
commit 49c752c93a
("cmd: Add bind/unbind commands to bind a device to a driver from the command line")
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
50 lines
1.5 KiB
ReStructuredText
50 lines
1.5 KiB
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0+
|
|
.. sectionauthor:: Patrice Chotard <patrice.chotard@st.com>
|
|
|
|
Binding/unbinding a driver
|
|
==========================
|
|
|
|
This document aims to describe the bind and unbind commands.
|
|
|
|
For debugging purpose, it should be useful to bind or unbind a driver from
|
|
the U-boot command line.
|
|
|
|
The unbind command calls the remove device driver callback and unbind the
|
|
device from its driver.
|
|
|
|
The bind command binds a device to its driver.
|
|
|
|
In some cases it can be useful to be able to bind a device to a driver from
|
|
the command line.
|
|
The obvious example is for versatile devices such as USB gadget.
|
|
Another use case is when the devices are not yet ready at startup and
|
|
require some setup before the drivers are bound (ex: FPGA which bitsream is
|
|
fetched from a mass storage or ethernet)
|
|
|
|
usage:
|
|
|
|
bind <node path> <driver>
|
|
bind <class> <index> <driver>
|
|
|
|
unbind <node path>
|
|
unbind <class> <index>
|
|
unbind <class> <index> <driver>
|
|
|
|
Where:
|
|
- <node path> is the node's device tree path
|
|
- <class> is one of the class available in the list given by the "dm uclass"
|
|
command or first column of "dm tree" command.
|
|
- <index> is the index of the parent's node (second column of "dm tree" output).
|
|
- <driver> is the driver name to bind given by the "dm drivers" command or the by
|
|
the fourth column of "dm tree" output.
|
|
|
|
example:
|
|
|
|
bind usb_dev_generic 0 usb_ether
|
|
unbind usb_dev_generic 0 usb_ether
|
|
or
|
|
unbind eth 1
|
|
|
|
bind /ocp/omap_dwc3@48380000/usb@48390000 usb_ether
|
|
unbind /ocp/omap_dwc3@48380000/usb@48390000
|