Shengjiu Wang [Fri, 31 Oct 2014 05:51:20 +0000 (13:51 +0800)]
MLK-9731 ASoC: imx-hdmi-dma: audio output is noisy in long time playback
In the frame_to_bytes(), when hw_ptr*frame_bits exceed the maxmum of unsigned
long, the return value is saturated, so the appl_bytes is wrong.
This patch is to correct the usage of frame_to_bytes().
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit
9e66132d9c96305b65aa5fa3ba8a35271a04ded9)
Zidan Wang [Fri, 11 Sep 2015 09:03:00 +0000 (17:03 +0800)]
MLK-11530-04 dmaengine: imx-sdma: add hdmi audio support
No need to alloc bd for hdmi audio, and the period len of hdmi audio is
0, so add constraint for it.
And correct per_address and per_address2 for hdmi audio.
Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
Zidan Wang [Fri, 11 Sep 2015 08:57:28 +0000 (16:57 +0800)]
MLK-11530-03 ARM: defconfig: enable hdmi audio sound card
enable hdmi audio sound card
Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
Zidan Wang [Fri, 11 Sep 2015 08:59:06 +0000 (16:59 +0800)]
MLK-11530-02 ARM: dts: correct hdmi peripheral type
correct hdmi peripheral type
Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
Shengjiu Wang [Wed, 27 Aug 2014 06:52:50 +0000 (14:52 +0800)]
MLK-11530-01 ASoC: fsl_hdmi: port hdmi audio driver from imx_3.10.y
cherry-pick below patch from v3.14.y:
ENGR00330403-2: ASoC: fsl_hdmi: port hdmi audio driver from imx_3.10.y
Port HDMI audio driver (CPU driver, machine driver, platform driver) from
imx_3.10.y.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit
60996f868ed6ff68b45a39a0747df831e27571ba)
Robby Cai [Fri, 11 Sep 2015 08:17:27 +0000 (16:17 +0800)]
MLK-11534 uapi: Add mxc_mlb.h into Kbuild
export this for 'make headers_install'
Signed-off-by: Robby Cai <r63905@freescale.com>
Robby Cai [Fri, 11 Sep 2015 08:02:49 +0000 (16:02 +0800)]
MLK-11533 uapi: Add isl29023.h into Kbuild
export this for 'make headers_install'
Signed-off-by: Robby Cai <r63905@freescale.com>
Shengjiu Wang [Fri, 11 Sep 2015 09:03:20 +0000 (17:03 +0800)]
MLK-11532: include: uapi: Add mxc_asrc.h to Kbuild
Add mxc_asrc.h to Kbuild. otherwise this header is not installed by
"make headers_install INSTALL_HDR_PATH=XXX".
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Sandor Yu [Fri, 11 Sep 2015 08:33:30 +0000 (16:33 +0800)]
MLK-11531: uapi: Add v4l2 and dcic head file
Add v4l2 and dcic head file.
Signed-off-by: Sandor Yu <R01008@freescale.com>
Zidan Wang [Tue, 8 Sep 2015 06:08:03 +0000 (14:08 +0800)]
MLK-11525 ARM: dts: add wm8962 headphone detect gpio for imx6sx-sdb board
add wm8962 headphone detect gpio for imx6sx-sdb board
Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
Zidan Wang [Mon, 7 Sep 2015 09:08:27 +0000 (17:08 +0800)]
MLK-11524 ARM: dts: add ssi<->wm8962 sound card support for imx6qdl-sabresd board
add ssi<->wm8962 sound card support for imx6qdl-sabresd board
Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
Zidan Wang [Mon, 7 Sep 2015 09:04:54 +0000 (17:04 +0800)]
MLK-11513-02 ARM: dts: add spdif sound card support for imx6sl-evk board
add spdif sound card support for imx6sl-evk board
Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
Zidan Wang [Mon, 7 Sep 2015 09:03:40 +0000 (17:03 +0800)]
MLK-11513-01 ARM: dts: add ssi<->wm8962 sound card support for imx6sl-evk board
add ssi<->wm8962 sound card support for imx6sl-evk board
Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
Bai Ping [Tue, 8 Sep 2015 18:33:53 +0000 (02:33 +0800)]
MLK-11521 ARM: dts: fix a typo for clock name 'pll1_bypass_src'
Fix a typo for clock name 'pll1_bypass_src'.
Signed-off-by: Bai Ping <b51503@freescale.com>
Bai Ping [Tue, 8 Sep 2015 16:57:09 +0000 (00:57 +0800)]
MLK-11518-05 ARM: defconfig: enable the device cooling
Enable the device cooling device in the defconfig.
Signed-off-by: Bai Ping <b51503@freescale.com>
Bai Ping [Tue, 8 Sep 2015 15:55:03 +0000 (23:55 +0800)]
MLK-11518-03 thermal: imx enable devfreq cooling
Enable devfreq cooling to trigger GPU freq change when
hot trip is reached.
Make sure thermal driver loaded after cpufreq is loaded,
otherwise, cpu_cooling will not get valid cpufreq table,
hence cpu_cooling will be not working.
Signed-off-by: Bai Ping <b51503@freescale.com>
Bai Ping [Mon, 7 Sep 2015 17:58:22 +0000 (01:58 +0800)]
MLK-11518-02 thermal: imx: add .get_trend callback fn in thermal driver
add .get_trend callback to determine the thermal raise/fall trend,
when the temp great than a threshold, drop to the lowest trend
(THERMAL_TREND_DROP_FULL).
Signed-off-by: Bai Ping <b51503@freescale.com>
Bai Ping [Mon, 7 Sep 2015 11:17:13 +0000 (19:17 +0800)]
MLK-11518-01 thermal: imx: add thermal support for imx7
This pacth re-write part of the code the support i.MX6 and i.MX7
in thermal driver. the TEMPMON module in i.MX6 and i.MX7 can provide
the same funtion, but has different register offset and bitfield define.
Signed-off-by: Bai Ping <b51503@freescale.com>
Bai Ping [Fri, 30 Jan 2015 10:56:40 +0000 (18:56 +0800)]
MLK-10188 arm: imx: Add dummy LDO2p5 regulator for VBUS wakeup
LDO2p5 cannot be disabled in low power idle mode when the USB driver
enables VBUS wakeup. To identify when LDO2p5 can be disabled add a dummy
regulator that the USB driver will enable when VBUS wakeup is required.
This patch is copied from commit
7d849e4d9ebca3c as code the structure has
changed too many. directly cherry-pick has too many conflicts to resolve
Signed-off-by: Bai Ping <b51503@freescale.com>
(cherry picked from commit
25a42aeb8eeb0b894a70e1a0f6750ced39830a46)
Bai Ping [Sun, 6 Sep 2015 15:07:00 +0000 (23:07 +0800)]
MLK-11499 ARM: imx: add low power idle for imx6sl
Add low power idle support for i.MX6SL.
Signed-off-by: Bai Ping <b51503@freescale.com>
Bai Ping [Sun, 6 Sep 2015 14:23:24 +0000 (22:23 +0800)]
MLK-11495-03 ARM: imx: fix the ARM/IPG ratio when busfreq enabled
On i.MX6SL, we must make sure ARM:IPG clock ratio is within 12:5 when entering
wait mode. If the system is in low_bus_freq_mode, the IPG is at 12MHz
according the busfreq code. So the max rate of ARM is 28.8MHz when entering
wait mode. As there is no way run at this clk rate, so set ARM to run from
24MHz OSC.
Signed-off-by: Bai Ping <b51503@freescale.com>
Bai Ping [Sun, 6 Sep 2015 14:05:58 +0000 (22:05 +0800)]
MLK-11495-02 ARM: imx: add busfreq support for imx6sl
Add busfreq support for i.MX6SL SOC. we support three
busfreq mode (high_bus_freq_mode/low_bus_freq_mode and
audio_bus_freq_mode).
Signed-off-by: Bai Ping <b51503@freescale.com>
Bai Ping [Sun, 6 Sep 2015 14:03:16 +0000 (22:03 +0800)]
MLK-11495-01 ARM: dts: imx: add busfreq device node for imx6sl
Add busfreq device node for imx6sl.
Signed-off-by: Bai Ping <b51503@freescale.com>
Anson Huang [Thu, 16 Jul 2015 13:08:10 +0000 (21:08 +0800)]
MLK-11249-2 ARM: imx: add support for dynamic settings of gpc timing
On different platforms, the CPU power down/up timing may be
different because of different requirements or different
implementations in hardware, so we need to support dynamic
setting of these timing, board level dtb file will provide
these settings, and GPC driver need to read them and set them
to the hardware.
Signed-off-by: Anson Huang <b20788@freescale.com>
(cherry picked from commit
b0145b4e8556621cbe0d72e56cec5b04454db6c2)
Bai Ping [Thu, 27 Aug 2015 17:22:13 +0000 (01:22 +0800)]
MLK-11437-02 ARM: imx: change the pll1_sw/sys clks type on imx6
The 'PLL1_SYS' and 'PLL1_SW' clks are used by the cpufreq
driver to do dynamic frequency changing procedure.
The 'CLK_SET_PARENT_GATE' should not be set for 'PLL1_SW'
clk, this clock's prepare_count is not zero all the time.
change the clk type of 'PLL1_SYS' to fixed_factor. due to
the hardware limit, when changing the ARM_PODF. This clock's
output should not be gated.
Signed-off-by: Bai Ping <b51503@freescale.com>
Bai Ping [Thu, 27 Aug 2015 17:17:44 +0000 (01:17 +0800)]
MLK-11437-01 ARM: dts: imx: correct the clock info of cpu node
The pll1_bypass and pll1_bypass_src clock index in cpu node
should be IMX6SX_PLL1_BYPASS and IMX6SX_PLL1_BYPASS_SRC,
so correct this.
Signed-off-by: Bai Ping <b51503@freescale.com>
Anson Huang [Thu, 16 Jul 2015 13:11:28 +0000 (21:11 +0800)]
MLK-11249-3 ARM: imx: improve i.mx6ul's low power idle setting
For low power idle with ARM power gated, per hardware requirement,
there must be no interrupt coming during the power down
process of ARM core, so RBC counter is enabled to hold interrupts.
However, the previous setting of RBC counter is 1, which is ~30us,
but the hardware design recommend a ~90us is required during ARM
core power down, so we update the RBC counter value to 4(~120us) here.
Previous delay loop to make sure RBC is actually enabled, 3us is
needed, but the loop value assume ARM is running @1GHz, but actually
ARM is running @24MHz now, so we need to update the loop value
according to ARM speed.
The ARM power up timing is based on IPG / 2048, IPG is 1.5MHz during
low power idle, so the total latency of cpuidle exit should be
updated accordingly.
Signed-off-by: Anson Huang <b20788@freescale.com>
(cherry picked from commit
4e1fd49da5e87c5cc23f053692e8d7648a4d4b21)
Bai Ping [Tue, 7 Jul 2015 12:47:27 +0000 (20:47 +0800)]
MLK-11234 ARM: imx: add RC-OSC freq initialization on imx6ul
If in low power idle, we use the RC-OSC to reduce the power consumption,
the RC-OSC freq need to be adjusted, otherwise, the RC-OSC freq is not
very accurate. It may lead to system instability issue.
Signed-off-by: Bai Ping <b51503@freescale.com>
(cherry picked from commit
8a93ab44e98bcc6611170734b829cd8d140dd722)
Bai Ping [Tue, 30 Jun 2015 17:19:14 +0000 (01:19 +0800)]
MLK-11204 ARM: imx: set int_mem_clk_lpm bit bit when entering wait mode on 6ul
This bit is used to keep the ARM Platform memory clocks enabled if
an interrupt is pending when entering low power mode. This bit should
always bet set when the CCM_CLPCR_LPM bits are set to 01(WAIT Mode) or
10 (STOP mode) without power gating.
Signed-off-by: Bai Ping <b51503@freescale.com>
(cherry picked from commit
0272868641041c5a9eb1b3476660711bb5cd69e4)
Bai Ping [Wed, 3 Jun 2015 14:30:33 +0000 (22:30 +0800)]
MLK-11021-03 ARM: imx6: add low power idle support on imx6ul
Add the low power idle support on i.MX6UL. The ANATOP can enter low
power when all PLLs are powered down. If need entering low power idle
with LDO_2P5 and LDO_1P1 power down and other anatop module in low
power mode, add "uart_from_osc' on command line to make sure the UART
clk is from osc to let the PLL3 power down when entering low power idle.
Signed-off-by: Bai Ping <b51503@freescale.com>
(cherry picked from commit
5215cba66938fd09f44e61b2c7b7ae0ef0629c2f)
Bai Ping [Wed, 26 Aug 2015 15:32:03 +0000 (23:32 +0800)]
MLK-11428 ARM: imx: enable busfreq support on imx6ul
Enable the busfreq support on i.MX6UL EVK board. The
busfreq support below 3 busfreq mode:
* high_bus_mode: MMDC<--> 400MHz
* audio_bus_mode: MMDC<--> 50MHz
* low_bus_mode: MMDC<--> 24MHz
Signed-off-by: Bai Ping <b51503@freescale.com>
Bai Ping [Wed, 17 Jun 2015 13:15:05 +0000 (21:15 +0800)]
MLK-11117-01 ARM: clk: imx6: adjust axi clock to 264MHz on imx6ul
According to the latest reference manual, the default AXI clock rate
should be 264MHz. Soucre AXI/AHB from pll2_bus to get the required
clock rate.
Signed-off-by: Bai Ping <b51503@freescale.com>
(cherry picked from commit
d7560da7baee7a14ecb33d51182bbdc485ee6d7d)
Shawn Guo [Mon, 15 Sep 2014 03:32:40 +0000 (11:32 +0800)]
MLK-11414-3 ARM: dts: imx: apply ENET IRQ workaround for sabresd board
Cherry-pick below patch:
ENGR00317981 ARM: dts: imx: apply ENET IRQ workaround for sabresd board
This a forward porting of commit (ENGR00313685-15 ARM: dts: imx: apply
ENET IRQ workaround for sabresd board) from imx_3.10.y to imx_3.14.y.
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
Signed-off-by: Anson Huang <b20788@freescale.com>
Shawn Guo [Wed, 27 Aug 2014 15:51:39 +0000 (23:51 +0800)]
MLK-11414-2: ARM: dts: add dumb dts for enetirq and ldo
Cherry-pick below patch:
ENGR00317981: ARM: dts: add dumb dts for enetirq and ldo
Add a couple of dumb dts files for enetirq and ldo cases, which are
asked by Yocto build for 3.14 kernel.
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
Signed-off-by: Anson Huang <b20788@freescale.com>
Richard Zhu [Tue, 18 Aug 2015 00:34:15 +0000 (08:34 +0800)]
MLK-11498 rpmsg: imx: tell remote process about the channel
send a message to our remote processor, and tell remote
processor about this channel
Signed-off-by: Richard Zhu <Richard.Zhu@freescale.com>
(cherry picked from commit
2708c004a60c5b6da020803ee9291b83984d4a65)
Anson Huang [Tue, 8 Sep 2015 07:25:42 +0000 (15:25 +0800)]
MLK-11520 ARM: imx: enable axi clk in clk_init_on on i.mx6qdl
AXI clk should be always enabled, as many peripheral
devices need this clk to be on, especially for busfreq,
AXI podf change needs AXI clk and its parent on.
Signed-off-by: Anson Huang <b20788@freescale.com>
Sandor Yu [Fri, 28 Aug 2015 10:05:53 +0000 (18:05 +0800)]
MLK-11431-4: ARM: DTS: imx: Update IPU and display property
Update IPU and display property, make sure these dts files can
pass build.
Signed-off-by: Sandor Yu <R01008@freescale.com>
Sandor Yu [Fri, 28 Aug 2015 10:04:46 +0000 (18:04 +0800)]
MLK-11431-3: ARM: DTS: imx6 Add IPU and display support
Add IPU, HDMI and LDB support.
Signed-off-by: Sandor Yu <R01008@freescale.com>
Sandor Yu [Fri, 28 Aug 2015 10:38:49 +0000 (18:38 +0800)]
MLK-11431-2: ARM: defconfig: enable IPU and display
Enable IPU, HDMI and LDB.
Signed-off-by: Sandor Yu <R01008@freescale.com>
Sandor Yu [Wed, 26 Aug 2015 08:42:02 +0000 (16:42 +0800)]
MLK-11431-1: IPU: forward IPU display drivers to 4.1.y kernel
Forward imx_3.14.y IPU and display drivers to 4.1 kernel.
This includes IPU core driver, display driver, LDB and HDMI driver.
Signed-off-by: Sandor Yu <R01008@freescale.com>
Anson Huang [Fri, 16 Jan 2015 10:47:42 +0000 (18:47 +0800)]
MLK-10103-2 cpufreq: imx6: increase SOC/PU voltage for vpu 352M
When VPU is running at 352MHz, SOC/PU voltage need to be
at 1.25V for 396/792MHz setpoint, as 396M setpoint is
removed, so only increase 792M setpoint's voltage.
Signed-off-by: Anson Huang <b20788@freescale.com>
Anson Huang [Fri, 16 Jan 2015 10:42:08 +0000 (18:42 +0800)]
MLK-10103-1 ARM: imx: add VPU 352M for i.mx6q
When VPU freq is set to 352MHz, it needs to source clk
from PLL2_PFD2_396M, and PLL2_PFD2_396M need to change
freq to 352M, cpufreq's 396M setpoint will be removed.
Busfreq will be disabled as it needs PLL2_PFD2 to be
as 396MHz to achieve low power audio freq setpoint.
To enable VPU 352MHz feature, select it in menuconfig,
it is disabled by default.
Signed-off-by: Anson Huang <b20788@freescale.com>
Conflicts:
arch/arm/mach-imx/clk-imx6q.c
arch/arm/mach-imx/mach-imx6q.c
Anson Huang [Sun, 6 Sep 2015 05:36:55 +0000 (13:36 +0800)]
MLK-11497-2 ARM: imx: add busfreq support for imx6q/dl
Add busfreq support for i.MX6Q/DL, 3 setpoints supported:
HIGH: MMDC = 528MHz on i.MX6Q, = 396MHz on i.MX6DL; AHB = AXI = 24MHz;
AUDIO: MMDC = 50MHz, AXI = 50MHz, AHB = 25MHz;
LOW: MMDC = AXI = AHB = 24MHz.
Signed-off-by: Anson Huang <b20788@freescale.com>
Anson Huang [Sun, 6 Sep 2015 05:35:55 +0000 (13:35 +0800)]
MLK-11497-1 ARM: dts: add busfreq support for imx6q/dl
Add busfreq support for i.MX6Q/DL.
Signed-off-by: Anson Huang <b20788@freescale.com>
Anson Huang [Thu, 4 Dec 2014 04:24:49 +0000 (12:24 +0800)]
MLK-11488-10 arm: imx: add A9-M4 power management
this patch adds A9-M4 power management, including
below features:
1. busfreq: M4 is registered as a high speed device
of A9, when M4 is running at high speed, busfreq
will NOT enter low bus mode, when M4 is entering
its low power idle, A9 will be able to enter low
bus mode according to its state machine;
2. low power idle: only when M4 is in its low power
idle, busfreq is staying at low bus mode, low
power idle is available for kernel;
3. suspend: when M4 is NOT in its low power idle,
when linux is about to suspend, it will only
force SOC enter WAIT mode, only when M4 is in
its low power idle in TCM, linux suspend can
enter DSM mode. M4 can request/release wakeup
source via MU to A9.
as M4 can NOT switch its clk parent due to glitch MUX,
to handle this case, A9 will help switch M4's clk
parent, the flow is as below:
M4:
1. enter low power idle, send bus use count-- to A9;
2. enter wfi and only wait for MU interrupt;
3. receive A9's clk switch ready message, go into low
power idle;
4. receive interrupt to exit low power idle, send request
to A9 for increase busfreq and M4 freq, enter wfi
and only wait for MU interrupt;
5. receive A9 ready message, go out of low power idle.
A9:
1. when receive M4's message of entering low power idle,
wait M4 into wfi, hold M4 in wfi by hardware, gate
M4 clk, then switch M4's clk to OSC, ungate M4 clk,
send ready command to wake up M4 into low power idle;
2. when receive M4's message of exiting low power idle,
wait M4 into wfi, hold M4 in wfi by hardware, gate
M4 clk, then switch M4's clk to origin high clk,
ungate M4 clk, send ready command to wake up M4
to exit low power idle;
Signed-off-by: Anson Huang <b20788@freescale.com>
Conflicts:
arch/arm/mach-imx/busfreq-imx6.c
arch/arm/mach-imx/pm-imx6.c
Anson Huang [Thu, 4 Dec 2014 04:22:20 +0000 (12:22 +0800)]
MLK-11488-9 arm: imx: add A9-M4 clk shared management
As A9 and M4 share many resources on i.MX6SX, especially for
clk and power related resource, so we need to handle the hardware
conflict between these two cores, there are two cases that we
need to consider currently:
clk management: for every clk node, only when both A9 and
M4 do NOT need it, then we can disable it from hardware;
Here we use MU and hardware SEMA4 to achieve our goal, MU is
for communiation between A9 and M4, SEMA4 is to protect the
shared memory.
For clk management, we use shared memory to maintain the clk
status for both A9 and M4 side, and this shared memory is
protected by hardware SEMA4, A9 and M4 will maintain their
own clk tree info in their SW environment, and get other
CORE's clk tree info from shared memory to decide whether
to perform a hardware setting change when they plan to.
Signed-off-by: Anson Huang <b20788@freescale.com>
Anson Huang [Wed, 19 Nov 2014 06:24:16 +0000 (14:24 +0800)]
MLK-11488-8 arm: imx: adjust qspi device index according to dtb setting
When resume from DSM with Mega/Fast off, we need to restore
the right QSPI module for M4, so get the qspi index from dtb file.
Signed-off-by: Anson Huang <b20788@freescale.com>
Allen Xu [Mon, 13 Oct 2014 23:15:35 +0000 (18:15 -0500)]
MLK-11488-7 arm: imx: add QSPI save/restore when M4 is enabled
As M4 is executing on QSPI2 flash, and QSPI is inside Mega/Fast
domain which may lost power in DSM, so we need to do save/restore
of QSPI2 controller to make sure QSPI flash can be accessed before
waking up M4 after exiting from DSM.
Signed-off-by: Allen Xu <b45815@freescale.com>
Signed-off-by: Anson Huang <b20788@freescale.com>
Anson Huang [Thu, 4 Dec 2014 02:06:52 +0000 (10:06 +0800)]
MLK-11488-6 arm: dts: imx6sx: add mu support
add MU support for i.MX6SX.
Signed-off-by: Anson Huang <b20788@freescale.com>
Anson Huang [Thu, 4 Dec 2014 01:58:27 +0000 (09:58 +0800)]
MLK-11488-5 arm: dts: imx6sx: add m4 dts support
1. add i.MX6SX SabreAuto board M4 dts support;
2. add shared memory node support for AMP clk/power management;
3. add qspi restore node for suspend/resume with Mega/Fast off
when M4 is enabled and running on QSPI flash.
Signed-off-by: Anson Huang <b20788@freescale.com>
Anson Huang [Thu, 4 Dec 2014 02:05:38 +0000 (10:05 +0800)]
MLK-11488-4 arm: dts: imx6sx: add sema4 support
add SEMA4 support for i.MX6SX.
Signed-off-by: Anson Huang <b20788@freescale.com>
Anson Huang [Wed, 3 Dec 2014 07:13:56 +0000 (15:13 +0800)]
MLK-11488-3 arm: imx: enable CONFIG_IMX_SEMA4 by default
enable CONFIG_IMX_SEMA4 by default.
Signed-off-by: Anson Huang <b20788@freescale.com>
Anson Huang [Thu, 4 Dec 2014 01:51:27 +0000 (09:51 +0800)]
MLK-11488-2 arm: imx: add HAVE_IMX_AMP for imx6sx
add HAVE_IMX_AMP and select by default for i.MX6SX.
Signed-off-by: Anson Huang <b20788@freescale.com>
Anson Huang [Wed, 2 Sep 2015 05:03:59 +0000 (13:03 +0800)]
MLK-11488-1 driver: char: sema4: add sema4 support
- add linux sema4 driver.
- use volatile types in sema4 structure.
- align the port definiton a9 is 1, m4 is 2.
Signed-off-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Richard Zhu <r65037@freescale.com>
Anson Huang [Tue, 25 Aug 2015 08:13:27 +0000 (16:13 +0800)]
MLK-11414-1 ARM: imx: add clk return check for imx6sx
This patch adds clk API return check for imx6sx.
Signed-off-by: Anson Huang <b20788@freescale.com>
Zidan Wang [Wed, 2 Sep 2015 06:02:37 +0000 (14:02 +0800)]
MLK-11487 ARM: dts: add sound card support for imx6ul-14x14-ddr3-arm2 board
add mqs, spdif and wm8958 sound card support for imx6ul-14x14-ddr3-arm2
board.
Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
Richard Zhu [Tue, 7 Jul 2015 07:29:01 +0000 (15:29 +0800)]
MLK-11444 ata: imx: cmd buf corruption errata bug fix
errata:
When a read command returns less data than specified in the PRDs (for
example, there are two PRDs for this command, but the device returns a
number of bytes which is less than in the first PRD), the second PRD of
this command is not read out of the PRD FIFO, causing the next command
to use this PRD erroneously.
workaround
- forces sg_tablesize = 1
- modified the sg_io function in block/scsi_ioctl.c to use a 64k buffer
allocated with dma_alloc_coherent during the probe in ahci_imx
- In order to fix the scsi/sata hang, when CD_ROM and HDD are
accessed simultaneously after the workaround is applied.
Do not go to sleep in scsi_eh_handler, when there is host failed.
Signed-off-by: Richard Zhu <Richard.Zhu@freescale.com>
Fancy Fang [Tue, 1 Sep 2015 05:03:01 +0000 (13:03 +0800)]
MLK-11251 video: mxsfb: fix an auto reboot hang issue on imx7d-sdb board
The hang issue is caused by the driver pan display function.
In the mxsfb, the pan display didn't wait the address flip
done before it exits. So this may cause the irq handler
running at the blank state which will cause system hang.
Two things are done in this patch:
1. Remove the 'flip_sem', since the pan_display is always
called under the console lock hold.
2. Add a new completion 'flip_complete" to wait for the
address flip done.
Signed-off-by: Fancy Fang <chen.fang@freescale.com>
(cherry picked from commit
7cb41403cb7cf1e977536af2a0422a214382c9f5)
Conflicts:
drivers/video/mxsfb.c
Anson Huang [Thu, 8 Aug 2013 17:20:40 +0000 (13:20 -0400)]
MLK-11485 thermal: add device cooling for thermal driver
this patch is chery-picked from imx_3.14.y
(cherry picked from commit
51e376b469c)
ENGR00274056-1 thermal: add device cooling for thermal driver
cpu cooling is not enough when temperature is
too hot, as some devices may contribute a lot of heat
to SOC, such as GPU, so we need to add device cooling
as well, when system is too hot, devices can also take
their actions to lower SOC temperature.
when temperature cross the passive trip, device cooling
driver will send out notification, those devices who
register this devfreq_cooling notification will take
actions to lower SOC temperature.
Signed-off-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
Signed-off-by: Bai Ping <b51503@freescale.com>
Zidan Wang [Tue, 1 Sep 2015 11:11:50 +0000 (19:11 +0800)]
MLK-11480-03 ARM: dts: add spdif sound card support for imx6sx-sdb board
add spdif sound card support for imx6sx-sdb board
Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
Zidan Wang [Tue, 1 Sep 2015 07:34:38 +0000 (15:34 +0800)]
MLK-11480-02 ARM: dts: add sai<->wm8962 sound card support for imx6sx-sdb board
add sai<->wm8962 sound card support for imx6sx-sdb board
Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
Zidan Wang [Tue, 1 Sep 2015 05:27:30 +0000 (13:27 +0800)]
MLK-11480-01 ARM: dts: add ssi<->wm8962 sound card support for imx6sx-sdb board
add ssi<->wm8962 sound card support for imx6sx-sdb board
Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
Shengjiu Wang [Fri, 17 Jul 2015 06:18:21 +0000 (14:18 +0800)]
MLK-11259-2: ASoC: fsl: enable ASRC p2p for ssi->wm8962
Enable ASRC p2p for ssi->wm8962, base on the new p2p script,
which support to select dualfifo for source/destination device.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Nicolin Chen [Tue, 8 Apr 2014 11:13:15 +0000 (19:13 +0800)]
MLK-11479-11 ASoC: imx-wm8962: Add non-SSI cpu dai support
cherry-pick below patch from v3.14.y:
ENGR00307635-5 ASoC: imx-wm8962: Add non-SSI cpu dai support
The current imx-wm8962 machine driver is designed for SSI as CPU DAI only
while as its name we should make the driver more generic to any other CPU
DAI on i.MX serires -- ESAI, SAI for example.
So this patch makes the driver more general so as to support those non-SSI
cases.
Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
(cherry picked from commit
b6fca438dde1b4c0bbdee31729871d601f287dc9)
Shengjiu Wang [Wed, 7 May 2014 10:02:15 +0000 (18:02 +0800)]
MLK-11479-10 ASoC: fsl: pop noise with wm8962
cherry-pick below patch from v3.14.y:
ENGR00312217-1 ASoC: fsl: pop noise with wm8962
The reason of pop noise is that we change the sysclk in hw_free, which is
for another wm8962 issue. So in currently the pop noise can't be resolved
with no confliction. So for Android, because the samplerate is fixed. we can
use other workaround for this issue: change the sysclk in the set_bias().
Signed-off-by: Shengjiu Wang <b02247@freescale.com>
(cherry picked from commit
84babc7fa0a56f6620f8b04a86baece620297dda)
Shengjiu Wang [Thu, 3 Apr 2014 08:05:40 +0000 (16:05 +0800)]
MLK-11479-09 pulseaudio5.0 mute Headphone volume when Headphone plugged
cherry-pick below patch from v3.14.y:
ENGR00306857 pulseaudio5.0 mute Headphone volume when Headphone plugged
Pulseaudio will detect the Headphone Jack, then swith to Headphone.
So register new Jack for Headphone, the iface=CARD.
Signed-off-by: Shengjiu Wang <b02247@freescale.com>
(cherry picked from commit
6a715373c43f16e48883061049e67919281878d1)
Nicolin Chen [Fri, 29 Nov 2013 09:44:39 +0000 (17:44 +0800)]
MLK-11479-08 ASoC: fsl: Drop snd_soc_dapm_sync() in imx-wm8962
cherry-pick below patch from v3.14.y:
ENGR00290229 ASoC: fsl: Drop snd_soc_dapm_sync() in imx-wm8962
As DAPM would do the sync() for us, we don't need to handle it by ourselves.
And leaving snd_soc_dapm_sync() here is dangerous because it would disable
the clock from WM8962 during the short period of the output route changing
since we don't leave the alternative route's enanbling to this machine driver
but to DAPM core.
Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
(cherry picked from commit
c4dcde0b5119262cbb75c5136422af2071bffbda)
Nicolin Chen [Thu, 12 Sep 2013 06:24:20 +0000 (14:24 +0800)]
MLK-11479-07 ASoC: fsl: Drop useless resume function in WM8962 machine driver
cherry-pick below patch from v3.14.y:
ENGR00279368-1 ASoC: fsl: Drop useless resume function in WM8962 machine driver
The resume function is useless for the driver because registered jack pin has
already handled suspend/resume cases, thus drop it.
Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
(cherry picked from commit
d9357cae4492abd5bca41515793ab6fe461717b2)
Nicolin Chen [Tue, 3 Sep 2013 04:45:05 +0000 (12:45 +0800)]
MLK-11479-06 ASoC: fsl: Add WM8962 jack detecting support
cherry-pick below patch from v3.14.y:
ENGR00277715-3 ASoC: fsl: Add WM8962 jack detecting support
There're two GPIOs connected to the headphone jack and microphone jack,
thus add the states detection.
Reviewed-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
(cherry picked from commit
f85ca1dd664178328bd813651e91d612787b6926)
Nicolin Chen [Fri, 30 Aug 2013 08:02:35 +0000 (16:02 +0800)]
MLK-11479-05 ASoC: fsl: Fix set-mute-failed issue after WM8962 capture
cherry-pick below patch from v3.14.y:
ENGR00277471 ASoC: fsl: Fix set-mute-failed issue after WM8962 capture
We only need to mute WM8962 after playback, so add direction check
before doing mute.
And a mute failure would cause hw_free() abruptly return after it,
which might drop the essential procedure code for FLL controlling.
Thus put mute before FLL controlling code and drop its return check.
Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
(cherry picked from commit
3133b6cfb31b202805d31d449bfa70383e5e1c75)
Nicolin Chen [Tue, 13 Aug 2013 03:37:54 +0000 (11:37 +0800)]
MLK-11479-04 ASoC: imx-wm8962: Set MCLK source clock to 0Hz in hw_free()
cherry-pick below patch from v3.14.y:
ENGR00274386-2 ASoC: imx-wm8962: Set MCLK source clock to 0Hz in hw_free()
When DAPM closed WM8962 after playback, its driver would prompt
'wm8962 0-001a: Unsupported sysclk ratio 500' due to the invalid
divisor calculated by WM8962 codec driver.
To fix it, we can work around by setting its MCLK source to 0Hz,
so the codec driver would never get an invalid divisor any more.
Since hw_params() would re-set the MCLK source, no need to worry
about any side-effect.
Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
(cherry picked from commit
a935f7680ac3958ce72cf7413cac278c0683d4c0)
Nicolin Chen [Mon, 5 Aug 2013 08:26:16 +0000 (16:26 +0800)]
MLK-11479-02 ASoC: WM8962: Let codec driver enable/disable its MCLK
cherry-pick below patch from v3.14.y:
ENGR00273838-8 ASoC: WM8962: Let codec driver enable/disable its MCLK
WM8962 needs its MCLK when powerup -- wm8962_resume(). Thus it's better
to control the MCLK in codec driver. Thus remove the clock enable in
machine dirver accordingly.
Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
(cherry picked from commit
007d3504914096760124f2ef13d52da206341a66)
Nicolin Chen [Mon, 5 Aug 2013 07:34:05 +0000 (15:34 +0800)]
MLK-11479-01 ASoC: fsl: Use hw_params() and hw_free() to set FLL
cherry-pick below patch from v3.14.y:
ENGR00273838-7 ASoC: fsl: Use hw_params() and hw_free() to set FLL
We followed community way by using set_bias() to set FLL of WM8962.
But this can't meet our requirement: aplay -Dhw: 16khz.wav 24khz.wav.
Thus use hw_params() and hw_free() instead.
Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
(cherry picked from commit
8db9a2f44a5eecd02be2259a3783178a521ef2d2)
Frank Li [Thu, 3 Oct 2013 19:51:58 +0000 (14:51 -0500)]
MLK-11483-5 Add config for mfgtools
Build in USB Mass storage
Enable CONFIG_FSL_UTP
Signed-off-by: Frank Li <Frank.li@freescale.com>
Huang Shijie [Wed, 26 Oct 2011 09:31:25 +0000 (17:31 +0800)]
MLK-11483-4 UTP : replace kzalloc() with vmalloc()
When allocating large memory, such as 128K,
vmalloc() uses single page for the allocation process,
while kzalloc() has to consume a continuous pages for the allocation.
In low memory case, the kzalloc() may fails.
So use the vmalloc() instead.
Also add some sanity check for the NULL pointer.
Add missed line for ENGR00161643-3 UTP : bugfix
Signed-off-by: Huang Shijie <b32955@freescale.com>
Peter Chen [Tue, 22 Mar 2011 09:27:17 +0000 (17:27 +0800)]
MLK-11483-3 mfg: fix the bug that ubiformat utility breaks utp protocol
ubiformat includes command, data, command periods,
it breaks utp protocol for PUT commands. So we add two operations to fix it.
One is sending busy to host before the data periods begins.
The second is adding a new command to waiting ubiformat's command period.
Signed-off-by: Li Xingyu <b02754@freescale.com>
Signed-off-by: Peter Chen <peter.chen@freescale.com>
Tony LIU [Fri, 20 Jul 2012 02:11:06 +0000 (10:11 +0800)]
MLK-11483-2 mfgtool firmware will crash during mfgtool running
- the root cause of this issue is there is no protection for
the resource which will be accessed by multiple thread
Signed-off-by: Tony LIU <junjie.liu@freescale.com>
Frank Li [Wed, 28 Aug 2013 21:02:06 +0000 (16:02 -0500)]
MLK-11483-1 make the kernel image for mfgtool
uboot needs pass down below parameters
removable = 1
stall = 0
idVendor = 0x066F
idProduct = 0x37FF
iSerialNumber = ""
sleep_thread add new parameter
Signed-off-by: Lu Lin <b37454@freescale.com>
Signed-off-by: Frank Li<frank.li@freescale.com>
Fugang Duan [Tue, 1 Sep 2015 08:49:39 +0000 (16:49 +0800)]
MLK-11477 ARM: dts: imx6ul-14x14-evk.dts: move fxls8471 interrupt pin to iomux hoggrp
Commit
cb75ac1d83e interduces one issue that add fxls8471 interrupt pin into
other module pin function. The patch move the pin to iomux hoggrp pin group.
Signed-off-by: Fugang Duan <B38611@freescale.com>
Luwei Zhou [Fri, 16 Jan 2015 04:37:41 +0000 (12:37 +0800)]
MLK-10105 ARM: dtsi: Add MLB50 support for the i.MX6SX
Add MLB50 support on the i.MX6SX-ARD platform.
Signed-off-by: Luwei Zhou <b45643@freescale.com>
Fugang Duan [Tue, 1 Sep 2015 05:38:58 +0000 (13:38 +0800)]
MLK-11475 ARM: dts: i.mx6sx: Add ADC device tree support on i.MX6SX-SDB
Add ADC dts support on i.MX6SX-SDB platform.
Signed-off-by: Luwei Zhou <b45643@freescale.com>
Signed-off-by: Fugang Duan <B38611@freescale.com>
Luwei Zhou [Thu, 18 Sep 2014 05:15:43 +0000 (13:15 +0800)]
MLK-11474 ARM: dts: i.mx6sl-evk: Add mma8450 sensor dts support on i.MX6SL-EVK platform.
Support MMA8450 sensor on i.MX6SL-EVK
Signed-off-by: Luwei Zhou <b45643@freescale.com>
Fugang Duan [Tue, 1 Sep 2015 05:31:31 +0000 (13:31 +0800)]
MLK-11471-03 imx_v7_defconfig: enable isl29023 by default
Enable isl29023 driver in default config.
Signed-off-by: Luwei Zhou <b45643@freescale.com>
Signed-off-by: Fugang Duan <B38611@freescale.com>
Fugang Duan [Tue, 1 Sep 2015 05:29:18 +0000 (13:29 +0800)]
MLK-11471-02 ARM: dts: i.mx6q/dl/sx: Add isl29023 device tree support.
Add isl29023 sensor device tree support on i.MX6Q/DL/SX platform.
Signed-off-by: Luwei Zhou <b45643@freescale.com>
Signed-off-by: Fugang Duan <B38611@freescale.com>
Luwei Zhou [Wed, 17 Sep 2014 02:50:08 +0000 (10:50 +0800)]
MLK-11471-01 input: misc: isl29023: Add isl29023 driver support on i.MX6Q/DL/SX platform.
Add isl29023 driver support for i.MX6Q/DL/SX platform. The code derives from 3.10.y branch.
Signed-off-by: Luwei Zhou <b45643@freescale.com>
Signed-off-by: Fugang Duan <B38611@freescale.com>
(cherry picked from commit:
b0134420bba0022151499f1bb15e0d5daba970fa)
Luwei Zhou [Thu, 6 Mar 2014 07:47:47 +0000 (15:47 +0800)]
MLK-11476 iio: adc: Enable i.MX6SX adc driver.
Enable i.MX6SX adc driver. ADC driver will try getting ADC controller
channel number via device tree, because i.MX chip enable 4 channels
on each controller.
Signed-off-by: Luwei Zhou <b45643@freescale.com>
Signed-off-by: Fugang Duan <B38611@freescale.com>
(cherry picked from commit
14a6a98f64e26702b1c0ecfc7d58a45ee5752d54)
Fugang Duan [Tue, 1 Sep 2015 05:02:49 +0000 (13:02 +0800)]
MLK-11470 ARM: dts: i.mx6q/dl/sx: Add mag3110 device tree support.
Add mag3110 sensor device tree support on i.MX6Q/DL/SX platform.
Signed-off-by: Luwei Zhou <b45643@freescale.com>
Signed-off-by: Fugang Duan <B38611@freescale.com>
Fugang Duan [Tue, 1 Sep 2015 03:31:14 +0000 (11:31 +0800)]
MLK-11469-02 ARM: dts: i.mx6q/dl/sx: Add mma8451 device tree support.
Add mma8451 sensor device tree support on i.MX6Q/DL/SX platform.
Signed-off-by: Luwei Zhou <b45643@freescale.com>
Signed-off-by: Fugang Duan <B38611@freescale.com>
luweizhou [Mon, 15 Sep 2014 08:20:10 +0000 (16:20 +0800)]
MLK-11469-01 hwmon: mma8451: Add mma8451 driver support on i.MX6Q/DL/SX platform.
Add mma8451 driver support for i.MX6Q/DL/SX platform. The code derives from 3.10.y branch.
Signed-off-by: Luwei Zhou <b45643@freescale.com>
Signed-off-by: Fugang Duan <B38611@freescale.com>
(cherry picked from commit:
69e1811b92ed7b3dc2f1db0a9447a8570dd16231)
Fugang Duan [Tue, 1 Sep 2015 03:11:27 +0000 (11:11 +0800)]
MLK-11468 input: mma8450: evbug module will keep print message.
evbug will open the mma8450 on i.MX6SL_EVK and mma8450 will work in 2G mode by default.
That is the reason why mma8450 logs will be printed out. The main changes is below:
* Remove the open(), close() hook out of the drivers. The open() and close()
hook in input framwork is defined as void type. It isn't strictly safe in
logic when some error happends. So remove them out.
* Modify the mma8450 to standby mode by default. It will be more power saving
and there would be no log printing out after booting up.
* Provide the sys interface to modify the mma8450 work modes. Then the higher
layer can modify the the mma8450 work mode via the interface. It would be
much safer.There would be a sclaemode interface in the folder of
/sys/devices/soc0/soc.1/
2100000.aips-bus/
21a0000.i2c/i2c-0/0-001c/scalemode
User can use cat to read the current scalemode and echo to write. The mode
is defined as: MODE_STANDBY: 0 MODE_2G:1 MODE_4G:2 MODE_8G:3
* Add mutex to protect and some error handling.
Signed-off-by: Luwei Zhou <b45643@freescale.com>
Signed-off-by: Fugang Duan <B38611@freescale.com>
(cherry picked from commit
c51a786078fd569ce95eb6dcf09c76d1b3c0f172)
Luwei Zhou [Tue, 3 Sep 2013 09:32:55 +0000 (17:32 +0800)]
MLK-11467 input: mma8450: Add chip id check in probe
Add chip ID check in probe function. The mma8450 is
on the E-INK daughter board. When the daughter board
is not pluged, there would be polling error log
continuously. Add the check to avoid this.
Signed-off-by: Luwei Zhou <b45643@freescale.com>
Signed-off-by: Fugang Duan <B38611@freescale.com>
(cherry picked from commit
e9f2c4cf673dee1527925f30a9f3fd137d9799ad)
Fugang Duan [Tue, 1 Sep 2015 02:42:17 +0000 (10:42 +0800)]
MLK-11466 ARM: imx_v7_defconfig: Compile MLB to module
Modify the compile MLB driver as a module.
Signed-off-by: Luwei Zhou <b45643@freescale.com>
Signed-off-by: Fugang Duan <B38611@freescale.com>
(cherry picked from commit:
9fc5d78ac840d585ccea7cd5f6970aee8cc6e954)
Fugang Duan [Tue, 1 Sep 2015 02:31:35 +0000 (10:31 +0800)]
MLK-11456-02 ARM: dts: imx7d-12x12-lpddr3-arm2: enable uart3 for bt in lpsr mode
Enable uart3 for bt in lpsr mode.
Signed-off-by: Fugang Duan <B38611@freescale.com>
Fugang Duan [Mon, 31 Aug 2015 03:39:15 +0000 (11:39 +0800)]
MLK-11456-01 tty: serial: imx: add pinctrl sleep mode support
For LPSR mode, UART iomux settings will be lost after resume,
so add pinctrl sleep mode support.
Signed-off-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Fugang Duan <B38611@freescale.com>
Fugang Duan [Mon, 31 Aug 2015 10:32:00 +0000 (18:32 +0800)]
MLK-10096 ARM: dts: imx6qdl: add enet ENET_REF_CLK pin set for sabreauto board
Add enet RGMII ENET_REF_CLK pin set for sabreauto board.
Signed-off-by: Fugang Duan <B38611@freescale.com>
(cherry picked from commit:
3e4c0a2aec2473f577f807786f21e7641df16d61)
Fugang Duan [Wed, 14 Jan 2015 07:10:56 +0000 (15:10 +0800)]
MLK-10094 ARM: dts: imx6sx: correct the uart compatible string
Correct the uart compatible string.
Signed-off-by: Fugang Duan <B38611@freescale.com>
(cherry picked from commit:
1fc2d4c41ffbd00ba3d10038a321983879741df3)
Fugang Duan [Mon, 31 Aug 2015 10:24:55 +0000 (18:24 +0800)]
MLK-10072 ARM: dts: imx6sx: add uart2/5 support for imx6sx-sabreauto board
Add uart2 and uart5 support for imx6sx-sabreauto board.
Signed-off-by: Fugang Duan <B38611@freescale.com>
Fugang Duan [Mon, 31 Aug 2015 10:01:54 +0000 (18:01 +0800)]
MLK-11462 ARM: dts: imx6sx: add fec support for i.MX6SX arm2 and auto boards
Add fec support for i.MX6SX arm2 and auto boards.
Signed-off-by: Fugang Duan <B38611@freescale.com>
Fugang Duan [Mon, 31 Aug 2015 08:22:19 +0000 (16:22 +0800)]
MLK-11460 ARM: dts: imx6sx: enet RGMII TXCLK output drive strength is weak
The current enet RGMII TXCLK rise/fall time which could be observed(~0.85ns)
is longer than requirement (<=0.75ns).
The current setting, SPEED/DSE/SRE=10/110/1 is used, and then it needs to
increase DSE to 111 "37 Ohm @ 3.3V, 21 Ohm@1.8V, 34 Ohm for DDR". After the
change RGMII TXCLK match the spec requirement.
Signed-off-by: Fugang Duan <B38611@freescale.com>
Fugang Duan [Mon, 31 Aug 2015 08:10:48 +0000 (16:10 +0800)]
MLK-11459 ARM: imx: add uart clk parent from OSC support
when kernel command line has "uart_from_osc" defined, set uart1
parent clock to OSC for low power case.
Signed-off-by: Fugang Duan <B38611@freescale.com>