summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2012-03-16ENGR00175844 irq: enable IRQF_EARLY_RESUME irq when dpm_suspend_noirq failedXinyu Chen
The dpm_suspend_noirq routing calls suspend_device_irqs() first to disable all the irq no matter what flags it has. Then it enumerates the device driver on dpm_suspend_list to call their suspend_noirq pm callback. If any dev suspend failed, it will call dpm_resume_noirq to re-enable all the irq without IRQF_EARLY_RESUME, and return failed. If dpm_suspend_noirq() return failed, then no syscore_resume() can be called, that means the irq with flag IRQF_EARLY_RESUME, can not be re-enabled on this case. error = dpm_suspend_noirq(PMSG_SUSPEND); if (error) { .. goto Platform_finish; } .... error = syscore_suspend(); if (!error) { ... syscore_resume(); } ... dpm_resume_noirq(PMSG_RESUME); Platform_finish: if (suspend_ops->finish) suspend_ops->finish(); So we must enable all the irqs no matter it's IRQF_EARLY_RESUME or not. Otherwise the GPIO power key who's irq has flag of IRQF_EARLY_RESUME will be disabled forever when some device failed to suspend. Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
2012-03-14ENGR00143324-1 v4l2_capture: add camera rotate functionYuxi Sun
add four kinds of camera rotate function: rotate_none, rotate_vert rotate_horiz, rotate_180 Signed-off-by: Yuxi Sun <b36102@freescale.com>
2012-02-23Merge remote branch 'fsl-linux-sdk/imx_3.0.15_12.02.01' into imx_3.0.15_androidXinyu Chen
Conflicts: arch/arm/mach-mx6/clock.c arch/arm/plat-mxc/devices/platform-imx-perfmon.c drivers/usb/gadget/arcotg_udc.c
2012-02-22ENGR00174734-3 usb: change function name for discharge data linerel_imx_3.0.15_12.02.013.0-imx6-12.02.01-201202221138Peter Chen
In order to reflect the function well, it needs to discharge both dp and dm, so change the function name. Signed-off-by: Peter Chen <peter.chen@freescale.com>
2012-02-17ENGR00173964 make hdmi audio init dependent on hdmi video initAlan Tull
Don't show hdmi as an audio playback device if hdmi isn't configured on the command line. Signed-off-by: Alan Tull <r80115@freescale.com>
2012-02-15Merge remote branch 'fsl-linux-sdk/imx_3.0.15' into imx_3.0.15_androidXinyu Chen
Conflicts: arch/arm/mach-mx6/board-mx6q_arm2.c arch/arm/mach-mx6/board-mx6q_sabresd.c drivers/mmc/core/bus.c
2012-02-14ENGR00174299-1: driver part: Add ePxP v2 DMAENGINE driverRobby Cai
add ePxP v2 DMAENGINE driver Signed-off-by: Robby Cai <R63905@freescale.com>
2012-02-14ENGR00174121-1 power: max8903 add support for dcm always high.Zhang Jiejing
add this to support MX6Q_SABRESD board hardware design. Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
2012-02-10ENGR00174128-3 Revert "Remove the discharge for VBUS and DP -3"Peter Chen
This reverts commit cc9616316bf044382ec422da5a6d4ed007235a3d. Signed-off-by: Peter Chen <peter.chen@freescale.com>
2012-02-09ENGR00174121-1 power: max8903 add support for dcm always high.Zhang Jiejing
add this to support MX6Q_SABRESD board hardware design. Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
2012-02-09ENGR00174037-3 Add HSIC suspend/resume featureTony LIU
head file Signed-off-by: Tony LIU <junjie.liu@freescale.com>
2012-02-08ENGR00172342-2 EDID parse audio data blocksAlan Tull
Add functionality to parse Audio Data Blocks from EDID data to find out what modes of LPCM are suppored by the HDMI sink device. The parsed settings are saved in the hdmi mfd. The HDMI audio driver will check the settings when the audio stream is opened and will then apply appropriate constraints. If we are unable to read from the EDID, then we default to supporting Basic Audio as defined by the HDMI specification (stereo, 16 bit, 32KHz, 44.1KHz, 48KHz PCM). Signed-off-by: Alan Tull <r80115@freescale.com>
2012-02-08ENGR00173864 MX6Q ipu capture: add multi camera switchYuxi Sun
Add IOCTRL command V4L2_CID_MXC_SWITCH_CAM for multi camera switch Signed-off-by: Yuxi Sun <b36102@freescale.com>
2012-02-08ENGR00174038 [mx6 mmc]fix build errTony Lin
fix build error: incompatible pointer type Signed-off-by: Tony Lin <tony.lin@freescale.com>
2012-02-08ENGR00174031 [MX6Q] Support AR6003 SDIO wifi on kernel v3.0Ryan QIAN
- add macros and struct used in new ath6kl. Signed-off-by: Ryan QIAN <b32804@freescale.com>
2012-02-08ENGR00173947-1 mtd/gpmi : add BBT support to gpmi nand driverHuang Shijie
Add a new field to gpmi_nand_platform_data{}. Make the BBT support to board specific. Signed-off-by: Huang Shijie <b32955@freescale.com>
2012-02-08ENGR00173756-1 Android: cpufreq: add cpu frquency governor save/restore ↵Zhang Jiejing
function. improve the power consumption situation for audio playback, background downloading,etc tasks. the scaling governor is set to conservative when display is turned off and the default governor is saved. The governor is restored when display is turned on. Signed-off-by: Wen Yi <wyi@nvidia.com> Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
2012-02-07ENGR00173731-1 mxs-dma : rename the dma.h for mxs-dmaHuang Shijie
Move the header to a more common place. The mxs dma engine is not only used in mx23/mx28, but also used in mx50/mx6q. It will also be used in the future chips. rename it to mxs-dma.h Acked-by: Lily Zhang <r58066@freescale.com> Signed-off-by: Huang Shijie <b32955@freescale.com>
2012-02-07Merge remote-tracking branch 'origin/imx_3.0.15' into imx_3.0.15_androidXinyu Chen
2012-02-06ENGR00173288-02 merge "[MX6Q]add SDHC3.0 support on uSDHC controller"Ryan QIAN
ENGR152547-03 [MX6Q]add SDHC3.0 support on uSDHC controller add voltage switch function due to SDHC3.0 spec requirement add tuning function due to SDHC3.0 spec requirement extend some functions to support SDR50 & SDR104 speed mode - adjust the sequence of current_limit and bus_speed_mode - add FSL specific tuning procedure Signed-off-by: Ryan QIAN <b32804@freescale.com>
2012-02-02ENGR00137062 early suspend: add for framebuffer and ts driverXinyu Chen
Add earlysuspend callback for ipuv3 fb and egalax ts driver. Enhance the earlysuspend call back param with a data member, which can record the device struct used by suspend/resume routing. Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
2012-02-02Merge branch 'android-3.0' into imx_3.0.15_androidXinyu Chen
Conflicts: drivers/misc/Kconfig drivers/misc/Makefile drivers/net/wireless/Makefile kernel/power/main.c sound/soc/soc-core.c
2012-01-31ENGR00173397 MTD: add NAND_BBT_USE_FLASH macroHuang Shijie
add the new macro to fix a compiling error. Signed-off-by: Huang Shijie <b32955@freescale.com>
2012-01-31mtd: abstract last MTD partition parser argumentDmitry Eremin-Solenikov
Encapsulate last MTD partition parser argument into a separate structure. Currently it holds only 'origin' field for RedBoot parser, but will be extended in future to contain at least device_node for OF devices. Amended commentary to make kerneldoc happy Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Artem Bityutskiy <dedekind1@gmail.com>
2012-01-31mtd: add new API for handling MTD registrationDmitry Eremin-Solenikov
Lots (nearly all) mtd drivers contain nearly the similar code that calls parse_mtd_partitions, provides some platform-default values, if parsing fails, and registers mtd device. This is an aim to provide single implementation of this scenario: mtd_device_parse_register() which will handle all this parsing and defaults. Artem: amended comments Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
2012-01-31clk: add helper functions clk_prepare_enable and clk_disable_unprepareRichard Zhao
It's for migrating to generic clk framework API. The helper functions help cases clk_enable/clk_disable is used in non-atomic context. For example, Call clk_enable in probe and clk_disable in remove. Signed-off-by: Richard Zhao <richard.zhao@linaro.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Cc: Russell King <linux@arm.linux.org.uk> Acked-by: Marek Vasut <marek.vasut@gmail.com>
2012-01-31clk: provide prepare/unprepare functionsRussell King
As discussed previously, there's the need on some platforms to run some parts of clk_enable() in contexts which can schedule. The solution which was agreed upon was to provide clk_prepare() and clk_unprepare() to contain this parts, while clk_enable() and clk_disable() perform the atomic part. This patch provides a common definition for clk_prepare() and clk_unprepare() in linux/clk.h, and provides an upgrade path for existing implementation and drivers: drivers can start using clk_prepare() and clk_unprepare() once this patch is merged without having to wait for platform support. Platforms can then start to provide these additional functions. Eventually, HAVE_CLK_PREPARE will be removed from the kernel, and everyone will have to provide these new APIs. Acked-by: Saravana Kannan <skannan@codeaurora.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-01-31dmaengine: move drivers to dma_transfer_directionVinod Koul
fixup usage of dma direction by introducing dma_transfer_direction, this patch moves dma/drivers/* to use new enum Cc: Jassi Brar <jaswinder.singh@linaro.org> Cc: Russell King <rmk+kernel@arm.linux.org.uk> Cc: Viresh Kumar <viresh.kumar@st.com> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Nicolas Ferre <nicolas.ferre@atmel.com> Cc: Mika Westerberg <mika.westerberg@iki.fi> Cc: H Hartley Sweeten <hartleys@visionengravers.com> Cc: Li Yang <leoli@freescale.com> Cc: Zhang Wei <zw@zh-kernel.org> Cc: Sascha Hauer <s.hauer@pengutronix.de> Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Cc: Shawn Guo <shawn.guo@freescale.com> Cc: Yong Wang <yong.y.wang@intel.com> Cc: Tomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com> Cc: Boojin Kim <boojin.kim@samsung.com> Cc: Barry Song <Baohua.Song@csr.com> Acked-by: Mika Westerberg <mika.westerberg@iki.fi> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Viresh Kumar <viresh.kumar@st.com> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
2012-01-31dmaengine: add DMA_TRANS_NONE to dma_transfer_directionShawn Guo
Before dma_transfer_direction was introduced to replace dma_data_direction, some dmaengine device uses DMA_NONE of dma_data_direction for some talk with its client drivers. The mxs-dma and its clients mxs-mmc and gpmi-nand are such case. This patch adds DMA_TRANS_NONE to dma_transfer_direction and migrate the DMA_NONE use in mxs-dma to it. It also fixes the compile warning below. CC drivers/dma/mxs-dma.o drivers/dma/mxs-dma.c: In function ‘mxs_dma_prep_slave_sg’: drivers/dma/mxs-dma.c:420:16: warning: comparison between ‘enum dma_transfer_direction’ and ‘enum dma_data_direction’ Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
2012-01-31linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.hPaul Gortmaker
The implicit presence of module.h and all its sub-includes was masking these implicit header usages: include/linux/dmaengine.h:684: warning: 'struct page' declared inside parameter list include/linux/dmaengine.h:684: warning: its scope is only this definition or declaration, which is probably not what you want include/linux/dmaengine.h:687: warning: 'struct page' declared inside parameter list include/linux/dmaengine.h:736:2: error: implicit declaration of function 'bitmap_zero' With input from Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
2012-01-31dmaengine: add new enum dma_transfer_directionVinod Koul
This new enum removes usage of dma_data_direction for dma direction. The new enum cleans tells the DMA direction and mode This further paves way for merging the dmaengine _prep operations and also for interleaved dma Suggested-by: Jassi Brar <jaswinder.singh@linaro.org> Reviewed-by: Barry Song <Baohua.Song@csr.com> Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
2012-01-31dmaengine: remove struct scatterlist for headerVinod Koul
Commit 90b44f8 introduces dmaengine_prep_slave_single API which adds scatterlist.h in dmaengine.h, so defining struct scatterlist is not required Signed-off-by: Vinod Koul <vinod.koul@intel.com> Acked-by: Dan Williams <dan.j.williams@intel.com>
2012-01-31dmaengine: add helper function for slave_singleVinod Koul
For clients which require a single slave transfer and dont want to be bothered about the scatterlist api, this helper gives simple API for this transfer and creates single scatterlist for DMA API Idea from Russell King Signed-off-by: Vinod Koul <vinod.koul@intel.com>
2012-01-31net: remove mm.h inclusion from netdevice.hAlexey Dobriyan
Remove linux/mm.h inclusion from netdevice.h -- it's unused (I've checked manually). To prevent mm.h inclusion via other channels also extract "enum dma_data_direction" definition into separate header. This tiny piece is what gluing netdevice.h with mm.h via "netdevice.h => dmaengine.h => dma-mapping.h => scatterlist.h => mm.h". Removal of mm.h from scatterlist.h was tried and was found not feasible on most archs, so the link was cutoff earlier. Hope people are OK with tiny include file. Note, that mm_types.h is still dragged in, but it is a separate story. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-01-31ENGR00173284 merge "eMMC: Configure boot_partition_enable"Ryan QIAN
ENGR126228 eMMC: Configure boot_partition_enable Enable the configurations of the boot enable on the eMMC cards. Add the interface that used to configure the boot_bus_width In order to make sure that the re-read the ext-csd of card can be completed successfully, add the method to wait for the finish of the busy state. NOTE: The following are the valid inputs when configure the boot bus width of the eMMC cards. +--------------------------------------------------------------------+ | Bit7 Bit6 Bit5 | Bit4 Bit3 | Bit2 | Bit1 Bit0 | |----------------|----------------------------------|----------------| | X | BOOT_MODE | RESET_BOOT_BUS_WIDTH | BOOT_BUS_WIDTH | +--------------------------------------------------------------------+ Bit [4:3] : BOOT_MODE (non-volatile) 0x0 : Use single data rate + backward compatible timings in boot operation (default) 0x1 : Use single data rate + high speed timings in boot operation mode 0x2 : Use dual data rate in boot operation 0x3 : Reserved Bit [2]: RESET_BOOT_BUS_WIDTH (non-volatile) 0x0 : Reset bus width to x1, single data rate and backward compatible timings after boot operation (default) 0x1 : Retain boot bus width and boot mode after boot operation Bit[1:0] : BOOT_BUS_WIDTH (non-volatile) 0x0 : x1 (sdr) or x4 (ddr) bus width in boot operation mode (default) 0x1 : x4 (sdr/ddr) bus width in boot operation mode 0x2 : x8 (sdr/ddr) bus width in boot operation mode 0x3 : Reserved The following are the valid inputs when configure the boot partitions of the eMMC cards. +------------------------------------------------------------+ | Bit7 | Bit6 | Bit5 Bit4 Bit3 | Bit2 Bit1 Bit0 | |------|----------|-----------------------|------------------| | X | BOOT_ACK | BOOT_PARTITION_ENABLE | PARTITION_ACCESS | +------------------------------------------------------------+ Bit7: Reserved Bit6: always set to vaule '1' when boot_part is enabled Bit[5:3]: 0x0 : Device not boot enabled (default) 0x1 : Boot partition 1 enabled for boot 0x2 : Boot partition 2 enabled for boot 0x7 : User area enabled for boot Bit[2:0]: 0x0 : No access to boot partition (default) 0x1 : R/W boot partition 1 0x2 : R/W boot partition 2 So only the '0, 1, 2; 8, 9, 10; 16, 17, 18; 56, 57, 58' are valid parameters when configure the boot_partiton. Signed-off-by: Richard Zhu <r65037@freescale.com> Signed-off-by: Ryan QIAN <b32804@freescale.com>
2012-01-31ENGR00173283 merge "eMMC: Boot Partition switch func used in MFG tool"Ryan QIAN
ENGR125411 eMMC: Boot Partition switch func used in MFG tool User can get eMMC partitions info from user space layer in linux OS enviroment. User can do switch operations between the eMMC boot partitions and the user partition. User can access the eMMC boot partitions from user space layer in linux OS enviroment. NOTE:This func had been verified on TOSHIBA eMMC44 card only. Signed-off-by: Richard Zhu <r65037@freescale.com> Signed-off-by: Rob Herring <r.herring@freescale.com> Signed-off-by: Ryan QIAN <b32804@freescale.com>
2012-01-31mtd: fix compile error for gpmi-nandHuang Shijie
The driver gpmi-nand should compile at least. This patch adds the missing gpmi-nand.h to fix the compile error below. CC drivers/mtd/nand/gpmi-nand/gpmi-nand.o CC drivers/mtd/nand/gpmi-nand/gpmi-lib.o drivers/mtd/nand/gpmi-nand/gpmi-nand.c:25:33: fatal error: linux/mtd/gpmi-nand.h: No such file or directory drivers/mtd/nand/gpmi-nand/gpmi-lib.c:21:33: fatal error: linux/mtd/gpmi-nand.h: No such file or directory This header is grabbed from patch below, which has not been postponed for merging. [PATCH v8 1/4] ARM: mxs: add GPMI-NAND support for imx23/imx28 http://permalink.gmane.org/gmane.linux.drivers.mtd/37338 Signed-off-by: Huang Shijie <b32955@freescale.com> Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
2012-01-25ENGR00172752-2 Remove usless code in pfuze100 regulator driverNancy Chen
Remove usless code in pfuze100 regulator driver Signed-off-by: Robin Gong <b38343@freescale.com> Signed-off-by: Nancy Chen <Nancy.Chen@freescale.com>
2012-01-19ENGR00171564-1 MX6Q ARM2: Enable TVin based on AUTO BoardEven Xu
Add TVin struct to Head file. Signed-off-by: Even Xu <b21019@freescale.com>
2012-01-19ENGR00170444: [v3]imx6sabreauto adv7180 TVin portb37753
Kconfig and Makefile was modified in order to enable adv7180 driver for mx6q architecture. adv7180.c mutex was changed to semaphore as is described in "https://lwn.net/Articles/304725/ ". sensor data structure is added in fsl_devices.h. mxc_v4l2_capture.c condition in mxc_v4l2_sparam was removed because is going to be always true capture mode only have 1 possible value as is described in "https://lwn.net/Articles/235023/". ipu_capture.c clock divisor setup was added at init the csi. Signed-off-by: B37753 <B37753@freescale.com>
2012-01-09ENGR00171001-2 MX6Q PFUZE100: fix build warningsRobin Gong
fix build warnings on pfuze driver: arch/arm/mach-mx6/mx6q_sabreauto_pmic_pfuze100.c:388: warning: initialization from incompatible pointer type drivers/mfd/pfuze-core.c:523: warning: initialization from incompatible pointer type drivers/mfd/pfuze-core.c:412: warning: 'pfuze_add_subdevice' defined but not used Signed-off-by: Robin Gong <B38343@freescale.com>
2012-01-09ENGR00139278-3: Add MLB main driver for mx6qTerry Lv
Add MLB main driver for mx6q. Signed-off-by: Terry Lv <r65388@freescale.com>
2012-01-09ENGR00139278-2: Add MLB driver platform data structure for mx6qTerry Lv
Add MLB driver platform data structure. Signed-off-by: Terry Lv <r65388@freescale.com>
2012-01-09ENGR00170255-2 MX6Q PFUZE100: add pfuze100 driverRobin Gong
add pfuze core driver for mx6 Signed-off-by: Robin Gong <B38343@freescale.com>
2012-01-09ENGR00170627 imx-cs42888: overwrite codec_name if passed as platform dataAdrian Alonso
* Overwrite codec_name if passed as platform data * Add codec_name in mxc_audio_platform_data * Codec name follows the naming convention <codec>.<i2c-channel>-<codec i2c address> i.e. cs42888.0-0048 * For IMX6Q-ARD this name convention doesn't follow previous settings for imx6q platforms codec is on different i2c channel and can't be resolved by CONFIG macros on imx_3stack_dai data structure; So we overwrite in probe function by getting the correct value from plat_data->codec_name. Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-01-09ENGR00170626 imx-cs42888: avoid codded gpio reset definitionAdrian Alonso
* Remove hard codded gpio reset definition * Add in mxc_audio_platform_data reset gpio reference to be able to pass gpio reset assignment in board definition file instead of a macro for each different board. * Add plat_data null check, return EINV if no set. Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-01-09ENGR00169872-2 rework hdmi initialization and hotplug sequenceAlan Tull
This commit intends to implement the flowchart and details documented in the HDMI Transmitter Controller User Guide section entitled "Programming Model". Some input is also from the Synopsys API code. The HDMI specification requires HDMI to set itself to VGA DVI mode before reading the EDID. So follow this sequence when HDMI is hotplugged: 1. Hdmi connector is plugged in, HDMI video gets an interrupt. 2. Clear out video mode list. Add only VGA DVI mode to list. 3. Request VGA DVI mode (call fb_set_var()) 4. HDMI video driver will get FB_EVENT_MODE_CHANGE callback and call mxc_hdmi_setup() to set up HDMI. 5. Read the edid and add video modes from edid. Select the video mode that is similar to the command line default. 6. Request VGA DVI mode (call fb_set_var()) 7. HDMI video driver will get FB_EVENT_MODE_CHANGE callback and do mxc_hdmi_setup(). Also included is a workaround for an overflow condition in the HDMI. The frame composer has an arithmetic unit that gets updated every time we write to one of the FC registers. But sometimes, depending on the relation between the tmds and sfr clocks, it may happen that this unit doesn't get updated, even though the registers are holding correct values. The workaround for this is, after completing the controller configuration, to rewrite one of the FC registers (i.e. FC_INVIDCONF) three or four times with the same value, and then follow it up by a SW reset to the TMDS clock domain (MC_SWRSTZ). We clear the overflow condition as described above every time we change video mode. Also an overflow interupt handler will clear the overflow condition if it happens again. This overflow condition is expected (and not a problem) when we are in DVI (non-HDMI) mode, so we do not worry about it in that case. Signed-off-by: Alan Tull <alan.tull@freescale.com>
2012-01-09Revert "ENGR00125411 eMMC: Boot Partition switch func used in MFG tool"Jason Liu
This reverts commit 9f26eaa231cf2a19064c5589a3515bdd60af596a.
2012-01-09Revert "ENGR00126228 eMMC: Configure boot_partition_enable"Jason Liu
This reverts commit b35268ca923a8785ab311170b0a84210b3c7863e.
2012-01-09fix build errorJason Liu
Signed-off-by: Jason Liu <jason.hui@linaro.org>