* [PATCH v4 1/4] dt-bindings: net: bluetooth: Add broadcom-bluetooth @ 2017-08-17 17:59 Loic Poulain [not found] ` <1502992791-10265-1-git-send-email-loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 0 siblings, 1 reply; 13+ messages in thread From: Loic Poulain @ 2017-08-17 17:59 UTC (permalink / raw) To: robh+dt-DgEjT+Ai2ygdnm+yROfE0A, f.fainelli-Re5JQEeQqe8AvxtiuMwx3w, rjui-dY08KVG/lbpWk0Htik3J/w, marcel-kz+m5ild9QBg9hUCZPvPmw, johan.hedberg-Re5JQEeQqe8AvxtiuMwx3w, stefan.wahren-eS4NqCHxEME Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, linux-bluetooth-u79uwXL29TY76Z2rM5mHXA, linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Loic Poulain Add binding document for serial bluetooth chips using Broadcom protocol. Signed-off-by: Loic Poulain <loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> --- v2: dt-bindings as separate patch rebase on upcoming pi3 dts changes v3: changes in bcm serdev drivers: name refactoring and additional comments Add generic host_set_baudrate method Use agnostic device_property_read v4: changes in doc and dts: Add additional params to broadcom bt dt-bindings Set the max baudrate to 2000000 instead of 921600 use chosen/stdout-path instead of console= remove useless earlyprintk same changes in bcm283x.dtsi .../devicetree/bindings/net/broadcom-bluetooth.txt | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/broadcom-bluetooth.txt diff --git a/Documentation/devicetree/bindings/net/broadcom-bluetooth.txt b/Documentation/devicetree/bindings/net/broadcom-bluetooth.txt new file mode 100644 index 0000000..4194ff7 --- /dev/null +++ b/Documentation/devicetree/bindings/net/broadcom-bluetooth.txt @@ -0,0 +1,35 @@ +Broadcom Bluetooth Chips +--------------------- + +This documents the binding structure and common properties for serial +attached Broadcom devices. + +Serial attached Broadcom devices shall be a child node of the host UART +device the slave device is attached to. + +Required properties: + + - compatible: should contain one of the following: + * "brcm,bcm43438-bt" + +Optional properties: + + - max-speed: see Documentation/devicetree/bindings/serial/slave-device.txt + - shutdown-gpios: GPIO specifier, used to enable the BT module + - device-wakeup-gpios: GPIO specifier, used to wakeup the controller + - host-wakeup-gpios: GPIO specifier, used to wakeup the host processor + - clocks: clock specifier if external clock provided to the controller + - clock-names: should be "extclk" + + +Example: + +&uart2 { + pinctrl-names = "default"; + pinctrl-0 = <&uart2_pins>; + + bluetooth { + compatible = "brcm,bcm43438-bt"; + max-speed = <921600>; + }; +}; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 13+ messages in thread
[parent not found: <1502992791-10265-1-git-send-email-loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* [PATCH v4 2/4] ARM: dts: bcm283x: Use stdout-path instead of console bootarg [not found] ` <1502992791-10265-1-git-send-email-loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2017-08-17 17:59 ` Loic Poulain [not found] ` <1502992791-10265-2-git-send-email-loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2017-08-17 17:59 ` [PATCH v4 3/4] ARM: dts: bcm2837-rpi-3-b: Add bcm43438 serial slave Loic Poulain ` (2 subsequent siblings) 3 siblings, 1 reply; 13+ messages in thread From: Loic Poulain @ 2017-08-17 17:59 UTC (permalink / raw) To: robh+dt-DgEjT+Ai2ygdnm+yROfE0A, f.fainelli-Re5JQEeQqe8AvxtiuMwx3w, rjui-dY08KVG/lbpWk0Htik3J/w, marcel-kz+m5ild9QBg9hUCZPvPmw, johan.hedberg-Re5JQEeQqe8AvxtiuMwx3w, stefan.wahren-eS4NqCHxEME Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, linux-bluetooth-u79uwXL29TY76Z2rM5mHXA, linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Loic Poulain Add the serial port config to "chosen/stdout-path". Create serial0/1 aliases referring to uart0 ant uart1 paths. Remove unneeded earlyprintk. Signed-off-by: Loic Poulain <loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> --- v2: dt-bindings as separate patch rebase on upcoming pi3 dts changes v3: changes in bcm serdev drivers: name refactoring and additional comments Add generic host_set_baudrate method Use agnostic device_property_read v4: changes in doc and dts: Add additional params to broadcom bt dt-bindings Set the max baudrate to 2000000 instead of 921600 use chosen/stdout-path instead of console= remove useless earlyprintk same changes in bcm283x.dtsi arch/arm/boot/dts/bcm283x.dtsi | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi index 431dcfc..013431e 100644 --- a/arch/arm/boot/dts/bcm283x.dtsi +++ b/arch/arm/boot/dts/bcm283x.dtsi @@ -20,8 +20,13 @@ #address-cells = <1>; #size-cells = <1>; + aliases { + serial0 = &uart0; + serial1 = &uart1; + }; + chosen { - bootargs = "earlyprintk console=ttyAMA0"; + stdout-path = "serial0:115200n8"; }; thermal-zones { -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 13+ messages in thread
[parent not found: <1502992791-10265-2-git-send-email-loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH v4 2/4] ARM: dts: bcm283x: Use stdout-path instead of console bootarg [not found] ` <1502992791-10265-2-git-send-email-loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2017-08-22 2:30 ` Rob Herring 0 siblings, 0 replies; 13+ messages in thread From: Rob Herring @ 2017-08-22 2:30 UTC (permalink / raw) To: Loic Poulain Cc: f.fainelli-Re5JQEeQqe8AvxtiuMwx3w, rjui-dY08KVG/lbpWk0Htik3J/w, marcel-kz+m5ild9QBg9hUCZPvPmw, johan.hedberg-Re5JQEeQqe8AvxtiuMwx3w, stefan.wahren-eS4NqCHxEME, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-bluetooth-u79uwXL29TY76Z2rM5mHXA, linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r On Thu, Aug 17, 2017 at 07:59:49PM +0200, Loic Poulain wrote: > Add the serial port config to "chosen/stdout-path". > Create serial0/1 aliases referring to uart0 ant uart1 paths. > Remove unneeded earlyprintk. > > Signed-off-by: Loic Poulain <loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > --- > v2: dt-bindings as separate patch > rebase on upcoming pi3 dts changes > v3: changes in bcm serdev drivers: > name refactoring and additional comments > Add generic host_set_baudrate method > Use agnostic device_property_read > v4: changes in doc and dts: > Add additional params to broadcom bt dt-bindings > Set the max baudrate to 2000000 instead of 921600 > use chosen/stdout-path instead of console= > remove useless earlyprintk > same changes in bcm283x.dtsi > > arch/arm/boot/dts/bcm283x.dtsi | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) Acked-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v4 3/4] ARM: dts: bcm2837-rpi-3-b: Add bcm43438 serial slave [not found] ` <1502992791-10265-1-git-send-email-loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2017-08-17 17:59 ` [PATCH v4 2/4] ARM: dts: bcm283x: Use stdout-path instead of console bootarg Loic Poulain @ 2017-08-17 17:59 ` Loic Poulain [not found] ` <1502992791-10265-3-git-send-email-loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2017-08-17 17:59 ` [PATCH v4 4/4] Bluetooth: hci_bcm: Add serdev support Loic Poulain 2017-08-22 2:29 ` [PATCH v4 1/4] dt-bindings: net: bluetooth: Add broadcom-bluetooth Rob Herring 3 siblings, 1 reply; 13+ messages in thread From: Loic Poulain @ 2017-08-17 17:59 UTC (permalink / raw) To: robh+dt-DgEjT+Ai2ygdnm+yROfE0A, f.fainelli-Re5JQEeQqe8AvxtiuMwx3w, rjui-dY08KVG/lbpWk0Htik3J/w, marcel-kz+m5ild9QBg9hUCZPvPmw, johan.hedberg-Re5JQEeQqe8AvxtiuMwx3w, stefan.wahren-eS4NqCHxEME Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, linux-bluetooth-u79uwXL29TY76Z2rM5mHXA, linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Loic Poulain Add BCM43438 (bluetooth) as a slave device of uart0 (pl011/ttyAMA0). This allows to automatically insert the bcm43438 to the bluetooth subsystem instead of relying on userspace helpers (hciattach). Overwrite chosen/stdout-path to use 8250 aux uart as console. Signed-off-by: Loic Poulain <loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> --- v2: dt-bindings as separate patch rebase on upcoming pi3 dts changes v3: changes in bcm serdev drivers: name refactoring and additional comments Add generic host_set_baudrate method Use agnostic device_property_read v4: changes in doc and dts: Add additional params to broadcom bt dt-bindings Set the max baudrate to 2000000 instead of 921600 use chosen/stdout-path instead of console= remove useless earlyprintk same changes in bcm283x.dtsi arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts index 20725ca..e4488cb 100644 --- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts +++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts @@ -8,6 +8,11 @@ compatible = "raspberrypi,3-model-b", "brcm,bcm2837"; model = "Raspberry Pi 3 Model B"; + chosen { + /* 8250 auxiliar UART instead of pl011 */ + stdout-path = "serial1:115200n8"; + }; + memory { reg = <0 0x40000000>; }; @@ -24,6 +29,11 @@ pinctrl-names = "default"; pinctrl-0 = <&uart0_gpio32 &gpclk2_gpio43>; status = "okay"; + + bluetooth { + compatible = "brcm,bcm43438-bt"; + max-speed = <2000000>; + }; }; /* uart1 is mapped to the pin header */ -- 1.9.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
[parent not found: <1502992791-10265-3-git-send-email-loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH v4 3/4] ARM: dts: bcm2837-rpi-3-b: Add bcm43438 serial slave [not found] ` <1502992791-10265-3-git-send-email-loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2017-08-22 2:31 ` Rob Herring 2017-08-23 14:22 ` Marcel Holtmann 1 sibling, 0 replies; 13+ messages in thread From: Rob Herring @ 2017-08-22 2:31 UTC (permalink / raw) To: Loic Poulain Cc: f.fainelli-Re5JQEeQqe8AvxtiuMwx3w, rjui-dY08KVG/lbpWk0Htik3J/w, marcel-kz+m5ild9QBg9hUCZPvPmw, johan.hedberg-Re5JQEeQqe8AvxtiuMwx3w, stefan.wahren-eS4NqCHxEME, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-bluetooth-u79uwXL29TY76Z2rM5mHXA, linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r On Thu, Aug 17, 2017 at 07:59:50PM +0200, Loic Poulain wrote: > Add BCM43438 (bluetooth) as a slave device of uart0 (pl011/ttyAMA0). > This allows to automatically insert the bcm43438 to the bluetooth > subsystem instead of relying on userspace helpers (hciattach). > > Overwrite chosen/stdout-path to use 8250 aux uart as console. > > Signed-off-by: Loic Poulain <loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > --- > v2: dt-bindings as separate patch > rebase on upcoming pi3 dts changes > v3: changes in bcm serdev drivers: > name refactoring and additional comments > Add generic host_set_baudrate method > Use agnostic device_property_read > v4: changes in doc and dts: > Add additional params to broadcom bt dt-bindings > Set the max baudrate to 2000000 instead of 921600 > use chosen/stdout-path instead of console= > remove useless earlyprintk > same changes in bcm283x.dtsi > > arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 10 ++++++++++ > 1 file changed, 10 insertions(+) Acked-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v4 3/4] ARM: dts: bcm2837-rpi-3-b: Add bcm43438 serial slave [not found] ` <1502992791-10265-3-git-send-email-loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2017-08-22 2:31 ` Rob Herring @ 2017-08-23 14:22 ` Marcel Holtmann [not found] ` <972AD2C1-FE7C-412D-AEC6-FFED22EC4B77-kz+m5ild9QBg9hUCZPvPmw@public.gmane.org> 1 sibling, 1 reply; 13+ messages in thread From: Marcel Holtmann @ 2017-08-23 14:22 UTC (permalink / raw) To: Loic Poulain Cc: robh+dt-DgEjT+Ai2ygdnm+yROfE0A, f.fainelli-Re5JQEeQqe8AvxtiuMwx3w, rjui-dY08KVG/lbpWk0Htik3J/w, Johan Hedberg, stefan.wahren-eS4NqCHxEME, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-bluetooth-u79uwXL29TY76Z2rM5mHXA, linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r Hi Loic, > Add BCM43438 (bluetooth) as a slave device of uart0 (pl011/ttyAMA0). > This allows to automatically insert the bcm43438 to the bluetooth > subsystem instead of relying on userspace helpers (hciattach). > > Overwrite chosen/stdout-path to use 8250 aux uart as console. > > Signed-off-by: Loic Poulain <loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > --- > v2: dt-bindings as separate patch > rebase on upcoming pi3 dts changes > v3: changes in bcm serdev drivers: > name refactoring and additional comments > Add generic host_set_baudrate method > Use agnostic device_property_read > v4: changes in doc and dts: > Add additional params to broadcom bt dt-bindings > Set the max baudrate to 2000000 instead of 921600 > use chosen/stdout-path instead of console= > remove useless earlyprintk > same changes in bcm283x.dtsi > > arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 10 ++++++++++ > 1 file changed, 10 insertions(+) do you mind resending the 2 pending patches with Rob’s ack on it. And ensure that this goes with DT tree since I can currently not take it since net-next has not pulled in the pending DT patches. Regards Marcel ^ permalink raw reply [flat|nested] 13+ messages in thread
[parent not found: <972AD2C1-FE7C-412D-AEC6-FFED22EC4B77-kz+m5ild9QBg9hUCZPvPmw@public.gmane.org>]
* Re: [PATCH v4 3/4] ARM: dts: bcm2837-rpi-3-b: Add bcm43438 serial slave [not found] ` <972AD2C1-FE7C-412D-AEC6-FFED22EC4B77-kz+m5ild9QBg9hUCZPvPmw@public.gmane.org> @ 2017-08-23 16:17 ` Eric Anholt 2017-08-23 16:22 ` Rob Herring 1 sibling, 0 replies; 13+ messages in thread From: Eric Anholt @ 2017-08-23 16:17 UTC (permalink / raw) To: Marcel Holtmann, Loic Poulain Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, Johan Hedberg, rjui-dY08KVG/lbpWk0Htik3J/w, linux-bluetooth-u79uwXL29TY76Z2rM5mHXA, robh+dt-DgEjT+Ai2ygdnm+yROfE0A, linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r [-- Attachment #1: Type: text/plain, Size: 1553 bytes --] Marcel Holtmann <marcel-kz+m5ild9QBg9hUCZPvPmw@public.gmane.org> writes: > Hi Loic, > >> Add BCM43438 (bluetooth) as a slave device of uart0 (pl011/ttyAMA0). >> This allows to automatically insert the bcm43438 to the bluetooth >> subsystem instead of relying on userspace helpers (hciattach). >> >> Overwrite chosen/stdout-path to use 8250 aux uart as console. >> >> Signed-off-by: Loic Poulain <loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> >> --- >> v2: dt-bindings as separate patch >> rebase on upcoming pi3 dts changes >> v3: changes in bcm serdev drivers: >> name refactoring and additional comments >> Add generic host_set_baudrate method >> Use agnostic device_property_read >> v4: changes in doc and dts: >> Add additional params to broadcom bt dt-bindings >> Set the max baudrate to 2000000 instead of 921600 >> use chosen/stdout-path instead of console= >> remove useless earlyprintk >> same changes in bcm283x.dtsi >> >> arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 10 ++++++++++ >> 1 file changed, 10 insertions(+) > > do you mind resending the 2 pending patches with Rob’s ack on it. And ensure that this goes with DT tree since I can currently not take it since net-next has not pulled in the pending DT patches. Normally we wouldn't need a resend and I'd just apply the acks when applying the DT patches, but I don't see them in my mail. (Also, note that since we're already at rc6 I might not be able to apply DT patches to -next until rc1 rolls around) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 832 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v4 3/4] ARM: dts: bcm2837-rpi-3-b: Add bcm43438 serial slave [not found] ` <972AD2C1-FE7C-412D-AEC6-FFED22EC4B77-kz+m5ild9QBg9hUCZPvPmw@public.gmane.org> 2017-08-23 16:17 ` Eric Anholt @ 2017-08-23 16:22 ` Rob Herring 1 sibling, 0 replies; 13+ messages in thread From: Rob Herring @ 2017-08-23 16:22 UTC (permalink / raw) To: Marcel Holtmann Cc: Loic Poulain, Florian Fainelli, Ray Jui, Johan Hedberg, Stefan Wahren, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, open list:BLUETOOTH DRIVERS, linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r On Wed, Aug 23, 2017 at 9:22 AM, Marcel Holtmann <marcel-kz+m5ild9QBg9hUCZPvPmw@public.gmane.org> wrote: > Hi Loic, > >> Add BCM43438 (bluetooth) as a slave device of uart0 (pl011/ttyAMA0). >> This allows to automatically insert the bcm43438 to the bluetooth >> subsystem instead of relying on userspace helpers (hciattach). >> >> Overwrite chosen/stdout-path to use 8250 aux uart as console. >> >> Signed-off-by: Loic Poulain <loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> >> --- >> v2: dt-bindings as separate patch >> rebase on upcoming pi3 dts changes >> v3: changes in bcm serdev drivers: >> name refactoring and additional comments >> Add generic host_set_baudrate method >> Use agnostic device_property_read >> v4: changes in doc and dts: >> Add additional params to broadcom bt dt-bindings >> Set the max baudrate to 2000000 instead of 921600 >> use chosen/stdout-path instead of console= >> remove useless earlyprintk >> same changes in bcm283x.dtsi >> >> arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 10 ++++++++++ >> 1 file changed, 10 insertions(+) > > do you mind resending the 2 pending patches with Rob’s ack on it. And ensure that this goes with DT tree since I can currently not take it since net-next has not pulled in the pending DT patches. They will go thru arm-soc via the sub-arch maintainer (Florian I think). Rob -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v4 4/4] Bluetooth: hci_bcm: Add serdev support [not found] ` <1502992791-10265-1-git-send-email-loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2017-08-17 17:59 ` [PATCH v4 2/4] ARM: dts: bcm283x: Use stdout-path instead of console bootarg Loic Poulain 2017-08-17 17:59 ` [PATCH v4 3/4] ARM: dts: bcm2837-rpi-3-b: Add bcm43438 serial slave Loic Poulain @ 2017-08-17 17:59 ` Loic Poulain [not found] ` <1502992791-10265-4-git-send-email-loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2017-08-22 2:29 ` [PATCH v4 1/4] dt-bindings: net: bluetooth: Add broadcom-bluetooth Rob Herring 3 siblings, 1 reply; 13+ messages in thread From: Loic Poulain @ 2017-08-17 17:59 UTC (permalink / raw) To: robh+dt-DgEjT+Ai2ygdnm+yROfE0A, f.fainelli-Re5JQEeQqe8AvxtiuMwx3w, rjui-dY08KVG/lbpWk0Htik3J/w, marcel-kz+m5ild9QBg9hUCZPvPmw, johan.hedberg-Re5JQEeQqe8AvxtiuMwx3w, stefan.wahren-eS4NqCHxEME Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, linux-bluetooth-u79uwXL29TY76Z2rM5mHXA, linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Loic Poulain Add basic support for Broadcom serial slave devices. Probe the serial device, retrieve its maximum speed and register a new hci uart device. Tested/compatible with bcm43438 (RPi3). Signed-off-by: Loic Poulain <loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> --- v2: dt-bindings as separate patch rebase on upcoming pi3 dts changes v3: changes in bcm serdev drivers: name refactoring and additional comments Add generic host_set_baudrate method Use agnostic device_property_read v4: changes in doc and dts: Add additional params to broadcom bt dt-bindings Set the max baudrate to 2000000 instead of 921600 use chosen/stdout-path instead of console= remove useless earlyprintk same changes in bcm283x.dtsi drivers/bluetooth/hci_bcm.c | 85 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 83 insertions(+), 2 deletions(-) diff --git a/drivers/bluetooth/hci_bcm.c b/drivers/bluetooth/hci_bcm.c index 1eb286a..34882f1 100644 --- a/drivers/bluetooth/hci_bcm.c +++ b/drivers/bluetooth/hci_bcm.c @@ -27,6 +27,8 @@ #include <linux/firmware.h> #include <linux/module.h> #include <linux/acpi.h> +#include <linux/of.h> +#include <linux/property.h> #include <linux/platform_device.h> #include <linux/clk.h> #include <linux/gpio/consumer.h> @@ -34,6 +36,7 @@ #include <linux/interrupt.h> #include <linux/dmi.h> #include <linux/pm_runtime.h> +#include <linux/serdev.h> #include <net/bluetooth/bluetooth.h> #include <net/bluetooth/hci_core.h> @@ -46,6 +49,7 @@ #define BCM_AUTOSUSPEND_DELAY 5000 /* default autosleep delay */ +/* platform device driver resources */ struct bcm_device { struct list_head list; @@ -69,6 +73,12 @@ struct bcm_device { #endif }; +/* serdev driver resources */ +struct bcm_serdev { + struct hci_uart hu; +}; + +/* generic bcm uart resources */ struct bcm_data { struct sk_buff *rx_skb; struct sk_buff_head txq; @@ -80,6 +90,14 @@ struct bcm_data { static DEFINE_MUTEX(bcm_device_lock); static LIST_HEAD(bcm_device_list); +static inline void host_set_baudrate(struct hci_uart *hu, unsigned int speed) +{ + if (hu->serdev) + serdev_device_set_baudrate(hu->serdev, speed); + else + hci_uart_set_baudrate(hu, speed); +} + static int bcm_set_baudrate(struct hci_uart *hu, unsigned int speed) { struct hci_dev *hdev = hu->hdev; @@ -290,6 +308,14 @@ static int bcm_open(struct hci_uart *hu) hu->priv = bcm; + /* If this is a serdev defined device, then only use + * serdev open primitive and skip the rest. + */ + if (hu->serdev) { + serdev_device_open(hu->serdev); + goto out; + } + if (!hu->tty->dev) goto out; @@ -325,6 +351,12 @@ static int bcm_close(struct hci_uart *hu) bt_dev_dbg(hu->hdev, "hu %p", hu); + /* If this is a serdev defined device, only use serdev + * close primitive and then continue as usual. + */ + if (hu->serdev) + serdev_device_close(hu->serdev); + /* Protect bcm->dev against removal of the device or driver */ mutex_lock(&bcm_device_lock); if (bcm_device_exists(bdev)) { @@ -400,7 +432,7 @@ static int bcm_setup(struct hci_uart *hu) speed = 0; if (speed) - hci_uart_set_baudrate(hu, speed); + host_set_baudrate(hu, speed); /* Operational speed if any */ if (hu->oper_speed) @@ -413,7 +445,7 @@ static int bcm_setup(struct hci_uart *hu) if (speed) { err = bcm_set_baudrate(hu, speed); if (!err) - hci_uart_set_baudrate(hu, speed); + host_set_baudrate(hu, speed); } finalize: @@ -906,9 +938,57 @@ static int bcm_remove(struct platform_device *pdev) }, }; +static int bcm_serdev_probe(struct serdev_device *serdev) +{ + struct bcm_serdev *bcmdev; + u32 speed; + int err; + + bcmdev = devm_kzalloc(&serdev->dev, sizeof(*bcmdev), GFP_KERNEL); + if (!bcmdev) + return -ENOMEM; + + bcmdev->hu.serdev = serdev; + serdev_device_set_drvdata(serdev, bcmdev); + + err = device_property_read_u32(&serdev->dev, "max-speed", &speed); + if (!err) + bcmdev->hu.oper_speed = speed; + + return hci_uart_register_device(&bcmdev->hu, &bcm_proto); +} + +static void bcm_serdev_remove(struct serdev_device *serdev) +{ + struct bcm_serdev *bcmdev = serdev_device_get_drvdata(serdev); + + hci_uart_unregister_device(&bcmdev->hu); +} + +#ifdef CONFIG_OF +static const struct of_device_id bcm_bluetooth_of_match[] = { + { .compatible = "brcm,bcm43438-bt" }, + { }, +}; +MODULE_DEVICE_TABLE(of, bcm_bluetooth_of_match); +#endif + +static struct serdev_device_driver bcm_serdev_driver = { + .probe = bcm_serdev_probe, + .remove = bcm_serdev_remove, + .driver = { + .name = "hci_uart_bcm", + .of_match_table = of_match_ptr(bcm_bluetooth_of_match), + }, +}; + int __init bcm_init(void) { + /* For now, we need to keep both platform device + * driver (ACPI generated) and serdev driver (DT). + */ platform_driver_register(&bcm_driver); + serdev_device_driver_register(&bcm_serdev_driver); return hci_uart_register_proto(&bcm_proto); } @@ -916,6 +996,7 @@ int __init bcm_init(void) int __exit bcm_deinit(void) { platform_driver_unregister(&bcm_driver); + serdev_device_driver_unregister(&bcm_serdev_driver); return hci_uart_unregister_proto(&bcm_proto); } -- 1.9.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
[parent not found: <1502992791-10265-4-git-send-email-loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH v4 4/4] Bluetooth: hci_bcm: Add serdev support [not found] ` <1502992791-10265-4-git-send-email-loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2017-08-17 19:30 ` Marcel Holtmann 2017-08-17 19:48 ` Marcel Holtmann 1 sibling, 0 replies; 13+ messages in thread From: Marcel Holtmann @ 2017-08-17 19:30 UTC (permalink / raw) To: Loic Poulain Cc: Rob Herring, f.fainelli-Re5JQEeQqe8AvxtiuMwx3w, Ray Jui, Johan Hedberg, Stefan Wahren, devicetree, open list:BLUETOOTH DRIVERS, linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r Hi Loic, > Add basic support for Broadcom serial slave devices. > Probe the serial device, retrieve its maximum speed and > register a new hci uart device. > > Tested/compatible with bcm43438 (RPi3). > > Signed-off-by: Loic Poulain <loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > --- > v2: dt-bindings as separate patch > rebase on upcoming pi3 dts changes > v3: changes in bcm serdev drivers: > name refactoring and additional comments > Add generic host_set_baudrate method > Use agnostic device_property_read > v4: changes in doc and dts: > Add additional params to broadcom bt dt-bindings > Set the max baudrate to 2000000 instead of 921600 > use chosen/stdout-path instead of console= > remove useless earlyprintk > same changes in bcm283x.dtsi > > drivers/bluetooth/hci_bcm.c | 85 +++++++++++++++++++++++++++++++++++++++++++-- > 1 file changed, 83 insertions(+), 2 deletions(-) you are missing the serdev dependency. diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig index 3a6ead603e49..fae5a74dc737 100644 --- a/drivers/bluetooth/Kconfig +++ b/drivers/bluetooth/Kconfig @@ -168,6 +168,7 @@ config BT_HCIUART_INTEL config BT_HCIUART_BCM bool "Broadcom protocol support" depends on BT_HCIUART + depends on BT_HCIUART_SERDEV select BT_HCIUART_H4 select BT_BCM help Regards Marcel -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v4 4/4] Bluetooth: hci_bcm: Add serdev support [not found] ` <1502992791-10265-4-git-send-email-loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2017-08-17 19:30 ` Marcel Holtmann @ 2017-08-17 19:48 ` Marcel Holtmann [not found] ` <C0CDF47D-95D8-4270-A6C2-F83C00954A95-kz+m5ild9QBg9hUCZPvPmw@public.gmane.org> 1 sibling, 1 reply; 13+ messages in thread From: Marcel Holtmann @ 2017-08-17 19:48 UTC (permalink / raw) To: Loic Poulain Cc: robh+dt-DgEjT+Ai2ygdnm+yROfE0A, f.fainelli-Re5JQEeQqe8AvxtiuMwx3w, rjui-dY08KVG/lbpWk0Htik3J/w, Johan Hedberg, stefan.wahren-eS4NqCHxEME, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-bluetooth-u79uwXL29TY76Z2rM5mHXA, linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r Hi Loic, > Add basic support for Broadcom serial slave devices. > Probe the serial device, retrieve its maximum speed and > register a new hci uart device. > > Tested/compatible with bcm43438 (RPi3). > > Signed-off-by: Loic Poulain <loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > --- > v2: dt-bindings as separate patch > rebase on upcoming pi3 dts changes > v3: changes in bcm serdev drivers: > name refactoring and additional comments > Add generic host_set_baudrate method > Use agnostic device_property_read > v4: changes in doc and dts: > Add additional params to broadcom bt dt-bindings > Set the max baudrate to 2000000 instead of 921600 > use chosen/stdout-path instead of console= > remove useless earlyprintk > same changes in bcm283x.dtsi > > drivers/bluetooth/hci_bcm.c | 85 +++++++++++++++++++++++++++++++++++++++++++-- > 1 file changed, 83 insertions(+), 2 deletions(-) I decided to amend your patch with the required Kconfig addition and then just applied 1/4 and 4/4 to bluetooth-next tree. For 2/4 and 3/4, I think they should go through the DT tree since they depend on other changes. I can not apply since none of these changes are in any of my parent trees. Regards Marcel -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 13+ messages in thread
[parent not found: <C0CDF47D-95D8-4270-A6C2-F83C00954A95-kz+m5ild9QBg9hUCZPvPmw@public.gmane.org>]
* Re: [PATCH v4 4/4] Bluetooth: hci_bcm: Add serdev support [not found] ` <C0CDF47D-95D8-4270-A6C2-F83C00954A95-kz+m5ild9QBg9hUCZPvPmw@public.gmane.org> @ 2017-08-17 20:12 ` Loic Poulain 0 siblings, 0 replies; 13+ messages in thread From: Loic Poulain @ 2017-08-17 20:12 UTC (permalink / raw) To: Marcel Holtmann Cc: robh+dt-DgEjT+Ai2ygdnm+yROfE0A, f.fainelli-Re5JQEeQqe8AvxtiuMwx3w, rjui-dY08KVG/lbpWk0Htik3J/w, Johan Hedberg, stefan.wahren-eS4NqCHxEME, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-bluetooth-u79uwXL29TY76Z2rM5mHXA, linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r Hi Marcel, On 17/08/2017 21:48, Marcel Holtmann wrote: > Hi Loic, > >> Add basic support for Broadcom serial slave devices. >> Probe the serial device, retrieve its maximum speed and >> register a new hci uart device. >> >> Tested/compatible with bcm43438 (RPi3). >> >> Signed-off-by: Loic Poulain <loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> >> --- >> v2: dt-bindings as separate patch >> rebase on upcoming pi3 dts changes >> v3: changes in bcm serdev drivers: >> name refactoring and additional comments >> Add generic host_set_baudrate method >> Use agnostic device_property_read >> v4: changes in doc and dts: >> Add additional params to broadcom bt dt-bindings >> Set the max baudrate to 2000000 instead of 921600 >> use chosen/stdout-path instead of console= >> remove useless earlyprintk >> same changes in bcm283x.dtsi >> >> drivers/bluetooth/hci_bcm.c | 85 +++++++++++++++++++++++++++++++++++++++++++-- >> 1 file changed, 83 insertions(+), 2 deletions(-) > I decided to amend your patch with the required Kconfig addition and then just applied 1/4 and 4/4 to bluetooth-next tree. > > For 2/4 and 3/4, I think they should go through the DT tree since they depend on other changes. I can not apply since none of these changes are in any of my parent trees. > > Thanks for the amend. Indeed 2 and 3 depend on the following DT tree changes (Stefan): [PATCH v2] ARM: dts: bcm283x: Move the BCM2837 DT contents from arm64 to arm. [PATCH V2 0/3] ARM: bcm283x: Raspberry Pi Zero W support Regards, Loic ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v4 1/4] dt-bindings: net: bluetooth: Add broadcom-bluetooth [not found] ` <1502992791-10265-1-git-send-email-loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> ` (2 preceding siblings ...) 2017-08-17 17:59 ` [PATCH v4 4/4] Bluetooth: hci_bcm: Add serdev support Loic Poulain @ 2017-08-22 2:29 ` Rob Herring 3 siblings, 0 replies; 13+ messages in thread From: Rob Herring @ 2017-08-22 2:29 UTC (permalink / raw) To: Loic Poulain Cc: f.fainelli-Re5JQEeQqe8AvxtiuMwx3w, rjui-dY08KVG/lbpWk0Htik3J/w, marcel-kz+m5ild9QBg9hUCZPvPmw, johan.hedberg-Re5JQEeQqe8AvxtiuMwx3w, stefan.wahren-eS4NqCHxEME, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-bluetooth-u79uwXL29TY76Z2rM5mHXA, linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r On Thu, Aug 17, 2017 at 07:59:48PM +0200, Loic Poulain wrote: > Add binding document for serial bluetooth chips using > Broadcom protocol. > > Signed-off-by: Loic Poulain <loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > --- > v2: dt-bindings as separate patch > rebase on upcoming pi3 dts changes > v3: changes in bcm serdev drivers: > name refactoring and additional comments > Add generic host_set_baudrate method > Use agnostic device_property_read > v4: changes in doc and dts: > Add additional params to broadcom bt dt-bindings > Set the max baudrate to 2000000 instead of 921600 > use chosen/stdout-path instead of console= > remove useless earlyprintk > same changes in bcm283x.dtsi > > .../devicetree/bindings/net/broadcom-bluetooth.txt | 35 ++++++++++++++++++++++ > 1 file changed, 35 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/broadcom-bluetooth.txt Acked-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2017-08-23 16:22 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-08-17 17:59 [PATCH v4 1/4] dt-bindings: net: bluetooth: Add broadcom-bluetooth Loic Poulain [not found] ` <1502992791-10265-1-git-send-email-loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2017-08-17 17:59 ` [PATCH v4 2/4] ARM: dts: bcm283x: Use stdout-path instead of console bootarg Loic Poulain [not found] ` <1502992791-10265-2-git-send-email-loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2017-08-22 2:30 ` Rob Herring 2017-08-17 17:59 ` [PATCH v4 3/4] ARM: dts: bcm2837-rpi-3-b: Add bcm43438 serial slave Loic Poulain [not found] ` <1502992791-10265-3-git-send-email-loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2017-08-22 2:31 ` Rob Herring 2017-08-23 14:22 ` Marcel Holtmann [not found] ` <972AD2C1-FE7C-412D-AEC6-FFED22EC4B77-kz+m5ild9QBg9hUCZPvPmw@public.gmane.org> 2017-08-23 16:17 ` Eric Anholt 2017-08-23 16:22 ` Rob Herring 2017-08-17 17:59 ` [PATCH v4 4/4] Bluetooth: hci_bcm: Add serdev support Loic Poulain [not found] ` <1502992791-10265-4-git-send-email-loic.poulain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2017-08-17 19:30 ` Marcel Holtmann 2017-08-17 19:48 ` Marcel Holtmann [not found] ` <C0CDF47D-95D8-4270-A6C2-F83C00954A95-kz+m5ild9QBg9hUCZPvPmw@public.gmane.org> 2017-08-17 20:12 ` Loic Poulain 2017-08-22 2:29 ` [PATCH v4 1/4] dt-bindings: net: bluetooth: Add broadcom-bluetooth Rob Herring
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).