Simon Glass [Mon, 22 May 2017 11:05:29 +0000 (05:05 -0600)]
bootstage: Use debug() for stashing messages
We don't normally want to see these messages. Change them to debug-only.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 22 May 2017 11:05:28 +0000 (05:05 -0600)]
bootstage: Show records with a zero time
We can now use the record count to determine whether a record is valid or
not. Drop the test for a zero time.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 22 May 2017 11:05:27 +0000 (05:05 -0600)]
bootstage: Use rec_count as the array index
At present bootstage has a large array with all possible bootstage IDs
recorded. It adds times to the array element indexed by the ID. This is
inefficient because many IDs are not used during boot. We can save space
by only recording those IDs which actually have timestamps.
Update the array to use a record count, which increments with each
addition of a new timestamp. This takes longer to record a time, since it
may involve an array search. Such a search may be particularly expensive
before relocation when the CPU is running slowly or the cache is off. But
at that stage there should be very few records.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 22 May 2017 11:05:26 +0000 (05:05 -0600)]
bootstage: Fix up code style and comments
There are several code style and comment nits. Fix them and also remove
the comment about passing bootstage to the kernel being TBD. This is
already supported.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 22 May 2017 11:05:25 +0000 (05:05 -0600)]
bootstage: Convert to use malloc()
At present bootstage uses the data section of the image to store its
information. There are a few problems with this:
- It does not work on all boards (e.g. those which run from flash before
relocation)
- Allocated strings still point back to the pre-relocation data after
relocation
Now that U-Boot has a pre-relocation malloc() we can use this instead,
with a pointer to the data in global_data. Update bootstage to do this and
set up an init routine to allocate the memory.
Now that we have a real init function, we can drop the fake 'reset' record
and add a normal one instead.
Note that part of the problem with allocated strings remains. They are
reallocated but this will only work where pre-relocation memory is
accessible after relocation.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 22 May 2017 11:05:24 +0000 (05:05 -0600)]
bootstage: Change CONFIG_BOOTSTAGE_USER_COUNT to an int
There is no good read to make this hex, and integer is more natural for
this type of setting. Update it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 22 May 2017 11:05:23 +0000 (05:05 -0600)]
bootstage: Require timer_get_boot_us() to be defined
At present we provide a default version of this function for use by
bootstage. However it uses the system timer and therefore likely requires
driver model. This makes it impossible to time driver-model init.
Drop the function and require boards to provide their own. Add a sandbox
version also. There is a default implememtation in lib/time.c for boards
which use CONFIG_SYS_TIMER_COUNTER.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 22 May 2017 11:05:22 +0000 (05:05 -0600)]
bootstage: Provide a default timer function
If CONFIG_SYS_TIMER_COUNTER is used we can provide a default microsecond
timer implementation.
Signed-off-by: Simon Glass <sjg@chromium.org>
Lokesh Vutla [Sat, 20 May 2017 00:19:27 +0000 (05:49 +0530)]
ARM: k2g: Fix passing main pll info for higher speeds
Main pll is marked as arm plls for higher speeds. Fix this.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Tom Rini [Thu, 18 May 2017 21:03:07 +0000 (17:03 -0400)]
cmd/elf.c: Support passing arguments with bootelf
The bootelf command could, but does not, pass additional arguments along
on the command line. Make do_bootelf consume bootelf/flags/address as
needed and then pass along anything else to the ELF application we've
launched.
Reported-by: Thomas Doerfler <thomas.doerfler@embedded-brains.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
Patrice Chotard [Thu, 18 May 2017 07:58:00 +0000 (09:58 +0200)]
reset: sti: add deassert counter in reset channel descriptor
This deassert counter allow to manage "shared" reset lines
encountered in some specific case. On STiH410 SoC, DWC3,
EHCI and OHCI are all using a respective PHY, but all of
these PHYs shared a "global" reset.
Currently, during command "usb stop", all host controller are
stopped (XHCI, EHCI and OHCI). XHCI is first shutdowned, which
means that PHY global reset is asserted. Then EHCI is shutdowned,
but its PHY reset has already been asserted which make handshake()
call failed in ehci_shutdown().
This counter allows to really assert a reset lines only when the
"last" user is asserting it.
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Michal Simek [Thu, 18 May 2017 07:23:15 +0000 (09:23 +0200)]
test: py: hush: Add echo dependency
Some tests depends on echo command to be present.
Reported-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Thu, 18 May 2017 07:23:14 +0000 (09:23 +0200)]
test: py: Use global pytestmark for hush tests
All tests in test_hush_if_test depends on hush parser to be
present. This patch simplify test dependencies by using global
pytestmark.
Reported-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Uri Mashiach [Wed, 17 May 2017 14:29:28 +0000 (17:29 +0300)]
arm: am57xx: cl-som-am57x: adjust default env to the installation system
The SD card automatic installation system depends on the default
environment of the previous U-Boot.
Add the missing environment variables.
Signed-off-by: Uri Mashiach <uri.mashiach@compulab.co.il>
Reviewed-by: Tom Rini <trini@konsulko.com>
Uri Mashiach [Wed, 17 May 2017 14:29:27 +0000 (17:29 +0300)]
ARM: am57xx: cl-som-am57x: support for AM5718
Disable SDRAM controller EMIF2 for single core SOC
Set SDRAM size size to 1GB
Signed-off-by: Uri Mashiach <uri.mashiach@compulab.co.il>
Reviewed-by: Tom Rini <trini@konsulko.com>
Uri Mashiach [Wed, 17 May 2017 14:29:26 +0000 (17:29 +0300)]
arm: am57xx: cl-som-am57x: change the shell prompt
Change the shell prompt to "U-Boot# ".
Signed-off-by: Uri Mashiach <uri.mashiach@compulab.co.il>
Reviewed-by: Tom Rini <trini@konsulko.com>
Uri Mashiach [Wed, 17 May 2017 14:29:25 +0000 (17:29 +0300)]
arm: am57xx: cl-som-am57x: support for FS boot
Supported boot devices are raw QSPI and raw SD card.
Add support for a FAT16/32 file system for SD card.
The SOC's boot ROM only supports FAT file system.
Therefore remove the SPL support for the EXT file system.
Signed-off-by: Uri Mashiach <uri.mashiach@compulab.co.il>
Reviewed-by: Tom Rini <trini@konsulko.com>
Simon Glass [Wed, 17 May 2017 14:23:11 +0000 (08:23 -0600)]
common: microblaze: Drop arch-specific declarations
These are not needed and should not be in common.h. Drop them.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:23:10 +0000 (08:23 -0600)]
common: arm: freescale: layerscape: Move header files out of common.h
We should not have an arch-specific header file in common.h. Adjust the
board files a little so it is not needed, and drop it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:23:09 +0000 (08:23 -0600)]
common: arm: davinci: Move header file out of common
We should not have an arch-specific header file in common.h. Instead, use
the asm/hardware.h header to provide the required declarations, and drop
the common.h changes.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
Simon Glass [Wed, 17 May 2017 14:23:08 +0000 (08:23 -0600)]
common: ep93xx: Move arch-specific declarations out of common
These declarations should not be in common. Remove those that are not
needed and move the others to an arch-specific location.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:23:07 +0000 (08:23 -0600)]
common: freescale: Move arch-specific imx code to arch-imx
These declarations should not be in common.h. Move them to an
arch-specific header.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:23:06 +0000 (08:23 -0600)]
common: freescale: Move arch-specific declarations
The declarations should not be in common.h. Move them to the arch-specific
headers.
Signed-off-by: Simon Glass <sjg@chromium.org>
[trini: Fixup thinko defined(FSL_LSCH3) -> defined(CONFIG_FSL_LSCH3)]
Signed-off-by: Tom Rini <trini@konsulko.com>
Simon Glass [Wed, 17 May 2017 14:23:05 +0000 (08:23 -0600)]
common: powerpc: Move arch-specific headers
Set up a new asm/ppc.h header file to hold this arch-specific stuff. It
should not be in common.h. It probably should be refactored to use
asm/arch instead, but that is a job for the maintainer.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:23:04 +0000 (08:23 -0600)]
common: Move PPC4xx_SYS_INFO() et al to arch-specific header
These definitions should not be in common.h. Move them to an arch-specific
header file.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:23:03 +0000 (08:23 -0600)]
common: Drop determine_sysper() and determine_pci_clock_per()
These arch-specific declarations should not be in common.h. Drop them.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:23:02 +0000 (08:23 -0600)]
common: Drop cpu_init_f() declarations
These arch-specific functions are not needed here.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:23:01 +0000 (08:23 -0600)]
arm: Remove include files from common.h
With a small tweak we can avoid including these files for all boards.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
Simon Glass [Wed, 17 May 2017 14:23:00 +0000 (08:23 -0600)]
arm: Include asm/setup.h explictly
Include this header where needed so we do not need to rely on common.h.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:22:59 +0000 (08:22 -0600)]
arm: Add declarations to avoid needing to include headers
At present common.h includes various ARM-specific headers. In preparation
for dropping this, add a few explicit declarations.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Thu, 1 Jun 2017 01:47:48 +0000 (19:47 -0600)]
arm: Add explicit include of <asm/mach-types.h>
Rather than relying on common.h to provide this include, which is going
away at some point, include it explicitly in each file.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
Simon Glass [Wed, 17 May 2017 14:22:57 +0000 (08:22 -0600)]
nds32: Remove include files from common.h
With a few tweaks we can avoid including these files, which are only
needed by two C files.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:22:56 +0000 (08:22 -0600)]
x86: Don't include asm/u-boot.h in common
With a small fixup to u-boot-x86.h, this is not actually needed anywhere,
so drop it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:22:55 +0000 (08:22 -0600)]
sandbox: Don't include asm/u-boot.h in common
This is not actually needed anywhere, so drop it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:22:54 +0000 (08:22 -0600)]
mips: Don't include asm/u-boot.h in common
This is not actually needed anywhere, so drop it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Simon Glass [Wed, 17 May 2017 14:22:53 +0000 (08:22 -0600)]
arc: Don't include asm/u-boot.h in common
This is not actually needed anywhere, so drop it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:22:52 +0000 (08:22 -0600)]
nds32: Make u-boot-nds32.h a private header
Rather than including this arch-specific header file in common.h, include
it from within nds32's u-boot.h header.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:22:51 +0000 (08:22 -0600)]
mips: Make u-boot-mips.h a private header
Rather than including this arch-specific header file in common.h, include
it from within mips's u-boot.h header.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Simon Glass [Wed, 17 May 2017 14:22:50 +0000 (08:22 -0600)]
arm: Make u-boot-arm.h a private header
Rather than including this arch-specific header file in common.h, include
it from within arm's u-boot.h header.
Also drop the comment about something to be fixed. It has been there
forever and it is not clear what it means.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:22:49 +0000 (08:22 -0600)]
x86: Make u-boot-x86.h a private header
Rather than including this arch-specific header file in common.h, include
it from within x86's u-boot.h header.
Also drop the comment about something to be fixed. It is not clear what
needs fixing.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:22:48 +0000 (08:22 -0600)]
sandbox: Make u-boot-sandbox.h a private header
Rather than including this arch-specific header file in common.h, include
it from within sandbox's u-boot.h header.
Also drop the comment about something to be fixed.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:22:47 +0000 (08:22 -0600)]
arc: Make u-boot-arc.h a private header
Rather than including this arch-specific header file in common.h, include
it from within arc's u-boot.h header.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:22:46 +0000 (08:22 -0600)]
samsung: Drop more references fo s3c24x0
This is dead code now. Drop it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:22:45 +0000 (08:22 -0600)]
samsung: nand: Drop s3c2410_nand driver
This is not used anymore. Drop it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:22:44 +0000 (08:22 -0600)]
samsung: usb: Drop ohci-s3c24xx driver
This is not used anymore. Drop it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:22:43 +0000 (08:22 -0600)]
samsung: mmc: Drop s3c_sdi driver
This is no-longer used in U-Boot. Drop it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
Simon Glass [Wed, 17 May 2017 14:22:42 +0000 (08:22 -0600)]
samsung: Drop s3c24x0 arch-specific code
This is not used anymore. Drop it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:22:41 +0000 (08:22 -0600)]
gpio: samsung: Drop s3c2440_gpio driver
This is no longer used in U-Boot. Drop it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:22:40 +0000 (08:22 -0600)]
api: Add a header for api_init()
Put this in its own header instead of using common.h.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:22:39 +0000 (08:22 -0600)]
common: Move get_OPB_freq() and get_PCI_freq() to PPC header
These should not be in common.h. Move the to an arch-specific header.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:22:38 +0000 (08:22 -0600)]
common: Move pcie_setup_hoses() to PPC header
Only one board needs this definition. Move it to an arch-specific header.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:22:37 +0000 (08:22 -0600)]
common: Drop pci_master_init()
This should not be in common.h. Drop it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:22:36 +0000 (08:22 -0600)]
common: Move pci_target_init() to PPC header
Only one boards needs this definition. Move it to an arch-specific header.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:22:35 +0000 (08:22 -0600)]
common: Drop pci_pre_init() and is_pci_host()
These should not be in common.h. They are used in some legacy PowerPC
code. Just drop them.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 17 May 2017 14:22:34 +0000 (08:22 -0600)]
common: Drop inclusion of pci.h
This should not be in common.h - remove it and update the only file that
needs it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Tom Rini [Tue, 16 May 2017 18:46:40 +0000 (14:46 -0400)]
t81xx: Migrate TI81XX/TI816X/TI814X symbols to Kconfig
The symbol CONFIG_TI81XX is used for the parts that are common to the
TI816x and TI814x SoCs and are not part of CONFIG_ARCH_OMAP2PLUS nor
CONFIG_AM33XX. It however has so few uses that we can just modify the
code to check for both and drop the symbol. The symbols CONFIG_TI816X
and CONFIG_TI814X are for the repective SoCs.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Tue, 16 May 2017 18:46:39 +0000 (14:46 -0400)]
ti816x: Modernize the defconfig
- Switch to using <configs/ti_armv7_omap.h> and family. This lets us
drop lots of custom defines.
- Ensure that our default environment uses DEFAULT_LINUX_BOOT_ENV so
that Linux will boot correctly.
- Enable CONFIG_DISTRO_DEFAULTS
- Switch to using CONFIG_OF_CONTROL
- Various other cleanups to match other SoCs in the family line.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Tue, 16 May 2017 18:46:38 +0000 (14:46 -0400)]
ti816x: Import dts files from Linux Kernel v4.11
This brings in the required dts/dtsi files for the TI8168-EVM from the
Linux Kernel v4.11 release.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Tue, 16 May 2017 18:46:37 +0000 (14:46 -0400)]
ti816x: Enable NAND
The TI8168-EVM comes with NAND on board. Enable it and move environment
over there.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Tue, 16 May 2017 18:46:36 +0000 (14:46 -0400)]
ti816x_evm: Disable CONFIG_USE_PRIVATE_LIBGCC
On this platform, we can trace a general failure to boot to enabling /
disabling this option. When this is enabled, we go off into the
weeds during SPL and are unable to talk with the SD card and
mmc_initialize() fails.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Tue, 16 May 2017 18:46:35 +0000 (14:46 -0400)]
ti816x: Rework DDR initialization sequence
The ti816x/am389x SoC is the first generation in what U-Boot calls the
"am33xx" family. In the first generation of this family the DDR
initialization sequence is quite different from all of the subsequent
generations. Whereas with ti814x (second generation) we can easily work
the minor differenced between that and am33xx (third generation), our
attempts to do this for ti816x weren't sufficient. Rather than add a
large amount of #ifdef logic to make this different sequence work we add
a new file, ti816x_emif4.c to handle the various required undocumented
register writes and sequence and leverage what we can from
arch/arm/mach-omap2/am33xx/ddr.c still. As DDR2 has similar problems
today but I am unable to test it, we drop the DDR2 defines from the code
rather than imply that it works by leaving it. We also remove a bunch
of other untested code about changing the speed the DDR runs at.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Tue, 16 May 2017 18:46:34 +0000 (14:46 -0400)]
armv7: Mark the default lowlevel_init function as weak
Rather than have a long and if check in the Makefile, mark the default
lowlevel_init function as weak (as we do on armv8) so that SoCs can
override it if needed, and it will still be discarded if unused.
Provide a weak s_init as well to allow for this to link and be
discarded.
Signed-off-by: Tom Rini <trini@konsulko.com>
Anna, Suman [Tue, 16 May 2017 17:50:18 +0000 (12:50 -0500)]
configs: davinci: omapl138_lcdk: add random eth address support
Any TFTP or DHCP boot on the Davinci OMAP-L138 LCDK board requires
that the 'ethaddr' variable be defined. There are no e-fuses to store
the ethernet mac address for this platform, and neither is a MAC
address reserved in any format. So enable random MAC address support
so that networking boot can be supported.
Signed-off-by: Suman Anna <s-anna@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Vagrant Cascadian [Fri, 5 May 2017 21:11:26 +0000 (14:11 -0700)]
Enable PXE boot on meson-gxbb.
Enable distro_bootcmd PXE functions on meson-gxbb systems.
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tom Rini [Mon, 5 Jun 2017 02:29:33 +0000 (22:29 -0400)]
Merge git://git.denx.de/u-boot-x86
Bin Meng [Thu, 1 Jun 2017 10:41:14 +0000 (03:41 -0700)]
x86: fsp: Remove the call to set up internal uart in fsp_init()
First of all, it's inappropriate to call setup_internal_uart() in a
generic API fsp_init(), as CONFIG_INTERNAL_UART is an option that
is only available on BayTrail platform. Secondly even for BayTrail,
there is no need to call setup_internal_uart() at all, as Intel FSP
will do this for us.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Bin Meng [Thu, 1 Jun 2017 10:41:13 +0000 (03:41 -0700)]
x86: baytrail: Fix boot hang with a debug build
It was observed that when -DDEBUG is used to generate a debug build,
U-Boot does not boot on MinnowMax board. A workaround is to disable
CONFIG_DEBUG_UART. The real issue is that in order to have the debug
uart to work, BayTrail SoC needs to be configured so that its internal
uart is available to be used as the debug uart.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Bin Meng [Wed, 31 May 2017 08:04:15 +0000 (01:04 -0700)]
x86: baytrail: Change lpe/lpss-sio/scc FSP properties to integer
At present lpe/lpss-sio/scc FSP properties are all boolean, but in
fact for "enable-lpe" it has 3 possible options. This adds macros
for these options and change the property from a boolean type to
an integer type, and change their names to explicitly indicate what
the property is really for.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Bin Meng [Wed, 31 May 2017 08:04:14 +0000 (01:04 -0700)]
x86: baytrail: Use macros instead of magic numbers for FSP settings
Introduce various meaningful macros for FSP settings and switch over
to use them instead of magic numbers.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Bin Meng [Wed, 31 May 2017 08:04:13 +0000 (01:04 -0700)]
x86: baytrail: Remove "serial-debug-port-*" settings
"serial-debug-port-address" and "serial-debug-port-type" settings
are actually reserved in the FSP UPD data structure. Remove them.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Bin Meng [Wed, 31 May 2017 08:04:12 +0000 (01:04 -0700)]
x86: baytrail: Change "fsp, mrc-init-tseg-size" default value to 1
The default value of "fsp,mrc-init-tseg-size" should be 1 (1MB) per
FSP default settings. 0 is not valid.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tom Rini [Sun, 4 Jun 2017 17:13:29 +0000 (13:13 -0400)]
Merge git://git.denx.de/u-boot-fdt
Tom Rini [Sat, 3 Jun 2017 22:05:28 +0000 (18:05 -0400)]
Merge git://git.denx.de/u-boot-net
Tom Rini [Sat, 3 Jun 2017 22:05:04 +0000 (18:05 -0400)]
Merge git://git.denx.de/u-boot-fsl-qoriq
Tom Rini [Sat, 3 Jun 2017 22:04:54 +0000 (18:04 -0400)]
Merge git://git.denx.de/u-boot-sunxi
Tom Rini [Fri, 2 Jun 2017 15:03:50 +0000 (11:03 -0400)]
Kconfig: Migrate FS_FAT / FAT_WRITE
Now that these symbols are in Kconfig, migrate all users. Use imply on
a number of platforms that default to having this enabled. As part of
this we must migrate some straglers for CMD_FAT and DOS_PARTITION.
Signed-off-by: Tom Rini <trini@konsulko.com>
Sekhar Nori [Fri, 2 Jun 2017 12:24:04 +0000 (17:54 +0530)]
board: ti: enable support for writing to fat partition
Enable support for writing to FAT partitions on
TI's boards.
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Sekhar Nori [Fri, 2 Jun 2017 12:24:02 +0000 (17:54 +0530)]
config_fallbacks: add additional fallbacks for fat filesystem
Add fallbacks needed to keep all boards building
while they are migrated to use Kconfig symbols
instead of defines in <board>_config.h files for
FAT filesystem.
These should eventually go away once Kconfig select
or imply statements are put in place and duplicated
defines in <board>_config.h removed.
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
[trini: Update logic since CMD_FAT / CONFIG_SPL_FAT_SUPPORT are
selecting FS_FAT]
Signed-off-by: Tom Rini <trini@konsulko.com>
Sekhar Nori [Fri, 2 Jun 2017 12:24:01 +0000 (17:54 +0530)]
configs: k2g_evm: make sure config fallbacks take effect
Since config fallbacks contained in include/config_fallbacks.h
come into k2g_evm.h file through ti_armv7_keystone2.h, it should
be the last file included.
Without this, #define of FAT_WRITE when environment is in FAT
does not happen as the environment location is decided later
in the file.
Similar issues can come with other config fallbacks implemented.
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Sekhar Nori [Fri, 2 Jun 2017 12:24:00 +0000 (17:54 +0530)]
configs: k2*_evm: let each board decide env location
Not all TI Keystone2 EVMs want environment in NAND flash.
K2G EVM which has an MMC/SD slot, keep environment in a
FAT partition on SD card.
Since ti_armv7_keystone2.h defines environment is in NAND,
boards which do not follow that have to #undef'ine that
configuration. This leads to ugly ordering issues around
where exactly the include of ti_armv7_keystone2.h can come
in within the k2*_evm.h files.
Move environment location to config file of each board.
This should make it easy to change it for any one board
without affecting all other boards.
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Sekhar Nori [Fri, 2 Jun 2017 12:23:59 +0000 (17:53 +0530)]
fs: fat: add kbuild configuration support
Add Kconfig symbols for various configurations
supported by FAT filesystem support code.
CONFIG_SUPPORT_VFAT has been left out since its
force enabled in include/fat.h and probably
should get removed at some point.
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
[trini: add select FS_FAT for CMD_FAT and SPL_FAT_SUPPORT]
Signed-off-by: Tom Rini <trini@konsulko.com>
Paul Burton [Sun, 30 Apr 2017 19:57:08 +0000 (21:57 +0200)]
net: pch_gbe: Add cache maintenance
On MIPS systems DMA isn't coherent with the CPU caches unless an IOCU is
present. When there is no IOCU we need to writeback or invalidate the
data caches at appropriate points. Perform this cache maintenance in
the pch_gbe driver which is used on the MIPS Boston development board.
Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Paul Burton [Sun, 30 Apr 2017 19:57:07 +0000 (21:57 +0200)]
net: pch_gbe: CPU accessible addresses are virtual
Use the virt_to_bus & bus_to_virt functions rather than phys_to_bus &
bus_to_phys, since the addresses accessed by the CPU will be virtual
rather than physical. On MIPS physical & virtual addresses differ as we
use virtual addresses in kseg0, and attempting to use physical addresses
directly caused problems as they're in the user segment which would be
mapped via the uninitialised TLB.
Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Paul Burton [Sun, 30 Apr 2017 19:57:06 +0000 (21:57 +0200)]
net: pch_gbe: Fix rx descriptor buffer addresses
The loop to set up buffer addresses in rx descriptors always operated on
descriptor 0, rather than on each descriptor sequentially. Fix this in
order to setup correct buffer addresses for each descriptor.
Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Paul Burton [Sun, 30 Apr 2017 19:57:05 +0000 (21:57 +0200)]
net: pch_gbe: Reset during probe
Using the EG20T gigabit ethernet controller on the MIPS Boston board, we
find that we have to reset the controller in order for the RGMII link to
the PHY to become functional. Without doing so we constantly time out in
pch_gbe_mdio_ready.
Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Siva Durga Prasad Paladugu [Tue, 30 May 2017 12:28:40 +0000 (14:28 +0200)]
net: zynq_gem: Dont flush dummy descriptors
Dont flush dummy descriptors as they are already
allocated from a region with dcache off. Tested
this on Zynq(zc702) and ZynqMP(zcu102) boards.
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Siva Durga Prasad Paladugu [Tue, 30 May 2017 12:28:39 +0000 (14:28 +0200)]
net: zynq_gem: Use wait_for_bit with non breakable
Use wait_for_bit to be non breakable as using it with
breakable causes issue of un interruptible auto negotiation.
This is due to the ctrlc pressed will taken for wait_for_bit()
abort during phy_read() and hence not coming out of
auto negotiation.
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Phil Edworthy [Wed, 24 May 2017 13:43:06 +0000 (14:43 +0100)]
net: phy: marvell 88e151x: Fix handling of RGMII interface types
The 88E1518 code is programming the wrong registers for rgmii-id,
rgmii-txid and rgmii-rxid interfaces.
Since the PHY defaults to rgmii-id, it would appear that the code
was previously only used with sgmii and rgmii-id interfaces.
Tested on 88E1512 PHY in rgmii-id mode which is from the same family
as 88E1518.
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
xypron.glpk@gmx.de [Tue, 16 May 2017 03:07:01 +0000 (05:07 +0200)]
net: core: avoid possible NULL pointer dereference
Checking if dev is NULL after dereferencing it does not make sense.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Sekhar Nori [Mon, 8 May 2017 15:19:56 +0000 (20:49 +0530)]
drivers: net: cpsw: abort init() on aneg timeout
Abort CPSW driver init when auto-negotiation of link
times out. Currently, the code ignores return status
of phy_startup(), and goes ahead with network operation
(like DHCP) even though the link may be down.
Instead, abort init process if link is down or if there
is another error, so phy_startup() can easily be retried
again. This also helps quick fallback to next network interface
(like USB RNDIS) without inordinate delay.
Tested on AM571x IDK and AM335x BeagleBone black.
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Wenyou Yang [Thu, 20 Apr 2017 03:13:13 +0000 (11:13 +0800)]
net: macb: Fix GMAC not work when enable DM_ETH
Always search the PHY to determine the macb->phy_addr before using
the PHY to fix "No PHY present" error.
Fix the wrong test of the GMAC's phy interface mode, it should be
PHY_INTERFACE_MODE_RGMII.
Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Stefan Chulski [Thu, 6 Apr 2017 13:39:08 +0000 (15:39 +0200)]
net: mvpp2.c: Enable 10G support for port 0 (SFI)
This patch fixes some remaining issues in the mvpp2 driver for the 10GB
support on port 0. These changes are:
- Incorrect PCS configuration
- Skip PHY configuration when no PHY is connected
- Skip GMAC configurations if 10G SFI mode set
Signed-off-by: Stefan Chulski <stefanc@marvell.com>
Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Kostya Porotchkin <kostap@marvell.com>
Cc: Nadav Haklai <nadavh@marvell.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Madalin Bucur [Mon, 3 Apr 2017 14:43:56 +0000 (17:43 +0300)]
armv8/ls1046a: RGMII PHY requires internal delay on Tx
Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Madalin Bucur [Mon, 3 Apr 2017 14:43:55 +0000 (17:43 +0300)]
armv8/ls1043a: RGMII PHY requires internal delay on Tx
Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Olliver Schinagl [Mon, 3 Apr 2017 14:18:53 +0000 (16:18 +0200)]
net: zynq_gem: Do not return -ENOSYS on success
The .read_rom_hwaddr net_ops hook does not check the return value, which
is why it was never caught that we are currently returning 0 if the
read_rom_hwaddr function return -ENOSYS and -ENOSYS otherwise.
In this case we can simplify this by just returning the result of the
function.
Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Michal Simek <michal.simek@xilinx.com>
Jacob Chen [Mon, 27 Mar 2017 08:54:17 +0000 (16:54 +0800)]
net: designware: Add phy supply support
Some board need a regulator for gmac phy, so add this code to handle it.
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Philipp Tomsich [Sun, 26 Mar 2017 16:50:23 +0000 (18:50 +0200)]
net: Kconfig:make PHY_GIGE and individual Micrel PHYs selectable
This change migrate the following configuration options for Kconfig:
* PHY_GIGE, indicates that a controller (with an appropriate PHY) is
Gigabit capable and enables extra support in the miiutil for
parsing the status of Gigabit PHYs
* adds configuration options for Micrel KSZ9021 and KSZ9031 GbE PHYs,
which previously had to enabled through a board-specific config file
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Simon Glass [Sat, 27 May 2017 13:38:30 +0000 (07:38 -0600)]
fdt: Drop fdt_select.py
This file was used to select between the normal and fallback libfdt
implementations. Now that we only have one, it is not needed.
Drop it and fix up all users.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sat, 27 May 2017 13:38:29 +0000 (07:38 -0600)]
binman: Rename fdt variable to dtb
Since fdt is the name of a module, use a different name for variables to
avoid a conflict.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sat, 27 May 2017 13:38:28 +0000 (07:38 -0600)]
fdt: Merge fdt_normal with its base class
Since we only have one Fdt implementation now we don't need to have a base
class. Merge the implementation and the base class together.
Signed-off-by: Simon Glass <sjg@chromium.org>