From: Ryan Wanner Date: Mon, 7 Jul 2025 11:36:50 +0000 (+0530) Subject: board: sama7d65_curiosity: Add support for sama7d65_curiosity X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9e40ad0f81597010610cc7b4353cd1f8301d7242;p=thirdparty%2Fu-boot.git board: sama7d65_curiosity: Add support for sama7d65_curiosity Add board specific functions for sama7d65_curiosity. Signed-off-by: Ryan Wanner --- diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig index cc9ed89e544..7d00f1650b4 100644 --- a/arch/arm/mach-at91/Kconfig +++ b/arch/arm/mach-at91/Kconfig @@ -304,6 +304,13 @@ config TARGET_SAMA7G54_CURIOSITY 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_SAMA7D65_CURIOSITY + bool "SAMA7D65 CURIOSITY board" + select SAMA7D65 + select BOARD_EARLY_INIT_F + select BOARD_LATE_INIT + imply OF_UPSTREAM + config TARGET_TAURUS bool "Support taurus" select AT91SAM9G20 @@ -370,6 +377,7 @@ source "board/atmel/sam9x60_curiosity/Kconfig" source "board/atmel/sam9x75_curiosity/Kconfig" source "board/atmel/sama7g5ek/Kconfig" source "board/atmel/sama7g54_curiosity/Kconfig" +source "board/atmel/sama7d65_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/sama7d65_curiosity/Kconfig b/board/atmel/sama7d65_curiosity/Kconfig new file mode 100644 index 00000000000..21ff432f2c1 --- /dev/null +++ b/board/atmel/sama7d65_curiosity/Kconfig @@ -0,0 +1,15 @@ +if TARGET_SAMA7D65_CURIOSITY + +config SYS_BOARD + default "sama7d65_curiosity" + +config SYS_VENDOR + default "atmel" + +config SYS_SOC + default "at91" + +config SYS_CONFIG_NAME + default "sama7d65_curiosity" + +endif diff --git a/board/atmel/sama7d65_curiosity/MAINTAINERS b/board/atmel/sama7d65_curiosity/MAINTAINERS new file mode 100644 index 00000000000..be67d56dc5b --- /dev/null +++ b/board/atmel/sama7d65_curiosity/MAINTAINERS @@ -0,0 +1,5 @@ +SAMA7D65 CURIOSITY BOARD +M: Ryan Wanner +S: Maintained +F: board/atmel/sama7d65_curiosity.c +F: include/configs/sama7d65_curiosity.h diff --git a/board/atmel/sama7d65_curiosity/Makefile b/board/atmel/sama7d65_curiosity/Makefile new file mode 100644 index 00000000000..56d011d1d81 --- /dev/null +++ b/board/atmel/sama7d65_curiosity/Makefile @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# Copyright (C) 2024 Microchip Technology Inc. and its subsidiaries +# +# Author: Ryan Wanner + +obj-y += sama7d65_curiosity.o diff --git a/board/atmel/sama7d65_curiosity/sama7d65_curiosity.c b/board/atmel/sama7d65_curiosity/sama7d65_curiosity.c new file mode 100644 index 00000000000..713b1b9d959 --- /dev/null +++ b/board/atmel/sama7d65_curiosity/sama7d65_curiosity.c @@ -0,0 +1,75 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2024 Microchip Technology, Inc. and its subsidiaries + * + * Author: Ryan Wanner + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +DECLARE_GLOBAL_DATA_PTR; + +static void board_leds_init(void) +{ + atmel_pio4_set_pio_output(AT91_PIO_PORTA, 21, 0); /* LED BLUE */ + atmel_pio4_set_pio_output(AT91_PIO_PORTB, 17, 0); /* LED RED */ + atmel_pio4_set_pio_output(AT91_PIO_PORTB, 15, 1); /* LED GREEN */ +} + +int board_late_init(void) +{ + return 0; +} + +#if (IS_ENABLED(CONFIG_DEBUG_UART_BOARD_INIT)) +static void board_uart0_hw_init(void) +{ + /* FLEXCOM6 IO0 */ + atmel_pio4_set_b_periph(AT91_PIO_PORTD, 18, 0); + /* FLEXCOM6 IO1 */ + atmel_pio4_set_b_periph(AT91_PIO_PORTD, 19, 0); + + at91_periph_clk_enable(ATMEL_ID_FLEXCOM6); +} + +void board_debug_uart_init(void) +{ + board_uart0_hw_init(); +} +#endif + +int board_early_init_f(void) +{ + return 0; +} + +int board_init(void) +{ + /* address of boot parameters */ + gd->bd->bi_boot_params = gd->bd->bi_dram[0].start + 0x100; + + board_leds_init(); + + return 0; +} + +int dram_init_banksize(void) +{ + return fdtdec_setup_memory_banksize(); +} + +int dram_init(void) +{ + return fdtdec_setup_mem_size_base(); +} diff --git a/include/configs/sama7d65_curiosity.h b/include/configs/sama7d65_curiosity.h new file mode 100644 index 00000000000..9316b104ee3 --- /dev/null +++ b/include/configs/sama7d65_curiosity.h @@ -0,0 +1,20 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Configuration file for the SAMA7D65 Curiosity Board. + * + * Copyright (C) 2024 Microchip Technology Inc. and its subsidiaries + * + * Author: Ryan Wanner + * + */ + +#ifndef __CONFIG_H +#define __CONFIG_H + +#define CFG_SYS_AT91_SLOW_CLOCK 32768 +#define CFG_SYS_AT91_MAIN_CLOCK 24000000 /* from 24 MHz crystal */ +/* SDRAM */ +#define CFG_SYS_SDRAM_BASE 0x60000000 +#define CFG_SYS_SDRAM_SIZE 0x40000000 + +#endif