arm: SC573-EZKIT initial support

Adds support for Analog Devices' SC573-EZKIT board. Includes:
- SoC specific configs in mach-sc5xx/Kconfig
- Memory Map for SPL
- Necessary board-specific init functions
- Board-specific Kconfig and environment in board/adi/
- Memory configuration

Co-developed-by: Greg Malysa <greg.malysa@timesys.com>
Signed-off-by: Greg Malysa <greg.malysa@timesys.com>
Co-developed-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
Signed-off-by: Oliver Gaskell <Oliver.Gaskell@analog.com>
This commit is contained in:
Oliver Gaskell 2024-09-12 16:51:01 +01:00 committed by Tom Rini
parent 0370f30619
commit 1083fa7577
8 changed files with 187 additions and 1 deletions

View File

@ -649,6 +649,7 @@ config TEXT_BASE
default 0xB2200000 if ARCH_SC5XX && SC59X
default 0x89200000 if ARCH_SC5XX && TARGET_SC584_EZKIT
default 0xC2200000 if ARCH_SC5XX && (TARGET_SC589_EZKIT || TARGET_SC589_MINI)
default 0x82200000 if ARCH_SC5XX && SC57X
hex "Text Base"
help
The address in memory that U-Boot will be copied and executed from

View File

@ -25,6 +25,7 @@ config SC57X
bool "SC57x series"
select COMMON_CLK_ADI_SC57X
select CPU_V7A
select TARGET_SC573_EZKIT
config SC58X
bool "SC58x series"
@ -49,6 +50,13 @@ config SC59X_64
endchoice
if SC57X
config TARGET_SC573_EZKIT
bool "Support SC573-EZKIT"
endif
if SC58X
choice
@ -555,5 +563,6 @@ source "board/adi/sc594-som-ezlite/Kconfig"
source "board/adi/sc589-ezkit/Kconfig"
source "board/adi/sc589-mini/Kconfig"
source "board/adi/sc584-ezkit/Kconfig"
source "board/adi/sc573-ezkit/Kconfig"
endif

View File

@ -11,6 +11,7 @@
obj-y += soc.o init/
obj-$(CONFIG_SC57X) += sc57x.o
obj-$(CONFIG_SC57X) += sc57x-spl.o
obj-$(CONFIG_SC58X) += sc58x.o
obj-$(CONFIG_SC58X) += sc58x-spl.o
obj-$(CONFIG_SC59X) += sc59x.o

View File

@ -0,0 +1,26 @@
// SPDX-License-Identifier: GPL-2.0-or-later
/*
* (C) Copyright 2024 - Analog Devices, Inc.
*/
#include <asm/arch-adi/sc5xx/spl.h>
// Table 45-16 in SC573 HRM
const struct adi_boot_args adi_rom_boot_args[] = {
// JTAG/no boot
[0] = {0, 0, 0},
// SPI master, used for qspi as well
[1] = {0x60020000, 0x00040000, 0x00010207},
// SPI slave
[2] = {0, 0, 0x00000212},
// UART slave
[3] = {0, 0, 0x00000013},
// Linkport slave
[4] = {0, 0, 0x00000014},
// reserved, no boot
[5] = {0, 0, 0},
// reserved, no boot
[6] = {0, 0, 0},
// reserved, also no boot
[7] = {0, 0, 0}
};

View File

@ -0,0 +1,116 @@
# SPDX-License-Identifier: GPL-2.0-or-later
#
# (C) Copyright 2024 - Analog Devices, Inc.
if TARGET_SC573_EZKIT
config SYS_BOARD
default "sc573-ezkit"
config SYS_CONFIG_NAME
default "sc573-ezkit"
config LDR_CPU
default "ADSP-SC573-0.0"
config DEFAULT_DEVICE_TREE
default "sc573-ezkit"
config ADI_IMAGE
default "tiny"
config CUSTOM_SYS_INIT_SP_ADDR
default 0x8203f000
# SPI Flash
config SF_DEFAULT_BUS
default 2
config SF_DEFAULT_CS
default 1
config SF_DEFAULT_SPEED
default 10000000
# Clocks
config CGU0_DF_DIV
default 0
config CGU0_VCO_MULT
default 18
config CGU0_CCLK_DIV
default 1
config CGU0_SCLK_DIV
default 2
config CGU0_SCLK0_DIV
default 2
config CGU0_SCLK1_DIV
default 2
config CGU0_DCLK_DIV
default 2
config CGU0_OCLK_DIV
default 3
config CGU1_VCO_MULT
default 5
config CGU1_DF_DIV
default 0
config CGU1_CCLK_DIV
default 1
config CGU1_SCLK_DIV
default 2
config CGU1_SCLK0_DIV
default 2
config CGU1_SCLK1_DIV
default 2
config CGU1_DCLK_DIV
default 2
config CGU1_OCLK_DIV
default 3
config CDU0_CLKO0
default 1
config CDU0_CLKO1
default 1
config CDU0_CLKO2
default 1
config CDU0_CLKO3
default 1
config CDU0_CLKO4
default 1
config CDU0_CLKO5
default 1
config CDU0_CLKO6
default 1
config CDU0_CLKO7
default 5
config CDU0_CLKO8
default 1
config CDU0_CLKO9
default 1
endif

View File

@ -0,0 +1,13 @@
/* SPDX-License-Identifier: GPL-2.0-or-later+ */
/*
* (C) Copyright 2024 - Analog Devices, Inc.
*/
#include <env/adi/adi_boot.env>
adi_stage2_offset=0x20000
adi_image_offset=0xE0000
adi_rfs_offset=0x6E0000
loadaddr=0x83000000
jffs2file=adsp-sc5xx-__stringify(CONFIG_ADI_IMAGE)-adsp-sc573-ezkit.jffs2

View File

@ -87,7 +87,7 @@ config SPL_MAX_SIZE
default 0x10000 if ASPEED_AST2600
default 0x27000 if IMX8MM && SPL_TEXT_BASE = 0x7E1000
default 0x30000 if ARCH_SC5XX && (SC59X_64 || SC59X)
default 0x20000 if ARCH_SC5XX && SC58X
default 0x20000 if ARCH_SC5XX && (SC58X || SC57X)
default 0x0
help
Maximum size of the SPL image (text, data, rodata, and linker lists
@ -126,6 +126,7 @@ config SPL_BSS_START_ADDR
default 0x1000 if ARCH_ZYNQMP
default 0x200B0000 if ARCH_SC5XX && (SC59X_64 || SC59X)
default 0x20080000 if ARCH_SC5XX && SC58X
default 0x200A0000 if ARCH_SC5XX && SC57X
choice
prompt "Enforce SPL BSS limit"
@ -398,6 +399,7 @@ config SPL_STACK
default 0x8000 if ARCH_SUNXI
default 0x200E4000 if ARCH_SC5XX && (SC59X_64 || SC59X)
default 0x200B0000 if ARCH_SC5XX && SC58X
default 0x200D0000 if ARCH_SC5XX && SC57X
help
Address of the start of the stack SPL will use before SDRAM is
initialized.

View File

@ -0,0 +1,18 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
* (C) Copyright 2024 - Analog Devices, Inc.
*/
#ifndef __CONFIG_SC573_EZKIT_H
#define __CONFIG_SC573_EZKIT_H
/*
* Memory Settings
*/
#define MEM_MT41K128M16JT
#define MEM_DMC0
#define CFG_SYS_SDRAM_BASE 0x82000000
#define CFG_SYS_SDRAM_SIZE 0xe000000
#endif