On Fri, Dec 24, 2021 at 04:35:55PM +0800, Tony Huang wrote: > Add iop yaml file for Sunplus SP7021 > > Signed-off-by: Tony Huang <tonyhuang.sunplus@xxxxxxxxx> > --- > Changes in v5: > -Add iop-wakeup pin for 8051 to wake up the Linux kernel in shutdown mode. > > .../devicetree/bindings/misc/sunplus-iop.yaml | 72 ++++++++++++++++++++++ > MAINTAINERS | 5 ++ > 2 files changed, 77 insertions(+) > create mode 100644 Documentation/devicetree/bindings/misc/sunplus-iop.yaml > > diff --git a/Documentation/devicetree/bindings/misc/sunplus-iop.yaml b/Documentation/devicetree/bindings/misc/sunplus-iop.yaml > new file mode 100644 > index 0000000..fad0f50 > --- /dev/null > +++ b/Documentation/devicetree/bindings/misc/sunplus-iop.yaml > @@ -0,0 +1,72 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +# Copyright (C) Sunplus Ltd. Co. 2021 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/misc/sunplus-iop.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Sunplus IOP(8051) controller > + > +maintainers: > + - Tony Huang <tonyhuang.sunplus@xxxxxxxxx> > + > +description: | > + Processor for I/O control, RTC wake-up procedure management, > + and cooperation with CPU&PMC in power management. > + > +properties: > + compatible: > + enum: > + - sunplus,sp7021-iop > + > + reg: > + items: > + - description: IOP registers regions > + - description: PMC registers regions > + - description: MOON0 registers regions > + > + reg-names: > + items: > + - const: iop > + - const: iop_pmc > + - const: moon0 > + > + interrupts: > + items: > + - description: IOP_INT0. IOP to system Interrupt 0. > + Sent by IOP to system RISC. > + - description: IOP_INT1. IOP to System Interrupt 1. > + Sent by IOP to system RISC. > + > + memory-region: > + maxItems: 1 > + > + iop-wakeup: > + description: Notify 8051 to wake up the Linux kernel. What does that mean? What's the type? Does the standard 'wakeup-source' property not work here? > + > +required: > + - compatible > + - reg > + - reg-names > + - interrupts > + - memory-region > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/irq.h> > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + #include <dt-bindings/gpio/gpio.h> > + iop: iop@9c000400 { > + compatible = "sunplus,sp7021-iop"; > + reg = <0x9c000400 0x80>, <0x9c003100 0x80>, <0x9c000000 0x80>; > + reg-names = "iop", "iop_pmc", "moon0"; > + interrupt-parent = <&intc>; > + interrupts = <41 IRQ_TYPE_LEVEL_HIGH>, <42 IRQ_TYPE_LEVEL_HIGH>; > + memory-region = <&iop_reserve>; > + pinctrl-names = "default"; > + pinctrl-0 = <&iop_pins>; > + iop-wakeup = <&pctl 1 GPIO_ACTIVE_HIGH>; That's not how the GPIO binding works. > + }; > +... > diff --git a/MAINTAINERS b/MAINTAINERS > index 3b79fd4..071b5e6 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -17945,6 +17945,11 @@ L: netdev@xxxxxxxxxxxxxxx > S: Maintained > F: drivers/net/ethernet/dlink/sundance.c > > +SUNPLUS IOP DRIVER > +M: Tony Huang <tonyhuang.sunplus@xxxxxxxxx> > +S: Maintained > +F: Documentation/devicetree/bindings/misc/sunplu-iop.yaml > + > SUPERH > M: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> > M: Rich Felker <dalias@xxxxxxxx> > -- > 2.7.4 > >