Hello, Alexander,
First of all, thank you for re-picking up this orphan patchset.
We recently created a mailing list for sophgo (sophgo@xxxxxxxxxxxxxxx),
and we would appreciate it if you send a copy of any sophgo-related
patches to the mailist in the future.
You can see https://github.com/sophgo/linux/wiki for more details about
this mailist, and we are keeping track of the status of upstreaming
sophgo products through this wiki. We have updated the status of some of
the patches you are working on, please help double check.
Thanks,
Chen
On 2025/2/14 5:56, Alexander Sverdlin wrote:
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.
Changes since v10:
- only start RTC on set_time;
- add machine restart handler (as separate patch 3/3);
Changes since v9:
- picked up orphaned series;
- further simplified bitmask macros;
- unconditional RTC start (rtc_enable_sec_counter());
- dropped ANA_CALIB modification;
- successfully tested on SG2000;
v9: https://lore.kernel.org/linux-riscv/20240428060848.706573-1-qiujingbao.dlmu@xxxxxxxxx/
Changes since v8:
- delete unused macros
- using 0/1 instead of the DISABLE/ENABLE macro
- pass in the correct pointer when applying for IRQ
- convert the incoming pointer into an appropriate
structure pointer in the irq handler
v8: https://lore.kernel.org/all/20240204044143.415915-1-qiujingbao.dlmu@xxxxxxxxx/
Changes since v7:
- pass checkpatch.pl --strict
- using u32 replace uint32
- using devm_kzalloc(*) replace
devm_kzalloc(sizeof())
- sort header files alphabetically
- delete unnecessary header files
- fix wrap error
- drop dependent description
- using hardware automatic calibration replace
software calibration. see documentation 197 page
v7: https://lore.kernel.org/all/20240122080500.2621-1-qiujingbao.dlmu@xxxxxxxxx/
documentation: https://github.com/milkv-duo/duo-files/blob/main/duo/datasheet/CV1800B-CV1801B-Preliminary-Datasheet-full-en.pdf
Changes since v6:
- completely delete POR dt node
- remove syscon tag
- use devm_regmap_init_mmio() replace
syscon_node_to_regmap
v6: https://lore.kernel.org/all/20240115160600.5444-1-qiujingbao.dlmu@xxxxxxxxx/
Changes since v5:
- remove unnecessary lock
- fix cv1800_rtc_alarm_irq_enable()
- remove duplicate checks
- using alrm->enabled instead of unconditionally
enabling
- remove disable alarms on probe
- using rtc_update_irq() replace mess of alarm
- remove leak clk
- useing devm_rtc_allocate_device() and
devm_rtc_register_device() instead old way
- add judgment for rtc_enable_sec_counter()
- add POR nodes in DTS. This POR device shares
the register region with the RTC device
v5: https://lore.kernel.org/all/20240108072253.30183-1-qiujingbao.dlmu@xxxxxxxxx/
Changes since v4:
- remove POR dt-bindings because it empty
- remove MFD dt-bindings because SoC does
not have MFDs
- add syscon attribute to share registers
with POR
v4: https://lore.kernel.org/all/20231229090643.116575-1-qiujingbao.dlmu@xxxxxxxxx/
Changes since v3:
- temporarily not submitting RTC driver code
waiting for communication with IC designer
- add MFD dt-bindings
- add POR dt-bindings
v3: https://lore.kernel.org/all/20231226100431.331616-1-qiujingbao.dlmu@xxxxxxxxx/
Changes since v2:
- add mfd support for CV1800
- add rtc to mfd
- using regmap replace iomap
- merge register address in dts
v2: https://lore.kernel.org/lkml/20231217110952.78784-1-qiujingbao.dlmu@xxxxxxxxx/
Changes since v1
- fix duplicate names in subject
- using RTC replace RTC controller
- improve the properties of dt-bindings
- using `unevaluatedProperties` replace `additionalProperties`
- dt-bindings passed the test
- using `devm_platform_ioremap_resource()` replace
`platform_get_resource()` and `devm_ioremap_resource()`
- fix random order of the code
- fix wrong wrapping of the `devm_request_irq()` and map the flag with dts
- using devm_clk_get_enabled replace `devm_clk_get()` and
`clk_prepare_enable()`
- fix return style
- add rtc clock calibration function
- use spinlock when write register on read/set time
v1: https://lore.kernel.org/lkml/20231121094642.2973795-1-qiujingbao.dlmu@xxxxxxxxx/
Alexander Sverdlin (1):
rtc: sophgo: cv18xx: Add restart handler
Jingbao Qiu (2):
dt-bindings: rtc: sophgo: add RTC support for Sophgo CV1800 series SoC
rtc: sophgo: add rtc support for Sophgo CV1800 SoC
.../bindings/rtc/sophgo,cv1800-rtc.yaml | 53 ++++
drivers/rtc/Kconfig | 10 +
drivers/rtc/Makefile | 1 +
drivers/rtc/rtc-cv1800.c | 277 ++++++++++++++++++
4 files changed, 341 insertions(+)
create mode 100644 Documentation/devicetree/bindings/rtc/sophgo,cv1800-rtc.yaml
create mode 100644 drivers/rtc/rtc-cv1800.c