mirror of
https://xff.cz/git/u-boot/
synced 2026-01-06 08:59:18 +01:00
MXC SPI driver has a feature whereas a GPIO line can be used to force CS high across multiple transactions. This is set up by embedding the GPIO information in the CS value: cs = (cs | gpio << 8) This merge of cs and gpio data into one value breaks the sf probe command: if the use of gpio is required, invoking "sf probe <cs>" will not work, because the CS argument doesn't have the GPIO information in it. Instead, the user must use "sf probe <cs | gpio << 8>". For example, if bank 2 gpio 30 is used to force cs high on cs 0, bus 0, then instead of typing "sf probe 0" the user now must type "sf probe 15872". This is inconsistent with the description of the sf probe command, and forces the user to be aware of implementaiton details. Fix this by introducing a new board function: board_spi_cs_gpio(), which will accept a naked CS value, and provide the driver with the relevant GPIO, if one is necessary. Cc: Eric Nelson <eric.nelson@boundarydevices.com> Cc: Eric Benard <eric@eukrea.com> Cc: Fabio Estevam <fabio.estevam@freescale.com> Cc: Tim Harvey <tharvey@gateworks.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Tom Rini <trini@ti.com> Cc: Marek Vasut <marex@denx.de> Reviewed-by: Marek Vasut <marex@denx.de> Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il> Reviewed-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
U-Boot for the Boundary Devices Nitrogen6X and
Freescale i.MX6Q SabreLite boards
This file contains information for the port of
U-Boot to the Boundary Devices Nitrogen6X and
Freescale i.MX6Q SabreLite boards.
1. Boot source, boot from SPI NOR
---------------------------------
The configuration in this directory supports both the
Nitrogen6X and Freescale SabreLite board, but in a
different fashion from Freescale's implementation in
board/freescale/mx6qsabrelite.
In particular, this image supports booting from SPI NOR
and saving the environment to SPI NOR.
It does not support 'boot from SD' at offset 0x400
except through the 'bmode' command.
http://lists.denx.de/pipermail/u-boot/2012-August/131151.html
2. Boots using 6x_bootscript on SATA or SD card
-----------------------------------------------
The default bootcmd for these boards is configured
to look for and source a boot script named '6x_bootscript'
in the root of the first partition of the following
devices:
sata 0
mmc 0
mmc 1
They're searched in the order listed above, trying both the
ext2 and fat filesystems.
2. Maintaining the SPI NOR
--------------------------
A couple of convenience commands
clearenv - clear environment to factory default
upgradeu - look and source a boot script named
'6x_upgrade' to upgrade the U-Boot version
in SPI NOR. The search is the same as for
6x_bootscript described above.
3. Display support
------------------
U-Boot support for the following displays is configured by
default:
HDMI - 1024 x 768 for maximum compatibility
Hannstar-XGA - 1024 x 768 LVDS (Freescale part number MCIMX-LVDS1)
wsvga-lvds - 1024 x 600 LVDS (Boundary p/n Nit6X_1024x600)
wvga-rgb - 800 x 480 RGB (Boundary p/n Nit6X_800x480)
Since the ipuv3_fb display driver currently supports only a single display,
this code auto-detects panel by probing the HDMI Phy for Hot Plug Detect
or the I2C touch controller of the LVDS and RGB displays in the priority
listed above.
Setting 'panel' environment variable to one of the names above will
override auto-detection and force activation of the specified panel.
4. Building
------------
To build U-Boot for one of the Nitrogen6x or SabreLite board:
make nitrogen6x_config
make
Note that 'nitrogen6x' is a placeholder. The complete list of supported
board configurations is shown in the boards.cfg file:
nitrogen6q i.MX6Q/6D 1GB
nitrogen6dl i.MX6DL 1GB
nitrogen6s i.MX6S 512MB
nitrogen6q2g i.MX6Q/6D 2GB
nitrogen6dl2g i.MX6DL 2GB
nitrogen6s1g i.MX6S 1GB
The -6q variants support either the i.MX6Quad or i.MX6Dual processors
and are configured for a 64-bit memory bus at 1066 MHz.
The -6dl variants also use a 64-bit memory bus, operated at 800MHz.
The -6s variants use a 32-bit memory bus at 800MHz.
If you place the u-boot.imx into a single-partition SD card
along with a binary version of the boot script 6x_upgrade.txt,
you can program it using 'upgradeu':
U-Boot> run upgradeu