13 May, 2015
1 commit
-
By making the board selections optional, every defconfig will include
the board selection when running savedefconfig so if a new board is
added to the top of the list of choices the former top's defconfig will
still be correct.Signed-off-by: Joe Hershberger
Cc: Masahiro Yamada
Acked-by: Stephen Warren
Cc: Tom Rini
28 Mar, 2015
2 commits
-
We have done with the generic board conversion for all the boards
of ARC, Blackfin, M68000, MicroBlaze, MIPS, NIOS2, Sandbox, X86.Let's select SYS_GENERIC_BOARD for those architectures, so we can
tell which architecture has finished the conversion at a glance.Signed-off-by: Masahiro Yamada
Reviewed-by: Simon Glass
Reviewed-by: Alexey Brodkin -
Move the option to Kconfig renaming it to CONFIG_HAVE_GENERIC_BOARD.
Signed-off-by: Masahiro Yamada
Reviewed-by: Simon Glass
Reviewed-by: Alexey Brodkin
30 Jan, 2015
1 commit
-
this is an atempt to make the export of functions typesafe.
I replaced the jumptable void ** by a struct (jt_funcs) with function pointers.
The EXPORT_FUNC macro now has 3 fixed parameters and one
variadic parameter
The first is the name of the exported function,
the rest of the parameters are used to format a functionpointer
in the jumptable,the EXPORT_FUNC macros are expanded three times,
1. to declare the members of the struct
2. to initialize the structmember pointers
3. to call the functions in stubs.cSigned-off-by: Martin Dorwig
Acked-by: Simon GlassSigned-off-by: Simon Glass
(resending to the list since my tweaks are not quite trivial)
08 Dec, 2014
2 commits
-
The macro __iomem is defined in include/linux/compiler.h.
Let's include it rather than double __iomem defines.Signed-off-by: Masahiro Yamada
Cc: Sonic Zhang -
Introduce a Makefile under arch/$ARCH/ and include it in the
top Makefile (similar to Linux kernel). This allows further
refactoringi like moving architecture-specific code out of global
makefiles, deprecating config variables (CPU, CPUDIR, SOC) or
deprecating arch/$ARCH/config.mk.In contrary to Linux kernel, U-Boot defines the ARCH variable by
Kconfig, thus the arch Makefile can only included conditionally
after the top config.mk.Signed-off-by: Daniel Schwierzeck
Acked-by: Masahiro Yamada
23 Nov, 2014
1 commit
-
U-Boot has never cared about the type when we get max/min of two
values, but Linux Kernel does. This commit gets min, max, min3, max3
macros synced with the kernel introducing type checks.Many of references of those macros must be fixed to suppress warnings.
We have two options:
- Use min, max, min3, max3 only when the arguments have the same type
(or add casts to the arguments)
- Use min_t/max_t instead with the appropriate type for the first
argumentSigned-off-by: Masahiro Yamada
Acked-by: Pavel Machek
Acked-by: Lukasz Majewski
Tested-by: Lukasz Majewski
[trini: Fixup arch/blackfin/lib/string.c]
Signed-off-by: Tom Rini
11 Nov, 2014
1 commit
10 Nov, 2014
1 commit
-
Remove BFIN from the CPU macro in Makefile.
Signed-off-by: Sonic Zhang
08 Nov, 2014
1 commit
-
There are a number of places where U-Boot intentionally and legally
accesses physical address 0x0000, for example when installing
exception vectors on systems where these are located in low memory.Add "cppcheck-suppress nullPointer" comments to silence cppcheck
where this is intentional and legal.Signed-off-by: Wolfgang Denk
14 Sep, 2014
1 commit
-
Now the types of CONFIG_SYS_{ARCH, CPU, SOC, VENDOR, BOARD, CONFIG_NAME}
are specified in arch/Kconfig.We can delete the ones in arch and board Kconfig files.
This commit can be easily reproduced by the following command:
find . -name Kconfig -a ! -path ./arch/Kconfig | xargs sed -i -e '
/config[[:space:]]SYS_\(ARCH\|CPU\|SOC\|\VENDOR\|BOARD\|CONFIG_NAME\)/ {
N
s/\n[[:space:]]*string//
}
'Signed-off-by: Masahiro Yamada
07 Aug, 2014
3 commits
-
- move blackfin specific cpu init code from blackfin board.c to cpu.c
- remove blackfin specific board init code and invoke generic board_f fron cpu init entry
- rename section name bss_vma to bss_start in order to match the generic board init code
- add a fake relocate_code function to set up the new stack onlySigned-off-by: Sonic Zhang
-
Signed-off-by: Scott Jiang
Signed-off-by: Sonic Zhang -
Add register define required by core B on dual core BF609 processor.
Signed-off-by: Aaron Wu
31 Jul, 2014
1 commit
-
CONFIG_${ARCH} is defined by Kconfig.
Signed-off-by: Masahiro Yamada
Reviewed-by: Simon Glass
30 Jul, 2014
1 commit
-
This commit adds:
- arch/${ARCH}/Kconfig
provide a menu to select target boards
- board/${VENDOR}/${BOARD}/Kconfig or board/${BOARD}/Kconfig
set CONFIG macros to the appropriate values for each board
- configs/${TARGET_BOARD}_defconfig
default setting of each board(This commit was automatically generated by a conversion script
based on boards.cfg)In Linux Kernel, defconfig files are located under
arch/${ARCH}/configs/ directory.
It works in Linux Kernel since ARCH is always given from the
command line for cross compile.But in U-Boot, ARCH is not given from the command line.
Which means we cannot know ARCH until the board configuration is done.
That is why all the "*_defconfig" files should be gathered into a
single directory ./configs/.Signed-off-by: Masahiro Yamada
Acked-by: Simon Glass
23 Jul, 2014
1 commit
-
At present stdio device functions do not get any clue as to which stdio
device is being acted on. Some implementations go to great lengths to work
around this, such as defining a whole separate set of functions for each
possible device.For driver model we need to associate a stdio_dev with a device. It doesn't
seem possible to continue with this work-around approach.Instead, add a stdio_dev pointer to each of the stdio member functions.
Note: The serial drivers have the same problem, but it is not strictly
necessary to fix that to get driver model running. Also, if we convert
serial over to driver model the problem will go away.Code size increases by 244 bytes for Thumb2 and 428 for PowerPC.
22: stdio: Pass device pointer to stdio methods
arm: (for 2/2 boards) all +244.0 bss -4.0 text +248.0
powerpc: (for 1/1 boards) all +428.0 text +428.0Signed-off-by: Simon Glass
Acked-by: Marek Vasut
Reviewed-by: Marek Vasut
08 Jul, 2014
2 commits
-
Since ARRAY_SIZE macro is defined in include/common.h,
re-defining it in arch-specific files is redundant.Signed-off-by: Masahiro Yamada
Acked-by: Stefan Roese
Acked-by: Sonic Zhang -
Add invalidate_dcache_range() and flush_dcache_range() for the blackfin
architecture. Such functions already exist on this arch with different
names, so just forward the call.This fixes the build of bf609-ezkit board as it uses
drivers/net/designware.c which requires the above functions.Cc: Sonic Zhang , Alexey Brodkin
Signed-off-by: Vasili Galka
13 May, 2014
2 commits
-
bfin_gen_rand_mac() uses __DATE__ as the seed for random ethernet
address. This makes the build non-deterministic.In the first place, it should not be implemented as a Bfin-specific
function. Use eth_random_addr() instead.Signed-off-by: Masahiro Yamada
Cc: Sonic Zhang -
gd->bd->bi_baudrate is a copy of gd->baudrate.
Since baudrate is a common feature for all architectures,
keep gd->baudrate only.It is true that bi_baudrate was passed to the kernel in that structure
but it was a long time ago.Signed-off-by: Masahiro Yamada
Cc: Tom Rini
Cc: Simon Glass
Cc: Wolfgang Denk
Cc: Heiko Schocher
Acked-by: Michal Simek (For microblaze)
18 Apr, 2014
1 commit
-
This required moving it into a C file from the header.
The only user of a non-default name_to_gpio is blackfin, therefore build tested
with the blackfin bct-brettl2 build, which is one I picked at random. Also
tested with a build for the ARM tec board which uses the default/fallback
implementation. Inspection with objdump shows that both have done the right
thing.This change was requested by Marek during review of the sunxi patch series.
Signed-off-by: Ian Campbell
Cc: Marek Vasut
Cc: Wolfgang Denk
Cc: Sonic Zhang
07 Mar, 2014
1 commit
-
Kbuild brought about many advantages for us but a significant
performance regression was reported by Simon Glass.After some discussions and analysis, it turned out
its main cause is in $(call cc-option,...).Historically, U-Boot parses all config.mk
(arch/*/config.mk and board/*/config.mk)
every time descending into subdirectories.
That means cc-options are evaluated over and over again.$(call cc-option,...) is useful but costly.
So we want to evaluate them only in ./Makefile
and spl/Makefile and export compiler flags.This commit changes the build system as follows:
- Modify scripts/Makefile.build to not include config.mk
Instead, add $(PLATFORM_CPPFLAGS) to asflags-y, ccflags-y,
cppflags-y.- Export many variables
Going forward, Kbuild will not parse config.mk files
when it descends into subdirectories.
If we want to set variables in config.mk and use them
in subdirectories, they must be exported.This is the list of variables to get exported:
PLATFORM_CPPFLAGS
CPUDIR
BOARDDIR
OBJCOPYFLAGS
LDFLAGS
LDFLAGS_FINAL
(used in nand_spl/board/*/*/Makefile)
CONFIG_STANDALONE_LOAD_ADDR
(used in examples/standalone/Makefile)
SYM_PREFIX
(used in examples/standalone/Makefile)
RELFLAGS
(used in examples/standalone/Makefile)- Delete CPPFLAGS
This variable has been replaced with PLATFORM_CPPFLAGS- Copy gcclibdir from example/standalone/Makefile
to arch/sparc/config.mk
The reference in CONFIG_STANDALONE_LOAD_ADDR must be
resolved before it is exported.Signed-off-by: Masahiro Yamada
Reported-by: Simon Glass
Acked-by: Simon Glass
Tested-by: Simon Glass [on Sandbox]
Tested-by: Stephen Warren [on Tegra]
05 Mar, 2014
1 commit
-
The syntax
CROSS_COMIPLE ?=
does not work because config.mk is parsed after
exporting CROSS_COMPILE.Like Linux Kernel's arch/$(ARCH)/Makefile,
we must write as follows:ifeq ($(CROSS_COMPILE),)
CROSS_COMPILE :=
endifSigned-off-by: Masahiro Yamada
26 Feb, 2014
1 commit
-
Signed-off-by: Masahiro Yamada
21 Feb, 2014
1 commit
-
With d6a320d we moved some clock externs out of blackfin_local.h and
into clock.h but now need to include in more drivers to
avoid warnings.Cc: Sonic Zhang
Signed-off-by: Tom Rini
20 Feb, 2014
5 commits
-
The ADI twi peripheral is not binding to Blackfin processor only.
Change to a generic name.Signed-off-by: Sonic Zhang
-
Signed-off-by: Sonic Zhang
-
This commit refactors cleaning targets such as
clean, clobber, mrpropper, distclean
with scripts/Makefile.clean.By using scripts/Makefile.clean, we can recursively descend
into subdirectories and delete generated files there.We do not need add a big list of generated files
to the "clean" target.Signed-off-by: Masahiro Yamada
-
Now we are ready to switch over to real Kbuild.
This commit disables temporary scripts:
scripts/{Makefile.build.tmp, Makefile.host.tmp}
and enables real Kbuild scripts:
scripts/{Makefile.build,Makefile.host,Makefile.lib}.This switch is triggered by the line in scripts/Kbuild.include
-build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build.tmp obj
+build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build objWe need to adjust some build scripts for U-Boot.
But smaller amount of modification is preferable.Additionally, we need to fix compiler flags which are
locally added or removed.In Kbuild, it is not allowed to change CFLAGS locally.
Instead, ccflags-y, asflags-y, cppflags-y,
CFLAGS_$(basetarget).o, CFLAGS_REMOVE_$(basetarget).o
are prepared for that purpose.Signed-off-by: Masahiro Yamada
Tested-by: Gerhard Sittig -
This commit changes the working directory
where the build process occurs.Before this commit, build process occurred under the source
tree for both in-tree and out-of-tree build.That's why we needed to add $(obj) prefix to all generated
files in makefiles like follows:
$(obj)u-boot.bin: $(obj)u-bootHere, $(obj) is empty for in-tree build, whereas it points
to the output directory for out-of-tree build.And our old build system changes the current working directory
with "make -C " syntax when descending into the
sub-directories.On the other hand, Kbuild uses a different idea
to handle out-of-tree build and directory descending.The build process of Kbuild always occurs under the output tree.
When "O=dir/to/store/output/files" is given, the build system
changes the current working directory to that directory and
restarts the make.Kbuild uses "make -f $(srctree)/scripts/Makefile.build obj="
syntax for descending into sub-directories.
(We can write it like "make $(obj)=" with a shorthand.)
This means the current working directory is always the top
of the output directory.Signed-off-by: Masahiro Yamada
Tested-by: Gerhard Sittig
07 Feb, 2014
4 commits
-
EMAC_VLANx regs is not properly initiallized in u-boot, once it's overwrite in the
kernel when DSA enabled, hot reset will lead to bringing up EMAC fail in u-boot.Signed-off-by: Aaron Wu
Signed-off-by: Sonic Zhang -
Signed-off-by: Sonic Zhang
-
Signed-off-by: Bob Liu
Signed-off-by: Sonic Zhang -
Signed-off-by: Sonic Zhang
25 Jan, 2014
1 commit
-
Signed-off-by: Masahiro Yamada
16 Dec, 2013
3 commits
-
Signed-off-by: Sonic Zhang
-
Signed-off-by: Sonic Zhang
13 Dec, 2013
1 commit
-
Some editors such as Emacs can highlight source files.
But their parser algorithm is not perfect.If you use one double-quotation alone, some editor cannot
handle it nicely and mark source lines as a string by mistake.It is preferable to use two double-quotations as a pair.
Signed-off-by: Masahiro Yamada