ARM: rework amlogic configuration

Rework the board SYS_BOARD, SYS_VENDOR and SYS_CONFIG_NAME setup by moving
the board Kconfig into the mach-meson Kconfig to make it easier to add
new boards for a SoC architecture and add a custom config header or custom
board handler for a platform.

This drops the board CONFIGs and the duplicate boards configs headers in
favor of a single meson64.h config header.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
This commit is contained in:
Jerome Brunet 2018-10-25 16:41:37 +02:00 committed by Neil Armstrong
parent d54e03b612
commit 96a739b460
17 changed files with 51 additions and 176 deletions

View file

@ -8,49 +8,27 @@ config MESON64_COMMON
select DM_SERIAL
imply CMD_DM
config MESON_GXBB
bool
select MESON64_COMMON
config MESON_GXL
bool
select MESON64_COMMON
config MESON_GXM
bool
select MESON64_COMMON
choice
prompt "Platform select"
default TARGET_ODROID_C2
default MESON_GXBB
config TARGET_ODROID_C2
bool "ODROID-C2"
select MESON_GXBB
config MESON_GXBB
bool "GXBB"
select MESON64_COMMON
help
ODROID-C2 is a single board computer based on Meson GXBaby
with 2 GiB of RAM, Gigabit Ethernet, HDMI, 4 USB, micro-SD
slot, eMMC, IR receiver and a 40-pin GPIO header.
You should also select this TARGET if you have an nanopi-k2
Select this if your SoC is an S905
config TARGET_P212
bool "P212"
select MESON_GXL
config MESON_GXL
bool "GXL"
select MESON64_COMMON
help
P212 is a reference dessign board based on Meson GXL S905X SoC
with 2 GiB of RAM, Ethernet, HDMI, 2 USB, micro-SD slot,
eMMC, IR receiver, CVBS+Audio jack and a SDIO WiFi module.
You should also select this TARGET if you have Khadas Vim or
a libretech aml-s905x-cc
Select this if your SoC is an S905X/D or S805X
config TARGET_Q200
bool "KHADAS-VIM2"
select MESON_GXM
config MESON_GXM
bool "GXM"
select MESON64_COMMON
help
Q200 is a reference dessign board based on Meson GXM
with 2/3 GiB of RAM, Ethernet, HDMI, 4 USB, micro-SD slot,
eMMC, IR receiver.
You should also select this TARGET if you have Khadas Vim2.
Select this if your SoC is an S912
endchoice
@ -60,10 +38,31 @@ config SYS_SOC
config SYS_MALLOC_F_LEN
default 0x1000
source "board/amlogic/odroid-c2/Kconfig"
config SYS_VENDOR
string "Vendor name"
default "amlogic"
help
This option contains information about board name.
Based on this option board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> will
be used.
source "board/amlogic/p212/Kconfig"
config SYS_BOARD
string "Board name"
default "odroid-c2" if MESON_GXBB
default "p212" if MESON_GXL
default "q200" if MESON_GXM
default ""
help
This option contains information about board name.
Based on this option board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> will
be used.
source "board/amlogic/q200/Kconfig"
config SYS_CONFIG_NAME
string "Board configuration name"
default "meson64"
help
This option contains information about board configuration name.
Based on this option include/configs/<CONFIG_SYS_CONFIG_NAME>.h header
will be used for board configuration.
endif

View file

@ -1,12 +0,0 @@
if TARGET_ODROID_C2
config SYS_BOARD
default "odroid-c2"
config SYS_VENDOR
default "amlogic"
config SYS_CONFIG_NAME
default "odroid-c2"
endif

View file

@ -1,12 +0,0 @@
if TARGET_P212
config SYS_BOARD
default "p212"
config SYS_VENDOR
default "amlogic"
config SYS_CONFIG_NAME
default "p212"
endif

View file

@ -1,12 +0,0 @@
if TARGET_Q200
config SYS_BOARD
default "q200"
config SYS_VENDOR
default "amlogic"
config SYS_CONFIG_NAME
default "q200"
endif

View file

@ -2,7 +2,6 @@ CONFIG_ARM=y
CONFIG_ARCH_MESON=y
CONFIG_SYS_TEXT_BASE=0x01000000
CONFIG_MESON_GXM=y
CONFIG_TARGET_Q200=y
CONFIG_DEBUG_UART_BASE=0xc81004c0
CONFIG_DEBUG_UART_CLOCK=24000000
CONFIG_IDENT_STRING=" khadas-vim2"

View file

@ -2,7 +2,6 @@ CONFIG_ARM=y
CONFIG_ARCH_MESON=y
CONFIG_SYS_TEXT_BASE=0x01000000
CONFIG_MESON_GXL=y
CONFIG_TARGET_P212=y
CONFIG_DEBUG_UART_BASE=0xc81004c0
CONFIG_DEBUG_UART_CLOCK=24000000
CONFIG_IDENT_STRING=" khadas-vim"

View file

@ -2,7 +2,6 @@ CONFIG_ARM=y
CONFIG_ARCH_MESON=y
CONFIG_SYS_TEXT_BASE=0x01000000
CONFIG_MESON_GXL=y
CONFIG_TARGET_P212=y
CONFIG_DEBUG_UART_BASE=0xc81004c0
CONFIG_DEBUG_UART_CLOCK=24000000
CONFIG_IDENT_STRING=" libretech-cc"

View file

@ -1,8 +1,6 @@
CONFIG_ARM=y
CONFIG_ARCH_MESON=y
CONFIG_SYS_TEXT_BASE=0x01000000
CONFIG_MESON_GXBB=y
CONFIG_TARGET_ODROID_C2=y
CONFIG_DEBUG_UART_BASE=0xc81004c0
CONFIG_DEBUG_UART_CLOCK=24000000
CONFIG_IDENT_STRING=" nanopi-k2"

View file

@ -2,7 +2,6 @@ CONFIG_ARM=y
CONFIG_ARCH_MESON=y
CONFIG_SYS_TEXT_BASE=0x01000000
CONFIG_MESON_GXBB=y
CONFIG_TARGET_ODROID_C2=y
CONFIG_DEBUG_UART_BASE=0xc81004c0
CONFIG_DEBUG_UART_CLOCK=24000000
CONFIG_IDENT_STRING=" odroid-c2"

View file

@ -2,7 +2,6 @@ CONFIG_ARM=y
CONFIG_ARCH_MESON=y
CONFIG_SYS_TEXT_BASE=0x01000000
CONFIG_MESON_GXL=y
CONFIG_TARGET_P212=y
CONFIG_DEBUG_UART_BASE=0xc81004c0
CONFIG_DEBUG_UART_CLOCK=24000000
CONFIG_IDENT_STRING=" p212"

View file

@ -1,14 +0,0 @@
/* SPDX-License-Identifier: GPL-2.0+ */
/*
* Configuration for Khadas VIM
*
* Copyright (C) 2017 Baylibre, SAS
* Author: Neil Armstrong <narmstrong@baylibre.com>
*/
#ifndef __CONFIG_H
#define __CONFIG_H
#include <configs/meson-gx-common.h>
#endif /* __CONFIG_H */

View file

@ -1,14 +0,0 @@
/* SPDX-License-Identifier: GPL-2.0+ */
/*
* Configuration for LibreTech CC
*
* Copyright (C) 2017 Baylibre, SAS
* Author: Neil Armstrong <narmstrong@baylibre.com>
*/
#ifndef __CONFIG_H
#define __CONFIG_H
#include <configs/meson-gx-common.h>
#endif /* __CONFIG_H */

View file

@ -1,11 +1,15 @@
/* SPDX-License-Identifier: GPL-2.0+ */
/*
* Configuration for Amlogic Meson GX SoCs
* Configuration for Amlogic Meson 64bits SoCs
* (C) Copyright 2016 Beniamino Galvani <b.galvani@gmail.com>
*/
#ifndef __MESON_GX_COMMON_CONFIG_H
#define __MESON_GX_COMMON_CONFIG_H
#ifndef __MESON64_CONFIG_H
#define __MESON64_CONFIG_H
/* Generic Interrupt Controller Definitions */
#define GICD_BASE 0xc4301000
#define GICC_BASE 0xc4302000
#define CONFIG_CPU_ARMV8
#define CONFIG_REMAKE_ELF
@ -17,10 +21,7 @@
#define CONFIG_SYS_SDRAM_BASE 0
#define CONFIG_SYS_INIT_SP_ADDR 0x20000000
#define CONFIG_SYS_LOAD_ADDR CONFIG_SYS_TEXT_BASE
/* Generic Interrupt Controller Definitions */
#define GICD_BASE 0xc4301000
#define GICC_BASE 0xc4302000
#define CONFIG_SYS_BOOTM_LEN (64 << 20) /* 64 MiB */
#ifdef CONFIG_CMD_USB
#define BOOT_TARGET_DEVICES_USB(func) func(USB, usb, 0)
@ -28,6 +29,7 @@
#define BOOT_TARGET_DEVICES_USB(func)
#endif
#ifndef BOOT_TARGET_DEVICES
#define BOOT_TARGET_DEVICES(func) \
func(MMC, mmc, 0) \
func(MMC, mmc, 1) \
@ -35,9 +37,9 @@
BOOT_TARGET_DEVICES_USB(func) \
func(PXE, pxe, na) \
func(DHCP, dhcp, na)
#endif
#include <config_distro_bootcmd.h>
#ifndef CONFIG_EXTRA_ENV_SETTINGS
#define CONFIG_EXTRA_ENV_SETTINGS \
"fdt_addr_r=0x01000000\0" \
"scriptaddr=0x1f000000\0" \
@ -46,7 +48,8 @@
"ramdisk_addr_r=0x13000000\0" \
"fdtfile=amlogic/" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \
BOOTENV
#endif
#define CONFIG_SYS_BOOTM_LEN (64 << 20) /* 64 MiB */
#include <config_distro_bootcmd.h>
#endif /* __MESON_GX_COMMON_CONFIG_H */
#endif /* __MESON64_CONFIG_H */

View file

@ -1,12 +0,0 @@
/* SPDX-License-Identifier: GPL-2.0+ */
/*
* Configuration for NANOPI-K2
* (C) Copyright 2018 Thomas McKahan
*/
#ifndef __CONFIG_H
#define __CONFIG_H
#include <configs/meson-gx-common.h>
#endif /* __CONFIG_H */

View file

@ -1,12 +0,0 @@
/* SPDX-License-Identifier: GPL-2.0+ */
/*
* Configuration for ODROID-C2
* (C) Copyright 2016 Beniamino Galvani <b.galvani@gmail.com>
*/
#ifndef __CONFIG_H
#define __CONFIG_H
#include <configs/meson-gx-common.h>
#endif /* __CONFIG_H */

View file

@ -1,14 +0,0 @@
/* SPDX-License-Identifier: GPL-2.0+ */
/*
* Configuration for Amlogic P212
*
* Copyright (C) 2017 Baylibre, SAS
* Author: Neil Armstrong <narmstrong@baylibre.com>
*/
#ifndef __CONFIG_H
#define __CONFIG_H
#include <configs/meson-gx-common.h>
#endif /* __CONFIG_H */

View file

@ -1,18 +0,0 @@
/* SPDX-License-Identifier: GPL-2.0+ */
/*
* Configuration for Khadas VIM2
*
* Copyright (C) 2017 Baylibre, SAS
* Author: Neil Armstrong <narmstrong@baylibre.com>
*/
#ifndef __CONFIG_H
#define __CONFIG_H
#define CONFIG_MISC_INIT_R
#define MESON_FDTFILE_SETTING "fdtfile=amlogic/meson-gxm-khadas-vim2.dtb\0"
#include <configs/meson-gx-common.h>
#endif /* __CONFIG_H */