Compare commits

...

5 Commits

Author SHA1 Message Date
d4n1
578eea8ba2 exynos9820(dtsi): minimal dtsi 2021-12-22 22:34:55 +05:00
d4n1
60a4dccb0e fix: various build time errors 2021-12-22 18:03:19 +05:00
d4n1
78d989b26f beyond: skip lowlevel init 2021-12-22 18:03:19 +05:00
kreatoo
4355cb40ca
beyond: add Kreato to MAINTAINERS 2021-12-18 19:01:17 +00:00
d4n1
a3b713d261 board: samsung: add initial Beyond board support 2021-12-18 15:57:44 +05:00
18 changed files with 248 additions and 11705 deletions

View File

@ -36,7 +36,7 @@ dtb-$(CONFIG_ARCH_APPLE) += \
t8103-j274.dtb \ t8103-j274.dtb \
t8103-j293.dtb t8103-j293.dtb
dtb-$(CONFIG_EXYNOS9820) += exynos9820.dtb dtb-$(CONFIG_EXYNOS9820) += exynos9820-beyond1lte.dtb
dtb-$(CONFIG_ARCH_DAVINCI) += \ dtb-$(CONFIG_ARCH_DAVINCI) += \
da850-evm.dtb \ da850-evm.dtb \

View File

@ -0,0 +1,25 @@
// SPDX-License-Identifier: GPL-2.0+
/*
* Samsung Exynos9820 SoC device tree source
*
*/
/dts-v1/;
#include "exynos9820.dtsi"
/ {
compatible = "samsung,exynos9820";
aliases {
console = &uart0;
};
chosen {
stdout-path = &uart0;
};
};
&fin_pll {
clock-frequency = <26000000>;
};

View File

@ -1,13 +0,0 @@
// SPDX-License-Identifier: GPL-2.0+
/*
* Samsung Espresso7420 board device tree source
*
* Copyright (c) 2016 Samsung Electronics Co., Ltd.
* http://www.samsung.com
*/
#include "exynos9820.dtsi"
/ {
model = "Samsung Exynos9820";
compatible = "samsung,armv8", "samsung,exynos9820";
};

File diff suppressed because it is too large Load Diff

View File

@ -45,6 +45,16 @@ config ARCH_EXYNOS7
Cortex-A53 CPU (and some in a big.LITTLE configuration). There are Cortex-A53 CPU (and some in a big.LITTLE configuration). There are
multiple SoCs in this family including Exynos7420. multiple SoCs in this family including Exynos7420.
config ARCH_EXYNOS9
bool "Exynos9 SoC family"
select ARM64
select BLK
select DM_MMC
help
Samsung Exynos9 SoC family are based on ARM Cortex-A77 CPU,
Cortex-A73 CPU, Cortex-A55 CPU, Cortex-A53 CPU or Custom Mongoose CPU.
There are multiple SoCs in this family including Exynos8995 and Exynos9820.
endchoice endchoice
if ARCH_EXYNOS4 if ARCH_EXYNOS4
@ -183,15 +193,18 @@ endif
if ARCH_EXYNOS9 if ARCH_EXYNOS9
config ARCH_EXYNOS9 choice
bool "Exynos9 SoC family" prompt "EXYNOS9 board select"
config TARGET_BEYOND
bool "BEYOND board"
select ARM64 select ARM64
select BLK select ARMV8_MULTIENTRY
select DM_MMC select CLK_EXYNOS
help select OF_CONTROL
Samsung Exynos9 SoC family are based on ARM Cortex-A77 CPU, select PINCTRL
Cortex-A73 CPU, Cortex-A55 CPU, Cortex-A53 CPU or Custom Mongoose CPU. select PINCTRL_EXYNOS9
There are multiple SoCs in this family including Exynos8995 and Exynos9820. select SUPPORT_SPL
endchoice endchoice
endif endif
@ -210,6 +223,7 @@ source "board/samsung/smdk5250/Kconfig"
source "board/samsung/smdk5420/Kconfig" source "board/samsung/smdk5420/Kconfig"
source "board/samsung/espresso7420/Kconfig" source "board/samsung/espresso7420/Kconfig"
source "board/samsung/axy17lte/Kconfig" source "board/samsung/axy17lte/Kconfig"
source "board/samsung/beyond/Kconfig"
config SPL_LDSCRIPT config SPL_LDSCRIPT
default "board/samsung/common/exynos-uboot-spl.lds" if ARCH_EXYNOS5 || ARCH_EXYNOS4 default "board/samsung/common/exynos-uboot-spl.lds" if ARCH_EXYNOS5 || ARCH_EXYNOS4

View File

@ -10,7 +10,7 @@
#include <asm/io.h> #include <asm/io.h>
#include <asm/system.h> #include <asm/system.h>
#ifdef CONFIG_TARGET_ESPRESSO7420 #if defined(CONFIG_TARGET_ESPRESSO7420) || defined (CONFIG_EXYNOS9820)
/* /*
* Exynos7420 uses CPU0 of Cluster-1 as boot CPU. Due to this, branch_if_master * Exynos7420 uses CPU0 of Cluster-1 as boot CPU. Due to this, branch_if_master
* fails to identify as the boot CPU as the master CPU. As temporary workaround, * fails to identify as the boot CPU as the master CPU. As temporary workaround,

View File

@ -1,6 +1,6 @@
config SYS_CONFIG_NAME config SYS_CONFIG_NAME
string "Board configuration name" string "Board configuration name"
default "exynos78x0-common.h" default "exynos78x0-common"
help help
This option contains information about board configuration name. This option contains information about board configuration name.
Based on this option include/configs/<CONFIG_SYS_CONFIG_NAME>.h header Based on this option include/configs/<CONFIG_SYS_CONFIG_NAME>.h header

View File

@ -0,0 +1,18 @@
if TARGET_BEYOND
config SYS_BOARD
default "beyond"
help
BEYOND is a production board for Galaxy S10/S10e/S10+ phones on Exynos9820 SoC.
config SYS_VENDOR
default "samsung"
config SYS_CONFIG_NAME
default "BEYOND"
config EXYNOS9820
bool "Exynos 9820 SOC support"
default "y"
endif

View File

@ -0,0 +1,7 @@
Samsung S10/S10e/S10+ (beyond1lte)/(beyond2lte)/(beyond0lte) Board
M: Dani Shum <dani.shum@null.net>
M: Kreato <kreato@null.net>
S: Maintained
F: board/samsung/beyond/
F: include/configs/beyond.h
F: configs/beyond_defconfig.h

View File

@ -5,6 +5,4 @@
# SPDX-License-Identifier: GPL-2.0+ # SPDX-License-Identifier: GPL-2.0+
# #
ifndef CONFIG_SPL_BUILD obj-$(CONFIG_TARGET_BEYOND) += beyond.o
obj-y += exynos9820.o
endif

View File

@ -0,0 +1,11 @@
// SPDX-License-Identifier: GPL-2.0+
/*
* Samsung DREAM board based on Exynos 8895 board file
*/
#include <common.h>
int exynos_init(void)
{
return 0;
}

View File

@ -1,15 +0,0 @@
if TARGET_EXYNOS9820
config SYS_BOARD
default "exynos9820"
help
Exynos 9820 is a 64-bit octa-core ARM high performance mobile
system on a chip designed by Samsung and introduced in early 2019.
config SYS_VENDOR
default "samsung"
config SYS_CONFIG_NAME
default "exynos9820"
endif

View File

@ -1,16 +0,0 @@
/*
* Espresso7420 board file
* Copyright (C) 2016 Samsung Electronics
* Thomas Abraham <thomas.ab@samsung.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
DECLARE_GLOBAL_DATA_PTR;
int exynos_init(void)
{
return 0;
}

View File

@ -0,0 +1,16 @@
CONFIG_ARM=y
CONFIG_ARCH_EXYNOS=y
CONFIG_ARCH_EXYNOS9=y
CONFIG_S5P=y
CONFIG_TARGET_BEYOND=y
CONFIG_DEFAULT_DEVICE_TREE="exynos9820-beyond1lte"
# TODO fix the address since sboot is causing issues
CONFIG_SYS_TEXT_BASE=0x80001000
CONFIG_BOARD_EARLY_INIT_F=n
CONFIG_SKIP_LOWLEVEL_INIT=y
CONFIG_DISPLAY_CPUINFO=n
CONFIG_STANDALONE_LOAD_ADDR=0x10008000
CONFIG_SYS_MALLOC_F_LEN=0x8000
CONFIG_POSITION_INDEPENDENT=y
CONFIG_SYS_LOAD_ADDR=0x81ad7fff
CONFIG_PSCI_RESET=n

34
configs/exynos9820.h Normal file
View File

@ -0,0 +1,34 @@
/*
* Configuration settings for the SAMSUNG ESPRESSO7420 board.
* Copyright (C) 2016 Samsung Electronics
* Thomas Abraham <thomas.ab@samsung.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/
#ifndef __CONFIG_EXYNOS9820_H
#define __CONFIG_EXYNOS9820_H
#include <configs/exynos9820-common.h>
#define CONFIG_BOARD_COMMON
#define CONFIG_EXYNOS9820
#define CONFIG_ENV_IS_NOWHERE
#define CONFIG_SYS_SDRAM_BASE 0x40000000
#define CONFIG_SYS_TEXT_BASE 0x43E00000
#define CONFIG_SPL_STACK CONFIG_IRAM_END
#define CONFIG_SYS_INIT_SP_ADDR CONFIG_IRAM_END
/* select serial console configuration */
#define CONFIG_DEFAULT_CONSOLE "console=ttySAC1,115200n8\0"
#define CONFIG_IDENT_STRING " for ESPRESSO7420"
#define CONFIG_DEFAULT_CONSOLE "console=ttySAC1,115200n8\0"
/* DRAM Memory Banks */
#define CONFIG_NR_DRAM_BANKS 8
#define SDRAM_BANK_SIZE (256UL << 20UL) /* 256 MB */
#endif /* __CONFIG_EXYNOS9820_H */

View File

@ -57,7 +57,7 @@ U_BOOT_DRIVER(pinctrl_exynos9) = {
.name = "pinctrl_exynos9", .name = "pinctrl_exynos9",
.id = UCLASS_PINCTRL, .id = UCLASS_PINCTRL,
.of_match = exynos9_pinctrl_ids, .of_match = exynos9_pinctrl_ids,
.priv_auto_alloc_size = sizeof(struct exynos_pinctrl_priv), .priv_auto = sizeof(struct exynos_pinctrl_priv),
.ops = &exynos9_pinctrl_ops, .ops = &exynos9_pinctrl_ops,
.probe = exynos_pinctrl_probe, .probe = exynos_pinctrl_probe,
}; };

View File

@ -273,6 +273,7 @@ U_BOOT_DRIVER(serial_s5p) = {
static inline void _debug_uart_init(void) static inline void _debug_uart_init(void)
{ {
#ifdef CONFIG_SKIP_LOWLEVEL_INIT
if (IS_ENABLED(CONFIG_DEBUG_UART_SKIP_INIT)) if (IS_ENABLED(CONFIG_DEBUG_UART_SKIP_INIT))
return; return;
@ -284,6 +285,8 @@ static inline void _debug_uart_init(void)
#else #else
s5p_serial_baud(uart, 1, CONFIG_DEBUG_UART_CLOCK, CONFIG_BAUDRATE); s5p_serial_baud(uart, 1, CONFIG_DEBUG_UART_CLOCK, CONFIG_BAUDRATE);
#endif #endif
#endif
} }
static inline void _debug_uart_putc(int ch) static inline void _debug_uart_putc(int ch)

30
include/configs/beyond.h Normal file
View File

@ -0,0 +1,30 @@
/* SPDX-License-Identifier: GPL-2.0+ */
/*
* Configuration settings for the SAMSUNG A5 2017 (A520F)(a5y17lte) board.
*
* Copyright (C) 2020 Dzmitry Sankouski (dsankouski@gmail.com)
* Copyright (C) 2020 Ivaylo Ivanov <ivo.ivanov@null.net>
* based on configs/espresso7420.h
* Copyright (C) 2016 Samsung Electronics
* Thomas Abraham <thomas.ab@samsung.com>
*/
#ifndef __CONFIG_BEYOND_H
#define __CONFIG_BEYOND_H
#include <configs/exynos9820-common.h>
#define CONFIG_BOARD_COMMON
#define CONFIG_SYS_SDRAM_BASE 0x80000000
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_TEXT_BASE + SZ_2M - GENERATED_GBL_DATA_SIZE)
#define CONFIG_SYS_LOAD_ADDR 0x80001000
/* select serial console configuration */
#define CONFIG_EXTRA_ENV_SETTINGS \
"console=ttySAC2,115200n8\0" \
/* DRAM Memory Banks */
#define SDRAM_BANK_SIZE (256UL << 20UL) /* 256 MB */
#endif /* __CONFIG_BEYOND_H */