On Mon, Sep 9, 2024 at 10:19 AM Bartosz Golaszewski <brgl@xxxxxxxx> wrote: > > On Fri, Sep 6, 2024 at 8:38 PM Jeff Johnson <quic_jjohnson@xxxxxxxxxxx> wrote: > > > > On 9/6/2024 12:44 AM, Bartosz Golaszewski wrote: > > > For upstream - if you're using the WCN6855, you must specify the > > > inputs for the WLAN module so it's only fair they be described as > > > "required". For out-of-tree DTS I couldn't care less. > > > > > > You are not correct saying that "M.2 boards don't need these" because > > > as a matter of fact: the WLAN module on your M.2 card takes these > > > inputs from the PMU inside the WCN6855 package. > > > > Let me start by saying that DT is one area where I'm a newbie, so I hope I can > > get some education. > > > > I'd like to start with an observation: I've used both WCN6855 with ath11k and > > WCN7850 with ath12k on an x86 laptop without any device tree, so from that > > perspective none of the device tree stuff is "required" -- these modules "just > > work". > > > > Yes. This is what I refer to as "fully dynamic" M.2 cards, where the > card typically has an on-board PMIC that handles the power-up of the > device, respecting all timings etc. No custom pins are used. You don't > need device-tree. DT bindings don't concern this case. Even it this > was an ARM, DT-based platform, you wouldn't need the DT entry. > > > However I also realize that when these are installed on Qualcomm ARM platforms > > that there are GPIO pins that control things like XO clock, WLAN enable & > > Bluetooth enable, as well as voltage regulators, and the device is > > non-functional without those configured, so the device tree items are required > > in that environment. > > > > So just from that perspective saying something is "required" is confusing when > > there are platforms where it isn't required. And perhaps that is what is > > confusing Kalle as well? > > > > The properties are required IF you have a DT representation. Because > if you're modeling the physical package, this is what it looks like. > The one on your "fully dynamic" M.2 card is the same - it also has the > same internal inputs and outputs but you're not modeling the external > package in the first place so you don't need to care about them. But > if you do represent the chipset and not as a black box WCN6855 in its > entirety but its WLAN, BT and PMU modules separately then it warrants > making the true inputs of the WLAN module mandatory in the schema. > > Please let me know if this is enough of an explanation. > > Bart One more thing to add. You guys worry about existing device-trees, don't, they will continue to work fine. This change only mandates that upstream DT sources model the inputs of the WLAN module and it's only verified by make_dtbs. This doesn't make the code require them. Whatever works for you now, will keep on working. Bart