Commit graph

25719 commits

Author SHA1 Message Date
Eric Nelson
d3d70e6f9b nitrogen6x: config: add CONFIG_CMD_MEMTEST
Enable the 'mtest' command on Nitrogen6x and SABRE Lite boards.

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
2014-10-06 17:57:23 +02:00
Eric Nelson
c36c000828 nitrogen6x: config: enable USB keyboard support
Enable the use of USB keyboards on SABRE Lite and Nitrogen6x boards.

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
2014-10-06 17:57:23 +02:00
Eric Nelson
8d97b3ad95 nitrogen6x: config: expose SATA, then MMC over USB
If no boot script was found, expose internal storage over the
USB mass storage gadget to allow easy programming.

This is especially useful when SD cards are inaccessible or when
loading SATA drives.

More details are available in this blog post:
        http://boundarydevices.com/u-boot-usb-mass-storage-gadget/

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
2014-10-06 17:57:23 +02:00
Eric Nelson
8145ccc3be nitrogen6x: config: add initrd_high
Support RAM disks by setting initrd_high. See commit 7e9603e

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
2014-10-06 17:57:22 +02:00
Kevin Mihelich
43a3431c26 nitrogen6x: config: use FS_GENERIC load command
Remove the individual attempts to load using ext2 and fat, replace with the
generic load command supporting available filesystem types.

Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
2014-10-06 17:57:22 +02:00
Diego Rondini
5b7103e0af nitrogen6x: config: allow boot to USB stick
This patch enables boot to USB storage devices by expanding on the list
of boot devices.

Because the USB startup currently takes a long time, it places USB at
the end of the list of supported devices.

You can over-ride the boot order using the bootdevs environment variable.
For instance, this will make USB the first (highest priority) device:

	U-Boot > setenv bootdevs usb mmc sata
	U-Boot > saveenv

Signed-off-by: Diego Rondini <diego.rondini@kynetics.it>
Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
2014-10-06 17:57:22 +02:00
Eric Nelson
84e2dc0c89 nitrogen6x: config: add USB Mass Storage (ums) support
Add support for the USB mass storage to enable access to on-board
storage (especially eMMC and SATA).

Details at:
        http://boundarydevices.com/u-boot-usb-mass-storage-gadget/

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
2014-10-06 17:57:22 +02:00
Eric Nelson
ce9507b793 nitrogen6x: display use I2C detect for HDMI
The HPD pin and RX_SENSE registers have proven to be less reliable
than using I2C on the EDID pins for detection of an HDMI monitor.
In particular, when the HDMI output is reset through a "reboot"
cycle, the detect_hdmi() routine often bounces, resulting in
a failure to detect a connected monitor.

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
2014-10-06 17:57:22 +02:00
Eric Nelson
c745de7174 nitrogen6x: display: add wvga-lvds panel
Add support for WVGA (800x480) panels using VESA GTF timings over
LVDS.

No auto-detection is supported, so you must configure this panel
manually through the 'panel' environment variable:

        U-Boot > setenv panel svga
        U-Boot > saveenv && reset

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
2014-10-06 17:57:22 +02:00
Eric Nelson
865aa30bb3 nitrogen6x: display: add Ampire 1024x600 panel
Add support for an Ampire 1024x600 LVDS panel with integrated Ilitek
capacitive touch screen.

Auto-detection is enabled, so no explicit configuration is needed.

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
2014-10-06 17:57:22 +02:00
Eric Nelson
135663061f nitrogen6x: display: add svga display (800x600)
Add support for 800x600 18-bit RGB displays using VESA GTF timings.

No auto-detection is supported, so you must configure this panel
manually through the 'panel' environment variable:

        U-Boot > setenv panel svga
        U-Boot > saveenv && reset

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
2014-10-06 17:57:22 +02:00
Eric Nelson
04edda266d nitrogen6x: display: add support for fusion 7 display
Add support for the Touch Revolution Fusion7 display: 800x480 RGB
with a custom F0710A resistive touch controller.

Auto-detection of this panel is supported so no configuration is
required.

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
2014-10-06 17:57:22 +02:00
Eric Nelson
d6949e3f9d nitrogen6x: display: add LDB-WXGA-S for SPWG 1280x800 displays
This patch adds support for LVDS WXGA displays that use the SPWG encoding
standard instead of JEIDA.

No auto-detection is enabled and you must explicitly set the 'panel'
environment variable:

        U-Boot > setenv panel LDB-WXGA-S
        U-Boot > saveenv && reset

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
2014-10-06 17:57:22 +02:00
Eric Nelson
4adc1127f8 nitrogen6x: display: add support for LG-9.7 LVDS display
Add support for LG 9.7" LVDS panel (1024x768) with integrated eGalax
touch screen.

Note that this panel differs only slightly from the Hannstar XGA panel
(margins).

No auto-detection is available because it shares the same touch controller
as the Hannstar-XGA display, so you'll need to configure it through the
'panel' environment variable:

        U-Boot > setenv panel LG-9.7
        U-Boot > saveenv && reset

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
2014-10-06 17:57:21 +02:00
Eric Nelson
443d4d15d7 nitrogen6x: display: add qvga panel
Add support for a 1/4 VGA panel with a 24-bit RGB interface.
No auto-detection is enabled, so you must configure the 'panel'
environment variable to use this display:

        U-Boot > setenv panel qvga
        U-Boot > saveenv && reset

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
2014-10-06 17:57:21 +02:00
Robert Winkler
4328fb05bf nitrogen6x: display: add support lvds jeida screen
Add support for Boundary Devices 7" and 10.1" 1280x800 displays with
integrated FocalTech ft5x06 10-point touch controller.

Because they share the touch controller with the 1024x600 displays,
auto-detection is disabled and you must explicitly set the 'panel'
environment variable:

        U-Boot > setenv panel LDB-WXGA
        U-Boot > saveenv && reset

Signed-off-by: Robert Winkler <robert.winkler@boundarydevices.com>
Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
2014-10-06 17:57:21 +02:00
Eric Nelson
84caf0b26b nitrogen6x: prevent warnings about board_ehci* callbacks
Include declarations of board_ehci callbacks to prevent compiler warnings
and enforce function prototypes.

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
2014-10-06 17:57:21 +02:00
Troy Kisky
adc4a2bd03 nitrogen6x: phy: add 100 us delay after phy reset
Testing shows that the Micrel PHY may not be completely out
of reset if accessed immediately.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
2014-10-06 17:57:21 +02:00
Eric Nelson
9fc425278b nitrogen6x: staticize board file
Declare locally-used data structures and functions as
static and pull in header files to prevent compiler warnings
of "Should it be static?" when building with "make C=1".

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
2014-10-06 17:57:21 +02:00
Troy Kisky
693cccf412 nitrogen6x: configure SGTL5000, CSI camera clock outputs
Configure CLKO outputs for SGTL5000, CSI camera.

The sys_mclk output for the SGTL500 in particular prevents
Windows CE from properly driving audio.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
2014-10-06 17:57:21 +02:00
Eric Nelson
a3b527a947 nitrogen6x: power-down miscellanous peripherals
Ensure that cameras and USB OTG power are in a stable (reset)
state at reset by configuring their pads and toggling GPIOs.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
2014-10-06 17:57:21 +02:00
Eric Nelson
41612472b6 nitrogen6x: configure SD2 pads for SDIO on USDHC2
Pads SD2_CLK/CMD/DAT0-3 are connected to an SDIO WiFi device on
Nitrogen and unconnected on BD-SL-i.MX6 (sabre lite).

Configure them as SDIO pins to prevent them from being in a state
that confuses the WiFi part.

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
2014-10-06 17:57:21 +02:00
Troy Kisky
213e9e3348 nitrogen6x: simplify board_mmc_getcd
The same logic applies to both SD card slots, only with different
GPIOs and the code should make that easier to see.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
2014-10-06 17:57:20 +02:00
Eric Nelson
c9c86bde3d nitrogen6x: implement board_cfb_skip() to disable text output
Several customers have asked to leave the display quiet during
boot, so allow the user to express this request by the presence
of environment variable "novideo".

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
2014-10-06 17:57:20 +02:00
Christian Gmeiner
39d0973300 imx6: add Bachmann OT1200 board
This patch adds support for the OT1200 series of devices.

Following components are used in u-boot:
+ ethernet
+ i2c
+ emmc
+ gpio

For more details see README.

Changes v1 > v2
  - make use of enable_cspi_clock(..)
  - fix usage of OUTPUT_40OHM define
  - added README

Changes v2 > v3
  - improve spelling in README
  - added own copy of mx6q_4x_mt41j128.cfg

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
2014-10-06 17:24:28 +02:00
Marek Vasut
252499e603 arm: m53evk: Zap superfluous tab in env
Remove this tab from env, since it's useless, just use spaces.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
2014-10-06 17:13:33 +02:00
Marek Vasut
46f8a4b7e6 arm: m28evk: Zap superfluous tab in env
Remove this tab from env, since it's useless, just use spaces.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
2014-10-06 17:12:58 +02:00
Eric Nelson
ba743ac5c1 nitrogen6x: Update DDR timings for 2G memory arrangement
Update DDR calibration settings based on a larger test set.

The initial values were gathered on a small number of boards,
and have been found to fail on some boards under load.

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
2014-10-06 17:09:47 +02:00
Fabio Estevam
fb6f86c411 mx6sxsabresd: Fix PCI reset and power GPIO assignments
PERST_GPIO and POWER_GPIO are currently swapped.

Fix the GPIO assignments as per the board schematics.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
2014-10-06 17:06:23 +02:00
Fabio Estevam
9f87640c03 wandboard: Select CONFIG_CMD_FUSE
Select CONFIG_CMD_FUSE so that the fuse API commands can be used.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
2014-10-01 09:13:29 +02:00
Stefan Roese
1dd42e313b ARM: mx6: gw_ventana: Remove superfluous memset of GD in board_init_f
Zeroing GD in board_init_f() is not needed any more. As its now done in
crt0.S. The patch that clears the GD in crt0.S is this one:

aae2aef9 [arm: Set up global data before board_init_f()] from Simon.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Tim Harvey <tharvey@gateworks.com>
Cc: Stefano Babic <sbabic@denx.de>
Acked-by: Tim Harvey <tharvey@gateworks.com>
2014-10-01 09:12:02 +02:00
Nitin Garg
13bc86037e imx6sx: Fix i.MX6SX HAB api function table offset
i.MX6SX ROM implements unified table sections.
The HAB function table is at offset 0x100. Update
the HAB function pointers accordingly.

Signed-off-by: Nitin Garg <nitin.garg@freescale.com>
Tested-by: Fabio Estevam <fabio.estevam@freescale.com>
2014-10-01 09:10:28 +02:00
Ye.Li
661139faf7 imx: mx6dlarm2: Add support for i.MX6Q/DL arm2 LPDDR2 boards
Update the ddr scripts for LPDDR2 and add two build configs for LPDDR2
arm2 board. Since the LPDDR2 arm2 board has different DDR size, use
CONFIG_DDR_MB in defconfig to replace the PHYS_SDRAM_SIZE.

Signed-off-by: Ye.Li <B37916@freescale.com>
2014-09-30 12:21:14 +02:00
Ye.Li
b357503f1c imx: mx6dlarm2: Add support for i.MX6DL arm2 DDR3 board
This patch adds the i.MX6DL arm2 board support. The i.MX6DL ARM2
shared the same board with i.MX6Q ARM2 board since the i.MX6DL is
pin-pin compatible with i.MX6Q.

The patch also support the DDR 32-BIT mode option. Please define
CONFIG_DDR_32BIT in the board configure file to enable DDR 32-BIT
mode.But due to the board design, it's 64bit DDR buswidth physically,
so, if you CONFIG_DDR_32BIT, the DDR memory size will be half of it.

Signed-off-by: Ye.Li <B37916@freescale.com>
2014-09-30 12:21:14 +02:00
Marek Vasut
febae49a2b arm: m53evk: Enable FS_GENERIC
Enable the CONFIG_CMD_FS_GENERIC on m53evk to avoid per-fs specific commands
and tweak the environment to cater for this new option.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
2014-09-29 11:38:44 +02:00
Marek Vasut
fc532a921a arm: m28evk: Enable FS_GENERIC
Enable the CONFIG_CMD_FS_GENERIC on m28evk to avoid per-fs specific commands
and tweak the environment to cater for this new option.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
2014-09-29 11:37:16 +02:00
Marek Vasut
14b256e5c0 arm: m53evk: Test if bootscript exists before loading it
Make sure the boot.scr exists on the card before loading it
from the card to avoid annoying message on the console.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
2014-09-29 11:36:55 +02:00
Marek Vasut
4ba9b1c2e3 arm: m28evk: Test if bootscript exists before loading it
Make sure the boot.scr exists on the card before loading it
from the card to avoid annoying message on the console.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
2014-09-29 11:35:54 +02:00
Ye.Li
5546ad0734 usb: ehci-mx6: Rename the USB register base address
The mx6sl/mx6sx has 2 OTG and 1 host. So they have name
"USBO2H_USB_BASE_ADDR" in imx-regs.h. The driver hard codes
the USB base address name to "USBOH3", which causes the driver
failed to build for mx6sl/mx6sx.

This patch uniform the address name to "USB_BASE_ADDR" for all
mx6 series.

Signed-off-by: Ye.Li <B37916@freescale.com>
2014-09-29 10:33:27 +02:00
Ye.Li
9293d7fd50 imx: mx6: Checking PLL2 PFD0 and PFD2 for periph_clk before PFD reset
Checking the pre_periph_clk_sel and pre_periph2_clk of CCM CBCMR
register, if the PLL2 PFD0 or PLL2 PFD2 is used for the clock source,
do not reset this PFD to avoid system hang. Customers may set this
in DDR script or use BT_FREQ to select low freq boot.

Signed-off-by: Ye.Li <B37916@freescale.com>
2014-09-29 10:24:07 +02:00
Ye.Li
adca1875c8 imx: mx6qarm2: Change the mmcroot and mmcpart env value
1. Set the image load partition to the first FAT partition.
2. Set the kernel rootfs partition to the second partition.

Signed-off-by: Ye.Li <B37916@freescale.com>
2014-09-29 10:12:41 +02:00
Ye.Li
e7380a1fdc imx: mx6qarm2: Add the kernel FDT Loading support
To support loading FDT file for kernel, add the fdt address,
file and loading script to arm2 board default environment.

Signed-off-by: Ye.Li <B37916@freescale.com>
2014-09-29 10:12:41 +02:00
Marek Vasut
1fb065feae arm: mxs: olinuxino: Fine-tune DRAM configuration
Add fine-tuning for the DRAM configuration according to the DRAM chip
datasheet. THis configuration applies to both Hynix HY5DU12622DTP and
Samsung K5H511538J-D43 .

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
2014-09-29 09:02:17 +02:00
Marek Vasut
ca11db2603 arm: mxs: olinuxino: Enable USB only when needed
Enable the power to the USB port only when the USB port is really needed.
Do not enable the power unconditionally.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
2014-09-29 09:02:16 +02:00
Marek Vasut
7c604e98c2 arm: mxs: Wait for DRAM to start
Instead of waiting for a fixed period of time and hoping for the best
that the DRAM will start, read back an EMI status register which tells
us exactly when the DRAM started.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
2014-09-29 09:02:16 +02:00
Marek Vasut
be0ecdbed5 arm: mxs: Wait when disabling VDDMEM current limiter
According to i.MX23 datasheet Table 32-17, we must wait for the supply
to settle before disabling the current limiter. Indeed, not waiting a
little here causes the system to crash at times.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
2014-09-29 09:02:16 +02:00
Marek Vasut
dd24b57bb7 usb: ehci: mxs: Add board-specific callbacks
Add board-specific callbacks for enabling/disabling port power
into the MXS EHCI controller driver. This is in-line with the
names of callbacks on other systems.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
2014-09-29 09:02:16 +02:00
Nitin Garg
36c1ca4d46 imx: Support i.MX6 High Assurance Boot authentication
When CONFIG_SECURE_BOOT is enabled, the signed images
like kernel and dtb can be authenticated using iMX6 CAAM.
The added command hab_auth_img can be used for HAB
authentication of images. The command takes the image
DDR location, IVT (Image Vector Table) offset inside
image as parameters. Detailed info about signing images
can be found in Freescale AppNote AN4581.

Signed-off-by: Nitin Garg <nitin.garg@freescale.com>
2014-09-22 16:21:04 +02:00
Fabio Estevam
4f797c4c1c mx25pdk: Add generic board support
Let's enable CONFIG_SYS_GENERIC_BOARD in order to get rid of warnings related
to generic board support is not in place.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
2014-09-22 16:15:04 +02:00
Fabio Estevam
3098ef429c mx25pdk: Fix CONFIG_SYS_FSL_ESDHC_ADDR
We should pass the MMC1 base address into CONFIG_SYS_FSL_ESDHC_ADDR.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
2014-09-22 16:14:14 +02:00