On Tue, Sep 21, 2021 at 11:29:55PM +0100, Joey Gouly wrote: > Hi all, > > This is a driver for the combined pinctrl / GPIO hw in the Apple M1 computers. > The driver is based on Corellium's driver [1], and has been rebased and cleaned up. > The bindings are in Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml Have you checked if there is any (qualcomm / samsung / ?) existing driver is close enough to this hardware? > This has been tested with out-of-tree patches for the keyboard on the Macbook > Air, it has also been tested with i2c for the USB PD driver and PCIe (all > out-of-tree drivers currently). > > I left two defines at the top 'USE_PINMUX_GENERIC_FN' and > 'USE_PINCTRL_GENERIC_FN', I wasn't sure if I should use the generic functions for > getting the groups/functions, so I left both approaches in and will remove one > of them for the next version! Which approach should I use? Try to get rid of defines. > There is a branch here with the driver: > https://gitlab.arm.com/linux-arm/jg-open/-/commits/pinctrl_apple_v1 > > There is also a branch which contains all the commits as I was > developing here (and keyboard drivers): > https://gitlab.arm.com/linux-arm/jg-open/-/commits/m1-keyboard > > I look forward to feedback! > > Thanks, > Joey > > note: I'm sending this from my arm work e-mail address, however it was done on > personal time. It doesn't matter to the community. Check this with your employer. > note2: For those that have been testing this with PCIe etc, you will probably > want to also include the last commit in the following branch, as I dropped the > clock references in the code (due to the switch to power domains): > https://gitlab.arm.com/linux-arm/jg-open/-/commits/pinctrl_apple_v1_clock > > [1] > https://github.com/corellium/linux-m1/blob/d5ec2a737e64de23a21025f9eddc554588deb23f/drivers/pinctrl/pinctrl-apple-gpio.c -- With Best Regards, Andy Shevchenko