Return-Path: Message-ID: <55D5FC4B.6070003@broadcom.com> Date: Thu, 20 Aug 2015 18:11:55 +0200 From: Arend van Spriel MIME-Version: 1.0 To: Ilya Faenson , Loic Poulain , "marcel@holtmann.org" CC: "linux-bluetooth@vger.kernel.org" Subject: Re: [PATCH] Bluetooth: hci_intel: Add platform driver References: <1440004303-27509-1-git-send-email-loic.poulain@intel.com> <55D4B948.8030400@intel.com> <55D596A9.5090303@intel.com> In-Reply-To: Content-Type: text/plain; charset="ISO-8859-1"; format=flowed List-ID: On 08/20/2015 02:42 PM, Ilya Faenson wrote: > Hi Loic, > > -----Original Message----- > From: Loic Poulain [mailto:loic.poulain@intel.com] > Sent: Thursday, August 20, 2015 4:58 AM > To: Ilya Faenson; marcel@holtmann.org > Cc: linux-bluetooth@vger.kernel.org > Subject: Re: [PATCH] Bluetooth: hci_intel: Add platform driver > > Thanks Ilya, > >> Is there a patch with the DT documentation? It would be interesting to see what DT maintainers think of this approach. > I don't have any documentation for now. > >> That allows you to run with a single device per platform only. Meanwhile, you could have something in the DT parameters identifying the UART. You would then be able to retrieve that parameter and match it against the tty in the BT protocol. Multiple devices per platform would then be supported. > Actually It supports multiple chips but takes them in the registered order. > But, I agree, it's not a correct way to do that. > I'm not a DT expert but I think we can do this match in the same way as > acpi. > It just requires to make the Bluetooth entry a child of the serial port > entry. > > for example: > > In dtsi you could have the usual uart description: > uart1: serial@1 { > compatible = "vendor,vendor-uart"; > reg = <0x4806a000 0x100>; > interrupts = ; > clock-frequency = <48000000>; > ... > }; > > And in the dts overlay, just add the device as a child node: > uart1: serial@1 { > bt-vendor { > compatible = "vendor,bt-vendor"; > reset-gpio = <&pmx_gpio 77 0 >; > interrupts = < 2 VENDOR_IRQ_TYPE_EDGE_FALLING >; > ... > } > } > > I think it's a good way to link the tty with the pdev and there is no > specific label to add and document. > > What do you think about this? > > I'm not specially against adding a parameter (vendor,tty = "ttys1"). > But it means that you need to be sure that your serial will be always > named "ttys1", if someone remove/disable/add a serial port in a dts/dtsi, it > can shift the tty number assigned by the driver. > > IF: All good ideas, Loic. I initially wanted BT DT configuration to be "like ACPI" too. The response from the DT maintainer was "DT's not ACPI". He essentially wanted us to describe the whole combo chip as a device with BT being one of the sub-devices. The point was that BT/WiFi/GPS/NFC/FM/whatever are dependent on each other and on some properties of the whole chip, say on power or clock. There is some truth to that but I believe the BT relationship to the UART is of more relevance to its driver than to the rest of the overall chip. In any case, we were not able to find common ground (no response to my last couple of messages) resulting in a customer not using bluetooth-next for that BT device integration. I guess DT has its own interests and seems to care little about BlueZ. I hope therefore that the second similar request from the major hardware vendor (you guys) will make DT more cooperative. All hardware vendors will then be able to benefit from whatever scheme gets ac cepted. T o > make a long story short, I encourage you to start including DT in your patches. :-) Hi Ilya, Based on DT maintainer (Rob Herring?) I sent a couple of proposals after which we ended up with the second option as shown above or at least that was my understanding (see [1]). Regards, Arend [1] http://article.gmane.org/gmane.linux.bluez.kernel/63216 > Regards, > Loic >