summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2012-07-10ENGR00216013-1 memblock: add memblock_end_of_DRAM_with_reserved() function.Zhang Jiejing
add a function to check the end address including reserved memory, this API can provide the top address of phy memory, it can be used to check if the phy memory is valild in some driver like VPU. Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
2012-06-29Merge commit 'rel_imx_3.0.15_12.06.01_RC3' into imx_3.0.15_androidXinyu Chen
2012-06-21ENGR00214367-1 power_supply: add get_supplier_propertyRong Dian
add get_supplier_property interface. This patch was written by: Heikki Krogerus <heikki.krogerus@linux.intel.com> originally. Signed-off-by: Rong Dian <b38775@freescale.com>
2012-06-21Merge remote branch 'fsl-linux-sdk/imx_3.0.15' into imx_3.0.15_androidXinyu Chen
Conflicts: arch/arm/mach-mx6/devices-imx6q.h drivers/power/sabresd_battery.c
2012-06-18ENGR00212318 ASRC:update to in/out width configChen Liangjun
The origin ASRC driver did not support input and output wordwidth config but an total wordwidth config instead. And the input wordwith and output wordwidth are all fixed to 24 bit. In this path, we do things below: 1 Update to use input wordwidth and output wordwidth config seperately instead of an total wordwidth config. 2 Set corresponding DMA(input/output) buswidth according ASRC's input and output wordwidth config. 3 Support 16/24 bit input wordwidth and 24 bit output wordwidth. Signed-off-by: Chen Liangjun <b36089@freescale.com>
2012-06-14Merge 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_sabreauto.c arch/arm/mach-mx6/board-mx6q_sabrelite.c arch/arm/mach-mx6/board-mx6q_sabresd.c drivers/video/mxc/mxc_ipuv3_fb.c
2012-06-08ENGR00212322-3 usb: add one platform data entry to store anatop base addressPeter Chen
It is used to usb charger detect, the charger detection process need to access anatop register. Signed-off-by: Peter Chen <peter.chen@freescale.com>
2012-06-06ENGR00212489-2 Android: lowmemerykiller: add reserved memroy account function.Zhang Jiejing
Add GPU shared memory accounting to get better result of low memory killer. the original low memory killer only take care of system memory accounting, but for so large shared memory occupy by GPU, and each process memory killer account become unfair, very large 3D game will not killed firstly if it going to background. Add this account to let real large memory user get killed if going to background eg, the "angry bird Space" will acquire 68,215,360 GPU memory for 1-6 toll-gate. The test show it can quicker recovery from memory shortage situation, since it's very like to be killed after add so much GPU memory for such 3D game. Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
2012-05-25Merge remote branch 'fsl-linux-sdk/imx_3.0.15' into imx_3.0.15_androidXinyu Chen
Conflicts: arch/arm/configs/imx6_defconfig arch/arm/kernel/smp.c arch/arm/mach-mx6/board-mx6q_arm2.c arch/arm/mach-mx6/board-mx6q_sabreauto.c arch/arm/mach-mx6/board-mx6q_sabrelite.c arch/arm/mach-mx6/board-mx6q_sabresd.c arch/arm/mach-mx6/bus_freq.c arch/arm/mach-mx6/clock.c arch/arm/mach-mx6/cpu.c arch/arm/mach-mx6/devices-imx6q.h arch/arm/mach-mx6/mx6_ddr_freq.S arch/arm/mach-mx6/mx6_mmdc.c arch/arm/mach-mx6/mx6_suspend.S arch/arm/mach-mx6/mx6_wfi.S arch/arm/mach-mx6/plat_hotplug.c arch/arm/mach-mx6/pm.c arch/arm/mach-mx6/system.c arch/arm/plat-mxc/cpufreq.c arch/arm/plat-mxc/system.c drivers/media/video/mxc/capture/Kconfig drivers/media/video/mxc/capture/mxc_v4l2_capture.c drivers/media/video/mxc/capture/ov5640_mipi.c drivers/media/video/mxc/output/mxc_vout.c drivers/mmc/host/sdhci.c drivers/mtd/nand/gpmi-nand/gpmi-lib.c drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_mmu.c drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_enum.h drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_options.h drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_version.h drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c drivers/mxc/ipu3/vdoa.c drivers/power/max8903_charger.c drivers/video/mxc/mxc_ipuv3_fb.c sound/soc/codecs/mxc_spdif.c sound/soc/imx/Makefile sound/soc/imx/imx-wm8962.c
2012-05-22ENGR00210075-3 - SPDC: Add Sipix driverFugang Duan
Add Sipix driver for electronic paper dispaly - Support RGB565 & Y4 formats with 800x600 resolution - Support synchronization update by waiting the last request update completed. - Support automated update using Linux deferred io mechanism - Support for panning(y-direction) - Support rotation with 90,180,and 270 degree. - Initial integration with ePXP, output Y4 format - Support specific waveform modes update. - Support Snapshot, Queue and Queue Merge update sheeme. - Support full and partial EPD screen updates. mode_1 & mode_2: partial update mode_0 & mode_3: full update - Align waveform mode with EPDC as below: mode_init = mode_0; mode_gc4 = mode_2; mode_A2 = mode_4, mode_du =mode_4; mode_gc8 = mode_1, mode_gc16 = mode_1, mode_gc32 = mode_1; Signed-off-by: Fugang Duan <B38611@freescale.com>
2012-05-21ENGR00209062-2: mx6dq and mx6dl dual camera supportWu Guoxing
dual camera support for mx6q and mx6dl: 1. let mipi and parallel camera working on different csi 2. the two camera can work independently and synchronously 3. the two camera will be registered and different video device(/dev/video0, /dev/video1) 4. when both camera are working, the can not use the same ipu channel, that is, when camera one using PRP_ENC_MEM or PRP_VF_MEM channel, the other one can only use CSI_MEM this is the driver part. Signed-off-by: Wu Guoxing <b39297@freescale.com>
2012-05-18ENGR00209978-2: imx6sl: lcdif: update driver partRobby Cai
- use new console lock/unlock Board Rework Needed: - remove R572, R569, R611 to eliminate conflict with FEC modules. Signed-off-by: Robby Cai <R63905@freescale.com>
2012-05-18ENGR00182769 HDMI: No sound when playing audio in 480p modeSandor Yu
It is cause by HDMI audio driver can't get right pixel clock from IPU driver if pixel clock source from HSP clock not from DI clock. HDMI driver get pixel clock by call clk_get_rate() function, but the function return actually clock, in some videomode the actually pixel clock is not right equal the pixel clock in CEA spec. Get pixel clock from video mode struct instead of CCM register. 480P HDMI audio can work. Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-05-18ENGR00182769 HDMI: No sound when playing audio in 480p modeSandor Yu
It is cause by HDMI audio driver can't get right pixel clock from IPU driver if pixel clock source from HSP clock not from DI clock. HDMI driver get pixel clock by call clk_get_rate() function, but the function return actually clock, in some videomode the actually pixel clock is not right equal the pixel clock in CEA spec. Get pixel clock from video mode struct instead of CCM register. 480P HDMI audio can work. Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-05-17ENGR00209570 - PxP : Add Y4 output format.Fugang Duan
- Add Y4 output format for SPDC. Signed-off-by: Fugang Duan <B38611@freescale.com>
2012-05-04ENGR00181094-4: MAX8903: improve battery charger driverRong Dian
1.change the battery driver's name to sabresd_battery.c ,it means this driver is only special for sabersd boards. 2.fix battery charger function bugs and improve driver code. Signed-off-by: Rong Dian <b38775@freescale.com>
2012-04-27ENGR00181094-2: MAX8903: Add battery charger driverRong Dian
Add battery charger driver on SABRESD_rev.B board. Signed-off-by: Rong Dian <b38775@freescale.com>
2012-04-26ENGR00180865-2 ion: Add imx ion allocator driver supportXinyu Chen
Enable ion in drivers Kconfig Add imx ion allocator device driver Add ION_IOC_PHYS ioctl for user to get phys addr of buffers Correct the remap pfn pgprot to writecombine Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
2012-04-26ENGR00180865-1 misc: remove android pmem driver, it's obsolete.Xinyu Chen
PMEM driver is already dropped and removed by Google. Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
2012-04-20Merge remote branch 'fsl-linux-sdk/imx_3.0.15_12.04.01' into imx_3.0.15_androidXinyu Chen
Conflicts: arch/arm/kernel/traps.c arch/arm/mach-mx6/board-mx6q_sabresd.c arch/arm/mach-mx6/cpu.c arch/arm/mach-mx6/system.c
2012-04-20Merge branch 'android-3.0' into imx_3.0.15_androidXinyu Chen
Conflicts: drivers/cpufreq/cpufreq_interactive.c
2012-04-20Revert "misc: remove android pmem driver, it's obsolete."Xinyu Chen
This reverts commit d1e94136fc4fe8ea608f4e9d21befa00c86e1e29.
2012-04-13ENGR00179601 Synopsys approved hdmi fifo workaround - rev 3Alan Tull
This patch includes some of the clk enable/disable changes from rev2 Check the version of the HDMI IP to determine whether the fifo threshold needs to be high. The i.Mx6dl version of the HDMI doesn't need the workaround. All other parts of the workaround are used for both parts for code simplicity. ---------------------------------------------------------- For i.Mxq, set the Threshold of audio fifo as: FIFO depth - 2 (fixed and independent of the number of channels actually used). Use unspecified length ahb bursts (using fixed INCRx will make the audio dma fail). Additionally and in order to get it working on all conditions it will be necessary to run the following sw steps at startup of video and audio (or when video changes or audio changes): 1-Configure AUD_N1 and AUD_CTS1 registers with final value and let the AUD_N2, AUD_N3, AUD_CTS2 and AUD_CTS3 to 0s. 2-Configure start and end addresses of audio DMA registers. 3-Start DMA operation 4-Configure the AUD_CTS2 and AUD_CTS3 with the final value. 5-Configure the AUD_N2 and AUD_N3 with final value. Signed-off-by: Alan Tull <r80115@freescale.com>
2012-04-13ENGR00179601 Synopsys approved hdmi fifo workaround - rev 3Alan Tull
This patch includes some of the clk enable/disable changes from rev2 Check the version of the HDMI IP to determine whether the fifo threshold needs to be high. The i.Mx6dl version of the HDMI doesn't need the workaround. All other parts of the workaround are used for both parts for code simplicity. ---------------------------------------------------------- For i.Mxq, set the Threshold of audio fifo as: FIFO depth - 2 (fixed and independent of the number of channels actually used). Use unspecified length ahb bursts (using fixed INCRx will make the audio dma fail). Additionally and in order to get it working on all conditions it will be necessary to run the following sw steps at startup of video and audio (or when video changes or audio changes): 1-Configure AUD_N1 and AUD_CTS1 registers with final value and let the AUD_N2, AUD_N3, AUD_CTS2 and AUD_CTS3 to 0s. 2-Configure start and end addresses of audio DMA registers. 3-Start DMA operation 4-Configure the AUD_CTS2 and AUD_CTS3 with the final value. 5-Configure the AUD_N2 and AUD_N3 with final value. Signed-off-by: Alan Tull <r80115@freescale.com>
2012-04-13ENGR00179513-2 IPU: Add TILED_NV12_FRAME_SIZE macro for consistencyWayne Zou
VPU needs 4K align buffer address for tiled format data output. Use this macro for IPU/V4L2/Apps to calculate the frame/field size. Signed-off-by: Wayne Zou <b36644@freescale.com>
2012-04-13ENGR00179513-2 IPU: Add TILED_NV12_FRAME_SIZE macro for consistencyWayne Zou
VPU needs 4K align buffer address for tiled format data output. Use this macro for IPU/V4L2/Apps to calculate the frame/field size. Signed-off-by: Wayne Zou <b36644@freescale.com>
2012-04-12ENGR00179284-1 support ONFI NAND device on mx6q_arm2_pop boardAllen Xu
Add a platform data to indicate whether the board support ONFI nand Signed-off-by: Allen Xu <allen.xu@freescale.com>
2012-04-12ENGR00179284-1 support ONFI NAND device on mx6q_arm2_pop boardAllen Xu
Add a platform data to indicate whether the board support ONFI nand Signed-off-by: Allen Xu <allen.xu@freescale.com>
2012-04-10ENGR00179123 AMFM I2C module to ARD platform for IMX6Q and IMX6DLAlejandro Sierra
Basic I2C module integration of AMFM module to ARD platform IMX6Q and IMX6DL rev A and rev B boards. Supported for kernel 3.0.15. Signed-off-by: Alejandro Sierra <b18039@freescale.com>
2012-04-09Merge remote branch 'fsl-linux-sdk/imx_3.0.15' into imx_3.0.15_androidXinyu Chen
2012-04-06ENGR00178875-2 VDOA: Add vdoa support on i.MX6 SOC platformWayne Zou
Add tiled format macros: IPU_PIX_FMT_TILED_NV12 and IPU_PIX_FMT_TILED_NV12F Signed-off-by: Wayne Zou <b36644@freescale.com>
2012-04-06ENGR00179077 ASRC:delete unused variableChen Liangjun
Delete unused variable busy_lock in mxc_asrc.h. Signed-off-by: Chen Liangjun <b36089@freescale.com>
2012-04-05xt_IDLETIMER:Ashish Sharma
Add new netlink msg type for IDLETIMER. Send notifications when the label becomes active after an idle period. Send netlink message notifications in addition to sysfs notifications. Change-Id: I31677ef00c94b5f82c8457e5bf9e5e584c23c523 Signed-off-by: Ashish Sharma <ashishsharma@google.com>
2012-04-05ENGR00177281-5 WM8962: add record featureGary Zhang
1. add amic and dmic support. 2. update wm8962 codec driver Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-03-30Merge remote branch 'fsl-linux-sdk/imx_3.0.15' into imx_3.0.15_4.6.6Xinyu Chen
Conflicts: arch/arm/configs/imx6_defconfig arch/arm/configs/imx6_updater_defconfig arch/arm/mach-mx6/board-mx6q_sabreauto.c arch/arm/mach-mx6/board-mx6q_sabresd.c arch/arm/mach-mx6/clock.c arch/arm/mach-mx6/localtimer.c drivers/cpufreq/Makefile drivers/cpufreq/cpufreq_interactive.c drivers/input/keyboard/gpio_keys.c drivers/media/video/mxc/capture/Kconfig drivers/media/video/mxc/capture/mxc_v4l2_capture.c drivers/mmc/card/block.c drivers/mmc/host/sdhci-esdhc-imx.c drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c drivers/usb/otg/fsl_otg.c drivers/video/mxc/mxc_ipuv3_fb.c include/linux/fsl_devices.h include/linux/mmc/host.h sound/soc/imx/Kconfig sound/soc/imx/Makefile sound/soc/imx/imx-hdmi-dma.c sound/soc/imx/imx-wm8958.c
2012-03-29ENGR00178290-2 mmc: sdhci: introduce QUIRK_BROKEN_AUTO_CMD23 for mx6Dong Aisheng
We observed a few commands timeout when using auto cmd23. The root cause is still unkonwn. This patch is a workaround to not use auto cmd23 temporarily. Signed-off-by: Dong Aisheng <b29396@freescale.com>
2012-03-28ENGR00177302 ASRC: change clock managementChen Liangjun
1 close clock when asrc is not working. 2 enable the asrc core clock when user sucessfully request an ASRC pair and disable it when the pair is release.So the call from ESAI using the p2p DMA mode can be support. Signed-off-by: Chen Liangjun <b36089@freescale.com>
2012-03-26ENGR00176177-2 Add irq count mechanism to interactive governorAnson Huang
Add irq count to CPUFreq as a freq change condition. Because some devices' working mode is unable to issue CPUFreq change because of low CPU loading, but the cpu freq will impact these devices' performace significantly. Interactive govervor will sample the cpu loading as well as the irq count which is registered. If the loading or the irq count exceed the threshold we set, governor will issue an CPUFreq change request. These devices' irq threshold and enable/disable can be modified via /sys/devices/system/cpu/cpufreq/interactive/irq_scaling echo 0xAABBBC to change the default setting as below AA : irq number BBB: threshold C :enable or disable Currently only enable USDHC3, USDHC4, GPU, SATA and USB by default, we can add device to the init struct which is located in arch/arm/mach-mx6/irq.c. Signed-off-by: Anson Huang <b20788@freescale.com>
2012-03-26ENGR00177745-1 Add interactive cpufreq governorAnson Huang
cpufreq: interactive: New 'interactive' governor This governor is designed for latency-sensitive workloads, such as interactive user interfaces. The interactive governor aims to be significantly more responsive to ramp CPU quickly up when CPU-intensive activity begins. Existing governors sample CPU load at a particular rate, typically every X ms. This can lead to under-powering UI threads for the period of time during which the user begins interacting with a previously-idle system until the next sample period happens. The 'interactive' governor uses a different approach. Instead of sampling the CPU at a specified rate, the governor will check whether to scale the CPU frequency up soon after coming out of idle. When the CPU comes out of idle, a timer is configured to fire within 1-2 ticks. If the CPU is very busy from exiting idle to when the timer fires then we assume the CPU is underpowered and ramp to MAX speed. If the CPU was not sufficiently busy to immediately ramp to MAX speed, then the governor evaluates the CPU load since the last speed adjustment, choosing the highest value between that longer-term load or the short-term load since idle exit to determine the CPU speed to ramp to. A realtime thread is used for scaling up, giving the remaining tasks the CPU performance benefit, unlike existing governors which are more likely to schedule rampup work to occur after your performance starved tasks have completed. The tuneables for this governor are: /sys/devices/system/cpu/cpufreq/interactive/min_sample_time: The minimum amount of time to spend at the current frequency before ramping down. This is to ensure that the governor has seen enough historic CPU load data to determine the appropriate workload. /sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load The CPU load at which to ramp to max speed. Signed-off-by: Anson Huang <b20788@freescale.com>
2012-03-21ENGR00171874 fix ASRC noise bug for i.MX6Chen Liangjun
Solve the ASRC noise: 1 change the DMA mode from normal mode to loop mode. 2 use dma_alloc_coherent alloc dma buffer instead of kzalloc. Signed-off-by: Chen Liangjun <b36089@freescale.com>
2012-03-21ENGR00176299-3 usb host suspend/resume can't work randomlyTony LIU
head file part Signed-off-by: Tony LIU <junjie.liu@freescale.com>
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-03-14ENGR00176649-1 sabrelite_SD ARD pfuze: update pfuze driver for pfuze100 1.0Robin Gong
Since some power rail is differnet between pfuze100 0.1 and pfuze100 1.0, remove PFUZE100_FIRST_VERSION and change PFUZE100_SW4_VOL6 define. Signed-off-by: Robin Gong <b38343@freescale.com>
2012-03-13nl80211/cfg80211: add match filtering for sched_scanLuciano Coelho
Introduce filtering for scheduled scans to reduce the number of unnecessary results (which cause useless wake-ups). Add a new nested attribute where sets of parameters to be matched can be passed when starting a scheduled scan. Only scan results that match any of the sets will be returned. At this point, the set consists of a single parameter, an SSID. This can be easily extended in the future to support more complex matches. Signed-off-by: Luciano Coelho <coelho@ti.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> Conflicts: include/linux/nl80211.h net/wireless/nl80211.c
2012-03-13nl80211/cfg80211: add max_sched_scan_ie_len in the hw descriptionLuciano Coelho
Some chips may support different lengths of user-supplied IEs with a single scheduled scan command than with a single normal scan command. To support this, this patch creates a separate hardware description element that describes the maximum size of user-supplied information element data supported in scheduled scans. Signed-off-by: Luciano Coelho <coelho@ti.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2012-03-13nl80211/cfg80211: add max_sched_scan_ssids in the hw descriptionLuciano Coelho
Some chips can scan more SSIDs with a single scheduled scan command than with a single normal scan command (eg. wl12xx chips). To support this, this patch creates a separate hardware description element that describes the amount of SSIDs supported in scheduled scans. Signed-off-by: Luciano Coelho <coelho@ti.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> Conflicts: include/linux/nl80211.h
2012-03-07ENGR00176147-3: usb: change data types for wakeup_eventPeter Chen
In order to know which wakeup event occurs for usb wakeup Signed-off-by: Peter Chen <peter.chen@freescale.com>
2012-03-07ENGR00176061-2 usb: otg: add discharge vbus flagPeter Chen
Add discharge vbus flag Signed-off-by: Peter Chen <peter.chen@freescale.com>
2012-03-07ENGR00175864 [MMC]pipeline mmc requestsTony Lin
the patch is based on a series of patches by Per Forlin the patch is sdhci host side implementation. using a toshiba SDHC3.0 card, the performance increases from 48.5MB/s to 52.4MB/s. cmd: dd if=/dev/mmcblk0 of=/dev/null bs=1M count=500 the performance results running@1GHz, 200MHz CPU freq are: 52.4MB/s -> 20.7MB/s Signed-off-by: Tony Lin <tony.lin@freescale.com>