{"push_id":2415792886,"size":7,"distinct_size":7,"ref":"refs/heads/rtl8723bs","head":"bb8a5a0c7883ecf35b42b0dc841602a0eea6f647","before":"7c4a24c9c064f736794efde2e22532848408de6d","commits":[{"sha":"43c0d24b40ddcb7c435ce3af97889b9fa8dd6be1","author":{"name":"Martin Blumenstingl","email":"128232e319ad6626d44004cd82c51361a0f0e3da@googlemail.com"},"message":"Bluetooth: btrtl: split the device initialization into smaller parts\n\nThis prepares the btrtl code so it can be used to initialize Bluetooth\nmodules connected via UART (these are found for example on the RTL8723BS\nand RTL8723DS SDIO chips, which come with an embedded UART Bluetooth\nmodule).\n\nThe Realtek \"rtl8723bs_bt\" and \"rtl8723ds_bt\" userspace Bluetooth UART\ninitialization tools (rtk_hciattach) use the following sequence:\n1) send H5 sync pattern (already supported by hci_h5)\n2) get LMP version (already supported by btrtl)\n3) get ROM version (already supported by btrtl)\n4) load the firmware and config for the current chipset (already\n   supported by btrtl)\n5) read UART settings from the config blob (currently not supported)\n6) send UART settings via a vendor command to the device (which changes\n   the baudrate of the device and enables or disables flow control\n   depending on the config)\n7) change the baudrate and flow control settings on the host\n8) send the firmware and config blob to the device (already supported by\n   btrtl)\n\nThe main reason why the initialization has to be split is step #7. This\nrequires changes to the underlying \"bus\", which should be kept outside\nof the \"generic\" btrtl driver.\nThe idea for this split is borrowed from the btbcm driver but adjusted\nwhere needed (the btrtl driver for example needs two blobs: firmware and\nconfig, while the btbcm only needs one).\n\nThis also prepares the code for step #5 (parsing the config blob) by\ncentralizing the code which loads the firmware and config blobs and\nstoring the result in the new struct btrtl_device_info.\n\nSigned-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>\nSigned-off-by: Jeremy Cline <jeremy@jcline.org>","distinct":true,"url":"https://api.github.com/repos/jeremycline/linux/commits/43c0d24b40ddcb7c435ce3af97889b9fa8dd6be1"},{"sha":"ff5830f41452ea8b8762c471c2e319e28f78f4a3","author":{"name":"Martin Blumenstingl","email":"128232e319ad6626d44004cd82c51361a0f0e3da@googlemail.com"},"message":"Bluetooth: btrtl: add support for retrieving the UART settings\n\nThe UART settings are embedded in the config blob. This has to be parsed\nto successfully initialize the Bluetooth part of the RTL8723BS (which is\nan SDIO chip, but the Bluetooth part is connected via UART).\n\nThe Realtek \"rtl8723bs_bt\" and \"rtl8723ds_bt\" userspace Bluetooth UART\ninitialization tools (rtk_hciattach) use the following sequence:\n- send H5 sync pattern (already supported by hci_h5)\n- get LMP version (already supported by btrtl)\n- get ROM version (already supported by btrtl)\n- load the firmware and config for the current chipset (already\n  supported by btrtl)\n- read UART settings from the config blob (part of this patch)\n- send UART settings via a vendor command to the device (which changes\n  the baudrate of the device and enables or disables flow control\n  depending on the config)\n- change the baudrate and flow control settings on the host\n- send the firmware and config blob to the device (already supported by\n  btrtl)\n\nSending the last firmware and config blob download command\n(rtl_download_cmd) fails if the UART settings are not updated\nbeforehand. This is presumably because the device applies the config\nright after the firmware and config blob download - which means that at\nthis point the host is using different UART settings than the device\n(which will obviously result in non-working communication).\n\nSigned-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>","distinct":true,"url":"https://api.github.com/repos/jeremycline/linux/commits/ff5830f41452ea8b8762c471c2e319e28f78f4a3"},{"sha":"e0985c3dc33aea0fa1c24d43ee84be3d33254e2d","author":{"name":"Martin Blumenstingl","email":"128232e319ad6626d44004cd82c51361a0f0e3da@googlemail.com"},"message":"Bluetooth: btrtl: add support for the RTL8723BS and RTL8723DS chips\n\nThe Realtek RTL8723BS and RTL8723DS chipsets are SDIO wifi chips. They\nalso contain a Bluetooth module which is connected via UART to the host.\n\nRealtek's userspace initialization tool (rtk_hciattach) differentiates\nthese two via the HCI version and revision returned by the\nHCI_OP_READ_LOCAL_VERSION command.\nAdditionally we apply these checks only the for UART devices. Everything\nelse is assumed to be a \"RTL8723B\" which was originally supported by the\ndriver (communicating via USB).\n\nSigned-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>\nSigned-off-by: Jeremy Cline <jeremy@jcline.org>","distinct":true,"url":"https://api.github.com/repos/jeremycline/linux/commits/e0985c3dc33aea0fa1c24d43ee84be3d33254e2d"},{"sha":"e5ed940db9061df9a9db133b5d743eefb50a3f8d","author":{"name":"Martin Blumenstingl","email":"128232e319ad6626d44004cd82c51361a0f0e3da@googlemail.com"},"message":"bluetooth: btrtl: load the config blob from devicetree when available\n\nSome Realtek bluetooth devices need a \"config\" blob. The btrtl driver\ncurrently only allows loading this config blob via the request_firmware\nmechanism.\n\nThe UART Bluetooth chips use this config blob to specify the baudrate,\nwhether flow control is used and some other unknown bits. This means\nthat the config blob is board-specific - thus loading it via\nrequest_firmware means that the rootfs is tied to a specific board.\n\nThe UART Bluetooth chips are implemented through serdev. This means\nthere is also a devicetree node which describes the Bluetooth chip.\nThus we can also load the blob from the devicetree node to keep the\nfilesystem independent of any board configuration data. In the future\nthis could be extended to support ACPI as well (in case that's needed).\n\nParse the devicetree node if it exists and obtain the config blob from\nthere. Otherwise fall back to using the \"old\" request_firmware\nmechanism.\n\nSigned-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>","distinct":true,"url":"https://api.github.com/repos/jeremycline/linux/commits/e5ed940db9061df9a9db133b5d743eefb50a3f8d"},{"sha":"d056e1651d3664f2e995652c582ea8a429beaadd","author":{"name":"Martin Blumenstingl","email":"128232e319ad6626d44004cd82c51361a0f0e3da@googlemail.com"},"message":"Bluetooth: drop HCI_UART_INIT_PENDING support\n\nThe three-wire (H5) protocol is the only protocol which uses\nHCI_UART_INIT_PENDING.\nUnfortunately the benefits of using this flag are currently unknown. It\nwas added in commit 9f2aee848fe6 (\"Bluetooth: Add delayed init sequence\nsupport for UART controllers\"). In my experiments (with the\n\"rtk_hciattach\" tool - a customized version of hciattach for Realtek\nchipsets) I started the tool before and after this patch while the\nBluetooth chipset was disabled (by pulling it's enable GPIO LOW). In\nboth cases hci0 was not created - thus HCI_UART_INIT_PENDING is not\nrequired in that case.\n\nRemoving the HCI_UART_INIT_PENDING check makes the code easier to read\nand also fixes the initalization of devices (implemented with the serdev\nlibrary) which use the H5 protocol.\n\nSigned-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>\nSigned-off-by: Jeremy Cline <jeremy@jcline.org>","distinct":true,"url":"https://api.github.com/repos/jeremycline/linux/commits/d056e1651d3664f2e995652c582ea8a429beaadd"},{"sha":"77566a45686a61b0d8c034cb3bd6f4d3a8f3ac82","author":{"name":"Martin Blumenstingl","email":"128232e319ad6626d44004cd82c51361a0f0e3da@googlemail.com"},"message":"Bluetooth: hci_h5: add support for Realtek UART Bluetooth modules\n\nRealtek RTL8723BS and RTL8723DS are SDIO wifi chips with an embedded\nBluetooth controller which connects to the host via UART.\nThe H5 protocol is used for communication between host and device.\n\nThe Realtek \"rtl8723bs_bt\" and \"rtl8723ds_bt\" userspace Bluetooth UART\ninitialization tools (rtk_hciattach) use the following sequence:\n1) send H5 sync pattern (already supported by hci_h5)\n2) get LMP version (already supported by btrtl)\n3) get ROM version (already supported by btrtl)\n4) load the firmware and config for the current chipset (already\n   supported by btrtl)\n5) read UART settings from the config blob (already supported by btrtl)\n6) send UART settings via a vendor command to the device (which changes\n   the baudrate of the device and enables or disables flow control\n   depending on the config)\n7) change the baudrate and flow control settings on the host\n8) send the firmware and config blob to the device (already supported by\n   btrtl)\n\nThis uses the serdev library as well as the existing btrtl driver to\ninitialize the Bluetooth functionality, which consists of:\n- identifying the device and loading the corresponding firmware and\n  config blobs (steps #2, #3 and #4)\n- configuring the baudrate and flow control (steps #6 and #7)\n- uploading the firmware to the device (step #8)\n\nSigned-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>\nSigned-off-by: Jeremy Cline <jeremy@jcline.org>","distinct":true,"url":"https://api.github.com/repos/jeremycline/linux/commits/77566a45686a61b0d8c034cb3bd6f4d3a8f3ac82"},{"sha":"bb8a5a0c7883ecf35b42b0dc841602a0eea6f647","author":{"name":"Jeremy Cline","email":"67d05a303f608c8860c0ff063dc59351aa55b332@jcline.org"},"message":"Bluetooth: Add ACPI support for the RTL8723BS bluetooth chip\n\nSigned-off-by: Jeremy Cline <jeremy@jcline.org>","distinct":true,"url":"https://api.github.com/repos/jeremycline/linux/commits/bb8a5a0c7883ecf35b42b0dc841602a0eea6f647"}]}
{"actor":{"display_login":"jeremycline"}}