Hi Marcel, On Fri, Dec 12, 2014 at 01:46:33AM +0100, Marcel Holtmann wrote: > > NACK. The compatible value should describe the connected device. You > > did not connect a regulator, but a bluetooth chip! DT should look > > like this: > > > > &uart1 { > > bluetooth { > > compatible = "vendor,bluetooth-chip"; > > vdd-supply = <&vaux4>; > > }; > > }; > > > > I think it would be ok to use your generic driver to handle the > > specific compatible value, though. > > > > Having the proper compatible value means, that there can be a more > > specific driver later, that other operating systems can expose the > > device as some kind of /dev/bluetooth instead of /dev/ttyXY, that > > userspace is able to know there is a bluetooth device connected to > > /dev/ttyXY by parsing the DT and results in easier-to-understand > > DTS. > > I think that is up to udev to be able to make this a nice device > node. However the device node name is pretty much irrelevant. Ah that was not about Linux, but about $random-os using DT. Just ignore the device name its not important for the argument. > What you want is enough meta data to tell that there is Bluetooth > chip behind this TTY. Yes, that is what I tried to say :) > From a Bluetooth stack perspective only hciattach needs to be run > to get the N_HCI line discipline up and running for that chip. Yes, but with the metadata from Neil's proposed binding you do not know, that there is a bluetooth chip connected, so you need to do this manually. Not very nice, when it could be done automatically. > However what would be interesting for hciattach would be a > possibility to expose the Bluetooth manufacturer. Since the init > routine is different for each manufacturer. Yes and it may be, that a manufacturer breaks its init routine at some point. The problem is not much different from other devices and normally solved through the compatible string. > So if that could be encoded in the DT, then that would be > certainly helpful. All needed data should be encoded when specified as in the following example: &uart1 { bluetooth { compatible = "wi2wi,w2cbw003"; vdd-supply = <&vaux4>; }; }; Note: wi2wi is not yet in Documentation/devicetree/bindings/vendor-prefixes.txt -- Sebastian
Attachment:
signature.asc
Description: Digital signature