Message ID | 20250213215655.2311793-2-alexander.sverdlin@gmail.com (mailing list archive) |
---|---|
State | Handled Elsewhere |
Headers | show |
Series | riscv: rtc: sophgo: add rtc support for CV1800 | expand |
Context | Check | Description |
---|---|---|
bjorn/pre-ci_am | success | Success |
bjorn/build-rv32-defconfig | success | build-rv32-defconfig |
bjorn/build-rv64-clang-allmodconfig | success | build-rv64-clang-allmodconfig |
bjorn/build-rv64-gcc-allmodconfig | success | build-rv64-gcc-allmodconfig |
bjorn/build-rv64-nommu-k210-defconfig | success | build-rv64-nommu-k210-defconfig |
bjorn/build-rv64-nommu-k210-virt | success | build-rv64-nommu-k210-virt |
bjorn/checkpatch | warning | checkpatch |
bjorn/dtb-warn-rv64 | success | dtb-warn-rv64 |
bjorn/header-inline | success | header-inline |
bjorn/kdoc | success | kdoc |
bjorn/module-param | success | module-param |
bjorn/verify-fixes | success | verify-fixes |
bjorn/verify-signedoff | success | verify-signedoff |
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
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?
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 2025/2/14 5:56, 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> I guess Jingbao will not take this role. If he doesn't raise any objections, please just change this. Jingbao, do you have any comment on this? [......]
Hi Chen! On Mon, 2025-02-17 at 17:26 +0800, Chen Wang wrote: > > 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> > > I guess Jingbao will not take this role. If he doesn't raise any > objections, please just change this. > > Jingbao, do you have any comment on this? New version will look rather like this: https://lore.kernel.org/linux-devicetree/20250216180924.2506416-1-alexander.sverdlin@gmail.com/ But I'll be happy to take you suggestion and replace my name in the new version with someone more afiliated with Sophgo ;-)
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>; + };