[PATCH 1/4] arm: at91: move atmel_serial.h to include/dm/platform_data

Eugen Hristev eugen.hristev at linaro.org
Mon Jan 12 11:12:56 CET 2026



On 1/12/26 11:52, Robert Marko wrote:
> On Mon, Jan 12, 2026 at 9:46 AM Eugen Hristev <eugen.hristev at linaro.org> wrote:
>>
>>
>>
>> On 12/30/25 23:01, Robert Marko wrote:
>>> Move the arch specific atmel_serial.h header from AT91 to the generic
>>> include/dm/platform_data.
>>>
>>> This will be used for support on Microchip LAN969x.
>>>
>>> Signed-off-by: Robert Marko <robert.marko at sartura.hr>
>>> ---
>>>  board/bluewater/gurnard/gurnard.c                               | 2 +-
>>>  board/siemens/corvus/board.c                                    | 2 +-
>>>  board/siemens/smartweb/smartweb.c                               | 2 +-
>>>  board/siemens/taurus/taurus.c                                   | 2 +-
>>>  drivers/serial/atmel_usart.c                                    | 2 +-
>>>  .../include/mach => include/dm/platform_data}/atmel_serial.h    | 0
>>>  6 files changed, 5 insertions(+), 5 deletions(-)
>>>  rename {arch/arm/mach-at91/include/mach => include/dm/platform_data}/atmel_serial.h (100%)
>>>
>>> diff --git a/board/bluewater/gurnard/gurnard.c b/board/bluewater/gurnard/gurnard.c
>>> index 3275803226a..71db6409721 100644
>>> --- a/board/bluewater/gurnard/gurnard.c
>>> +++ b/board/bluewater/gurnard/gurnard.c
>>> @@ -29,7 +29,7 @@
>>>  #include <asm/arch/at91_rstc.h>
>>>  #include <asm/arch/at91_rtc.h>
>>>  #include <asm/arch/at91_sck.h>
>>> -#include <asm/arch/atmel_serial.h>
>>> +#include <dm/platform_data/atmel_serial.h>
>>>  #include <asm/arch/clk.h>
>>>  #include <asm/arch/gpio.h>
>>>  #include <dm/uclass-internal.h>
>>> diff --git a/board/siemens/corvus/board.c b/board/siemens/corvus/board.c
>>> index a8714e055d7..7a70a7dfc8b 100644
>>> --- a/board/siemens/corvus/board.c
>>> +++ b/board/siemens/corvus/board.c
>>> @@ -20,7 +20,7 @@
>>>  #include <asm/arch/at91sam9_smc.h>
>>>  #include <asm/arch/at91_common.h>
>>>  #include <asm/arch/at91_rstc.h>
>>> -#include <asm/arch/atmel_serial.h>
>>> +#include <dm/platform_data/atmel_serial.h>
>>>  #include <asm/arch/gpio.h>
>>>  #include <asm/gpio.h>
>>>  #include <asm/arch/clk.h>
>>> diff --git a/board/siemens/smartweb/smartweb.c b/board/siemens/smartweb/smartweb.c
>>> index 6fa3ca573ae..ce16aad3b98 100644
>>> --- a/board/siemens/smartweb/smartweb.c
>>> +++ b/board/siemens/smartweb/smartweb.c
>>> @@ -25,7 +25,7 @@
>>>  #include <asm/arch/at91sam9260_matrix.h>
>>>  #include <asm/arch/at91sam9_smc.h>
>>>  #include <asm/arch/at91_common.h>
>>> -#include <asm/arch/atmel_serial.h>
>>> +#include <dm/platform_data/atmel_serial.h>
>>>  #include <asm/arch/at91_spi.h>
>>>  #include <spi.h>
>>>  #include <asm/arch/clk.h>
>>> diff --git a/board/siemens/taurus/taurus.c b/board/siemens/taurus/taurus.c
>>> index 252b0787124..690c00046fa 100644
>>> --- a/board/siemens/taurus/taurus.c
>>> +++ b/board/siemens/taurus/taurus.c
>>> @@ -24,7 +24,7 @@
>>>  #include <asm/arch/at91_rstc.h>
>>>  #include <asm/arch/gpio.h>
>>>  #include <asm/arch/at91sam9_sdramc.h>
>>> -#include <asm/arch/atmel_serial.h>
>>> +#include <dm/platform_data/atmel_serial.h>
>>>  #include <asm/arch/clk.h>
>>>  #include <asm/gpio.h>
>>>  #include <linux/mtd/rawnand.h>
>>> diff --git a/drivers/serial/atmel_usart.c b/drivers/serial/atmel_usart.c
>>> index 0b35582aaa4..d6c3d4cbcc8 100644
>>> --- a/drivers/serial/atmel_usart.c
>>> +++ b/drivers/serial/atmel_usart.c
>>> @@ -18,7 +18,7 @@
>>>
>>>  #include <asm/io.h>
>>>  #if CONFIG_IS_ENABLED(DM_SERIAL)
>>> -#include <asm/arch/atmel_serial.h>
>>> +#include <dm/platform_data/atmel_serial.h>
>>>  #endif
>>>  #include <asm/arch/clk.h>
>>>  #include <asm/arch/hardware.h>
>>> diff --git a/arch/arm/mach-at91/include/mach/atmel_serial.h b/include/dm/platform_data/atmel_serial.h
>>> similarity index 100%
>>> rename from arch/arm/mach-at91/include/mach/atmel_serial.h
>>> rename to include/dm/platform_data/atmel_serial.h
>>
>> Hello Robert,
>>
>> These patches break the build for some boards. e.g. corvus_defconfig
>>
>>
>> drivers/serial/atmel_usart.c: In function ‘atmel_serial_setbrg_internal’:
>> drivers/serial/atmel_usart.c:44:20: error: implicit declaration of
>> function ‘get_usart_clk_rate’ [-Werror=implicit-function-declaration]
>>    44 |         usart_hz = get_usart_clk_rate(id);
>>       |                    ^~~~~~~~~~~~~~~~~~
>>   AR      spl/disk/built-in.a
>>   CC      spl/fs/fs_internal.o
>> cc1: some warnings being treated as errors
> 
> So, somehow during the SPL build, the following is not evaluated as true:
> #if CONFIG_IS_ENABLED(ARCH_AT91)
> 
> Which is rather weird as u-boot.cfg in the spl dir has:
> #define CONFIG_ARCH_AT91 1
> 
> So, this is some CONFIG_IS_ENABLED interaction with SPL that I am not
> really familiar with as
> #if IS_ENABLED(CONFIG_ARCH_AT91) works just fine and gets the header included.

IIRC when the spl is being built, a dedicated config is being created
from the proper defconfig by selecting CONFIG_SPL_***

You will have to check why the ARCH_AT91 is not selected for spl, which
is strange indeed

> 
> Regards,
> Robert
> 
>>
>>
>> Please have a look,
>> thanks,
>> Eugen
>>
> 
> 



More information about the U-Boot mailing list