[PATCH v2 2/4] rtc: s32g: add NXP S32G2/S32G3 SoC support

Ciprian Marian Costea ciprianmarian.costea at oss.nxp.com
Fri Oct 18 01:45:00 PDT 2024


On 10/16/2024 12:04 AM, Rob Herring wrote:

Hello Rob,

Thanks for your careful review!

> On Tue, Oct 15, 2024 at 01:51:31PM +0300, Ciprian Costea wrote:
>> From: Ciprian Marian Costea <ciprianmarian.costea at oss.nxp.com>
>>
>> Add a RTC driver for NXP S32G2/S32G3 SoCs.
>>
>> The RTC module is used to enable Suspend to RAM (STR) support
>> on NXP S32G2/S32G3 SoC based boards.
>> RTC tracks clock time during system suspend.
>>
>> RTC from S32G2/S32G3 is not battery-powered and it is not
>> kept alive during system reset.
>>
>> Co-developed-by: Bogdan Hamciuc <bogdan.hamciuc at nxp.com>
>> Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc at nxp.com>
>> Co-developed-by: Ghennadi Procopciuc <Ghennadi.Procopciuc at nxp.com>
>> Signed-off-by: Ghennadi Procopciuc <Ghennadi.Procopciuc at nxp.com>
>> Signed-off-by: Ciprian Marian Costea <ciprianmarian.costea at oss.nxp.com>
>> ---
>>   drivers/rtc/Kconfig    |  11 +
>>   drivers/rtc/Makefile   |   1 +
>>   drivers/rtc/rtc-s32g.c | 778 +++++++++++++++++++++++++++++++++++++++++
>>   3 files changed, 790 insertions(+)
>>   create mode 100644 drivers/rtc/rtc-s32g.c
> 
> 
>> diff --git a/drivers/rtc/Makefile b/drivers/rtc/Makefile
>> index 8ee79cb18322..a63d010a753c 100644
>> --- a/drivers/rtc/Makefile
>> +++ b/drivers/rtc/Makefile
>> @@ -158,6 +158,7 @@ obj-$(CONFIG_RTC_DRV_RX8025)	+= rtc-rx8025.o
>>   obj-$(CONFIG_RTC_DRV_RX8111)	+= rtc-rx8111.o
>>   obj-$(CONFIG_RTC_DRV_RX8581)	+= rtc-rx8581.o
>>   obj-$(CONFIG_RTC_DRV_RZN1)	+= rtc-rzn1.o
>> +obj-$(CONFIG_RTC_DRV_S32G)	+= rtc-s32g.o
>>   obj-$(CONFIG_RTC_DRV_S35390A)	+= rtc-s35390a.o
>>   obj-$(CONFIG_RTC_DRV_S3C)	+= rtc-s3c.o
>>   obj-$(CONFIG_RTC_DRV_S5M)	+= rtc-s5m.o
>> diff --git a/drivers/rtc/rtc-s32g.c b/drivers/rtc/rtc-s32g.c
>> new file mode 100644
>> index 000000000000..d6502d8bf616
>> --- /dev/null
>> +++ b/drivers/rtc/rtc-s32g.c
> 
> 
>> +static const struct of_device_id rtc_dt_ids[] = {
>> +	{ .compatible = "nxp,s32g2-rtc", .data = &rtc_s32g2_data},
>> +	{ .compatible = "nxp,s32g3-rtc", .data = &rtc_s32g2_data},
> 
> Considering the data is the same and g3 has a fallback to g2 in the
> binding, you can drop this line.

Correct, I will update in V2.

> 
> And really you don't need rtc_s32g2_data because there is only 1
> possible value. But maybe you know some differences which are coming
> soon? Then it's probably okay. Up to the RTC maintainer though.
> 

I understand your point. I've considered adding 'rtc_s32g2_data' because 
for both S32G2 and S32G3 SoCs, one entry in the clock source mux is 
reserved.
Since this is IMHO a SoC limiation, and future SoCs which may use this 
driver may not have this limitation I've considered adding this 
limitation as a quirk.

> Rob



Best Regards,
Ciprian




More information about the linux-arm-kernel mailing list