lkml.org 
[lkml]   [2019]   [May]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [linux-sunxi] Re: [PATCH v5 7/7] ARM: dts: sun8i: v40: bananapi-m2-berry: Add Bluetooth device node
From
Date

El 2/5/19 a las 05:20, Chen-Yu Tsai escribió:
> On Thu, May 2, 2019 at 3:41 PM Maxime Ripard <maxime.ripard@bootlin.com> wrote:
>> On Tue, Apr 23, 2019 at 02:26:04PM -0300, Pablo Greco wrote:
>>> The AP6212 is based on the Broadcom BCM43430 or BCM43438. The WiFi side
>>> identifies as BCM43430, while the Bluetooth side identifies as BCM43438.
>>>
>>> The Bluetooth side is connected to UART3 in a 4 wire configuration. Same
>>> as the WiFi side, due to being the same chip and package, DLDO1 and
>>> DLDO2 regulator outputs from the PMIC provide overall power via VBAT and
>>> I/O power via VDDIO. The CLK_OUT_A clock output from the SoC provides
>>> the LPO low power clock at 32.768 kHz.
>>>
>>> This patch enables Bluetooth on this board, and also adds the missing
>>> LPO clock on the WiFi side. There is also a PCM connection for
>>> Bluetooth, but this is not covered here.
>>>
>>> The LPO clock is fed from CLK_OUT_A, which needs to be muxed on pin
>>> PI12. This can be represented in multiple ways. This patch puts the
>>> pinctrl property in the pin controller node. This is due to limitations
>>> in Linux, where pinmux settings, even the same one, can not be shared
>>> by multiple devices. Thus we cannot put it in both the WiFi and
>>> Bluetooth device nodes. Putting it the CCU node is another option, but
>>> Linux's CCU driver does not handle pinctrl. Also the pin controller is
>>> guaranteed to be initialized after the CCU, when clocks are available.
>>> And any other devices that use muxed pins are guaranteed to be
>>> initialized after the pin controller. Thus having the CLK_OUT_A pinmux
>>> reference be in the pin controller node is a good choice without having
>>> to deal with implementation issues.
>>>
>>> Signed-off-by: Pablo Greco <pgreco@centosproject.org>
>>> ---
>>> arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts | 22 ++++++++++++++++++++++
>>> 1 file changed, 22 insertions(+)
>>>
>>> diff --git a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
>>> index c87f2c0..15c22b0 100644
>>> --- a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
>>> +++ b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
>>> @@ -96,6 +96,8 @@
>>> wifi_pwrseq: wifi_pwrseq {
>>> compatible = "mmc-pwrseq-simple";
>>> reset-gpios = <&pio 6 10 GPIO_ACTIVE_LOW>; /* PG10 WIFI_EN */
>>> + clocks = <&ccu CLK_OUTA>;
>>> + clock-names = "ext_clock";
>> So if you don't have that patch (that enables bluetooth) the wifi
>> doesn't work (even though the previous patch is supposed to enable it)
> Maybe we should just squash the two (WiFi and Bluetooth) together?
> After all, they are in the same package, and depend on some of the
> same things, such as clocks and regulators.
>
> ChenYu
That seems better, I was trying to keep the same logic the patches
applied to the ultra.
>>> };
>>> };
>>>
>>> @@ -173,6 +175,7 @@
>>>
>>> &pio {
>>> pinctrl-names = "default";
>>> + pinctrl-0 = <&clk_out_a_pin>;
>> This one should bein the previous one as well
>>
>> Maxime
>>
>> --
>> Maxime Ripard, Bootlin
>> Embedded Linux and Kernel engineering
>> https://bootlin.com
>>
>> --
>> You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
>> To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
Pablo.

\
 
 \ /
  Last update: 2019-05-02 12:28    [W:0.056 / U:1.648 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site