summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2017-09-07MLK-16374-4: PxP: add AS and PS engine colorkey supportrel_imx_4.9.x_1.0.0_gaGuoniu.Zhou
Enable PS and AS colorkey function if user enable and set colorkey parameters of s0 and overlay buffer. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
2017-09-07MLK-16374-3: PxP: improve stride parameter setting compatibleGuoniu.Zhou
In pxp lib, the unit of stride parameter is pixel and stride is not equal with width parameter of out buffer in some cases. In order to use latest pxp lib in old version rootfs, PXP_DEVICE_LEGACY macro is used to distinguish pxp drvier version. Because the new pxp driver define a new variable and pxp lib can know this through PXP_DEVICE_LEGACY, and determine if use it. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com> Reviewed-by: Fancy Fang <chen.fang@nxp.com>
2017-09-07MLK-16374-2: PxP: add new format support for as and out bufferGuoniu.Zhou
1) add PXP_PIX_FMT_BGRA32 format support for AS buffer 2) add PXP_PIX_FMT_BGRA32 format support for OUT buffer Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com> Reviewed-by: Fancy Fang <chen.fang@nxp.com>
2017-09-07MLK-16374-1: PxP: add alpha blending back compatibleGuoniu.Zhou
In support of both g2d and pxp lib alpha blending, there must be two alpha blending versions. So there is one rule that user should obey for different usage cases. 1) g2d alpha blending: user should set combine_enable member of struct pxp_proc_data. 2) pxp lib alpha blending: user should set combine_enable member of struct pxp_layer_param if the pxp_layer_param describe overlay buffer parameters. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com> Reviewed-by: Robby Cai <robby.cai@nxp.com> Reviewed-by: Fancy Fang <chen.fang@nxp.com>
2017-08-31MLK-16348: PxP: fix background issueGuoniu.Zhou
There was no pxp background register setting, so the background we see always black. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com> Reviewed-by: Robby Cai <robby.cai@nxp.com>
2017-08-31MMFMWK-7674: PxP: add YVU420P supportGuoniu.Zhou
PxP PS engine support YUV420 format, but not YVU420. The difference between two format is U and V, if we exchange U and V base address, the PxP driver can also support YVU420 format. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com> Reviewed-by: Fancy Fang <chen.fang@nxp.com>
2017-08-30MLK-16176-2 PCI: imx: get the bus clock regulator correctlyRichard Zhu
In order to make sure that get the regulator correctly. Check the return value of devm_regulator_get(). Return value directly if it is '-EPROBE_DEFER' Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> (cherry picked from commit 25df25ae44f4d9799c49476516a955b66d5ea9dc)
2017-08-30MLK-16276: PxP: Improve code compatibilityGuoniu.Zhou
g2d code has different parameter setting about stride parameter. For compatibility with all cases of using PxP, we need add this improved feature. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com> Reviewed-by: Robby Cai <robby.cai@nxp.com> Reviewed-by: Fancy Fang <chen.fang@nxp.com>
2017-08-30MLK-16252: PxP: fix video shift issueGuoniu.Zhou
If pxp use crop x/y valuse as the upper left coordinate in out buffer, pxp driver only need to write out buffer base address to pxp out_buf register. If pxp driver use zero as ps_ulc register value, pxp out_buf register need an offset added with out buffer base address. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com> Reviewed-by: Robby Cai <robby.cai@nxp.com> Reviewed-by: Fancy Fang <chen.fang@nxp.com>
2017-08-29MLK-15348-01 input: touch: focaltech: add more property to support multiple ↵Fugang Duan
panel Add device node more property to support multiple panel. Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2017-08-18MLK-16217: PXP: fix pxp rotate yuv formate video issueGuoniu.Zhou
Because of IC limitation, pxp only can use rotation0 engine to do rotation operation. Correct coordinate settings of ps and out buffer. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com> Reviewed-by: Robby Cai <robby.cai@nxp.com> Reviewed-by: Fancy Fang <chen.fang@nxp.com>
2017-08-17MLK-14720 epdc: correct WFE setting when bypass legacy processRobby Cai
set WFE (WFE_A on imx7d, and WFE_B on imx6ull/imx6sll) input address to framebuffer start address, and set left/top coordinate since the framebuffer is the original source of WFE (i.e., not from PXP output) when bypass legacy mode. The patch also limits the condition to bypass legacy mode when not use EPDC_FLAG_USE_ALT_BUFFER. Signed-off-by: Robby Cai <robby.cai@nxp.com> (cherry picked from commit 7f19940705902623166777c675f5e10c9e7fc477)
2017-08-08MGS-3159 [#imx-700] fix kernel panic for x11 stress testXianzhong
when gpu memory is from virtual system pool, the physical address will become invalid, driver should enable mmu mapping accordingly. but current kernel driver return the zero address with default value, this mistake will cause gpu write into the wrong memory from zero. this fix mark the invalid address for the virtual memory. Date: Aug 06, 2017 Signed-off-by: Xianzhong <xianzhong.li@nxp.com> Reviewed-by: Yuchou Gan <yuchou.gan@nxp.com> Reviewed-by: Yong Gan <yong.gan@nxp.com> Tested-by: Jason Liu <jason.hui.liu@nxp.com>
2017-08-04MLK-15950 input: egalax_ts: switch to i2c interface before wake upHaibo Chen
For HannStar (HSD100PXN1 Rev: 1-A00C11 F/W:0634) LVDS touch screen, it has a special request for the EETI touch controller. The host needs to trigger I2C event to device FW at booting first, and then the FW can switch to I2C interface. Otherwise, the FW can’t work with I2C interface, and can't generate any interrupt when touch the screen. This patch send an I2C command before the device wake up, make sure the device switch to I2C interface first. Signed-off-by: Haibo Chen <haibo.chen@nxp.com> Reviewed-by: Andy Duan <fugang.duan@nxp.com> (cherry picked from commit 037f88c1b9566008748d54b9d4feb647c38c6153)
2017-07-26MLK-16086 tty: serial: lpuart: add port.lock to protect registers accessing ↵Fugang Duan
in suspend Add port.lock to protect register accessing in suspend/resume function. Disable RIE and ILIE before DMA chan is ternminated in suspend function. Signed-off-by: Fugang Duan <fugang.duan@nxp.com> (cherry picked from commit: 51f874a9205cbcbbdb55642f5502bf18aaf245bd)
2017-07-25MLK-15031-07 tty: serial: fsl_lpuart: add port.icount for DMA rx pathFugang Duan
Add port.icount to stat. the DMA RX received count. Signed-off-by: Fugang Duan <fugang.duan@nxp.com> Reviewed-by: Robin Gong <yibin.gong@nxp.com> (cherry picked from commit: 9580def59011d50312cd722eddaf681388064230)
2017-07-25MLK-16067 tty: serial: lpuart: enable wakeup source in .suspend_noirq()Fugang Duan
When use lpuart with DMA mode as wake up source, it still switch to cpu mode in .suspend() that enable cpu interrupts RIE and ILIE as wakkup source. When the wakeup signal coming while rx dma chan is already teminated down, then driver should not call irq handler to submit the new dma descriptor. Enable the wakeup irq bits in .suspend_noirq() and disable the wakeup irq bits in .resume_noirq(). Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2017-07-25MLK-16045: pxp: add lut function in pxp data flow pathGuoniu.Zhou
When do epdc colormap test, the epdc need pxp lut function. But if the data flow through mux0->mux1...or mux0->mux2..., the pxp can not trigger interrupt but mux0->mux3... can. This issue only occures on imx7d, so I set a constant data path when using lut function. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com> (cherry picked from commit 8c8fc765c34f2e6fe31646a5f216f30e3391f2e6)
2017-07-20MLK-15984 usb: chipidea: wait controller resume finished for wakeup irqLi Jun
After the chipidea driver introduce extcon for id and vbus, it's able to wakeup from another irq source, in case the system with extcon ID cable, wakeup from usb ID cable and device removal, the usb device disconnect irq may come firstly before the extcon notifier while system resume, so we will get 2 "wakeup" irq, one for usb device disconnect; and one for extcon ID cable change(real wakeup event), current driver treat them as 2 successive wakeup irq so can't handle it correctly, then finially the usb irq can't be enabled. This patch adds a check to bypass further usb events before controller resume finished to fix it. Reviewed-by: Peter Chen <peter.chen@nxp.com> Signed-off-by: Li Jun <jun.li@nxp.com>
2017-07-14MLK-15962: pxp-v3: fix pxp operation timeout issueGuoniu.Zhou
PxP block on imx6sll, imx6ull is different with imx7d, the node path_ctrl should be different. So add path_ctrl for 6sll, 6ull. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com> (cherry picked from commit a5952396dc88856d53a1fd1d150bae301c13d403)
2017-07-13MLK-14765: Enable DCP SHA workaround on all platformsRadu Solea
Remove variant restriction for DCP SHA workaround. All integrations of DCP seem affected. Signed-off-by: Radu Solea <radu.solea@nxp.com>
2017-07-12MLK-15337: pxp-v3: add pxp v3 crop featureGuoniu.Zhou
Add pxp v3 crop feature support. Update the pxp_dma.h file. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com> (cherry picked from commit 23da5fe99a89adde6a8943517e0d7042dad50ea3)
2017-07-12MLK-15325: pxp-v3: Modify pxp pitch parameter and cscGuoniu.Zhou
coefficient setting. Because the caller of pxp-v3 does not set the stride parameter, this will cause pitch parameter to be zero and pxp can't work. Correct the csc1 coefficient when use pxp convert YUV to RGB format. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com> (cherry picked from commit 3005228b17b16d1455b72c66ddf96785b42adb0a)
2017-07-07MLK-15079 video: mipi_dsi_samsung: fix reset failure for mipi dsiRobby Cai
mxc_mipi_dsi_samsung 30760000.mipi-dsi: MIPI DSI dispdrv inited! mxsfb 30730000.lcdif: registered mxc display driver mipi_dsi_samsung mxc_mipi_dsi_samsung 30760000.mipi-dsi: failed to reset device: -517 mxsfb 30730000.lcdif: failed to enable dispdrv:mipi_dsi_samsung due to the commit e188cbf7564fba80e8339b9406e8740f3e495c63 "gpio: mxc: shift gpio_mxc_init() to subsys_initcall level", and gpio_reset uses arch_initcall level, the gpio driver is not yet ready when call device_reset() thus return -EPROBE_DEFER. But the caller of device_reset(), mipi_dsi_enable() has no defer strategy. use of_reset_control_get() function in init() function, which will be called in probe function in mxsfb driver, to workaround the defer case. Acked-by: Fang Chen <chen.fang@nxp.com> Acked-by: Cristina-mihaela Ciocan <cristina-mihaela.ciocan@nxp.com> Signed-off-by: Robby Cai <robby.cai@nxp.com> (cherry picked from commit 5e90ffe698d08010b52104431409b2c45dcbca52)
2017-07-05MA-9807: Fix ecb(aes) use without an IVRadu Solea
CAAM aes modes share descriptors, because of this CAAM requires an IV for ECB. ECB does not need an IV and users do not have to pass valid IV vectors. To allow correct usage with minimum impact to the driver a zero IV is provided by the driver for ECB operations that need it. Signed-off-by: Radu Solea <radu.solea@nxp.com>
2017-07-05MLK-15027: arm: pxp: Fix uninitialized use of variablesCristina Ciocan
This patch fixes build warning that 2 variables may be used uninitialized in the pxp_fetch_config() function in drivers/dma/pxp/pxp_dma_v3.c . The variables in_fmt and out_fmt are passed as parameters to pxp_fetch_shift_calc() only if shift_bypass is false. This flag cannot be false unless changed in a code block that also assigns in_fmt and out_fmt. Since the compiler cannot detect this flow, it shows a warning that in_fmt and out_fmt are not initialized. Fix this by changing the code flow such that in_fmt and out_fmt are sent as parameters in the same code block where they are assigned. Signed-off-by: Cristina Ciocan <cristina-mihaela.ciocan@nxp.com> (cherry picked from commit e710b061ef292402045b30ccb56bcdcd343d43c5)
2017-06-30MLK-15034: dma: imx-sdma: no need report interrupt for channel0Robin Gong
It is possible for an irq triggered by channel0 to be received later, after clks are disabled. If that happens then clearing them by writing to SDMA_H_INTR won't work and the system will hang processing infinite interrupts. Actually, don't need interrupt triggered on channel0 since it's pollling to know channel0 done rather than interrupt in current code, just clear BD setting to disable channel0 interrupt to avoid the above case. Reported-by: Leonard Crestez <leonard.crestez@nxp.com> Signed-off-by: Robin Gong <yibin.gong@nxp.com> (cherry picked from commit ed3bbe18323565b0c07f836fbf53401ffa887bf2)
2017-06-28MLK-15083 watchdog: imx2_wdt: fallback to timeout reset if explicit reset failsOctavian Purdila
If explicit reset fails fallback using the watchdog timeout. We already have set the timeout counter to 0, but we might need to ping the watchdog to load the new timeout, if a previous watchdog timeout value has already been set. We also decrease the time we spend waiting, to give a chance to log that the explicit reset failed and that we fallback to watchdog timeout reset. Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
2017-06-20MLK-14765: Fix DCP Aes timeout issues when used with CTSRadu Solea
The DCP driver does not obey cryptlen, when doing CTS this results in passing to hardware input stream lengths which are not multiple of block size. This causes the hw to misbehave. Also not honoring cryptlen makes CTS fail. A check was introduced to prevent future erroneous stream lengths from reaching the hardware. Code which is splitting the input stream in internal DCP pages was changed to obey cryptlen. Signed-off-by: Radu Solea <radu.solea@nxp.com>
2017-06-20MLK-14765: Fix DCP SHA null hashes and output lengthRadu Solea
On imx6sl and imx6ull DCP writes at least 32 bytes in the output buffer instead of hash length as documented. Add intermediate buffer to prevent write out of bounds. When requested to produce null hashes DCP fails to produce valid output. Add software workaround to bypass hardware and return valid output. Signed-off-by: Radu Solea <radu.solea@nxp.com>
2017-06-20MLK-15120 ARM: imx7d: clk: select uart3 clock parent and set rateFugang Duan
The clock driver may enable uart clock tree when earlycon/earlyprintk kernel param is enabled, and the clock gate specify CLK_SET_RATE_GATE, then .of_clk_set_defaults() set the dts node assigned-rate will be failed. So set parent and set rate in clock driver is reasonable. Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2017-06-19MLK-15075 thermal: imx: fix temp read failure on i.mx7dBai Ping
On i.MX7D, if the system enter LPSR mode, the tempmon module will be power down, so the regiter's value is lost, so we need to save the registers before suspend and restore the register after resume back. Signed-off-by: Bai Ping <ping.bai@nxp.com> (cherry picked from commit 72e6a05b52d24b4976c5f012a185c049f0e6ffa6)
2017-06-19MLK-15041: PXP-V3: enable stroe engine block mode and fill functionGuoniu.Zhou
1. When pxp do rotation, fetch and store engine need block mode. 2. When use pxp store engine fill function, not only need config store engine, but also need config fetch engine, otherwise, it will not work. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com> (cherry picked from commit 87347dc507631b98d914d42de0a2783915489a2a)
2017-06-16MLK-15080 PCI: imx: pcie ep can't be probed properlyRichard Zhu
iMX7D Sabre SD board implement the GPIO expander connected to a peripheral bus. Probe deferral would be triggered when try to request the expanded GPIO at the first time. pcie ep can't be probed properly at the second probe, because of the duplicated registration of the sysfs. Change the registeration point of the sysfs to fix this issue. Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> (cherry picked from commit dfa403d5ae689fcb9cdb8e082ad15493bf8a38d7)
2017-06-14MLK-15047-1 media: platform: mxc v4l2 capture: add MXC_MIPI_CSI2 dependencyOctavian Purdila
Fixes the following build errors: ERROR: "mipi_csi2_reset" [drivers/media/platform/mxc/capture/ov5640_camera_mipi_int.ko] undefined! ERROR: "mipi_csi2_set_datatype" [drivers/media/platform/mxc/capture/ov5640_camera_mipi_int.ko] undefined! ERROR: "mipi_csi2_enable" [drivers/media/platform/mxc/capture/ov5640_camera_mipi_int.ko] undefined! ERROR: "mipi_csi2_dphy_status" [drivers/media/platform/mxc/capture/ov5640_camera_mipi_int.ko] undefined! ERROR: "mipi_csi2_disable" [drivers/media/platform/mxc/capture/ov5640_camera_mipi_int.ko] undefined! ERROR: "mipi_csi2_set_lanes" [drivers/media/platform/mxc/capture/ov5640_camera_mipi_int.ko] undefined! ERROR: "mipi_csi2_get_status" [drivers/media/platform/mxc/capture/ov5640_camera_mipi_int.ko] undefined! ERROR: "mipi_csi2_get_info" [drivers/media/platform/mxc/capture/ov5640_camera_mipi_int.ko] undefined! ERROR: "mipi_csi2_get_error1" [drivers/media/platform/mxc/capture/ov5640_camera_mipi_int.ko] undefined! Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
2017-06-14MLK-15030: EPDC: Filled stride value of s0_param layerGuoniu.Zhou
When epdc driver use pxp, it didn't fill stride value of s0_parm, so it leads to epdc can display picture normally. So fill it in this patch. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
2017-06-14usb: chipdata: Replace the extcon APIChanwoo Choi
This patch uses the resource-managed extcon API for extcon_register_notifier() and replaces the deprecated extcon API as following: - extcon_get_cable_state_() -> extcon_get_state() Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Peter Chen <peter.chen@nxp.com> (cherry picked from commit 3f991aa0b665c8e9bb702421a4e5005c3588fb62)
2017-06-14extcon: usb-gpio: Don't miss event during suspend/resumeRoger Quadros
We must check for ID/VBUS changes during resume irrespective of whether our device wakeup is enabled or not. Without this we seem to be missing ID/VBUS events after system suspend/resume. Signed-off-by: Roger Quadros <rogerq@ti.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> (cherry picked from commit 8680b4d1933fbe3349d51a4e1fd4513b12abffed)
2017-06-14extcon: usb-gpio: Do not enable USB as wakeup source by defaultPeter Chen
Whether the USB port as a wakeup source should be determined by user, but not enabled by default. Signed-off-by: Peter Chen <peter.chen@nxp.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> (cherry picked from commit 98fd079297dd274c15c926a337253675573c5832)
2017-06-14extcon: usb-gpio: Add pinctrl operation during system PMPeter Chen
At some systems, the pinctrl setting will be lost or needs to set as "sleep" state to save power consumption. So, we need to configure pinctrl as "sleep" state when system enters suspend, and as "default" state after system resumes. In this way, the pinctrl value can be recovered as "default" state after resuming. Signed-off-by: Peter Chen <peter.chen@nxp.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> (cherry picked from commit bcb7440e76a96c8a244bd683142a38f7d5cecb93)
2017-06-14extcon: usb-gpio: Add VBUS detection supportRoger Quadros
Driver can now work with both ID and VBUS pins or either one of them. There can be the following 3 cases 1) Both ID and VBUS GPIOs are available: ID = LOW -> USB_HOST active, USB inactive ID = HIGH -> USB_HOST inactive, USB state is same as VBUS. 2) Only ID GPIO is available: ID = LOW -> USB_HOST active, USB inactive ID = HIGH -> USB_HOST inactive, USB active 3) Only VBUS GPIO is available: VBUS = LOW -> USB_HOST inactive, USB inactive VBUS = HIGH -> USB_HOST inactive, USB active Signed-off-by: Roger Quadros <rogerq@ti.com> Reviewed-by: Peter Chen <peter.chen@nxp.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> (cherry picked from commit 541332a13b1ded42097ba96c52c7bc70931e528c)
2017-06-14MLK-15032-3 usb: chipidea: core: remove the extcon change for imx_4.1.yLi Jun
commit 916e43e1d6fb ("MLK-13570-3 usb: chipidea: core: change extcon usage for imx_4.1.y") is directly cherry-picked from 4.1.y, but which is not valid anymore on 4.y kernel, so revert most part and only keep the irq check after resume. Reviewed-by: Peter Chen <peter.chen@nxp.com> Signed-off-by: Li Jun <jun.li@nxp.com> (cherry picked from commit 9e8e32042df9e0a43574cb222070ec2f1051007d)
2017-06-14MLK-15032-2 Revert "extcon: usb-gpio: add pinctrl operation during system PM"Li Jun
This reverts commit 4c7d332e3316 ("MLK-13638-3 extcon: usb-gpio: add pinctrl operation during system PM"). We will use the upstream version. Reviewed-by: Peter Chen <peter.chen@nxp.com> Signed-off-by: Li Jun <jun.li@nxp.com> (cherry picked from commit bf584fcb7294cac67c67b552d7b347b6e59fe243)
2017-06-14MLK-15032-1 Revert "extcon: ext-usb-gpio: do not enable wakeup by default"Li Jun
This reverts commit 358776f8c5d8 ("MLK-13912-1 extcon: ext-usb-gpio: do not enable wakeup by default"), we will use the upstream patch version. Reviewed-by: Peter Chen <peter.chen@nxp.com> Signed-off-by: Li Jun <jun.li@nxp.com> (cherry picked from commit 72c6b1977e334c5fde2f394ce276ab42df76575f)
2017-06-09MGS-2811: gpu: integrate 6.2.2 driver for L4.9 kernelXianzhong
One codebase to support all graphics standards for imx chips, Optimized software pipeline for modern GPU benchmarks, Integrated more bug-fixings for critical gpu issues. Source repo: gpu-viv6 Source branch: origin/imx_6.2.2 Source commit: 8826fbc75269e7d26b0bf9c5e9a2b0110b295f9c Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
2017-06-09MLK-15002 mmc: sdhci-esdhc-imx: fix HS400 timing issueHaibo Chen
commit 3f0191b80cf1 ("MLK-14381 mmc: sdhci-esdhc-imx: reset tuning circuit when system resume") add tuning reset when the timing is MMC_TIMING_LEGACY/MMC_TIMING_MMC_HS/MMC_TIMING_SD_HS. For timing MMC_TIMING_MMC_HS, we can not do tuning reset, otherwise HS400 timing is not right. Here is the process of config HS400, it do tuning in HS200 mode, then switch to HS mode and 8 bit DDR mode, finally switch to HS400 mode. If we do tuning reset in HS mode, this will cause HS400 mode lost the tuning setting, which will cause CRC error. Signed-off-by: Haibo Chen <haibo.chen@nxp.com> (cherry picked from commit 25e7080552a8d681a83e6c328ef5dedf5132afbf)
2017-06-09MLK-14963 PXP: enable pxp interrupt after soft resetGuoniu.Zhou
After soft reset, the irq register value will be zero, so we need set it to enable all pxp interrupts. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
2017-06-09PCI: imx6: Allow probe deferral by reset GPIORichard Zhu
Some designs implement reset GPIO via a GPIO expander connected to a peripheral bus. One such example would be i.MX7 Sabre board where said GPIO is provided by SPI shift register connected to a bitbanged SPI bus. To support such designs, allow reset GPIO request to defer probing of the driver. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Lucas Stach <l.stach@pengutronix.de> Cc: yurovsky@gmail.com Cc: Fabio Estevam <fabio.estevam@nxp.com> Cc: Dong Aisheng <dongas86@gmail.com> Cc: linux-arm-kernel@lists.infradead.org (cherry picked from commit bde4a5a00e761f55be92f62378cf5024ced79ee3)
2017-06-09MLK-14748 clocksource: imx-tpm: Increase the min_deltaShenwei Wang
The current min_delta for TPM clock event is 2 ticks which is too small. As the TPM is running at 3MHz, 2 ticks equal 2/3 us. According to our testing, the interrupt latency will be longer than this min_delta, especially when GPU is running. This patch changed the min_delta to 300 which give the system around 100us for interrupt handling in case the "set_next_event" call is interrupted by other signals. Also a simple validation code is added before the function returns. Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com> Signed-off-by: Bai Ping <ping.bai@nxp.com> (cherry picked from commit 4f882165cc31672f3c98de74ab02b757cb96ad26)
2017-06-09MGS-2842 ARM: imx: correct PFD setting rate flowAnson Huang
According to design, PFD needs to be gated before setting rate, this patch adds warning for PFD when there is any try to set PFD rate with gate open; Since PFD may be enabled during kernel boot up, here doing enable and disable before setting APLL_PFD2 rate is to make sure it is gated by clock framework before setting rate. Signed-off-by: Anson Huang <Anson.Huang@nxp.com>