.. SPDX-License-Identifier: GPL-2.0+: bind command ============ Synopsis -------- :: bind bind 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.