[PATCH 1/4] i2c: at91: add compatible with microchip,sama7g5-i2c

Eugen.Hristev at microchip.com Eugen.Hristev at microchip.com
Wed Jan 5 12:00:16 CET 2022


On 1/5/22 12:49 PM, Michael Walle wrote:
> Am 2022-01-05 11:37, schrieb Eugen.Hristev at microchip.com:
>> On 1/5/22 12:04 PM, Michael Walle wrote:
>>> Hi,
>>>
>>>> Add compatible and data platform struct for sama7g5 SoC.
>>>>
>>>> Signed-off-by: Eugen Hristev <eugen.hristev at microchip.com>
>>>> ---
>>>>   drivers/i2c/at91_i2c.c | 6 ++++++
>>>>   1 file changed, 6 insertions(+)
>>>>
>>>> diff --git a/drivers/i2c/at91_i2c.c b/drivers/i2c/at91_i2c.c
>>>> index 6b4c0e4804..400a3786ca 100644
>>>> --- a/drivers/i2c/at91_i2c.c
>>>> +++ b/drivers/i2c/at91_i2c.c
>>>> @@ -305,6 +305,11 @@ static const struct at91_i2c_pdata
>>>> sama5d2_config = {
>>>>        .clk_offset = 3,
>>>>   };
>>>>
>>>> +static const struct at91_i2c_pdata sama7g5_config = {
>>>> +     .clk_max_div = 7,
>>>> +     .clk_offset = 3,
>>>> +};
>>>> +
>>>>   static const struct udevice_id at91_i2c_ids[] = {
>>>>   { .compatible = "atmel,at91rm9200-i2c", .data =
>>>> (long)&at91rm9200_config },
>>>>   { .compatible = "atmel,at91sam9260-i2c", .data =
>>>> (long)&at91sam9260_config },
>>>> @@ -314,6 +319,7 @@ static const struct udevice_id at91_i2c_ids[] = {
>>>>   { .compatible = "atmel,at91sam9x5-i2c", .data =
>>>> (long)&at91sam9x5_config },
>>>>   { .compatible = "atmel,sama5d4-i2c", .data = (long)&sama5d4_config
>>>> },
>>>>   { .compatible = "atmel,sama5d2-i2c", .data = (long)&sama5d2_config
>>>> },
>>>> +{ .compatible = "microchip,sama7g5-i2c", .data =
>>>> (long)&sama7g5_config },
>>>
>>> I see that this compatible string is is also used in the linux
>>> device tree, but there is no dt binding for it in linux. Could you
>>> add it, so the binding is approved by Rob?
>>
>> I can, for sure, but the current binding format is txt. I am not sure
>> if
>> we have to convert to yaml first, in which case it would be a little
>> more difficult than just adding a new compatible string.
>> The current DT node in Linux is also compatible with sam9x60, and this
>> string is already in the Linux binding file.
>> I could add the sam9x60 compatible instead, and it will still work, as
>> 9x60 type of i2c is the same as in sama7g5.
>> You think this option would be better for now ?
> 
> It's at least better than adding an undocumented string. But TBH,
> this looks like "what can I do to avoid converting the dt binding
> to yaml". Which eventually has to be done anyway, so now might be
> a good opportunity for that :)

You are right. It has to be done anyway, but I would not like to stop 
the addition to u-boot because of that.
Converting the i2c to yaml might open several other issues, and this 
might delay a simple compatible string in uboot a lot.
sam9x60 compatible has to be added anyway, since it's supported and it's 
already in the binding tree.
So I see this like an intermediary step.

> 
> But looking at sama7g5_config above again, will that also be the
> correct values for the generic sam9x60?

That's right.
I will follow up with a patch to add sam9x60, and think of converting 
the i2c binding later on.

> 
> -michael



More information about the U-Boot mailing list