lkml.org 
[lkml]   [2022]   [May]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH 2/6] dt-bindings: rtc: stm32: add alarm A out property to select output
    From
    Hi Alexandre,

    On 5/4/22 22:27, Alexandre Belloni wrote:
    > Hello,
    >
    > On 04/05/2022 15:06:13+0200, Valentin Caron wrote:
    >> STM32 RTC can pulse some SOC pins when an alarm of RTC expires.
    >>
    >> This patch adds property to activate alarm A output. The pulse can
    >> output on three pins RTC_OUT1, RTC_OUT2, RTC_OUT2_RMP
    >> (PC13, PB2, PI8 on stm32mp15) (PC13, PB2, PI1 on stm32mp13).
    >>
    >> Signed-off-by: Valentin Caron <valentin.caron@foss.st.com>
    >> ---
    >> .../devicetree/bindings/rtc/st,stm32-rtc.yaml | 19 ++++++++++++++++++-
    >> 1 file changed, 18 insertions(+), 1 deletion(-)
    >>
    >> diff --git a/Documentation/devicetree/bindings/rtc/st,stm32-rtc.yaml b/Documentation/devicetree/bindings/rtc/st,stm32-rtc.yaml
    >> index 56d46ea35c5d..71e02604e8de 100644
    >> --- a/Documentation/devicetree/bindings/rtc/st,stm32-rtc.yaml
    >> +++ b/Documentation/devicetree/bindings/rtc/st,stm32-rtc.yaml
    >> @@ -59,6 +59,13 @@ properties:
    >> Refer to <include/dt-bindings/rtc/rtc-stm32.h> for the supported values.
    >> Pinctrl state named "default" may be defined to reserve pin for RTC output.
    >>
    >> + st,alarm:
    >> + $ref: "/schemas/types.yaml#/definitions/uint32"
    >> + description: |
    >> + To select and enable RTC Alarm A output.
    >> + Refer to <include/dt-bindings/rtc/rtc-stm32.h> for the supported values.
    >> + Pinctrl state named "default" may be defined to reserve pin for RTC output.
    >> +
    >> allOf:
    >> - if:
    >> properties:
    >> @@ -75,6 +82,9 @@ allOf:
    >> st,lsco:
    >> maxItems: 0
    >>
    >> + st,alarm:
    >> + maxItems: 0
    >> +
    >> clock-names: false
    >>
    >> required:
    >> @@ -95,6 +105,9 @@ allOf:
    >> st,lsco:
    >> maxItems: 0
    >>
    >> + st,alarm:
    >> + maxItems: 0
    >> +
    >> required:
    >> - clock-names
    >> - st,syscfg
    >> @@ -117,6 +130,9 @@ allOf:
    >> st,lsco:
    >> maxItems: 1
    >>
    >> + st,alarm:
    >> + maxItems: 1
    >> +
    >> required:
    >> - clock-names
    >>
    >> @@ -153,8 +169,9 @@ examples:
    >> clocks = <&rcc RTCAPB>, <&rcc RTC>;
    >> clock-names = "pclk", "rtc_ck";
    >> interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
    >> + st,alarm = <RTC_OUT1>;
    >> st,lsco = <RTC_OUT2_RMP>;
    > Shouldn't that be exactly the opposite? You have two pins that can
    > output different functions. The property should be the pin and the value
    > the function. I'd go even further and I would say this is actually
    > pinmuxing.
    >
    You're right, if the property is the pin and the value the function,
    this looks like a pinctrl node.
    We choose to develop theses functionalities in the reverse order, to
    avoid the complexity of adding
    the pinctrl framework to our driver. Moreover, LSCO and AlarmA may
    haven't a peripheral client and
    this would probably require to also implement pinctrl hogging.

    Is the implementation that we have proposed is acceptable regarding
    theses elements ?

    Thank you,
    Valentin

    \
     
     \ /
      Last update: 2022-05-23 14:37    [W:3.442 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site