Hi Patrick! > On 29.11.2017, at 21:35, Patrick Menschel <menschel.p@xxxxxxxxx> wrote: > > Hello Martin, > > > I didn't catch the whole discussion but you may want to check > > include/dt-bindings/gpio/gpio.h > >> #define GPIO_OPEN_DRAIN (GPIO_SINGLE_ENDED | GPIO_ACTIVE_LOW) > > This corresponds to > > Documentation/devicetree/bindings/gpio/gpio.txt I understand, but the question still is: how to present the information in a valid way. To use gpio propperly it would require that the driver implements a “sub-driver” pinctrl with all the extra (boilerplate) code overhead. Also this would mean mixing different types of logical drivers into a single source - I doubt that would be easy to get accepted... Here again a summary of all the GPIOs that the mcp2517fd has: * TXCAN: dedicated GPIO with single function, individually conigurable as push/pull or open drain * INT: main interrupt line - configurable as push/pull or individually conigurable as push/pull or open drain * GPIO0: general GPIO with in/out option, but 2 special “cases”: tx-irq and TX-disable group configurable as push/pull or open drain * GPIO1: general GPIO with in/out potion, but 1 special “cases”: rx-irq group configurable as push/pull or open drain * CLKO/SOF: clock output at (1/10th, 1/5th, 1/2, 1 of the core frequency) or start of frame output possibly group configurable as push/pull or open drain (not explicitly specified in datasheet) How would you try to present that HW-configuration in the device tree instead? How would it impact the driver design? Thanks, Martin -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html