]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
9 years agonet: fec: improve access to quirk flags by copying them into fec_enet_private struct
Lothar Waßmann [Mon, 17 Nov 2014 09:51:21 +0000 (10:51 +0100)]
net: fec: improve access to quirk flags by copying them into fec_enet_private struct

Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
9 years agonet: fec: change type of 'bufdesc_ex' to bool
Fugang Duan [Mon, 8 Dec 2014 08:45:24 +0000 (16:45 +0800)]
net: fec: change type of 'bufdesc_ex' to bool

fep->bufdesc_ex is treated as a boolean value, thus declare it as
such.

Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
9 years agonet: fec: fix regression on i.MX28 introduced by rx_copybreak support
Lothar Waßmann [Fri, 7 Nov 2014 09:02:47 +0000 (10:02 +0100)]
net: fec: fix regression on i.MX28 introduced by rx_copybreak support

commit 1b7bde6d659d ("net: fec: implement rx_copybreak to improve rx performance")
introduced a regression for i.MX28. The swap_buffer() function doing
the endian conversion of the received data on i.MX28 may access memory
beyond the actual packet size in the DMA buffer. fec_enet_copybreak()
does not copy those bytes, so that the last bytes of a packet may be
filled with invalid data after swapping.
This will likely lead to checksum errors on received packets.
E.g. when trying to mount an NFS rootfs:
UDP: bad checksum. From 192.168.1.225:111 to 192.168.100.73:44662 ulen 36

Do the byte swapping and copying to the new skb in one go if
necessary.

Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Tested-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
9 years agoMLK-9828 ARM: imx: change uart clk parent to pll3_80m on i.mx6sx in default
Fugang Duan [Mon, 8 Dec 2014 08:27:54 +0000 (16:27 +0800)]
MLK-9828 ARM: imx: change uart clk parent to pll3_80m on i.mx6sx in default

By default, uboot set uart clk parent to OSC to make UART work when M4
is enabled. In the situation, uart maximum baud rate only reach at 1.5Mbps
that cannot match real case requirement.

The patch set the uart module clock source to pll3_80m in default. If
test low power case, it needs to add "uart_from_osc" in kernel command line.

Signed-off-by: Fugang Duan <B38611@freescale.com>
9 years agoMLK-9893 tty: serial: imx: sync the completed and cur index
Fugang Duan [Thu, 20 Nov 2014 09:50:41 +0000 (17:50 +0800)]
MLK-9893 tty: serial: imx: sync the completed and cur index

The current logic has one potential issue cause data buffer lost in
busy system. When sdma copy data buffer count is zero, completed index
also increase, which cause data buffer lost. The patch fix the issue.

(cherry-picked from commit: f7b01c9263ea73b9150e8a7fa48812c1d47d0493)

Signed-off-by: Fugang Duan <B38611@freescale.com>
9 years agoENGR00329198-01 ARM: imx6sx: pm: support no_console_suspend with Mega/Fast mix
Fugang Duan [Wed, 3 Sep 2014 04:23:33 +0000 (12:23 +0800)]
ENGR00329198-01 ARM: imx6sx: pm: support no_console_suspend with Mega/Fast mix

For imx6sx, with M/F mix off in DSM, during the window of SOC
resume and UART driver resume, the UART1 hardware is NOT working.

So, add uart1 registers save/restore during suspend/resume When
no_console_suspend is enabled.

Signed-off-by: Fugang Duan <B38611@freescale.com>
9 years agoENGR00327584-2 ARM: imx: add ocram save/restore for i.mx6sx
Anson Huang [Tue, 19 Aug 2014 03:11:53 +0000 (11:11 +0800)]
ENGR00327584-2 ARM: imx: add ocram save/restore for i.mx6sx

On i.MX6SX, when mega/fast mix power is off during DSM,
OCRAM data will be lost, so we need to do save/resotre
during DSM enter/exit.

Signed-off-by: Anson Huang <b20788@freescale.com>
9 years agoENGR00327584-1 : ARM: dts: imx6sx: add new ocram node for mega/fast save/restore
Anson Huang [Tue, 19 Aug 2014 03:02:48 +0000 (11:02 +0800)]
ENGR00327584-1 : ARM: dts: imx6sx: add new ocram node for mega/fast save/restore

As when Mega/Fast mix power domain is off in DSM mode, ocram
need to do save/restore for entire space, some of the ocram
space is reserved by low power modules, so to make ocram save/restore
simple, we define a node including total ocram space for DSM
save/restore when mega/fast mix is off.

Signed-off-by: Anson Huang <b20788@freescale.com>
9 years agoMLK-9825 arm: imx: add mega/fast mix power off feature in DSM
Anson Huang [Mon, 10 Nov 2014 08:13:36 +0000 (16:13 +0800)]
MLK-9825 arm: imx: add mega/fast mix power off feature in DSM

This patch adds mega fast domain power off feature in DSM,
it can save about 0.72mW power;

If there is any module in Mega/Fast domain enabled as wakeup source,
then Mega/Fast domain's power will be kept on in DSM.

Signed-off-by: Anson Huang <b20788@freescale.com>
9 years agoMGS-324 [#1472] dump GPU AQAXIStatus register for AXI BUS ERROR
Xianzhong [Tue, 25 Nov 2014 17:34:42 +0000 (01:34 +0800)]
MGS-324 [#1472] dump GPU AQAXIStatus register for AXI BUS ERROR

AQAXiStatus register info is helpful to debug AXI BUS ERROR,
need dump this GPU register when AXI BUS ERROR happen.

Date: Dec 03, 2014
Signed-off-by: Xianzhong <b07117@freescale.com>
Acked-by: Jason Liu
9 years agoMLK-9958 ARM: dts: imx6sx-19x19-arm2: add new DTS file to enable LCDIF1
Robby Cai [Wed, 3 Dec 2014 03:24:32 +0000 (11:24 +0800)]
MLK-9958 ARM: dts: imx6sx-19x19-arm2: add new DTS file to enable LCDIF1

Due to the CSI and LCDIF1 shares the same pin MX6SX_PAD_LCD1_ENABLE,
we need to disable CSI.

Signed-off-by: Robby Cai <r63905@freescale.com>
9 years agoMLK-9723-7: ARM: imx_v7_defconfig: build in mqs
Shengjiu Wang [Tue, 21 Oct 2014 07:15:16 +0000 (15:15 +0800)]
MLK-9723-7: ARM: imx_v7_defconfig: build in mqs

enable mqs sound card.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit 21cf6e439bdf9a0cf287b1dd04ceb56d0486167d)

9 years agoMLK-9723-6: ARM: dts: add imx6sx-19x19-arm2-mqs.dts for mqs
Shengjiu Wang [Tue, 21 Oct 2014 10:59:14 +0000 (18:59 +0800)]
MLK-9723-6: ARM: dts: add imx6sx-19x19-arm2-mqs.dts for mqs

Initialize dts file for mqs.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit d390f670990a0880cdd0db4271a724a96755b0ea)

9 years agoMLK-9723-5: ASoC: imx-mqs: add mqs machine driver
Shengjiu Wang [Tue, 21 Oct 2014 06:28:14 +0000 (14:28 +0800)]
MLK-9723-5: ASoC: imx-mqs: add mqs machine driver

Implement machine driver for mqs, which use the sai as cpu dai.
sai work on master mode.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit cac9eb41debc6444d753dc936cdf76874260b9e4)

9 years agoMLK-9723-4: ASoC: fsl_mqs: add mqs codec driver
Shengjiu Wang [Mon, 29 Sep 2014 02:56:03 +0000 (10:56 +0800)]
MLK-9723-4: ASoC: fsl_mqs: add mqs codec driver

Implement codec driver for mqs. mqs is a very simple IP. which support:

Word length: 16bit.
DAI format: Left-Justified, slave mode.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit 9da6bdd2072b850e9bb910512123eff7d80a0e2f)

9 years agoMLK-9723-3: include: imx6q-iomuxc-gpr: add bit description for MQS
Shengjiu Wang [Mon, 29 Sep 2014 02:56:56 +0000 (10:56 +0800)]
MLK-9723-3: include: imx6q-iomuxc-gpr: add bit description for MQS

Add MQS's bit description in gpr header file.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit 1e576de4b46a0fadd1c8df7f08229ac759e765f5)

9 years agoMLK-9723-2: ASoC: fsl_sai: fix no frame clk in master mode
Shengjiu Wang [Thu, 23 Oct 2014 10:00:39 +0000 (18:00 +0800)]
MLK-9723-2: ASoC: fsl_sai: fix no frame clk in master mode

After several open/close sai test with ctrl+c,  there will be I/O error.
The SAI can't work anymore, can't recover. There will be no frame clock.
With adding the software reset in trigger stop, the issue can be fixed.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit 5e74f9510104df33b7c85f266f6e017428277047)

9 years agoMLK-9723-1: ASoC: fsl_sai: add mclk divider function for master mode
Shengjiu Wang [Thu, 23 Oct 2014 09:17:30 +0000 (17:17 +0800)]
MLK-9723-1: ASoC: fsl_sai: add mclk divider function for master mode

SAI has 4 mclk source, and the divider is 8bit. fsl_sai_set_bclk will
select proper mclk source and calculate the divider.
After fsl_sai_set_bclk, enable the selected mclk in hw_params(), and
add hw_free() to disable the mclk.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit 6dc915199870f692c41f6694557e281d61bc9207)

9 years agoASoC: fsl_sai: Set SYNC bit of TCR2 to Asynchronous Mode
Nicolin Chen [Mon, 4 Aug 2014 07:07:25 +0000 (15:07 +0800)]
ASoC: fsl_sai: Set SYNC bit of TCR2 to Asynchronous Mode

There is one design rule according to SAI's reference manual:
If the transmitter bit clock and frame sync are to be used by both transmitter
and receiver, the transmitter must be configured for asynchronous operation
and the receiver for synchronous operation.

And SYNC of TCR2 is a 2-width control bit:
00 Asynchronous mode.
01 Synchronous with receiver.
10 Synchronous with another SAI transmitter.
11 Synchronous with another SAI receiver.

So the driver should have set SYNC bit of TCR2 to 0x0, and meanwhile set SYNC
bit of RCR2 to 0x1 (Synchronous with transmitter).

Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 855675f6e6a65688a7f4cf45b9b5a98cf6c6f5c3)

9 years agoASoC: fsl_sai: Make Synchronous and Asynchronous modes exclusive
Nicolin Chen [Fri, 8 Aug 2014 10:41:19 +0000 (18:41 +0800)]
ASoC: fsl_sai: Make Synchronous and Asynchronous modes exclusive

The previous patch (ASoC: fsl_sai: Add asynchronous mode support) added
new Device Tree bindings for Asynchronous and Synchronous modes support.
However, these two shall not be present at the same time.

So this patch just simply makes them exclusive so as to avoid incorrect
Device Tree binding usage.

Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit ce7344a4ebabe90e064d3e087727f45624cdc942)

9 years agoASoC: fsl_sai: Add asynchronous mode support
Nicolin Chen [Tue, 5 Aug 2014 07:32:05 +0000 (15:32 +0800)]
ASoC: fsl_sai: Add asynchronous mode support

SAI supports these operation modes:
1) asynchronous mode
   Both Tx and Rx are set to be asynchronous.
2) synchronous mode (Rx sync with Tx)
   Tx is set to be asynchronous, Rx is set to be synchronous.
3) synchronous mode (Tx sync with Rx)
   Rx is set to be asynchronous, Tx is set to be synchronous.
4) synchronous mode (Tx/Rx sync with another SAI's Tx)
5) synchronous mode (Tx/Rx sync with another SAI's Rx)

* 4) and 5) are beyond this patch because they are related with another SAI.

As the initial version of this SAI driver, it supported 2) as default while
the others were totally missing.

So this patch just adds supports for 1) and 3).

Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 08fdf65e37d560581233e06a659f73deeb3766f9)

9 years agoASoC: fsl_sai: Set SYNC bit of TCR2 to Asynchronous Mode
Nicolin Chen [Mon, 4 Aug 2014 07:07:25 +0000 (15:07 +0800)]
ASoC: fsl_sai: Set SYNC bit of TCR2 to Asynchronous Mode

There is one design rule according to SAI's reference manual:
If the transmitter bit clock and frame sync are to be used by both transmitter
and receiver, the transmitter must be configured for asynchronous operation
and the receiver for synchronous operation.

And SYNC of TCR2 is a 2-width control bit:
00 Asynchronous mode.
01 Synchronous with receiver.
10 Synchronous with another SAI transmitter.
11 Synchronous with another SAI receiver.

So the driver should have set SYNC bit of TCR2 to 0x0, and meanwhile set SYNC
bit of RCR2 to 0x1 (Synchronous with transmitter).

Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit af96ff5b7448dc776dc24a5c4313c6ec1ee94e53)

9 years agoASoC: fsl_sai: Initialize with software reset
Nicolin Chen [Tue, 5 Aug 2014 09:20:21 +0000 (17:20 +0800)]
ASoC: fsl_sai: Initialize with software reset

This patch adds software reset code in dai_probe() so as to make a true init
by clearing SAI's internal logic, including the bit clock generation, status
flags, and FIFO pointers.

Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 376d1a92ca587d3974d4791cdb99baa8b8e7f0dd)

9 years agoMLK-9962-2: ARM: dts: imx6sx-sabreauto: change asrc_p2p to asrc
Shengjiu Wang [Fri, 5 Dec 2014 05:56:54 +0000 (13:56 +0800)]
MLK-9962-2: ARM: dts: imx6sx-sabreauto: change asrc_p2p to asrc

In 3.14, the asrc_p2p and asrc node has been merged together. So
the asrc_p2p need to be changed to asrc.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoMLK-9962-1: ARM: dts: imx6sx-sabreauto: add clock route for ESAI master mode
Shengjiu Wang [Fri, 5 Dec 2014 02:44:59 +0000 (10:44 +0800)]
MLK-9962-1: ARM: dts: imx6sx-sabreauto: add clock route for ESAI master mode

In 3f81aadd7e12ee7d83b271354b76316d31a04ffc, we set the ESAI clock route
in mach-imx6sx.c. In L3.14, as there is assigned-clks feature in devicetree,
we can set the clock route in dts file.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoMLK-9684-8: ARM: dts: imxqdl-sabreauto: refine fm device tree
Shengjiu Wang [Mon, 13 Oct 2014 07:48:07 +0000 (15:48 +0800)]
MLK-9684-8: ARM: dts: imxqdl-sabreauto: refine fm device tree

As the radio machine drive use the codec_of_node, so add si476x-codec
node for this usage.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit 89a4342b5d6ee21173566fab6ae017c660a23620)

9 years agoMLK-9684-6: ARM: clk-imx6sx: add missing lvds2 clock to the clock tree
Shengjiu Wang [Mon, 13 Oct 2014 03:47:32 +0000 (11:47 +0800)]
MLK-9684-6: ARM: clk-imx6sx: add missing lvds2 clock to the clock tree

We actually have lvds2 (analog clock2), an I/O clock like lvds1, in the SoC.
And this lvds2, along with lvds1, can be used to provide external clock source
to the internal pll, such as pll4_audio and pll5_video.

So This patch mainly adds the lvds2 to the clock tree and fix its relationship
with pll4 accordingly.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit f9cfc11cf8628bd01efda611074131bfa323a120)

9 years agoMLK-9684-3: ASoC: imx-si476x: SRCK and SRFS is used for fm in imx6sx
Shengjiu Wang [Mon, 13 Oct 2014 03:27:12 +0000 (11:27 +0800)]
MLK-9684-3: ASoC: imx-si476x: SRCK and SRFS is used for fm in imx6sx

Configure the aumux port to output SRCK and SRFS from STCK and STFS
of internal port when use the SYN mode.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit f4428f5617916863b5410afea5614cc52190f1a8)

9 years agoMLK-9684-2: ASoC: imx-si476x: remove the codec_name, use the codec_of_node
Shengjiu Wang [Mon, 13 Oct 2014 03:26:02 +0000 (11:26 +0800)]
MLK-9684-2: ASoC: imx-si476x: remove the codec_name, use the codec_of_node

As the codec_name has a suffix, which is a index and is different
for different platform or different kernel. So here change machine driver
to use codec_of_node, which can be same for different platform/kernel,
then we can maintain a same machine driver for fm.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit e87b135f34cba5cfcd0614b045d4035118fb6d77)

9 years agoMLK-9684-1: mfd: si476x-i2c: add of_compatible for si476x-codec
Shengjiu Wang [Mon, 13 Oct 2014 03:10:27 +0000 (11:10 +0800)]
MLK-9684-1: mfd: si476x-i2c: add of_compatible for si476x-codec

Add of_compatible for si476x-codec, then si476x-codec driver will have
codec_of_node, So machine driver can use the codec_of_node.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit e2ec44f91a21b127e155e8317d06e8ead7fd2678)

9 years agoMLK-9731 ASoC: imx-hdmi-dma: audio output is noisy in long time playback
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)

9 years agoMLK-9866: mfd: si476x: FM will fail to open sometimes.
Shengjiu Wang [Tue, 18 Nov 2014 06:20:55 +0000 (14:20 +0800)]
MLK-9866: mfd: si476x: FM will fail to open sometimes.

In commit e856a0ebc23dcd2c933e3f902317652cc50f0067, we disabled
wait_event_timeout for CMD_POWER_DOWN, which will cause power down
failed sometimes, then FM will fail to reopen.
In this patch enable the wait_event_timeout for power down.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit 30aa7f1a3580d0a5bc866c624d1da441fd5502c1)

9 years agoMLK-9782: ASoC: fsl_esai: fix the channel swap issue in low possibility
Shengjiu Wang [Mon, 3 Nov 2014 08:47:17 +0000 (16:47 +0800)]
MLK-9782: ASoC: fsl_esai: fix the channel swap issue in low possibility

There is very low possibility that channel swap happened in beginning when
multi output/input pin is enabled. The issue is that hardware can't send data
to correct pin in the begginning with the normal enable flow.
Here use TSMA/TSMB as the trigger for sending data to workaround this issue.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit 859b0fc4544bef30e269b4f6a81999db1d07a42d)

9 years agoMLK-9760: ASoC: fsl_esai: fix NULL pointer issue in reset handler
Shengjiu Wang [Wed, 29 Oct 2014 07:47:35 +0000 (15:47 +0800)]
MLK-9760: ASoC: fsl_esai: fix NULL pointer issue in reset handler

When test with case arecord -Dhw:0,1 | aplay -Dhw:0,0, xrun happened,
the reset handler will be called, but for BE(backend) stream, the
substream->ops is null.
This patch is to fix this null pointer issue.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit 4db112a8cd3caf5a553afea88cf7fe8d9781f459)

9 years agoMLK-9954 arm: imx: update operating point for i.MX6DL
Bai Ping [Thu, 4 Dec 2014 11:44:26 +0000 (19:44 +0800)]
MLK-9954 arm: imx: update operating point for i.MX6DL

Update the i.MX6DL cpu operating points to comply with the latest
published datasheet. Latest i.MX6DL datasheet of Rev.4, 10/2014
updates the 396MHz setpoint's min voltage from 1.075V to 1.125V, Add a
25mV margin to cover the board IR drop, here use 1.15V for 396MHz to
match datasheet.

Signed-off-by: Bai Ping <b51503@freescale.com>
9 years agoMLK-9952 ARM: dts: Enable the imx6sx-17x17-arm2-mlb.dts in the device tree makefile...
Luwei Zhou [Thu, 4 Dec 2014 01:10:50 +0000 (09:10 +0800)]
MLK-9952 ARM: dts: Enable the imx6sx-17x17-arm2-mlb.dts in the device tree makefile list.

Enable the imx6sx-17x17-arm2-mlb.dts in the device tree makefile list

Signed-off-by: Luwei Zhou <b45643@freescale.com>
9 years agoMLK-9946 ARM: dts: Add new dts for MLB support for i.MX6SX-17x17-arm2 platform.
Luwei Zhou [Wed, 3 Dec 2014 08:21:40 +0000 (16:21 +0800)]
MLK-9946 ARM: dts: Add new dts for MLB support for i.MX6SX-17x17-arm2 platform.

Add new device tree  for MLB support for i.MX6SX-17x17-arm2 platform.

Signed-off-by: Luwei Zhou <b45643@freescale.com>
9 years agoMLK-9943 ARM: dts: add new dts for nand support for 19x19 arm2
Allen Xu [Tue, 2 Dec 2014 19:23:39 +0000 (03:23 +0800)]
MLK-9943 ARM: dts: add new dts for nand support for 19x19 arm2

Add new dts file to support NAND for imx6sx 19x19 arm2 board.

Signed-off-by: Allen Xu <b45815@freescale.com>
9 years agoMGS-304 [#1461]GPU driver will cause kernel panic when allocate memory failed
Loren Huang [Wed, 26 Nov 2014 03:59:38 +0000 (11:59 +0800)]
MGS-304 [#1461]GPU driver will cause kernel panic when allocate memory failed

-The issue is triggered by suspend/resume test
when doing bonnie++ which will consume lots of
memory.

-The root cause is vivante didn't report the allocation
failure to uplevel correctly which cause the improper
free.

-Correct the free logic to fix this issue.

Date: Nov 26, 2014
Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Jason Liu
Tested-by: Peter Chen
(cherry picked from commit 2378f1c0b48f1c632a96c1e6c1107e2773f34170)

9 years agoMGS-298 gpu:Add new option to enable shadow memory free
Loren Huang [Tue, 25 Nov 2014 08:19:49 +0000 (16:19 +0800)]
MGS-298 gpu:Add new option to enable shadow memory free

It's a specific requirement form customer.
Environmant variable VIV_FBO_PERFER_MEM is added.
When it's set, driver will free fbo shadow memory immediately
when it's switch out.
Original vivante patch name:cl29153.diff

Date: Nov 25, 2014
Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Jason Liu
(cherry picked from commit c9d486e75fc7059050604188334ea846a25b9d13)

9 years agoMLK-9741-01: ARM: IMX6SL-EVK: EPDC: add two ioctls to disable/enable EPDC hardware...
Fancy Fang [Fri, 7 Nov 2014 08:44:46 +0000 (16:44 +0800)]
MLK-9741-01: ARM: IMX6SL-EVK: EPDC: add two ioctls to disable/enable EPDC hardware access

The two ioctls can be used to disable/enable EPDC hardware
access which are required by epdc user apps to do some
sync jobs.

Signed-off-by: Fancy Fang <chen.fang@freescale.com>
9 years agoMLK-9887 arm: dts: imx6sx: add sabreauto board support
Anson Huang [Fri, 21 Nov 2014 05:19:35 +0000 (13:19 +0800)]
MLK-9887 arm: dts: imx6sx: add sabreauto board support

Add i.MX6SX SABREAUTO board support.

Signed-off-by: Anson Huang <b20788@freescale.com>
9 years agoMLK-9779-05 csi: Remove csi driver source from mxc/capture folder
Sandor Yu [Thu, 20 Nov 2014 08:36:25 +0000 (16:36 +0800)]
MLK-9779-05 csi: Remove csi driver source from mxc/capture folder

- Remove v4l2 csi capture driver, vadc driver and csi driver
from mxc/capture folder.
- Rename ov5640 module name from ov5640_camera.ko to
  ov5640_camera_int.ko

Signed-off-by: Sandor Yu <R01008@freescale.com>
9 years agoMLK-9779-04 dts: imx6sl: Add ov5640 camera to evk dts
Sandor Yu [Thu, 20 Nov 2014 08:28:07 +0000 (16:28 +0800)]
MLK-9779-04 dts: imx6sl: Add ov5640 camera to evk dts

- Add imx6sx-19x19-arm2-csi.dtb file
- Remove int-device v4l2 capture setting
- Add ov5640 camera endport setting
- Enable csi item.

Signed-off-by: Sandor Yu <R01008@freescale.com>
9 years ago MLK-9779-03 camera: Rearchitecture ov5640 driver with subdev
Sandor Yu [Thu, 20 Nov 2014 08:18:58 +0000 (16:18 +0800)]
 MLK-9779-03 camera: Rearchitecture ov5640 driver with subdev

Pass test on imx6sl and imx6sx platfrom.

Signed-off-by: Sandor Yu <R01008@freescale.com>
9 years agoMLK-9779-02 dts: Add csi and vadc in dts
Sandor Yu [Mon, 10 Nov 2014 07:45:08 +0000 (15:45 +0800)]
MLK-9779-02 dts: Add csi and vadc in dts

- Remove csi v4l2 int-device dts settting.
- Binding subdev client device and host device in dts.
vadc to csi1, ov5640 to csi0.

Signed-off-by: Sandor Yu <R01008@freescale.com>
9 years agoMLK-9779-01 camera: imx6sx/sl CSI/VADC driver in subdev
Sandor Yu [Mon, 10 Nov 2014 07:36:49 +0000 (15:36 +0800)]
MLK-9779-01 camera: imx6sx/sl CSI/VADC driver in subdev

CSI and VADC driver rewrite with v4l2 subdev architecture.
- mx6s_capture.c driver support imx6sx and imx6sl csi module.
- No PXP function included in csi driver, csi driver not support
csc, crop and resize function.
- Both csi and vadc driver register device tree.
- v4l2 subdev bridge device drivers register device with asynchronous.

Signed-off-by: Sandor Yu <R01008@freescale.com>
9 years agoMLK-9876 cpufreq: imx6: update operating point for imx6Q
Bai Ping [Wed, 19 Nov 2014 16:35:38 +0000 (00:35 +0800)]
MLK-9876 cpufreq: imx6: update operating point for imx6Q

Update the imx6Q cpu operating points to comply with the latest
published datasheet. Latest i.MX6Q datasheet of Rev.3, 02/2014
updates the 792MHz setpoint's min voltage from 1.125V to 1.15V, add a
25mV margin to cover the board IR drop, here use 1.175V for 792MHz to
match datasheet.

Signed-off-by: Bai Ping <b51503@freescale.com>
9 years agoMLK-9877: ARM: dts: imx6sx: add gpu clock for gpc driver
Robin Gong [Mon, 17 Nov 2014 08:40:06 +0000 (16:40 +0800)]
MLK-9877: ARM: dts: imx6sx: add gpu clock for gpc driver

Add gpu clock for pu-enable, otherwise, GPU may crash in some test cases.

Signed-off-by: Robin Gong <b38343@freescale.com>
9 years agoMLK-9869: ARM: imx_v7_defconfig: add BT config
Shenwei Wang [Tue, 18 Nov 2014 16:03:53 +0000 (10:03 -0600)]
MLK-9869: ARM: imx_v7_defconfig: add BT config

added BT config to imx_v7_defconfig to enable the BT interface in Linux
kernel by default.

Signed-off-by: Shenwei Wang <shenwei.wang@freescale.com>
9 years agoMLK-9817 spi: imx: convert all clk_enable to clk_prepare_enable
Bai Ping [Sat, 8 Nov 2014 13:35:26 +0000 (21:35 +0800)]
MLK-9817 spi: imx: convert all clk_enable to clk_prepare_enable

This is done in preperation for low power mode. Convert all clk_enable
to clk_prepare_enable and clk_disable to clk_disable_unprepare. Make sure
PLL3 power down when entering low power mode.

Signed-off-by: Bai Ping <b51503@freescale.com>
9 years agoMLK-4791 EPDC/MAX17135: Fix PMIC regulator voltage access error
Evan Kotara [Thu, 6 Nov 2014 21:46:12 +0000 (15:46 -0600)]
MLK-4791 EPDC/MAX17135: Fix PMIC regulator voltage access error

Incorrect register value range definition causes access error.

Signed-off-by: Evan Kotara <evan.kotara@freescale.com>
9 years agoMLK-9818 arm: imx: Add uart to be source from OSC 24MHz support
Bai Ping [Mon, 10 Nov 2014 14:59:34 +0000 (22:59 +0800)]
MLK-9818 arm: imx: Add uart to be source from OSC 24MHz support

In order to optmize low power IDLE power number all PLLs should be in bypass mode.
On imx6sl, UART can be sourced directly from the 24MHz XTAL. Its frequency is
limited to 4MHz due to an internal divider of 6. For customer who don't require
higher uart speed, add "uart_at_4M" to the kernel command line.

This patch is copied from commit fc096695b46563b7bf05df4e84e8c17241506651
on L3.10.y branch because of so many conflicts to resolve.

Signed-off-by: Bai Ping <b51503@freescale.com>
Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
9 years agoMGS-271 gpu:gpu idle information can't be fetched
Loren Huang [Tue, 11 Nov 2014 09:27:27 +0000 (17:27 +0800)]
MGS-271 gpu:gpu idle information can't be fetched

patch 5.0.11.p4-0039-base-CL26176-Dump-whole-process-db
dropped idle sys interace.

And vivante didn't fully integrate patch
patch 5.0.11.p4-0039-base-CL26176-Dump-whole-process-db

The fix is add back the missed code and logic.

Date: Nov 10, 2014
Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Jason Liu
(cherry picked from commit dc397c3a4e150f18e68cf26350fa0aafe98d3e31)

9 years agoMLK-9823 arm: imx: correct L2 controller settings after resume
Anson Huang [Tue, 11 Nov 2014 02:13:58 +0000 (10:13 +0800)]
MLK-9823 arm: imx: correct L2 controller settings after resume

As we have specific tag and data latency settings on our platforms,
so we have to restore these settings after resume with L2 controller
power gated. Otherwise, system perpormance will be impacted a lot:

dd read test(dd if=/dev/mmcblk2 of=/dev/null bs=1M count=2000) of SD
card would lower from 61.4MB/s to 57.7MB/s, ~6% drop.

Signed-off-by: Anson Huang <b20788@freescale.com>
9 years agoENGR00321817-02 fbcon: System hang when calling fb_new_modelist()
Sandor Yu [Thu, 17 Jul 2014 12:41:14 +0000 (20:41 +0800)]
ENGR00321817-02 fbcon: System hang when calling fb_new_modelist()

System will hang if calling fb_new_modelist() function from mxc_hdmi
driver.

In the function of fbcon_new_modelist(), pointer variable vc is missing
null pointer check, add null pointer check vc to fix the issue.

Signed-off-by: Sandor Yu <R01008@freescale.com>
(cherry picked from commit 3bea30ff471c8fc1e546be26a8625e6aa425d5aa)
(cherry picked from commit ddfd6b989071e38955855351556f518b1600944d)

9 years agoENGR00321817-01 HDMI: Dispaly blank after resume
Sandor Yu [Thu, 17 Jul 2014 12:18:32 +0000 (20:18 +0800)]
ENGR00321817-01 HDMI: Dispaly blank after resume

Issue reproduce steps:
1. Boot up without HDMI cable plugin
2. Insert the HDMI cable.
3. echo mem > /sys/power/state , enter suspend,
4. resume it,
System can resume from suspend but display is blank.
Error log:
mxc_sdc_fb fb.31: Unable to allocate framebuffer memory
detected fb_set_par error, error code: -12

In mxc hdmi driver, if system bootup without hdmi cable plugin,
driver will create a default modelist.

In fbcon driver, array fb_display[] initialized when system bootup
and save current mode pointer that point to default modelist.

When hdmi cable is plugin the modelist will rebuild according edid
data, but the pointer of video mode in fb_display[] is not updated.

When system resume, fbcon will use the invalidate pointer to
configured framebuffer, framebuffer will crash.

Add function fb_new_modelist() after modelist is rebuild to fix the
issue.

Signed-off-by: Sandor Yu <R01008@freescale.com>
(cherry picked from commit 5687cb8dc5099acdb0e3a0542f666326764d558c)
(cherry picked from commit 5451976da30e34db74069d7197748556f9eb5c69)

9 years agoENGR00295814 ARM: dts: imx6qdl: correct gpio key's active state
Anson Huang [Mon, 20 Jan 2014 11:30:09 +0000 (19:30 +0800)]
ENGR00295814 ARM: dts: imx6qdl: correct gpio key's active state

From schematic, below GPIO keys' active state is low, so we need
to set correct active state in dts.

i.MX6Q/DL-SABRESD board: power, vol+ and vol-.
i.MX6Q/DL-SABREAUTO board: home, back, prog, vol+ and vol-.

Signed-off-by: Anson Huang <b20788@freescale.com>
(cherry picked from commit f1319b3268db3e0e80d85ba9f4ae3b569b916dd4)
Signed-off-by: Robin Gong <b38343@freescale.com>
9 years agoARM: imx: add anatop settings for LPDDR2 when enter DSM mode
Anson Huang [Wed, 17 Sep 2014 03:11:46 +0000 (11:11 +0800)]
ARM: imx: add anatop settings for LPDDR2 when enter DSM mode

For LPDDR2 platform, no need to enable weak2P5 in DSM mode,
it can be pulled down to save power(~0.65mW).

And per design team's recommendation, we should disconnect
VDDHIGH and SNVS in DSM mode on i.MX6SL.

Signed-off-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
9 years agoARM: imx: replace cpu type check with ddr type check
Anson Huang [Wed, 17 Sep 2014 03:11:45 +0000 (11:11 +0800)]
ARM: imx: replace cpu type check with ddr type check

As the DDR/IO and MMDC setting are different on LPDDR2 and DDR3,
we used cpu type to decide how to do these settings in suspend
before which is NOT flexible, take i.MX6SL for example, although
it has LPDDR2 on EVK board, but users can also use DDR3 on other
boards, so it is better to read the DDR type from MMDC then decide
how to do related settings.

Signed-off-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
9 years agoMLK-9808 HDMI: EDID bug fixes / improvements
Sandor Yu [Fri, 7 Nov 2014 03:14:05 +0000 (11:14 +0800)]
MLK-9808 HDMI: EDID bug fixes / improvements

Changes in order of appearence:
- If an EDID extension block other than the known (CEA extension) is found
  don't fail monitor detection completely, just proceed to the next block.
- If 4 or more extensions are present two problems arise:
  - only 2 extensions will actually be read and
  - parsing will read beyond the buffer.
  Throw a BUG() and add a comment, don't have time for a rewrite right now.
- The EDID I2C read code has a 1 second timeout - per byte. With 128 bytes
  per block this could take over 2 minutes. And we have indeed seen a very
  long pause on Linux shutdown on rare occasions. At 100 kHz reading a byte
  takes 0.6 ms, reduce the timeout to 30 ms.
- Checking extblknum < 0 is pointless when its value was assigned from an
  unsigned char.
- Some old monitors didn't set the 'number of EDID ext. blocks' field. 0xFF
  means no extensions.
- Calling mxc_edid_parse_ext_blk() only makes sense if an ext. block was
  actually read. Otherwise it's sure to fail, and monitor detection with it.
- As the 1st extension was parsed beforehand the following for loop must
  start at 2, otherwise the 1st extension is parsed twice.
- Inside the read loop all bytes were written to tmpedid[1], It should
  tmpedid[i].
- And then when parsing the read data they have to start at tmpedid[0],
  not at tmpedid[EDID_LENGTH], which is beyond the buffer.
- Improved debugging a bit by inserting a message if reading fails and also
  removing one that may be confused with another with the same text.
- If getting the EDID data fails we will retry once. But if the failure was
  due to not being able to parse the data rather than a read error
  re-reading will yield HDMI_EDID_SAME. The code will misinterpret that as
  'no change, video modes already set up'. Instead continue with the status
  code of the initial attempt.
- Before retrying wait 0.2 s, most likely reading initially failed because
  the cable had not been fully inserted.

Signed-off-by: Sandor Yu <R01008@freescale.com>
(cherry picked from commit 1c580e028ebea180481b8539d3ee4264244a4ec6)

9 years agoENGR00323271-02 hdmi: Add mipi core clock to hdmi drivers
Sandor Yu [Wed, 23 Jul 2014 03:01:08 +0000 (11:01 +0800)]
ENGR00323271-02 hdmi: Add mipi core clock to hdmi drivers

HDMI isfr clock source from video 27M clock.

There are one clock gate control of video27m_root in CCM,
ccm_video27m_root_cg = ((lpcg_mipi_core_cfg_clk_enable_clock_root
| lpcg_mipi_core_pll_refclk_enable_clock_root) | lpcg_vpu_rclk_enable_clock_root);
The video 27M clock depend on vpu clock or mipi core clock.

In mx6 chip, vpu can been disabled by fuse,
so for vpu disabled case, mipi core clock should enabled and make sure
27M clock on.

Add mipi core clock management in hdmi drivers to support vpu disabled
case.

Signed-off-by: Sandor Yu <R01008@freescale.com>
(cherry picked from commit 32c8b60e0509300b504795ec96488242bbb11d3b)

9 years agoMLK-8906 video: mxc: mipi dsi: Set panel vm back to var in .setup()
Liu Ying [Wed, 5 Nov 2014 07:28:29 +0000 (15:28 +0800)]
MLK-8906 video: mxc: mipi dsi: Set panel vm back to var in .setup()

In order to prevent some critical framebuffer var entries(e.g.,
sync/vmode flags) from being changed, this patch sets the active
mipi dsi panel's video mode back to the framebuffer var.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit 30a40ea663a655fdcdfec195f0aaef7a21d4126f)

9 years agoMGS-210 gpu:5.0.11.p4 gpu driver kernel part integration
Loren Huang [Thu, 6 Nov 2014 08:39:44 +0000 (16:39 +0800)]
MGS-210 gpu:5.0.11.p4 gpu driver kernel part integration

Integrate 5.0.11.p4 kernel change.

Date: Nov 6, 2014
Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Shawn Guo
(cherry picked from commit 4d1f341c418d70a73cded239a2bba554e25de5ac)

9 years agoMGS-200 gpu:Correct the CMA allocator logic
Loren Huang [Mon, 13 Oct 2014 09:14:59 +0000 (17:14 +0800)]
MGS-200 gpu:Correct the CMA allocator logic

In original logic, the CMA always allocate memory, but report
allocation failure, it will cause serious memory leak.
Correct logic to fix it.

Date: Oct 13, 2014
Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Shawn Guo
(cherry picked from commit 0625c8b5b72c620269e5fd5feee93d51f4536d49)

9 years agoENGR00332861 ARM:imx6x: Fix build break caused by GPU driver.
Ranjani Vaidyanathan [Tue, 23 Sep 2014 16:35:07 +0000 (11:35 -0500)]
ENGR00332861 ARM:imx6x: Fix build break caused by GPU driver.

    The GPU driver fails to build when the kernel is not built in-place,
    KBUILD_OUTPUT is set to point to some other directory.
    This patch fixes this issue.

Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@freescale.com>
(cherry picked from commit 6ca660c57badbebfb68af697b2a3a26075a99269)

9 years agoENGR00329409 gpu:5.0.11.p3 gpu driver kernel part integration
Loren Huang [Mon, 22 Sep 2014 09:38:28 +0000 (17:38 +0800)]
ENGR00329409 gpu:5.0.11.p3 gpu driver kernel part integration

Integrate p2 and p3 kernel change together.

Date: Sep 22, 2014
Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Shawn Guo
(cherry picked from commit 0667c47bcf0717e96d1d8a95965de8c21466777e)

Conflicts:
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c

9 years agoENGR00327306 [#1325]Make 3dMinClock be changeable
Loren Huang [Fri, 15 Aug 2014 06:05:05 +0000 (14:05 +0800)]
ENGR00327306 [#1325]Make 3dMinClock be changeable

-Add sys interface for changing 3DMinClock.
This feature is blocked by vivante kernel platform change.
Sys interface /sys/bus/platform/drivers/galcore/gpu3DMinclock
 is used for configure this value.
It's important feature for thermal.

Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Shawn Guo
(cherry picked from commit 97ddca5893b8e15d93454de6ed45f8046a7076ed)

9 years agoENGR00325693 [#1318] Add eglSwapInterval support in Wayland client
Yong Gan [Wed, 13 Aug 2014 06:51:34 +0000 (14:51 +0800)]
ENGR00325693 [#1318] Add eglSwapInterval support in Wayland client

Add new API gcoOS_SetSwapIntervalEx.

Date: Aug 04, 2014
Signed-off-by Yong Gan <yong.gan@freescale.com>

(cherry picked from commit 971632a7fb6d0744ccac563bcdbf6a4decf4e0a1)

9 years agoENGR00326593 [#1297] fix virtual memory database query
Xianzhong [Mon, 11 Aug 2014 17:50:25 +0000 (01:50 +0800)]
ENGR00326593 [#1297] fix virtual memory database query

it is not complete in the original implementation to query virtual command buffer,
it is necessary to this fix to get the correct GPU virtual memory result.
also include virtual command buffer database for Vivante gcDB tool.

Date: Aug 11, 2014
Signed-off-by: Xianzhong <b07117@freescale.com>
Acked-by: Jason Liu
(cherry picked from commit 81fe8a98067132ba830be5220d554c7920b729ac)
(cherry picked from commit 4899c9881e611fdd0bedf59b5d657c521ee92e88)

9 years agoENGR00324403 [#1297] query virtual command buffer database
Xianzhong [Fri, 25 Jul 2014 18:38:16 +0000 (02:38 +0800)]
ENGR00324403 [#1297] query virtual command buffer database

virtual command buffer is enabled with virtual memory allocator.
but there is no interface to query virtual command buffer database.

with this solution, virtual command buffer can be queried with virtual memory pool.

Date: Jul 25, 2014
Signed-off-by: Xianzhong <b07117@freescale.com>
Acked-by: Jason Liu
(cherry picked from commit 67bc44bd0fd9a4d3da0191b29447d980acb7387d)
(cherry picked from commit 1db5d96fa39a4258fb6f6dc3ddca5462bd63f512)

9 years agoENGR00325794 [#1087] fix video memory mutex sharing issue
Xianzhong [Fri, 1 Aug 2014 10:44:20 +0000 (18:44 +0800)]
ENGR00325794 [#1087] fix video memory mutex sharing issue

the root cause is video memory mutex is not global variable,
it will cause video memory managment problem with mixed 2D/3D/VG.

kernel panic with multiple instances stress test running glesx_viv.sh.

Date: Jul 31, 2014
Signed-off-by: Xianzhong <b07117@freescale.com>
Acked-by: Jason Liu
(cherry picked from commit 6bdcb506755778501374bdb3f598af71c95a7676)

9 years agoMLK-9772-5 Fix kernel dump message in mxc_v4l2_probe.
Oliver Brown [Thu, 23 Oct 2014 23:11:29 +0000 (18:11 -0500)]
MLK-9772-5 Fix kernel dump message in mxc_v4l2_probe.

Fix the kernel dump in mxc_v4l2_probe()

------------[ cut here ]------------
WARNING: CPU: 0 PID: 1 at drivers/media/v4l2-core/v4l2-dev.c:780 __video_register_device+0xefc/0xf90()
Modules linked in:
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.14.17-00964-geeb68eb #26
[<80014dec>] (unwind_backtrace) from [<80011858>] (show_stack+0x10/0x14)
[<80011858>] (show_stack) from [<80672df8>] (dump_stack+0x78/0xc0)
[<80672df8>] (dump_stack) from [<8002ae6c>] (warn_slowpath_common+0x68/0x8c)
[<8002ae6c>] (warn_slowpath_common) from [<8002af2c>] (warn_slowpath_null+0x1c/0x24)
[<8002af2c>] (warn_slowpath_null) from [<8042e15c>] (__video_register_device+0xefc/0xf90)
[<8042e15c>] (__video_register_device) from [<80454eec>] (mxc_v4l2_probe+0x334/0x4a8)
[<80454eec>] (mxc_v4l2_probe) from [<80315dec>] (platform_drv_probe+0x2c/0x5c)
[<80315dec>] (platform_drv_probe) from [<8031461c>] (driver_probe_device+0x120/0x260)
[<8031461c>] (driver_probe_device) from [<8031482c>] (__driver_attach+0x8c/0x90)
[<8031482c>] (__driver_attach) from [<80312c2c>] (bus_for_each_dev+0x60/0x94)
[<80312c2c>] (bus_for_each_dev) from [<80313dd8>] (bus_add_driver+0x140/0x1ec)
[<80313dd8>] (bus_add_driver) from [<80314df8>] (driver_register+0x78/0xf8)
[<80314df8>] (driver_register) from [<80cbe304>] (camera_init+0x10/0x34)
[<80cbe304>] (camera_init) from [<800088cc>] (do_one_initcall+0xe8/0x144)
[<800088cc>] (do_one_initcall) from [<80c8fc04>] (kernel_init_freeable+0x104/0x1c8)
[<80c8fc04>] (kernel_init_freeable) from [<8066ed60>] (kernel_init+0x8/0xec)
[<8066ed60>] (kernel_init) from [<8000e5f8>] (ret_from_fork+0x14/0x3c)
---[ end trace c868dc620cb4d626 ]---
------------[ cut here ]------------

Signed-off-by: Oliver Brown <oliver.brown@freescale.com>
9 years agoMLK-9772-4 imx6qdl: add csi mux setting
Robby Cai [Mon, 3 Nov 2014 09:17:36 +0000 (17:17 +0800)]
MLK-9772-4 imx6qdl: add csi mux setting

Add CSI mux setting

Signed-off-by: Robby Cai <r63905@freescale.com>
9 years agoMLK-9772-3 ARM: dts: imx6qdl-sabresd: add mipi camera ov564x support
Robby Cai [Fri, 31 Oct 2014 03:12:39 +0000 (11:12 +0800)]
MLK-9772-3 ARM: dts: imx6qdl-sabresd: add mipi camera ov564x support

Add mipi camera ov5640 support

Signed-off-by: Robby Cai <r63905@freescale.com>
9 years agoMLK-9772-2 ARM: dts: imx6qdl-sabresd: add camera ov564x support
Robby Cai [Fri, 31 Oct 2014 02:33:16 +0000 (10:33 +0800)]
MLK-9772-2 ARM: dts: imx6qdl-sabresd: add camera ov564x support

Add ov5640 support

Signed-off-by: Robby Cai <r63905@freescale.com>
9 years agoMLK-9772-1 ARM: dts: imx6qdl-sabreauto: add tv decoder support
Robby Cai [Thu, 30 Oct 2014 09:50:20 +0000 (17:50 +0800)]
MLK-9772-1 ARM: dts: imx6qdl-sabreauto: add tv decoder support

Add TV decoder (ADV7180 on baseboard) support

Signed-off-by: Robby Cai <r63905@freescale.com>
9 years agoMLK-9798 tty: serial: imx: fix the dma overwrite and buffer index issue
Fugang Duan [Wed, 5 Nov 2014 05:13:02 +0000 (13:13 +0800)]
MLK-9798 tty: serial: imx: fix the dma overwrite and buffer index issue

This reverts commit 0f7c43a163521ea081d7743c9a55314e7deba728.
And add another change that mod the variable "last_completed_idx"
after it increasing.

Signed-off-by: Fugang Duan <B38611@freescale.com>
9 years agoMLK-9786 net: fec: Add busfreq support to the driver
Fugang Duan [Tue, 4 Nov 2014 05:23:34 +0000 (13:23 +0800)]
MLK-9786 net: fec: Add busfreq support to the driver

Add request_bus_freq() and release_bus_freq() calls to the
various drivers to ensure that the DDR and AHB are the requested
frequency before the driver starts its task.

Signed-off-by: Fugang Duan <B38611@freescale.com>
9 years agonet: fec: fix suspend broken on multiple MACs sillicons
Fugang Duan [Mon, 3 Nov 2014 04:59:16 +0000 (12:59 +0800)]
net: fec: fix suspend broken on multiple MACs sillicons

On i.MX6SX sdb platform, there has two same enet MACs, after system up,
just eth0 is up, and then do suspend/resume test:

[   50.437967] PM: Syncing filesystems ... done.
[   50.476924] Freezing user space processes ... (elapsed 0.005 seconds) done.
[   50.490093] Freezing remaining freezable tasks ... (elapsed 0.004 seconds) done.
[   50.559771] ------------[ cut here ]------------
[   50.564453] WARNING: CPU: 0 PID: 575 at drivers/clk/clk.c:851 __clk_disable+0x60/0x6c()
[   50.572475] Modules linked in:
[   50.575578] CPU: 0 PID: 575 Comm: sh Not tainted 3.18.0-rc2-next-20141031-00007-gf61135b #21
[   50.584031] Backtrace:
[   50.586550] [<80011ecc>] (dump_backtrace) from [<8001206c>] (show_stack+0x18/0x1c)
[   50.594136]  r6:808a7a54 r5:00000000 r4:00000000 r3:00000000
[   50.599920] [<80012054>] (show_stack) from [<806ab3c0>] (dump_stack+0x80/0x9c)
[   50.607187] [<806ab340>] (dump_stack) from [<8002a3e8>] (warn_slowpath_common+0x6c/0x8c)
[   50.615294]  r5:00000353 r4:00000000
[   50.618940] [<8002a37c>] (warn_slowpath_common) from [<8002a42c>] (warn_slowpath_null+0x24/0x2c)
[   50.627738]  r8:00000000 r7:be144c44 r6:be015600 r5:80070013 r4:be015600
[   50.634573] [<8002a408>] (warn_slowpath_null) from [<804f8d4c>] (__clk_disable+0x60/0x6c)
[   50.642777] [<804f8cec>] (__clk_disable) from [<804f8e5c>] (clk_disable+0x2c/0x38)
[   50.650359]  r4:be015600 r3:00000000
[   50.654006] [<804f8e30>] (clk_disable) from [<80420ab4>] (fec_enet_clk_enable+0xc4/0x258)
[   50.662196]  r5:be3cb620 r4:be3cb000
[   50.665838] [<804209f0>] (fec_enet_clk_enable) from [<80421178>] (fec_suspend+0x30/0x180)
[   50.674026]  r7:be144c44 r6:be144c10 r5:8037f5a4 r4:be3cb000
[   50.679802] [<80421148>] (fec_suspend) from [<8037f5d8>] (platform_pm_suspend+0x34/0x64)
[   50.687906]  r10:00000000 r9:00000000 r8:00000000 r7:be144c44 r6:be144c10 r5:8037f5a4
[   50.695852]  r4:be144c10 r3:80421148
[   50.699511] [<8037f5a4>] (platform_pm_suspend) from [<8038784c>] (dpm_run_callback.isra.14+0x34/0x6c)
[   50.708764] [<80387818>] (dpm_run_callback.isra.14) from [<80387f00>] (__device_suspend+0x12c/0x2a4)
[   50.717909]  r9:8098ec8c r8:80973bec r6:00000002 r5:811c7038 r4:be144c10
[   50.724746] [<80387dd4>] (__device_suspend) from [<803894fc>] (dpm_suspend+0x64/0x224)
[   50.732675]  r8:80973bec r7:be144c10 r6:8098ec24 r5:811c7038 r4:be144cc4
[   50.739509] [<80389498>] (dpm_suspend) from [<8038999c>] (dpm_suspend_start+0x60/0x68)
[   50.747438]  r10:8082fa24 r9:00000000 r8:00000004 r7:00000003 r6:00000000 r5:8116ec80
[   50.755386]  r4:00000002
[   50.757969] [<8038993c>] (dpm_suspend_start) from [<800679d8>] (suspend_devices_and_enter+0x90/0x3ec)
[   50.767202]  r4:00000003 r3:8116eca0
[   50.770843] [<80067948>] (suspend_devices_and_enter) from [<80067f40>] (pm_suspend+0x20c/0x2a4)
[   50.779553]  r8:00000004 r7:00000003 r6:00000000 r5:8116ec8c r4:00000003
[   50.786394] [<80067d34>] (pm_suspend) from [<80066858>] (state_store+0x70/0xc0)
[   50.793718]  r6:8116ec90 r5:00000003 r4:bd88a800 r3:0000006d
[   50.799496] [<800667e8>] (state_store) from [<802b0384>] (kobj_attr_store+0x1c/0x28)
[   50.807251]  r10:bd399f78 r8:00000000 r7:bd88a800 r6:bd88a800 r5:00000004 r4:bd085680
[   50.815219] [<802b0368>] (kobj_attr_store) from [<80153090>] (sysfs_kf_write+0x54/0x58)
[   50.823252] [<8015303c>] (sysfs_kf_write) from [<80151fd8>] (kernfs_fop_write+0xd0/0x194)
[   50.831441]  r6:00000004 r5:bd08568c r4:bd085680 r3:8015303c
[   50.837220] [<80151f08>] (kernfs_fop_write) from [<800eddb4>] (vfs_write+0xb8/0x1a8)
[   50.844975]  r10:00000000 r9:00000000 r8:00000000 r7:bd399f78 r6:01336408 r5:00000004
[   50.852924]  r4:bc584dc0
[   50.855505] [<800edcfc>] (vfs_write) from [<800ee0b8>] (SyS_write+0x48/0x88)
[   50.862567]  r10:00000000 r8:00000000 r7:01336408 r6:00000004 r5:bc584dc0 r4:bc584dc0
[   50.870537] [<800ee070>] (SyS_write) from [<8000eb00>] (ret_fast_syscall+0x0/0x48)
[   50.878120]  r9:bd398000 r8:8000ecc4 r7:00000004 r6:76f42b48 r5:01336408 r4:00000004
[   50.885983] ---[ end trace 7545115d752a316a ]---
[   50.890765] ------------[ cut here ]------------

The root cause is that eth1 is not opened and clock is not enabled, and .suspend() still
call .fec_enet_clk_enable() to disable clock.

To avoid the broken, let it check network device up status by calling .netif_running()
before disable/enable clocks.

Signed-off-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
9 years agoMLK-9787 tty: serial: imx: avoid dma overwrite issue
Fugang Duan [Thu, 30 Oct 2014 04:56:09 +0000 (12:56 +0800)]
MLK-9787 tty: serial: imx: avoid dma overwrite issue

The patch fix the potential issue that dma buffer overwrite.

Signed-off-by: Fugang Duan <B38611@freescale.com>
9 years agoMLK-9780 thermal: imx6: disable tempmon irq and clk when thermal driver suspend
Bai Ping [Fri, 31 Oct 2014 09:01:04 +0000 (17:01 +0800)]
MLK-9780 thermal: imx6: disable tempmon irq and clk when thermal driver suspend

When the thermal driver doing suspend, disable the tempmon alarm irq
and clk, after the system resume, re-enable the irq and clk.

Signed-off-by: Bai Ping <b51503@freescale.com>
9 years agoMLK-9777 cpufreq: imx6: fix the high bus count mismatch
Bai Ping [Fri, 31 Oct 2014 08:28:03 +0000 (16:28 +0800)]
MLK-9777 cpufreq: imx6: fix the high bus count mismatch

Normally, the system is booting up with higher cpufreq. In the
cpufreq set_target_index we will release the high bus mode if
the target cpu frequency is the lowest. It will release the high
bus mode and dcrease the high_bus_count.This will lead to a wrong
release of high bus mode. So, in the cpufreq_init function, if the
original frequency is not the lowest, we need request high busfreq.

Signed-off-by: Bai Ping <b51503@freescale.com>
9 years agoMLK-9750 ARM: Kconfig: increase FORCE_MAX_ZONEORDER for ARCH_MXC
Jason Liu [Wed, 11 Sep 2013 02:50:09 +0000 (10:50 +0800)]
MLK-9750 ARM: Kconfig: increase FORCE_MAX_ZONEORDER for ARCH_MXC

Need increase the FORCE_MAX_ZONEORDER to 14 for high resolution camera
(GPU 2D user case). The default value 11(4MB) is not enough now.

Signed-off-by: Jason Liu <r64343@freescale.com>
(cherry picked from commit fff642ffe868cb55f5caec0501e36fd28b6ece50)

9 years agoMLK-9739 cpufreq: imx: add request busfreq support for cpufreq
Bai Ping [Fri, 24 Oct 2014 08:13:51 +0000 (16:13 +0800)]
MLK-9739 cpufreq: imx: add request busfreq support for cpufreq

Request high bus frequency before scaling up the CPU frequency
and release high bus frequency after scaling down the CPU frequency

Doing so makes a balance between high performance and lower power
consumption.

Signed-off-by: Bai Ping <b51503@freescale.com>
9 years agoMLK-9721 arm: imx6: add busfreq support for imx6sl
Bai Ping [Mon, 27 Oct 2014 06:28:08 +0000 (14:28 +0800)]
MLK-9721 arm: imx6: add busfreq support for imx6sl

Add busfreq node in the dtsi file and modified the source code
to support imx6sl to enter low busfreq mode.

As the clk tree of imx6sl on 3.14 branch different with imx6q,
imx6sx, etc. So the busfreq change flow need some additional
code. Especially, after change the bus frequency to 24MHz, the
clock parent-child relationship need one more step to update.

Before change to 24MHz low bus mode, the clock tree between the
OSC and MMDC as below:

OSC
 \__pll2_bypass_src
     \__pll2
          \__pll2_bypass
       \_pll2_bus
          \_..... mmdc

After change to 24MHz low bus mode, we bypass the pll2 in asm code, so
the correct clock tree as below:

OSC
  \_pll2_bypass_src
     \_pll2_bypass
      \_pll2_bus
   \_ .... mmdc

So the parent of pll2_bypass clock need to be set to pll2_bypass_src after
entering 24MHz mode, and set to pll2 after exiting 24MHz to reflect the correct
parent-child relationship in kernel.

Changing dev_dbg to printk to ease the debug of busfreq driver, print the busfreq
change information as needed.

Signed-off-by: Bai Ping <b51503@freescale.com>
9 years agoMLK-9719-4 ARM: dts: imx6qdl-sabreauto: Add V4L2 output support
Robby Cai [Thu, 23 Oct 2014 12:51:33 +0000 (20:51 +0800)]
MLK-9719-4 ARM: dts: imx6qdl-sabreauto: Add V4L2 output support

Add v4l2 output support for imx6qdl sabreauto board

Signed-off-by: Robby Cai <r63905@freescale.com>
9 years agoMLK-9719-3 ARM: dts: imx6qdl-sabreauto: Add pwm setting for backlight
Robby Cai [Thu, 23 Oct 2014 12:42:24 +0000 (20:42 +0800)]
MLK-9719-3 ARM: dts: imx6qdl-sabreauto: Add pwm setting for backlight

Add PWM setting for brightness control

Signed-off-by: Robby Cai <r63905@freescale.com>
9 years agoMLK-9719-2 ARM: dts: imx6qdl-sabreauto: change disp_id to 1 for HDMI
Robby Cai [Thu, 23 Oct 2014 12:18:46 +0000 (20:18 +0800)]
MLK-9719-2 ARM: dts: imx6qdl-sabreauto: change disp_id to 1 for HDMI

disp_id 0 is already used for LDB.
The patch fixed the conflict and supported both in one dts file.

Signed-off-by: Robby Cai <r63905@freescale.com>
9 years agoMLK-9719-1 ARM: dts: imx6qdl-sabreauto: add lvds support
Robby Cai [Wed, 22 Oct 2014 07:10:44 +0000 (15:10 +0800)]
MLK-9719-1 ARM: dts: imx6qdl-sabreauto: add lvds support

Enable LDB driver for imx6q/dl sabreauto board.

Signed-off-by: Robby Cai <r63905@freescale.com>
9 years agoMLK-6304 IPUv3 device: Enable IC task when cropping is needed.
Fancy Fang [Mon, 20 Oct 2014 09:09:38 +0000 (17:09 +0800)]
MLK-6304 IPUv3 device: Enable IC task when cropping is needed.

For the case that, the input and output size are both 640x480,
but the video20's related framebuffer resolution is 1024x768,
so the output should be cropped. In this situation, the ipu
task should be set to IC_MODE to avoid 'IPU_CHECK_ERR_PROC_NO_NEED'
error reporting.

Signed-off-by: Fancy Fang <chen.fang@freescale.com>
(cherry picked from commit 3f90d64eb1510211048a8516bbf223215e08331d)

9 years agoMLK-9716 net: fec: Fix the kernel panic issue on i.MX6SL-EVK board.
Luwei Zhou [Wed, 22 Oct 2014 06:32:56 +0000 (14:32 +0800)]
MLK-9716 net: fec: Fix the kernel panic issue on i.MX6SL-EVK board.

The i.MX6SL-EVK FEC IP doesn't support PTP feature. After adding
PPS support, irq handler will invoke fec_check_pps_status function.
We need to add a condition judge.

Unable to handle kernel NULL pointer dereference at virtual address 000000a8
pgd = 80004000
[000000a8] *pgd=00000000
Internal error: Oops: 17 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.14.17-00946-g1c543fd #7
task: 80cc8028 ti: 80cbc000 task.ti: 80cbc000
PC is at ptp_clock_event+0x144/0x190
LR is at __getnstimeofday+0x3c/0x140
pc : [<8044f4f8>]    lr : [<8006e148>]    psr: 60000193
sp : 80cbde30  ip : 5447606f  fp : 00000001
r10: 80cbde58  r9 : 80d152c5  r8 : 00000000
r7 : 088000f7  r6 : 00000000  r5 : 00000608  r4 : ab1cf4c0
r3 : 00000002  r2 : 3b9ac9ff  r1 : 80cbde30  r0 : 00000000
Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 10c5387d  Table: a8d8804a  DAC: 00000015
Process swapper/0 (pid: 0, stack limit = 0x80cbc240)
Stack: (0x80cbde30 to 0x80cbe000)
de20:                                     5447606f 0b0b3ebd 00000001 ab1cf4c0
de40: 00000608 00000000 088000f7 80cc48c0 ab00df00 803b0744 00000002 60000193
de60: 80cc48c0 8002e708 ab1cf000 02000000 00000001 ab1cf4c0 00000092 803abbc0
de80: 803abaac ab2d0f80 ab00df5c 00000000 00000000 80063808 00000002 e6484c37
dea0: e6484c37 ab00df00 ab00df5c ab2d0f80 00000092 00000000 80d152c3 ab7400d4
dec0: 00000000 8006398c ab00df00 ab00df5c 00000064 80066840 00000092 80cb8e54
dee0: 80cbc000 800631ec 80cc4c34 8000eed4 c080210c 80cc4da0 80cbdf20 c0802100
df00: 80ccaa1c 80008574 8006e830 80460f9c 60000113 ffffffff 80cbdf54 80012300
df20: 80cbdf68 3b9aca00 e6483614 00000002 e6429e70 00000002 ab7400d0 00000001
df40: 80ccaa1c 80d152c3 ab7400d4 00000000 0000001a 80cbdf68 8006e830 80460f9c
df60: 60000113 ffffffff e6483614 00000002 80cbc000 80d6ede4 00000001 ab7400d0
df80: 80cbc000 80d6ede4 00000001 80461124 00000000 80cbc000 00000000 80cc49a4
dfa0: 8065b50c 80d152c3 00000001 8000f1e4 00000000 80062f18 80cab938 80c6eaa0
dfc0: ffffffff ffffffff 80c6e57c 00000000 00000000 80cab938 00000000 10c5387d
dfe0: 80cc4928 80cab934 80cc90b0 8000406a 00000000 80008074 00000000 00000000
[<8044f4f8>] (ptp_clock_event) from [<803b0744>] (fec_ptp_check_pps_event+0xd4/0xe4)
[<803b0744>] (fec_ptp_check_pps_event) from [<803abbc0>] (fec_enet_interrupt+0x114/0x16c)
[<803abbc0>] (fec_enet_interrupt) from [<80063808>] (handle_irq_event_percpu+0x50/0x198)
[<80063808>] (handle_irq_event_percpu) from [<8006398c>] (handle_irq_event+0x3c/0x5c)
[<8006398c>] (handle_irq_event) from [<80066840>] (handle_fasteoi_irq+0x98/0x158)
[<80066840>] (handle_fasteoi_irq) from [<800631ec>] (generic_handle_irq+0x20/0x30)
[<800631ec>] (generic_handle_irq) from [<8000eed4>] (handle_IRQ+0x4c/0xb0)
[<8000eed4>] (handle_IRQ) from [<80008574>] (gic_handle_irq+0x28/0x5c)
[<80008574>] (gic_handle_irq) from [<80012300>] (__irq_svc+0x40/0x74)
Exception stack(0x80cbdf20 to 0x80cbdf68)
df20: 80cbdf68 3b9aca00 e6483614 00000002 e6429e70 00000002 ab7400d0 00000001
df40: 80ccaa1c 80d152c3 ab7400d4 00000000 0000001a 80cbdf68 8006e830 80460f9c
df60: 60000113 ffffffff
[<80012300>] (__irq_svc) from [<80460f9c>] (cpuidle_enter_state+0x50/0xe8)
[<80460f9c>] (cpuidle_enter_state) from [<80461124>] (cpuidle_idle_call+0xf0/0x160)
[<80461124>] (cpuidle_idle_call) from [<8000f1e4>] (arch_cpu_idle+0x8/0x44)
[<8000f1e4>] (arch_cpu_idle) from [<80062f18>] (cpu_startup_entry+0x60/0x150)
[<80062f18>] (cpu_startup_entry) from [<80c6eaa0>] (start_kernel+0x300/0x364)
Code: eaffffbc e1a0000d ebf07d11 e1a0100d (e59800a8)
---[ end trace 085ff044896a7d08 ]---
Kernel panic - not syncing: Fatal exception in interrupt

Tested-by: Bai Ping <b51503@freescale.com>
Signed-off-by: Luwei Zhou <b45643@freescale.com>
9 years agoMLK-9698 ARM:imx6x: Fix build break when CONFIG_SMP is not defined
Ranjani Vaidyanathan [Wed, 15 Oct 2014 15:31:07 +0000 (10:31 -0500)]
MLK-9698 ARM:imx6x: Fix build break when CONFIG_SMP is not defined

Ensure that all the code in busfreq driver that is SMP dependent is
enclosed with CONFIG_SMP define, else the build breaks when CONFIG_SMP=n.

Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@freescale.com>
9 years agoMLK-9685 ARM:imx6x:Ensure that the kernel can boot with "nosmp" in the command line
Ranjani Vaidyanathan [Mon, 13 Oct 2014 21:25:18 +0000 (16:25 -0500)]
MLK-9685 ARM:imx6x:Ensure that the kernel can boot with "nosmp" in the command line

When nosmp is added to the command line, setup_max_cpus is set to 0
by the kernel. And this results in num_possible_cpus() returning 0 and the kernel
does not boot.
This patch ensures that at least one CPU's state is set to "possible" as part
of the boot process.

Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@freescale.com>
9 years agoENGR00326248 pxp v4l2 output: Add YUV444 support
Sandor Yu [Thu, 7 Aug 2014 06:53:44 +0000 (14:53 +0800)]
ENGR00326248 pxp v4l2 output: Add YUV444 support

Add YUV444 support.

Signed-off-by: Sandor Yu <R01008@freescale.com>
(cherry picked from commit 847fc84c870b16f92dfb2b9386e6f118137a29f2)

9 years agoARM: imx: add standby mode support for suspend
Anson Huang [Mon, 23 Jun 2014 08:42:44 +0000 (16:42 +0800)]
ARM: imx: add standby mode support for suspend

Add standby mode support for suspend, to enter standby mode:

echo standby > /sys/power/state;

Use UART or RTC alarm to wake up system, when system enters
standby mode, SOC will enter STOP mode with ARM core kept
power on and 24M XTAL on.

Signed-off-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
9 years agoARM: imx: mem bit must be cleared before entering DSM mode
Anson Huang [Mon, 23 Jun 2014 08:42:43 +0000 (16:42 +0800)]
ARM: imx: mem bit must be cleared before entering DSM mode

According to hardware design, mem bit must be clear before
entering DSM mode, as ARM core will be power gated in DSM mode.

Signed-off-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
9 years agoMLK-9708 arm: imx: add low power idle support for i.mx6sx
Anson Huang [Mon, 20 Oct 2014 08:16:20 +0000 (16:16 +0800)]
MLK-9708 arm: imx: add low power idle support for i.mx6sx

1. improve imx6q_set_int_mem_clk_lpm routine;
2. export rbc enable interface for cpuidle;
3. enable low power idle for i.MX6SX:

   WFI            -> first level idle;
   WAIT mode      -> second level idle;
   Low power idle -> third level idle, only when system is in low bus mode.

In low powe idle mode, below operations will be done:

   ARM power off;
   AHB freq lower to 3MHz;
   PERCLK freq lower to 6MHz;
   MMDC freq lower to 1MHz;

Anatop will be put into low power mode, and regular band-gap will
be off and low power band-gap will be enabled instead.

Also, in low power idle mode, 24MHz XTAL power will be off and 24MHz clk
source will be switched to RC-OSC to save power, this feature is only
enabled on i.MX6SX TO1.2.

Signed-off-by: Anson Huang <b20788@freescale.com>
9 years agonet: fec: ptp: Enable PPS output based on ptp clock
Luwei Zhou [Fri, 10 Oct 2014 05:15:30 +0000 (13:15 +0800)]
net: fec: ptp: Enable PPS output based on ptp clock

FEC ptp timer has 4 channel compare/trigger function. It can be used to
enable pps output.
The pulse would be ouput high exactly on N second. The pulse ouput high
on compare event mode is used to produce pulse per second.  The pulse
width would be one cycle based on ptp timer clock source.Since 31-bit
ptp hardware timer is used, the timer will wrap more than 2 seconds. We
need to reload the compare compare event about every 1 second.

Signed-off-by: Luwei Zhou <b45643@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
9 years agoptp: drivers: set the number of programmable pins.
Richard Cochran [Thu, 20 Mar 2014 21:21:55 +0000 (22:21 +0100)]
ptp: drivers: set the number of programmable pins.

This patch updates the many PTP Hardware Clock drivers with the
newly introduced field that advertises the number of programmable
pins. Some of these devices do have programmable pins, but the
implementation will have to wait for follow on patches.

Signed-off-by: Richard Cochran <richardcochran@gmail.com>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>