On Wed, Nov 6, 2013 at 11:43 PM, Matt Sealey <neko@xxxxxxxxxxxxx> wrote: > On Mon, Oct 28, 2013 at 4:00 AM, Markus Pargmann <mpa@xxxxxxxxxxxxxx> wrote: >> >> + iomuxc: iomuxc@10015000 { >> + compatible = "fsl,imx27-iomuxc"; >> + reg = <0x10015000 0x600>; >> + >> + }; >> + >> gpio1: gpio@10015000 { >> compatible = "fsl,imx27-gpio", "fsl,imx21-gpio"; >> reg = <0x10015000 0x100>; > > Linus, > > Case in point, you can't have two nodes which overlap registers. > > Probably the most reasonable way to effect this is to keep the GPIO > bindings, put pinctrl definitions in there (there's no reason pinctrl > and gpio drivers can't probe the same compatible property) and use > regmap internally on that single node. If the I/O region is tightly coupled across two subsystems like that we usually merge the driver into one combined pinctrl+gpio driver and put it into drivers/pinctrl/*. This often solves more problems and make the code simpler too. An alternative if address 0x10015000- 0x100150ff is really only used for GPIO is to map the pinctrl like that: reg = <0x10015100 0x500> and rewrite all the base offset handling in the driver. Yours, Linus Walleij -- 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