Re: [PATCH 8/8] arm64: dts: rockchip: RockPro64: enable wifi module at sdio0
From: Heiko Stübner
Date: Tue Dec 10 2019 - 05:13:47 EST
Am Dienstag, 10. Dezember 2019, 11:08:18 CET schrieb Soeren Moch:
> Hi Heiko,
>
> On 10.12.19 02:18, Heiko Stübner wrote:
> > Hi Soeren,
> >
> > Am Dienstag, 10. Dezember 2019, 00:29:21 CET schrieb Soeren Moch:
> >> On 10.12.19 00:08, Heiko Stübner wrote:
> >>> Am Montag, 9. Dezember 2019, 23:38:22 CET schrieb Soeren Moch:
> >>>> RockPro64 supports an Ampak AP6359SA based wifi/bt combo module.
> >>>> The BCM4359/9 wifi controller in this module is connected to sdio0,
> >>>> enable this interface.
> >>>>
> >>>> Signed-off-by: Soeren Moch <smoch@xxxxxx>
> >>>> ---
> >>>> Not sure where to place exactly the sdio0 node in the dts because
> >>>> existing sd nodes are not sorted alphabetically.
> >>>>
> >>>> This last patch in this brcmfmac patch series probably should be picked
> >>>> up by Heiko independently of the rest of this series. It was sent together
> >>>> to show how this brcmfmac extension for 4359-sdio support with RSDB is
> >>>> used and tested.
> >>> node placement looks good so I can apply it, just a general questions
> >>> I only got patch 8/8 are patches 1-7 relevant for this one and what are they?
> >> Patches 1-7 are the patches to support the BCM4359 chipset with SDIO
> >> interface in the linux brcmfmac net-wireless driver, see [1].
> >>
> >> So this patch series has 2 parts:
> >> patches 1-7: add support for the wifi chipset in the wireless driver,
> >> this has to go through net-wireless
> >> patch 8: enable the wifi module with this chipset on RockPro64, this patch
> > Thanks for the clarification :-) .
> >
> > As patch 8 "only" does the core sdio node, it doesn't really depend on the
> > earlier ones and you can submit any uart-hooks for bluetooth once the
> > other patches land I guess.
> The uart part for bluetooth already is in: uart0.
> However, I haven't tested if it really works.
In the new world there is now also a way to actually hook the bt-uart to
the wifi driver without userspace intervention, and you might want to hook
up the interrupt as well for sdio? For example look at the rock960:
sdio-interrupt: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi#n510
uart-magic: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi#n557
Heiko
> >> If this was confusing, what would be the ideal way to post such series?
> > I think every maintainer has some slightly different perspective on this,
> > but personally I like getting the whole series to follow the discussion but
> > also to just see when the driver-side changes get merged, as the dts-parts
> > need to wait for that in a lot of cases.
> OK, thanks.
> I will add you for the whole series when sending a v2.
>
> Soeren
> >
> > Heiko
> >
> >
> >> [1] https://patchwork.kernel.org/project/linux-wireless/list/?series=213951
> >>> Thanks
> >>> Heiko
> >>>
> >>>
> >>>> Cc: Heiko Stuebner <heiko@xxxxxxxxx>
> >>>> Cc: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
> >>>> Cc: linux-wireless@xxxxxxxxxxxxxxx
> >>>> Cc: brcm80211-dev-list.pdl@xxxxxxxxxxxx
> >>>> Cc: brcm80211-dev-list@xxxxxxxxxxx
> >>>> Cc: netdev@xxxxxxxxxxxxxxx
> >>>> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> >>>> Cc: linux-rockchip@xxxxxxxxxxxxxxxxxxx
> >>>> Cc: linux-kernel@xxxxxxxxxxxxxxx
> >>>> ---
> >>>> .../boot/dts/rockchip/rk3399-rockpro64.dts | 21 ++++++++++++-------
> >>>> 1 file changed, 14 insertions(+), 7 deletions(-)
> >>>>
> >>>> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
> >>>> index 7f4b2eba31d4..9fa92790d6e0 100644
> >>>> --- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
> >>>> +++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
> >>>> @@ -71,13 +71,6 @@
> >>>> clock-names = "ext_clock";
> >>>> pinctrl-names = "default";
> >>>> pinctrl-0 = <&wifi_enable_h>;
> >>>> -
> >>>> - /*
> >>>> - * On the module itself this is one of these (depending
> >>>> - * on the actual card populated):
> >>>> - * - SDIO_RESET_L_WL_REG_ON
> >>>> - * - PDN (power down when low)
> >>>> - */
> >>>> reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
> >>>> };
> >>>>
> >>>> @@ -650,6 +643,20 @@
> >>>> status = "okay";
> >>>> };
> >>>>
> >>>> +&sdio0 {
> >>>> + bus-width = <4>;
> >>>> + cap-sd-highspeed;
> >>>> + cap-sdio-irq;
> >>>> + disable-wp;
> >>>> + keep-power-in-suspend;
> >>>> + mmc-pwrseq = <&sdio_pwrseq>;
> >>>> + non-removable;
> >>>> + pinctrl-names = "default";
> >>>> + pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
> >>>> + sd-uhs-sdr104;
> >>>> + status = "okay";
> >>>> +};
> >>>> +
> >>>> &sdmmc {
> >>>> bus-width = <4>;
> >>>> cap-sd-highspeed;
> >>>> --
> >>>> 2.17.1
> >>>>
> >>>
> >>>
> >>
> >
> >
> >
>
>