The enhanced BT reset feature builds upon the previous software-based BT reset by adding support for hardware pin resets. To maintain compatibility with existing projects that still use the software BT reset, both methods are supported. When performing a BT reset, the system first checks whether the Device Tree Source (DTS) is configured with the appropriate settings. If the specified compatible and BT reset GPIO are defined in the DTS, the system will pull the designated GPIO pin low for at least 200ms, then pull it high to trigger the BT reset. If these settings are not configured, the system will fall back to the original software BT reset methods. Compared with the previously submitted version, the following information are some specific revision histories V4-->V5 modifications: -Modify the comments mentioned in v1. -Modify dt_binding files and make dt binding a separate patch. V3-->V4 modifications: Modify dt binding format information and the explanation text in the patch V2-->V3 modifications: -Changed the capitalization of co-developer names, using the correct capitalization of abbreviations and full name, and corrected obvious spelling errors. -Add a revision history. -Remove the "BT Driver" in the prefix. -Add the bt-binding document, include inforamtion related to reset pin and compatibility matching. -Add a comment before the schedule_delayed_work function call, although schedule_delayed_work is asynchronous, there is no risk. Even if it is not completed within 200ms, it will only postpone the subsequent probe and will not have any impact. -Add a comment before the btmtk_reset_by_gpio function call, if the compatibility filed or pin cannot be found in the dts files, it can still reset bluetooth using software reset. V2 modifications: Modify gpio to GPIO, SW to software, and fix other obvious spelling errors. -- 2.46.0