Message ID | 20221226023942.1027270-2-ping.bai@nxp.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add nxp bbnsm module support | expand |
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@nxp.com> > --- > - 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@nxp.com> > + > +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 > >
Hi Rob, > Subject: Re: [PATCH v2 1/4] dt-bindings: mfd: Add nxp bbnsm > > 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@nxp.com> > > --- > > - 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 > > --- > > + > > + 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. Thx for review. yes, it is redundant, will remove it and refine the code in V3. BR > > > + > > + 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 > > > >
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@nxp.com> + +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 + + 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 + + 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>; + }; + };
Add binding for NXP BBNSM(Battery-Backed Non-Secure Module). Signed-off-by: Jacky Bai <ping.bai@nxp.com> --- - 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