From: Jingbao Qiu <qiujingbao.dlmu@gmail.com>
Add RTC devicetree binding for Sophgo CV1800 SoC.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Jingbao Qiu <qiujingbao.dlmu@gmail.com>
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
---
.../bindings/rtc/sophgo,cv1800-rtc.yaml | 53 +++++++++++++++++++
1 file changed, 53 insertions(+)
create mode 100644 Documentation/devicetree/bindings/rtc/sophgo,cv1800-rtc.yaml
diff --git a/Documentation/devicetree/bindings/rtc/sophgo,cv1800-rtc.yaml b/Documentation/devicetree/bindings/rtc/sophgo,cv1800-rtc.yaml
new file mode 100644
index 000000000000..b36b51a69166
--- /dev/null
+++ b/Documentation/devicetree/bindings/rtc/sophgo,cv1800-rtc.yaml
@@ -0,0 +1,53 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/rtc/sophgo,cv1800-rtc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Real Time Clock of the Sophgo CV1800 SoC
+
+description:
+ Real Time Clock (RTC) is an independently powered module
+ within the chip, which includes a 32KHz oscillator and a
+ Power On Reset/POR submodule. It can be used for time display
+ and timed alarm generation. In addition, the hardware state
+ machine provides triggering and timing control for chip
+ power on, off, and reset.
+
+maintainers:
+ - Jingbao Qiu <qiujingbao.dlmu@gmail.com>
+
+allOf:
+ - $ref: rtc.yaml#
+
+properties:
+ compatible:
+ const: sophgo,cv1800-rtc
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - clocks
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ rtc@5025000 {
+ compatible = "sophgo,cv1800-rtc";
+ reg = <0x5025000 0x2000>;
+ interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&osc>;
+ };
--
2.48.1
On Thu, Feb 13, 2025 at 10:56:45PM +0100, Alexander Sverdlin wrote:
> From: Jingbao Qiu <qiujingbao.dlmu@gmail.com>
>
> Add RTC devicetree binding for Sophgo CV1800 SoC.
>
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Signed-off-by: Jingbao Qiu <qiujingbao.dlmu@gmail.com>
> Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
> ---
> .../bindings/rtc/sophgo,cv1800-rtc.yaml | 53 +++++++++++++++++++
> 1 file changed, 53 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/rtc/sophgo,cv1800-rtc.yaml
>
> diff --git a/Documentation/devicetree/bindings/rtc/sophgo,cv1800-rtc.yaml b/Documentation/devicetree/bindings/rtc/sophgo,cv1800-rtc.yaml
> new file mode 100644
> index 000000000000..b36b51a69166
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/rtc/sophgo,cv1800-rtc.yaml
> @@ -0,0 +1,53 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/rtc/sophgo,cv1800-rtc.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Real Time Clock of the Sophgo CV1800 SoC
> +
> +description:
> + Real Time Clock (RTC) is an independently powered module
> + within the chip, which includes a 32KHz oscillator and a
> + Power On Reset/POR submodule. It can be used for time display
> + and timed alarm generation. In addition, the hardware state
> + machine provides triggering and timing control for chip
> + power on, off, and reset.
> +
> +maintainers:
> + - Jingbao Qiu <qiujingbao.dlmu@gmail.com>
> +
> +allOf:
> + - $ref: rtc.yaml#
> +
> +properties:
> + compatible:
> + const: sophgo,cv1800-rtc
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + clocks:
> + maxItems: 1
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - clocks
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/irq.h>
> +
> + rtc@5025000 {
> + compatible = "sophgo,cv1800-rtc";
> + reg = <0x5025000 0x2000>;
> + interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&osc>;
> + };
> --
Just for curiosity, Do you leave a way to implement the
8051 subsys, since its registers are in rtc. (You can
check the chapter "8051 subsystem" of the SG2002, which
can be found at https://github.com/sophgo/sophgo-doc).
Regards,
Inochi
Hi Inochi,
On Fri, 2025-02-14 at 17:40 +0800, Inochi Amaoto wrote:
> > +examples:
> > + - |
> > + #include <dt-bindings/interrupt-controller/irq.h>
> > +
> > + rtc@5025000 {
> > + compatible = "sophgo,cv1800-rtc";
> > + reg = <0x5025000 0x2000>;
> > + interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;
> > + clocks = <&osc>;
> > + };
> > --
>
> Just for curiosity, Do you leave a way to implement the
> 8051 subsys, since its registers are in rtc. (You can
> check the chapter "8051 subsystem" of the SG2002, which
> can be found at https://github.com/sophgo/sophgo-doc).
well, I suppose, you know the answer, according to how this has been modelled
within this series, all the functionality could only be added on top of RTC
driver. Do you think it's time to re-design it as compatible = "syscon", "simple-mfd"
with children nodes for RTC and reboot?
--
Alexander Sverdlin.
On Fri, Feb 14, 2025 at 12:09:37PM +0100, Alexander Sverdlin wrote:
> Hi Inochi,
>
> On Fri, 2025-02-14 at 17:40 +0800, Inochi Amaoto wrote:
> > > +examples:
> > > + - |
> > > + #include <dt-bindings/interrupt-controller/irq.h>
> > > +
> > > + rtc@5025000 {
> > > + compatible = "sophgo,cv1800-rtc";
> > > + reg = <0x5025000 0x2000>;
> > > + interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;
> > > + clocks = <&osc>;
> > > + };
> > > --
> >
> > Just for curiosity, Do you leave a way to implement the
> > 8051 subsys, since its registers are in rtc. (You can
> > check the chapter "8051 subsystem" of the SG2002, which
> > can be found at https://github.com/sophgo/sophgo-doc).
>
> well, I suppose, you know the answer, according to how this has been modelled
> within this series, all the functionality could only be added on top of RTC
> driver.
I don't think it is a good idea to add everything in the RTC driver.
I prefer to separate them to sub devices if possible, so we can
make full use of all the framework provided.
> Do you think it's time to re-design it as compatible = "syscon", "simple-mfd"
> with children nodes for RTC and reboot?
>
Yes, but you should submit the 8051 and reboot device early, and
change your binding with the right compatible. It is not allowd to
change compatible after the binding is determined.
Regards,
Inochi
On Thu, Feb 13, 2025 at 10:56:45PM +0100, Alexander Sverdlin wrote: > From: Jingbao Qiu <qiujingbao.dlmu@gmail.com> > > Add RTC devicetree binding for Sophgo CV1800 SoC. > > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > Signed-off-by: Jingbao Qiu <qiujingbao.dlmu@gmail.com> > Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com> > --- > .../bindings/rtc/sophgo,cv1800-rtc.yaml | 53 +++++++++++++++++++ > 1 file changed, 53 insertions(+) > create mode 100644 Documentation/devicetree/bindings/rtc/sophgo,cv1800-rtc.yaml > > diff --git a/Documentation/devicetree/bindings/rtc/sophgo,cv1800-rtc.yaml b/Documentation/devicetree/bindings/rtc/sophgo,cv1800-rtc.yaml > new file mode 100644 > index 000000000000..b36b51a69166 > --- /dev/null > +++ b/Documentation/devicetree/bindings/rtc/sophgo,cv1800-rtc.yaml > @@ -0,0 +1,53 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/rtc/sophgo,cv1800-rtc.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Real Time Clock of the Sophgo CV1800 SoC > + > +description: > + Real Time Clock (RTC) is an independently powered module > + within the chip, which includes a 32KHz oscillator and a > + Power On Reset/POR submodule. It can be used for time display > + and timed alarm generation. In addition, the hardware state > + machine provides triggering and timing control for chip > + power on, off, and reset. > + > +maintainers: > + - Jingbao Qiu <qiujingbao.dlmu@gmail.com> > + > +allOf: > + - $ref: rtc.yaml# > + > +properties: > + compatible: > + const: sophgo,cv1800-rtc Now I prefer cv1800b to cv1800, using wildcard to provide base compatible is not a good idea. This old design should be changed. Otherwise, it looks good to me. With the compatible change: Reviewed-by: Inochi Amaoto <inochiama@gmail.com> Regards, Inochi
© 2016 - 2025 Red Hat, Inc.