summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-05-26pwm: imx: Prevent NULL pointer dereferenceAxel Lin
pwm_id_to_reg() can return NULL, so add NULL testing to prevent NULL pointer dereference. Signed-off-by: Axel Lin <axel.lin@ingics.com> Acked-by: Stefano Babic <sbabic@denx.de> Acked-by: Heiko Schocher <hs@denx.de>
2015-05-21imx: ventana: config: enable Falcon modeTim Harvey
Falcon mode entails the SPL booting the OS directly instead of U-Boot. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2015-05-21wandboard: Switch to SPL supportFabio Estevam
Currently we need to build one U-boot image for each of the wandboard variants: quad, dual-lite and solo. By switching to SPL we can support all these variants with a single binary, which is very convenient. Based on the work from Richard Hu. Tested kernel booting on the three boards. Signed-off-by: Richard Hu <hakahu@gmail.com> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Tested-by: Vagrant Cascadian <vagrant@aikidev.net> Reviewed-by: Stefano Babic <sbabic@denx.de>
2015-05-19thermal: imx_thermal: use CPU temperature grade for trip pointsTim Harvey
Replace the hard-coded values for min/max/passive with values derived from the CPU temperature grade. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2015-05-19imx: mx6: add display of CPU temperature grade in print_cpuinfo()Tim Harvey
When CONFIG_IMX6_THERMAL is defined print the CPU temperature grade info along with the current temperature. Before: CPU: Temperature 42 C After: CPU: Automotive temperature grade (-40C to 125C) at 42C CPU: Industrial temperature grade (-40C to 105C) at 42C CPU: Extended Commercial temperature grade (-20C to 105C) at 42C Cc: Stefan Roese <sr@denx.de> Cc: Eric Nelson <eric.nelson@boundarydevices.com> Cc: Heiko Schocher <hs@denx.de> Cc: Nikita Kiryanov <nikita@compulab.co.il> Cc: Jon Nettleton <jon.nettleton@gmail.com> Cc: Jason Liu <r64343@freescale.com> Cc: Ye Li <b37916@freescale.com> Cc: Fabio Estevam <fabio.estevam@freescale.com> Cc: Christian Gmeiner <christian.gmeiner@gmail.com> Cc: Markus Niebel <Markus.Niebel@tq-group.com> Cc: Peng Fan <b51431@freescale.com> Tested-by: Nikolay Dimitrov <picmaster@mail.bg> Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2015-05-19imx: mx6: add get_cpu_temp_grade to obtain cpu temperature grade from OTPTim Harvey
The MX6 has a temperature grade defined by OCOTP_MEM0[7:6] which is at 0x480 in the Fusemap Description Table in the reference manual. Return this value as well as min/max temperature based on the value. Note that the IMX6SDLRM and the IMX6SXRM do not indicate this in the their Fusemap Description Table however Freescale has confirmed that these eFUSE bits match the description within the IMX6DQRM and that they will be added to the next revision of the respective reference manuals. This has been tested with IMX6 Automative and Industrial parts. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2015-05-19imx: mx6: display max cpu frequency in print_cpuinfo()Tim Harvey
Display the max CPU frequency as well as the current running CPU frequency if the max CPU frequency is available and differs from the current CPU frequency. Before: CPU: Freescale i.MX6Q rev1.2 at 792 MHz After - using an 800MHz IMX6DL (running at its max) CPU: Freescale i.MX6DL rev1.1 at 792 MHz After - using a 1GHz IMX6Q (not running at its max): CPU: Freescale i.MX6Q rev1.2 996 MHz (running at 792 MHz) Cc: Stefan Roese <sr@denx.de> Cc: Eric Nelson <eric.nelson@boundarydevices.com> Cc: Heiko Schocher <hs@denx.de> Cc: Nikita Kiryanov <nikita@compulab.co.il> Cc: Jon Nettleton <jon.nettleton@gmail.com> Cc: Jason Liu <r64343@freescale.com> Cc: Ye Li <b37916@freescale.com> Cc: Fabio Estevam <fabio.estevam@freescale.com> Cc: Christian Gmeiner <christian.gmeiner@gmail.com> Cc: Markus Niebel <Markus.Niebel@tq-group.com> Cc: Peng Fan <b51431@freescale.com> Tested-by: Nikolay Dimitrov <picmaster@mail.bg> Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2015-05-19imx: mx6: add get_cpu_speed_grade_hz func to return MHz speed grade from OTPTim Harvey
The IMX6 has four different speed grades determined by eFUSE SPEED_GRADING indicated by OCOTP_CFG3[17:16] which is at 0x440 in the Fusemap Description Table. Return this frequency so that it can be used elsewhere. Note that the IMX6SDLRM and the IMX6SXRM do not indicate this in the their Fusemap Description Table however Freescale has confirmed that these eFUSE bits match the description within the IMX6DQRM and that they will be added to the next revision of the respective reference manuals. These have been tested with IMX6 Quad/Solo/Dual-light 800Mhz and 1GHz grades. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2015-05-19mx6: add OTP bank1 registersTim Harvey
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2015-05-19arm: mx6: ddr: set fast-exit on DDR3 if pd_fast_exit specifiedTim Harvey
Commit fa8b7d66f49f0c7bd41467fe78f6488d8af6976a introduced fast-exit support to the MMDC however enabling it on the DDR3 got missed. Make sure we enable it on the DDR3 as well. Gateworks uses Micron memory as well as Winbond in MX6. We have found in testing that we need to enable fast-exit for Winbond stability. Gateworks boards are currently the only boards using the MX6 SPL and enabling fast-exit mode. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2015-05-19arm/imx-common: Fix warning 'get_reset_cause' defined but not usedPrabhakar Kushwaha
Fix below warning arch/arm/imx-common/cpu.c:29:14: warning: ‘get_reset_cause’ defined but not used static char *get_reset_cause(void) Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com> Reviewed-by: Eric Nelson <eric.nelson@boundarydevices.com> Acked-by: Stefano Babic <sbabic@denx.de>
2015-05-19pmic: pfuze100 fix typoPeng Fan
Change PUZE_100_SW1ABCONF to PFUZE100_SW1ABCONF Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
2015-05-19imx: mx6sx enable SION for i2c pin muxPeng Fan
Enable IOMUX_CONFIG_SION for all I2C pin mux settings, otherwise we will get erros when doing i2c operations. error log like the following: " wait_for_sr_state: failed sr=81 cr=a0 state=2020 i2c_init_transfer: failed for chip 0xb retry=1 " Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
2015-05-19imx: marsboard: Enable thermal DM supportNikolay Dimitrov
Signed-off-by: Nikolay Dimitrov <picmaster@mail.bg>
2015-05-19imx: riotboard: Enable thermal DM supportNikolay Dimitrov
Signed-off-by: Nikolay Dimitrov <picmaster@mail.bg>
2015-05-19imx: riotboard, marsboard: Enable thermal supportNikolay Dimitrov
Signed-off-by: Nikolay Dimitrov <picmaster@mail.bg>
2015-05-19hummingboard: Remove unused directoryFabio Estevam
The 'mx6-microsom' directory was only used for the previous mx6solo hummingboard support, which has been removed in favour of the SPL version. Remove the remaining piece of the old mx6solo hummingboard support. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Acked-by: Stefano Babic <sbabic@denx.de>
2015-05-19imx: ventana: add pmic_setup to SPLTim Harvey
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>
2015-05-19imx: ventana: (cosmetic) clean up size defines for improved readabilityTim Harvey
Use the SZ_1M and SZ_1K macros from linuz/sizes.h for improved readability Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2015-05-19imx: ventana: config: use MMC SPL RAW supportTim Harvey
Switch to MMC RAW support for SPL. We will place the uboot.img at 69KB. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2015-05-19env_nand: use nand_spl_load_image for readenv if SPLTim Harvey
The readenv() implementation of env_nand uses the mtd layer which is unnecessary overhead in SPL when we already have a nand_spl_load_image() function that doesn't need it. Using this instead eliminates the need to provide a mtd_read for SPL env as well as reduces code (4KB savings in IMX6 SPL). Signed-off-by: Tim Harvey <tharvey@gateworks.com> Acked-by: Scott Wood <scottwood@freescale.com>
2015-05-15imx: ventana: use stack relocationTim Harvey
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>
2015-05-15imx: ventana: add GSC boot watchdog disable to SPLTim Harvey
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>
2015-05-15imx: ventana: add gpio setup to SPLTim Harvey
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>
2015-05-15imx: ventana: use common uart and i2c setup functions in SPLTim Harvey
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>
2015-05-15imx: ventana: detect pmic using i2c probe instead of board modelTim Harvey
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>
2015-05-15imx: ventana: move GSC boot watchdog disable function to gsc.cTim Harvey
Move the code that disables the GSC boot watchdog into gsc.c Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2015-05-15imx: ventana: split out common functions between SPL and ubootTim Harvey
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>
2015-05-15imx: ventana: default msata/pci mux to pci before PCI enumerationTim Harvey
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>
2015-05-15imx: ventana: fix pcie reset for GW522xTim Harvey
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>
2015-05-15imx: ventana: config: enable Thermal supportTim Harvey
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2015-05-15imx: ventana: enable DM_SERIALTim Harvey
mxc_serial supports DM so lets use it. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2015-05-15imx: ventana: register gpio's with gpio_requestTim Harvey
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>
2015-05-15imx: ventana: config: enable driver modelTim Harvey
Enable U-Boot Driver Model (DM). Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2015-05-15imx: ventana: config: enable gpio commandTim Harvey
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2015-05-15imx: ventana: display SPL boot deviceTim Harvey
Display what device the SPL will fetch uboot.img from Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2015-05-15imx: ventana: set dtype env var to boot mediaTim Harvey
Bootscripts for some distro's such as Android can benefit from knowing what boot media its script was loaded from. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2015-05-15arm: mx6: ddr3: Remove dead codeNikolay Dimitrov
imx6 mmdc supports data rates up to 1066 MT/s, so remove the code handling higher data rates. Signed-off-by: Nikolay Dimitrov <picmaster@mail.bg>
2015-05-15mx6: Set shared override bit in PL310 AUX_CTRL registerFabio Estevam
Having bit 22 cleared in the PL310 Auxiliary Control register (shared attribute override enable) has the side effect of transforming Normal Shared Non-cacheable reads into Cacheable no-allocate reads. Coherent DMA buffers in Linux always have a Cacheable alias via the kernel linear mapping and the processor can speculatively load cache lines into the PL310 controller. With bit 22 cleared, Non-cacheable reads would unexpectedly hit such cache lines leading to buffer corruption. This was inspired by a patch from Catalin Marinas [1] and also from recent discussions in the linux-arm-kernel list [2] where Russell King and Rob Herring suggested that bootloaders should initialize the cache. [1] http://lists.infradead.org/pipermail/linux-arm-kernel/2010-November/031810.html [2] https://lkml.org/lkml/2015/2/20/199 Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com>
2015-05-15tbs2910: add CONFIG_SUPPORT_EMMC_BOOTSoeren Moch
Add emmc boot partition commands to be able to select the boot partition. Signed-off-by: Soeren Moch <smoch@web.de>
2015-05-15tbs2910: use default CONFIG_SYS_PBSIZESoeren Moch
Since there is a default CONFIG_SYS_PBSIZE definition in config_fallbacks.h, this setting is no longer required in board configurations. Signed-off-by: Soeren Moch <smoch@web.de>
2015-05-15tbs2910: only enable vga output for stdout/stderr when hdmi detectedSoeren Moch
Only enable graphical output for stdout/stderr (and a usb keyboard for stdin) when a hdmi device is detected. Serial console is always enabled for stdin/stdout/stderr. Signed-off-by: Soeren Moch <smoch@web.de>
2015-05-15tbs2910: support for usb otg host modeSoeren Moch
Add support for USB OTG host mode. Only high speed devices supported so far (e.g. usb 2.0 hub required to connect a keyboard). Signed-off-by: Soeren Moch <smoch@web.de>
2015-05-15warp: README: Fix typoFabio Estevam
Fix the spelling of 'successful'. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
2015-05-15mx6cuboxi: Mention Cubox-i in the READMEFabio Estevam
Cubox-i boards are also supported, so update the README file. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
2015-05-15hummingboard: Remove mx6solo specific supportFabio Estevam
Hummingboard dual, dual-lite and solo are now supported via SPL mechanism. Remove the previous hummingboard support, which does not use SPL and supported only the solo variant. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2015-05-15imx: ventana: fix boot to SDTim Harvey
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>
2015-05-15imx: dek_blob: Add explicit include for mapmemUlises Cardenas
Boards such as imx6q_sabresd might not have mapmem.h as part of their common library. This causes a build error if the DEK blob command is enabled. Fix: make explicit the include of mapmem.h Signed-off-by: Ulises Cardenas <Ulises.Cardenas@freescale.com> Reviewed-by: Ruchika Gupta <Ruchika.gupta@freescale.com>
2015-05-15bugfix i.mx6 pwm: prevent overflow of period_c * duty_nsBrecht Neyrinck
Prevent overflow by casting duty_ns to ull first. This bug came up when trying to create a 200 Hz PWM Signed-off-by: Brecht Neyrinck <bnrn@psicontrol.com> Acked-by: Heiko Schocher<hs@denx.de>
2015-05-15mx6cuboxi: Skip usb initialization when booting without HDMIFabio Estevam
Starting USB initialization is useful for those who use Cuboxi/Hummingboard with HDMI and USB keyboard. However, when booting without a HDMI connection we can skip the usb initialization, which makes the boot faster. Signed-off-by: Jon Nettleton <jon.nettleton@gmail.com> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Tested-By: Vagrant Cascadian <vagrant@aikidev.net>