From ff1e2e32eb0193a5f5aa473af352c88214fd6ac4 Mon Sep 17 00:00:00 2001 From: Mihai Sain Date: Tue, 27 Feb 2024 15:44:02 +0200 Subject: [PATCH] board: at91: sama7g54_curiosity: Add initial board support Add initial support for SAMA7G54 Curiosity board. Hardware: SoC: SAMA7G54D2G SiP 1000 MHz DRAM: DDR3 256 MiB PMIC: MCP16502 Debug: UART3 Flash: QSPI NOR 8 MiB, SLC NAND 512 MiB M.2 slot for wireless Mikrobus connectors x 2 SD-Card connectors x 1 USB 2.0 x 3 Signed-off-by: Mihai Sain --- arch/arm/mach-at91/Kconfig | 10 ++++++ board/atmel/sama7g54_curiosity/Kconfig | 15 ++++++++ board/atmel/sama7g54_curiosity/MAINTAINERS | 9 +++++ board/atmel/sama7g54_curiosity/Makefile | 7 ++++ .../sama7g54_curiosity/sama7g54_curiosity.c | 36 +++++++++++++++++++ 5 files changed, 77 insertions(+) create mode 100644 board/atmel/sama7g54_curiosity/Kconfig create mode 100644 board/atmel/sama7g54_curiosity/MAINTAINERS create mode 100644 board/atmel/sama7g54_curiosity/Makefile create mode 100644 board/atmel/sama7g54_curiosity/sama7g54_curiosity.c diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig index c5fd869272..8a8ac53e4f 100644 --- a/arch/arm/mach-at91/Kconfig +++ b/arch/arm/mach-at91/Kconfig @@ -286,6 +286,15 @@ config TARGET_SAMA7G5EK select BOARD_EARLY_INIT_F select BOARD_LATE_INIT +config TARGET_SAMA7G54_CURIOSITY + bool "SAMA7G54 CURIOSITY board" + select SAMA7G5 + select CPU_V7A + help + The SAMA7G54 Curiosity embeds SAMA7G54D2G SiP (System in Package) + with 2Gbit DDR3-SDRAM, 64Mbit QSPI nor-flash with MAC-address, + 4Gbit SLC nand-flash, MCP16502 PMIC, 2 x Mikrobus connectors, + 1 x SD-Card connector, 1 x M.2 slot, 3 x USB config TARGET_TAURUS bool "Support taurus" @@ -366,6 +375,7 @@ source "board/atmel/at91sam9x5ek/Kconfig" source "board/atmel/sam9x60ek/Kconfig" source "board/atmel/sam9x60_curiosity/Kconfig" source "board/atmel/sama7g5ek/Kconfig" +source "board/atmel/sama7g54_curiosity/Kconfig" source "board/atmel/sama5d2_ptc_ek/Kconfig" source "board/atmel/sama5d2_xplained/Kconfig" source "board/atmel/sama5d27_som1_ek/Kconfig" diff --git a/board/atmel/sama7g54_curiosity/Kconfig b/board/atmel/sama7g54_curiosity/Kconfig new file mode 100644 index 0000000000..3e60d96712 --- /dev/null +++ b/board/atmel/sama7g54_curiosity/Kconfig @@ -0,0 +1,15 @@ +if TARGET_SAMA7G54_CURIOSITY + +config SYS_BOARD + default "sama7g54_curiosity" + +config SYS_VENDOR + default "atmel" + +config SYS_SOC + default "at91" + +config SYS_CONFIG_NAME + default "sama7g54_curiosity" + +endif diff --git a/board/atmel/sama7g54_curiosity/MAINTAINERS b/board/atmel/sama7g54_curiosity/MAINTAINERS new file mode 100644 index 0000000000..b9f1a271c0 --- /dev/null +++ b/board/atmel/sama7g54_curiosity/MAINTAINERS @@ -0,0 +1,9 @@ +SAMA7G54 CURIOSITY BOARD +M: Mihai Sain +S: Maintained +F: board/atmel/sama7g54_curiosity.c +F: include/configs/sama7g54_curiosity.h +F: configs/sama7g54_curiosity_mmc_defconfig +F: configs/sama7g54_curiosity_nandflash_defconfig +F: configs/sama7g54_curiosity_qspiflash_defconfig +F: arch/arm/dts/at91-sama7g54_curiosity* diff --git a/board/atmel/sama7g54_curiosity/Makefile b/board/atmel/sama7g54_curiosity/Makefile new file mode 100644 index 0000000000..bc77655f35 --- /dev/null +++ b/board/atmel/sama7g54_curiosity/Makefile @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# Copyright (C) 2024 Microchip Technology Inc. and its subsidiaries +# +# Author: Mihai Sain + +obj-y += sama7g54_curiosity.o diff --git a/board/atmel/sama7g54_curiosity/sama7g54_curiosity.c b/board/atmel/sama7g54_curiosity/sama7g54_curiosity.c new file mode 100644 index 0000000000..33cd0903d2 --- /dev/null +++ b/board/atmel/sama7g54_curiosity/sama7g54_curiosity.c @@ -0,0 +1,36 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2024 Microchip Technology Inc. and its subsidiaries + * + * Author: Mihai Sain + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +DECLARE_GLOBAL_DATA_PTR; + +int board_init(void) +{ + // Address of boot parameters + gd->bd->bi_boot_params = gd->bd->bi_dram[0].start + 0x100; + + return 0; +} + +int dram_init_banksize(void) +{ + return fdtdec_setup_memory_banksize(); +} + +int dram_init(void) +{ + return fdtdec_setup_mem_size_base(); +} -- 2.39.5