50 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
.. SPDX-License-Identifier: GPL-2.0+
 | 
						|
.. sectionauthor:: Patrice Chotard <patrice.chotard@foss.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
 |