On Thu 08 Apr 22:19 CDT 2021, Petr Vorel wrote: > Hi Konrad, > > Hi, > > > to clear up some confusion: > > > > On Qualcomm boards GPIOs that are used for "secure" (duh) peripherals, > > like a fingerprint scanner, are not allowed to be controlled from Linux (the "non-secure world"). > > Trying to do so causes an immediate reboot due to "attempting to violate the security". > Thanks for an explanation. > > > The GPIOs seem to all be iterated over on boot, except for the ones specified in "gpio-reserved-ranges". > > As a result, if such "secure" GPIOs are not declared in the DT, the board essentially dies on TLMM (pinctrl) probe > > (which happens veeeery early - so that all other peripherals can set the pins as they see fit) > > and that's very unpleasant to debug. Without this patch, Petr's device will simply not boot. > Exactly. > > > So, why did it work before!? > > > > Well, either the GPIOs weren't iterated over, or the TLMM (pinctrl) driver wasn't in place back then. > I suppose GPIOs not being iterated over is the case for first fix (i.e. fixing > 3edfb7bd76bd "gpiolib: Show correct direction from the beginning"). > We had a long discussion about this in the past, and this resulted in gpio-reserved-ranges and flagging off GPIOs that shouldn't be touched. It seems we introduced the angler dts prior to said changes in the gpiolib, so it's probably right to say that it's a regression. However, the introduction of this was done 3 years ago and we're happy with it on all other devices. There's no harm in introducing this property prior to the introduction of the related gpiolib patches, so if you really care about it being backported I would suggest you say: Fixes: feeaf56ac78d ("arm64: dts: msm8994 SoC and Huawei Angler (Nexus 6P) support") But I presume based on the awesome work you guys are putting into the 8994 platform people shouldn't run "old" kernels anyways, so I think it would be fine with us just ignoring the Fixes as well... Regards, Bjorn