Merge branch 'master' of git://git.denx.de/u-boot-arm

Conflicts:
	boards.cfg

Signed-off-by: Stefano Babic <sbabic@denx.de>
This commit is contained in:
Stefano Babic 2014-08-11 10:21:03 +02:00
commit e82abaeb7f
2625 changed files with 50913 additions and 2925 deletions

3
.gitignore vendored
View File

@ -34,6 +34,7 @@
/SPL
/System.map
/u-boot*
/boards.cfg
#
# git files that we don't want to ignore even it they are dot-files
@ -53,8 +54,6 @@
#
/include/config/
/include/generated/
/include/spl-autoconf.mk
/include/tpl-autoconf.mk
# stgit generated dirs
patches-*

65
Kconfig Normal file
View File

@ -0,0 +1,65 @@
#
# For a description of the syntax of this configuration file,
# see Documentation/kbuild/kconfig-language.txt.
#
mainmenu "U-Boot $UBOOTVERSION Configuration"
config UBOOTVERSION
string
option env="UBOOTVERSION"
config KCONFIG_OBJDIR
string
option env="KCONFIG_OBJDIR"
config DEFCONFIG_LIST
string
depends on !SPL_BUILD
option defconfig_list
default "configs/sandbox_defconfig"
menu "General setup"
config SPL_BUILD
bool
depends on $KCONFIG_OBJDIR="spl" || $KCONFIG_OBJDIR="tpl"
default y
config TPL_BUILD
bool
depends on $KCONFIG_OBJDIR="tpl"
default y
config SPL
bool
prompt "Enable SPL" if !SPL_BUILD
default y if SPL_BUILD
help
If you want to build SPL as well as the normal image, say Y.
config TPL
bool
depends on SPL
prompt "Enable TPL" if !SPL_BUILD
default y if TPL_BUILD
default n
help
If you want to build TPL as well as the normal image and SPL, say Y.
config SYS_EXTRA_OPTIONS
string "Extra Options (DEPRECATED)"
depends on !SPL_BUILD
help
The old configuration infrastructure (= mkconfig + boards.cfg)
provided the extra options field. It you have something like
"HAS_BAR,BAZ=64", the optional options
#define CONFIG_HAS
#define CONFIG_BAZ 64
will be defined in include/config.h.
This option was prepared for the smooth migration from the old
configuration to Kconfig. Since this option will be removed sometime,
new boards should not use this option.
endmenu # General setup
source "arch/Kconfig"

28
MAKEALL
View File

@ -162,9 +162,23 @@ while true ; do
echo "Internal error!" >&2 ; exit 1 ;;
esac
done
GNU_MAKE=$(scripts/show-gnu-make) || {
echo "GNU Make not found" >&2
exit 1
}
# echo "Remaining arguments:"
# for arg do echo '--> '"\`$arg'" ; done
if [ ! -r boards.cfg ]; then
echo "Could not find boards.cfg"
tools/genboardscfg.py || {
echo "Failed to generate boards.cfg" >&2
exit 1
}
fi
FILTER="\$1 !~ /^#/"
[ "$opt_a" ] && FILTER="${FILTER} && $opt_a"
[ "$opt_c" ] && FILTER="${FILTER} && $opt_c"
@ -506,9 +520,9 @@ get_target_location() {
set ${line}
CONFIG_NAME="${7%_config}"
CONFIG_NAME="${7%_defconfig}"
[ "${BOARD_NAME}" ] || BOARD_NAME="${7%_config}"
[ "${BOARD_NAME}" ] || BOARD_NAME="${7%_defconfig}"
if [ $# -gt 5 ]; then
if [ "$6" = "-" ] ; then
@ -633,11 +647,11 @@ build_target() {
target_arch=$(get_target_arch ${target})
eval cross_toolchain=\$CROSS_COMPILE_`echo $target_arch | tr '[:lower:]' '[:upper:]'`
if [ "${cross_toolchain}" ] ; then
MAKE="make CROSS_COMPILE=${cross_toolchain}"
MAKE="$GNU_MAKE CROSS_COMPILE=${cross_toolchain}"
elif [ "${CROSS_COMPILE}" ] ; then
MAKE="make CROSS_COMPILE=${CROSS_COMPILE}"
MAKE="$GNU_MAKE CROSS_COMPILE=${CROSS_COMPILE}"
else
MAKE=make
MAKE=$GNU_MAKE
fi
if [ "${output_dir}" != "." ] ; then
@ -645,7 +659,9 @@ build_target() {
fi
${MAKE} distclean >/dev/null
${MAKE} -s ${target}_config
echo "Building ${target} board..."
${MAKE} -s ${target}_defconfig >/dev/null
${MAKE} ${JOBS} ${CHECK} all \
>${LOG_DIR}/$target.MAKELOG 2> ${LOG_DIR}/$target.ERR

120
Makefile
View File

@ -6,9 +6,9 @@
#
VERSION = 2014
PATCHLEVEL = 07
PATCHLEVEL = 10
SUBLEVEL =
EXTRAVERSION =
EXTRAVERSION = -rc1
NAME =
# *DOCUMENTATION*
@ -166,9 +166,6 @@ VPATH := $(srctree)$(if $(KBUILD_EXTMOD),:$(KBUILD_EXTMOD))
export srctree objtree VPATH
MKCONFIG := $(srctree)/mkconfig
export MKCONFIG
# Make sure CDPATH settings don't interfere
unexport CDPATH
@ -189,9 +186,6 @@ HOSTOS := $(shell uname -s | tr '[:upper:]' '[:lower:]' | \
export HOSTARCH HOSTOS
# Deal with colliding definitions from tcsh etc.
VENDOR=
#########################################################################
# set default to nothing for native builds
@ -199,6 +193,9 @@ ifeq ($(HOSTARCH),$(ARCH))
CROSS_COMPILE ?=
endif
KCONFIG_CONFIG ?= .config
export KCONFIG_CONFIG
# SHELL used by kbuild
CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
else if [ -x /bin/bash ]; then echo /bin/bash; \
@ -341,6 +338,7 @@ OBJCOPY = $(CROSS_COMPILE)objcopy
OBJDUMP = $(CROSS_COMPILE)objdump
AWK = awk
PERL = perl
PYTHON = python
DTC = dtc
CHECK = sparse
@ -362,7 +360,7 @@ export VERSION PATCHLEVEL SUBLEVEL UBOOTRELEASE UBOOTVERSION
export ARCH CPU BOARD VENDOR SOC CPUDIR BOARDDIR
export CONFIG_SHELL HOSTCC HOSTCFLAGS HOSTLDFLAGS CROSS_COMPILE AS LD CC
export CPP AR NM LDR STRIP OBJCOPY OBJDUMP
export MAKE AWK PERL
export MAKE AWK PERL PYTHON
export HOSTCXX HOSTCXXFLAGS DTC CHECK CHECKFLAGS
export KBUILD_CPPFLAGS NOSTDINC_FLAGS UBOOTINCLUDE OBJCOPYFLAGS LDFLAGS
@ -460,31 +458,49 @@ ifeq ($(config-targets),1)
# *config targets only - make sure prerequisites are updated, and descend
# in scripts/kconfig to make the *config target
# Read arch specific Makefile to set KBUILD_DEFCONFIG as needed.
# KBUILD_DEFCONFIG may point out an alternative default configuration
# used for 'make defconfig'
KBUILD_DEFCONFIG := sandbox_defconfig
export KBUILD_DEFCONFIG KBUILD_KCONFIG
%_config:: outputmakefile
@$(MKCONFIG) -A $(@:_config=)
config: scripts_basic outputmakefile FORCE
+$(Q)$(PYTHON) $(srctree)/scripts/multiconfig.py $@
%config: scripts_basic outputmakefile FORCE
+$(Q)$(PYTHON) $(srctree)/scripts/multiconfig.py $@
else
# ===========================================================================
# Build targets only - this includes vmlinux, arch specific targets, clean
# targets and others. In general all targets except *config targets.
# load ARCH, BOARD, and CPU configuration
-include include/config.mk
ifeq ($(dot-config),1)
# Read in config
-include include/config/auto.conf
# Read in dependencies to all Kconfig* files, make sure to run
# oldconfig if changes are detected.
-include include/config/auto.conf.cmd
# To avoid any implicit rule to kick in, define an empty command
$(KCONFIG_CONFIG) include/config/auto.conf.cmd: ;
# If .config is newer than include/config/auto.conf, someone tinkered
# with it and forgot to run make oldconfig.
# if auto.conf.cmd is missing then we are probably in a cleaned tree so
# we execute the config step to be sure to catch updated Kconfig files
include/config/%.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd
$(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
-include include/autoconf.mk
-include include/autoconf.mk.dep
# load other configuration
# We want to include arch/$(ARCH)/config.mk only when include/config/auto.conf
# is up-to-date. When we switch to a different board configuration, old CONFIG
# macros are still remaining in include/config/auto.conf. Without the following
# gimmick, wrong config.mk would be included leading nasty warnings/errors.
autoconf_is_current := $(if $(wildcard $(KCONFIG_CONFIG)),$(shell find . \
-path ./include/config/auto.conf -newer $(KCONFIG_CONFIG)))
ifneq ($(autoconf_is_current),)
include $(srctree)/config.mk
ifeq ($(wildcard include/config.mk),)
$(error "System not configured - see README")
endif
# If board code explicitly specified LDSCRIPT or CONFIG_SYS_LDSCRIPT, use
@ -513,8 +529,8 @@ ifndef LDSCRIPT
endif
else
# Dummy target needed, because used as prerequisite
include/config/auto.conf: ;
endif # $(dot-config)
KBUILD_CFLAGS += -Os #-fomit-frame-pointer
@ -563,7 +579,8 @@ KBUILD_CFLAGS += $(KCFLAGS)
UBOOTINCLUDE := \
-Iinclude \
$(if $(KBUILD_SRC), -I$(srctree)/include) \
-I$(srctree)/arch/$(ARCH)/include
-I$(srctree)/arch/$(ARCH)/include \
-include $(srctree)/include/linux/kconfig.h
NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
CHECKFLAGS += $(NOSTDINC_FLAGS)
@ -1024,7 +1041,7 @@ define filechk_uboot.release
endef
# Store (new) UBOOTRELEASE string in include/config/uboot.release
include/config/uboot.release: Makefile FORCE
include/config/uboot.release: include/config/auto.conf FORCE
$(call filechk,uboot.release)
@ -1042,8 +1059,8 @@ PHONY += prepare archprepare prepare0 prepare1 prepare2 prepare3
# 1) Check that make has not been executed in the kernel src $(srctree)
prepare3: include/config/uboot.release
ifneq ($(KBUILD_SRC),)
@$(kecho) ' Using $(srctree) as source for u-boot'
$(Q)if [ -f $(srctree)/include/config.mk ]; then \
@$(kecho) ' Using $(srctree) as source for U-Boot'
$(Q)if [ -f $(srctree)/.config -o -d $(srctree)/include/config ]; then \
echo >&2 " $(srctree) is not clean, please run 'make mrproper'"; \
echo >&2 " in the '$(srctree)' directory.";\
/bin/false; \
@ -1053,7 +1070,8 @@ endif
# prepare2 creates a makefile if using a separate output directory
prepare2: prepare3 outputmakefile
prepare1: prepare2 $(version_h) $(timestamp_h)
prepare1: prepare2 $(version_h) $(timestamp_h) \
include/config/auto.conf
ifeq ($(__HAVE_ARCH_GENERIC_BOARD),)
ifeq ($(CONFIG_SYS_GENERIC_BOARD),y)
@echo >&2 " Your architecture does not support generic board."
@ -1095,29 +1113,6 @@ $(version_h): include/config/uboot.release FORCE
$(timestamp_h): $(srctree)/Makefile FORCE
$(call filechk,timestamp.h)
#
# Auto-generate the autoconf.mk file (which is included by all makefiles)
#
# This target actually generates 2 files; autoconf.mk and autoconf.mk.dep.
# the dep file is only include in this top level makefile to determine when
# to regenerate the autoconf.mk file.
quiet_cmd_autoconf_dep = GEN $@
cmd_autoconf_dep = $(CC) -x c -DDO_DEPS_ONLY -M $(c_flags) \
-MQ include/autoconf.mk $(srctree)/include/common.h > $@ || rm $@
include/autoconf.mk.dep: include/config.h include/common.h
$(call cmd,autoconf_dep)
quiet_cmd_autoconf = GEN $@
cmd_autoconf = \
$(CPP) $(c_flags) -DDO_DEPS_ONLY -dM $(srctree)/include/common.h > $@.tmp && \
sed -n -f $(srctree)/tools/scripts/define2mk.sed $@.tmp > $@; \
rm $@.tmp
include/autoconf.mk: include/config.h
$(call cmd,autoconf)
# ---------------------------------------------------------------------------
PHONY += depend dep
@ -1141,7 +1136,7 @@ spl/sunxi-spl.bin: spl/u-boot-spl
@:
tpl/u-boot-tpl.bin: tools prepare
$(Q)$(MAKE) obj=tpl -f $(srctree)/scripts/Makefile.spl all CONFIG_TPL_BUILD=y
$(Q)$(MAKE) obj=tpl -f $(srctree)/scripts/Makefile.spl all
TAG_SUBDIRS := $(patsubst %,$(srctree)/%,$(u-boot-dirs) include)
@ -1216,20 +1211,18 @@ include/license.h: tools/bin2header COPYING
# Directories & files removed with 'make clean'
CLEAN_DIRS += $(MODVERDIR)
CLEAN_FILES += u-boot.lds include/bmp_logo.h include/bmp_logo_data.h \
include/autoconf.mk* include/spl-autoconf.mk \
include/tpl-autoconf.mk
CLEAN_FILES += u-boot.lds include/bmp_logo.h include/bmp_logo_data.h
# Directories & files removed with 'make clobber'
CLOBBER_DIRS += spl tpl
CLOBBER_DIRS += $(foreach d, spl tpl, $(patsubst %,$d/%, \
$(filter-out include, $(shell ls -1 $d 2>/dev/null))))
CLOBBER_FILES += u-boot* MLO* SPL System.map
# Directories & files removed with 'make mrproper'
MRPROPER_DIRS += include/config include/generated \
MRPROPER_DIRS += include/config include/generated spl tpl \
.tmp_objdiff
MRPROPER_FILES += .config .config.old \
ctags etags cscope* GPATH GTAGS GRTAGS GSYMS \
include/config.h include/config.mk
MRPROPER_FILES += .config .config.old include/autoconf.mk* include/config.h \
ctags etags TAGS cscope* GPATH GTAGS GRTAGS GSYMS
# clean - Delete most, but leave enough to build external modules
#
@ -1306,10 +1299,9 @@ help:
@echo ' mrproper - Remove all generated files + config + various backup files'
@echo ' distclean - mrproper + remove editor backup and patch files'
@echo ''
# uncomment after adding Kconfig feature
# @echo 'Configuration targets:'
# @$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help
# @echo ''
@echo 'Configuration targets:'
@$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help
@echo ''
@echo 'Other generic targets:'
@echo ' all - Build all necessary images depending on configuration'
@echo ' u-boot - Build the bare u-boot'

29
README
View File

@ -252,15 +252,15 @@ Selection of Processor Architecture and Board Type:
---------------------------------------------------
For all supported boards there are ready-to-use default
configurations available; just type "make <board_name>_config".
configurations available; just type "make <board_name>_defconfig".
Example: For a TQM823L module type:
cd u-boot
make TQM823L_config
make TQM823L_defconfig
For the Cogent platform, you need to specify the CPU type as well;
e.g. "make cogent_mpc8xx_config". And also configure the cogent
e.g. "make cogent_mpc8xx_defconfig". And also configure the cogent
directory according to the instructions in cogent/README.
@ -2601,6 +2601,10 @@ CBFS (Coreboot Filesystem) support
Enables the driver for the SPI controllers on i.MX and MXC
SoCs. Currently i.MX31/35/51 are supported.
CONFIG_SYS_SPI_MXC_WAIT
Timeout for waiting until spi transfer completed.
default: (CONFIG_SYS_HZ/100) /* 10 ms */
- FPGA Support: CONFIG_FPGA
Enables FPGA subsystem.
@ -3767,6 +3771,9 @@ Configuration Settings:
Pre-relocation malloc() is only supported on sandbox
at present but is fairly easy to enable for other archs.
Pre-relocation malloc() is only supported on ARM at present
but is fairly easy to enable for other archs.
- CONFIG_SYS_BOOTM_LEN:
Normally compressed uImages are limited to an
uncompressed size of 8 MBytes. If this is not enough,
@ -4855,9 +4862,9 @@ U-Boot is intended to be simple to build. After installing the
sources you must configure U-Boot for one specific board type. This
is done by typing:
make NAME_config
make NAME_defconfig
where "NAME_config" is the name of one of the existing configu-
where "NAME_defconfig" is the name of one of the existing configu-
rations; see boards.cfg for supported names.
Note: for some board special configuration names may exist; check if
@ -4866,10 +4873,10 @@ Note: for some board special configuration names may exist; check if
or with LCD support. You can select such additional "features"
when choosing the configuration, i. e.
make TQM823L_config
make TQM823L_defconfig
- will configure for a plain TQM823L, i. e. no LCD support
make TQM823L_LCD_config
make TQM823L_LCD_defconfig
- will configure for a TQM823L with U-Boot console on LCD
etc.
@ -4889,14 +4896,14 @@ this behavior and build U-Boot to some external directory:
1. Add O= to the make command line invocations:
make O=/tmp/build distclean
make O=/tmp/build NAME_config
make O=/tmp/build NAME_defconfig
make O=/tmp/build all
2. Set environment variable BUILD_DIR to point to the desired location:
export BUILD_DIR=/tmp/build
make distclean
make NAME_config
make NAME_defconfig
make all
Note that the command line "O=" setting overrides the BUILD_DIR environment
@ -4922,7 +4929,7 @@ steps:
your board
3. If you're porting U-Boot to a new CPU, then also create a new
directory to hold your CPU specific code. Add any files you need.
4. Run "make <board>_config" with your new name.
4. Run "make <board>_defconfig" with your new name.
5. Type "make", and you should get a working "u-boot.srec" file
to be installed on your target system.
6. Debug and solve any problems that might arise.
@ -5502,7 +5509,7 @@ which was introduced for our predecessor project PPCBoot and uses a
Example:
make TQM850L_config
make TQM850L_defconfig
make oldconfig
make dep
make uImage

66
arch/Kconfig Normal file
View File

@ -0,0 +1,66 @@
choice
prompt "Architecture select"
default SANDBOX
config ARC
bool "ARC architecture"
config ARM
bool "ARM architecture"
config AVR32
bool "AVR32 architecture"
config BLACKFIN
bool "Blackfin architecture"
config M68K
bool "M68000 architecture"
config MICROBLAZE
bool "MicroBlaze architecture"
config MIPS
bool "MIPS architecture"
config NDS32
bool "NDS32 architecture"
config NIOS2
bool "Nios II architecture"
config OPENRISC
bool "OpenRISC architecture"
config PPC
bool "PowerPC architecture"
config SANDBOX
bool "Sandbox"
config SH
bool "SuperH architecture"
config SPARC
bool "SPARC architecture"
config X86
bool "x86 architecture"
endchoice
source "arch/arc/Kconfig"
source "arch/arm/Kconfig"
source "arch/avr32/Kconfig"
source "arch/blackfin/Kconfig"
source "arch/m68k/Kconfig"
source "arch/microblaze/Kconfig"
source "arch/mips/Kconfig"
source "arch/nds32/Kconfig"
source "arch/nios2/Kconfig"
source "arch/openrisc/Kconfig"
source "arch/powerpc/Kconfig"
source "arch/sandbox/Kconfig"
source "arch/sh/Kconfig"
source "arch/sparc/Kconfig"
source "arch/x86/Kconfig"

29
arch/arc/Kconfig Normal file
View File

@ -0,0 +1,29 @@
menu "ARC architecture"
depends on ARC
config SYS_ARCH
string
default "arc"
choice
prompt "Target select"
config TARGET_TB100
bool "Support tb100"
config TARGET_ARCANGEL4
bool "Support arcangel4"
config TARGET_ARCANGEL4_BE
bool "Support arcangel4-be"
config TARGET_AXS101
bool "Support axs101"
endchoice
source "board/abilis/tb100/Kconfig"
source "board/synopsys/Kconfig"
source "board/synopsys/axs101/Kconfig"
endmenu

View File

@ -21,7 +21,7 @@ ifeq ($(CROSS_COMPILE),)
CROSS_COMPILE := $(ARC_CROSS_COMPILE)
endif
PLATFORM_CPPFLAGS += -ffixed-r25 -D__ARC__ -DCONFIG_ARC -gdwarf-2
PLATFORM_CPPFLAGS += -ffixed-r25 -D__ARC__ -gdwarf-2
# Needed for relocation
LDFLAGS_FINAL += -pie

1002
arch/arm/Kconfig Normal file

File diff suppressed because it is too large Load Diff

View File

@ -22,7 +22,7 @@ PLATFORM_RELFLAGS += $(call cc-option, -msoft-float) \
# Support generic board on ARM
__HAVE_ARCH_GENERIC_BOARD := y
PLATFORM_CPPFLAGS += -DCONFIG_ARM -D__ARM__
PLATFORM_CPPFLAGS += -D__ARM__
# Choose between ARM/Thumb instruction sets
ifeq ($(CONFIG_SYS_THUMB_BUILD),y)

View File

@ -13,6 +13,7 @@
#include <asm/io.h>
#include <asm/arch/cpu.h>
#include <asm/arch/kirkwood.h>
#include <mvebu_mmc.h>
#define BUFLEN 16
@ -377,3 +378,11 @@ int cpu_eth_init(bd_t *bis)
return 0;
}
#endif
#ifdef CONFIG_MVEBU_MMC
int board_mmc_init(bd_t *bis)
{
mvebu_mmc_init(bis);
return 0;
}
#endif /* CONFIG_MVEBU_MMC */

View File

@ -17,6 +17,9 @@ obj-$(CONFIG_SUN7I) += clock_sun4i.o
ifndef CONFIG_SPL_BUILD
obj-y += cpu_info.o
ifdef CONFIG_ARMV7_PSCI
obj-y += psci.o
endif
endif
ifdef CONFIG_SPL_BUILD

View File

@ -129,6 +129,11 @@ int cpu_eth_init(bd_t *bis)
{
__maybe_unused int rc;
#ifdef CONFIG_MACPWR
gpio_direction_output(CONFIG_MACPWR, 1);
mdelay(200);
#endif
#ifdef CONFIG_SUNXI_EMAC
rc = sunxi_emac_initialize(bis);
if (rc < 0) {

View File

@ -39,6 +39,10 @@ void clock_init_safe(void)
setbits_le32(&ccm->ahb_gate0, 0x1 << AHB_GATE_OFFSET_DMA);
#endif
writel(PLL6_CFG_DEFAULT, &ccm->pll6_cfg);
#ifdef CONFIG_SUNXI_AHCI
setbits_le32(&ccm->ahb_gate0, 0x1 << AHB_GATE_OFFSET_SATA);
setbits_le32(&ccm->pll6_cfg, 0x1 << CCM_PLL6_CTRL_SATA_EN_SHIFT);
#endif
}
#endif

View File

@ -0,0 +1,162 @@
/*
* Copyright (C) 2013 - ARM Ltd
* Author: Marc Zyngier <marc.zyngier@arm.com>
*
* Based on code by Carl van Schaik <carl@ok-labs.com>.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* 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, see <http://www.gnu.org/licenses/>.
*/
#include <config.h>
#include <asm/psci.h>
#include <asm/arch/cpu.h>
/*
* Memory layout:
*
* SECURE_RAM to text_end :
* ._secure_text section
* text_end to ALIGN_PAGE(text_end):
* nothing
* ALIGN_PAGE(text_end) to ALIGN_PAGE(text_end) + 0x1000)
* 1kB of stack per CPU (4 CPUs max).
*/
.pushsection ._secure.text, "ax"
.arch_extension sec
#define ONE_MS (CONFIG_SYS_CLK_FREQ / 1000)
#define TEN_MS (10 * ONE_MS)
.macro timer_wait reg, ticks
@ Program CNTP_TVAL
movw \reg, #(\ticks & 0xffff)
movt \reg, #(\ticks >> 16)
mcr p15, 0, \reg, c14, c2, 0
isb
@ Enable physical timer, mask interrupt
mov \reg, #3
mcr p15, 0, \reg, c14, c2, 1
@ Poll physical timer until ISTATUS is on
1: isb
mrc p15, 0, \reg, c14, c2, 1
ands \reg, \reg, #4
bne 1b
@ Disable timer
mov \reg, #0
mcr p15, 0, \reg, c14, c2, 1
isb
.endm
.globl psci_arch_init
psci_arch_init:
mrc p15, 0, r5, c1, c1, 0 @ Read SCR
bic r5, r5, #1 @ Secure mode
mcr p15, 0, r5, c1, c1, 0 @ Write SCR
isb
mrc p15, 0, r4, c0, c0, 5 @ MPIDR
and r4, r4, #3 @ cpu number in cluster
mov r5, #400 @ 1kB of stack per CPU
mul r4, r4, r5
adr r5, text_end @ end of text
add r5, r5, #0x2000 @ Skip two pages
lsr r5, r5, #12 @ Align to start of page
lsl r5, r5, #12
sub sp, r5, r4 @ here's our stack!
bx lr
@ r1 = target CPU
@ r2 = target PC
.globl psci_cpu_on
psci_cpu_on:
adr r0, _target_pc
str r2, [r0]
dsb
movw r0, #(SUNXI_CPUCFG_BASE & 0xffff)
movt r0, #(SUNXI_CPUCFG_BASE >> 16)
@ CPU mask
and r1, r1, #3 @ only care about first cluster
mov r4, #1
lsl r4, r4, r1
adr r6, _sunxi_cpu_entry
str r6, [r0, #0x1a4] @ PRIVATE_REG (boot vector)
@ Assert reset on target CPU
mov r6, #0
lsl r5, r1, #6 @ 64 bytes per CPU
add r5, r5, #0x40 @ Offset from base
add r5, r5, r0 @ CPU control block
str r6, [r5] @ Reset CPU
@ l1 invalidate
ldr r6, [r0, #0x184]
bic r6, r6, r4
str r6, [r0, #0x184]
@ Lock CPU
ldr r6, [r0, #0x1e4]
bic r6, r6, r4
str r6, [r0, #0x1e4]
@ Release power clamp
movw r6, #0x1ff
movt r6, #0
1: lsrs r6, r6, #1
str r6, [r0, #0x1b0]
bne 1b
timer_wait r1, TEN_MS
@ Clear power gating
ldr r6, [r0, #0x1b4]
bic r6, r6, #1
str r6, [r0, #0x1b4]
@ Deassert reset on target CPU
mov r6, #3
str r6, [r5]
@ Unlock CPU
ldr r6, [r0, #0x1e4]
orr r6, r6, r4
str r6, [r0, #0x1e4]
mov r0, #ARM_PSCI_RET_SUCCESS @ Return PSCI_RET_SUCCESS
mov pc, lr
_target_pc:
.word 0
_sunxi_cpu_entry:
@ Set SMP bit
mrc p15, 0, r0, c1, c0, 1
orr r0, r0, #0x40
mcr p15, 0, r0, c1, c0, 1
isb
bl _nonsec_init
bl psci_arch_init
adr r0, _target_pc
ldr r0, [r0]
b _do_nonsec_entry
text_end:
.popsection

View File

@ -43,7 +43,11 @@
/* DDR */
#define CONFIG_SYS_FSL_DDR_LE
#define CONFIG_VERY_BIG_RAM
#ifdef CONFIG_SYS_FSL_DDR4
#define CONFIG_SYS_FSL_DDRC_GEN4
#else
#define CONFIG_SYS_FSL_DDRC_ARM_GEN3 /* Enable Freescale ARM DDR3 driver */
#endif
#define CONFIG_SYS_FSL_DDR /* Freescale DDR driver */
#define CONFIG_SYS_LS2_DDR_BLOCK1_SIZE ((phys_size_t)2 << 30)
#define CONFIG_MAX_MEM_MAPPED CONFIG_SYS_LS2_DDR_BLOCK1_SIZE

View File

@ -39,6 +39,7 @@
#define KW_EGIGA0_BASE (KW_REGISTER(0x72000))
#define KW_EGIGA1_BASE (KW_REGISTER(0x76000))
#define KW_SATA_BASE (KW_REGISTER(0x80000))
#define KW_SDIO_BASE (KW_REGISTER(0x90000))
/* Kirkwood Sata controller has two ports */
#define KW_SATA_PORT0_OFFSET 0x2000

View File

@ -139,9 +139,9 @@ static inline struct s3c24x0_spi *s3c24x0_get_base_spi(void)
return (struct s3c24x0_spi *)S3C24X0_SPI_BASE;
}
static inline struct s3c2410_sdi *s3c2410_get_base_sdi(void)
static inline struct s3c24x0_sdi *s3c24x0_get_base_sdi(void)
{
return (struct s3c2410_sdi *)S3C2410_SDI_BASE;
return (struct s3c24x0_sdi *)S3C2410_SDI_BASE;
}
#endif /*__S3C2410_H__*/

View File

@ -137,9 +137,9 @@ static inline struct s3c24x0_spi *s3c24x0_get_base_spi(void)
return (struct s3c24x0_spi *)S3C24X0_SPI_BASE;
}
static inline struct s3c2440_sdi *s3c2440_get_base_sdi(void)
static inline struct s3c24x0_sdi *s3c24x0_get_base_sdi(void)
{
return (struct s3c2440_sdi *)S3C2440_SDI_BASE;
return (struct s3c24x0_sdi *)S3C2440_SDI_BASE;
}
#endif /*__S3C2440_H__*/

View File

@ -675,7 +675,7 @@ struct s3c2400_mmc {
/* SD INTERFACE (see S3C2410 manual chapter 19) */
struct s3c2410_sdi {
struct s3c24x0_sdi {
u32 sdicon;
u32 sdipre;
u32 sdicarg;
@ -691,14 +691,19 @@ struct s3c2410_sdi {
u32 sdidcnt;
u32 sdidsta;
u32 sdifsta;
#ifdef __BIG_ENDIAN
u8 res[3];
u8 sdidat;
#else
u8 sdidat;
u8 res[3];
#endif
#ifdef CONFIG_S3C2410
u32 sdidat;
u32 sdiimsk;
#else
u32 sdiimsk;
u32 sdidat;
#endif
};
#ifdef CONFIG_CMD_MMC
#include <mmc.h>
int s3cmmc_initialize(bd_t *bis, int (*getcd)(struct mmc *),
int (*getwp)(struct mmc *));
#endif
#endif /*__S3C24X0_H__*/

View File

@ -218,10 +218,13 @@ struct sunxi_ccm_reg {
#define CCM_PLL5_CTRL_BYPASS (0x1 << 30)
#define CCM_PLL5_CTRL_EN (0x1 << 31)
#define CCM_PLL6_CTRL_N_SHIFT 8
#define CCM_PLL6_CTRL_N_MASK (0x1f << CCM_PLL6_CTRL_N_SHIFT)
#define CCM_PLL6_CTRL_K_SHIFT 4
#define CCM_PLL6_CTRL_K_MASK (0x3 << CCM_PLL6_CTRL_K_SHIFT)
#define CCM_PLL6_CTRL_EN 31
#define CCM_PLL6_CTRL_BYPASS_EN 30
#define CCM_PLL6_CTRL_SATA_EN_SHIFT 14
#define CCM_PLL6_CTRL_N_SHIFT 8
#define CCM_PLL6_CTRL_N_MASK (0x1f << CCM_PLL6_CTRL_N_SHIFT)
#define CCM_PLL6_CTRL_K_SHIFT 4
#define CCM_PLL6_CTRL_K_MASK (0x3 << CCM_PLL6_CTRL_K_SHIFT)
#define CCM_GPS_CTRL_RESET (0x1 << 0)
#define CCM_GPS_CTRL_GATE (0x1 << 1)
@ -253,4 +256,8 @@ struct sunxi_ccm_reg {
#define CCM_GMAC_CTRL_GPIT_MII (0x0 << 2)
#define CCM_GMAC_CTRL_GPIT_RGMII (0x1 << 2)
#define CCM_USB_CTRL_PHY1_RST (0x1 << 1)
#define CCM_USB_CTRL_PHY2_RST (0x1 << 2)
#define CCM_USB_CTRL_PHYGATE (0x1 << 8)
#endif /* _SUNXI_CLOCK_SUN4I_H */

View File

@ -7,7 +7,9 @@
#ifndef _ASM_CONFIG_H_
#define _ASM_CONFIG_H_
#ifdef __aarch64__
#define CONFIG_SYS_GENERIC_GLOBAL_DATA
#endif
#define CONFIG_LMB
#define CONFIG_SYS_BOOT_RAMDISK_HIGH

View File

@ -136,6 +136,7 @@ extern inline void __raw_readsl(unsigned long addr, void *data, int longlen)
* TODO: The kernel offers some more advanced versions of barriers, it might
* have some advantages to use them instead of the simple one here.
*/
#define mb() asm volatile("dsb sy" : : : "memory")
#define dmb() __asm__ __volatile__ ("" : : : "memory")
#define __iormb() dmb()
#define __iowmb() dmb()

View File

@ -67,10 +67,22 @@ ENTRY(_main)
ldr sp, =(CONFIG_SYS_INIT_SP_ADDR)
#endif
bic sp, sp, #7 /* 8-byte alignment for ABI compliance */
mov r2, sp
sub sp, sp, #GD_SIZE /* allocate one GD above SP */
bic sp, sp, #7 /* 8-byte alignment for ABI compliance */
mov r9, sp /* GD is above SP */
mov r1, sp
mov r0, #0
clr_gd:
cmp r1, r2 /* while not at end of GD */
strlo r0, [r1] /* clear 32-bit GD word */
addlo r1, r1, #4 /* move to next */
blo clr_gd
#if defined(CONFIG_SYS_MALLOC_F_LEN) && !defined(CONFIG_SPL_BUILD)
sub sp, sp, #CONFIG_SYS_MALLOC_F_LEN
str sp, [r9, #GD_MALLOC_BASE]
#endif
/* mov r0, #0 not needed due to above code */
bl board_init_f
#if ! defined(CONFIG_SPL_BUILD)

51
arch/avr32/Kconfig Normal file
View File

@ -0,0 +1,51 @@
menu "AVR32 architecture"
depends on AVR32
config SYS_ARCH
string
default "avr32"
choice
prompt "Target select"
config TARGET_ATNGW100
bool "Support atngw100"
config TARGET_ATNGW100MKII
bool "Support atngw100mkii"
config TARGET_ATSTK1002
bool "Support atstk1002"
config TARGET_ATSTK1003
bool "Support atstk1003"
config TARGET_ATSTK1004
bool "Support atstk1004"
config TARGET_ATSTK1006
bool "Support atstk1006"
config TARGET_FAVR_32_EZKIT
bool "Support favr-32-ezkit"
config TARGET_GRASSHOPPER
bool "Support grasshopper"
config TARGET_MIMC200
bool "Support mimc200"
config TARGET_HAMMERHEAD
bool "Support hammerhead"
endchoice
source "board/atmel/atngw100/Kconfig"
source "board/atmel/atngw100mkii/Kconfig"
source "board/atmel/atstk1000/Kconfig"
source "board/earthlcd/favr-32-ezkit/Kconfig"
source "board/in-circuit/grasshopper/Kconfig"
source "board/mimc/mimc200/Kconfig"
source "board/miromico/hammerhead/Kconfig"
endmenu

View File

@ -9,7 +9,6 @@ ifeq ($(CROSS_COMPILE),)
CROSS_COMPILE := avr32-linux-
endif
PLATFORM_CPPFLAGS += -DCONFIG_AVR32
CONFIG_STANDALONE_LOAD_ADDR ?= 0x00000000
PLATFORM_RELFLAGS += -ffixed-r5 -fPIC -mno-init-got -mrelax

150
arch/blackfin/Kconfig Normal file
View File

@ -0,0 +1,150 @@
menu "Blackfin architecture"
depends on BLACKFIN
config SYS_ARCH
string
default "blackfin"
choice
prompt "Target select"
config TARGET_BCT_BRETTL2
bool "Support bct-brettl2"
config TARGET_BF506F_EZKIT
bool "Support bf506f-ezkit"
config TARGET_BF518F_EZBRD
bool "Support bf518f-ezbrd"
config TARGET_BF525_UCR2
bool "Support bf525-ucr2"
config TARGET_BF526_EZBRD
bool "Support bf526-ezbrd"
config TARGET_BF527_AD7160_EVAL
bool "Support bf527-ad7160-eval"
config TARGET_BF527_EZKIT
bool "Support bf527-ezkit"
config TARGET_BF527_SDP
bool "Support bf527-sdp"
config TARGET_BF533_EZKIT
bool "Support bf533-ezkit"
config TARGET_BF533_STAMP
bool "Support bf533-stamp"
config TARGET_BF537_MINOTAUR
bool "Support bf537-minotaur"
config TARGET_BF537_PNAV
bool "Support bf537-pnav"
config TARGET_BF537_SRV1
bool "Support bf537-srv1"
config TARGET_BF537_STAMP
bool "Support bf537-stamp"
config TARGET_BF538F_EZKIT
bool "Support bf538f-ezkit"
config TARGET_BF548_EZKIT
bool "Support bf548-ezkit"
config TARGET_BF561_ACVILON
bool "Support bf561-acvilon"
config TARGET_BF561_EZKIT
bool "Support bf561-ezkit"
config TARGET_BF609_EZKIT
bool "Support bf609-ezkit"
config TARGET_BLACKSTAMP
bool "Support blackstamp"
config TARGET_BLACKVME
bool "Support blackvme"
config TARGET_BR4
bool "Support br4"
config TARGET_CM_BF527
bool "Support cm-bf527"
config TARGET_CM_BF533
bool "Support cm-bf533"
config TARGET_CM_BF537E
bool "Support cm-bf537e"
config TARGET_CM_BF537U
bool "Support cm-bf537u"
config TARGET_CM_BF548
bool "Support cm-bf548"
config TARGET_CM_BF561
bool "Support cm-bf561"
config TARGET_DNP5370
bool "Support dnp5370"
config TARGET_IBF_DSP561
bool "Support ibf-dsp561"
config TARGET_IP04
bool "Support ip04"
config TARGET_PR1
bool "Support pr1"
config TARGET_TCM_BF518
bool "Support tcm-bf518"
config TARGET_TCM_BF537
bool "Support tcm-bf537"
endchoice
source "board/bct-brettl2/Kconfig"
source "board/bf506f-ezkit/Kconfig"
source "board/bf518f-ezbrd/Kconfig"
source "board/bf525-ucr2/Kconfig"
source "board/bf526-ezbrd/Kconfig"
source "board/bf527-ad7160-eval/Kconfig"
source "board/bf527-ezkit/Kconfig"
source "board/bf527-sdp/Kconfig"
source "board/bf533-ezkit/Kconfig"
source "board/bf533-stamp/Kconfig"
source "board/bf537-minotaur/Kconfig"
source "board/bf537-pnav/Kconfig"
source "board/bf537-srv1/Kconfig"
source "board/bf537-stamp/Kconfig"
source "board/bf538f-ezkit/Kconfig"
source "board/bf548-ezkit/Kconfig"
source "board/bf561-acvilon/Kconfig"
source "board/bf561-ezkit/Kconfig"
source "board/bf609-ezkit/Kconfig"
source "board/blackstamp/Kconfig"
source "board/blackvme/Kconfig"
source "board/br4/Kconfig"
source "board/cm-bf527/Kconfig"
source "board/cm-bf533/Kconfig"
source "board/cm-bf537e/Kconfig"
source "board/cm-bf537u/Kconfig"
source "board/cm-bf548/Kconfig"
source "board/cm-bf561/Kconfig"
source "board/dnp5370/Kconfig"
source "board/ibf-dsp561/Kconfig"
source "board/ip04/Kconfig"
source "board/pr1/Kconfig"
source "board/tcm-bf518/Kconfig"
source "board/tcm-bf537/Kconfig"
endmenu

View File

@ -21,7 +21,6 @@ endif
CONFIG_BFIN_BOOT_MODE := $(strip $(CONFIG_BFIN_BOOT_MODE:"%"=%))
PLATFORM_RELFLAGS += -ffixed-P3 -fomit-frame-pointer -mno-fdpic
PLATFORM_CPPFLAGS += -DCONFIG_BLACKFIN
LDFLAGS_FINAL += --gc-sections
LDFLAGS += -m elf32bfin

98
arch/m68k/Kconfig Normal file
View File

@ -0,0 +1,98 @@
menu "M68000 architecture"
depends on M68K
config SYS_ARCH
string
default "m68k"
choice
prompt "Target select"
config TARGET_M52277EVB
bool "Support M52277EVB"
config TARGET_M5235EVB
bool "Support M5235EVB"
config TARGET_COBRA5272
bool "Support cobra5272"
config TARGET_EB_CPU5282
bool "Support eb_cpu5282"
config TARGET_TASREG
bool "Support TASREG"
config TARGET_M5208EVBE
bool "Support M5208EVBE"
config TARGET_M5249EVB
bool "Support M5249EVB"
config TARGET_M5253DEMO
bool "Support M5253DEMO"
config TARGET_M5253EVBE
bool "Support M5253EVBE"
config TARGET_M5272C3
bool "Support M5272C3"
config TARGET_M5275EVB
bool "Support M5275EVB"
config TARGET_M5282EVB
bool "Support M5282EVB"
config TARGET_ASTRO_MCF5373L
bool "Support astro_mcf5373l"
config TARGET_M53017EVB
bool "Support M53017EVB"
config TARGET_M5329EVB
bool "Support M5329EVB"
config TARGET_M5373EVB
bool "Support M5373EVB"
config TARGET_M54418TWR
bool "Support M54418TWR"
config TARGET_M54451EVB
bool "Support M54451EVB"
config TARGET_M54455EVB
bool "Support M54455EVB"
config TARGET_M5475EVB
bool "Support M5475EVB"
config TARGET_M5485EVB
bool "Support M5485EVB"
endchoice
source "board/BuS/eb_cpu5282/Kconfig"
source "board/astro/mcf5373l/Kconfig"
source "board/cobra5272/Kconfig"
source "board/esd/tasreg/Kconfig"
source "board/freescale/m5208evbe/Kconfig"
source "board/freescale/m52277evb/Kconfig"
source "board/freescale/m5235evb/Kconfig"
source "board/freescale/m5249evb/Kconfig"
source "board/freescale/m5253demo/Kconfig"
source "board/freescale/m5253evbe/Kconfig"
source "board/freescale/m5272c3/Kconfig"
source "board/freescale/m5275evb/Kconfig"
source "board/freescale/m5282evb/Kconfig"
source "board/freescale/m53017evb/Kconfig"
source "board/freescale/m5329evb/Kconfig"
source "board/freescale/m5373evb/Kconfig"
source "board/freescale/m54418twr/Kconfig"
source "board/freescale/m54451evb/Kconfig"
source "board/freescale/m54455evb/Kconfig"
source "board/freescale/m547xevb/Kconfig"
source "board/freescale/m548xevb/Kconfig"
endmenu

View File

@ -11,7 +11,7 @@ endif
CONFIG_STANDALONE_LOAD_ADDR ?= 0x20000
PLATFORM_CPPFLAGS += -DCONFIG_M68K -D__M68K__
PLATFORM_CPPFLAGS += -D__M68K__
PLATFORM_LDFLAGS += -n
PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections
PLATFORM_RELFLAGS += -ffixed-d7 -msep-data

View File

@ -7,14 +7,14 @@
# SPDX-License-Identifier: GPL-2.0+
#
cfg=$(shell grep configs $(objtree)/include/config.h | sed 's/.*<\(configs.*\)>/\1/')
is5208:=$(shell grep CONFIG_M5208 $(srctree)/include/$(cfg))
is5249:=$(shell grep CONFIG_M5249 $(srctree)/include/$(cfg))
is5253:=$(shell grep CONFIG_M5253 $(srctree)/include/$(cfg))
is5271:=$(shell grep CONFIG_M5271 $(srctree)/include/$(cfg))
is5272:=$(shell grep CONFIG_M5272 $(srctree)/include/$(cfg))
is5275:=$(shell grep CONFIG_M5275 $(srctree)/include/$(cfg))
is5282:=$(shell grep CONFIG_M5282 $(srctree)/include/$(cfg))
cfg=$(srctree)/include/configs/$(CONFIG_SYS_CONFIG_NAME:"%"=%).h
is5208:=$(shell grep CONFIG_M5208 $(cfg))
is5249:=$(shell grep CONFIG_M5249 $(cfg))
is5253:=$(shell grep CONFIG_M5253 $(cfg))
is5271:=$(shell grep CONFIG_M5271 $(cfg))
is5272:=$(shell grep CONFIG_M5272 $(cfg))
is5275:=$(shell grep CONFIG_M5275 $(cfg))
is5282:=$(shell grep CONFIG_M5282 $(cfg))
ifneq (,$(findstring CONFIG_M5208,$(is5208)))
PLATFORM_CPPFLAGS += -mcpu=5208

View File

@ -7,9 +7,9 @@
# SPDX-License-Identifier: GPL-2.0+
#
cfg=$(shell grep configs $(objtree)/include/config.h | sed 's/.*<\(configs.*\)>/\1/')
is5301x:=$(shell grep CONFIG_MCF5301x $(srctree)/include/$(cfg))
is532x:=$(shell grep CONFIG_MCF532x $(srctree)/include/$(cfg))
cfg=$(srctree)/include/configs/$(CONFIG_SYS_CONFIG_NAME:"%"=%).h
is5301x:=$(shell grep CONFIG_MCF5301x $(cfg))
is532x:=$(shell grep CONFIG_MCF532x $(cfg))
ifneq (,$(findstring CONFIG_MCF5301x,$(is5301x)))
PLATFORM_CPPFLAGS += -mcpu=53015 -fPIC

View File

@ -9,8 +9,8 @@
# SPDX-License-Identifier: GPL-2.0+
#
cfg=$(shell grep configs $(objtree)/include/config.h | sed 's/.*<\(configs.*\)>/\1/')
is5441x:=$(shell grep CONFIG_MCF5441x $(srctree)/include/$(cfg))
cfg=$(srctree)/include/configs/$(CONFIG_SYS_CONFIG_NAME:"%"=%).h
is5441x:=$(shell grep CONFIG_MCF5441x $(cfg))
ifneq (,$(findstring CONFIG_MCF5441x,$(is5441x)))
PLATFORM_CPPFLAGS += -mcpu=54418 -fPIC

18
arch/microblaze/Kconfig Normal file
View File

@ -0,0 +1,18 @@
menu "MicroBlaze architecture"
depends on MICROBLAZE
config SYS_ARCH
string
default "microblaze"
choice
prompt "Target select"
config TARGET_MICROBLAZE_GENERIC
bool "Support microblaze-generic"
endchoice
source "board/xilinx/microblaze-generic/Kconfig"
endmenu

37
arch/mips/Kconfig Normal file
View File

@ -0,0 +1,37 @@
menu "MIPS architecture"
depends on MIPS
config SYS_ARCH
string
default "mips"
choice
prompt "Target select"
config TARGET_QEMU_MIPS
bool "Support qemu-mips"
config TARGET_MALTA
bool "Support malta"
config TARGET_VCT
bool "Support vct"
config TARGET_DBAU1X00
bool "Support dbau1x00"
config TARGET_PB1X00
bool "Support pb1x00"
config TARGET_QEMU_MIPS64
bool "Support qemu-mips64"
endchoice
source "board/dbau1x00/Kconfig"
source "board/imgtec/malta/Kconfig"
source "board/micronas/vct/Kconfig"
source "board/pb1x00/Kconfig"
source "board/qemu-mips/Kconfig"
endmenu

View File

@ -25,7 +25,7 @@ endif
# Default to EB if no endianess is configured
ENDIANNESS ?= -EB
PLATFORM_CPPFLAGS += -DCONFIG_MIPS -D__MIPS__
PLATFORM_CPPFLAGS += -D__MIPS__
__HAVE_ARCH_GENERIC_BOARD := y

26
arch/nds32/Kconfig Normal file
View File

@ -0,0 +1,26 @@
menu "NDS32 architecture"
depends on NDS32
config SYS_ARCH
string
default "nds32"
choice
prompt "Target select"
config TARGET_ADP_AG101
bool "Support adp-ag101"
config TARGET_ADP_AG101P
bool "Support adp-ag101p"
config TARGET_ADP_AG102
bool "Support adp-ag102"
endchoice
source "board/AndesTech/adp-ag101/Kconfig"
source "board/AndesTech/adp-ag101p/Kconfig"
source "board/AndesTech/adp-ag102/Kconfig"
endmenu

View File

@ -17,6 +17,6 @@ CONFIG_STANDALONE_LOAD_ADDR = 0x300000 \
PLATFORM_RELFLAGS += -fno-strict-aliasing -fno-common -mrelax
PLATFORM_RELFLAGS += -gdwarf-2
PLATFORM_CPPFLAGS += -DCONFIG_NDS32 -D__nds32__ -G0 -ffixed-10 -fpie
PLATFORM_CPPFLAGS += -D__nds32__ -G0 -ffixed-10 -fpie
LDFLAGS_u-boot = --gc-sections --relax

26
arch/nios2/Kconfig Normal file
View File

@ -0,0 +1,26 @@
menu "Nios II architecture"
depends on NIOS2
config SYS_ARCH
string
default "nios2"
choice
prompt "Target select"
config TARGET_NIOS2_GENERIC
bool "Support nios2-generic"
config TARGET_PCI5441
bool "Support PCI5441"
config TARGET_PK1C20
bool "Support PK1C20"
endchoice
source "board/altera/nios2-generic/Kconfig"
source "board/psyent/pci5441/Kconfig"
source "board/psyent/pk1c20/Kconfig"
endmenu

View File

@ -12,7 +12,7 @@ endif
CONFIG_STANDALONE_LOAD_ADDR ?= 0x02000000
PLATFORM_CPPFLAGS += -DCONFIG_NIOS2 -D__NIOS2__
PLATFORM_CPPFLAGS += -D__NIOS2__
PLATFORM_CPPFLAGS += -G0
LDFLAGS_FINAL += --gc-sections

18
arch/openrisc/Kconfig Normal file
View File

@ -0,0 +1,18 @@
menu "OpenRISC architecture"
depends on OPENRISC
config SYS_ARCH
string
default "openrisc"
choice
prompt "Target select"
config TARGET_OPENRISC_GENERIC
bool "Support openrisc-generic"
endchoice
source "board/openrisc/openrisc-generic/Kconfig"
endmenu

View File

@ -11,6 +11,6 @@ endif
# r10 used for global object pointer, already set in OR32 GCC but just to be
# clear
PLATFORM_CPPFLAGS += -DCONFIG_OPENRISC -D__OR1K__ -ffixed-r10
PLATFORM_CPPFLAGS += -D__OR1K__ -ffixed-r10
CONFIG_STANDALONE_LOAD_ADDR ?= 0x40000

58
arch/powerpc/Kconfig Normal file
View File

@ -0,0 +1,58 @@
menu "PowerPC architecture"
depends on PPC
config SYS_ARCH
string
default "powerpc"
choice
prompt "CPU select"
config 74xx_7xx
bool "74xx"
config MPC512X
bool "MPC512X"
config 5xx
bool "MPC5xx"
config MPC5xxx
bool "MPC5xxx"
config MPC824X
bool "MPC824X"
config MPC8260
bool "MPC8260"
config MPC83xx
bool "MPC83xx"
config MPC85xx
bool "MPC85xx"
config MPC86xx
bool "MPC86xx"
config 8xx
bool "MPC8xx"
config 4xx
bool "PPC4xx"
endchoice
source "arch/powerpc/cpu/74xx_7xx/Kconfig"
source "arch/powerpc/cpu/mpc512x/Kconfig"
source "arch/powerpc/cpu/mpc5xx/Kconfig"
source "arch/powerpc/cpu/mpc5xxx/Kconfig"
source "arch/powerpc/cpu/mpc824x/Kconfig"
source "arch/powerpc/cpu/mpc8260/Kconfig"
source "arch/powerpc/cpu/mpc83xx/Kconfig"
source "arch/powerpc/cpu/mpc85xx/Kconfig"
source "arch/powerpc/cpu/mpc86xx/Kconfig"
source "arch/powerpc/cpu/mpc8xx/Kconfig"
source "arch/powerpc/cpu/ppc4xx/Kconfig"
endmenu

View File

@ -13,7 +13,7 @@ CONFIG_STANDALONE_LOAD_ADDR ?= 0x40000
LDFLAGS_FINAL += --gc-sections
PLATFORM_RELFLAGS += -fpic -mrelocatable -ffunction-sections -fdata-sections \
-meabi
PLATFORM_CPPFLAGS += -DCONFIG_PPC -D__powerpc__ -ffixed-r2
PLATFORM_CPPFLAGS += -D__powerpc__ -ffixed-r2
PLATFORM_LDFLAGS += -n
# Support generic board on PPC

View File

@ -0,0 +1,49 @@
menu "74xx_7xx CPU"
depends on 74xx_7xx
config SYS_CPU
string
default "74xx_7xx"
choice
prompt "Target select"
config TARGET_P3G4
bool "Support P3G4"
config TARGET_ZUMA
bool "Support ZUMA"
config TARGET_PPMC7XX
bool "Support ppmc7xx"
config TARGET_ELPPC
bool "Support ELPPC"
config TARGET_CPCI750
bool "Support CPCI750"
config TARGET_MPC7448HPC2
bool "Support mpc7448hpc2"
config TARGET_DB64360
bool "Support DB64360"
config TARGET_DB64460
bool "Support DB64460"
config TARGET_P3MX
bool "Support p3mx"
endchoice
source "board/Marvell/db64360/Kconfig"
source "board/Marvell/db64460/Kconfig"
source "board/eltec/elppc/Kconfig"
source "board/esd/cpci750/Kconfig"
source "board/evb64260/Kconfig"
source "board/freescale/mpc7448hpc2/Kconfig"
source "board/ppmc7xx/Kconfig"
source "board/prodrive/p3mx/Kconfig"
endmenu

View File

@ -5,4 +5,4 @@
# SPDX-License-Identifier: GPL-2.0+
#
PLATFORM_CPPFLAGS += -DCONFIG_74xx_7xx -mstring
PLATFORM_CPPFLAGS += -mstring

View File

@ -0,0 +1,34 @@
menu "mpc512x CPU"
depends on MPC512X
config SYS_CPU
string
default "mpc512x"
choice
prompt "Target select"
config TARGET_PDM360NG
bool "Support pdm360ng"
config TARGET_ARIA
bool "Support aria"
config TARGET_MECP5123
bool "Support mecp5123"
config TARGET_MPC5121ADS
bool "Support mpc5121ads"
config TARGET_AC14XX
bool "Support ac14xx"
endchoice
source "board/davedenx/aria/Kconfig"
source "board/esd/mecp5123/Kconfig"
source "board/freescale/mpc5121ads/Kconfig"
source "board/ifm/ac14xx/Kconfig"
source "board/pdm360ng/Kconfig"
endmenu

View File

@ -4,4 +4,4 @@
# SPDX-License-Identifier: GPL-2.0+
#
PLATFORM_CPPFLAGS += -DCONFIG_MPC512X -DCONFIG_E300 -msoft-float -mcpu=603e
PLATFORM_CPPFLAGS += -DCONFIG_E300 -msoft-float -mcpu=603e

View File

@ -0,0 +1,22 @@
menu "mpc5xx CPU"
depends on 5xx
config SYS_CPU
string
default "mpc5xx"
choice
prompt "Target select"
config TARGET_CMI_MPC5XX
bool "Support cmi_mpc5xx"
config TARGET_PATI
bool "Support PATI"
endchoice
source "board/cmi/Kconfig"
source "board/mpl/pati/Kconfig"
endmenu

View File

@ -5,4 +5,4 @@
# SPDX-License-Identifier: GPL-2.0+
#
PLATFORM_CPPFLAGS += -DCONFIG_5xx -mpowerpc -msoft-float
PLATFORM_CPPFLAGS += -mpowerpc -msoft-float

View File

@ -0,0 +1,154 @@
menu "mpc5xxx CPU"
depends on MPC5xxx
config SYS_CPU
string
default "mpc5xxx"
choice
prompt "Target select"
config TARGET_A3M071
bool "Support a3m071"
config TARGET_A4M072
bool "Support a4m072"
config TARGET_BC3450
bool "Support BC3450"
config TARGET_CANMB
bool "Support canmb"
config TARGET_CM5200
bool "Support cm5200"
config TARGET_GALAXY5200
bool "Support galaxy5200"
config TARGET_ICECUBE
bool "Support IceCube"
config TARGET_INKA4X0
bool "Support inka4x0"
config TARGET_IPEK01
bool "Support ipek01"
config TARGET_JUPITER
bool "Support jupiter"
config TARGET_MCC200
bool "Support mcc200"
config TARGET_MOTIONPRO
bool "Support motionpro"
config TARGET_MUNICES
bool "Support munices"
config TARGET_PM520
bool "Support PM520"
config TARGET_TOTAL5200
bool "Support Total5200"
config TARGET_V38B
bool "Support v38b"
config TARGET_TOP5200
bool "Support TOP5200"
config TARGET_CPCI5200
bool "Support cpci5200"
config TARGET_MECP5200
bool "Support mecp5200"
config TARGET_PF5200
bool "Support pf5200"
config TARGET_O2D
bool "Support O2D"
config TARGET_O2D300
bool "Support O2D300"
config TARGET_O2DNT2
bool "Support O2DNT2"
config TARGET_O2I
bool "Support O2I"
config TARGET_O2MNT
bool "Support O2MNT"
config TARGET_O3DNT
bool "Support O3DNT"
config TARGET_DIGSY_MTC
bool "Support digsy_mtc"
config TARGET_HMI1001
bool "Support hmi1001"
config TARGET_MUCMC52
bool "Support mucmc52"
config TARGET_UC101
bool "Support uc101"
config TARGET_MVBC_P
bool "Support MVBC_P"
config TARGET_MVSMR
bool "Support MVSMR"
config TARGET_PCM030
bool "Support pcm030"
config TARGET_AEV
bool "Support aev"
config TARGET_CHARON
bool "Support charon"
config TARGET_TB5200
bool "Support TB5200"
config TARGET_TQM5200
bool "Support TQM5200"
endchoice
source "board/a3m071/Kconfig"
source "board/a4m072/Kconfig"
source "board/bc3450/Kconfig"
source "board/canmb/Kconfig"
source "board/cm5200/Kconfig"
source "board/emk/top5200/Kconfig"
source "board/esd/cpci5200/Kconfig"
source "board/esd/mecp5200/Kconfig"
source "board/esd/pf5200/Kconfig"
source "board/galaxy5200/Kconfig"
source "board/icecube/Kconfig"
source "board/ifm/o2dnt2/Kconfig"
source "board/inka4x0/Kconfig"
source "board/intercontrol/digsy_mtc/Kconfig"
source "board/ipek01/Kconfig"
source "board/jupiter/Kconfig"
source "board/manroland/hmi1001/Kconfig"
source "board/manroland/mucmc52/Kconfig"
source "board/manroland/uc101/Kconfig"
source "board/matrix_vision/mvbc_p/Kconfig"
source "board/matrix_vision/mvsmr/Kconfig"
source "board/mcc200/Kconfig"
source "board/motionpro/Kconfig"
source "board/munices/Kconfig"
source "board/phytec/pcm030/Kconfig"
source "board/pm520/Kconfig"
source "board/total5200/Kconfig"
source "board/tqc/tqm5200/Kconfig"
source "board/v38b/Kconfig"
endmenu

View File

@ -5,5 +5,4 @@
# SPDX-License-Identifier: GPL-2.0+
#
PLATFORM_CPPFLAGS += -DCONFIG_MPC5xxx \
-mstring -mcpu=603e -mmultiple
PLATFORM_CPPFLAGS += -mstring -mcpu=603e -mmultiple

View File

@ -0,0 +1,49 @@
menu "mpc824x CPU"
depends on MPC824X
config SYS_CPU
string
default "mpc824x"
choice
prompt "Target select"
config TARGET_A3000
bool "Support A3000"
config TARGET_CPC45
bool "Support CPC45"
config TARGET_CU824
bool "Support CU824"
config TARGET_EXALION
bool "Support eXalion"
config TARGET_MUSENKI
bool "Support MUSENKI"
config TARGET_MVBLUE
bool "Support MVBLUE"
config TARGET_SANDPOINT8240
bool "Support Sandpoint8240"
config TARGET_SANDPOINT8245
bool "Support Sandpoint8245"
config TARGET_UTX8245
bool "Support utx8245"
endchoice
source "board/a3000/Kconfig"
source "board/cpc45/Kconfig"
source "board/cu824/Kconfig"
source "board/eXalion/Kconfig"
source "board/musenki/Kconfig"
source "board/mvblue/Kconfig"
source "board/sandpoint/Kconfig"
source "board/utx8245/Kconfig"
endmenu

View File

@ -5,4 +5,4 @@
# SPDX-License-Identifier: GPL-2.0+
#
PLATFORM_CPPFLAGS += -DCONFIG_MPC824X -mstring -mcpu=603e -msoft-float
PLATFORM_CPPFLAGS += -mstring -mcpu=603e -msoft-float

View File

@ -0,0 +1,94 @@
menu "mpc8260 CPU"
depends on MPC8260
config SYS_CPU
string
default "mpc8260"
choice
prompt "Target select"
config TARGET_ATC
bool "Support atc"
config TARGET_COGENT_MPC8260
bool "Support cogent_mpc8260"
config TARGET_CPU86
bool "Support CPU86"
config TARGET_CPU87
bool "Support CPU87"
config TARGET_EP8260
bool "Support ep8260"
config TARGET_EP82XXM
bool "Support ep82xxm"
config TARGET_GW8260
bool "Support gw8260"
config TARGET_HYMOD
bool "Support hymod"
config TARGET_IPHASE4539
bool "Support IPHASE4539"
config TARGET_MUAS3001
bool "Support muas3001"
config TARGET_PM826
bool "Support PM826"
config TARGET_PM828
bool "Support PM828"
config TARGET_PPMC8260
bool "Support ppmc8260"
config TARGET_SACSNG
bool "Support sacsng"
config TARGET_MPC8266ADS
bool "Support MPC8266ADS"
config TARGET_VOVPN_GW
bool "Support VoVPN-GW"
config TARGET_IDS8247
bool "Support IDS8247"
config TARGET_KM82XX
bool "Support km82xx"
config TARGET_TQM8260
bool "Support TQM8260"
config TARGET_TQM8272
bool "Support TQM8272"
endchoice
source "board/atc/Kconfig"
source "board/cogent/Kconfig"
source "board/cpu86/Kconfig"
source "board/cpu87/Kconfig"
source "board/ep8260/Kconfig"
source "board/ep82xxm/Kconfig"
source "board/freescale/mpc8266ads/Kconfig"
source "board/funkwerk/vovpn-gw/Kconfig"
source "board/gw8260/Kconfig"
source "board/hymod/Kconfig"
source "board/ids/ids8247/Kconfig"
source "board/iphase4539/Kconfig"
source "board/keymile/km82xx/Kconfig"
source "board/muas3001/Kconfig"
source "board/pm826/Kconfig"
source "board/pm828/Kconfig"
source "board/ppmc8260/Kconfig"
source "board/sacsng/Kconfig"
source "board/tqc/tqm8260/Kconfig"
source "board/tqc/tqm8272/Kconfig"
endmenu

View File

@ -5,5 +5,5 @@
# SPDX-License-Identifier: GPL-2.0+
#
PLATFORM_CPPFLAGS += -DCONFIG_MPC8260 -DCONFIG_CPM2 \
PLATFORM_CPPFLAGS += -DCONFIG_CPM2 \
-mstring -mcpu=603e -mmultiple

View File

@ -0,0 +1,100 @@
menu "mpc83xx CPU"
depends on MPC83xx
config SYS_CPU
string
default "mpc83xx"
choice
prompt "Target select"
config TARGET_MPC8308_P1M
bool "Support mpc8308_p1m"
config TARGET_SBC8349
bool "Support sbc8349"
config TARGET_VE8313
bool "Support ve8313"
config TARGET_VME8349
bool "Support vme8349"
config TARGET_MPC8308RDB
bool "Support MPC8308RDB"
config TARGET_MPC8313ERDB
bool "Support MPC8313ERDB"
config TARGET_MPC8315ERDB
bool "Support MPC8315ERDB"
config TARGET_MPC8323ERDB
bool "Support MPC8323ERDB"
config TARGET_MPC832XEMDS
bool "Support MPC832XEMDS"
config TARGET_MPC8349EMDS
bool "Support MPC8349EMDS"
config TARGET_MPC8349ITX
bool "Support MPC8349ITX"
config TARGET_MPC8360EMDS
bool "Support MPC8360EMDS"
config TARGET_MPC8360ERDK
bool "Support MPC8360ERDK"
config TARGET_MPC837XEMDS
bool "Support MPC837XEMDS"
config TARGET_MPC837XERDB
bool "Support MPC837XERDB"
config TARGET_IDS8313
bool "Support ids8313"
config TARGET_KM8360
bool "Support km8360"
config TARGET_SUVD3
bool "Support suvd3"
config TARGET_TUXX1
bool "Support tuxx1"
config TARGET_MERGERBOX
bool "Support MERGERBOX"
config TARGET_MVBLM7
bool "Support MVBLM7"
config TARGET_TQM834X
bool "Support TQM834x"
endchoice
source "board/esd/vme8349/Kconfig"
source "board/freescale/mpc8308rdb/Kconfig"
source "board/freescale/mpc8313erdb/Kconfig"
source "board/freescale/mpc8315erdb/Kconfig"
source "board/freescale/mpc8323erdb/Kconfig"
source "board/freescale/mpc832xemds/Kconfig"
source "board/freescale/mpc8349emds/Kconfig"
source "board/freescale/mpc8349itx/Kconfig"
source "board/freescale/mpc8360emds/Kconfig"
source "board/freescale/mpc8360erdk/Kconfig"
source "board/freescale/mpc837xemds/Kconfig"
source "board/freescale/mpc837xerdb/Kconfig"
source "board/ids/ids8313/Kconfig"
source "board/keymile/km83xx/Kconfig"
source "board/matrix_vision/mergerbox/Kconfig"
source "board/matrix_vision/mvblm7/Kconfig"
source "board/mpc8308_p1m/Kconfig"
source "board/sbc8349/Kconfig"
source "board/tqc/tqm834x/Kconfig"
source "board/ve8313/Kconfig"
endmenu

View File

@ -4,4 +4,4 @@
# SPDX-License-Identifier: GPL-2.0+
#
PLATFORM_CPPFLAGS += -DCONFIG_MPC83xx -DCONFIG_E300 -msoft-float
PLATFORM_CPPFLAGS += -DCONFIG_E300 -msoft-float

View File

@ -20,7 +20,7 @@
#include <netdev.h>
#include <fsl_esdhc.h>
#if defined(CONFIG_BOOTCOUNT_LIMIT) && !defined(CONFIG_MPC831x)
#include <asm/immap_qe.h>
#include <linux/immap_qe.h>
#include <asm/io.h>
#endif

View File

@ -18,7 +18,7 @@ DECLARE_GLOBAL_DATA_PTR;
#if defined(CONFIG_BOOTCOUNT_LIMIT) && \
(defined(CONFIG_QE) && !defined(CONFIG_MPC831x))
#include <asm/immap_qe.h>
#include <linux/immap_qe.h>
void fdt_fixup_muram (void *blob)
{

View File

@ -0,0 +1,190 @@
menu "mpc85xx CPU"
depends on MPC85xx
config SYS_CPU
string
default "mpc85xx"
choice
prompt "Target select"
config TARGET_SBC8548
bool "Support sbc8548"
config TARGET_SOCRATES
bool "Support socrates"
config TARGET_HWW1U1A
bool "Support HWW1U1A"
config TARGET_B4860QDS
bool "Support B4860QDS"
config TARGET_BSC9131RDB
bool "Support BSC9131RDB"
config TARGET_BSC9132QDS
bool "Support BSC9132QDS"
config TARGET_C29XPCIE
bool "Support C29XPCIE"
config TARGET_P3041DS
bool "Support P3041DS"
config TARGET_P4080DS
bool "Support P4080DS"
config TARGET_P5020DS
bool "Support P5020DS"
config TARGET_P5040DS
bool "Support P5040DS"
config TARGET_MPC8536DS
bool "Support MPC8536DS"
config TARGET_MPC8540ADS
bool "Support MPC8540ADS"
config TARGET_MPC8541CDS
bool "Support MPC8541CDS"
config TARGET_MPC8544DS
bool "Support MPC8544DS"
config TARGET_MPC8548CDS
bool "Support MPC8548CDS"
config TARGET_MPC8555CDS
bool "Support MPC8555CDS"
config TARGET_MPC8560ADS
bool "Support MPC8560ADS"
config TARGET_MPC8568MDS
bool "Support MPC8568MDS"
config TARGET_MPC8569MDS
bool "Support MPC8569MDS"
config TARGET_MPC8572DS
bool "Support MPC8572DS"
config TARGET_P1010RDB
bool "Support P1010RDB"
config TARGET_P1022DS
bool "Support P1022DS"
config TARGET_P1023RDB
bool "Support P1023RDB"
config TARGET_P1_P2_RDB
bool "Support P1_P2_RDB"
config TARGET_P1_P2_RDB_PC
bool "Support p1_p2_rdb_pc"
config TARGET_P1_TWR
bool "Support p1_twr"
config TARGET_P2020COME
bool "Support P2020COME"
config TARGET_P2020DS
bool "Support P2020DS"
config TARGET_P2041RDB
bool "Support P2041RDB"
config TARGET_QEMU_PPCE500
bool "Support qemu-ppce500"
config TARGET_T1040QDS
bool "Support T1040QDS"
config TARGET_T104XRDB
bool "Support T104xRDB"
config TARGET_T208XQDS
bool "Support T208xQDS"
config TARGET_T208XRDB
bool "Support T208xRDB"
config TARGET_T4240EMU
bool "Support T4240EMU"
config TARGET_T4240QDS
bool "Support T4240QDS"
config TARGET_T4240RDB
bool "Support T4240RDB"
config TARGET_CONTROLCENTERD
bool "Support controlcenterd"
config TARGET_KMP204X
bool "Support kmp204x"
config TARGET_STXGP3
bool "Support stxgp3"
config TARGET_STXSSA
bool "Support stxssa"
config TARGET_XPEDITE520X
bool "Support xpedite520x"
config TARGET_XPEDITE537X
bool "Support xpedite537x"
config TARGET_XPEDITE550X
bool "Support xpedite550x"
endchoice
source "board/exmeritus/hww1u1a/Kconfig"
source "board/freescale/b4860qds/Kconfig"
source "board/freescale/bsc9131rdb/Kconfig"
source "board/freescale/bsc9132qds/Kconfig"
source "board/freescale/c29xpcie/Kconfig"
source "board/freescale/corenet_ds/Kconfig"
source "board/freescale/mpc8536ds/Kconfig"
source "board/freescale/mpc8540ads/Kconfig"
source "board/freescale/mpc8541cds/Kconfig"
source "board/freescale/mpc8544ds/Kconfig"
source "board/freescale/mpc8548cds/Kconfig"
source "board/freescale/mpc8555cds/Kconfig"
source "board/freescale/mpc8560ads/Kconfig"
source "board/freescale/mpc8568mds/Kconfig"
source "board/freescale/mpc8569mds/Kconfig"
source "board/freescale/mpc8572ds/Kconfig"
source "board/freescale/p1010rdb/Kconfig"
source "board/freescale/p1022ds/Kconfig"
source "board/freescale/p1023rdb/Kconfig"
source "board/freescale/p1_p2_rdb/Kconfig"
source "board/freescale/p1_p2_rdb_pc/Kconfig"
source "board/freescale/p1_twr/Kconfig"
source "board/freescale/p2020come/Kconfig"
source "board/freescale/p2020ds/Kconfig"
source "board/freescale/p2041rdb/Kconfig"
source "board/freescale/qemu-ppce500/Kconfig"
source "board/freescale/t1040qds/Kconfig"
source "board/freescale/t104xrdb/Kconfig"
source "board/freescale/t208xqds/Kconfig"
source "board/freescale/t208xrdb/Kconfig"
source "board/freescale/t4qds/Kconfig"
source "board/freescale/t4rdb/Kconfig"
source "board/gdsys/p1022/Kconfig"
source "board/keymile/kmp204x/Kconfig"
source "board/sbc8548/Kconfig"
source "board/socrates/Kconfig"
source "board/stx/stxgp3/Kconfig"
source "board/stx/stxssa/Kconfig"
source "board/xes/xpedite520x/Kconfig"
source "board/xes/xpedite537x/Kconfig"
source "board/xes/xpedite550x/Kconfig"
endmenu

View File

@ -5,7 +5,7 @@
# SPDX-License-Identifier: GPL-2.0+
#
PLATFORM_CPPFLAGS += -DCONFIG_MPC85xx -Wa,-me500 -msoft-float -mno-string
PLATFORM_CPPFLAGS += -Wa,-me500 -msoft-float -mno-string
# -mspe=yes is needed to have -mno-spe accepted by a buggy GCC;
# see "[PATCH,rs6000] make -mno-spe work as expected" on

View File

@ -310,6 +310,14 @@ __weak unsigned long get_tbclk (void)
#if defined(CONFIG_WATCHDOG)
#define WATCHDOG_MASK (TCR_WP(63) | TCR_WRC(3) | TCR_WIE)
void
init_85xx_watchdog(void)
{
mtspr(SPRN_TCR, (mfspr(SPRN_TCR) & ~WATCHDOG_MASK) |
TCR_WP(CONFIG_WATCHDOG_PRESC) | TCR_WRC(CONFIG_WATCHDOG_RC));
}
void
reset_85xx_watchdog(void)
{

View File

@ -200,7 +200,7 @@ void config_8560_ioports (volatile ccsr_cpm_t * cpm)
#ifdef CONFIG_SYS_FSL_CPC
#if defined(CONFIG_RAMBOOT_PBL) || defined(CONFIG_SYS_CPC_REINIT_F)
static void disable_cpc_sram(void)
void disable_cpc_sram(void)
{
int i;
@ -251,7 +251,7 @@ static void enable_tdm_law(void)
}
#endif
static void enable_cpc(void)
void enable_cpc(void)
{
int i;
u32 size = 0;
@ -306,6 +306,7 @@ static void invalidate_cpc(void)
#else
#define enable_cpc()
#define invalidate_cpc()
#define disable_cpc_sram()
#endif /* CONFIG_SYS_FSL_CPC */
/*
@ -520,7 +521,8 @@ int enable_cluster_l2(void)
u32 idx = (cluster >> (j*8)) & TP_CLUSTER_INIT_MASK;
u32 type = in_be32(&gur->tp_ityp[idx]);
if (type & TP_ITYP_AV)
if ((type & TP_ITYP_AV) &&
TP_ITYP_TYPE(type) == TP_ITYP_TYPE_PPC)
cluster_valid = 1;
}
@ -545,88 +547,15 @@ int enable_cluster_l2(void)
/*
* Initialize L2 as cache.
*
* The newer 8548, etc, parts have twice as much cache, but
* use the same bit-encoding as the older 8555, etc, parts.
*
*/
int cpu_init_r(void)
int l2cache_init(void)
{
__maybe_unused u32 svr = get_svr();
#ifdef CONFIG_SYS_LBC_LCRR
fsl_lbc_t *lbc = (void __iomem *)LBC_BASE_ADDR;
#endif
#ifdef CONFIG_L2_CACHE
ccsr_l2cache_t *l2cache = (void __iomem *)CONFIG_SYS_MPC85xx_L2_ADDR;
#elif defined(CONFIG_SYS_FSL_QORIQ_CHASSIS2) && defined(CONFIG_E6500)
struct ccsr_cluster_l2 * l2cache = (void __iomem *)CONFIG_SYS_FSL_CLUSTER_1_L2;
#endif
#if defined(CONFIG_PPC_SPINTABLE_COMPATIBLE) && defined(CONFIG_MP)
extern int spin_table_compat;
const char *spin;
#endif
#ifdef CONFIG_SYS_FSL_ERRATUM_SEC_A003571
ccsr_sec_t __iomem *sec = (void *)CONFIG_SYS_FSL_SEC_ADDR;
#endif
#if defined(CONFIG_SYS_P4080_ERRATUM_CPU22) || \
defined(CONFIG_SYS_FSL_ERRATUM_NMG_CPU_A011)
/*
* CPU22 and NMG_CPU_A011 share the same workaround.
* CPU22 applies to P4080 rev 1.0, 2.0, fixed in 3.0
* NMG_CPU_A011 applies to P4080 rev 1.0, 2.0, fixed in 3.0
* also applies to P3041 rev 1.0, 1.1, P2041 rev 1.0, 1.1, both
* fixed in 2.0. NMG_CPU_A011 is activated by default and can
* be disabled by hwconfig with syntax:
*
* fsl_cpu_a011:disable
*/
extern int enable_cpu_a011_workaround;
#ifdef CONFIG_SYS_P4080_ERRATUM_CPU22
enable_cpu_a011_workaround = (SVR_MAJ(svr) < 3);
#else
char buffer[HWCONFIG_BUFFER_SIZE];
char *buf = NULL;
int n, res;
n = getenv_f("hwconfig", buffer, sizeof(buffer));
if (n > 0)
buf = buffer;
res = hwconfig_arg_cmp_f("fsl_cpu_a011", "disable", buf);
if (res > 0)
enable_cpu_a011_workaround = 0;
else {
if (n >= HWCONFIG_BUFFER_SIZE) {
printf("fsl_cpu_a011 was not found. hwconfig variable "
"may be too long\n");
}
enable_cpu_a011_workaround =
(SVR_SOC_VER(svr) == SVR_P4080 && SVR_MAJ(svr) < 3) ||
(SVR_SOC_VER(svr) != SVR_P4080 && SVR_MAJ(svr) < 2);
}
#endif
if (enable_cpu_a011_workaround) {
flush_dcache();
mtspr(L1CSR2, (mfspr(L1CSR2) | L1CSR2_DCWS));
sync();
}
#endif
#ifdef CONFIG_SYS_FSL_ERRATUM_A005812
/*
* A-005812 workaround sets bit 32 of SPR 976 for SoCs running
* in write shadow mode. Checking DCWS before setting SPR 976.
*/
if (mfspr(L1CSR2) & L1CSR2_DCWS)
mtspr(SPRN_HDBCR0, (mfspr(SPRN_HDBCR0) | 0x80000000));
#endif
#if defined(CONFIG_PPC_SPINTABLE_COMPATIBLE) && defined(CONFIG_MP)
spin = getenv("spin_table_compat");
if (spin && (*spin == 'n'))
spin_table_compat = 0;
else
spin_table_compat = 1;
#endif
puts ("L2: ");
@ -751,6 +680,89 @@ skip_l2:
puts("disabled\n");
#endif
return 0;
}
/*
*
* The newer 8548, etc, parts have twice as much cache, but
* use the same bit-encoding as the older 8555, etc, parts.
*
*/
int cpu_init_r(void)
{
__maybe_unused u32 svr = get_svr();
#ifdef CONFIG_SYS_LBC_LCRR
fsl_lbc_t *lbc = (void __iomem *)LBC_BASE_ADDR;
#endif
#if defined(CONFIG_PPC_SPINTABLE_COMPATIBLE) && defined(CONFIG_MP)
extern int spin_table_compat;
const char *spin;
#endif
#ifdef CONFIG_SYS_FSL_ERRATUM_SEC_A003571
ccsr_sec_t __iomem *sec = (void *)CONFIG_SYS_FSL_SEC_ADDR;
#endif
#if defined(CONFIG_SYS_P4080_ERRATUM_CPU22) || \
defined(CONFIG_SYS_FSL_ERRATUM_NMG_CPU_A011)
/*
* CPU22 and NMG_CPU_A011 share the same workaround.
* CPU22 applies to P4080 rev 1.0, 2.0, fixed in 3.0
* NMG_CPU_A011 applies to P4080 rev 1.0, 2.0, fixed in 3.0
* also applies to P3041 rev 1.0, 1.1, P2041 rev 1.0, 1.1, both
* fixed in 2.0. NMG_CPU_A011 is activated by default and can
* be disabled by hwconfig with syntax:
*
* fsl_cpu_a011:disable
*/
extern int enable_cpu_a011_workaround;
#ifdef CONFIG_SYS_P4080_ERRATUM_CPU22
enable_cpu_a011_workaround = (SVR_MAJ(svr) < 3);
#else
char buffer[HWCONFIG_BUFFER_SIZE];
char *buf = NULL;
int n, res;
n = getenv_f("hwconfig", buffer, sizeof(buffer));
if (n > 0)
buf = buffer;
res = hwconfig_arg_cmp_f("fsl_cpu_a011", "disable", buf);
if (res > 0) {
enable_cpu_a011_workaround = 0;
} else {
if (n >= HWCONFIG_BUFFER_SIZE) {
printf("fsl_cpu_a011 was not found. hwconfig variable "
"may be too long\n");
}
enable_cpu_a011_workaround =
(SVR_SOC_VER(svr) == SVR_P4080 && SVR_MAJ(svr) < 3) ||
(SVR_SOC_VER(svr) != SVR_P4080 && SVR_MAJ(svr) < 2);
}
#endif
if (enable_cpu_a011_workaround) {
flush_dcache();
mtspr(L1CSR2, (mfspr(L1CSR2) | L1CSR2_DCWS));
sync();
}
#endif
#ifdef CONFIG_SYS_FSL_ERRATUM_A005812
/*
* A-005812 workaround sets bit 32 of SPR 976 for SoCs running
* in write shadow mode. Checking DCWS before setting SPR 976.
*/
if (mfspr(L1CSR2) & L1CSR2_DCWS)
mtspr(SPRN_HDBCR0, (mfspr(SPRN_HDBCR0) | 0x80000000));
#endif
#if defined(CONFIG_PPC_SPINTABLE_COMPATIBLE) && defined(CONFIG_MP)
spin = getenv("spin_table_compat");
if (spin && (*spin == 'n'))
spin_table_compat = 0;
else
spin_table_compat = 1;
#endif
l2cache_init();
#if defined(CONFIG_RAMBOOT_PBL)
disable_cpc_sram();
#endif

View File

@ -612,6 +612,51 @@ static void fdt_fixup_usb(void *fdt)
#define fdt_fixup_usb(x)
#endif
#if defined(CONFIG_PPC_T2080) || defined(CONFIG_PPC_T4240) || \
defined(CONFIG_PPC_T4160) || defined(CONFIG_PPC_T4080)
void fdt_fixup_dma3(void *blob)
{
/* the 3rd DMA is not functional if SRIO2 is chosen */
int nodeoff;
ccsr_gur_t __iomem *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
#define CONFIG_SYS_ELO3_DMA3 (0xffe000000 + 0x102300)
#if defined(CONFIG_PPC_T2080)
u32 srds_prtcl_s2 = in_be32(&gur->rcwsr[4]) &
FSL_CORENET2_RCWSR4_SRDS2_PRTCL;
srds_prtcl_s2 >>= FSL_CORENET2_RCWSR4_SRDS2_PRTCL_SHIFT;
switch (srds_prtcl_s2) {
case 0x29:
case 0x2d:
case 0x2e:
#elif defined(CONFIG_PPC_T4240) || defined(CONFIG_PPC_T4160) || \
defined(CONFIG_PPC_T4080)
u32 srds_prtcl_s4 = in_be32(&gur->rcwsr[4]) &
FSL_CORENET2_RCWSR4_SRDS4_PRTCL;
srds_prtcl_s4 >>= FSL_CORENET2_RCWSR4_SRDS4_PRTCL_SHIFT;
switch (srds_prtcl_s4) {
case 6:
case 8:
case 14:
case 16:
#endif
nodeoff = fdt_node_offset_by_compat_reg(blob, "fsl,elo3-dma",
CONFIG_SYS_ELO3_DMA3);
if (nodeoff > 0)
fdt_status_disabled(blob, nodeoff);
else
printf("WARNING: unable to disable dma3\n");
break;
default:
break;
}
}
#else
#define fdt_fixup_dma3(x)
#endif
#if defined(CONFIG_PPC_T1040)
static void fdt_fixup_l2_switch(void *blob)
{
@ -778,6 +823,8 @@ void ft_cpu_setup(void *blob, bd_t *bd)
fdt_fixup_usb(blob);
fdt_fixup_l2_switch(blob);
fdt_fixup_dma3(blob);
}
/*

View File

@ -42,7 +42,7 @@ int interrupt_init_cpu(unsigned int *decrementer_count)
*decrementer_count = get_tbclk() / CONFIG_SYS_HZ;
/* PIE is same as DIE, dec interrupt enable */
mtspr(SPRN_TCR, TCR_PIE);
mtspr(SPRN_TCR, mfspr(SPRN_TCR) | TCR_PIE);
#ifdef CONFIG_INTERRUPTS
pic->iivpr1 = 0x810001; /* 50220 enable ecm interrupts */

View File

@ -0,0 +1,30 @@
menu "mpc86xx CPU"
depends on MPC86xx
config SYS_CPU
string
default "mpc86xx"
choice
prompt "Target select"
config TARGET_SBC8641D
bool "Support sbc8641d"
config TARGET_MPC8610HPCD
bool "Support MPC8610HPCD"
config TARGET_MPC8641HPCN
bool "Support MPC8641HPCN"
config TARGET_XPEDITE517X
bool "Support xpedite517x"
endchoice
source "board/freescale/mpc8610hpcd/Kconfig"
source "board/freescale/mpc8641hpcn/Kconfig"
source "board/sbc8641d/Kconfig"
source "board/xes/xpedite517x/Kconfig"
endmenu

View File

@ -5,4 +5,4 @@
# SPDX-License-Identifier: GPL-2.0+
#
PLATFORM_CPPFLAGS += -DCONFIG_MPC86xx -mstring -maltivec -mabi=altivec -msoft-float
PLATFORM_CPPFLAGS += -mstring -maltivec -mabi=altivec -msoft-float

View File

@ -0,0 +1,160 @@
menu "mpc8xx CPU"
depends on 8xx
config SYS_CPU
string
default "mpc8xx"
choice
prompt "Target select"
config TARGET_COGENT_MPC8XX
bool "Support cogent_mpc8xx"
config TARGET_ESTEEM192E
bool "Support ESTEEM192E"
config TARGET_FLAGADM
bool "Support FLAGADM"
config TARGET_GEN860T
bool "Support GEN860T"
config TARGET_HERMES
bool "Support hermes"
config TARGET_ICU862
bool "Support ICU862"
config TARGET_IP860
bool "Support IP860"
config TARGET_IVML24
bool "Support IVML24"
config TARGET_IVMS8
bool "Support IVMS8"
config TARGET_LWMON
bool "Support lwmon"
config TARGET_NETVIA
bool "Support NETVIA"
config TARGET_R360MPI
bool "Support R360MPI"
config TARGET_RRVISION
bool "Support RRvision"
config TARGET_SXNI855T
bool "Support SXNI855T"
config TARGET_SPD823TS
bool "Support SPD823TS"
config TARGET_SVM_SC8XX
bool "Support svm_sc8xx"
config TARGET_MHPC
bool "Support MHPC"
config TARGET_TOP860
bool "Support TOP860"
config TARGET_KUP4K
bool "Support KUP4K"
config TARGET_KUP4X
bool "Support KUP4X"
config TARGET_ELPT860
bool "Support ELPT860"
config TARGET_UC100
bool "Support uc100"
config TARGET_STXXTC
bool "Support stxxtc"
config TARGET_FPS850L
bool "Support FPS850L"
config TARGET_FPS860L
bool "Support FPS860L"
config TARGET_NSCU
bool "Support NSCU"
config TARGET_SM850
bool "Support SM850"
config TARGET_TK885D
bool "Support TK885D"
config TARGET_TQM823L
bool "Support TQM823L"
config TARGET_TQM823M
bool "Support TQM823M"
config TARGET_TQM850L
bool "Support TQM850L"
config TARGET_TQM850M
bool "Support TQM850M"
config TARGET_TQM855L
bool "Support TQM855L"
config TARGET_TQM855M
bool "Support TQM855M"
config TARGET_TQM860L
bool "Support TQM860L"
config TARGET_TQM860M
bool "Support TQM860M"
config TARGET_TQM862L
bool "Support TQM862L"
config TARGET_TQM862M
bool "Support TQM862M"
config TARGET_TQM866M
bool "Support TQM866M"
config TARGET_TQM885D
bool "Support TQM885D"
config TARGET_VIRTLAB2
bool "Support virtlab2"
endchoice
source "board/LEOX/elpt860/Kconfig"
source "board/RRvision/Kconfig"
source "board/cogent/Kconfig"
source "board/eltec/mhpc/Kconfig"
source "board/emk/top860/Kconfig"
source "board/esteem192e/Kconfig"
source "board/flagadm/Kconfig"
source "board/gen860t/Kconfig"
source "board/hermes/Kconfig"
source "board/icu862/Kconfig"
source "board/ip860/Kconfig"
source "board/ivm/Kconfig"
source "board/kup/kup4k/Kconfig"
source "board/kup/kup4x/Kconfig"
source "board/lwmon/Kconfig"
source "board/manroland/uc100/Kconfig"
source "board/netvia/Kconfig"
source "board/r360mpi/Kconfig"
source "board/sixnet/Kconfig"
source "board/spd8xx/Kconfig"
source "board/stx/stxxtc/Kconfig"
source "board/svm_sc8xx/Kconfig"
source "board/tqc/tqm8xx/Kconfig"
endmenu

View File

@ -5,4 +5,4 @@
# SPDX-License-Identifier: GPL-2.0+
#
PLATFORM_CPPFLAGS += -DCONFIG_8xx -mstring -mcpu=860 -msoft-float
PLATFORM_CPPFLAGS += -mstring -mcpu=860 -msoft-float

View File

@ -65,7 +65,6 @@ static struct cpu_type cpu_type_list[] = {
CPU_TYPE_ENTRY(T4080, T4080, 4),
CPU_TYPE_ENTRY(B4860, B4860, 0),
CPU_TYPE_ENTRY(G4860, G4860, 0),
CPU_TYPE_ENTRY(G4060, G4060, 0),
CPU_TYPE_ENTRY(B4440, B4440, 0),
CPU_TYPE_ENTRY(B4460, B4460, 0),
CPU_TYPE_ENTRY(G4440, G4440, 0),

View File

@ -0,0 +1,322 @@
menu "ppc4xx CPU"
depends on 4xx
config SYS_CPU
string
default "ppc4xx"
choice
prompt "Target select"
config TARGET_CSB272
bool "Support csb272"
config TARGET_CSB472
bool "Support csb472"
config TARGET_G2000
bool "Support G2000"
config TARGET_JSE
bool "Support JSE"
config TARGET_KORAT
bool "Support korat"
config TARGET_LWMON5
bool "Support lwmon5"
config TARGET_PCS440EP
bool "Support pcs440ep"
config TARGET_SBC405
bool "Support sbc405"
config TARGET_SC3
bool "Support sc3"
config TARGET_T3CORP
bool "Support t3corp"
config TARGET_W7OLMC
bool "Support W7OLMC"
config TARGET_W7OLMG
bool "Support W7OLMG"
config TARGET_ZEUS
bool "Support zeus"
config TARGET_ACADIA
bool "Support acadia"
config TARGET_BAMBOO
bool "Support bamboo"
config TARGET_BLUESTONE
bool "Support bluestone"
config TARGET_BUBINGA
bool "Support bubinga"
config TARGET_CANYONLANDS
bool "Support canyonlands"
config TARGET_EBONY
bool "Support ebony"
config TARGET_KATMAI
bool "Support katmai"
config TARGET_KILAUEA
bool "Support kilauea"
config TARGET_LUAN
bool "Support luan"
config TARGET_MAKALU
bool "Support makalu"
config TARGET_OCOTEA
bool "Support ocotea"
config TARGET_REDWOOD
bool "Support redwood"
config TARGET_SEQUOIA
bool "Support sequoia"
config TARGET_TAIHU
bool "Support taihu"
config TARGET_TAISHAN
bool "Support taishan"
config TARGET_WALNUT
bool "Support walnut"
config TARGET_YOSEMITE
bool "Support yosemite"
config TARGET_YUCCA
bool "Support yucca"
config TARGET_FX12MM
bool "Support fx12mm"
config TARGET_V5FX30TEVAL
bool "Support v5fx30teval"
config TARGET_CRAYL1
bool "Support CRAYL1"
config TARGET_CATCENTER
bool "Support CATcenter"
config TARGET_PPCHAMELEONEVB
bool "Support PPChameleonEVB"
config TARGET_APC405
bool "Support APC405"
config TARGET_AR405
bool "Support AR405"
config TARGET_ASH405
bool "Support ASH405"
config TARGET_CMS700
bool "Support CMS700"
config TARGET_CPCI2DP
bool "Support CPCI2DP"
config TARGET_CPCI405
bool "Support CPCI405"
config TARGET_CPCI4052
bool "Support CPCI4052"
config TARGET_CPCI405AB
bool "Support CPCI405AB"
config TARGET_CPCI405DT
bool "Support CPCI405DT"
config TARGET_CPCIISER4
bool "Support CPCIISER4"
config TARGET_DP405
bool "Support DP405"
config TARGET_DU405
bool "Support DU405"
config TARGET_DU440
bool "Support DU440"
config TARGET_HH405
bool "Support HH405"
config TARGET_HUB405
bool "Support HUB405"
config TARGET_OCRTC
bool "Support OCRTC"
config TARGET_PCI405
bool "Support PCI405"
config TARGET_PLU405
bool "Support PLU405"
config TARGET_PMC405
bool "Support PMC405"
config TARGET_PMC405DE
bool "Support PMC405DE"
config TARGET_PMC440
bool "Support PMC440"
config TARGET_VOH405
bool "Support VOH405"
config TARGET_VOM405
bool "Support VOM405"
config TARGET_WUH405
bool "Support WUH405"
config TARGET_DLVISION_10G
bool "Support dlvision-10g"
config TARGET_IO
bool "Support io"
config TARGET_IOCON
bool "Support iocon"
config TARGET_NEO
bool "Support neo"
config TARGET_IO64
bool "Support io64"
config TARGET_DLVISION
bool "Support dlvision"
config TARGET_GDPPC440ETX
bool "Support gdppc440etx"
config TARGET_INTIP
bool "Support intip"
config TARGET_ICON
bool "Support icon"
config TARGET_MIP405
bool "Support MIP405"
config TARGET_PIP405
bool "Support PIP405"
config TARGET_ALPR
bool "Support alpr"
config TARGET_P3P440
bool "Support p3p440"
config TARGET_KAREF
bool "Support KAREF"
config TARGET_METROBOX
bool "Support METROBOX"
config TARGET_XPEDITE1000
bool "Support xpedite1000"
config TARGET_ML507
bool "Support ml507"
config TARGET_XILINX_PPC405_GENERIC
bool "Support xilinx-ppc405-generic"
config TARGET_XILINX_PPC440_GENERIC
bool "Support xilinx-ppc440-generic"
endchoice
source "board/amcc/acadia/Kconfig"
source "board/amcc/bamboo/Kconfig"
source "board/amcc/bluestone/Kconfig"
source "board/amcc/bubinga/Kconfig"
source "board/amcc/canyonlands/Kconfig"
source "board/amcc/ebony/Kconfig"
source "board/amcc/katmai/Kconfig"
source "board/amcc/kilauea/Kconfig"
source "board/amcc/luan/Kconfig"
source "board/amcc/makalu/Kconfig"
source "board/amcc/ocotea/Kconfig"
source "board/amcc/redwood/Kconfig"
source "board/amcc/sequoia/Kconfig"
source "board/amcc/taihu/Kconfig"
source "board/amcc/taishan/Kconfig"
source "board/amcc/walnut/Kconfig"
source "board/amcc/yosemite/Kconfig"
source "board/amcc/yucca/Kconfig"
source "board/avnet/fx12mm/Kconfig"
source "board/avnet/v5fx30teval/Kconfig"
source "board/cray/L1/Kconfig"
source "board/csb272/Kconfig"
source "board/csb472/Kconfig"
source "board/dave/PPChameleonEVB/Kconfig"
source "board/esd/apc405/Kconfig"
source "board/esd/ar405/Kconfig"
source "board/esd/ash405/Kconfig"
source "board/esd/cms700/Kconfig"
source "board/esd/cpci2dp/Kconfig"
source "board/esd/cpci405/Kconfig"
source "board/esd/cpciiser4/Kconfig"
source "board/esd/dp405/Kconfig"
source "board/esd/du405/Kconfig"
source "board/esd/du440/Kconfig"
source "board/esd/hh405/Kconfig"
source "board/esd/hub405/Kconfig"
source "board/esd/ocrtc/Kconfig"
source "board/esd/pci405/Kconfig"
source "board/esd/plu405/Kconfig"
source "board/esd/pmc405/Kconfig"
source "board/esd/pmc405de/Kconfig"
source "board/esd/pmc440/Kconfig"
source "board/esd/voh405/Kconfig"
source "board/esd/vom405/Kconfig"
source "board/esd/wuh405/Kconfig"
source "board/g2000/Kconfig"
source "board/gdsys/405ep/Kconfig"
source "board/gdsys/405ex/Kconfig"
source "board/gdsys/dlvision/Kconfig"
source "board/gdsys/gdppc440etx/Kconfig"
source "board/gdsys/intip/Kconfig"
source "board/jse/Kconfig"
source "board/korat/Kconfig"
source "board/lwmon5/Kconfig"
source "board/mosaixtech/icon/Kconfig"
source "board/mpl/mip405/Kconfig"
source "board/mpl/pip405/Kconfig"
source "board/pcs440ep/Kconfig"
source "board/prodrive/alpr/Kconfig"
source "board/prodrive/p3p440/Kconfig"
source "board/sandburst/karef/Kconfig"
source "board/sandburst/metrobox/Kconfig"
source "board/sbc405/Kconfig"
source "board/sc3/Kconfig"
source "board/t3corp/Kconfig"
source "board/w7o/Kconfig"
source "board/xes/xpedite1000/Kconfig"
source "board/xilinx/ml507/Kconfig"
source "board/xilinx/ppc405-generic/Kconfig"
source "board/xilinx/ppc440-generic/Kconfig"
source "board/zeus/Kconfig"
endmenu

View File

@ -5,10 +5,10 @@
# SPDX-License-Identifier: GPL-2.0+
#
PLATFORM_CPPFLAGS += -DCONFIG_4xx -mstring -msoft-float
PLATFORM_CPPFLAGS += -mstring -msoft-float
cfg=$(shell grep configs $(objtree)/include/config.h | sed 's/.*<\(configs.*\)>/\1/')
is440:=$(shell grep CONFIG_440 $(srctree)/include/$(cfg))
cfg=$(srctree)/include/configs/$(CONFIG_SYS_CONFIG_NAME:"%"=%).h
is440:=$(shell grep CONFIG_440 $(cfg))
ifneq (,$(findstring CONFIG_440,$(is440)))
PLATFORM_CPPFLAGS += -Wa,-m440 -mcpu=440

View File

@ -12,9 +12,7 @@
#include <asm/ppc4xx-gpio.h>
#include <asm/ppc4xx.h>
#if defined(CONFIG_405GP) || defined(CONFIG_405EP)
DECLARE_GLOBAL_DATA_PTR;
#endif
#ifndef CONFIG_SYS_PLL_RECONFIG
#define CONFIG_SYS_PLL_RECONFIG 0
@ -451,6 +449,8 @@ cpu_init_f (void)
mtdcr(PLB4A1_ACR, (mfdcr(PLB4A1_ACR) & ~PLB4Ax_ACR_RDP_MASK) |
PLB4Ax_ACR_RDP_4DEEP);
#endif /* CONFIG_440SP/SPE || CONFIG_460EX/GT || CONFIG_405EX */
gd = (gd_t *)(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_GBL_DATA_OFFSET);
}
/*

View File

@ -57,6 +57,12 @@ extern void unlock_ram_in_cache(void);
#endif /* CONFIG_SYS_INIT_RAM_LOCK */
#endif /* __ASSEMBLY__ */
#if defined(__KERNEL__) && !defined(__ASSEMBLY__)
int l2cache_init(void);
void enable_cpc(void);
void disable_cpc_sram(void);
#endif
/* prep registers for L2 */
#define CACHECRBA 0x80000823 /* Cache configuration register address */
#define L2CACHE_MASK 0x03 /* Mask for 2 L2 Cache bits */

View File

@ -2905,6 +2905,8 @@ struct ccsr_sfp_regs {
#endif
#define CONFIG_SYS_FSL_CORENET_SERDES_OFFSET 0xEA000
#define CONFIG_SYS_FSL_CORENET_SERDES2_OFFSET 0xEB000
#define CONFIG_SYS_FSL_CORENET_SERDES3_OFFSET 0xEC000
#define CONFIG_SYS_FSL_CORENET_SERDES4_OFFSET 0xED000
#define CONFIG_SYS_FSL_CPC_OFFSET 0x10000
#define CONFIG_SYS_FSL_SCFG_OFFSET 0xFC000
#define CONFIG_SYS_MPC85xx_DMA1_OFFSET 0x100000
@ -3090,6 +3092,10 @@ struct ccsr_sfp_regs {
(CONFIG_SYS_IMMR + CONFIG_SYS_FSL_CORENET_SERDES_OFFSET)
#define CONFIG_SYS_FSL_CORENET_SERDES2_ADDR \
(CONFIG_SYS_IMMR + CONFIG_SYS_FSL_CORENET_SERDES2_OFFSET)
#define CONFIG_SYS_FSL_CORENET_SERDES3_ADDR \
(CONFIG_SYS_IMMR + CONFIG_SYS_FSL_CORENET_SERDES3_OFFSET)
#define CONFIG_SYS_FSL_CORENET_SERDES4_ADDR \
(CONFIG_SYS_IMMR + CONFIG_SYS_FSL_CORENET_SERDES4_OFFSET)
#define CONFIG_SYS_MPC85xx_USB1_ADDR \
(CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_USB1_OFFSET)
#define CONFIG_SYS_MPC85xx_USB2_ADDR \

View File

@ -123,6 +123,9 @@ static inline void isync(void)
#define iobarrier_r() eieio()
#define iobarrier_w() eieio()
#define mb() sync()
#define isb() isync()
/*
* Non ordered and non-swapping "raw" accessors
*/

View File

@ -378,11 +378,16 @@
#else
#define SPRN_TCR 0x154 /* Book E Timer Control Register */
#endif /* CONFIG_BOOKE */
#ifdef CONFIG_E500MC
#define TCR_WP(x) (((64-x)&0x3)<<30)| \
(((64-x)&0x3c)<<15) /* WDT Period 2^x clocks*/
#else
#define TCR_WP(x) (((x)&0x3)<<30) /* WDT Period */
#define WP_2_17 0 /* 2^17 clocks */
#define WP_2_21 1 /* 2^21 clocks */
#define WP_2_25 2 /* 2^25 clocks */
#define WP_2_29 3 /* 2^29 clocks */
#endif /* CONFIG_E500 */
#define TCR_WRC(x) (((x)&0x3)<<28) /* WDT Reset Control */
#define WRC_NONE 0 /* No reset will occur */
#define WRC_CORE 1 /* Core reset will occur */
@ -1118,7 +1123,6 @@
#define SVR_B4860 0X868000
#define SVR_G4860 0x868001
#define SVR_B4460 0x868003
#define SVR_G4060 0x868003
#define SVR_B4440 0x868100
#define SVR_G4440 0x868101
#define SVR_B4420 0x868102

View File

@ -226,6 +226,9 @@ static int init_func_spi(void)
#if defined(CONFIG_WATCHDOG)
int init_func_watchdog_init(void)
{
#if defined(CONFIG_MPC85xx)
init_85xx_watchdog();
#endif
puts(" Watchdog enabled\n");
WATCHDOG_RESET();
return 0;
@ -370,6 +373,11 @@ void board_init_f(ulong bootflag)
#ifdef CONFIG_DEEP_SLEEP
/* Jump to kernel in deep sleep case */
if (in_be32(&gur->scrtsr[0]) & (1 << 3)) {
l2cache_init();
#if defined(CONFIG_RAMBOOT_PBL)
disable_cpc_sram();
#endif
enable_cpc();
start_addr = in_be32(&scfg->sparecr[1]);
kernel_resume = (func_t)start_addr;
kernel_resume();

16
arch/sandbox/Kconfig Normal file
View File

@ -0,0 +1,16 @@
menu "Sandbox architecture"
depends on SANDBOX
config SYS_ARCH
string
default "sandbox"
config SYS_BOARD
string
default "sandbox"
config SYS_CONFIG_NAME
string
default "sandbox"
endmenu

View File

@ -1,7 +1,7 @@
# Copyright (c) 2011 The Chromium OS Authors.
# SPDX-License-Identifier: GPL-2.0+
PLATFORM_CPPFLAGS += -DCONFIG_SANDBOX -D__SANDBOX__ -U_FORTIFY_SOURCE
PLATFORM_CPPFLAGS += -D__SANDBOX__ -U_FORTIFY_SOURCE
PLATFORM_CPPFLAGS += -DCONFIG_ARCH_MAP_SYSMEM -DCONFIG_SYS_GENERIC_BOARD
PLATFORM_LIBS += -lrt

98
arch/sh/Kconfig Normal file
View File

@ -0,0 +1,98 @@
menu "SuperH architecture"
depends on SH
config SYS_ARCH
string
default "sh"
choice
prompt "Target select"
config TARGET_RSK7203
bool "Support rsk7203"
config TARGET_RSK7264
bool "Support rsk7264"
config TARGET_RSK7269
bool "Support rsk7269"
config TARGET_MPR2
bool "Support mpr2"
config TARGET_MS7720SE
bool "Support ms7720se"
config TARGET_SHMIN
bool "Support shmin"
config TARGET_ESPT
bool "Support espt"
config TARGET_MS7722SE
bool "Support ms7722se"
config TARGET_MS7750SE
bool "Support ms7750se"
config TARGET_AP_SH4A_4A
bool "Support ap_sh4a_4a"
config TARGET_AP325RXA
bool "Support ap325rxa"
config TARGET_ECOVEC
bool "Support ecovec"
config TARGET_MIGOR
bool "Support MigoR"
config TARGET_R0P7734
bool "Support r0p7734"
config TARGET_R2DPLUS
bool "Support r2dplus"
config TARGET_R7780MP
bool "Support r7780mp"
config TARGET_SH7752EVB
bool "Support sh7752evb"
config TARGET_SH7753EVB
bool "Support sh7753evb"
config TARGET_SH7757LCR
bool "Support sh7757lcr"
config TARGET_SH7763RDP
bool "Support sh7763rdp"
config TARGET_SH7785LCR
bool "Support sh7785lcr"
endchoice
source "board/alphaproject/ap_sh4a_4a/Kconfig"
source "board/espt/Kconfig"
source "board/mpr2/Kconfig"
source "board/ms7720se/Kconfig"
source "board/ms7722se/Kconfig"
source "board/ms7750se/Kconfig"
source "board/renesas/MigoR/Kconfig"
source "board/renesas/ap325rxa/Kconfig"
source "board/renesas/ecovec/Kconfig"
source "board/renesas/r0p7734/Kconfig"
source "board/renesas/r2dplus/Kconfig"
source "board/renesas/r7780mp/Kconfig"
source "board/renesas/rsk7203/Kconfig"
source "board/renesas/rsk7264/Kconfig"
source "board/renesas/rsk7269/Kconfig"
source "board/renesas/sh7752evb/Kconfig"
source "board/renesas/sh7753evb/Kconfig"
source "board/renesas/sh7757lcr/Kconfig"
source "board/renesas/sh7763rdp/Kconfig"
source "board/renesas/sh7785lcr/Kconfig"
source "board/shmin/Kconfig"
endmenu

34
arch/sparc/Kconfig Normal file
View File

@ -0,0 +1,34 @@
menu "SPARC architecture"
depends on SPARC
config SYS_ARCH
string
default "sparc"
choice
prompt "Target select"
config TARGET_GRSIM_LEON2
bool "Support grsim_leon2"
config TARGET_GR_CPCI_AX2000
bool "Support gr_cpci_ax2000"
config TARGET_GR_EP2S60
bool "Support gr_ep2s60"
config TARGET_GR_XC3S_1500
bool "Support gr_xc3s_1500"
config TARGET_GRSIM
bool "Support grsim"
endchoice
source "board/gaisler/gr_cpci_ax2000/Kconfig"
source "board/gaisler/gr_ep2s60/Kconfig"
source "board/gaisler/gr_xc3s_1500/Kconfig"
source "board/gaisler/grsim/Kconfig"
source "board/gaisler/grsim_leon2/Kconfig"
endmenu

View File

@ -14,4 +14,4 @@ gcclibdir := $(shell dirname `$(CC) -print-libgcc-file-name`)
CONFIG_STANDALONE_LOAD_ADDR ?= 0x00000000 -L $(gcclibdir) \
-T $(srctree)/examples/standalone/sparc.lds
PLATFORM_CPPFLAGS += -DCONFIG_SPARC -D__sparc__
PLATFORM_CPPFLAGS += -D__sparc__

18
arch/x86/Kconfig Normal file
View File

@ -0,0 +1,18 @@
menu "x86 architecture"
depends on X86
config SYS_ARCH
string
default "x86"
choice
prompt "Target select"
config TARGET_COREBOOT
bool "Support coreboot"
endchoice
source "board/chromebook-x86/coreboot/Kconfig"
endmenu

View File

@ -7,7 +7,7 @@
CROSS_COMPILE ?= i386-linux-
PLATFORM_CPPFLAGS += -DCONFIG_X86 -D__I386__ -Werror
PLATFORM_CPPFLAGS += -D__I386__ -Werror
# DO NOT MODIFY THE FOLLOWING UNLESS YOU REALLY KNOW WHAT YOU ARE DOING!
LDPPFLAGS += -DRESET_SEG_START=0xffff0000

View File

@ -0,0 +1,23 @@
if TARGET_ECO5PK
config SYS_CPU
string
default "armv7"
config SYS_BOARD
string
default "eco5pk"
config SYS_VENDOR
string
default "8dtech"
config SYS_SOC
string
default "omap3"
config SYS_CONFIG_NAME
string
default "eco5pk"
endif

View File

@ -0,0 +1,6 @@
ECO5PK BOARD
M: Raphael Assenat <raph@8d.com>
S: Maintained
F: board/8dtech/eco5pk/
F: include/configs/eco5pk.h
F: configs/eco5pk_defconfig

View File

@ -0,0 +1,23 @@
if TARGET_ADP_AG101
config SYS_CPU
string
default "n1213"
config SYS_BOARD
string
default "adp-ag101"
config SYS_VENDOR
string
default "AndesTech"
config SYS_SOC
string
default "ag101"
config SYS_CONFIG_NAME
string
default "adp-ag101"
endif

View File

@ -0,0 +1,6 @@
ADP-AG101 BOARD
M: Andes <uboot@andestech.com>
S: Maintained
F: board/AndesTech/adp-ag101/
F: include/configs/adp-ag101.h
F: configs/adp-ag101_defconfig

View File

@ -0,0 +1,23 @@
if TARGET_ADP_AG101P
config SYS_CPU
string
default "n1213"
config SYS_BOARD
string
default "adp-ag101p"
config SYS_VENDOR
string
default "AndesTech"
config SYS_SOC
string
default "ag101"
config SYS_CONFIG_NAME
string
default "adp-ag101p"
endif

View File

@ -0,0 +1,6 @@
ADP-AG101P BOARD
M: Andes <uboot@andestech.com>
S: Maintained
F: board/AndesTech/adp-ag101p/
F: include/configs/adp-ag101p.h
F: configs/adp-ag101p_defconfig

View File

@ -0,0 +1,23 @@
if TARGET_ADP_AG102
config SYS_CPU
string
default "n1213"
config SYS_BOARD
string
default "adp-ag102"
config SYS_VENDOR
string
default "AndesTech"
config SYS_SOC
string
default "ag102"
config SYS_CONFIG_NAME
string
default "adp-ag102"
endif

View File

@ -0,0 +1,6 @@
ADP-AG102 BOARD
M: Andes <uboot@andestech.com>
S: Maintained
F: board/AndesTech/adp-ag102/
F: include/configs/adp-ag102.h
F: configs/adp-ag102_defconfig

View File

@ -0,0 +1,23 @@
if TARGET_IPAM390
config SYS_CPU
string
default "arm926ejs"
config SYS_BOARD
string
default "ipam390"
config SYS_VENDOR
string
default "Barix"
config SYS_SOC
string
default "davinci"
config SYS_CONFIG_NAME
string
default "ipam390"
endif

View File

@ -0,0 +1,6 @@
IPAM390 BOARD
M: Heiko Schocher <hs@denx.de>
S: Maintained
F: board/Barix/ipam390/
F: include/configs/ipam390.h
F: configs/ipam390_defconfig

23
board/BuR/kwb/Kconfig Normal file
View File

@ -0,0 +1,23 @@
if TARGET_KWB
config SYS_CPU
string
default "armv7"
config SYS_BOARD
string
default "kwb"
config SYS_VENDOR
string
default "BuR"
config SYS_SOC
string
default "am33xx"
config SYS_CONFIG_NAME
string
default "kwb"
endif

View File

@ -0,0 +1,6 @@
KWB BOARD
M: Hannes Petermaier <hannes.petermaier@br-automation.com>
S: Maintained
F: board/BuR/kwb/
F: include/configs/kwb.h
F: configs/kwb_defconfig

23
board/BuR/tseries/Kconfig Normal file
View File

@ -0,0 +1,23 @@
if TARGET_TSERIES
config SYS_CPU
string
default "armv7"
config SYS_BOARD
string
default "tseries"
config SYS_VENDOR
string
default "BuR"
config SYS_SOC
string
default "am33xx"
config SYS_CONFIG_NAME
string
default "tseries"
endif

View File

@ -0,0 +1,8 @@
TSERIES BOARD
M: Hannes Petermaier <hannes.petermaier@br-automation.com>
S: Maintained
F: board/BuR/tseries/
F: include/configs/tseries.h
F: configs/tseries_mmc_defconfig
F: configs/tseries_nand_defconfig
F: configs/tseries_spi_defconfig

Some files were not shown because too many files have changed in this diff Show More