10 Apr, 2020
4 commits
-
It has been noticed on MT7628/88 platforms, that booting the RAM image
does not work reliably. Sometimes it works and sometimes not. Debugging
showed that this "might" be a cache related issue as very strange
errors occurred (e.g. output corrupted etc).This patch adds a cache flush for the complete SDRAM area to the go cmd
before jumping to the entry point for the MIPS architecture. The
complete area is flushed as we don't know at this point, how big the
area of the "application" really is.Signed-off-by: Stefan Roese
Reviewed-by: Daniel Schwierzeck
Tested-by: Mauro Condarelli
Cc: Daniel Schwierzeck
Cc: Mauro Condarelli
Cc: Weijie Gao -
This patch fixes an stability issue seen on some vcoreiii targets,
which was root caused to a cache inconsistency situation.The inconsistency was caused by having kuseg pointing to NOR area but
used as a stack/gd/heap area during initialization, while only
relatively late remapping the RAM area into kuseg position.The fix is to initialize the DDR right after the TLB setup, and then
remapping it into position before gd/stack/heap usage.Reported-by: Ramin Seyed-Moussavi
Reviewed-by: Alexandre Belloni
Reviewed-by: Horatiu Vultur
Signed-off-by: Lars Povlsen -
Allow SoC or board layers with reconfigurable cpu clocks
capabilties to do implementation specific lookups and service
get_tbclk() requests.Signed-off-by: Alex Nemirovsky
-
Useful in custom HW designs which have a need to flush dcache
range in a completely non standard way.Signed-off-by: Alex Nemirovsky
03 Apr, 2020
1 commit
-
Commit f4dc714aaa2d ("arm64: Turn u-boot.bin back into an ELF file after
relocate-rela")
introduce REMAKE_ELF option to recreate u-boot.elf from u-boot ->
u-boot.bin + DT -> u-boot.elf.The best is to ilustrate it from make V=1 output
cat u-boot-nodtb.bin dts/dt.dtb > u-boot-dtb.bin
cp u-boot-dtb.bin u-boot.bin
aarch64-linux-gnu-objcopy -I binary -B aarch64 -O elf64-littleaarch64 u-boot.bin u-boot-elf.o
aarch64-linux-gnu-ld.bfd u-boot-elf.o -o u-boot.elf --defsym="_start"=0x8000000 -Ttext=0x8000000Last command has no explicit linker script passed that's why toolchain
internal linker script is used.
In Binutils 2.32 case it contains SIZEOF_HEADERS symbol which has changed
behavior by commit
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=64029e93683a266c38d19789e780f3748bd6a188
which result in situation that program headers has changed from
(xilinx_zynqmp_mini_defconfig)Program Headers:
Type Offset VirtAddr PhysAddr
FileSiz MemSiz Flags Align
LOAD 0x0000000000010000 0x00000000fffc0000 0x00000000fffc0000
0x0000000000018918 0x0000000000018918 RW 0x10000to
Program Headers:
Type Offset VirtAddr PhysAddr
FileSiz MemSiz Flags Align
LOAD 0x0000000000000000 0x00000000fffb0000 0x00000000fffb0000
0x0000000000028918 0x0000000000028918 RW 0x10000Xilinx tools like XSDB or Bootgen are using program headers for loading ELF
to the right location and by above binutils change ELF is loaded to
incorrect location.The patch is explicitly use u-boot-elf.lds (just cat now) for u-boot.elf
recreation which is called when REMAKE_ELF is setup.
By purpose u-boot-elf.lds doesn't contain OUTPUT_FORMAT/OUTPUT_ARCH to be
able to use by all archs.Signed-off-by: Michal Simek
Reviewed-by: Tom Rini
Reviewed-by: Daniel Schwierzeck
Tested-By: Álvaro Fernández Rojas
20 Feb, 2020
1 commit
-
To avoid "asm/dma-mapping.h: No such file or directory" error,
we need something.Signed-off-by: Masahiro Yamada
06 Feb, 2020
1 commit
-
At present dm/device.h includes the linux-compatible features. This
requires including linux/compat.h which in turn includes a lot of headers.
One of these is malloc.h which we thus end up including in every file in
U-Boot. Apart from the inefficiency of this, it is problematic for sandbox
which needs to use the system malloc() in some files.Move the compatibility features into a separate header file.
Signed-off-by: Simon Glass
18 Jan, 2020
5 commits
-
At present panic() is in the vsprintf.h header file. That does not seem
like an obvious choice for hang(), even though it relates to panic(). So
let's put hang() in its own header.Signed-off-by: Simon Glass
[trini: Migrate a few more files]
Signed-off-by: Tom Rini -
These functions relate to memory init so move them into the init
header.Signed-off-by: Simon Glass
-
This function related to timer and most of the timer functions are in
time.h, so move this function there.Signed-off-by: Simon Glass
-
These three clock functions don't use driver model and should be migrated.
In the meantime, create a new file to hold them.Signed-off-by: Simon Glass
-
This is an init function so move it out of the common header. Avoid using
the typedef so that we don't have to include the global_data header file.Also tidy up the function style in comments while we are here.
Signed-off-by: Simon Glass
03 Dec, 2019
7 commits
-
- A large series of clean-ups to reduce common.h contents
-
Move this function into the init.h header file.
Signed-off-by: Simon Glass
Reviewed-by: Tom Rini
Reviewed-by: Daniel Schwierzeck -
Move this function into init.h which seems to be designed for this sort
of thing. Also update the header to declare struct global_data so that it
can be included without global_data.h being needed.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
These functions do not use driver model but are fairly widely used in
U-Boot. But it is not clear that they will use driver model anytime soon,
so we don't want to label them as 'legacy'.Move them to a new irq_func.h header file. Avoid the name 'irq.h' since it
is widely used in U-Boot already.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
These functions are CPU-related and do not use driver model. Move them to
cpu_func.hSigned-off-by: Simon Glass
Reviewed-by: Daniel Schwierzeck
Reviewed-by: Tom Rini -
These functions belong in cpu_func.h. Another option would be cache.h
but that code uses driver model and we have not moved these cache
functions to use driver model. Since they are CPU-related it seems
reasonable to put them here.Move them over.
Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
This function belongs in time.h so move it over and add a comment.
Signed-off-by: Simon Glass
Reviewed-by: Tom Rini
29 Nov, 2019
1 commit
-
The deadline for migration to CONFIG_DM is v2020.01. The VCT
baords would need an almost complete rewrite of all drivers to
support driver model.Unless someone has access to the hardware and volunteers to do the migration,
the board should be scheduled for removal.Signed-off-by: Daniel Schwierzeck
Acked-by: Stefan Roese
25 Oct, 2019
19 commits
-
Some drivers (clk, pinctrl, reset, ...) are necessary for reset of the
system, they should be always selected.Signed-off-by: Weijie Gao
-
This patch adds default eth pinctrl for all boards.
There are two pinctrl nodes used for two scenarios:
ephy_iot_mode - for IOT boards which have only one port (PHY0)
ephy_router_mode - For routers which have more than one portsReviewed-by: Stefan Roese
Signed-off-by: Weijie Gao -
This adds default pinctrl (dual SPI chip select) for gardena smart gateway
Reviewed-by: Stefan Roese
Signed-off-by: Weijie Gao -
This patch adds mmc related nodes for mt7628an.dtsi
Signed-off-by: Weijie Gao
-
This patch adds default p0led status and phy0 link polling for all boards.
Reviewed-by: Stefan Roese
Signed-off-by: Weijie Gao -
This patch updates reset controller node for mt7628
Signed-off-by: Weijie Gao
-
This patch adds default pinctrl for uart nodes
Signed-off-by: Weijie Gao
-
This patch adds pinctrl node with default pin state for mt7628an.dtsi.
Signed-off-by: Weijie Gao
-
This patch adds clkctrl node for mt7628 and adds clocks property for
some node.Signed-off-by: Weijie Gao
-
All three UARTs of mt7628 are actually MediaTek's high-speed UARTs which
support baudrate up to 921600.
The high-speed UART is compatible with ns16550 when baudrate
Signed-off-by: Weijie Gao -
The UART of MT7628 has fixed 40MHz input clock so there is no need to put
clock-frequency in every dts files. Just put it into the common dtsi file.Reviewed-by: Stefan Roese
Signed-off-by: Weijie Gao -
Fixes commit 344db3f, which added missing bmips dtbs depending on their SoCs.
Signed-off-by: Álvaro Fernández Rojas
-
Signed-off-by: Álvaro Fernández Rojas
-
Signed-off-by: Álvaro Fernández Rojas
-
BCM63268 uses 4.0 HW nand controller, which is currently supported by
brcmnand driver.Signed-off-by: Álvaro Fernández Rojas
-
BCM6362 uses old 2.2 HW nand controller, which isn't currently supported by
brcmnand driver.Signed-off-by: Álvaro Fernández Rojas
-
BCM6328 uses old 2.2 HW nand controller, which isn't currently supported by
brcmnand driver.Signed-off-by: Álvaro Fernández Rojas
-
BCM6368 uses old 2.1 HW nand controller, which isn't currently supported by
brcmnand driver.Signed-off-by: Álvaro Fernández Rojas
-
If configuration is set to skip low level init, automatic
probe of L2 cache size is not performed and the size is set to 0.
Flushing or invalidating the L2 cache will fail in this case.Add a static configuration (SYS_DCACHE_LINE_SIZE) with default set to 0.
Signed-off-by: Ramon Fried
12 Aug, 2019
1 commit
-
Move env_init() over to the new header file.
Signed-off-by: Simon Glass
Acked-by: Joe Hershberger