On 5/13/21 4:43 PM, Rob Herring wrote: > On Thu, May 13, 2021 at 10:28 AM Sean Anderson <sean.anderson@xxxxxxxx> wrote: >> >> >> >> On 5/13/21 10:33 AM, Sean Anderson wrote: >> > >> > >> > On 5/12/21 10:16 PM, Rob Herring wrote: >> > > On Tue, May 11, 2021 at 03:12:37PM -0400, Sean Anderson wrote: >> > >> This adds a binding for the Xilinx LogiCORE IP AXI Timer. This device is >> > >> a "soft" block, so it has many parameters which would not be >> > >> configurable in most hardware. This binding is usually automatically >> > >> generated by Xilinx's tools, so the names and values of some properties >> > >> must be kept as they are. Replacement properties have been provided for >> > >> new device trees. >> > > >> > > Because you have some tool generating properties is not a reason we have >> > > to accept them upstream. >> > >> > These properties are already in arch/microblaze/boot/dts/system.dts and >> > in the devicetree supplied to Linux by qemu. Removing these properties >> > will break existing setups, which I would like to avoid. > > Already in use in upstream dts files is different than just > 'automatically generated' by vendor tools. > >> > >> > > 'deprecated' is for what *we* have deprecated. >> > >> > Ok. I will remove that then. >> > >> > > >> > > In this case, I don't really see the point in defining new properties >> > > just to have bool. >> > >> > I don't either, but it was requested, by Michal... >> >> Err, your comment on the original bindings was >> >> > Can't all these be boolean? > > With no other context, yes that's what I would ask. Now you've given > me some context, between using the existing ones and 2 sets of > properties to maintain, I choose the former. Ok, then I will go with that for v4. I noticed some another patch regarding a similar situation [1]. Would you prefer separate files like what is done there, or is a unified file like this ok? [1] https://lore.kernel.org/lkml/d36e3690ce8c5a1e53d054552e4fd8b90d6a5478.1620648868.git.geert+renesas@xxxxxxxxx/T/ --Sean > >> And Michal commented >> >> > I think in this case you should described what it is used by current >> > driver in Microblaze and these options are required. The rest are by >> > design optional. >> > If you want to change them to different value then current binding >> > should be deprecated and have any transition time with code alignment. >> >> So that is what I tried to accomplish with this revision. I also tried >> allowing something like >> >> xlnx,one-timer-only = <0>; /* two timers */ >> xlnx,one-timer-only = <1>; /* one timer */ >> xlnx,one-timer-only; /* one timer */ >> /* property absent means two timers */ >> >> but I was unable to figure out how to express this with json-schema. I >> don't think it's the best design either... > > json-schema would certainly let you, but generally we don't want > properties to have more than 1 type. > > Rob >