On Mon, Oct 26, 2015 at 4:32 PM, Olliver Schinagl <o.schinagl@xxxxxxxxxxxxx> wrote: > From: Olliver Schinagl <oliver@xxxxxxxxxxx> > > This patch adds a bit-banging gpio PWM driver. It makes use of hrtimers, > to allow nano-second resolution, though it obviously strongly depends on > the switching speed of the gpio pins, hrtimer and system load. > > Each pwm node can have 1 or more "pwm-gpio" entries, which will be > treated as pwm's as part of a pwm chip. > > Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx> > --- > Documentation/devicetree/bindings/pwm/pwm-gpio.txt | 18 ++ > MAINTAINERS | 5 + > drivers/pwm/Kconfig | 15 ++ > drivers/pwm/Makefile | 1 + > drivers/pwm/pwm-gpio.c | 253 +++++++++++++++++++++ > 5 files changed, 292 insertions(+) > create mode 100644 Documentation/devicetree/bindings/pwm/pwm-gpio.txt > create mode 100644 drivers/pwm/pwm-gpio.c > > diff --git a/Documentation/devicetree/bindings/pwm/pwm-gpio.txt b/Documentation/devicetree/bindings/pwm/pwm-gpio.txt > new file mode 100644 > index 0000000..336f61f > --- /dev/null > +++ b/Documentation/devicetree/bindings/pwm/pwm-gpio.txt > @@ -0,0 +1,18 @@ > +Generic GPIO bit-banged PWM driver > + > +Required properties: > + - compatible: should be "pwm-gpio" > + - #pwm-cells: should be 3, see pwm.txt in this directory for a general > + description of the cells format. > + - pwm-gpios: one or more gpios describing the used gpio, see the gpio > + bindings for the used gpio driver. I'm not sure there is really much advantage to having multiple gpios per node. It would simplify the driver a bit not to, but I don't feel strongly either way. > + > +Example: > +#include <dt-bindings/gpio/gpio.h> > + > + pwm: pwm@0 { Unit address should be associated with a reg property, so drop it. > + compatible = "pwm-gpio"; > + #pwm-cells = 3; > + pwm-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; > + pwm-gpios = <&pio 7 2 GPIO_ACTIVE_LOW>; This would not actually compile. You can't have 2 properties of the same name. > + }; > diff --git a/MAINTAINERS b/MAINTAINERS > index 7ba7ab7..0ae7fbf 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -4555,6 +4555,11 @@ F: drivers/i2c/muxes/i2c-mux-gpio.c > F: include/linux/i2c-mux-gpio.h > F: Documentation/i2c/muxes/i2c-mux-gpio > > +GENERIC GPIO PWM DRIVER > +M: Olliver Schinagl <oliver@xxxxxxxxxxx> > +S: Maintained > +F: drivers/pwm/pwm-gpio.c Can you add the binding doc too. Rob -- 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