summaryrefslogtreecommitdiff
path: root/board/gateworks
Commit message (Collapse)AuthorAgeLines
...
* imx: ventana: register gpio's with gpio_requestTim Harvey2015-05-15-20/+57
| | | | | | | Prior to using a gpio a call to gpio_request() should be called to register it with the gpio subsystem. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: display SPL boot deviceTim Harvey2015-05-15-0/+22
| | | | | | Display what device the SPL will fetch uboot.img from Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: fix boot to SDTim Harvey2015-05-15-1/+4
| | | | | | | | | | | | This fixes a regression caused by e25fbe3fe531029dc7b100ea4c79dbc802e17fc2 (gw_ventana: Move the DCD settings to spl code) The clock gating must be setup prior to calling arch_cpu_init(). Without this booting to SD (directly via eFuse or via bmode) will hang. Cc: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Tim Harvey <tharvey@gateworks.com> Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
* imx: ventana: Update missing memory/calib handlingPushpal Sidhu2015-04-22-6/+8
| | | | | | | | | This commit combines catching missing memory and calibration data into one if() block. It further prints pertinent information in determining why the failure occurred. Signed-off-by: Pushpal Sidhu <psidhu@gateworks.com> Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: Add new memory configurationPushpal Sidhu2015-04-22-8/+52
| | | | | | | Add memory configuration for an IMX6SDL + 1GB density DRAM. Signed-off-by: Pushpal Sidhu <psidhu@gateworks.com> Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: set HDMI video in to yuv422bt656 for GW551x-ATim Harvey2015-04-22-0/+3
| | | | | | | | | The initial revision of the GW551x does not connect enough signals between the HDMI receiver and the IMX6 CSI for 16bit capture mode necessary for yuv422smp capture. Future revisions will, but for the initial rev force it to yuv422bt656 mode which requires an 8bit video data bus. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: use hdmiinfmt env var to override HDMI capture formatTim Harvey2015-04-22-0/+39
| | | | | | | | | The HDMI receiver used on the GW54xx and GW551x has a 16bit video data bus interconnect between it and the IMX6 CSI. This can be used in two different modes, each having advantages and disadvantages. Allow the hdmiinfmt env var to specify which format is desired (yuv422smp or yuv422bt656). Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: add DT fixup for GW522x to change PCIE_RST# GPIOPushpal Sidhu2015-04-22-0/+28
| | | | | | | | The GW522x is functionally the same as a GW52xx except for PCIE_RST# GPIO. Add a DT fixup to change this gpio upon bootup. Signed-off-by: Pushpal Sidhu <psidhu@gateworks.com> Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: add 'gsc wd' command for enabling and disabling GSC watchdogTim Harvey2015-04-22-23/+81
| | | | | | | | | | | | | | | | | | This adds information about the Gateworks System Controller to the gsc command such as the firmware version, firmware CRC and status of the GSC watchdog (if its enabled and if its tripped). Additionally the 'gsc wd' command can be used to enable or disable the watchdog with the following usage: gsc wd enable [30|60] gsc wd disable Note that the GSC registers are battery-backed by the GSC coincell so once eanbled, they remain enabled across power-cycles or until either the GSC firmware has been updated or FLASH has been re-programmed by the Gateworks JTAG adapter. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: added device-tree display configuration for LVDS displaysTim Harvey2015-04-22-0/+8
| | | | | | | | Configure kernel device-tree for display from env var. This is useful to specify the display present when the device-tree supports multiple non-detectable display configurations. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: add support for DLC-700JMGT4 and DLC-800FIGT3 LCD displaysTim Harvey2015-04-22-0/+42
| | | | | | | | Add LVDS support for two LVDS LCD displays: DLC-700JMGT4 - 7" 1024x600 DLC-800FIGT3 - 8" 1024x768 Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: add DT fixup for GW54xx compatibility with older kernelsTim Harvey2015-04-22-0/+11
| | | | | | | | Certain older kernels in use by some customers erroneously define a uart3 for GW54xx with a pinmux that conflicts with NAND. This will remove that node to avoid such conflicts. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: remove 128x16 calibration (share with 128x32)Tim Harvey2015-04-22-24/+3
| | | | | | | The calibration data for dual 2Gb density chips can be used for a single 2Gb density chip. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: updated 16bit DDR calibrationTim Harvey2015-04-22-8/+12
| | | | | | | | Updated 16bit DDR calibration using values obtained from running the i.MX6 DDR Stress Test tool over a set of boards over full operationg temperature. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: added DT fixup for GW551x-A video inputTim Harvey2015-04-22-0/+35
| | | | | | | | | | | The GW551x-A revision does not have the CSI0_DATA_EN pin connected, therefore we need to make sure that signal is not muxed to the CSI_DATA_EN signal internally and do so by steering it to the unused GPIO5_IO20. We do this so that the kernel device-tree can properly define the signal for RevB and beyond boards that do have this hooked up properly and require it. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: gsc: add new hwmon railsTim Harvey2015-04-22-11/+12
| | | | | | | | | Add a new voltage rail added in various -C revision PCB's. Additionally make VDD_CORE, VDD_SOC, and VDD_IO2 common as all Ventana boards have those. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: add mem_mb dynamic env varTim Harvey2015-04-22-0/+4
| | | | | | | | Certain OS bootscripts need to know how much memory a board has to adjust kernel parameters (namely Android). This allows those boards to determine mem size in MB. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: remove GSC hwmon voltage rail min/max testTim Harvey2015-04-22-31/+22
| | | | | | | | The min/max of each depends not only on board but on CPU. Simplify by removing this rarely needed and difficult to maintain feature and just display the rails and their values. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: only pinmux FEC enet signals for boards using itTim Harvey2015-04-22-3/+3
| | | | Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: add wdis config for GW5520Tim Harvey2015-04-22-0/+1
| | | | Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: Add support for GW551xTim Harvey2015-04-22-12/+121
| | | | | | | | | | | | | | | | | The GW551x is a small form factor board based on the IMX6 SoC that includes: * up to 512MB DDR3 memory * up to 2GB NAND flash * 1x miniPCIe socket (with USB) * HDMI out (micro-HDMI) * HDMI in (micro-HDMI) * TTL level I/O (supported by GW16111 breakout board): * I2C * 2x UART * CAN * 2x DIO (GPIO/PWM) * USB OTG Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: disable IMX6 watchdogs on GW51xx RevA and RevBTim Harvey2015-04-22-0/+21
| | | | | | | | | A board level errata causes the IMX6 watchdog to be unstable on the GW51xx RevA and RevB boards which can cause the watchdog to trip extremely early (under 5seconds) under certain operating conditions. Disable the watchdog node in the device-tree to work around this issue. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: fix various sparse warningsTim Harvey2015-04-22-15/+15
| | | | Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: set LTC3676 PMIC to appropriate values per datasheetTim Harvey2015-04-22-16/+26
| | | | | | | | | | | | | The IMX6 Datasheets specifies that when the IMX6 LDO is enabled (internal Anatop LDO's for VDD_ARM, VDD_SOC, and VDD_xPU) you need to provide 1350mV on VDD_ARM_IN and VDD_SOC_IN for IMX6Q@1GHz (Automotive) and 1275mV for IMX6DL@800MHz (Industrial). While we are still about 50mV shy on the IMX6Q operating at 1GHz we set it to the max we can and leave it up to the kernel to implement a regulator driver for the LTC3676 and put the LDO's in bypass mode which allows us to drop the voltages by 125mV respectively. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: add support for 4Gb density mem devices with IMX6DLTim Harvey2015-04-22-2/+17
| | | | Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: enable precharge power-down fast-exit modeTim Harvey2015-04-22-0/+1
| | | | | | | Enable fast-exit precharge mode necessary for some DDR3 devices being used on Ventana boards. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: add usb_pcisel hwconfig supportTim Harvey2015-04-22-1/+3
| | | | | | | | The GW52xx has a MUX that can direct front-panel USB OTG to one of the miniPCIe sockets (for use with a cellular modem for example). Use hwconfig to steer this. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: remove unused GPIO configurationTim Harvey2015-04-22-2/+0
| | | | Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: assign default ethprime dynamicallyTim Harvey2015-04-22-0/+9
| | | | | | | Gateworks Ventana boards don't all use IMX6 FEC, so lets define default ethprime based off the first detected device. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: add i210 supportTim Harvey2015-04-22-0/+4
| | | | Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* arm: mx6: gw_ventana: Change clock init to enable NAND related clocksStefan Roese2014-12-19-1/+1
| | | | | | | | | | | | | | | Otherwise NAND booting is likely to fail. Since this disables the NAND related clocks and SPL can't load the main U-Boot from NAND. This problem was introduced with this patch: e25fbe3f (gw_ventana: Move the DCD settings to spl code) Signed-off-by: Stefan Roese <sr@denx.de> Cc: Fabio Estevam <fabio.estevam@freescale.com> Cc: Tim Harvey <tharvey@gateworks.com> Cc: Stefano Babic <sbabic@denx.de> Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
* Merge git://git.denx.de/u-boot-fdtTom Rini2014-11-26-4/+6
|\
| * fdt: Allow ft_board_setup() to report failureSimon Glass2014-11-21-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This function can fail if the device tree runs out of space. Rather than silently booting with an incomplete device tree, allow the failure to be detected. Unfortunately this involves changing a lot of places in the code. I have not changed behvaiour to return an error where one is not currently returned, to avoid unexpected breakage. Eventually it would be nice to allow boards to register functions to be called to update the device tree. This would avoid all the many functions to do this. However it's not clear yet if this should be done using driver model or with a linker list. This work is left for later. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Anatolij Gustschin <agust@denx.de>
* | gw_ventana: Use the generic spl_sd.cfgFabio Estevam2014-11-24-23/+0
| | | | | | | | | | | | | | | | | | | | | | gw_ventana can boot from SPI or NAND and both of these interfaces boot from the same 0x400 offset. This means that we could simplify the code and replace the custom gw_ventana.cfg with the generic spl_sd.cfg, as it provides the same boot offset of 0x400. Cc: Tim Harvey <tharvey@gateworks.com> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* | gw_ventana: Move the DCD settings to spl codeFabio Estevam2014-11-20-48/+28
|/ | | | | | | | | | | mx6sabresd_spl.cfg configures CCM registers, GPR registers and CCM_CCOSR. Move the configuration to the spl code. CCM_CCOSR setting is no longer required to get audio functionality in the kernel, so remove such setting. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* kconfig: arm: introduce symbol for ARM CPUsGeorges Savoundararadj2014-10-29-3/+0
| | | | | | | | | | | | | | | | | This commit introduces a Kconfig symbol for each ARM CPU: CPU_ARM720T, CPU_ARM920T, CPU_ARM926EJS, CPU_ARM946ES, CPU_ARM1136, CPU_ARM1176, CPU_V7, CPU_PXA, CPU_SA1100. Also, it adds the CPU feature Kconfig symbol HAS_VBAR which is selected for CPU_ARM1176 and CPU_V7. For each target, the corresponding CPU is selected and the definition of SYS_CPU in the corresponding Kconfig file is removed. Also, it removes redundant "string" type in some Kconfig files. Signed-off-by: Georges Savoundararadj <savoundg@gmail.com> Acked-by: Albert ARIBAUD <albert.u.boot@aribaud.net> Cc: Masahiro Yamada <yamada.m@jp.panasonic.com>
* ARM: i.MX: provide declaration for board_spi_cs_gpioEric Nelson2014-10-21-0/+1
| | | | | | | | Provide a public declaration of the board_spi_cs_gpio() callback for i.MX SPI chip selects to prevent the warning "Should it be static?" when compiling with "make C=1". Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
* Merge remote-tracking branch 'u-boot-imx/master'Albert ARIBAUD2014-10-08-7/+0
|\ | | | | | | | | | | | | The single file conflict below is actually trivial. Conflicts: board/boundary/nitrogen6x/nitrogen6x.c
| * ARM: mx6: gw_ventana: Remove superfluous memset of GD in board_init_fStefan Roese2014-10-01-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | spi: mxc: fix sf probe when using mxc_spiNikita Kiryanov2014-09-24-1/+6
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Merge branch 'master' of git://git.denx.de/u-boot-armTom Rini2014-09-17-90/+225
|\
| * imx: ventana: Avoid undefined behaviourThierry Reding2014-09-09-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The leds array within struct ventana has space for 3 elements, but the setup_board_gpio() function tries to set up 4 GPIOs for LEDs. Recent versions of GCC complain about that: board/gateworks/gw_ventana/gw_ventana.c: In function 'setup_board_gpio': board/gateworks/gw_ventana/gw_ventana.c:987:27: warning: iteration 3u invokes undefined behavior [-Waggressive-loop-optimizations] if (gpio_cfg[board].leds[i]) ^ board/gateworks/gw_ventana/gw_ventana.c:986:2: note: containing loop for (i = 0; i < 4; i++) { ^ Fix this by making the upper bound of the loop match the array size. Signed-off-by: Thierry Reding <treding@nvidia.com> Acked-by: Tim Harvey <tharvey@gateworks.com>
| * imx: ventana: add pci fixup for PLX PEX860x switch GPIOTim Harvey2014-09-09-0/+30
| | | | | | | | | | | | | | | | Most Gateworks Ventana boards use a PLX PEX860x PCIe switch for PCIe expansion. These boards use GPIO on the PLX device as PERST# for the downstream ports thus we assert this when the PLX is enumerated. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
| * imx: ventana: added cputype env varTim Harvey2014-09-09-0/+1
| | | | | | | | | | | | | | | | There are many similarities between the IMX6QUAD/IMX6DUAL and there are many similarities between the IMX6SOLO/IMX6DUALITE. Add a 'soctype' env variable that tells you which type you have. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
| * imx: ventana: add GW5520 supportTim Harvey2014-09-09-7/+81
| | | | | | | | | | | | | | | | | | | | | | The GW5520 has an IMX6Q SoC with 512MB of DDR3, 256MB of NAND flash as well as: * 2x MiniPCIe sockets * 2x USB host sockets * 2x i210 GigE * HDMI out * digital I/O expansion Signed-off-by: Tim Harvey <tharvey@gateworks.com>
| * imx: ventana: base SPL MMDC calibration on width and size not boardTim Harvey2014-09-09-80/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The IMX6 MMDC calibration registers depend on propagation delay and capacitive loading between the SoC's MMDC and the DDR3 chips. On the Ventana boards the board layout varies little in trace-lengths such that propagation delays are irrelevant thus we can simply things by using calibration values obtained from various board layouts based on a common SoC and DDR chip configuration. This eliminates board-model from being needed allowing more flexibility. These values were tested on a large sample size of Gateworks Ventana boards ranging in layout, and memory configuration over the entire temperature range supported. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
| * imx: ventana: updated notes regarding NAND boot errataTim Harvey2014-09-09-2/+3
| | | | | | | | Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* | kconfig: remove redundant "string" type in arch and board KconfigsMasahiro Yamada2014-09-13-5/+0
|/ | | | | | | | | | | | | | | | | | Now the types of CONFIG_SYS_{ARCH, CPU, SOC, VENDOR, BOARD, CONFIG_NAME} are specified in arch/Kconfig. We can delete the ones in arch and board Kconfig files. This commit can be easily reproduced by the following command: find . -name Kconfig -a ! -path ./arch/Kconfig | xargs sed -i -e ' /config[[:space:]]SYS_\(ARCH\|CPU\|SOC\|\VENDOR\|BOARD\|CONFIG_NAME\)/ { N s/\n[[:space:]]*string// } ' Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* imx: ventana: add econfig commandTim Harvey2014-08-20-85/+194
| | | | | | | | | | | | The Gateworks Ventana EEPROM contains a set of configuration bits that affect the removal of device-tree nodes that support peripherals that do not exist on sub-loaded boards. This patch adds: - a structure to define a config bit name, dt node alias, bit position - an array of supported configuration items - an econfig command to get/set/list configuration bits - use of the array when adjusting the FDT prior to boot Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: leave PCI reset de-asserted if PCI enabledTim Harvey2014-08-20-5/+3
| | | | Signed-off-by: Tim Harvey <tharvey@gateworks.com>