Edward O'Callaghan (eocallaghan@alterapraxis.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/7929
-gerrit
commit 3656ad40464245deab1546c5c48e36ddacaa24a4 Author: Edward O'Callaghan eocallaghan@alterapraxis.com Date: Fri Dec 26 13:58:56 2014 +1100
soc/samsung/exynos: Layout common code framework
Layout the framework to merge common components between Exynos families.
Change-Id: Ic8896e791dac9757c2bd19f390d0a5821f96fc06 Signed-off-by: Edward O'Callaghan eocallaghan@alterapraxis.com --- src/soc/samsung/Kconfig | 1 + src/soc/samsung/Makefile.inc | 1 + src/soc/samsung/exynos/Kconfig | 11 +++++++++++ src/soc/samsung/exynos/Makefile.inc | 15 +++++++++++++++ src/soc/samsung/exynos/cbmem.c | 27 +++++++++++++++++++++++++++ src/soc/samsung/exynos5250/Kconfig | 8 +------- src/soc/samsung/exynos5250/Makefile.inc | 4 ++-- src/soc/samsung/exynos5420/Kconfig | 9 +-------- src/soc/samsung/exynos5420/Makefile.inc | 4 ++-- 9 files changed, 61 insertions(+), 19 deletions(-)
diff --git a/src/soc/samsung/Kconfig b/src/soc/samsung/Kconfig index 9241d27..8bb0aa2 100644 --- a/src/soc/samsung/Kconfig +++ b/src/soc/samsung/Kconfig @@ -1,2 +1,3 @@ +source src/soc/samsung/exynos/Kconfig source src/soc/samsung/exynos5250/Kconfig source src/soc/samsung/exynos5420/Kconfig diff --git a/src/soc/samsung/Makefile.inc b/src/soc/samsung/Makefile.inc index 496b5f7..7a4123f 100644 --- a/src/soc/samsung/Makefile.inc +++ b/src/soc/samsung/Makefile.inc @@ -1,2 +1,3 @@ +subdirs-$(CONFIG_CPU_SAMSUNG_EXYNOS) += exynos subdirs-$(CONFIG_CPU_SAMSUNG_EXYNOS5250) += exynos5250 subdirs-$(CONFIG_CPU_SAMSUNG_EXYNOS5420) += exynos5420 diff --git a/src/soc/samsung/exynos/Kconfig b/src/soc/samsung/exynos/Kconfig new file mode 100644 index 0000000..63f1a45 --- /dev/null +++ b/src/soc/samsung/exynos/Kconfig @@ -0,0 +1,11 @@ +config CPU_SAMSUNG_EXYNOS + select ARCH_BOOTBLOCK_ARMV7 + select ARCH_ROMSTAGE_ARMV7 + select ARCH_RAMSTAGE_ARMV7 + select CPU_HAS_BOOTBLOCK_INIT + select HAVE_MONOTONIC_TIMER + select HAVE_UART_SPECIAL + select RELOCATABLE_MODULES + select DYNAMIC_CBMEM + bool + default n diff --git a/src/soc/samsung/exynos/Makefile.inc b/src/soc/samsung/exynos/Makefile.inc new file mode 100644 index 0000000..74e1c7a --- /dev/null +++ b/src/soc/samsung/exynos/Makefile.inc @@ -0,0 +1,15 @@ +#bootblock-y += mct.c power.c + +# Clock is required for UART +#bootblock-$(CONFIG_BOOTBLOCK_CONSOLE) += monotonic_timer.c + +#romstage-y += mct.c +#romstage-y += monotonic_timer.c +romstage-y += cbmem.c +#romstage-y += power.c + +#ramstage-y += mct.c +#ramstage-y += monotonic_timer.c +ramstage-y += cbmem.c +#ramstage-y += power.c +#ramstage-y += usb.c diff --git a/src/soc/samsung/exynos/cbmem.c b/src/soc/samsung/exynos/cbmem.c new file mode 100644 index 0000000..4650320 --- /dev/null +++ b/src/soc/samsung/exynos/cbmem.c @@ -0,0 +1,27 @@ +/* + * This file is part of the coreboot project. + * + * Copyright 2013 Google Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include <stddef.h> +#include <cbmem.h> +#include "cpu.h" + +void *cbmem_top(void) +{ + return (void *)(get_fb_base_kb() * KiB); +} diff --git a/src/soc/samsung/exynos5250/Kconfig b/src/soc/samsung/exynos5250/Kconfig index 8d7c867..2193126 100644 --- a/src/soc/samsung/exynos5250/Kconfig +++ b/src/soc/samsung/exynos5250/Kconfig @@ -1,13 +1,7 @@ config CPU_SAMSUNG_EXYNOS5250 - select ARCH_BOOTBLOCK_ARMV7 - select ARCH_ROMSTAGE_ARMV7 - select ARCH_RAMSTAGE_ARMV7 - select CPU_HAS_BOOTBLOCK_INIT - select HAVE_MONOTONIC_TIMER - select HAVE_UART_SPECIAL - select DYNAMIC_CBMEM bool default n + select CPU_SAMSUNG_EXYNOS
if CPU_SAMSUNG_EXYNOS5250
diff --git a/src/soc/samsung/exynos5250/Makefile.inc b/src/soc/samsung/exynos5250/Makefile.inc index 735ce2e..a757ce0 100644 --- a/src/soc/samsung/exynos5250/Makefile.inc +++ b/src/soc/samsung/exynos5250/Makefile.inc @@ -28,7 +28,6 @@ romstage-y += timer.c romstage-y += trustzone.c romstage-y += i2c.c #romstage-y += wdt.c -romstage-y += cbmem.c
ramstage-y += spi.c alternate_cbfs.c ramstage-y += clock.c @@ -46,7 +45,8 @@ ramstage-y += i2c.c ramstage-y += dp-reg.c ramstage-y += fb.c ramstage-y += usb.c -ramstage-y += cbmem.c + +CPPFLAGS_common += -Isrc/soc/samsung/exynos/
$(objcbfs)/bootblock.raw.elf: $(objcbfs)/bootblock.elf cp $< $@ diff --git a/src/soc/samsung/exynos5420/Kconfig b/src/soc/samsung/exynos5420/Kconfig index 904091e..77d9cba 100644 --- a/src/soc/samsung/exynos5420/Kconfig +++ b/src/soc/samsung/exynos5420/Kconfig @@ -1,14 +1,7 @@ config CPU_SAMSUNG_EXYNOS5420 - select ARCH_BOOTBLOCK_ARMV7 - select ARCH_ROMSTAGE_ARMV7 - select ARCH_RAMSTAGE_ARMV7 - select CPU_HAS_BOOTBLOCK_INIT - select HAVE_MONOTONIC_TIMER - select HAVE_UART_SPECIAL - select RELOCATABLE_MODULES - select DYNAMIC_CBMEM bool default n + select CPU_SAMSUNG_EXYNOS
if CPU_SAMSUNG_EXYNOS5420
diff --git a/src/soc/samsung/exynos5420/Makefile.inc b/src/soc/samsung/exynos5420/Makefile.inc index ac22620..9602e23 100644 --- a/src/soc/samsung/exynos5420/Makefile.inc +++ b/src/soc/samsung/exynos5420/Makefile.inc @@ -28,7 +28,6 @@ romstage-y += gpio.c romstage-y += timer.c romstage-y += i2c.c #romstage-y += wdt.c -romstage-y += cbmem.c romstage-y += trustzone.c
ramstage-y += spi.c alternate_cbfs.c @@ -46,7 +45,8 @@ ramstage-y += gpio.c ramstage-y += i2c.c ramstage-y += dp.c dp_lowlevel.c fimd.c ramstage-y += usb.c -ramstage-y += cbmem.c + +CPPFLAGS_common += -Isrc/soc/samsung/exynos/
$(objcbfs)/bootblock.raw.elf: $(objcbfs)/bootblock.elf cp $< $@