From: Krzysztof Kozlowski <krzk@kernel.org>
To: "Alexis Lothoré" <alexis.lothore@bootlin.com>
Cc: Marcel Holtmann <marcel@holtmann.org>,
Luiz Augusto von Dentz <luiz.dentz@gmail.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Ajay Singh <ajay.kathat@microchip.com>,
Claudiu Beznea <claudiu.beznea@tuxon.dev>,
Kalle Valo <kvalo@kernel.org>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Simon Horman <horms@kernel.org>,
Nicolas Ferre <nicolas.ferre@microchip.com>,
Alexandre Belloni <alexandre.belloni@bootlin.com>,
Marek Vasut <marex@denx.de>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
linux-bluetooth@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-wireless@vger.kernel.org,
netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 01/12] dt-bindings: bluetooth: describe wilc 3000 bluetooth chip
Date: Fri, 14 Feb 2025 08:47:23 +0100 [thread overview]
Message-ID: <826ded05-6ea8-420c-8bd9-97dcf9b18ccc@kernel.org> (raw)
In-Reply-To: <99247019-bb41-4fd9-bc0c-d31e5688533b@bootlin.com>
On 13/02/2025 16:25, Alexis Lothoré wrote:
> Hi Krzysztof,
>
> On 2/13/25 10:25, Krzysztof Kozlowski wrote:
>>> + wlan:
>>> + $ref: /schemas/types.yaml#/definitions/phandle
>>> + description:
>>> + Phandle to the wlan part of the combo chip
>>
>> No resources here and judging by the driver everything is part of wifi.
>> Either you wrote it to match driver or indeed hardware is like that. In
>> the first case, why this cannot be part of WiFi with phandle to serial
>> bus? In the second case, this needs to be proper hardware description
>
> First, I'd like to reclarify what the chip exactly is, to make sure that we are
> talking about the same thing. The wilc3000 ([1]) is a single physical device
> packaging two different discrete modules inside (one for 802.11, one for
> bluetooth). The WLAN part has its own binding integrated in upstream kernel
> ([2]) and is based on a similar chip in the same family (wilc1000, which only
> have 802.11, and so only SPI/SDIO, no UART).
>
> Now that it is said, no, I did not write this binding only aiming to match the
> new driver. I tried to base this description on how similar WLAN/BT combo chips
> are usually described (based on those which have existing bindings), and they
> seem to describe distinctly the two internal parts of those chips as well. For
Yes, because BT part is isolated enough that you datasheet tells which
resources belong to it and DT describes these resources.
You do not have any resources here.
> those who use HCI commands over uart for the bluetooth part, they expose a
> dedicated child node of a serial controller (distinct from the wlan part,
> described as another node on PCI/SDIO/SPI/etc). The hardware architecture for
> wilc3000 is similar to those, so since the serial bus is the primary interface
> to operate the bluetooth part inside the chip, doesn't it makes sense to have it
> under a serial controller node (and then to refer to wlan for the additional
> operations needed on sdio/spi), than the other way around ?
There is little benefit in describing one device in two places. This
even lead to probe ordering issues and power sequencing problems, for
example being explicitly addressed by recent power sequencing work from
Bartosz by creating *third* node...
You have no resources here, so I cannot even imagine inventing something
in that third (PMU) node.
But anyway in case of WCN devices, the reason of power sequencing
patches, BT and WiFi are separate, can be enabled separately, can be
even shipped one without another (I think).
Not your case. Your BT needs WiFi to load firmware.
>
> About the lack of other resources in the new node: there are indeed additional
> resources that affect bluetooth, but I am not sure how it should be handled:
You sent us then incomplete hardware description. So you got review like
this.
> there are for example a reset input and a chip enable input exposed by this
> chip, which in fact do not only affect the WLAN part but the two parts inside
> the chip. But those are currently described and handled by the WLAN part. I
So everything is already defined in WiFi part and this node is not
really necessary.
> guess that an improvement regarding this point could then be to move those out
> of the wlan binding, and find a way to describe it as shared resources between
> those two parts of the chip, but how should it be handled ? Is it ok to remove
> those from an existing binding (and if so, where to put those ? It is not
> bluetooth specific neither) ? Is the issue rather about current WILC3000 binding
> kind of mixing overall chip description and internal wlan part description ?
Datasheet shows this as one device, not two, not three.
Reset and chip enable, based on datasheet, are not specific to BT. They
reset/enable entire chip, I assume, so it is even better proof that your
HW description is not correct.
How this device is supposed to work if you do not enable WiFi - do not
deassert reset from Wifi driver? BT will stay in reset. Really, and
that's correct hardware representation?
This is exactly the power sequencing problem one more time and you keep
asking exactly the same questions and repeating exactly the same
mistakes. This is incomplete and, IMO, incorrect hardware description.
Read all previous discussions, read/listen/watch the talks about power
sequencing (there were two on LPCs - one with Abel to describe the
problem, year later to solve it).
Best regards,
Krzysztof
next prev parent reply other threads:[~2025-02-14 7:47 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-12 15:46 [PATCH 00/12] bluetooth: hci_wilc: add new bluetooth driver Alexis Lothoré
2025-02-12 15:46 ` [PATCH 01/12] dt-bindings: bluetooth: describe wilc 3000 bluetooth chip Alexis Lothoré
2025-02-13 9:25 ` Krzysztof Kozlowski
2025-02-13 15:25 ` Alexis Lothoré
2025-02-14 7:47 ` Krzysztof Kozlowski [this message]
2025-02-12 15:46 ` [PATCH 02/12] wifi: wilc1000: add a read-modify-write API for registers accesses Alexis Lothoré
2025-02-12 15:46 ` [PATCH 03/12] wifi: wilc1000: add lock to prevent concurrent firmware startup Alexis Lothoré
2025-02-12 15:46 ` [PATCH 04/12] wifi: wilc1000: allow to use acquire/release bus in other parts of driver Alexis Lothoré
2025-02-12 15:46 ` [PATCH 05/12] wifi: wilc1000: do not depend on power save flag to wake up chip Alexis Lothoré
2025-02-12 15:46 ` [PATCH 06/12] wifi: wilc1000: remove timeout parameter from set_power_mgmt Alexis Lothoré
2025-02-12 15:46 ` [PATCH 07/12] wifi: wilc1000: reorganize makefile objs into sorted list Alexis Lothoré
2025-02-12 15:46 ` [PATCH 08/12] wifi: wilc1000: add basic functions to allow bluetooth bringup Alexis Lothoré
2025-02-12 15:46 ` [PATCH 09/12] wifi: wilc1000: disable firmware power save if bluetooth is in use Alexis Lothoré
2025-02-16 16:07 ` Simon Horman
2025-02-12 15:46 ` [PATCH 10/12] bluetooth: hci_wilc: add wilc hci driver Alexis Lothoré
2025-02-12 16:14 ` Luiz Augusto von Dentz
2025-02-12 17:01 ` Alexis Lothoré
2025-02-13 9:24 ` Krzysztof Kozlowski
2025-02-13 15:30 ` Alexis Lothoré
2025-02-12 15:46 ` [PATCH 11/12] ARM: dts: at91-sama5d27_wlsom1: update bluetooth chip description Alexis Lothoré
2025-02-12 15:46 ` [PATCH 12/12] MAINTAINERS: add entry for new wilc3000 bluetooth driver Alexis Lothoré
2025-02-12 22:08 ` [PATCH 00/12] bluetooth: hci_wilc: add new " Rob Herring (Arm)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=826ded05-6ea8-420c-8bd9-97dcf9b18ccc@kernel.org \
--to=krzk@kernel.org \
--cc=ajay.kathat@microchip.com \
--cc=alexandre.belloni@bootlin.com \
--cc=alexis.lothore@bootlin.com \
--cc=claudiu.beznea@tuxon.dev \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=kvalo@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-bluetooth@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=luiz.dentz@gmail.com \
--cc=marcel@holtmann.org \
--cc=marex@denx.de \
--cc=netdev@vger.kernel.org \
--cc=nicolas.ferre@microchip.com \
--cc=pabeni@redhat.com \
--cc=robh@kernel.org \
--cc=thomas.petazzoni@bootlin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).