| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- .. SPDX-License-Identifier: GPL-2.0+:
- bind command
- ============
- Synopsis
- --------
- ::
- bind <node path> <driver>
- bind <class> <index> <driver>
- Description
- -----------
- The bind command is used to bind a device to a driver. This makes the
- device available in U-Boot.
- While binding to a *node path* typically provides a working device
- binding by parent node and driver may lead to a device that is only
- partially initialized.
- node path
- path of the device's device-tree node
- class
- device class name
- index
- index of the parent device in the device class
- driver
- device driver name
- Example
- -------
- Given a system with a real time clock device with device path */pl031@9010000*
- and using driver rtc-pl031 unbinding and binding of the device is demonstrated
- using the two alternative bind syntaxes.
- .. code-block::
- => dm tree
- Class Index Probed Driver Name
- -----------------------------------------------------------
- root 0 [ + ] root_driver root_driver
- ...
- rtc 0 [ ] rtc-pl031 |-- pl031@9010000
- ...
- => fdt addr $fdtcontroladdr
- Working FDT set to 7ed7fdb0
- => fdt print
- / {
- interrupt-parent = <0x00008003>;
- model = "linux,dummy-virt";
- #size-cells = <0x00000002>;
- #address-cells = <0x00000002>;
- compatible = "linux,dummy-virt";
- ...
- pl031@9010000 {
- clock-names = "apb_pclk";
- clocks = <0x00008000>;
- interrupts = <0x00000000 0x00000002 0x00000004>;
- reg = <0x00000000 0x09010000 0x00000000 0x00001000>;
- compatible = "arm,pl031", "arm,primecell";
- };
- ...
- }
- => unbind /pl031@9010000
- => date
- Cannot find RTC: err=-19
- => dm tree
- Class Index Probed Driver Name
- -----------------------------------------------------------
- root 0 [ + ] root_driver root_driver
- ...
- => bind /pl031@9010000 rtc-pl031
- => dm tree
- Class Index Probed Driver Name
- -----------------------------------------------------------
- root 0 [ + ] root_driver root_driver
- ...
- rtc 0 [ ] rtc-pl031 |-- pl031@9010000
- => date
- Date: 2023-06-22 (Thursday) Time: 15:14:51
- => unbind rtc 0 rtc-pl031
- => bind root 0 rtc-pl031
- => date
- Date: 1980-08-19 (Tuesday) Time: 14:45:30
- Obviously the device is not initialized correctly by the last bind command.
- Configuration
- -------------
- The bind command is only available if CONFIG_CMD_BIND=y.
- Return code
- -----------
- The return code $? is 0 (true) on success and 1 (false) on failure.
|