arm: SC584-EZKIT initial support
Adds support for Analog Devices' SC584-EZKIT board. Includes: - SoC specific configs in mach-sc5xx/Kconfig - Memory Map for SPL - SPL config options in common/spl/Kconfig - 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: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Trevor Woerner <twoerner@gmail.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:
1
Kconfig
1
Kconfig
@@ -647,6 +647,7 @@ config TEXT_BASE
|
|||||||
default 0x42e00000 if SUNXI_MINIMUM_DRAM_MB >= 64
|
default 0x42e00000 if SUNXI_MINIMUM_DRAM_MB >= 64
|
||||||
default 0x96000000 if ARCH_SC5XX && SC59X_64
|
default 0x96000000 if ARCH_SC5XX && SC59X_64
|
||||||
default 0xB2200000 if ARCH_SC5XX && SC59X
|
default 0xB2200000 if ARCH_SC5XX && SC59X
|
||||||
|
default 0x89200000 if ARCH_SC5XX && TARGET_SC584_EZKIT
|
||||||
hex "Text Base"
|
hex "Text Base"
|
||||||
help
|
help
|
||||||
The address in memory that U-Boot will be copied and executed from
|
The address in memory that U-Boot will be copied and executed from
|
||||||
|
@@ -49,6 +49,20 @@ config SC59X_64
|
|||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
|
if SC58X
|
||||||
|
|
||||||
|
choice
|
||||||
|
prompt "SC58x board select"
|
||||||
|
|
||||||
|
config TARGET_SC584_EZKIT
|
||||||
|
bool
|
||||||
|
prompt "SC584-EZKIT"
|
||||||
|
select ADI_USE_DDR2
|
||||||
|
|
||||||
|
endchoice
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
if SC59X
|
if SC59X
|
||||||
|
|
||||||
choice
|
choice
|
||||||
@@ -530,5 +544,6 @@ source "board/adi/sc598-som-ezkit/Kconfig"
|
|||||||
source "board/adi/sc598-som-ezlite/Kconfig"
|
source "board/adi/sc598-som-ezlite/Kconfig"
|
||||||
source "board/adi/sc594-som-ezkit/Kconfig"
|
source "board/adi/sc594-som-ezkit/Kconfig"
|
||||||
source "board/adi/sc594-som-ezlite/Kconfig"
|
source "board/adi/sc594-som-ezlite/Kconfig"
|
||||||
|
source "board/adi/sc584-ezkit/Kconfig"
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
@@ -12,6 +12,7 @@ obj-y += soc.o init/
|
|||||||
|
|
||||||
obj-$(CONFIG_SC57X) += sc57x.o
|
obj-$(CONFIG_SC57X) += sc57x.o
|
||||||
obj-$(CONFIG_SC58X) += sc58x.o
|
obj-$(CONFIG_SC58X) += sc58x.o
|
||||||
|
obj-$(CONFIG_SC58X) += sc58x-spl.o
|
||||||
obj-$(CONFIG_SC59X) += sc59x.o
|
obj-$(CONFIG_SC59X) += sc59x.o
|
||||||
obj-$(CONFIG_SC59X) += sc59x-spl.o
|
obj-$(CONFIG_SC59X) += sc59x-spl.o
|
||||||
obj-$(CONFIG_SC59X_64) += sc59x_64.o
|
obj-$(CONFIG_SC59X_64) += sc59x_64.o
|
||||||
|
26
arch/arm/mach-sc5xx/sc58x-spl.c
Normal file
26
arch/arm/mach-sc5xx/sc58x-spl.c
Normal 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 53-13 in SC58x 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},
|
||||||
|
// reserved, no boot
|
||||||
|
[3] = {0, 0, 0},
|
||||||
|
// reserved, no boot
|
||||||
|
[4] = {0, 0, 0},
|
||||||
|
// reserved, also no boot
|
||||||
|
[5] = {0, 0, 0},
|
||||||
|
// Linkport slave
|
||||||
|
[6] = {0, 0, 0x00000014},
|
||||||
|
// UART slave
|
||||||
|
[7] = {0, 0, 0x00000013},
|
||||||
|
};
|
116
board/adi/sc584-ezkit/Kconfig
Normal file
116
board/adi/sc584-ezkit/Kconfig
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
#
|
||||||
|
# (C) Copyright 2024 - Analog Devices, Inc.
|
||||||
|
|
||||||
|
if TARGET_SC584_EZKIT
|
||||||
|
|
||||||
|
config LDR_CPU
|
||||||
|
default "ADSP-SC584-0.1"
|
||||||
|
|
||||||
|
config SYS_BOARD
|
||||||
|
default "sc584-ezkit"
|
||||||
|
|
||||||
|
config SYS_CONFIG_NAME
|
||||||
|
default "sc584-ezkit"
|
||||||
|
|
||||||
|
config DEFAULT_DEVICE_TREE
|
||||||
|
default "sc584-ezkit"
|
||||||
|
|
||||||
|
config ADI_IMAGE
|
||||||
|
default "tiny"
|
||||||
|
|
||||||
|
config CUSTOM_SYS_INIT_SP_ADDR
|
||||||
|
default 0x8903f000
|
||||||
|
|
||||||
|
# SPI Flash
|
||||||
|
|
||||||
|
config SF_DEFAULT_BUS
|
||||||
|
default 2
|
||||||
|
|
||||||
|
config SF_DEFAULT_CS
|
||||||
|
default 1
|
||||||
|
|
||||||
|
config SF_DEFAULT_SPEED
|
||||||
|
default 5000000
|
||||||
|
|
||||||
|
# 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
|
13
board/adi/sc584-ezkit/sc584-ezkit.env
Normal file
13
board/adi/sc584-ezkit/sc584-ezkit.env
Normal 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=0x89300000
|
||||||
|
jffs2file=adsp-sc5xx-__stringify(CONFIG_ADI_IMAGE)-adsp-sc584-ezkit.jffs2
|
@@ -87,6 +87,7 @@ config SPL_MAX_SIZE
|
|||||||
default 0x10000 if ASPEED_AST2600
|
default 0x10000 if ASPEED_AST2600
|
||||||
default 0x27000 if IMX8MM && SPL_TEXT_BASE = 0x7E1000
|
default 0x27000 if IMX8MM && SPL_TEXT_BASE = 0x7E1000
|
||||||
default 0x30000 if ARCH_SC5XX && (SC59X_64 || SC59X)
|
default 0x30000 if ARCH_SC5XX && (SC59X_64 || SC59X)
|
||||||
|
default 0x20000 if ARCH_SC5XX && SC58X
|
||||||
default 0x0
|
default 0x0
|
||||||
help
|
help
|
||||||
Maximum size of the SPL image (text, data, rodata, and linker lists
|
Maximum size of the SPL image (text, data, rodata, and linker lists
|
||||||
@@ -124,6 +125,7 @@ config SPL_BSS_START_ADDR
|
|||||||
default 0x2ff80000 if ARCH_SUNXI && MACH_SUN9I
|
default 0x2ff80000 if ARCH_SUNXI && MACH_SUN9I
|
||||||
default 0x1000 if ARCH_ZYNQMP
|
default 0x1000 if ARCH_ZYNQMP
|
||||||
default 0x200B0000 if ARCH_SC5XX && (SC59X_64 || SC59X)
|
default 0x200B0000 if ARCH_SC5XX && (SC59X_64 || SC59X)
|
||||||
|
default 0x20080000 if ARCH_SC5XX && SC58X
|
||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "Enforce SPL BSS limit"
|
prompt "Enforce SPL BSS limit"
|
||||||
@@ -395,6 +397,7 @@ config SPL_STACK
|
|||||||
default 0x18000 if MACH_SUN9I
|
default 0x18000 if MACH_SUN9I
|
||||||
default 0x8000 if ARCH_SUNXI
|
default 0x8000 if ARCH_SUNXI
|
||||||
default 0x200E4000 if ARCH_SC5XX && (SC59X_64 || SC59X)
|
default 0x200E4000 if ARCH_SC5XX && (SC59X_64 || SC59X)
|
||||||
|
default 0x200B0000 if ARCH_SC5XX && SC58X
|
||||||
help
|
help
|
||||||
Address of the start of the stack SPL will use before SDRAM is
|
Address of the start of the stack SPL will use before SDRAM is
|
||||||
initialized.
|
initialized.
|
||||||
|
18
include/configs/sc584-ezkit.h
Normal file
18
include/configs/sc584-ezkit.h
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||||
|
/*
|
||||||
|
* (C) Copyright 2024 - Analog Devices, Inc.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __CONFIG_SC584_EZKIT_H
|
||||||
|
#define __CONFIG_SC584_EZKIT_H
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Memory Settings
|
||||||
|
*/
|
||||||
|
#define MEM_MT47H128M16RT
|
||||||
|
#define MEM_DMC0
|
||||||
|
|
||||||
|
#define CFG_SYS_SDRAM_BASE 0x89000000
|
||||||
|
#define CFG_SYS_SDRAM_SIZE 0x7000000
|
||||||
|
|
||||||
|
#endif
|
Reference in New Issue
Block a user