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:
+ $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>
--
2.20.1
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
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, 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
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.
在 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
© 2016 - 2026 Red Hat, Inc.