On Mon, Dec 26, 2022 at 10:39:39AM +0800, Jacky Bai wrote: > Add binding for NXP BBNSM(Battery-Backed Non-Secure Module). > > Signed-off-by: Jacky Bai <ping.bai@xxxxxxx> > --- > - v2 changes: > - remove the redundant 'bindings' string > - add ref to rtc.yaml > - add start-year property > - rename 'regmap' to 'nxp,bbnsm-regmap' and add description & type define > - add header files including in the example and correct the indentation > --- > .../devicetree/bindings/mfd/nxp,bbnsm.yaml | 113 ++++++++++++++++++ > 1 file changed, 113 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mfd/nxp,bbnsm.yaml > > diff --git a/Documentation/devicetree/bindings/mfd/nxp,bbnsm.yaml b/Documentation/devicetree/bindings/mfd/nxp,bbnsm.yaml > new file mode 100644 > index 000000000000..8d213bce9119 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mfd/nxp,bbnsm.yaml > @@ -0,0 +1,113 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mfd/nxp,bbnsm.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: NXP Battery-Backed Non-Secure Module > + > +maintainers: > + - Jacky Bai <ping.bai@xxxxxxx> > + > +description: | > + NXP BBNSM serves as non-volatile logic and storage for the system. > + it Intergrates RTC & ON/OFF control. > + The RTC can retain its state and continues counting even when the > + main chip is power down. A time alarm is generated once the most > + significant 32 bits of the real-time counter match the value in the > + Time Alarm register. > + The ON/OFF logic inside the BBNSM allows for connecting directly to > + a PMIC or other voltage regulator device. both smart PMIC mode and > + Dumb PMIC mode supported. > + > +properties: > + compatible: > + items: > + - enum: > + - nxp,bbnsm > + - const: syscon > + - const: simple-mfd > + > + reg: > + maxItems: 1 > + > + rtc: > + type: object > + $ref: /schemas/rtc/rtc.yaml# > + > + properties: > + compatible: > + const: nxp,bbnsm-rtc > + > + nxp,bbnsm-regmap: > + $ref: /schemas/types.yaml#/definitions/phandle > + description: > + phandle of the bbnsm node You don't need this now, it's the parent node. > + > + interrupts: > + maxItems: 1 > + > + start-year: true > + > + required: > + - compatible > + - nxp,bbnsm-regmap > + - interrupts > + > + additionalProperties: false > + > + pwrkey: > + type: object > + $ref: /schemas/input/input.yaml# > + > + properties: > + compatible: > + const: nxp,bbnsm-pwrkey > + > + nxp,bbnsm-regmap: > + $ref: /schemas/types.yaml#/definitions/phandle > + description: > + phandle of the bbnsm node Same here. > + > + interrupts: > + maxItems: 1 > + > + linux,code: true > + > + required: > + - compatible > + - nxp,bbnsm-regmap > + - interrupts > + > + additionalProperties: false > + > +required: > + - compatible > + - reg > + - rtc > + - pwrkey > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/input/linux-event-codes.h> > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + > + bbnsm: bbnsm@44440000 { > + compatible = "nxp,bbnsm", "syscon", "simple-mfd"; > + reg = <0x44440000 0x10000>; > + > + bbnsm_rtc: rtc { > + compatible = "nxp,bbnsm-rtc"; > + nxp,bbnsm-regmap = <&bbnsm>; > + interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; > + }; > + > + bbnsm_pwrkey: pwrkey { > + compatible = "nxp,bbnsm-pwrkey"; > + nxp,bbnsm-regmap = <&bbnsm>; > + interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; > + linux,code = <KEY_POWER>; > + }; > + }; > -- > 2.37.1 > >