On 4/18/2024 4:36 AM, Phil Elwell wrote:
Hello, I'm having difficulty using the gpio-brcmstb driver with the gpio-ranges property. gpio-brcmstb allows multiple banks of up to 32 GPIO lines to be declared using a single DT node. However, if you do that, any declared gpio-ranges get applied to all banks without any kind of filtering or adjustment. This is because the gpio-brcmstb makes use of gpio-mmio, which requires one gpio_chip per bank. These gpio_chips have the same DT node, hence the same ranges, but are unaware that only a subset applies to them. The GPIO<->pinctrl mapping can be configured in driver code, but this is deprecated (as is forcing global GPIO base numbers to start at zero, but the driver does it anyway).
More like it has not been converted to use a dynamic base, that is on our TODO.
What is the best way forward? Does one have to say that in gpio-brcmstb, gpio-ranges and multiple banks are mutually incompatible?
Do you have a DT snippet of what you would like to achieve?
Thanks, Phil
-- Florian
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature