- Nov 29, 2016
-
-
Max Krummenacher authored
The ipu has two display interfaces. Make the used one a parameter in struct display_info_t instead of using unconditionally DI0. DI0 is the default setting. Signed-off-by:
Max Krummenacher <max.krummenacher@toradex.com> Reviewed-by:
Eric Nelson <eric@nelint.com>
-
- Oct 26, 2016
-
-
Jagan Teki authored
Boot Log for i.CoreM6 DualLite/Solo Starter Kit: ----------------------------------------------- U-Boot SPL 2016.09-rc2-30739-gd1fa290 (Sep 17 2016 - 00:37:46) Trying to boot from MMC1 U-Boot 2016.09-rc2-30739-gd1fa290 (Sep 17 2016 - 00:37:46 +0530) CPU: Freescale i.MX6SOLO rev1.3 at 792MHz CPU: Industrial temperature grade (-40C to 105C) at 31C Reset cause: POR DRAM: 256 MiB MMC: FSL_SDHC: 0 *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial Net: CPU Net Initialization Failed No ethernet found. Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0 is current device switch to partitions #0, OK mmc0 is current device reading boot.scr ** Unable to read file boot.scr ** reading zImage 6741808 bytes read in 341 ms (18.9 MiB/s) Booting from mmc ... reading imx6dl-icore.dtb 30600 bytes read in 19 ms (1.5 MiB/s) Booting using the fdt blob at 0x18000000 Using Device Tree in place at 18000000, end 1800a787 Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 Boot Log for i.CoreM6 Quad/Dual Starter Kit: -------------------------------------------- U-Boot SPL 2016.09-rc2-30739-gd1fa290 (Sep 17 2016 - 00:37:46) Trying to boot from MMC1 U-Boot 2016.09-rc2-30739-gd1fa290 (Sep 17 2016 - 00:37:46 +0530) CPU: Freescale i.MX6Q rev1.2 at 792MHz CPU: Industrial temperature grade (-40C to 105C) at 28C Reset cause: POR DRAM: 512 MiB MMC: FSL_SDHC: 0 *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial Net: CPU Net Initialization Failed No ethernet found. Hit any key to stop autoboot: 0 icorem6qdl> Cc: Stefano Babic <sbabic@denx.de> Cc: Fabio Estevam <fabio.estevam@nxp.com> Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Acked-by:
Peng Fan <peng.fan@nxp.com> Signed-off-by:
Jagan Teki <jagan@amarulasolutions.com>
-
- Oct 04, 2016
-
-
Peng Fan authored
For i.MX6, the mux width is 4, not 3. So enlarge the width. IOMUX_CONFIG_LPSR is changed from 0x8 to 0x20 to not use bit 3 of mux. Signed-off-by:
Peng Fan <peng.fan@nxp.com> Cc: Stefano Babic <sbabic@denx.de>
-
Peng Fan authored
SNVS TAMPER pin and BOOT MODE pins are in SNVS IOMUXC module, not in IOMUXC, so correct the related registers' offset. Use IOMUX_CONFIG_LPSR flag for these pins, so we can differentiate them from iomuxc pins. Signed-off-by:
Peng Fan <peng.fan@nxp.com> Cc: Stefano Babic <sbabic@denx.de> Cc: "Benoît Thébaudeau" <benoit.thebaudeau.dev@gmail.com>
-
Peng Fan authored
Introduce is_mx6ull macro. Signed-off-by:
Peng Fan <peng.fan@nxp.com> Cc: Stefano Babic <sbabic@denx.de>
-
- May 24, 2016
-
-
Peng Fan authored
Introduce simpler macros for runtime cpu dection. Signed-off-by:
Peng Fan <van.freenix@gmail.com> Cc: Stefano Babic <sbabic@denx.de> Acked-by:
Stefano Babic <sbabic@denx.de>
-
- Mar 28, 2016
-
-
Peng Fan authored
Implement i2c_idle_bus in driver, then setup_i2c can be dropped for boards which enable DM_I2C/DM_GPIO/PINCTRL. The i2c_idle_bus force bus idle flow follows setup_i2c in arch/arm/imx-common/i2c-mxv7.c This patch is an implementation following linux kernel patch: " commit 1c4b6c3bcf30d0804db0d0647d8ebeb862c6f7e5 Author: Gao Pan <b54642@freescale.com> Date: Fri Oct 23 20:28:54 2015 +0800 i2c: imx: implement bus recovery Implement bus recovery methods for i2c-imx so we can recover from situations where SCL/SDA are stuck low. Once i2c bus SCL/SDA are stuck low during transfer, config the i2c pinctrl to gpio mode by calling pinctrl sleep set function, and then use GPIO to emulate the i2c protocol to send nine dummy clock to recover i2c device. After recovery, set i2c pinctrl to default group setting. " See Documentation/devicetree/bindings/i2c/i2c-imx.txt for detailed description. 1. Introuduce scl_gpio/sda_gpio/bus in mxc_i2c_bus. 2. Discard the __weak attribute for i2c_idle_bus and implement it, since we have pinctrl driver/driver model gpio driver. We can use device tree, but not let board code to do this. 3. gpio state for mxc_i2c is not a must, but it is recommended. If there is no gpio state, driver will give tips, but not fail. 4. The i2c controller was first probed, default pinctrl state will be used, so when need to use gpio function, need to do "pinctrl_select_state(dev, "gpio")" and after force bus idle, need to switch back "pinctrl_select_state(dev, "default")". This is example about how to use the gpio force bus idle function: " &i2c1 { clock-frequency = <100000>; pinctrl-names = "default", "gpio"; pinctrl-0 = <&pinctrl_i2c1>; pinctrl-1 = <&pinctrl_i2c1_gpio>; scl-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>; sda-gpios = <&gpio1 29 GPIO_ACTIVE_HIGH>; status = "okay"; [....] }; [.....] pinctrl_i2c1_gpio: i2c1grp_gpio { fsl,pins = < MX6UL_PAD_UART4_TX_DATA__GPIO1_IO28 0x1b8b0 MX6UL_PAD_UART4_RX_DATA__GPIO1_IO29 0x1b8b0 >; }; " Signed-off-by:
Peng Fan <van.freenix@gmail.com> Cc: Albert Aribaud <albert.u.boot@aribaud.net> Cc: Stefano Babic <sbabic@denx.de> Cc: Heiko Schocher <hs@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: York Sun <york.sun@nxp.com>
-
- Feb 21, 2016
-
-
Peng Fan authored
Introduce Resource Domain Controller support for i.MX. Now i.MX6SX and i.MX7D supports this feature to assign masters and peripherals to different domains. Signed-off-by:
Ye.Li <ye.li@nxp.com> Signed-off-by:
Peng Fan <peng.fan@nxp.com>
-
- Jan 24, 2016
-
-
Peng Fan authored
Update GPMI NAND driver and BCH head file to support i.MX7 Signed-off-by:
Peng Fan <peng.fan@nxp.com> Cc: Stefano Babic <sbabic@denx.de>
-
Peng Fan authored
Update APBH-DMA driver and head files to support i.MX7D Signed-off-by:
Peng Fan <peng.fan@nxp.com> Cc: Stefano Babic <sbabic@denx.de>
-
- Nov 25, 2015
-
-
Otavio Salvador authored
We should also take MX6D option in consideration when defining imx_iomux_v3_setup_pad(). Signed-off-by:
Otavio Salvador <otavio@ossystems.com.br> Reviewed-by:
Fabio Estevam <fabio.estevam@freescale.com>
-
- Nov 12, 2015
-
-
Peng Fan authored
Introudce a new function lcdif_power_down. 1. Waits for a VSYNC interrupt to guarantee the reset is done at the VSYNC edge, which somehow makes the LCDIF consume the display FIFO(?) and helps the LCDIF work normally at the kernel stage. 2. Add power down function to stop lcdif. The reason to introduce lcdif_power_down is that we want lcdif to be in initial state when doing uboot reset or before kernel boot to make system stable, otherwise system may hang. Signed-off-by:
Peng Fan <Peng.Fan@freescale.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Anatolij Gustschin <agust@denx.de> Acked-by:
Anatolij Gustschin <agust@denx.de>
-
Peng Fan authored
Share one lcdif structure for i.MXes. 1. Discard struct mxs_lcdif_regs from imx-regs.h of i.MX7 2. Add i.MX6SX/6UL/7D support in imx-lcdif.h of imx-common Signed-off-by:
Peng Fan <Peng.Fan@freescale.com> Cc: Stefano Babic <sbabic@denx.de>
-
Peng Fan authored
Move 'struct mxs_lcdif_regs' and lcdif related macro definitions to arch/arm/include/asm/imx-common/regs-lcdif.h. Signed-off-by:
Peng Fan <Peng.Fan@freescale.com> Cc: Stefano Babic <sbabic@denx.de>
-
Peng Fan authored
There are uint8_t, uint32_t types in regs-common.h, so include linux/types.h. Signed-off-by:
Peng Fan <Peng.Fan@freescale.com> Cc: Stefano Babic <sbabic@denx.de>
-
- Oct 30, 2015
-
-
Adrian Alonso authored
Add secure boot fuse helper struct to abstract the way to find out secure boot settings per SoC iMX family Signed-off-by:
Adrian Alonso <aalonso@freescale.com>
-
Adrian Alonso authored
Add CONFIG_ROM_UNIFIED_SECTIONS for mx6sx and mx6ul target platforms to resolve corresponding HAB_RVT_BASE base address, the RVT table contains pointers to the HAB API functions in ROM code. Signed-off-by:
Adrian Alonso <aalonso@freescale.com>
-
Adrian Alonso authored
Rework secure boot support for imx6, move existing hab support for imx6 into imx-common for SoC reuse. Signed-off-by:
Adrian Alonso <aalonso@freescale.com>
-
- Sep 13, 2015
-
-
Adrian Alonso authored
Rework imx_set_wdog_powerdown to be reused by imx6 and imx7 Signed-off-by:
Adrian Alonso <aalonso@freescale.com>
-
Adrian Alonso authored
Add imx7d basic SoC system support Misc arch dependent functions for system bring up Signed-off-by:
Adrian Alonso <aalonso@freescale.com> Signed-off-by:
Peng Fan <Peng.Fan@freescale.com> Signed-off-by:
Ye.Li <B37916@freescale.com>
-
Adrian Alonso authored
Add system counter driver for imx7d and mx6ul imx7 and imx6ul supports system counter timer as well as GPT timer (arch/arm/imx-common/timer.c); The default for imx7 is systemcounter timer. Signed-off-by:
Ye.Li <B37916@freescale.com> Signed-off-by:
Adrian Alonso <aalonso@freescale.com>
-
Adrian Alonso authored
Move common imx6 arch init setup, init.c can be extended and reused to support imx7 SoC keeping init arch common code. Signed-off-by:
Adrian Alonso <aalonso@freescale.com>
-
Adrian Alonso authored
Add helper macro is_soc_type to identify iMX SoC family Signed-off-by:
Adrian Alonso <aalonso@freescale.com>
-
- Sep 02, 2015
-
-
Adrian Alonso authored
* Add imx7d support for iomux controller * imx7d has two iomux controllers iomuxc (0x3033000) and iomuxc-lpsr (0x302C0000) each conroller provides control and mux mode pad registers but shares iomuxc input select register with iomuxc-lpsr IOMUX_CONFIG_LPSR flag is used to properly set daisy chain settings for iomuxc-lpsr pads. * Since mx7d introduces LPSR IOMUX pins, add new base to IOMUX v3 driver for these LPSR pins. Signed-off-by:
Adrian Alonso <aalonso@freescale.com> Signed-off-by:
Fugang Duan <B38611@freescale.com> Signed-off-by:
Ye.Li <B37916@freescale.com>
-
Peng Fan authored
Move most macro definitions and prototypes into "arch/arm/include/asm/imx-common/sys_proto.h" to avoid duplicated function prototypes and marco definitions for different i.MX SoCs. This patch do not remove the sys_proto.h for different i.MX SoCs, because we need to modify lots of driver code and others. This patch remove duplicated macros and prototypes and incude "sys_proto.h" of imx-common for each sys_proto.h of different i.MX platforms. Then later we should avoid add stuff in sys_proto.h of each platform, and modify driver to include common sys_proto.h. Signed-off-by:
Peng Fan <Peng.Fan@freescale.com> Cc: Stefano Babic <sbabic@denx.de> Reviewed-by:
Stefano Babic <sbabic@denx.de>
-
- Aug 26, 2015
-
-
Peng Fan authored
If ecc chunk data size is 512 and oobsize is bigger than 512, there is a chance that block_mark_bit_offset conflicts with bch ecc area. The following graph is modified from kernel gpmi-nand.c driver with each data block 512 bytes. We can see that Block Mark conflicts with ecc area from bch view. We can enlarge the ecc chunk size to avoid this problem to those oobsize which is larger than 512. | P | |<----------------------------------------------------------------->| | | | (Block Mark) | | P' | | | | |<--------------------------------------------------->| D | | O'| | |<--------->| |<->| V V V V V +---+--------------+-+--------------+-+--------------+-+----------+-+---+ | M | data |E| data |E| data |E| data |E| | +---+--------------+-+--------------+-+--------------+-+----------+-+---+ ^ ^ | O | |<---------------->| P : the page size for BCH module. E : The ECC strength. G : the length of Galois Field. N : The chunk count of per page. M : the metasize of per page. C : the ecc chunk size, aka the "data" above. P': the nand chip's page size. O : the nand chip's oob size. O': the free oob. Signed-off-by:
Peng Fan <Peng.Fan@freescale.com> Reviewed-by:
Marek Vasut <marex@denx.de> Tested-By:
Tim Harvey <tharvey@gateworks.com>
-
- Aug 02, 2015
-
-
Peng Fan authored
PAD_CTL_SPEED_LOW for i.MX6SX/UL is (0 << 6) Signed-off-by:
Ye.Li <B37916@freescale.com> Signed-off-by:
Peng Fan <Peng.Fan@freescale.com>
-
- Jul 10, 2015
-
-
Albert ARIBAUD \(3ADEV\) authored
Add support in mxc_i2c driver, iomux_v3 and vf610 architecture for the four I2C instances available in VF610. Signed-off-by:
Albert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr>
-
- Jun 08, 2015
-
-
Bhuvanchandra DV authored
Add GPIO driver support to Freescale VF610 Signed-off-by:
Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
-
- May 26, 2015
-
-
Peng Fan authored
We should not hardcode MXS_DMA_ALIGNMENT to 32, since we can not guarantee that socs' cache line size is 32 bytes. If on chips whose cache line size is 64 bytes, error occurs: " NAND: ERROR: v7_dcache_inval_range - start address is not aligned - 0xbdf1d1a0 ERROR: v7_dcache_inval_range - stop address is not aligned - 0xbdf1f4a0 ERROR: v7_dcache_inval_range - start address is not aligned - 0xbdf1d1a0 " Align MXS_DMA_ALIGNMENT with ARCH_DMA_MINALIGN whose value is same to CONFIG_SYS_CACHELINE_SIZE if CONFIG_SYS_CACHELINE_SIZE defined. Signed-off-by:
Peng Fan <Peng.Fan@freescale.com> Acked-by:
Marek Vasut <marex@denx.de>
-
- May 15, 2015
-
-
Peng Fan authored
1. Introduce a new structure `struct mxc_i2c_bus`, this structure will used for non-DM and DM. 2. Remove `struct mxc_i2c_regs` structure, but use register offset to access registers based on `base` entry of `struct mxc_i2c_bus`. 3. Remove most `#ifdef I2C_QUIRK_REG`. Using driver_data to contain platform flags. A new flag is introduced, I2C_QUIRK_FLAG. 4. Most functions use `struct mxc_i2c_bus` as one of the parameters. Make most functions common to DM and non-DM, try to avoid duplicated code. 5. Support DM, but pinctrl is not included. Pinmux setting is still set by setup_i2c, but we do not need bus_i2c_init for DM. 6. struct i2c_parms and struct sram_data are removed. 7. Remove bus_i2c_read bus_i2c_write prototype in header file. The frist paramter of bus_i2c_init is modified to i2c index. Add new prototype i2c_idle_bus and force_bus_idle. Since bus_i2c_init is not good for DM I2C and pinctrl is missed, we use a weak function for i2c_idle_bus. Board file take the responsibility to implement this function, like this: " int i2c_idle_bus(struct mxc_i2c_bus *i2c_bus) { if (i2c_bus->index == 0) force_bus_idle(i2c_pads_info0); else if (i2c_bus->index == 1) force_bus_idle(i2c_pads_info1); else xxxxxx } " 8. Introduce a weak function, enable_i2c_clk 9. Tested on an i.MX7 platform. Log info: => dm tree Class Probed Name ---------------------------------------- root [ + ] root_driver simple_bus [ ] |-- soc simple_bus [ ] | |-- aips-bus@30000000 simple_bus [ ] | | |-- anatop@30360000 simple_bus [ ] | | `-- snvs@30370000 simple_bus [ ] | |-- aips-bus@30400000 simple_bus [ ] | `-- aips-bus@30800000 i2c [ ] | |-- i2c@30a20000 i2c [ ] | `-- i2c@30a40000 simple_bus [ ] `-- regulators => i2c dev 0 Setting bus to 0 => i2c probe Valid chip addresses: 08 50 => i2c md 8 31 0031: 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 Signed-off-by:
Peng Fan <Peng.Fan@freescale.com> Acked-by:
Simon Glass <sjg@chromium.org>
-
- Apr 23, 2015
-
-
Sanchayan Maity authored
This driver adds support for the USB peripheral on Freescale Vybrid SoC's. Signed-off-by:
Sanchayan Maity <maitysanchayan@gmail.com>
-
- Apr 20, 2015
-
-
Heiko Schocher authored
the ldb clock can be setup in board code (for example set through PLL5). Update the ldb_clock rate also through board code. This should be removed, if a clock framework is availiable. Signed-off-by:
Heiko Schocher <hs@denx.de> Tested-by:
Eric Nelson <eric.nelson@boundarydevices.com>
-
- Nov 03, 2014
-
-
Ye.Li authored
On mx6 sabreauto board, there are two USB ports: 0: OTG 1: HOST The EHCI driver is enabled for this board, but the IOMUX and VBUS power control is not implemented, which cause both USB port failed to work. This patch fix the problem by adding the board support codes. Since the power control uses the GPIO pin from port expander MAX7310, the PCA953X driver is enabled for accessing the MAX7310. The ID pin of OTG Port needs to configure the GPR1 bit 13 for selecting its daisy chain. Add a new function "imx_iomux_set_gpr_register" to handle GPR register setting. Signed-off-by:
Ye.Li <B37916@freescale.com>
-
- Oct 22, 2014
-
-
Simon Glass authored
Since this function can fail, check its return value. Signed-off-by:
Simon Glass <sjg@chromium.org> Tested-by:
Nikita Kiryanov <nikita@compulab.co.il>
-
- Oct 21, 2014
-
-
Eric Nelson authored
Declare displays[] and display_count in imx-common/video.h to prevent "Should it be static?" messages when compiling board files with "make C=1". Signed-off-by:
Eric Nelson <eric.nelson@boundarydevices.com>
-
Eric Nelson authored
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>
-
- Oct 07, 2014
-
-
Anthony Felice authored
Removed settings in unsupported register fields. They didn’t do anything, and in most cases, were not documented in the reference manual. Changed register settings to comply with JEDEC required values. Changed timing parameters because they included full clock periods that were doing nothing. Signed-off-by:
Anthony Felice <tony.felice@timesys.com> [rebased on v2014.10-rc2] Signed-off-by:
Stefan Agner <stefan@agner.ch>
-
- Sep 09, 2014
-
-
Nikita Kiryanov authored
Add macro which defines i2c_pads_info structs for multiple SoC types, and a macro which selects the appropriate struct based on CPU type, thus eliminating the need to manage multiple i2c pad configurations manually when supporting multiple SoC types. Cc: Stefano Babic <sbabic@denx.de> Cc: Tim Harvey <tharvey@gateworks.com> Acked-by:
Tim Harvey <tharvey@gateworks.com> Signed-off-by:
Nikita Kiryanov <nikita@compulab.co.il>
-
- Aug 30, 2014
-
-
Stefan Agner authored
Add pin mux for NAND Flash Controller (NFC). NAND can be connected using 8 or 16 data lines, this patch adds pin mux entries for all 16 data lines. Signed-off-by:
Stefan Agner <stefan@agner.ch>
-