driver: add BCUResetDriver to support bcu tool
Description Implementation of BCUResetDriver which uses bcu tool: https://github.com/nxp-imx/bcu . This tool can be used on boards like i.MX8DXL or i.MX8MP in order to change the boot switches configuration: put the board in download mode, in sd mode, emmc mode an so on.
How this was tested locally:
- Connect one i.MX8DXL board to local workstation ; board already has plugged in an SDcard with a bootable image and also has a bootable image on the emmc ;
- Find out board serial using dmesg and unplug/plug serial cable ; third interface is the one for 8dxl main console - configured port /dev/ttyUSB2 in local.yaml (check example)
- Find out how to configure reset port using bcu lsftdi (3-11.3) and bcu lsboard (imx8dxlevk)
- Run example test: pytest -s --verbose --tb=short --lg-log=examples/bcu --lg-env examples/bcu/local.yaml examples/bcu/bcu_example.py
Also, we use this change(driver) in our labgrid setup/farm and it is running in CI and for clients for 3 years - so multiple scenarios were tested. We have it using remote resources case. The example in this PR is for local usage.
Checklist
- [x] Documentation for the feature
- [x] Examples for the feature
- [x] The arguments and description in doc/configuration.rst have been updated
- [x] PR has been tested
- [x] Man pages have been regenerated
Hi ! What is the flow for submitting a new driver ? I have tried to follow the steps from here: https://labgrid.readthedocs.io/en/latest/development.html#contributing . Is there anything else that I need to add/change ?
@ElenaGrigore There's nothing missing from your side at the moment, we need to find the time to review this.