55 lines
1.9 KiB
Diff
55 lines
1.9 KiB
Diff
|
From 06990583634891b1c6d8dfd0388f2272be8918cb Mon Sep 17 00:00:00 2001
|
||
|
From: Andre Przywara <andre.przywara@arm.com>
|
||
|
Date: Wed, 21 Apr 2021 12:46:43 +0100
|
||
|
Subject: [PATCH 10/50] drv:rtc: sun6i: Add Allwinner H616 support
|
||
|
|
||
|
The H616 RTC changes its day storage to the newly introduced linear day
|
||
|
scheme, so pair the new compatible string with this feature flag.
|
||
|
The clock part is missing an external 32768 Hz oscillator input pin,
|
||
|
for future expansion we must thus ignore any provided clock for now.
|
||
|
|
||
|
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
||
|
---
|
||
|
drivers/rtc/rtc-sun6i.c | 19 +++++++++++++++++++
|
||
|
1 file changed, 19 insertions(+)
|
||
|
|
||
|
diff --git a/drivers/rtc/rtc-sun6i.c b/drivers/rtc/rtc-sun6i.c
|
||
|
index 0215900b5..81feda651 100644
|
||
|
--- a/drivers/rtc/rtc-sun6i.c
|
||
|
+++ b/drivers/rtc/rtc-sun6i.c
|
||
|
@@ -396,6 +396,22 @@ static void __init sun50i_h6_rtc_clk_init(struct device_node *node)
|
||
|
CLK_OF_DECLARE_DRIVER(sun50i_h6_rtc_clk, "allwinner,sun50i-h6-rtc",
|
||
|
sun50i_h6_rtc_clk_init);
|
||
|
|
||
|
+static const struct sun6i_rtc_clk_data sun50i_h616_rtc_data = {
|
||
|
+ .rc_osc_rate = 16000000,
|
||
|
+ .fixed_prescaler = 32,
|
||
|
+ .has_prescaler = 1,
|
||
|
+ .has_out_clk = 1,
|
||
|
+ .no_ext_losc = 1,
|
||
|
+};
|
||
|
+
|
||
|
+static void __init sun50i_h616_rtc_clk_init(struct device_node *node)
|
||
|
+{
|
||
|
+ sun6i_rtc_clk_init(node, &sun50i_h616_rtc_data);
|
||
|
+}
|
||
|
+
|
||
|
+CLK_OF_DECLARE_DRIVER(sun50i_h616_rtc_clk, "allwinner,sun50i-h616-rtc",
|
||
|
+ sun50i_h616_rtc_clk_init);
|
||
|
+
|
||
|
/*
|
||
|
* The R40 user manual is self-conflicting on whether the prescaler is
|
||
|
* fixed or configurable. The clock diagram shows it as fixed, but there
|
||
|
@@ -842,6 +859,8 @@ static const struct of_device_id sun6i_rtc_dt_ids[] = {
|
||
|
{ .compatible = "allwinner,sun8i-v3-rtc" },
|
||
|
{ .compatible = "allwinner,sun50i-h5-rtc" },
|
||
|
{ .compatible = "allwinner,sun50i-h6-rtc" },
|
||
|
+ { .compatible = "allwinner,sun50i-h616-rtc",
|
||
|
+ .data = (void *)RTC_LINEAR_DAY },
|
||
|
{ /* sentinel */ },
|
||
|
};
|
||
|
MODULE_DEVICE_TABLE(of, sun6i_rtc_dt_ids);
|
||
|
--
|
||
|
2.34.1
|
||
|
|