Re: [PATCH 2/2] dt-bindings: rtc: add bindings for max313xx RTCs

From: Krzysztof Kozlowski
Date: Fri Oct 21 2022 - 09:40:53 EST


On 21/10/2022 09:05, Tilki, Ibrahim wrote:
>> On 21/10/2022 11:44:12+0000, Tilki, Ibrahim wrote:
>>>>> + interrupt-names:
>>>>> + description: |
>>>>> + Name of the interrupt pin of the RTC used for IRQ. Not required for
>>>>> + RTCs that only have single interrupt pin available. Some of the RTCs
>>>>> + share interrupt pins with clock input/output pins.
>>>>> + minItems: 1
>>>>> + items:
>>>>> + - enum: [INTA, INTB]
>>>>> + - enum: [INTA, INTB]
>>>>> +
>>>>
>>>> I don't think this is right, what this is doing is essentially pinmuxing
>>>> interrupts versus clocks. What happens if you want INTB but this goes
>>>> directly to a PMIC instead of the SoC?
>>>> It is not something you can express with your current bindings.
>>>>
>>>
>>> Why would a user want INTB when it is not connected to SoC?
>>> User can specify none, either one or both of the interrupt pins.
>>> I don't see what the problem here is.
>>>
>>
>> the interrupt pin may be connected to a PMIC that is able to start or
>> wake up the platform. In that case, the user would not have any
>> interrupt-names and your driver will fail to mux the interrupt on INTB.
>> Please fix.
>
> Interrupt muxing depends on the clock configuration, not the interrupt-names property.
> Devices don't support muxing the alarm interrupt independently.
>
> For example in the case of max31329, alarm interrupt is muxed into INTA by default.
> Alarm interrupt is muxed into INTB pin if and only if clkin is enabled.\

Just to be sure: are you now describing hardware or Linux driver behavior?

>
> This means that if a user wants the alarm interrupt on INTB pin, they have to
> provide a clock input through "clocks" property. If that is the case, they can provide
> an interrupt for INTB pin, otherwise the alarm feature of the rtc gets disabled.
>
> Side note: Some devices have 2 Alarms but Alarm2 does not have a register for
> matching "seconds" so only Alarm1 is used by the driver.

Best regards,
Krzysztof