summaryrefslogtreecommitdiff
path: root/board/gateworks
Commit message (Collapse)AuthorAgeLines
* mx6: ddr: Allow changing REFSEL and REFR fieldsFabio Estevam2016-09-06-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently MX6 SPL DDR initialization hardcodes the REF_SEL and REFR fields of the MDREF register as 1 and 7, respectively for DDR3 and 0 and 3 for LPDDR2. Looking at the MDREF initialization done via DCD we see that boards do need to initialize these fields differently: $ git grep 0x021b0020 board/ board/bachmann/ot1200/mx6q_4x_mt41j128.cfg:DATA 4 0x021b0020 0x00005800 board/ccv/xpress/imximage.cfg:DATA 4 0x021b0020 0x00000800 /* MMDC0_MDREF */ board/freescale/mx6qarm2/imximage.cfg:DATA 4 0x021b0020 0x7800 board/freescale/mx6qarm2/imximage.cfg:DATA 4 0x021b0020 0x00005800 board/freescale/mx6qarm2/imximage_mx6dl.cfg:DATA 4 0x021b0020 0x00005800 board/freescale/mx6qarm2/imximage_mx6dl.cfg:DATA 4 0x021b0020 0x00005800 board/freescale/mx6qsabreauto/imximage.cfg:DATA 4 0x021b0020 0x00005800 board/freescale/mx6qsabreauto/mx6dl.cfg:DATA 4 0x021b0020 0x00005800 board/freescale/mx6qsabreauto/mx6qp.cfg:DATA 4 0x021b0020 0x00005800 board/freescale/mx6sabresd/mx6dlsabresd.cfg:DATA 4 0x021b0020 0x00005800 board/freescale/mx6sabresd/mx6q_4x_mt41j128.cfg:DATA 4 0x021b0020 0x00005800 board/freescale/mx6slevk/imximage.cfg:DATA 4 0x021b0020 0x00001800 board/freescale/mx6sxsabreauto/imximage.cfg:DATA 4 0x021b0020 0x00000800 board/freescale/mx6sxsabresd/imximage.cfg:DATA 4 0x021b0020 0x00000800 board/warp/imximage.cfg:DATA 4 0x021b0020 0x00001800 So introduce a mechanism for users to be able to configure REFSEL and REFR fields as needed. Keep all the mx6 SPL users in their current REF_SEL and REFR values, so no functional changes for the existing users. Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com> Reviewed-by: Eric Nelson <eric@nelint.com>
* imx: ventana: add dt fixup for watchdog external resetTim Harvey2016-07-28-0/+30
| | | | | | | | | | | Added removal of the fsl,ext-reset-output property in the wdog node for board revisions that pre-date the addition of the external watchdog reset signal. This property is a recent addition to mainline linux kernel in order to specify that the IMX watchdog external reset should be used instead of the internal chip-level reset. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: refactor board-specific dt fixups (no functional change)Tim Harvey2016-07-28-73/+93
| | | | | | | | | | | | Re-factor the board-specific dt fixups so that they are easier to follow and extend in the future: - use defines for DT paths - use switch/case per board - order models numerically There is no functional change in the code Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: make hwconfig initialize based on board configurationTim Harvey2016-07-28-1/+15
| | | | | | | | | | The hwconfig env var allows user to control hardware specific configuration of board specific features but not all Ventana boards have the same features. We will use the magic default value of "_UNKNOWN_" to signify that the bootloader should create this based on detected board model. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: add extra DIO's for GW5520Tim Harvey2016-07-28-0/+36
| | | | | | | The GW5520 has 10 DIO's instead of the typical 4 found on the Ventana product family. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: make number of digital I/O's dynamicTim Harvey2016-07-28-210/+199
| | | | | | Replace the static list of board-specific digital I/O's with a dynamic list. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: make RS232 enable board specificTim Harvey2016-07-28-9/+27
| | | | | | Not all Ventana boards have an RS232 transceiver, make it board specific. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: add dt fixup for eth1 mac-addressTim Harvey2016-07-28-0/+35
| | | | | | | Ventana boards with a PCI Marvell Sky2 GigE MAC require the MAC address to be placed in a DT node in order for the mainline linux driver to obtain it. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: add dt fixup for GW16082 irq mappingTim Harvey2016-07-28-0/+228
| | | | | | | | | | | | | | The GW16082 mini-PCI expansion mezzanine uses a TI XIO2001 PCIe-to-PCI bridge with legacy INTA/B/C/D interrupts. These interrupts are assigned in the reverse order according to the PCI spec. If the TI bridge is found on the Ventana PCI bus, add device-tree nodes according to bus enumeration explicitly defining the interrupt mapping to override the default PCI mapping in the Linux kernel. This allows the GW16082 to work with upstream kernels that support device-tree irq parsing. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* Merge branch 'master' of git://www.denx.de/git/u-boot-imxTom Rini2016-06-12-68/+262
|\
| * imx: ventana: add fdt fixup to enable UHS-I support on selected boardsTim Harvey2016-05-31-2/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UHS-I support is available on Ventana boards with micro-SD sockets depending on the board revision. For backwards compatibility to not break users who have old bootloaders and newer kernels the device-tree on boards with microSD disables UHS-I support by default by defining the no-1-8-v property in the esdhc controller node. For models/revisions that support switchable 1.8V/3.3V I/O which is detectable by the presence of a pull-down on the SD3_VSELECT pin we remove that property to enable support in the kernel. Additionally we add SD3_VSELECT to the pinmux for clarity (even though U-Boot does not currently support UHS-I modes requiring 1.8V I/O). Signed-off-by: Tim Harvey <tharvey@gateworks.com>
| * imx: ventana: add GW553x supportTim Harvey2016-05-31-3/+66
| | | | | | | | Signed-off-by: Tim Harvey <tharvey@gateworks.com>
| * imx: ventana: remove several EEPROM config bit dependenceTim Harvey2016-05-31-31/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed several EEPROM bit dependencies: - for dt aliases that don't exist and thus don't ever do anything (pcie,lvds1,uart*,vpu,csi*,hdmi_in,hdmi_out,cvbs_in,cvbs_out,gps) - for features that don't effect bus ordering or have no detrimental affect if erroneously enabled when not present (ahci,nand,i2c*) - for features that have little to no impact on being erroneously enabled but high impact if erroneously disabled (can*, spi*) - for features that have an high adverse affect of not being set when they should and no adverse affect of being set when they shouldn't (ipu*). Removing these means the following: - these no longer are supported with the econfig command - these no longer affect the device-tree in any way Signed-off-by: Tim Harvey <tharvey@gateworks.com>
| * imx: ventana: remove dependence on EECONFIG_SATA eeprom feature bitTim Harvey2016-05-31-11/+22
| | | | | | | | | | | | | | | | | | | | | | The MSATA feature is a board-specific feature on Gateworks Ventana boards. In most cases a 2:1 mux will steer either PCIe or SATA to a miniPCIe socket through an MSATA_EN gpio. In these such cases assign the gpio in the board specific struct and use its presence to determine if we default the GPIO to PCIe and if we later steer it according to hwconfig. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
| * imx: ventana: enable pwm device-tree property based on hwconfigTim Harvey2016-05-31-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | Most Ventana boards have a connector with off-board digital-I/O signals including some that can be pinmuxed as either a PWM or a GPIO. The hwconfig env variable is used to configure these and they will be pinmuxed according to this configuration in the bootloader. This patch adds a device-tree fixup that will enable the pwm controller nodes appropriately for digital-I/O's that are configured as pwm via hwconfig so that the pin can be used with the Linux kernel /sys/class/pwm API. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
| * imx: ventana: fix invalid dio configuration for pwm modeTim Harvey2016-05-31-1/+1
| | | | | | | | Signed-off-by: Tim Harvey <tharvey@gateworks.com>
| * imx: ventana: export backlight gpio after gpio driver is availableTim Harvey2016-05-31-2/+3
| | | | | | | | | | | | | | | | | | | | Calling request_gpio to register bklt_gpio with the GPIO driver had no effect in setup_display called from early board init (although pinmuxing it and configuring it as output-low does do what it should). Therefore move the request_gpio later in enable_lvds so that its registered for use by the gpio command if LVDS is actually enabled. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
| * imx: ventana: gsc: show board temp on bootTim Harvey2016-05-31-0/+6
| | | | | | | | Signed-off-by: Tim Harvey <tharvey@gateworks.com>
| * imx: ventana: gsc: fix negative temperature readingsTim Harvey2016-05-31-0/+2
| | | | | | | | | | | | | | The GSC Temperature sensor is a 2's complement value - adjust accordingly for negative temperatures. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
| * imx: ventana: gsc: add gsc sleep commandTim Harvey2016-05-31-1/+45
| | | | | | | | | | | | | | | | | | | | | | | | The Gateworks System Controller on Ventana boards has the ability to disable the board's primary power supply until the RTC hits a specific time. When sleeping a button-down event on the GSC user pushbutton will wake the board before it's wake time has been reached. This feature is referred to as GSC sleep. Add a command to invoke sleep mode for a specified number of seconds. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
| * imx: ventana: SPL: added support for 32bit IMX6DQ 8Gb density DRAM configTim Harvey2016-05-31-0/+32
| | | | | | | | Signed-off-by: Tim Harvey <tharvey@gateworks.com>
| * imx: ventana: SPL: only disable boot watchdog if Falcon modeTim Harvey2016-05-31-3/+3
| | | | | | | | | | | | | | If not booting Falcon mode, leave the boot watchdog enabled as a work-around for other non-resolved bootloader hangs. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
| * imx: ventana: use EEPROM register for falcon boot modeTim Harvey2016-05-24-12/+12
| | | | | | | | | | | | | | | | | | NAND+MMC env support costs 12KB in the SPL which is fairly expensive just for the ability to specify whether or not to boot to uboot or directly to linux. The Ventana boards have plenty of EEPROM storage so we will use a byte there to signify if we should boot to the bootloader or to the OS. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
| * imx: ventana: gsc: remove dependence on envTim Harvey2016-05-24-2/+2
| | | | | | | | | | | | remove dependence on getenv() by using global board info struct for model. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* | Delete tests of CONFIG_OF_LIBFDT when testing CONFIG_OF_BOARD_SETUPRobert P. J. Day2016-05-27-2/+2
|/ | | | | | | | | | | | | | | | Since CONFIG_OF_BOARD_SETUP depends on CONFIG_OF_LIBFDT: config OF_BOARD_SETUP bool "Set up board-specific details in device tree before boot" depends on OF_LIBFDT ... remove superfluous tests of CONFIG_OF_LIBFDT when testing for CONFIG_OF_BOARD_SETUP. Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> [trini: Typo fix: s/ifdefi/ifdef/] Signed-off-by: Tom Rini <trini@konsulko.com>
* Use correct spelling of "U-Boot"Bin Meng2016-02-06-7/+7
| | | | | | | | | | Correct spelling of "U-Boot" shall be used in all written text (documentation, comments in source files etc.). Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Heiko Schocher <hs@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Minkyu Kang <mk7.kang@samsung.com>
* arm: imx6: novena, gw_ventana: Fix use of pfuze100 bit definitionsMarek Vasut2015-12-01-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The following patch changed the PFUZE100 swbst register bit definitions and broke PMIC configuration on multiple boards, at least on the novena and gw_ventana. This patch fixes it. commit 8fa46350a4c7dca7710362f6c871098557b934ad Author: Peng Fan <Peng.Fan@freescale.com> Date: Fri Aug 7 16:43:45 2015 +0800 power: regulator: add pfuze100 support Signed-off-by: Marek Vasut <marex@denx.de> Cc: Fabio Estevam <fabio.estevam@freescale.com> Cc: Peng Fan <Peng.Fan@freescale.com> Cc: Przemyslaw Marczak <p.marczak@samsung.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Tim Harvey <tharvey@gateworks.com> Cc: Vagrant Cascadian <vagrant@aikidev.net> Reviewed-by: Przemyslaw Marczak <p.marczak@samsung.com> Tested-by: Vagrant Cascadian <vagrant@aikidev.net> Reviewed-by: Peng Fan <Peng.Fan@freescale.com> Acked-by: Tim Harvey <tharvey@gateworks.com>
* gw_ventana: Remove empty reset_cpu()Fabio Estevam2015-11-12-4/+0
| | | | | | | | | There is really no need to provide an empty reset_cpu() implementation, so just remove it. Cc: Tim Harvey <tharvey@gateworks.com> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Acked-by: Tim Harvey <tharvey@gateworks.com>
* mx6: remove SYS_SOC from board KconfigPeng Fan2015-09-13-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | Remove duplicated SYS_SOC Kconfig entry from board Kconfig, because we have this entry in arch/arm/cpu/armv7/mx6/Kconfig. Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Heiko Schocher <hs@denx.de> Cc: Christian Gmeiner <christian.gmeiner@gmail.com> Cc: Stefan Roese <sr@denx.de> Cc: Troy Kisky <troy.kisky@boundarydevices.com> Cc: Nikita Kiryanov <nikita@compulab.co.il> Cc: "Eric BĂ©nard" <eric@eukrea.com> Cc: Fabio Estevam <fabio.estevam@freescale.com> Cc: Tim Harvey <tharvey@gateworks.com> Cc: Marek Vasut <marex@denx.de> Cc: Markus Niebel <Markus.Niebel@tq-group.com> Cc: Otavio Salvador <otavio@ossystems.com.br> Acked-by: Stefan Roese <sr@denx.de> Acked-by: Marek Vasut <marex@denx.de> Acked-by: Christian Gmeiner <christian.gmeiner@gmail.com> Acked-by: Markus Niebel <Markus.Niebel@tq-group.com> Acked-by: Troy Kisky <troy.kisky@boundarydevices.com> Acked-by: Igor Grinberg <grinberg@compulab.co.il>
* imx: mx6: ddr init MMDC according to ddr_typePeng Fan2015-09-02-0/+1
| | | | | | | | | | | | | | | | | To i.MX6, DDR3 and LPDDR2 is supported, so rename function mx6_dram_cfg to mx6_ddr3_cfg and the original mx6_dram_cfg function only is a wrapper. The new reimplemented function mx6_dram_cfg only invokes mx6_ddr3_cfg when ddr_type is for DDR3. Later we can use ddr_type to initialize MMDC for LPDDR2. Initialize ddr_type for different boards which enable SPL. Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Tim Harvey <tharvey@gateworks.com> Cc: Stefan Roese <sr@denx.de> Cc: Fabio Estevam <fabio.estevam@freescale.com> Reviewed-by: Stefan Roese <sr@denx.de>
* imx: ventana: skip mtdparts fixup if no flashTim Harvey2015-06-01-3/+5
| | | | | | This avoids an error message on NAND-less boards. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: hang if board model could not be determinedTim Harvey2015-06-01-4/+2
| | | | | | | | If the EEPROM could not be read or is corrupt we always want to hang. Note that an error message will have been displayed by read_eeprom in this case. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: make fdt_file1 and fdt_file2 automatic and non-overridableTim Harvey2015-06-01-8/+4
| | | | | | | | | The fdt_file1 and fdt_file2 vars provide fallbacks for the fdt file loading script. There is no need to allow the user to override these as if they want to specify the fdt, they should do so in the first attempt which is the fdt_file var. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: make model env var automatic and non-overridableTim Harvey2015-06-01-6/+1
| | | | | | | We want to model env var to always reflect what was in the EEPROM. There is no point in allowing a user to override this. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: various board-specific GPIO config updatesTim Harvey2015-06-01-30/+46
| | | | | | | | | | | | | | - Added iomux for CAN_STBY and RS484_TEN (GW52xx/GW53xx/GW54xx/GW551x) - Moved iomux of USBHUB_RST# out of board_ehci_hcd_init so that it is done regardless of USB being initialized in bootloader - Added usb_sel iomux/hwconfig for GW552x - Fixed mezzanine DIO for GW54xx - Fixed PANLEDR# for GW54xx - Fixed dio iomux/hwconfig for GW552x - Fixed dio iomux for GW551x - removed redundant #define Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: update README with Falcon mode documentationTim Harvey2015-05-26-0/+169
| | | | Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: update README for micro-SD boot mediumTim Harvey2015-05-26-3/+71
| | | | Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: config: enable Falcon modeTim Harvey2015-05-21-0/+20
| | | | | | Falcon mode entails the SPL booting the OS directly instead of U-Boot. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: add pmic_setup to SPLTim Harvey2015-05-19-0/+3
| | | | | | | We need to do any PMIC setup in the SPL if we are to bypass U-Boot for falcon mode. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: use stack relocationTim Harvey2015-05-15-3/+0
| | | | | | | | | Certain features we desire require a larger stack than is available by using iRAM (most notably for us, env_mmc). Relocate the stack to DRAM so that we can use these features. Signed-off-by: Tim Harvey <tharvey@gateworks.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* imx: ventana: add GSC boot watchdog disable to SPLTim Harvey2015-05-15-0/+3
| | | | | | | If the SPL is to be used for Falcon mode then we need to make sure the SPL disable the GSC boot watchdog. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: add gpio setup to SPLTim Harvey2015-05-15-0/+3
| | | | | | | If the SPL is to be used for Falcon mode then we need to make sure it configures basic GPIO (iomux, padconf, and default output levels). Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: use common uart and i2c setup functions in SPLTim Harvey2015-05-15-47/+5
| | | | | | | Now that uart and i2c setup functions have been moved to common.c we can use these and remove code duplication. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: detect pmic using i2c probe instead of board modelTim Harvey2015-05-15-5/+9
| | | | | | | | Avoid requiring board-model and probe pmic by its i2c address. This is in preparation for being able to call pmic_setup() from SPL and not need board type. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: move GSC boot watchdog disable function to gsc.cTim Harvey2015-05-15-22/+30
| | | | | | Move the code that disables the GSC boot watchdog into gsc.c Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: split out common functions between SPL and ubootTim Harvey2015-05-15-864/+933
| | | | | | | | | | | | | | | | Move shared functions used by both SPL and U-Boot to common.c: - setup_iomux_uart() and uart pad config - gpio pad config In the process also moved the following to common.c in preparation for calling it from the SPL: - split i2c setup into a shared function - move pmic init to setup_pmic() function to call directly from power_init_board() - split gpio setup into early (iomux and default pin config) and late (output configuration based on env) Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: default msata/pci mux to pci before PCI enumerationTim Harvey2015-05-15-3/+4
| | | | | | | | PCI enumeration occurs early, before we fully configure our GPIO's. Make sure we steer the MSATA/PCI mux to PCI in board_init to ensure PCI is selected before enumeration. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: fix pcie reset for GW522xTim Harvey2015-05-15-4/+4
| | | | | | | The re-assignment of pcie_rst gpio for GW522x needs to occur earlier, before the PCI subsystem calls the toggle funciton. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* imx: ventana: enable DM_SERIALTim Harvey2015-05-15-0/+9
| | | | | | mxc_serial supports DM so lets use it. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* 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>