* Re: Re: [PATCH v6 1/2] dt-bindings: pwm: dwc: add optional reset [not found] ` <b3a1b5ba-c381-407f-9118-aac7217138af@kernel.org> @ 2026-05-11 7:10 ` Xuyang Dong 2026-05-14 14:31 ` Krzysztof Kozlowski 0 siblings, 1 reply; 2+ messages in thread From: Xuyang Dong @ 2026-05-11 7:10 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: ukleinek, robh, krzk+dt, conor+dt, ben-linux, ben.dooks, p.zabel, linux-pwm, devicetree, linux-kernel, ningyu, linmin, xuxiang, wangguosheng, pinkesh.vaghela > > On 29/04/2026 11:30, Xuyang Dong wrote: > >>>>> > >>>>> +allOf: > >>>>> + - $ref: pwm.yaml# > >>>>> + > >>>>> + - if: > >>>>> + properties: > >>>>> + compatible: > >>>>> + contains: > >>>>> + const: eswin,eic7700-pwm > >>>> > >>>> Same problem as v3 which I commented. I do not understand why your new > >>>> device has also 1 reset. > >>>> > >>>> Your commit msg MUST explain why 1 reset is valid. > >>>> > >>> > >>> Hi Krzysztof, > >>> > >>> Although the PWM IP supports two clock domains, each requiring a reset, > >>> the EIC7700 implementation uses the same clock domain for both clock > >>> signals. Therefore, the eic7700-pwm only supports one reset. > >>> > >> > >> If we speak about eic7700, explain why it has two resets now, according > >> to schema, even though you say it has not. > >> > >> But I was speaking about dw-apb-timers-pwm, which has one reset as well! > >> Why you are not having proper constraints? Please read writing bindings > >> document. > >> > > > > Hi Krzysztof, > > > > Let me clarify the reset signals. > > - snps,dw-apb-timers-pwm2: IP spec has 2 optional reset signals (one per > > clock domain), SoC vendor decides whether to wire them — so maxItems: 2, > > optional in required. > > Two reset signals but what is exactly optional? Each of them? Only the > first? Binding does not allow the first to be optional. > Hi Krzysztof, Thank you for the review. For the generic snps,dw-apb-timers-pwm2 binding, both reset signals are now fully optional by not including resets in the required list. When a single optional reset signal is used, the interface bus reset (index 0) is used by default. Keep the YAML as follows: + resets: + minItems: 1 + items: + - description: Interface bus reset + - description: PWM timer logic reset Add the following description to the commit message: Whether each signal is wired on a given SoC is a board integration decision, so the resets property is optional for snps,dw-apb-timers-pwm2. When present, up to two handles may be supplied: the bus reset is always at index 0 and the timer reset at index 1. > > - eswin,eic7700-pwm: SoC physically ties both signals to one reset — so > > exactly 1, required. > > Then two would not be right and you need to restrict that. > For the specific eswin,eic7700-pwm binding, the reset signal is required and fixed to one via conditional schema (if:then:), with maxItems: 1 and resets added to required. And add an example for eswin,eic7700-pwm. The changes are as follows: +allOf: + - $ref: pwm.yaml# + + - if: + properties: + compatible: + contains: + const: eswin,eic7700-pwm + then: + properties: + resets: + maxItems: 1 + required: + - resets + + - | + pwm@50818000 { + compatible = "eswin,eic7700-pwm"; + reg = <0x50818000 0x4000>; + #pwm-cells = <3>; + clocks = <&bus>, <&timer>; + clock-names = "bus", "timer"; + resets = <&reset>; + }; Then change the binding's subject from "dt-bindings: pwm: dwc: add optional reset" to "dt-bindings: pwm: dwc: add eswin,eic7700-pwm compatible and resets". Do these changes look acceptable to you? Best regards, Xuyang Dong ^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH v6 1/2] dt-bindings: pwm: dwc: add optional reset 2026-05-11 7:10 ` Re: [PATCH v6 1/2] dt-bindings: pwm: dwc: add optional reset Xuyang Dong @ 2026-05-14 14:31 ` Krzysztof Kozlowski 0 siblings, 0 replies; 2+ messages in thread From: Krzysztof Kozlowski @ 2026-05-14 14:31 UTC (permalink / raw) To: Xuyang Dong Cc: ukleinek, robh, krzk+dt, conor+dt, ben-linux, ben.dooks, p.zabel, linux-pwm, devicetree, linux-kernel, ningyu, linmin, xuxiang, wangguosheng, pinkesh.vaghela On 11/05/2026 09:10, Xuyang Dong wrote: >> >> On 29/04/2026 11:30, Xuyang Dong wrote: >>>>>>> >>>>>>> +allOf: >>>>>>> + - $ref: pwm.yaml# >>>>>>> + >>>>>>> + - if: >>>>>>> + properties: >>>>>>> + compatible: >>>>>>> + contains: >>>>>>> + const: eswin,eic7700-pwm >>>>>> >>>>>> Same problem as v3 which I commented. I do not understand why your new >>>>>> device has also 1 reset. >>>>>> >>>>>> Your commit msg MUST explain why 1 reset is valid. >>>>>> >>>>> >>>>> Hi Krzysztof, >>>>> >>>>> Although the PWM IP supports two clock domains, each requiring a reset, >>>>> the EIC7700 implementation uses the same clock domain for both clock >>>>> signals. Therefore, the eic7700-pwm only supports one reset. >>>>> >>>> >>>> If we speak about eic7700, explain why it has two resets now, according >>>> to schema, even though you say it has not. >>>> >>>> But I was speaking about dw-apb-timers-pwm, which has one reset as well! >>>> Why you are not having proper constraints? Please read writing bindings >>>> document. >>>> >>> >>> Hi Krzysztof, >>> >>> Let me clarify the reset signals. >>> - snps,dw-apb-timers-pwm2: IP spec has 2 optional reset signals (one per >>> clock domain), SoC vendor decides whether to wire them — so maxItems: 2, >>> optional in required. >> >> Two reset signals but what is exactly optional? Each of them? Only the >> first? Binding does not allow the first to be optional. >> > > Hi Krzysztof, > > Thank you for the review. > > For the generic snps,dw-apb-timers-pwm2 binding, both reset signals > are now fully optional by not including resets in the required list. > > When a single optional reset signal is used, the interface bus reset > (index 0) is used by default. > > Keep the YAML as follows: > + resets: > + minItems: 1 > + items: > + - description: Interface bus reset > + - description: PWM timer logic reset > > Add the following description to the commit message: We speak about hardware, not binding. I asked, why your new device has only one reset. > > Whether each signal is wired on a given SoC is a board integration > decision, so the resets property is optional for snps,dw-apb-timers-pwm2. > When present, up to two handles may be supplied: the bus reset is always > at index 0 and the timer reset at index 1. > >>> - eswin,eic7700-pwm: SoC physically ties both signals to one reset — so >>> exactly 1, required. >> >> Then two would not be right and you need to restrict that. >> > > For the specific eswin,eic7700-pwm binding, the reset signal is required > and fixed to one via conditional schema (if:then:), with maxItems: 1 > and resets added to required. And add an example for eswin,eic7700-pwm. > The changes are as follows: > > +allOf: > + - $ref: pwm.yaml# > + > + - if: > + properties: > + compatible: > + contains: > + const: eswin,eic7700-pwm > + then: > + properties: > + resets: > + maxItems: 1 > + required: > + - resets > + > > + - | > + pwm@50818000 { > + compatible = "eswin,eic7700-pwm"; > + reg = <0x50818000 0x4000>; > + #pwm-cells = <3>; > + clocks = <&bus>, <&timer>; > + clock-names = "bus", "timer"; > + resets = <&reset>; > + }; > > Then change the binding's subject from "dt-bindings: pwm: dwc: add optional > reset" to "dt-bindings: pwm: dwc: add eswin,eic7700-pwm compatible and resets". > > Do these changes look acceptable to you? So two resets or one reset? I am completely confused what you are replying to. Please read writing bindings document. Best regards, Krzysztof ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-05-14 14:31 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20260424094529.1691-1-dongxuyang@eswincomputing.com>
[not found] ` <20260424095435.1721-1-dongxuyang@eswincomputing.com>
[not found] ` <ee58a5d6-9268-445c-a270-1f4a49b49c6e@kernel.org>
[not found] ` <622e18f1.5bb3.19dd36d0c40.Coremail.dongxuyang@eswincomputing.com>
[not found] ` <7bd6129a-dd37-48e8-a54c-cc149a2b84a2@kernel.org>
[not found] ` <1ac7fae4.5c66.19dd892ec4d.Coremail.dongxuyang@eswincomputing.com>
[not found] ` <b3a1b5ba-c381-407f-9118-aac7217138af@kernel.org>
2026-05-11 7:10 ` Re: [PATCH v6 1/2] dt-bindings: pwm: dwc: add optional reset Xuyang Dong
2026-05-14 14:31 ` Krzysztof Kozlowski
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox