Re: [RFC 0/3] Make WLAN and Bluetooth basically work for CI20

From: H. Nikolaus Schaller
Date: Wed Feb 15 2023 - 15:32:35 EST


Hi Paul,
I wasn't aware of your work and it could have saved me a lot of time to
experiment and try to make my patch set work.

But we are still lucky, as we can merge ideas and find the really best solution.

Anyways you can take my patch 1/3 and 3/3 and we have only to discuss details of 2/3.

Interesting is your setup of several fixed regulators using regulator-settling-time-us
to take care of power up sequencing. What I don't understand is the fixedregulator-5
which has no controlling gpio but is always on. What is it needed for? Maybe just to
be used to silence v(q)mmc-supply warnings etc.?
But you do not really switch or enable/disable power of the SDIO or bluetooth UART
interface?

Is it necessary to add a compatible of "ingenic,iw8103-fmac"? If it works with the
standard "brcm,bcm4329-fmac" driver (note that I have "brcm,bcm4330-fmac" because that
is how the module identifies itself) there seems to be no need for another compatible
and a special bindings documentation.

For bluetooth you could add brcm,bt-pcm-int-params = [01 02 00 01 01]; so that we
can eventually add some PCM stream to the sound setup.

Finally you have made node labels more consistent by calling them wifi* while I made
them wlan0*... Well, just a matter of taste.

Then I tried to take your tree, add my defconfig (because it seems as if you have not
updated configs), but I could only see

[ 0.929072] Bluetooth: hci0: BCM: firmware Patch file not found, tried:
[ 0.935704] Bluetooth: hci0: BCM: 'brcm/BCM4330B1.img,ci20.hcd'
[ 0.941683] Bluetooth: hci0: BCM: 'brcm/BCM4330B1.hcd'
[ 0.946827] Bluetooth: hci0: BCM: 'brcm/BCM.img,ci20.hcd'
[ 0.952278] Bluetooth: hci0: BCM: 'brcm/BCM.hcd'

and then the kernel is stuck.

So what is your defconfig that I can test your build?

BR and thanks,
Nikolaus


> Am 15.02.2023 um 18:55 schrieb Paul Cercueil <paul@xxxxxxxxxxxxxxx>:
>
> Hi Nikolaus,
>
> Le mercredi 15 février 2023 à 18:31 +0100, H. Nikolaus Schaller a
> écrit :
>> RFC V1 2023-02-15 18:31:58:
>> With the applied patch
>>
>> rtc: jz4740: Register clock provider for the CLK32K pin
>>
>> by Paul Cercueil <paul@xxxxxxxxxxxxxxx> it is now possible to make
>> the
>> CI20 WiFi and Bluetooth setup do something reasonable.
>>
>> This series adds #clock-cells to the jz4780 and fixes the device tree
>> for
>> the CI20. It contains two ugly workarounds since BL_WAKE and WL_WAKE
>> can not
>> be controlled as shutdown-gpios or device-wakeup-gpios by the
>> drivers.
>> We also update the power setup and sequencing and add a clock chain
>> for
>> the 32 kHz clock.
>> Finally, we enable some required CONFIGs for the CI20.
>
> I do have my own patchset that I wanted to send in time for 6.3-rc1,
> but the RTC patchset was merged very late so I was waiting for -rc1 to
> be out before sending it to Thomas.
>
> I think my DT changes are better as I have no workarounds. I need to
> clean up the commits (and have proper commit messages) but you can find
> my current work there:
> https://github.com/OpenDingux/linux/commits/for-upstream-ci20
>
> Cheers,
> -Paul
>
>>
>> Tested on CI20 with v6.2-rc6.
>>
>> H. Nikolaus Schaller (3):
>> MIPS: DTS: jz4780: add #clock-cells to rtc_dev
>> MIPS: DTS: CI20: fixes for WiFi/Bluetooth
>> MIPS: configs: ci20: enable drivers we need for WiFi/Bluetooth
>>
>> arch/mips/boot/dts/ingenic/ci20.dts | 77 ++++++++++++++++++++++--
>> --
>> arch/mips/boot/dts/ingenic/jz4780.dtsi | 2 +
>> arch/mips/configs/ci20_defconfig | 18 +++++-
>> 3 files changed, 84 insertions(+), 13 deletions(-)
>>
>