Merge git://git.denx.de/u-boot-marvell

This commit is contained in:
Tom Rini 2018-01-10 08:05:57 -05:00
commit 084edbb689
8 changed files with 164 additions and 13 deletions

View file

@ -53,7 +53,7 @@
aliases {
ethernet0 = &eth0;
ethernet1 = &eth1;
ethernet1 = &eth2;
i2c0 = &i2c0;
spi1 = &spi1;
};

View file

@ -17,16 +17,29 @@ $ sudo dd if=u-boot-spl.kwb of=/dev/sdX bs=512 seek=1
Please use the correct device node for your setup instead
of "/dev/sdX" here!
Boot selection:
---------------
Before powering up the board, boot selection should be done via the SW1 dip
switch (0: OFF, 1: ON):
- SPI: 00010
- SD/eMMC: 00111
- M.2 SSD: 11100
- UART: 01001 [1]
[1]: According to SolidRun's manual, 11110 should be used for UART booting on
the ClearFog 'Pro' variant.
However, this doesn't work (anymore) at least on Rev. 2.1 (but '01001' as
mentionend for the 'Base' variant does).
Boot from UART:
---------------
Connect the on-board micro-USB (CF Pro: CON11, CF Base: CON5)
to your host.
Set the SW1 DIP switches to UART boot (0: OFF, 1: ON):
ClearFog Base: 01001
ClearFog Pro: 11110
Set the SW1 DIP switches to UART boot (see above).
Run the following command to initiate U-Boot download:

View file

@ -3,6 +3,7 @@ CONFIG_ARCH_MVEBU=y
CONFIG_SYS_MALLOC_F_LEN=0x2000
CONFIG_TARGET_MVEBU_ARMADA_37XX=y
CONFIG_DEFAULT_DEVICE_TREE="armada-3720-db"
CONFIG_DISTRO_DEFAULTS=y
CONFIG_DEBUG_UART=y
CONFIG_AHCI=y
# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set

View file

@ -3,6 +3,7 @@ CONFIG_ARCH_MVEBU=y
CONFIG_SYS_MALLOC_F_LEN=0x2000
CONFIG_TARGET_MVEBU_ARMADA_37XX=y
CONFIG_DEFAULT_DEVICE_TREE="armada-3720-espressobin"
CONFIG_DISTRO_DEFAULTS=y
CONFIG_DEBUG_UART=y
CONFIG_AHCI=y
# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set

View file

@ -160,12 +160,12 @@ config FTMAC100
This MAC is present in Andestech SoCs.
config MVNETA
bool "Marvell Armada 385 network interface support"
depends on ARMADA_XP || ARMADA_38X
bool "Marvell Armada XP/385/3700 network interface support"
depends on ARMADA_XP || ARMADA_38X || ARMADA_3700
select PHYLIB
help
This driver supports the network interface units in the
Marvell ARMADA XP and 38X SoCs
Marvell ARMADA XP, ARMADA 38X and ARMADA 3700 SoCs
config MVPP2
bool "Marvell Armada 375/7K/8K network interface support"

View file

@ -1,14 +1,14 @@
if ARCH_MVEBU
config PINCTRL_ARMADA_37XX
depends on ARMADA_3700
depends on ARMADA_3700 && PINCTRL_FULL
bool "Armada 37xx pin control driver"
help
Support pin multiplexing and pin configuration control on
Marvell's Armada-37xx SoC.
config PINCTRL_ARMADA_8K
depends on ARMADA_8K
depends on ARMADA_8K && PINCTRL_FULL
bool "Armada 7k/8k pin control driver"
help
Support pin multiplexing and pin configuration control on

View file

@ -44,9 +44,6 @@
/*
* Other required minimal configurations
*/
#define CONFIG_SYS_LONGHELP
#define CONFIG_AUTO_COMPLETE
#define CONFIG_CMDLINE_EDITING
#define CONFIG_ARCH_CPU_INIT /* call arch_cpu_init() */
#define CONFIG_SYS_LOAD_ADDR 0x00800000 /* default load adr- 8M */
#define CONFIG_SYS_MEMTEST_START 0x00800000 /* 8M */
@ -107,4 +104,24 @@
#define CONFIG_SUPPORT_VFAT
#include <config_distro_defaults.h>
#define BOOT_TARGET_DEVICES(func) \
func(MMC, mmc, 1) \
func(MMC, mmc, 0) \
func(USB, usb, 0) \
func(SCSI, scsi, 0) \
func(PXE, pxe, na) \
func(DHCP, dhcp, na)
#include <config_distro_bootcmd.h>
#define CONFIG_EXTRA_ENV_SETTINGS \
"scriptaddr=0x4d00000\0" \
"pxefile_addr_r=0x4e00000\0" \
"fdt_addr_r=0x4f00000\0" \
"kernel_addr_r=0x5000000\0" \
"ramdisk_addr_r=0x8000000\0" \
BOOTENV
#endif /* _CONFIG_MVEBU_ARMADA_37XX_H */

119
tools/mrvl_uart.sh Executable file
View file

@ -0,0 +1,119 @@
#!/bin/bash
#
######################################################
# Copyright (C) 2016 Marvell International Ltd.
#
# SPDX-License-Identifier: GPL-2.0
# https://spdx.org/licenses
#
# Author: Konstantin Porotchkin kostap@marvell.com
#
# Version 0.3
#
# UART recovery downloader for Armada SoCs
#
######################################################
port=$1
file=$2
speed=$3
pattern_repeat=1500
default_baudrate=115200
tmpfile=/tmp/xmodem.pattern
tools=( dd stty sx minicom )
case "$3" in
2)
fast_baudrate=230400
prefix="\xF2"
;;
4)
fast_baudrate=460800
prefix="\xF4"
;;
8)
fast_baudrate=921600
prefix="\xF8"
;;
*)
fast_baudrate=$default_baudrate
prefix="\xBB"
esac
if [[ -z "$port" || -z "$file" ]]
then
echo -e "\nMarvell recovery image downloader for Armada SoC family."
echo -e "Command syntax:"
echo -e "\t$(basename $0) <port> <file> [2|4|8]"
echo -e "\tport - serial port the target board connected to"
echo -e "\tfile - recovery boot image for target download"
echo -e "\t2|4|8 - times to increase the default serial port speed by"
echo -e "For example - load the image over ttyUSB0 @ 460800 baud:"
echo -e "$(basename $0) /dev/ttyUSB0 /tmp/flash-image.bin 4\n"
echo -e "=====WARNING====="
echo -e "- The speed-up option is not awailable in SoC families prior to A8K+"
echo -e "- This utility is not compatible with Armada 37xx SoC family\n"
fi
# Sanity checks
if [ -c "$port" ]
then
echo -e "Using device connected on serial port \"$port\""
else
echo "Wrong serial port name!"
exit 1
fi
if [ -f "$file" ]
then
echo -e "Loading flash image file \"$file\""
else
echo "File $file does not exist!"
exit 1
fi
# Verify required tools installation
for tool in ${tools[@]}
do
toolname=`which $tool`
if [ -z "$toolname" ]
then
echo -e "Missing installation of \"$tool\" --> Exiting"
exit 1
fi
done
echo -e "Recovery will run at $fast_baudrate baud"
echo -e "========================================"
if [ -f "$tmpfile" ]
then
rm -f $tmpfile
fi
# Send the escape sequence to target board using default debug port speed
stty -F $port raw ignbrk time 5 $default_baudrate
counter=0
while [ $counter -lt $pattern_repeat ]; do
echo -n -e "$prefix\x11\x22\x33\x44\x55\x66\x77" >> $tmpfile
let counter=counter+1
done
echo -en "Press the \"Reset\" button on the target board and "
echo -en "the \"Enter\" key on the host keyboard simultaneously"
read
dd if=$tmpfile of=$port &>/dev/null
# Speed up the binary image transfer
stty -F $port raw ignbrk time 5 $fast_baudrate
sx -vv $file > $port < $port
#sx-at91 $port $file
# return the port to the default speed
stty -F $port raw ignbrk time 5 $default_baudrate
# Optional - fire up Minicom
minicom -D $port