diff options
Diffstat (limited to 'board')
-rw-r--r-- | board/CZ.NIC/turris_omnia/turris_omnia.c | 6 | ||||
-rw-r--r-- | board/lego/ev3/README | 36 | ||||
-rw-r--r-- | board/lego/ev3/legoev3.c | 14 | ||||
-rw-r--r-- | board/samsung/common/exynos5-dt.c | 2 | ||||
-rw-r--r-- | board/samsung/common/misc.c | 2 | ||||
-rw-r--r-- | board/samsung/odroid/odroid.c | 12 |
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 |