summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
Diffstat (limited to 'board')
-rw-r--r--board/CZ.NIC/turris_omnia/turris_omnia.c6
-rw-r--r--board/lego/ev3/README36
-rw-r--r--board/lego/ev3/legoev3.c14
-rw-r--r--board/samsung/common/exynos5-dt.c2
-rw-r--r--board/samsung/common/misc.c2
-rw-r--r--board/samsung/odroid/odroid.c12
6 files changed, 47 insertions, 25 deletions
diff --git a/board/CZ.NIC/turris_omnia/turris_omnia.c b/board/CZ.NIC/turris_omnia/turris_omnia.c
index da663cf1bb..160d30cd79 100644
--- a/board/CZ.NIC/turris_omnia/turris_omnia.c
+++ b/board/CZ.NIC/turris_omnia/turris_omnia.c
@@ -321,7 +321,11 @@ int board_early_init_f(void)
writel(OMNIA_GPP_OUT_ENA_LOW, MVEBU_GPIO0_BASE + 0x04);
writel(OMNIA_GPP_OUT_ENA_MID, MVEBU_GPIO1_BASE + 0x04);
- /* Disable I2C debug mode blocking 0x64 I2C address */
+ /*
+ * Disable I2C debug mode blocking 0x64 I2C address.
+ * Note: that would be redundant once Turris Omnia migrates to DM_I2C,
+ * because the mvtwsi driver includes equivalent code.
+ */
i2c_debug_reg = readl(MVEBU_TWSI_BASE + MVTWSI_ARMADA_DEBUG_REG);
i2c_debug_reg &= ~(1<<18);
writel(i2c_debug_reg, MVEBU_TWSI_BASE + MVTWSI_ARMADA_DEBUG_REG);
diff --git a/board/lego/ev3/README b/board/lego/ev3/README
index 1a50ca9d03..da62a649ba 100644
--- a/board/lego/ev3/README
+++ b/board/lego/ev3/README
@@ -9,14 +9,34 @@ Booting
=======
The EV3 contains a bootloader in EEPROM that loads u-boot.bin from address 0x0
-of the spi flash memory. Using the default configuration, u-boot will check to
-see if there is a boot.scr file on the first FAT partition of the mmc. If there
-is, it will run the script and boot the kernel from the uImage file also in
-the FAT partition. Otherwise, it will load a kernel and rootfs from the flash.
-The kernel must be stored at address 0x50000 on the flash and have a maximum
-size of 3MiB. The rootfs must be a squasfs image and stored at 0x350000 in the
-flash and have a maximum size of 9.3MiB. The flash starting at 0xCB0000 is
-reserved for user data.
+of the SPI flash memory (with a size of 256KiB!). Because the EEPROM is read-
+only and it takes care of low level configuration (PLL and DDR), we don't use
+U-Boot to produce an SPL image.
+
+Using the default configuration, U-Boot had a boot scrips that works as follows:
+
+* Check to see if microSD card is present
+* If it is, try to load boot.scr from the first FAT partition
+* If loading boot.scr was successful, run it
+* Otherwise, try loading uEnv.txt
+* If loading uEnv.txt was successful, import it
+* If there is a uenvcmd variable (from uEnv.txt), run it
+* Try to load uImage from the first FAT partition
+* If it was successful, try to load da850-lego-ev3.dtb
+* If loading uImage was successful, boot it (DT is optional)
+* If none of the above was successful, try booting from flash
+
+Suggested Flash Memory Layout
+=============================
+
+The following is based on the default U-Boot configuration:
+
+| Image (file) | Start Addr. | Max. Size |
++--------------------+-------------+-------------------+
+| u-boot.bin | 0x0 | 0x40000 (256KiB) |
+| da850-lego-ev3.dtb | 0x40000 | 0x10000 (64KiB) |
+| uImage | 0x50000 | 0x400000 (4MiB) |
+| rootfs (squashfs) | 0x450000 | 0xa00000 (10MiB) |
Writing image to flash
======================
diff --git a/board/lego/ev3/legoev3.c b/board/lego/ev3/legoev3.c
index 5e70363588..423c2fa44b 100644
--- a/board/lego/ev3/legoev3.c
+++ b/board/lego/ev3/legoev3.c
@@ -14,8 +14,6 @@
#include <common.h>
#include <i2c.h>
-#include <net.h>
-#include <netdev.h>
#include <spi.h>
#include <spi_flash.h>
#include <asm/arch/hardware.h>
@@ -132,6 +130,11 @@ void get_board_serial(struct tag_serialnr *serialnr)
int board_early_init_f(void)
{
+ /* enable the console UART */
+ writel((DAVINCI_UART_PWREMU_MGMT_FREE | DAVINCI_UART_PWREMU_MGMT_URRST |
+ DAVINCI_UART_PWREMU_MGMT_UTRST),
+ &davinci_uart1_ctrl_regs->pwremu_mgmt);
+
/*
* Power on required peripherals
* ARM does not have access by default to PSC0 and PSC1
@@ -157,7 +160,7 @@ int board_init(void)
/* setup the SUSPSRC for ARM to control emulation suspend */
writel(readl(&davinci_syscfg_regs->suspsrc) &
- ~(DAVINCI_SYSCFG_SUSPSRC_EMAC | DAVINCI_SYSCFG_SUSPSRC_I2C |
+ ~(DAVINCI_SYSCFG_SUSPSRC_I2C |
DAVINCI_SYSCFG_SUSPSRC_SPI0 | DAVINCI_SYSCFG_SUSPSRC_TIMER0 |
DAVINCI_SYSCFG_SUSPSRC_UART1),
&davinci_syscfg_regs->suspsrc);
@@ -166,10 +169,5 @@ int board_init(void)
if (davinci_configure_pin_mux_items(pinmuxes, ARRAY_SIZE(pinmuxes)))
return 1;
- /* enable the console UART */
- writel((DAVINCI_UART_PWREMU_MGMT_FREE | DAVINCI_UART_PWREMU_MGMT_URRST |
- DAVINCI_UART_PWREMU_MGMT_UTRST),
- &davinci_uart1_ctrl_regs->pwremu_mgmt);
-
return 0;
}
diff --git a/board/samsung/common/exynos5-dt.c b/board/samsung/common/exynos5-dt.c
index 9f6f654830..8c3a9ea564 100644
--- a/board/samsung/common/exynos5-dt.c
+++ b/board/samsung/common/exynos5-dt.c
@@ -164,7 +164,7 @@ int board_usb_init(int index, enum usb_init_type init)
samsung_get_base_usb3_phy();
if (!phy) {
- pr_err("usb3 phy not supported");
+ pr_err("usb3 phy not supported\n");
return -ENODEV;
}
diff --git a/board/samsung/common/misc.c b/board/samsung/common/misc.c
index c9df7e69d9..05243fc896 100644
--- a/board/samsung/common/misc.c
+++ b/board/samsung/common/misc.c
@@ -456,7 +456,7 @@ void draw_logo(void)
addr = panel_info.logo_addr;
if (!addr) {
- pr_err("There is no logo data.");
+ pr_err("There is no logo data.\n");
return;
}
diff --git a/board/samsung/odroid/odroid.c b/board/samsung/odroid/odroid.c
index 1c2bd01da2..552333fe86 100644
--- a/board/samsung/odroid/odroid.c
+++ b/board/samsung/odroid/odroid.c
@@ -428,7 +428,7 @@ int exynos_power_init(void)
};
if (regulator_list_autoset(mmc_regulators, NULL, true))
- pr_err("Unable to init all mmc regulators");
+ pr_err("Unable to init all mmc regulators\n");
return 0;
}
@@ -441,7 +441,7 @@ static int s5pc210_phy_control(int on)
ret = regulator_get_by_platname("VDD_UOTG_3.0V", &dev);
if (ret) {
- pr_err("Regulator get error: %d", ret);
+ pr_err("Regulator get error: %d\n", ret);
return ret;
}
@@ -486,25 +486,25 @@ int board_usb_init(int index, enum usb_init_type init)
ret = regulator_get_by_platname("VCC_P3V3_2.85V", &dev);
if (ret) {
- pr_err("Regulator get error: %d", ret);
+ pr_err("Regulator get error: %d\n", ret);
return ret;
}
ret = regulator_set_enable(dev, true);
if (ret) {
- pr_err("Regulator %s enable setting error: %d", dev->name, ret);
+ pr_err("Regulator %s enable setting error: %d\n", dev->name, ret);
return ret;
}
ret = regulator_set_value(dev, 750000);
if (ret) {
- pr_err("Regulator %s value setting error: %d", dev->name, ret);
+ pr_err("Regulator %s value setting error: %d\n", dev->name, ret);
return ret;
}
ret = regulator_set_value(dev, 3300000);
if (ret) {
- pr_err("Regulator %s value setting error: %d", dev->name, ret);
+ pr_err("Regulator %s value setting error: %d\n", dev->name, ret);
return ret;
}
#endif