Hi, This series adds pinctrl support to the Mobileye EyeQ5 platform, following up on the platform support series by Grégory Clement [1]. All registers involved live in a shared register region called OLB ("Other Logic Block"). We have control over bias, drive strength and muxing. The latter allows two functions per pin; the first function is always GPIO while the second one is pin-dependent. Functions are statically declared in the driver, associated to compatibles. Two compatibles exist, one for each bank. The pin controller's functionality is not limited so each pin maps to one group. That makes pin & group indexes the same, simplifying logic. Having two instances, one per bank, also is done to simplify the driver's logic. The series ends by adding the two banks as devicetree nodes and declaring a pin-mux node for each function. We also add pinctrl references to the existing UART nodes. We are based on the reset series [2] for the sole reason of avoiding merge conflicts in the devicetree. [1]: https://lore.kernel.org/lkml/20231212163459.1923041-1-gregory.clement@xxxxxxxxxxx/ [2]: https://lore.kernel.org/lkml/20231218-mbly-reset-v1-0-b4688b916213@xxxxxxxxxxx/ Have a nice day, Théo Lebrun Signed-off-by: Théo Lebrun <theo.lebrun@xxxxxxxxxxx> --- Théo Lebrun (4): dt-bindings: pinctrl: mobileye,eyeq5-pinctrl: add bindings pinctrl: eyeq5: add driver MIPS: mobileye: eyeq5: add pinctrl nodes & pinmux function nodes MIPS: mobileye: eyeq5: add pinctrl properties to uarts .../bindings/pinctrl/mobileye,eyeq5-pinctrl.yaml | 125 +++++ MAINTAINERS | 2 + arch/mips/boot/dts/mobileye/eyeq5-pins.dtsi | 128 +++++ arch/mips/boot/dts/mobileye/eyeq5.dtsi | 17 + drivers/pinctrl/Kconfig | 15 + drivers/pinctrl/Makefile | 1 + drivers/pinctrl/pinctrl-eyeq5.c | 593 +++++++++++++++++++++ 7 files changed, 881 insertions(+) --- base-commit: cfa954ebcdc3504dbf38ff5ba1589ed0cdfc8313 change-id: 20231023-mbly-pinctrl-7afe9c738936 Best regards, -- Théo Lebrun <theo.lebrun@xxxxxxxxxxx>