On Fri, Feb 04, 2022 at 11:36:02AM +0100, Alexandre Belloni wrote: > On 04/02/2022 10:28:43+0000, Eugen.Hristev@xxxxxxxxxxxxx wrote: > > On 2/4/22 11:46 AM, Alexandre Belloni wrote: > > > On 04/02/2022 10:14:46+0200, Eugen Hristev wrote: > > >> The timer block can be used only to be read and to measure time in a polling > > >> fashion. This can be used by Linux like this for example, or it can be used > > >> by different projects which do not have interrupt controllers, or do not > > >> wish to enable them (e.g. U-boot). > > >> As DT is ABI, the binding should relate to all possible use cases and describe > > >> the hardware and the requirements. > > >> The interrupt is not a hard requirement for the timer to function in a > > >> specific way. > > >> Thus, choose to remove the interrupts property from the mandatory list of > > >> properties. > > >> > > > > > > The correct hardware description is that the interrupt is present on the > > > IP. Having software behave differently depending on the presence of that > > > property is configuration, not hardware description. > > > > I agree. The interrupt is present on the IP, thus the property exists > > and it's described. > > However, the interrupt is not mandatory for IP operations. Thus it > > should not be in the list of mandatory properties. > > > > If the interrupt is always present, it is mandatory, it doesn't matter > whether is is used or necessary to get the IP to work. Agreed.