Message ID | 20230615091757.24686-3-zhuyinbo@loongson.cn (mailing list archive) |
---|---|
State | Handled Elsewhere, archived |
Headers | show |
Series | soc: loongson2_pm: add power management support | expand |
Hey, Rob, could you take a look at this please? On v2 while you were away I was kinda struggling w/ suspend-address & whether it made sense. The v2 & v1 are here: https://lore.kernel.org/all/20230522093156.7108-3-zhuyinbo@loongson.cn/ https://lore.kernel.org/all/20230517073149.31980-3-zhuyinbo@loongson.cn/ On Thu, Jun 15, 2023 at 05:17:56PM +0800, Yinbo Zhu wrote: > Add the Loongson-2 SoC Power Management Controller binding with DT > schema format using json-schema. > > Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> > --- > .../soc/loongson/loongson,ls2k-pmc.yaml | 53 +++++++++++++++++++ > MAINTAINERS | 6 +++ > 2 files changed, 59 insertions(+) > create mode 100644 Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml > > diff --git a/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml b/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml > new file mode 100644 > index 000000000000..32499bd10f8c > --- /dev/null > +++ b/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml The filename should ideally match one of the compatibles. > @@ -0,0 +1,53 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/soc/loongson/loongson,ls2k-pmc.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Loongson-2 Power Manager controller > + > +maintainers: > + - Yinbo Zhu <zhuyinbo@loongson.cn> > + > +properties: > + compatible: > + oneOf: > + - items: > + - enum: > + - loongson,ls2k1000-pmc > + - loongson,ls2k0500-pmc I notice the driver only supports one of these two. Is there a reason for that? > + - const: syscon > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + suspend-address: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + The "suspend-address" is a deep sleep state (Suspend To RAM) > + firmware entry address which was jumped from kernel and it's > + value was dependent on specific platform firmware code. In > + addition, the PM need according to it to indicate that current > + SoC whether support Suspend To RAM. > + > +required: > + - compatible > + - reg > + - interrupts > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/irq.h> > + > + pmc: pm@1fe27000 { ^^^ nit: this label isn't used, so you can drop it. Cheers, Conor.
在 2023/6/16 下午2:58, Conor Dooley 写道: > Hey, > > Rob, could you take a look at this please? On v2 while you were away I > was kinda struggling w/ suspend-address & whether it made sense. > > The v2 & v1 are here: > https://lore.kernel.org/all/20230522093156.7108-3-zhuyinbo@loongson.cn/ > https://lore.kernel.org/all/20230517073149.31980-3-zhuyinbo@loongson.cn/ > > On Thu, Jun 15, 2023 at 05:17:56PM +0800, Yinbo Zhu wrote: >> Add the Loongson-2 SoC Power Management Controller binding with DT >> schema format using json-schema. >> >> Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> >> --- >> .../soc/loongson/loongson,ls2k-pmc.yaml | 53 +++++++++++++++++++ >> MAINTAINERS | 6 +++ >> 2 files changed, 59 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml >> >> diff --git a/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml b/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml >> new file mode 100644 >> index 000000000000..32499bd10f8c >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml > > The filename should ideally match one of the compatibles. I learn about that yaml file name need match this compatible, but here using a specific compatible as the name of the yaml file seems a bit inappropriate . After all, this yaml file needs to cover lots of ls2k series SoC rather than a specific SoC, and the yaml file naming in kernel drivers is basically the same that use cover a series SoC's way. > >> @@ -0,0 +1,53 @@ >> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/soc/loongson/loongson,ls2k-pmc.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Loongson-2 Power Manager controller >> + >> +maintainers: >> + - Yinbo Zhu <zhuyinbo@loongson.cn> >> + >> +properties: >> + compatible: >> + oneOf: >> + - items: >> + - enum: >> + - loongson,ls2k1000-pmc >> + - loongson,ls2k0500-pmc > > I notice the driver only supports one of these two. Is there a reason > for that? The driver can support both of the above, and I will add another. > >> + - const: syscon >> + >> + reg: >> + maxItems: 1 >> + >> + interrupts: >> + maxItems: 1 >> + >> + suspend-address: >> + $ref: /schemas/types.yaml#/definitions/uint32 >> + description: >> + The "suspend-address" is a deep sleep state (Suspend To RAM) >> + firmware entry address which was jumped from kernel and it's >> + value was dependent on specific platform firmware code. In >> + addition, the PM need according to it to indicate that current >> + SoC whether support Suspend To RAM. >> + >> +required: >> + - compatible >> + - reg >> + - interrupts >> + >> +additionalProperties: false >> + >> +examples: >> + - | >> + #include <dt-bindings/interrupt-controller/irq.h> >> + >> + pmc: pm@1fe27000 { > ^^^ > > nit: this label isn't used, so you can drop it. This lable need to be used by poweroff and reboot node but I don't add these node that reference pmc here. Thanks, Yinbo
On Fri, Jun 16, 2023 at 03:53:38PM +0800, zhuyinbo wrote: > 在 2023/6/16 下午2:58, Conor Dooley 写道: > > > > Rob, could you take a look at this please? On v2 while you were away I > > was kinda struggling w/ suspend-address & whether it made sense. > > > > The v2 & v1 are here: > > https://lore.kernel.org/all/20230522093156.7108-3-zhuyinbo@loongson.cn/ > > https://lore.kernel.org/all/20230517073149.31980-3-zhuyinbo@loongson.cn/ > > > > On Thu, Jun 15, 2023 at 05:17:56PM +0800, Yinbo Zhu wrote: > > > Add the Loongson-2 SoC Power Management Controller binding with DT > > > schema format using json-schema. > > > > > > Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> > > > --- > > > .../soc/loongson/loongson,ls2k-pmc.yaml | 53 +++++++++++++++++++ > > > MAINTAINERS | 6 +++ > > > 2 files changed, 59 insertions(+) > > > create mode 100644 Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml > > > > > > diff --git a/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml b/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml > > > new file mode 100644 > > > index 000000000000..32499bd10f8c > > > --- /dev/null > > > +++ b/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml > > > > The filename should ideally match one of the compatibles. > > > I learn about that yaml file name need match this compatible, but here > using a specific compatible as the name of the yaml file seems a bit > inappropriate . After all, this yaml file needs to cover lots of ls2k > series SoC rather than a specific SoC, and the yaml file naming in > kernel drivers is basically the same that use cover a series SoC's way. > > > > > > @@ -0,0 +1,53 @@ > > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > > > +%YAML 1.2 > > > +--- > > > +$id: http://devicetree.org/schemas/soc/loongson/loongson,ls2k-pmc.yaml# > > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > > + > > > +title: Loongson-2 Power Manager controller > > > + > > > +maintainers: > > > + - Yinbo Zhu <zhuyinbo@loongson.cn> > > > + > > > +properties: > > > + compatible: > > > + oneOf: > > > + - items: > > > + - enum: > > > + - loongson,ls2k1000-pmc > > > + - loongson,ls2k0500-pmc > > > > I notice the driver only supports one of these two. Is there a reason > > for that? > > > The driver can support both of the above, and I will add another. The driver only contains static const struct of_device_id loongson2_pm_match[] = { { .compatible = "loongson,ls2k1000-pmc", }, {}, }; so it only supports the 2k1000 right now. Are the 2k1000 and 2k0500 compatible with eachother? > > > + - const: syscon > > > + > > > + reg: > > > + maxItems: 1 > > > + > > > + interrupts: > > > + maxItems: 1 > > > + > > > + suspend-address: > > > + $ref: /schemas/types.yaml#/definitions/uint32 > > > + description: > > > + The "suspend-address" is a deep sleep state (Suspend To RAM) > > > + firmware entry address which was jumped from kernel and it's > > > + value was dependent on specific platform firmware code. In > > > + addition, the PM need according to it to indicate that current > > > + SoC whether support Suspend To RAM. > > > + > > > +required: > > > + - compatible > > > + - reg > > > + - interrupts > > > + > > > +additionalProperties: false > > > + > > > +examples: > > > + - | > > > + #include <dt-bindings/interrupt-controller/irq.h> > > > + > > > + pmc: pm@1fe27000 { > > ^^^ > > > > nit: this label isn't used, so you can drop it. > > > This lable need to be used by poweroff and reboot node but I don't add > these node that reference pmc here. Right, in the dts it might need those, but not in the example in the binding. Cheers, Conor.
On 15/06/2023 11:17, Yinbo Zhu wrote: > Add the Loongson-2 SoC Power Management Controller binding with DT > schema format using json-schema. > > Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> > --- > .../soc/loongson/loongson,ls2k-pmc.yaml | 53 +++++++++++++++++++ > MAINTAINERS | 6 +++ > 2 files changed, 59 insertions(+) > create mode 100644 Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml > > diff --git a/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml b/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml > new file mode 100644 > index 000000000000..32499bd10f8c > --- /dev/null > +++ b/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml > @@ -0,0 +1,53 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/soc/loongson/loongson,ls2k-pmc.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Loongson-2 Power Manager controller > + > +maintainers: > + - Yinbo Zhu <zhuyinbo@loongson.cn> > + > +properties: > + compatible: > + oneOf: Drop oneOf, you don't have here many choices. > + - items: > + - enum: > + - loongson,ls2k1000-pmc > + - loongson,ls2k0500-pmc > + - const: syscon > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + suspend-address: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + The "suspend-address" is a deep sleep state (Suspend To RAM) > + firmware entry address which was jumped from kernel and it's > + value was dependent on specific platform firmware code. In > + addition, the PM need according to it to indicate that current > + SoC whether support Suspend To RAM. > + > +required: > + - compatible > + - reg > + - interrupts > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/irq.h> > + > + pmc: pm@1fe27000 { Node name: system-controller or power-pamanagement With these two: Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof
在 2023/6/16 下午4:03, Conor Dooley 写道: > On Fri, Jun 16, 2023 at 03:53:38PM +0800, zhuyinbo wrote: >> 在 2023/6/16 下午2:58, Conor Dooley 写道: >>> >>> Rob, could you take a look at this please? On v2 while you were away I >>> was kinda struggling w/ suspend-address & whether it made sense. >>> >>> The v2 & v1 are here: >>> https://lore.kernel.org/all/20230522093156.7108-3-zhuyinbo@loongson.cn/ >>> https://lore.kernel.org/all/20230517073149.31980-3-zhuyinbo@loongson.cn/ >>> >>> On Thu, Jun 15, 2023 at 05:17:56PM +0800, Yinbo Zhu wrote: >>>> Add the Loongson-2 SoC Power Management Controller binding with DT >>>> schema format using json-schema. >>>> >>>> Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> >>>> --- >>>> .../soc/loongson/loongson,ls2k-pmc.yaml | 53 +++++++++++++++++++ >>>> MAINTAINERS | 6 +++ >>>> 2 files changed, 59 insertions(+) >>>> create mode 100644 Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml >>>> >>>> diff --git a/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml b/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml >>>> new file mode 100644 >>>> index 000000000000..32499bd10f8c >>>> --- /dev/null >>>> +++ b/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml >>> >>> The filename should ideally match one of the compatibles. >> >> >> I learn about that yaml file name need match this compatible, but here >> using a specific compatible as the name of the yaml file seems a bit >> inappropriate . After all, this yaml file needs to cover lots of ls2k >> series SoC rather than a specific SoC, and the yaml file naming in >> kernel drivers is basically the same that use cover a series SoC's way. >> >>> >>>> @@ -0,0 +1,53 @@ >>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >>>> +%YAML 1.2 >>>> +--- >>>> +$id: http://devicetree.org/schemas/soc/loongson/loongson,ls2k-pmc.yaml# >>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>>> + >>>> +title: Loongson-2 Power Manager controller >>>> + >>>> +maintainers: >>>> + - Yinbo Zhu <zhuyinbo@loongson.cn> >>>> + >>>> +properties: >>>> + compatible: >>>> + oneOf: >>>> + - items: >>>> + - enum: >>>> + - loongson,ls2k1000-pmc >>>> + - loongson,ls2k0500-pmc >>> >>> I notice the driver only supports one of these two. Is there a reason >>> for that? >> >> >> The driver can support both of the above, and I will add another. > > The driver only contains > static const struct of_device_id loongson2_pm_match[] = { > { .compatible = "loongson,ls2k1000-pmc", }, > {}, > }; > so it only supports the 2k1000 right now. Are the 2k1000 and 2k0500 > compatible with eachother? They are not completely compatible, 2k500 may still require some work to be done, but I can confirm this driver was can compatible 2k0500 and 2k1000. for match yaml file, and I can add 2k0500 compatible in driver. > >>>> + - const: syscon >>>> + >>>> + reg: >>>> + maxItems: 1 >>>> + >>>> + interrupts: >>>> + maxItems: 1 >>>> + >>>> + suspend-address: >>>> + $ref: /schemas/types.yaml#/definitions/uint32 >>>> + description: >>>> + The "suspend-address" is a deep sleep state (Suspend To RAM) >>>> + firmware entry address which was jumped from kernel and it's >>>> + value was dependent on specific platform firmware code. In >>>> + addition, the PM need according to it to indicate that current >>>> + SoC whether support Suspend To RAM. >>>> + >>>> +required: >>>> + - compatible >>>> + - reg >>>> + - interrupts >>>> + >>>> +additionalProperties: false >>>> + >>>> +examples: >>>> + - | >>>> + #include <dt-bindings/interrupt-controller/irq.h> >>>> + >>>> + pmc: pm@1fe27000 { >>> ^^^ >>> >>> nit: this label isn't used, so you can drop it. >> >> >> This lable need to be used by poweroff and reboot node but I don't add >> these node that reference pmc here. > > Right, in the dts it might need those, but not in the example in the > binding. okay, I got it. Thanks, Yinbo
在 2023/6/16 下午4:03, Krzysztof Kozlowski 写道: > On 15/06/2023 11:17, Yinbo Zhu wrote: >> Add the Loongson-2 SoC Power Management Controller binding with DT >> schema format using json-schema. >> >> Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> >> --- >> .../soc/loongson/loongson,ls2k-pmc.yaml | 53 +++++++++++++++++++ >> MAINTAINERS | 6 +++ >> 2 files changed, 59 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml >> >> diff --git a/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml b/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml >> new file mode 100644 >> index 000000000000..32499bd10f8c >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml >> @@ -0,0 +1,53 @@ >> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/soc/loongson/loongson,ls2k-pmc.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Loongson-2 Power Manager controller >> + >> +maintainers: >> + - Yinbo Zhu <zhuyinbo@loongson.cn> >> + >> +properties: >> + compatible: >> + oneOf: > > Drop oneOf, you don't have here many choices. okay, I got it. > >> + - items: >> + - enum: >> + - loongson,ls2k1000-pmc >> + - loongson,ls2k0500-pmc >> + - const: syscon >> + >> + reg: >> + maxItems: 1 >> + >> + interrupts: >> + maxItems: 1 >> + >> + suspend-address: >> + $ref: /schemas/types.yaml#/definitions/uint32 >> + description: >> + The "suspend-address" is a deep sleep state (Suspend To RAM) >> + firmware entry address which was jumped from kernel and it's >> + value was dependent on specific platform firmware code. In >> + addition, the PM need according to it to indicate that current >> + SoC whether support Suspend To RAM. >> + >> +required: >> + - compatible >> + - reg >> + - interrupts >> + >> +additionalProperties: false >> + >> +examples: >> + - | >> + #include <dt-bindings/interrupt-controller/irq.h> >> + >> + pmc: pm@1fe27000 { > > Node name: system-controller or power-pamanagement > > With these two: > > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> okay, I will do it. Thanks, Yinbo
On Thu, Jun 15, 2023 at 05:17:56PM +0800, Yinbo Zhu wrote: > Add the Loongson-2 SoC Power Management Controller binding with DT > schema format using json-schema. > > Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> > --- > .../soc/loongson/loongson,ls2k-pmc.yaml | 53 +++++++++++++++++++ > MAINTAINERS | 6 +++ > 2 files changed, 59 insertions(+) > create mode 100644 Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml > > diff --git a/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml b/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml > new file mode 100644 > index 000000000000..32499bd10f8c > --- /dev/null > +++ b/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml > @@ -0,0 +1,53 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/soc/loongson/loongson,ls2k-pmc.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Loongson-2 Power Manager controller > + > +maintainers: > + - Yinbo Zhu <zhuyinbo@loongson.cn> > + > +properties: > + compatible: > + oneOf: > + - items: > + - enum: > + - loongson,ls2k1000-pmc > + - loongson,ls2k0500-pmc > + - const: syscon > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + suspend-address: loongson,suspend-address > + $ref: /schemas/types.yaml#/definitions/uint32 Isn't this a 64-bit platform? Probably better if this is a 64-bit value in case that's needed in the future. > + description: > + The "suspend-address" is a deep sleep state (Suspend To RAM) > + firmware entry address which was jumped from kernel and it's > + value was dependent on specific platform firmware code. In > + addition, the PM need according to it to indicate that current > + SoC whether support Suspend To RAM. > + > +required: > + - compatible > + - reg > + - interrupts > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/irq.h> > + > + pmc: pm@1fe27000 { > + compatible = "loongson,ls2k1000-pmc", "syscon"; > + reg = <0x1fe27000 0x58>; > + interrupt-parent = <&liointc1>; > + interrupts = <11 IRQ_TYPE_LEVEL_LOW>; > + suspend-address = <0x1c000500>; > + }; > diff --git a/MAINTAINERS b/MAINTAINERS > index 7a91f14cad2e..bcd05f1fa5c1 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -12190,6 +12190,12 @@ S: Maintained > F: Documentation/devicetree/bindings/hwinfo/loongson,ls2k-chipid.yaml > F: drivers/soc/loongson/loongson2_guts.c > > +LOONGSON-2 SOC SERIES PM DRIVER > +M: Yinbo Zhu <zhuyinbo@loongson.cn> > +L: linux-pm@vger.kernel.org > +S: Maintained > +F: Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml > + > LOONGSON-2 SOC SERIES PINCTRL DRIVER > M: zhanghongchen <zhanghongchen@loongson.cn> > M: Yinbo Zhu <zhuyinbo@loongson.cn> > -- > 2.20.1 >
在 2023/6/16 下午11:17, Rob Herring 写道: > On Thu, Jun 15, 2023 at 05:17:56PM +0800, Yinbo Zhu wrote: >> Add the Loongson-2 SoC Power Management Controller binding with DT >> schema format using json-schema. >> >> Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> >> --- >> .../soc/loongson/loongson,ls2k-pmc.yaml | 53 +++++++++++++++++++ >> MAINTAINERS | 6 +++ >> 2 files changed, 59 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml >> >> diff --git a/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml b/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml >> new file mode 100644 >> index 000000000000..32499bd10f8c >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml >> @@ -0,0 +1,53 @@ >> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/soc/loongson/loongson,ls2k-pmc.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Loongson-2 Power Manager controller >> + >> +maintainers: >> + - Yinbo Zhu <zhuyinbo@loongson.cn> >> + >> +properties: >> + compatible: >> + oneOf: >> + - items: >> + - enum: >> + - loongson,ls2k1000-pmc >> + - loongson,ls2k0500-pmc >> + - const: syscon >> + >> + reg: >> + maxItems: 1 >> + >> + interrupts: >> + maxItems: 1 >> + >> + suspend-address: > > loongson,suspend-address okay, I will use it. > >> + $ref: /schemas/types.yaml#/definitions/uint32 > > Isn't this a 64-bit platform? Probably better if this is a 64-bit value > in case that's needed in the future. okay, I got it. Thanks, Yinbo
diff --git a/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml b/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml new file mode 100644 index 000000000000..32499bd10f8c --- /dev/null +++ b/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/loongson/loongson,ls2k-pmc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Loongson-2 Power Manager controller + +maintainers: + - Yinbo Zhu <zhuyinbo@loongson.cn> + +properties: + compatible: + oneOf: + - items: + - enum: + - loongson,ls2k1000-pmc + - loongson,ls2k0500-pmc + - const: syscon + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + suspend-address: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + The "suspend-address" is a deep sleep state (Suspend To RAM) + firmware entry address which was jumped from kernel and it's + value was dependent on specific platform firmware code. In + addition, the PM need according to it to indicate that current + SoC whether support Suspend To RAM. + +required: + - compatible + - reg + - interrupts + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/irq.h> + + pmc: pm@1fe27000 { + compatible = "loongson,ls2k1000-pmc", "syscon"; + reg = <0x1fe27000 0x58>; + interrupt-parent = <&liointc1>; + interrupts = <11 IRQ_TYPE_LEVEL_LOW>; + suspend-address = <0x1c000500>; + }; diff --git a/MAINTAINERS b/MAINTAINERS index 7a91f14cad2e..bcd05f1fa5c1 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -12190,6 +12190,12 @@ S: Maintained F: Documentation/devicetree/bindings/hwinfo/loongson,ls2k-chipid.yaml F: drivers/soc/loongson/loongson2_guts.c +LOONGSON-2 SOC SERIES PM DRIVER +M: Yinbo Zhu <zhuyinbo@loongson.cn> +L: linux-pm@vger.kernel.org +S: Maintained +F: Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml + LOONGSON-2 SOC SERIES PINCTRL DRIVER M: zhanghongchen <zhanghongchen@loongson.cn> M: Yinbo Zhu <zhuyinbo@loongson.cn>
Add the Loongson-2 SoC Power Management Controller binding with DT schema format using json-schema. Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> --- .../soc/loongson/loongson,ls2k-pmc.yaml | 53 +++++++++++++++++++ MAINTAINERS | 6 +++ 2 files changed, 59 insertions(+) create mode 100644 Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml