* [PATCH 0/2] ARM: LEGO MINDSTORMS EV3 Bluetooth support @ 2018-05-31 20:25 David Lechner 2018-05-31 20:25 ` [PATCH 1/2] ARM: dts: da850-lego-ev3: Add Bluetooth nodes David Lechner ` (2 more replies) 0 siblings, 3 replies; 8+ messages in thread From: David Lechner @ 2018-05-31 20:25 UTC (permalink / raw) To: linux-arm-kernel Cc: David Lechner, Sekhar Nori, Kevin Hilman, devicetree, linux-kernel This series adds Bluetooth support to LEGO MINDSTORMS EV3. The pwm-clock depends on the common clock framework, so this requires the recent davinci common clock series to switch to the common clock framework before it will actually work. David Lechner (2): ARM: dts: da850-lego-ev3: Add Bluetooth nodes ARM: davinci_all_defconfig: Enable Bluetooth arch/arm/boot/dts/da850-lego-ev3.dts | 82 ++++++++++++++++++++++++++ arch/arm/configs/davinci_all_defconfig | 9 +++ 2 files changed, 91 insertions(+) -- 2.17.0 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/2] ARM: dts: da850-lego-ev3: Add Bluetooth nodes 2018-05-31 20:25 [PATCH 0/2] ARM: LEGO MINDSTORMS EV3 Bluetooth support David Lechner @ 2018-05-31 20:25 ` David Lechner 2018-06-27 11:12 ` Sekhar Nori 2018-05-31 20:25 ` [PATCH 2/2] ARM: davinci_all_defconfig: Enable Bluetooth David Lechner 2018-06-26 16:51 ` [PATCH 0/2] ARM: LEGO MINDSTORMS EV3 Bluetooth support David Lechner 2 siblings, 1 reply; 8+ messages in thread From: David Lechner @ 2018-05-31 20:25 UTC (permalink / raw) To: linux-arm-kernel Cc: David Lechner, Sekhar Nori, Kevin Hilman, devicetree, linux-kernel This adds nodes for describing the Bluetooth chip and connections on LEGO MINDSTORMS EV3 to da850-lego-ev3.dts. Signed-off-by: David Lechner <david@lechnology.com> --- arch/arm/boot/dts/da850-lego-ev3.dts | 82 ++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/arch/arm/boot/dts/da850-lego-ev3.dts b/arch/arm/boot/dts/da850-lego-ev3.dts index bef42dc78817..fe4cc87394b9 100644 --- a/arch/arm/boot/dts/da850-lego-ev3.dts +++ b/arch/arm/boot/dts/da850-lego-ev3.dts @@ -187,6 +187,15 @@ rechargeable-gpios = <&gpio 136 GPIO_ACTIVE_LOW>; }; + bt_slow_clk: bt-clock { + pinctrl-names = "default"; + pinctrl-0 = <&ecap2_pins>, <&bt_clock_bias>; + compatible = "pwm-clock"; + #clock-cells = <0>; + clock-frequency = <32768>; + pwms = <&ecap2 0 30518 0>; + }; + /* ARM local RAM */ memory@ffff0000 { compatible = "syscon", "simple-mfd"; @@ -251,6 +260,20 @@ bias-disable; }; }; + + bt_clock_bias: bt-clock-bias-groups { + disable { + groups = "cp2"; + bias-disable; + }; + }; + + bt_pic_bias: bt-pic-bias-groups { + disable { + groups = "cp20"; + bias-disable; + }; + }; }; /* Input port 1 */ @@ -260,6 +283,22 @@ pinctrl-0 = <&serial1_rxtx_pins>; }; +&serial2 { + pinctrl-names = "default"; + pinctrl-0 = <&serial2_rxtx_pins>, <&serial2_rtscts_pins>, <&bt_pic_bias>; + status = "okay"; + + bluetooth { + compatible = "ti,cc2560"; + clocks = <&bt_slow_clk>; + clock-names = "ext_clock"; + enable-gpios = <&gpio 73 GPIO_ACTIVE_HIGH>; + max-speed = <2000000>; + nvmem-cells = <&bdaddr>; + nvmem-cell-names = "bd-address"; + }; +}; + &rtc0 { status = "okay"; }; @@ -278,6 +317,12 @@ pagesize = <64>; read-only; reg = <0x50>; + #address-cells = <1>; + #size-cells = <1>; + + bdaddr: bdaddr@3f06 { + reg = <0x3f06 0x06>; + }; }; }; @@ -362,6 +407,10 @@ }; }; +&ecap2 { + status = "okay"; +}; + &ehrpwm0 { status = "okay"; }; @@ -375,6 +424,39 @@ gpios = <6 GPIO_ACTIVE_HIGH>; output-high; }; + + /* Don't impede Bluetooth clock signal */ + bt_clock_en { + gpio-hog; + gpios = <5 GPIO_ACTIVE_HIGH>; + input; + }; + + /* + * There is a PIC microcontroller for interfacing with an Apple MFi + * chip. This interferes with normal Bluetooth operation, so we need + * to make sure it is turned off. Note: The publicly available + * schematics from LEGO don't show that these pins are connected to + * anything, but they are present in the source code from LEGO. + */ + + bt_pic_en { + gpio-hog; + gpios = <51 GPIO_ACTIVE_HIGH>; + output-low; + }; + + bt_pic_rst { + gpio-hog; + gpios = <78 GPIO_ACTIVE_HIGH>; + output-high; + }; + + bt_pic_cts { + gpio-hog; + gpios = <87 GPIO_ACTIVE_HIGH>; + input; + }; }; &usb_phy { -- 2.17.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] ARM: dts: da850-lego-ev3: Add Bluetooth nodes 2018-05-31 20:25 ` [PATCH 1/2] ARM: dts: da850-lego-ev3: Add Bluetooth nodes David Lechner @ 2018-06-27 11:12 ` Sekhar Nori 0 siblings, 0 replies; 8+ messages in thread From: Sekhar Nori @ 2018-06-27 11:12 UTC (permalink / raw) To: David Lechner, linux-arm-kernel; +Cc: devicetree, linux-kernel, Kevin Hilman On Friday 01 June 2018 01:55 AM, David Lechner wrote: > This adds nodes for describing the Bluetooth chip and connections on > LEGO MINDSTORMS EV3 to da850-lego-ev3.dts. > > Signed-off-by: David Lechner <david@lechnology.com> Applied for v4.19. Thanks, Sekhar ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 2/2] ARM: davinci_all_defconfig: Enable Bluetooth 2018-05-31 20:25 [PATCH 0/2] ARM: LEGO MINDSTORMS EV3 Bluetooth support David Lechner 2018-05-31 20:25 ` [PATCH 1/2] ARM: dts: da850-lego-ev3: Add Bluetooth nodes David Lechner @ 2018-05-31 20:25 ` David Lechner 2018-06-27 11:11 ` Sekhar Nori 2018-06-26 16:51 ` [PATCH 0/2] ARM: LEGO MINDSTORMS EV3 Bluetooth support David Lechner 2 siblings, 1 reply; 8+ messages in thread From: David Lechner @ 2018-05-31 20:25 UTC (permalink / raw) To: linux-arm-kernel Cc: David Lechner, Sekhar Nori, Kevin Hilman, devicetree, linux-kernel This enables Bluetooth modules in davinic_all_defconfig needed for LEGO MINDSTORMS EV3. Signed-off-by: David Lechner <david@lechnology.com> --- arch/arm/configs/davinci_all_defconfig | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/arch/arm/configs/davinci_all_defconfig b/arch/arm/configs/davinci_all_defconfig index a1b6e106b867..f8448c4703c1 100644 --- a/arch/arm/configs/davinci_all_defconfig +++ b/arch/arm/configs/davinci_all_defconfig @@ -54,6 +54,13 @@ CONFIG_INET=y CONFIG_IP_PNP=y CONFIG_IP_PNP_DHCP=y CONFIG_NETFILTER=y +CONFIG_BT=m +CONFIG_BT_RFCOMM=m +CONFIG_BT_BNEP=m +CONFIG_BT_HIDP=m +CONFIG_BT_LEDS=y +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_LL=y CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y CONFIG_FW_LOADER=m @@ -113,6 +120,7 @@ CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_NR_UARTS=3 CONFIG_SERIAL_8250_RUNTIME_UARTS=3 CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_SERIAL_DEV_BUS=y # CONFIG_HW_RANDOM is not set CONFIG_I2C=y CONFIG_I2C_CHARDEV=y @@ -212,6 +220,7 @@ CONFIG_RTC_CLASS=y CONFIG_RTC_DRV_OMAP=m CONFIG_DMADEVICES=y CONFIG_TI_EDMA=y +CONFIG_COMMON_CLK_PWM=m CONFIG_REMOTEPROC=m CONFIG_DA8XX_REMOTEPROC=m CONFIG_MEMORY=y -- 2.17.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] ARM: davinci_all_defconfig: Enable Bluetooth 2018-05-31 20:25 ` [PATCH 2/2] ARM: davinci_all_defconfig: Enable Bluetooth David Lechner @ 2018-06-27 11:11 ` Sekhar Nori 2018-06-27 17:13 ` David Lechner 0 siblings, 1 reply; 8+ messages in thread From: Sekhar Nori @ 2018-06-27 11:11 UTC (permalink / raw) To: David Lechner, linux-arm-kernel; +Cc: devicetree, linux-kernel, Kevin Hilman On Friday 01 June 2018 01:55 AM, David Lechner wrote: > This enables Bluetooth modules in davinic_all_defconfig needed for LEGO davinci_all_defconfig > MINDSTORMS EV3. > > Signed-off-by: David Lechner <david@lechnology.com> > --- > arch/arm/configs/davinci_all_defconfig | 9 +++++++++ > 1 file changed, 9 insertions(+) > +CONFIG_SERIAL_DEV_BUS=y Any reason to build this into the kernel? Thanks, Sekhar ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] ARM: davinci_all_defconfig: Enable Bluetooth 2018-06-27 11:11 ` Sekhar Nori @ 2018-06-27 17:13 ` David Lechner 2018-06-29 14:00 ` Sekhar Nori 0 siblings, 1 reply; 8+ messages in thread From: David Lechner @ 2018-06-27 17:13 UTC (permalink / raw) To: Sekhar Nori, linux-arm-kernel; +Cc: Kevin Hilman, devicetree, linux-kernel On 06/27/2018 06:11 AM, Sekhar Nori wrote: > On Friday 01 June 2018 01:55 AM, David Lechner wrote: >> This enables Bluetooth modules in davinic_all_defconfig needed for LEGO > > davinci_all_defconfig > >> MINDSTORMS EV3. >> >> Signed-off-by: David Lechner <david@lechnology.com> >> --- >> arch/arm/configs/davinci_all_defconfig | 9 +++++++++ >> 1 file changed, 9 insertions(+) > >> +CONFIG_SERIAL_DEV_BUS=y > > Any reason to build this into the kernel? > Yes: config SERIAL_DEV_CTRL_TTYPORT bool "Serial device TTY port controller" help Say Y here if you want to use the Serial device bus with common TTY drivers (e.g. serial drivers). If unsure, say Y. depends on TTY depends on SERIAL_DEV_BUS != m default y endif ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] ARM: davinci_all_defconfig: Enable Bluetooth 2018-06-27 17:13 ` David Lechner @ 2018-06-29 14:00 ` Sekhar Nori 0 siblings, 0 replies; 8+ messages in thread From: Sekhar Nori @ 2018-06-29 14:00 UTC (permalink / raw) To: David Lechner, linux-arm-kernel; +Cc: devicetree, linux-kernel, Kevin Hilman On Wednesday 27 June 2018 10:43 PM, David Lechner wrote: > On 06/27/2018 06:11 AM, Sekhar Nori wrote: >> On Friday 01 June 2018 01:55 AM, David Lechner wrote: >>> This enables Bluetooth modules in davinic_all_defconfig needed for LEGO >> >> davinci_all_defconfig >> >>> MINDSTORMS EV3. >>> >>> Signed-off-by: David Lechner <david@lechnology.com> >>> --- >>> arch/arm/configs/davinci_all_defconfig | 9 +++++++++ >>> 1 file changed, 9 insertions(+) >> >>> +CONFIG_SERIAL_DEV_BUS=y >> >> Any reason to build this into the kernel? >> > > Yes: > > > config SERIAL_DEV_CTRL_TTYPORT > bool "Serial device TTY port controller" > help > Say Y here if you want to use the Serial device bus with common TTY > drivers (e.g. serial drivers). > > If unsure, say Y. > depends on TTY > depends on SERIAL_DEV_BUS != m Patch applied to v4.19/defconfig. I added a note about this to commit text in case I wonder again at a later time. Thanks, Sekhar _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 0/2] ARM: LEGO MINDSTORMS EV3 Bluetooth support 2018-05-31 20:25 [PATCH 0/2] ARM: LEGO MINDSTORMS EV3 Bluetooth support David Lechner 2018-05-31 20:25 ` [PATCH 1/2] ARM: dts: da850-lego-ev3: Add Bluetooth nodes David Lechner 2018-05-31 20:25 ` [PATCH 2/2] ARM: davinci_all_defconfig: Enable Bluetooth David Lechner @ 2018-06-26 16:51 ` David Lechner 2 siblings, 0 replies; 8+ messages in thread From: David Lechner @ 2018-06-26 16:51 UTC (permalink / raw) To: linux-arm-kernel; +Cc: Sekhar Nori, Kevin Hilman, devicetree, linux-kernel Hi Sekhar, On 05/31/2018 03:25 PM, David Lechner wrote: > This series adds Bluetooth support to LEGO MINDSTORMS EV3. > > The pwm-clock depends on the common clock framework, so this requires the > recent davinci common clock series to switch to the common clock framework > before it will actually work. > > David Lechner (2): > ARM: dts: da850-lego-ev3: Add Bluetooth nodes > ARM: davinci_all_defconfig: Enable Bluetooth > > arch/arm/boot/dts/da850-lego-ev3.dts | 82 ++++++++++++++++++++++++++ > arch/arm/configs/davinci_all_defconfig | 9 +++ > 2 files changed, 91 insertions(+) > After "ARM: dts: da850: Add power-domains to PWM nodes", this is ready to apply. ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2018-06-29 14:00 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-05-31 20:25 [PATCH 0/2] ARM: LEGO MINDSTORMS EV3 Bluetooth support David Lechner 2018-05-31 20:25 ` [PATCH 1/2] ARM: dts: da850-lego-ev3: Add Bluetooth nodes David Lechner 2018-06-27 11:12 ` Sekhar Nori 2018-05-31 20:25 ` [PATCH 2/2] ARM: davinci_all_defconfig: Enable Bluetooth David Lechner 2018-06-27 11:11 ` Sekhar Nori 2018-06-27 17:13 ` David Lechner 2018-06-29 14:00 ` Sekhar Nori 2018-06-26 16:51 ` [PATCH 0/2] ARM: LEGO MINDSTORMS EV3 Bluetooth support David Lechner
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).