Return-Path: MIME-Version: 1.0 In-Reply-To: References: <20170405183005.20570-1-robh@kernel.org> <20170430160430.rmyuo6sdrkrjxjg6@earth> From: Rob Herring Date: Mon, 8 May 2017 16:12:16 -0500 Message-ID: Subject: Re: [PATCH 0/4] TI Bluetooth serdev support To: Adam Ford Cc: Sebastian Reichel , Marcel Holtmann , "open list:BLUETOOTH DRIVERS" , Mark Rutland , "devicetree@vger.kernel.org" , Johan Hedberg , Gustavo Padovan , Satish Patel , Wei Xu , Eyal Reizer , netdev , "linux-arm-kernel@lists.infradead.org" Content-Type: text/plain; charset=UTF-8 List-ID: On Fri, May 5, 2017 at 9:51 AM, Adam Ford wrote: > On Sun, Apr 30, 2017 at 11:04 AM, Sebastian Reichel wrote: >> Hi, >> >> On Sun, Apr 30, 2017 at 10:14:20AM -0500, Adam Ford wrote: >>> On Wed, Apr 5, 2017 at 1:30 PM, Rob Herring wrote: >>> > This series adds serdev support to the HCI LL protocol used on TI BT >>> > modules and enables support on HiKey board with with the WL1835 module. >>> > With this the custom TI UIM daemon and btattach are no longer needed. >>> >>> Without UIM daemon, what instruction do you use to load the BT firmware? >>> >>> I was thinking 'hciattach' but I was having trouble. I was hoping you >>> might have some insight. >>> >>> hciattach -t 30 -s 115200 /dev/ttymxc1 texas 3000000 flow Just >>> returns a timeout. >>> >>> I modified my i.MX6 device tree per the binding documentation and >>> setup the regulators and enable GPIO pins. >> >> If you configured everything correctly no userspace interaction is >> required. The driver should request the firmware automatically once >> you power up the bluetooth device. >> >> Apart from DT changes make sure, that the following options are >> enabled and check dmesg for any hints. >> >> CONFIG_SERIAL_DEV_BUS >> CONFIG_SERIAL_DEV_CTRL_TTYPORT >> CONFIG_BT_HCIUART >> CONFIG_BT_HCIUART_LL >> > > > I have enabled those flags, and I have updated my device tree. > I am testing this on an OMAP3630 (DM3730) board with a WL1283. I am > getting a lot of timeout errors. I tested this against the original > implemention I had in pdata-quirks.c using the ti-st driver, uim & and > the btwilink driver. > > I pulled in some of the newer patches to enable the wl1283-st, but I > am obviously missing something. > > I 58.717651] Bluetooth: hci0: Reading TI version information failed > (-110) > [ 58.724853] Bluetooth: hci0: download firmware failed, retrying... > [ 60.957641] Bluetooth: hci0 command 0x1001 tx timeout > [ 68.957641] Bluetooth: hci0: Reading TI version information failed > (-110) > [ 68.964843] Bluetooth: hci0: download firmware failed, retrying... > [ 69.132171] Bluetooth: Unknown HCI packet type 06 > [ 69.138244] Bluetooth: Unknown HCI packet type 0c > [ 69.143249] Bluetooth: Unknown HCI packet type 40 > [ 69.148498] Bluetooth: Unknown HCI packet type 20 > [ 69.153533] Bluetooth: Data length is too large > [ 69.158569] Bluetooth: Unknown HCI packet type a0 > [ 69.163574] Bluetooth: Unknown HCI packet type 00 > [ 69.168731] Bluetooth: Unknown HCI packet type 00 > [ 69.173736] Bluetooth: Unknown HCI packet type 34 > [ 69.178924] Bluetooth: Unknown HCI packet type 91 > [ 71.197631] Bluetooth: hci0 command 0x1001 tx timeout > [ 79.197662] Bluetooth: hci0: Reading TI version information failed (-110) There's a bug in serdev_device_write(), so if you have that function you need either the fix I sent or the patch to make serdev_device_writebuf atomic again. Both are on the linux-serial list, but not in any tree yet. Rob