[PATCH] versal: watchdog: Add support for Xilinx window watchdog

Michal Simek michal.simek at xilinx.com
Wed Mar 11 15:30:11 CET 2020


On 11. 03. 20 15:28, Tom Rini wrote:
> On Wed, Mar 11, 2020 at 01:11:07PM +0100, Michal Simek wrote:
>> On 11. 03. 20 12:56, Stefan Roese wrote:
>>> Hi Michal,
>>>
>>> On 11.03.20 12:34, Michal Simek wrote:
>>>
>>> <snip>
>>>
>>>>>> +/* Generic Control/Status Register Masks */
>>>>>> +#define XWT_WWCSR_GWEN_MASK    BIT(0) /* Enable Bit */
>>>>>> +
>>>>>> +struct wwdt_regs {
>>>>>> +    u32 reserved0[1024];
>>>>>> +    u32 refresh;        /* Refresh Register [0x1000] */
>>>>>> +    u32 reserved1[1023];
>>>>>> +    u32 csr;        /* Control/Status Register [0x2000] */
>>>>>> +    u32 reserved2;
>>>>>> +    u32 offset;        /* Offset Register [0x2008] */
>>>>>> +    u32 reserved3;
>>>>>> +    u32 cmp0;        /* Compare Value Register0 [0x2010] */
>>>>>> +    u32 cmp1;        /* Compare Value Register1 [0x2014] */
>>>>>> +    u32 reserved4[1006];
>>>>>> +    u32 warmrst;        /* Warm Reset Register [0x2FD0] */
>>>>>> +};
>>>>>
>>>>> My understanding is, that we moved to using defines instead of structs
>>>>> for register definitions. So if you need to send a v2, then please
>>>>> consider using #defines here.
>>>>
>>>> When was that decision done? Any link to documentation/commit message?
>>>
>>> Frankly, I don't remember and unfortunately I don't have a link ready
>>> to share. I've seen discussions in the past, where the old U-Boot style
>>> using structs was not preferred any more. So newer code moves to using
>>> the more common #defines instead. Perhaps some else can share a link?
>>
>> Tom: Do you have any comment/link?
> 
> Well, in general, we have regmap and that should be used.  In cases like
> this where we have some huge reserved chunks it shows the worst-case of
> using a struct for this too.

ok. Then let's us use regmap instead.

Ashok: Can you please take a look?

Thanks,
Michal





More information about the U-Boot mailing list