... | ... | ||
---|---|---|---|
12 | using userspace tools such as rtcwake: | 12 | using userspace tools such as rtcwake: |
13 | # rtcwake -s 120 -m mem | 13 | # rtcwake -s 120 -m mem |
14 | # rtcwake: assuming RTC uses UTC ... | 14 | # rtcwake: assuming RTC uses UTC ... |
15 | # rtcwake: wakeup from "mem" using /dev/rtc0 at Wed Feb 6 06:28:36 2036 | 15 | # rtcwake: wakeup from "mem" using /dev/rtc0 at Wed Feb 6 06:28:36 2036 |
16 | # | 16 | # |
17 | |||
18 | Changes in V9: | ||
19 | - Added missing 'bitfield.h' include file | ||
20 | - Moved reserved clk mask check earlier to stop execution in case a | ||
21 | reserved clk is being used. | ||
22 | - Used 'DIV_ROUND_UP' macro when determining the rtc clock frequency. | ||
23 | - Fixed some indentation inconsistencies. | ||
24 | - Added Frank Li's Reviewed-by tag. | ||
17 | 25 | ||
18 | Changes in V8: | 26 | Changes in V8: |
19 | - Added description of uncommon S32G RTC hardware behaviour on resume. | 27 | - Added description of uncommon S32G RTC hardware behaviour on resume. |
20 | 28 | ||
21 | Changes in V7: | 29 | Changes in V7: |
... | ... | ||
93 | .../devicetree/bindings/rtc/nxp,s32g-rtc.yaml | 72 ++++ | 101 | .../devicetree/bindings/rtc/nxp,s32g-rtc.yaml | 72 ++++ |
94 | MAINTAINERS | 2 + | 102 | MAINTAINERS | 2 + |
95 | arch/arm64/configs/defconfig | 1 + | 103 | arch/arm64/configs/defconfig | 1 + |
96 | drivers/rtc/Kconfig | 11 + | 104 | drivers/rtc/Kconfig | 11 + |
97 | drivers/rtc/Makefile | 1 + | 105 | drivers/rtc/Makefile | 1 + |
98 | drivers/rtc/rtc-s32g.c | 386 ++++++++++++++++++ | 106 | drivers/rtc/rtc-s32g.c | 385 ++++++++++++++++++ |
99 | 6 files changed, 473 insertions(+) | 107 | 6 files changed, 472 insertions(+) |
100 | create mode 100644 Documentation/devicetree/bindings/rtc/nxp,s32g-rtc.yaml | 108 | create mode 100644 Documentation/devicetree/bindings/rtc/nxp,s32g-rtc.yaml |
101 | create mode 100644 drivers/rtc/rtc-s32g.c | 109 | create mode 100644 drivers/rtc/rtc-s32g.c |
102 | 110 | ||
103 | -- | 111 | -- |
104 | 2.45.2 | 112 | 2.45.2 | diff view generated by jsdifflib |
1 | From: Ciprian Marian Costea <ciprianmarian.costea@oss.nxp.com> | 1 | From: Ciprian Marian Costea <ciprianmarian.costea@oss.nxp.com> |
---|---|---|---|
2 | 2 | ||
3 | RTC tracks clock time during system suspend and it is used as a wakeup | 3 | RTC tracks clock time during system suspend and it is used as a wakeup |
4 | source on S32G2/S32G3 architecture. | 4 | source on S32G2/S32G3 architecture. |
5 | 5 | ||
6 | RTC from S32G2/S32G3 is not battery-powered and it is not kept alive | 6 | RTC from S32G2/S32G3 is not battery-powered and it is not kept alive |
7 | during system reset. | 7 | during system reset. |
8 | 8 | ||
9 | Co-developed-by: Bogdan-Gabriel Roman <bogdan-gabriel.roman@nxp.com> | 9 | Co-developed-by: Bogdan-Gabriel Roman <bogdan-gabriel.roman@nxp.com> |
10 | Signed-off-by: Bogdan-Gabriel Roman <bogdan-gabriel.roman@nxp.com> | 10 | Signed-off-by: Bogdan-Gabriel Roman <bogdan-gabriel.roman@nxp.com> |
11 | Co-developed-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com> | 11 | Co-developed-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com> |
12 | Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com> | 12 | Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com> |
13 | Signed-off-by: Ciprian Marian Costea <ciprianmarian.costea@oss.nxp.com> | 13 | Signed-off-by: Ciprian Marian Costea <ciprianmarian.costea@oss.nxp.com> |
14 | Reviewed-by: Rob Herring (Arm) <robh@kernel.org> | 14 | Reviewed-by: Rob Herring (Arm) <robh@kernel.org> |
15 | --- | 15 | --- |
16 | .../devicetree/bindings/rtc/nxp,s32g-rtc.yaml | 72 +++++++++++++++++++ | 16 | .../devicetree/bindings/rtc/nxp,s32g-rtc.yaml | 72 +++++++++++++++++++ |
17 | 1 file changed, 72 insertions(+) | 17 | 1 file changed, 72 insertions(+) |
18 | create mode 100644 Documentation/devicetree/bindings/rtc/nxp,s32g-rtc.yaml | 18 | create mode 100644 Documentation/devicetree/bindings/rtc/nxp,s32g-rtc.yaml |
19 | 19 | ||
20 | diff --git a/Documentation/devicetree/bindings/rtc/nxp,s32g-rtc.yaml b/Documentation/devicetree/bindings/rtc/nxp,s32g-rtc.yaml | 20 | diff --git a/Documentation/devicetree/bindings/rtc/nxp,s32g-rtc.yaml b/Documentation/devicetree/bindings/rtc/nxp,s32g-rtc.yaml |
21 | new file mode 100644 | 21 | new file mode 100644 |
22 | index XXXXXXX..XXXXXXX | 22 | index XXXXXXX..XXXXXXX |
23 | --- /dev/null | 23 | --- /dev/null |
24 | +++ b/Documentation/devicetree/bindings/rtc/nxp,s32g-rtc.yaml | 24 | +++ b/Documentation/devicetree/bindings/rtc/nxp,s32g-rtc.yaml |
25 | @@ -XXX,XX +XXX,XX @@ | 25 | @@ -XXX,XX +XXX,XX @@ |
26 | +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | 26 | +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) |
27 | +%YAML 1.2 | 27 | +%YAML 1.2 |
28 | +--- | 28 | +--- |
29 | +$id: http://devicetree.org/schemas/rtc/nxp,s32g-rtc.yaml# | 29 | +$id: http://devicetree.org/schemas/rtc/nxp,s32g-rtc.yaml# |
30 | +$schema: http://devicetree.org/meta-schemas/core.yaml# | 30 | +$schema: http://devicetree.org/meta-schemas/core.yaml# |
31 | + | 31 | + |
32 | +title: NXP S32G2/S32G3 Real Time Clock (RTC) | 32 | +title: NXP S32G2/S32G3 Real Time Clock (RTC) |
33 | + | 33 | + |
34 | +maintainers: | 34 | +maintainers: |
35 | + - Bogdan Hamciuc <bogdan.hamciuc@nxp.com> | 35 | + - Bogdan Hamciuc <bogdan.hamciuc@nxp.com> |
36 | + - Ciprian Marian Costea <ciprianmarian.costea@nxp.com> | 36 | + - Ciprian Marian Costea <ciprianmarian.costea@nxp.com> |
37 | + | 37 | + |
38 | +description: | 38 | +description: |
39 | + RTC hardware module present on S32G2/S32G3 SoCs is used as a wakeup source. | 39 | + RTC hardware module present on S32G2/S32G3 SoCs is used as a wakeup source. |
40 | + It is not kept alive during system reset and it is not battery-powered. | 40 | + It is not kept alive during system reset and it is not battery-powered. |
41 | + | 41 | + |
42 | +allOf: | 42 | +allOf: |
43 | + - $ref: rtc.yaml# | 43 | + - $ref: rtc.yaml# |
44 | + | 44 | + |
45 | +properties: | 45 | +properties: |
46 | + compatible: | 46 | + compatible: |
47 | + oneOf: | 47 | + oneOf: |
48 | + - enum: | 48 | + - enum: |
49 | + - nxp,s32g2-rtc | 49 | + - nxp,s32g2-rtc |
50 | + - items: | 50 | + - items: |
51 | + - const: nxp,s32g3-rtc | 51 | + - const: nxp,s32g3-rtc |
52 | + - const: nxp,s32g2-rtc | 52 | + - const: nxp,s32g2-rtc |
53 | + | 53 | + |
54 | + reg: | 54 | + reg: |
55 | + maxItems: 1 | 55 | + maxItems: 1 |
56 | + | 56 | + |
57 | + interrupts: | 57 | + interrupts: |
58 | + maxItems: 1 | 58 | + maxItems: 1 |
59 | + | 59 | + |
60 | + clocks: | 60 | + clocks: |
61 | + items: | 61 | + items: |
62 | + - description: ipg clock drives the access to the RTC iomapped registers | 62 | + - description: ipg clock drives the access to the RTC iomapped registers |
63 | + - description: Clock source for the RTC module. Can be selected between | 63 | + - description: Clock source for the RTC module. Can be selected between |
64 | + 4 different clock sources using an integrated hardware mux. | 64 | + 4 different clock sources using an integrated hardware mux. |
65 | + On S32G2/S32G3 SoCs, 'source0' is the SIRC clock (~32KHz) and it is | 65 | + On S32G2/S32G3 SoCs, 'source0' is the SIRC clock (~32KHz) and it is |
66 | + available during standby and runtime. 'source1' is reserved and cannot | 66 | + available during standby and runtime. 'source1' is reserved and cannot |
67 | + be used. 'source2' is the FIRC clock and it is only available during | 67 | + be used. 'source2' is the FIRC clock and it is only available during |
68 | + runtime providing a better resolution (~48MHz). 'source3' is an external | 68 | + runtime providing a better resolution (~48MHz). 'source3' is an external |
69 | + RTC clock source which can be additionally added in hardware. | 69 | + RTC clock source which can be additionally added in hardware. |
70 | + | 70 | + |
71 | + clock-names: | 71 | + clock-names: |
72 | + items: | 72 | + items: |
73 | + - const: ipg | 73 | + - const: ipg |
74 | + - enum: [ source0, source1, source2, source3 ] | 74 | + - enum: [ source0, source1, source2, source3 ] |
75 | + | 75 | + |
76 | +required: | 76 | +required: |
77 | + - compatible | 77 | + - compatible |
78 | + - reg | 78 | + - reg |
79 | + - interrupts | 79 | + - interrupts |
80 | + - clocks | 80 | + - clocks |
81 | + - clock-names | 81 | + - clock-names |
82 | + | 82 | + |
83 | +additionalProperties: false | 83 | +additionalProperties: false |
84 | + | 84 | + |
85 | +examples: | 85 | +examples: |
86 | + - | | 86 | + - | |
87 | + #include <dt-bindings/interrupt-controller/arm-gic.h> | 87 | + #include <dt-bindings/interrupt-controller/arm-gic.h> |
88 | + #include <dt-bindings/interrupt-controller/irq.h> | 88 | + #include <dt-bindings/interrupt-controller/irq.h> |
89 | + | 89 | + |
90 | + rtc@40060000 { | 90 | + rtc@40060000 { |
91 | + compatible = "nxp,s32g3-rtc", | 91 | + compatible = "nxp,s32g3-rtc", |
92 | + "nxp,s32g2-rtc"; | 92 | + "nxp,s32g2-rtc"; |
93 | + reg = <0x40060000 0x1000>; | 93 | + reg = <0x40060000 0x1000>; |
94 | + interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>; | 94 | + interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>; |
95 | + clocks = <&clks 54>, <&clks 55>; | 95 | + clocks = <&clks 54>, <&clks 55>; |
96 | + clock-names = "ipg", "source0"; | 96 | + clock-names = "ipg", "source0"; |
97 | + }; | 97 | + }; |
98 | -- | 98 | -- |
99 | 2.45.2 | 99 | 2.45.2 | diff view generated by jsdifflib |
... | ... | ||
---|---|---|---|
11 | Co-developed-by: Bogdan Hamciuc <bogdan.hamciuc@nxp.com> | 11 | Co-developed-by: Bogdan Hamciuc <bogdan.hamciuc@nxp.com> |
12 | Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@nxp.com> | 12 | Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@nxp.com> |
13 | Co-developed-by: Ghennadi Procopciuc <Ghennadi.Procopciuc@nxp.com> | 13 | Co-developed-by: Ghennadi Procopciuc <Ghennadi.Procopciuc@nxp.com> |
14 | Signed-off-by: Ghennadi Procopciuc <Ghennadi.Procopciuc@nxp.com> | 14 | Signed-off-by: Ghennadi Procopciuc <Ghennadi.Procopciuc@nxp.com> |
15 | Signed-off-by: Ciprian Marian Costea <ciprianmarian.costea@oss.nxp.com> | 15 | Signed-off-by: Ciprian Marian Costea <ciprianmarian.costea@oss.nxp.com> |
16 | Reviewed-by: Frank Li <Frank.Li@nxp.com> | ||
16 | --- | 17 | --- |
17 | drivers/rtc/Kconfig | 11 ++ | 18 | drivers/rtc/Kconfig | 11 ++ |
18 | drivers/rtc/Makefile | 1 + | 19 | drivers/rtc/Makefile | 1 + |
19 | drivers/rtc/rtc-s32g.c | 386 +++++++++++++++++++++++++++++++++++++++++ | 20 | drivers/rtc/rtc-s32g.c | 385 +++++++++++++++++++++++++++++++++++++++++ |
20 | 3 files changed, 398 insertions(+) | 21 | 3 files changed, 397 insertions(+) |
21 | create mode 100644 drivers/rtc/rtc-s32g.c | 22 | create mode 100644 drivers/rtc/rtc-s32g.c |
22 | 23 | ||
23 | diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig | 24 | diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig |
24 | index XXXXXXX..XXXXXXX 100644 | 25 | index XXXXXXX..XXXXXXX 100644 |
25 | --- a/drivers/rtc/Kconfig | 26 | --- a/drivers/rtc/Kconfig |
... | ... | ||
61 | +// SPDX-License-Identifier: GPL-2.0-or-later | 62 | +// SPDX-License-Identifier: GPL-2.0-or-later |
62 | +/* | 63 | +/* |
63 | + * Copyright 2025 NXP | 64 | + * Copyright 2025 NXP |
64 | + */ | 65 | + */ |
65 | + | 66 | + |
67 | +#include <linux/bitfield.h> | ||
66 | +#include <linux/clk.h> | 68 | +#include <linux/clk.h> |
67 | +#include <linux/iopoll.h> | 69 | +#include <linux/iopoll.h> |
68 | +#include <linux/of_irq.h> | 70 | +#include <linux/of_irq.h> |
69 | +#include <linux/platform_device.h> | 71 | +#include <linux/platform_device.h> |
70 | +#include <linux/rtc.h> | 72 | +#include <linux/rtc.h> |
... | ... | ||
255 | +} | 257 | +} |
256 | + | 258 | + |
257 | +static int rtc_clk_src_setup(struct rtc_priv *priv) | 259 | +static int rtc_clk_src_setup(struct rtc_priv *priv) |
258 | +{ | 260 | +{ |
259 | + u32 rtcc; | 261 | + u32 rtcc; |
260 | + | ||
261 | + if (priv->rtc_data->reserved_clk_mask & (1 << priv->clk_src_idx)) | ||
262 | + return -EOPNOTSUPP; | ||
263 | + | 262 | + |
264 | + rtcc = FIELD_PREP(RTCC_CLKSEL_MASK, priv->clk_src_idx); | 263 | + rtcc = FIELD_PREP(RTCC_CLKSEL_MASK, priv->clk_src_idx); |
265 | + | 264 | + |
266 | + switch (priv->rtc_data->clk_div) { | 265 | + switch (priv->rtc_data->clk_div) { |
267 | + case DIV512_32: | 266 | + case DIV512_32: |
... | ... | ||
308 | + if (IS_ERR(priv->ipg)) | 307 | + if (IS_ERR(priv->ipg)) |
309 | + return dev_err_probe(dev, PTR_ERR(priv->ipg), | 308 | + return dev_err_probe(dev, PTR_ERR(priv->ipg), |
310 | + "Failed to get 'ipg' clock\n"); | 309 | + "Failed to get 'ipg' clock\n"); |
311 | + | 310 | + |
312 | + for (i = 0; i < ARRAY_SIZE(rtc_clk_src); i++) { | 311 | + for (i = 0; i < ARRAY_SIZE(rtc_clk_src); i++) { |
312 | + if (priv->rtc_data->reserved_clk_mask & BIT(i)) | ||
313 | + return -EOPNOTSUPP; | ||
314 | + | ||
313 | + priv->clk_src = devm_clk_get_enabled(dev, rtc_clk_src[i]); | 315 | + priv->clk_src = devm_clk_get_enabled(dev, rtc_clk_src[i]); |
314 | + if (!IS_ERR(priv->clk_src)) { | 316 | + if (!IS_ERR(priv->clk_src)) { |
315 | + priv->clk_src_idx = i; | 317 | + priv->clk_src_idx = i; |
316 | + break; | 318 | + break; |
317 | + } | 319 | + } |
... | ... | ||
368 | + dev_err(dev, "Failed to get RTC frequency\n"); | 370 | + dev_err(dev, "Failed to get RTC frequency\n"); |
369 | + ret = -EINVAL; | 371 | + ret = -EINVAL; |
370 | + goto disable_rtc; | 372 | + goto disable_rtc; |
371 | + } | 373 | + } |
372 | + | 374 | + |
373 | + priv->rtc_hz = rtc_hz / priv->rtc_data->clk_div; | 375 | + priv->rtc_hz = DIV_ROUND_UP(rtc_hz, priv->rtc_data->clk_div); |
374 | + if (rtc_hz % priv->rtc_data->clk_div) | ||
375 | + priv->rtc_hz++; | ||
376 | + | 376 | + |
377 | + platform_set_drvdata(pdev, priv); | 377 | + platform_set_drvdata(pdev, priv); |
378 | + priv->rdev->ops = &rtc_ops; | 378 | + priv->rdev->ops = &rtc_ops; |
379 | + | 379 | + |
380 | + ret = devm_request_irq(dev, priv->irq, | 380 | + ret = devm_request_irq(dev, priv->irq, |
... | ... | ||
415 | + struct rtc_priv *priv = dev_get_drvdata(dev); | 415 | + struct rtc_priv *priv = dev_get_drvdata(dev); |
416 | + | 416 | + |
417 | + /* The transition from resume to run is a reset event. | 417 | + /* The transition from resume to run is a reset event. |
418 | + * This leads to the RTC registers being reset after resume from | 418 | + * This leads to the RTC registers being reset after resume from |
419 | + * suspend. It is uncommon, but this behaviour has been observed | 419 | + * suspend. It is uncommon, but this behaviour has been observed |
420 | + * on S32G RTC after issueing a Suspend to RAM operation. | 420 | + * on S32G RTC after issuing a Suspend to RAM operation. |
421 | + * Thus, reconfigure RTC registers on the resume path. | 421 | + * Thus, reconfigure RTC registers on the resume path. |
422 | + */ | 422 | + */ |
423 | + return rtc_clk_src_setup(priv); | 423 | + return rtc_clk_src_setup(priv); |
424 | +} | 424 | +} |
425 | + | 425 | + |
426 | +static const struct of_device_id rtc_dt_ids[] = { | 426 | +static const struct of_device_id rtc_dt_ids[] = { |
427 | + { .compatible = "nxp,s32g2-rtc", .data = &rtc_s32g2_data}, | 427 | + { .compatible = "nxp,s32g2-rtc", .data = &rtc_s32g2_data }, |
428 | + { /* sentinel */ }, | 428 | + { /* sentinel */ }, |
429 | +}; | 429 | +}; |
430 | + | 430 | + |
431 | +static DEFINE_SIMPLE_DEV_PM_OPS(s32g_rtc_pm_ops, | 431 | +static DEFINE_SIMPLE_DEV_PM_OPS(s32g_rtc_pm_ops, |
432 | + s32g_rtc_suspend, s32g_rtc_resume); | 432 | + s32g_rtc_suspend, s32g_rtc_resume); |
433 | + | 433 | + |
434 | +static struct platform_driver s32g_rtc_driver = { | 434 | +static struct platform_driver s32g_rtc_driver = { |
435 | + .driver = { | 435 | + .driver = { |
436 | + .name = "s32g-rtc", | 436 | + .name = "s32g-rtc", |
437 | + .pm = pm_sleep_ptr(&s32g_rtc_pm_ops), | 437 | + .pm = pm_sleep_ptr(&s32g_rtc_pm_ops), |
438 | + .of_match_table = rtc_dt_ids, | 438 | + .of_match_table = rtc_dt_ids, |
439 | + }, | 439 | + }, |
440 | + .probe = s32g_rtc_probe, | 440 | + .probe = s32g_rtc_probe, |
441 | +}; | 441 | +}; |
442 | +module_platform_driver(s32g_rtc_driver); | 442 | +module_platform_driver(s32g_rtc_driver); |
443 | + | 443 | + |
444 | +MODULE_AUTHOR("NXP"); | 444 | +MODULE_AUTHOR("NXP"); |
445 | +MODULE_DESCRIPTION("NXP RTC driver for S32G2/S32G3"); | 445 | +MODULE_DESCRIPTION("NXP RTC driver for S32G2/S32G3"); |
446 | +MODULE_LICENSE("GPL"); | 446 | +MODULE_LICENSE("GPL"); |
447 | -- | 447 | -- |
448 | 2.45.2 | 448 | 2.45.2 | diff view generated by jsdifflib |
1 | From: Ciprian Marian Costea <ciprianmarian.costea@oss.nxp.com> | 1 | From: Ciprian Marian Costea <ciprianmarian.costea@oss.nxp.com> |
---|---|---|---|
2 | 2 | ||
3 | The RTC hardware module present on S32G based SoCs tracks clock time | 3 | The RTC hardware module present on S32G based SoCs tracks clock time |
4 | during system suspend and it is used as a wakeup source on S32G2/S32G3 | 4 | during system suspend and it is used as a wakeup source on S32G2/S32G3 |
5 | architecture. | 5 | architecture. |
6 | 6 | ||
7 | Signed-off-by: Ciprian Marian Costea <ciprianmarian.costea@oss.nxp.com> | 7 | Signed-off-by: Ciprian Marian Costea <ciprianmarian.costea@oss.nxp.com> |
8 | --- | 8 | --- |
9 | arch/arm64/configs/defconfig | 1 + | 9 | arch/arm64/configs/defconfig | 1 + |
10 | 1 file changed, 1 insertion(+) | 10 | 1 file changed, 1 insertion(+) |
11 | 11 | ||
12 | diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig | 12 | diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig |
13 | index XXXXXXX..XXXXXXX 100644 | 13 | index XXXXXXX..XXXXXXX 100644 |
14 | --- a/arch/arm64/configs/defconfig | 14 | --- a/arch/arm64/configs/defconfig |
15 | +++ b/arch/arm64/configs/defconfig | 15 | +++ b/arch/arm64/configs/defconfig |
16 | @@ -XXX,XX +XXX,XX @@ CONFIG_RTC_DRV_DA9063=m | 16 | @@ -XXX,XX +XXX,XX @@ CONFIG_RTC_DRV_DA9063=m |
17 | CONFIG_RTC_DRV_EFI=y | 17 | CONFIG_RTC_DRV_EFI=y |
18 | CONFIG_RTC_DRV_CROS_EC=y | 18 | CONFIG_RTC_DRV_CROS_EC=y |
19 | CONFIG_RTC_DRV_FSL_FTM_ALARM=m | 19 | CONFIG_RTC_DRV_FSL_FTM_ALARM=m |
20 | +CONFIG_RTC_DRV_S32G=m | 20 | +CONFIG_RTC_DRV_S32G=m |
21 | CONFIG_RTC_DRV_S3C=y | 21 | CONFIG_RTC_DRV_S3C=y |
22 | CONFIG_RTC_DRV_PL031=y | 22 | CONFIG_RTC_DRV_PL031=y |
23 | CONFIG_RTC_DRV_SUN6I=y | 23 | CONFIG_RTC_DRV_SUN6I=y |
24 | -- | 24 | -- |
25 | 2.45.2 | 25 | 2.45.2 | diff view generated by jsdifflib |
1 | From: Ciprian Marian Costea <ciprianmarian.costea@oss.nxp.com> | 1 | From: Ciprian Marian Costea <ciprianmarian.costea@oss.nxp.com> |
---|---|---|---|
2 | 2 | ||
3 | Add the NXP S32G RTC driver as maintained so further patches on this | 3 | Add the NXP S32G RTC driver as maintained so further patches on this |
4 | driver can be reviewed under this architecture. | 4 | driver can be reviewed under this architecture. |
5 | 5 | ||
6 | Signed-off-by: Ciprian Marian Costea <ciprianmarian.costea@oss.nxp.com> | 6 | Signed-off-by: Ciprian Marian Costea <ciprianmarian.costea@oss.nxp.com> |
7 | --- | 7 | --- |
8 | MAINTAINERS | 2 ++ | 8 | MAINTAINERS | 2 ++ |
9 | 1 file changed, 2 insertions(+) | 9 | 1 file changed, 2 insertions(+) |
10 | 10 | ||
11 | diff --git a/MAINTAINERS b/MAINTAINERS | 11 | diff --git a/MAINTAINERS b/MAINTAINERS |
12 | index XXXXXXX..XXXXXXX 100644 | 12 | index XXXXXXX..XXXXXXX 100644 |
13 | --- a/MAINTAINERS | 13 | --- a/MAINTAINERS |
14 | +++ b/MAINTAINERS | 14 | +++ b/MAINTAINERS |
15 | @@ -XXX,XX +XXX,XX @@ R: Ghennadi Procopciuc <ghennadi.procopciuc@oss.nxp.com> | 15 | @@ -XXX,XX +XXX,XX @@ R: Ghennadi Procopciuc <ghennadi.procopciuc@oss.nxp.com> |
16 | R: NXP S32 Linux Team <s32@nxp.com> | 16 | R: NXP S32 Linux Team <s32@nxp.com> |
17 | L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) | 17 | L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) |
18 | S: Maintained | 18 | S: Maintained |
19 | +F: Documentation/devicetree/bindings/rtc/nxp,s32g-rtc.yaml | 19 | +F: Documentation/devicetree/bindings/rtc/nxp,s32g-rtc.yaml |
20 | F: arch/arm64/boot/dts/freescale/s32g*.dts* | 20 | F: arch/arm64/boot/dts/freescale/s32g*.dts* |
21 | F: drivers/pinctrl/nxp/ | 21 | F: drivers/pinctrl/nxp/ |
22 | +F: drivers/rtc/rtc-s32g.c | 22 | +F: drivers/rtc/rtc-s32g.c |
23 | 23 | ||
24 | ARM/NXP S32G/S32R DWMAC ETHERNET DRIVER | 24 | ARM/NXP S32G/S32R DWMAC ETHERNET DRIVER |
25 | M: Jan Petrous <jan.petrous@oss.nxp.com> | 25 | M: Jan Petrous <jan.petrous@oss.nxp.com> |
26 | -- | 26 | -- |
27 | 2.45.2 | 27 | 2.45.2 | diff view generated by jsdifflib |