]> git.kernelconcepts.de Git - karo-tx-linux.git/log
karo-tx-linux.git
10 years agoarch: mach-mx6: tx6: Add LCD enable & reset GPIOs. KARO-TX6-2013-08-23
Oliver Wendt [Mon, 26 Aug 2013 10:44:34 +0000 (12:44 +0200)]
arch: mach-mx6: tx6: Add LCD enable & reset GPIOs.

10 years agoarm: mach-mx6: tx6: added TX6U (i.MX6DL) support
Oliver Wendt [Mon, 26 Aug 2013 10:41:30 +0000 (12:41 +0200)]
arm: mach-mx6: tx6: added TX6U (i.MX6DL) support

10 years agoarm: mach-mx6: tx6: rename tx6 board file, preparations for iMX6DL
Oliver Wendt [Mon, 26 Aug 2013 10:29:09 +0000 (12:29 +0200)]
arm: mach-mx6: tx6: rename tx6 board file, preparations for iMX6DL

10 years agokaro: rename tx6 defconfigs and adapt LOCALVERSION appropriately
Lothar Waßmann [Thu, 22 Aug 2013 13:41:36 +0000 (15:41 +0200)]
karo: rename tx6 defconfigs and adapt LOCALVERSION appropriately

10 years agoarm: mx6q: tx6q: add pad config for UART pads
Lothar Waßmann [Mon, 8 Jul 2013 09:04:37 +0000 (11:04 +0200)]
arm: mx6q: tx6q: add pad config for UART pads

10 years agoarm: mach-mx6: tx6q: remove empty fixup_mxc_board()
Lothar Waßmann [Mon, 1 Jul 2013 12:05:19 +0000 (14:05 +0200)]
arm: mach-mx6: tx6q: remove empty fixup_mxc_board()

10 years agoarm: mach-mx6: tx6q: remove useless 'enable_lcd_ldb'
Lothar Waßmann [Mon, 1 Jul 2013 12:02:00 +0000 (14:02 +0200)]
arm: mach-mx6: tx6q: remove useless 'enable_lcd_ldb'

10 years agoarm: mach-mx6: tx6q: move #include where it belongs
Lothar Waßmann [Mon, 1 Jul 2013 11:59:43 +0000 (13:59 +0200)]
arm: mach-mx6: tx6q: move #include where it belongs

10 years agoarm: mach-mx6: tx6q: remove leftover comments from sabresd
Lothar Waßmann [Mon, 1 Jul 2013 11:57:49 +0000 (13:57 +0200)]
arm: mach-mx6: tx6q: remove leftover comments from sabresd

10 years agommc: sdhci: imx: prevent error message: 'gpio_request: gpio--22 (ESDHC_WP) status... KARO-TX6-2013-06-13
Lothar Waßmann [Thu, 13 Jun 2013 13:45:40 +0000 (15:45 +0200)]
mmc: sdhci: imx: prevent error message: 'gpio_request: gpio--22 (ESDHC_WP) status -22'

10 years agoarm: mach-mx6: set system_rev to make Freescale's VPU library happy
Lothar Waßmann [Wed, 12 Jun 2013 13:04:45 +0000 (15:04 +0200)]
arm: mach-mx6: set system_rev to make Freescale's VPU library happy

10 years agolet JFFS2 work without OOB
Lothar Waßmann [Sat, 25 May 2013 14:38:52 +0000 (16:38 +0200)]
let JFFS2 work without OOB

10 years ago0027-karo-sound
Lothar Waßmann [Fri, 24 May 2013 12:21:59 +0000 (14:21 +0200)]
0027-karo-sound

===================================================================

10 years ago0026-karo-support
Lothar Waßmann [Fri, 24 May 2013 12:21:59 +0000 (14:21 +0200)]
0026-karo-support

===================================================================

10 years ago0025-asrc-errno
Lothar Waßmann [Fri, 24 May 2013 12:21:59 +0000 (14:21 +0200)]
0025-asrc-errno

===================================================================

10 years ago0024-asrc-prevent-ref-after-free
Lothar Waßmann [Fri, 24 May 2013 12:21:59 +0000 (14:21 +0200)]
0024-asrc-prevent-ref-after-free

===================================================================

10 years ago0023-tsc2007-double-hw-init
Lothar Waßmann [Fri, 24 May 2013 12:21:59 +0000 (14:21 +0200)]
0023-tsc2007-double-hw-init

===================================================================

10 years ago0022-macro-semicolon
Lothar Waßmann [Fri, 24 May 2013 12:21:58 +0000 (14:21 +0200)]
0022-macro-semicolon

===================================================================

10 years ago0021-usb-wakeup-lockdep
Lothar Waßmann [Fri, 24 May 2013 12:21:58 +0000 (14:21 +0200)]
0021-usb-wakeup-lockdep

===================================================================

10 years ago0020-prevent-fsl-otg-unload-inuse
Lothar Waßmann [Fri, 24 May 2013 12:21:58 +0000 (14:21 +0200)]
0020-prevent-fsl-otg-unload-inuse

===================================================================

10 years ago0019-usb-clk-disable-mismatch
Lothar Waßmann [Fri, 24 May 2013 12:21:58 +0000 (14:21 +0200)]
0019-usb-clk-disable-mismatch

===================================================================

10 years ago0018-snd-soc-sgtl5000
Lothar Waßmann [Fri, 24 May 2013 12:21:58 +0000 (14:21 +0200)]
0018-snd-soc-sgtl5000

===================================================================

10 years ago0017-edt-mutex-unlock-bugfix
Lothar Waßmann [Fri, 24 May 2013 12:21:58 +0000 (14:21 +0200)]
0017-edt-mutex-unlock-bugfix

===================================================================

10 years ago0016-thermal-notifier-bugfix
Lothar Waßmann [Fri, 24 May 2013 12:21:58 +0000 (14:21 +0200)]
0016-thermal-notifier-bugfix

===================================================================

10 years ago0015-prevent-vpu-mod-build
Lothar Waßmann [Fri, 24 May 2013 12:21:58 +0000 (14:21 +0200)]
0015-prevent-vpu-mod-build

===================================================================

10 years ago0014-fsl-otg-pm-bugfix
Lothar Waßmann [Fri, 24 May 2013 12:21:58 +0000 (14:21 +0200)]
0014-fsl-otg-pm-bugfix

===================================================================

10 years ago0013-snd-soc-imx-modules
Lothar Waßmann [Fri, 24 May 2013 12:21:57 +0000 (14:21 +0200)]
0013-snd-soc-imx-modules

===================================================================

10 years ago0012-sound-soc-imx-bugfix
Lothar Waßmann [Fri, 24 May 2013 12:21:57 +0000 (14:21 +0200)]
0012-sound-soc-imx-bugfix

===================================================================

10 years ago0011-mxc-adc-bugfix
Lothar Waßmann [Fri, 24 May 2013 12:21:57 +0000 (14:21 +0200)]
0011-mxc-adc-bugfix

===================================================================

10 years ago0010-ehci-arc-remove-bugfix
Lothar Waßmann [Fri, 24 May 2013 12:21:57 +0000 (14:21 +0200)]
0010-ehci-arc-remove-bugfix

===================================================================

10 years ago0009-ehci-arc-pm-bugfix
Lothar Waßmann [Fri, 24 May 2013 12:21:57 +0000 (14:21 +0200)]
0009-ehci-arc-pm-bugfix

===================================================================

10 years ago0008-clk-debug-bugfix
Lothar Waßmann [Fri, 24 May 2013 12:21:57 +0000 (14:21 +0200)]
0008-clk-debug-bugfix

===================================================================

10 years ago0007-gpmi-no-bi-swap
Lothar Waßmann [Fri, 24 May 2013 12:21:56 +0000 (14:21 +0200)]
0007-gpmi-no-bi-swap

===================================================================

10 years ago0006-edt-ft5x06
Lothar Waßmann [Fri, 24 May 2013 12:21:56 +0000 (14:21 +0200)]
0006-edt-ft5x06

===================================================================

10 years ago0005-sdhc-pad-speed
Lothar Waßmann [Fri, 24 May 2013 12:21:56 +0000 (14:21 +0200)]
0005-sdhc-pad-speed

===================================================================

10 years ago0004-usb-xcvr-select
Lothar Waßmann [Fri, 24 May 2013 12:21:56 +0000 (14:21 +0200)]
0004-usb-xcvr-select

===================================================================

10 years ago0003-usbotg_uninit
Lothar Waßmann [Fri, 24 May 2013 12:21:56 +0000 (14:21 +0200)]
0003-usbotg_uninit

===================================================================

10 years ago0002-usb-modconfig
Lothar Waßmann [Fri, 24 May 2013 12:21:56 +0000 (14:21 +0200)]
0002-usb-modconfig

===================================================================

10 years ago0001-usb-dr
Lothar Waßmann [Fri, 24 May 2013 12:21:53 +0000 (14:21 +0200)]
0001-usb-dr

===================================================================

10 years agoENGR00259693 MX6DL/S-Enable routing of ENET interrupt to GPIO v3.0.35-fsl
Ranjani Vaidyanathan [Fri, 19 Apr 2013 16:39:48 +0000 (11:39 -0500)]
ENGR00259693 MX6DL/S-Enable routing of ENET interrupt to GPIO

In order to fix the performance issue on ENET when WAIT mode
is activated, route the ENET interrupts to a GPIO on all MX6DL boards.

This patch must be applied on top of:
MX6Q/DL-Fix Ethernet performance issue when WAIT mode is active
808863866d2c17aeb3e70a7fcd094bd96db4b601
bae4d40849f3acdd9663f5a0857c9415ed7e6d5d

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
10 years agoENGR00259593 IPU/V4L2 output: Fix video ouput to video16 can not work
Wayne Zou [Fri, 19 Apr 2013 08:33:24 +0000 (16:33 +0800)]
ENGR00259593 IPU/V4L2 output: Fix video ouput to video16 can not work

Revert"ENGR00254931 IPUv3 Fb: Fix display twinkling issue during suspend/resume"

This reverts commit 4bd475ba0603e10cdcab7e55f89599f7016cad25.

That patch will lead to kernel crash when doing video playback on video16 with
overlay on. The reason is that fb driver doesn't reallocate larger DMA buffer
requested by V4L2 driver, while IPU hardware write to large DMA address.
Other solution is needed for the original issue.

kernel BUG at arch/arm/mm/dma-mapping.c:478!
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = 80004000
[00000000] *pgd=00000000
Internal error: Oops: 817 [#1] PREEMPT SMP
Modules linked in: mxc_v4l2_capture ipu_csi_enc ipu_prp_enc ipu_fg_overlay_sdc
ipu_bg_overlay_sdc ipu_still ov5640_camera_mipi ov5640_camera
CPU: 0    Not tainted  (3.0.35-2506-g556681e #1)
PC is at __bug+0x1c/0x28
LR is at __bug+0x18/0x28
pc : [<800442ac>]    lr : [<800442a8>]    psr: 20000113
sp : 80a8fe88  ip : c09b2000  fp : 80aa3a70
r10: 80a90080  r9 : 00000040  r8 : bffecec4
r7 : 00000001  r6 : 00000002  r5 : 00000800  r4 : ce5c5e65
r3 : 00000000  r2 : 00000104  r1 : 0bfcf000  r0 : 00000033
Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 10c53c7d  Table: 4a97404a  DAC: 00000015
Process swapper (pid: 0, stack limit = 0x80a8e2f0)
Stack: (0x80a8fe88 to 0x80a90000)
fe80:                   80afde30 8004a464 00000880 ffdfd6b0 bffec000 802fa678
fea0: bffec000 00000060 5e5c5e65 ce5c5e65 bffec250 80ad4c88 bffece4c 00000001
fec0: bffecec4 00000040 0000012c 8c009480 8c009488 80a90080 ffff9527 80423f58
fee0: 00000001 80a8e000 00000096 00000001 80a9004c 80a8e000 00000103 80af77e0
ff00: 00000000 80a90040 00000003 8007a034 00000096 00000000 80a8e000 0000000a
ff20: 80a94c4c 80a8e000 80039c00 80a8e000 00000096 00000000 80a8e000 00000000
ff40: 00000000 8007a570 80aa3cc0 80041874 ffffffff f2a00100 00000096 00000002
ff60: 00000001 80040a0c 80af9140 80000093 00000001 00000000 80a8e000 80af1ce4
ff80: 80511044 80aa6e7c 1000406a 412fc09a 00000000 00000000 00000000 80a8ffb0
ffa0: 8004f648 80041b04 40000013 ffffffff 80041ae0 80041d08 00000001 80aa3b3c
ffc0: 80af1c40 8002f538 8c005160 80008868 800082f8 00000000 00000000 8002f538
ffe0: 00000000 10c53c7d 80aa3a6c 8002f534 80aa6e74 10008040 00000000 00000000
[<800442ac>] (__bug+0x1c/0x28) from [<8004a464>]
(___dma_single_dev_to_cpu+0x84/0x94)
[<8004a464>] (___dma_single_dev_to_cpu+0x84/0x94) from [<802fa678>]
(fec_rx_poll+0x228/0x2c8)
[<802fa678>] (fec_rx_poll+0x228/0x2c8) from [<80423f58>]
(net_rx_action+0xb0/0x17c)
[<80423f58>] (net_rx_action+0xb0/0x17c) from [<8007a034>]
(__do_softirq+0xac/0x140)
[<8007a034>] (__do_softirq+0xac/0x140) from [<8007a570>] (irq_exit+0x94/0x9c)
[<8007a570>] (irq_exit+0x94/0x9c) from [<80041874>] (handle_IRQ+0x50/0xac)
[<80041874>] (handle_IRQ+0x50/0xac) from [<80040a0c>] (__irq_svc+0x4c/0xe8)
[<80040a0c>] (__irq_svc+0x4c/0xe8) from [<80041b04>] (default_idle+0x24/0x28)
[<80041d08>] (cpu_idle+0xc8/0x108) from [<80008868>] (start_kernel+0x248/0x288)
[<80008868>] (start_kernel+0x248/0x288) from [<10008040>] (0x10008040)

Signed-off-by: Wayne Zou <b36644@freescale.com>
10 years agoENGR00259008: mlb: reduce iram usage amount in async mode
Terry Lv [Tue, 16 Apr 2013 11:05:54 +0000 (19:05 +0800)]
ENGR00259008: mlb: reduce iram usage amount in async mode

In testing async mode on mx6q ard and mx6dl ard, driver always said "can
not alloc rx buffer".
Change async's ring buffer size from 2048 to 1536(MEP package size) and
reduce the extra ring buffer for drop package, now the iram usage amount
in async mode reduced from 34816 to 24576.

Signed-off-by: Terry Lv <r65388@freescale.com>
10 years agoENGR00258885 flexcan: fix errata ERR005641 that MB may fail to be sent
Dong Aisheng [Fri, 12 Apr 2013 10:49:36 +0000 (18:49 +0800)]
ENGR00258885 flexcan: fix errata ERR005641 that MB may fail to be sent

This is an issue from IC errata ERR005641 which is described as follows:
----------------------------------------------------------
FlexCAN does not transmit a message that is enabled to be transmitted
in a specific moment during the arbitration process. The following
conditions are necessary to have the issue.
- Only one MB is configured to be transmitted
- The write which enables the MB to be transmitted (write on Control status
  word) happens during a specific clock during the arbitration process.

After this arbitration process occurs, the bus goes to Idle state and no
new message is received on bus.

For example:
1) MB13 is deactivated on RxIntermission (write 0x0 on CODE field from Control
Status word) - First write on CODE
2) Reconfigure the ID and data fields
3) Enable the MB13 to be transmitted on BusIdle (write 0xC on Code
field) - Second write on code
4) CAN bus keeps in Idle state
5) No write on Control status from any MB happens.
During the second write on code (step 3), the write must happen one clock
before the current MB13 is to be scanned by arbitration process.
In this case, it does not detect the new code (0xC) and no new arbitration is
scheduled.

The suggested workaround which is implemented in this patch is:
The workaround consists of executing two extra steps:
6. Reserve the first valid mailbox as an inactive mailbox (CODE=0b1000).
If RX FIFO is disabled, this mailbox must be MB0. Otherwise, the first
valid mailbox can be found by using table "RX FIFO filters" on FlexCAN3 chapter.
7. Write twice INACTIVE code (0b1000) into the first valid mailbox.
Note: The first mailbox cannot be used for reception or transmission process.
-------------------------------------------------------------

Note: Although the currently flexcan driver does not have the step 1 to run,
it's also possible to meet this issue in theory because we can not predict
when the arbitration is scheduled.

With a modified can-utils/canfdttest tool simulating Pingpong test, we were
able to reproduce this issue after running a about one day.
After applying this patch, we ran six days and did not see the issue happen
again on two mx6q sabrelite boards.

Signed-off-by: Dong Aisheng <b29396@freescale.com>
10 years agocan: flexcan: Fix CAN_RAW_RECV_OWN_MSGS and CAN_RAW_LOOPBACK
Reuben Dowle [Mon, 31 Oct 2011 22:18:03 +0000 (11:18 +1300)]
can: flexcan: Fix CAN_RAW_RECV_OWN_MSGS and CAN_RAW_LOOPBACK

Currently the flexcan driver uses hardware local echo. This blindly
echos all transmitted frames to all receiving sockets, regardless what
CAN_RAW_RECV_OWN_MSGS and CAN_RAW_LOOPBACK are set to.

This patch now submits transmitted frames to be echoed in the transmit
complete interrupt, preserving the reference to the sending
socket. This allows the can protocol to correctly handle the local
echo.

Further this patch moves tx_bytes statistic accounting into the tx_complete
handler.

Signed-off-by: Reuben Dowle <reuben.dowle@navico.com>
[mkl: move tx_bytes accounting into tx_complete handler; cleanups]
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
10 years agocan: dev: let can_get_echo_skb() return dlc of CAN frame
Marc Kleine-Budde [Mon, 10 Oct 2011 21:43:53 +0000 (23:43 +0200)]
can: dev: let can_get_echo_skb() return dlc of CAN frame

can_get_echo_skb() is usually called in the TX complete handler.
The stats->tx_packets and stats->tx_bytes should be updated there, too.
This patch simplifies to figure out the size of the sent CAN frame.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
10 years agoENGR00258733 WEIM-NOR: mtd: cfi_cmdset_0002: Do not release the mutex lock
Huang Shijie [Fri, 12 Apr 2013 07:33:11 +0000 (15:33 +0800)]
ENGR00258733 WEIM-NOR: mtd: cfi_cmdset_0002: Do not release the mutex lock

The NOR may suffers a write-buffer timeout during the bonnie++/ubifs stress
test. This patch is just a workaround to fix this issue.

With this patch, the read/write/erase will do in the synchronous way.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00258357-5: mlb: Use circle buf macros to replace old ringbuf mechanism
Terry Lv [Fri, 12 Apr 2013 07:44:46 +0000 (15:44 +0800)]
ENGR00258357-5: mlb: Use circle buf macros to replace old ringbuf mechanism

Use circle buf to replace old ringbuf mechanism.
Change to use circle buffer in read, write, rx isr and tx isr functions.
In first design of MLB, it's using it's own mechanism to manage ring
buffer, like in mxc_mlb.c.
And then, I saw that kernel already had a serials of circ buffer macros
which can be used to manage ring buffers.
This patch is to use circle buffer macros to manage mlb internal ring
buffers.
For detail of circle buffers, you can refer to
linux-2.6-imx/Documentation/circular-buffers.txt.

Signed-off-by: Terry Lv <r65388@freescale.com>
10 years agoENGR00258357-4: mlb: Group static variables to structure mlb_data
Terry Lv [Fri, 12 Apr 2013 07:33:56 +0000 (15:33 +0800)]
ENGR00258357-4: mlb: Group static variables to structure mlb_data

Group static variables to structure mlb_data.
Use mlb_data as platform data to be passed to file operation
functions.
Change accordingly functions for this change.

Signed-off-by: Terry Lv <r65388@freescale.com>
10 years agoENGR00258357-3: mlb: Reset whole CDR in init function
Terry Lv [Fri, 12 Apr 2013 07:18:50 +0000 (15:18 +0800)]
ENGR00258357-3: mlb: Reset whole CDR in init function

Reset whole CDR in init function. This will make mlb connection to MITB
more stable.
This is a missed part in mx6 rm's mlb section, but new in mlb's latest
spec DS62420AP2.pdf 12.1.1-1.
Without this patch, mlb may receive irq from MITB during initialization.
It might cause some connection issue that mlb can't receive data
sometimes. It was treat to be MITB's fault before we get the latest
spec.

Signed-off-by: Terry Lv <r65388@freescale.com>
10 years agoENGR00258357-2: mlb: Add more debug msgs in DEBUG mode
Terry Lv [Fri, 12 Apr 2013 04:16:10 +0000 (12:16 +0800)]
ENGR00258357-2: mlb: Add more debug msgs in DEBUG mode

Changes are:
1. Use print_hex_dump to print buffer in DEBUG mode.
2. Add more debug msgs.

Signed-off-by: Terry Lv <r65388@freescale.com>
10 years agoENGR00258357-1: mlb: Remove MLB150_ from macro define names
Terry Lv [Fri, 12 Apr 2013 04:08:07 +0000 (12:08 +0800)]
ENGR00258357-1: mlb: Remove MLB150_ from macro define names

Remove MLB150_ from macro define names to make code clean.

Signed-off-by: Terry Lv <r65388@freescale.com>
10 years agoENGR00257847-2 MX6Q/DL-Fix Ethernet performance issue when WAIT mode is active
Ranjani Vaidyanathan [Mon, 1 Apr 2013 21:03:31 +0000 (16:03 -0500)]
ENGR00257847-2 MX6Q/DL-Fix Ethernet performance issue when WAIT mode is active

All of the interrupts from the ENET block are not routed to
the GPC block. Hence ENET interrupts are not able to wake
up the SOC when the system is in WAIT mode. And the ENET
interrupt gets serviced only when another interrupt causes
the SOC to exit WAIT mode. This impacts the ENET performance.

To fix the issue two options:
1. Route the ENET interrupt to a GPIO. Need to enable the
CONFIG_MX6_ENET_IRQ_TO_GPIO in the config.
2. If the GPIO mechanism cannot be used and is not enabled
by the above mentioned config, the patch will disable entry
to WAIT mode until ENET clock is active. When the ENET clock
is disabled, WAIT mode will be automatically enetered.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
10 years agoENGR00257847-1 MX6Q/DL-Fix Ethernet performance issue when WAIT mode is active
Ranjani Vaidyanathan [Mon, 1 Apr 2013 21:02:35 +0000 (16:02 -0500)]
ENGR00257847-1 MX6Q/DL-Fix Ethernet performance issue when WAIT mode is active

All of the interrupts from the ENET block are not routed to
the GPC block. Hence ENET interrupts are not able to wake
up the SOC when the system is in WAIT mode. And the ENET
interrupt gets serviced only when another interrupt causes
the SOC to exit WAIT mode. This impacts the ENET performance.

To fix the issue two options:
1. Route the ENET interrupt to a GPIO. Need to enable the
CONFIG_MX6_ENET_IRQ_TO_GPIO in the config.
This patch provides support for routing the ENET interrupt
to GPIO_1_6. Routing to this GPIO requires no HW board mods.
If the GPIO_1_6 is being used for some other peripheral,
this patch can be followed to route the ENET interrupt to
any other GPIO though a HW mode maybe required.
2. If the GPIO mechanism cannot be used and is not enabled
by the above mentioned config, the patch will disable entry
to WAIT mode until ENET clock is active. When the ENET clock
is disabled, WAIT mode will be automatically enetered.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
10 years agoENGR00256417: MLB: can't receive data in wait mode
Terry Lv [Thu, 11 Apr 2013 09:05:00 +0000 (17:05 +0800)]
ENGR00256417: MLB: can't receive data in wait mode

For MLB uses iram for data transfer, and there's a missing of dependency
on iram in MLB's clock setting, MLB can't receive data in wait mode.
We need to add ocram clock dependency in MLB clock.

Signed-off-by: Terry Lv <r65388@freescale.com>
10 years agomtd: fix recovery after failed write-buffer operation in cfi_cmdset_0002.c
Harald Nordgard-Hansen [Fri, 23 Nov 2012 22:11:03 +0000 (23:11 +0100)]
mtd: fix recovery after failed write-buffer operation in cfi_cmdset_0002.c

When working on a problem with some flash chips that lock up during
write-buffer operations, I think there may be a bug in the linux
handling of chips using cfi_cmdset_0002.c.

The datasheets I have found for a number of these chips all specify that
when aborting a write-buffer command, it is not enough to use the
standard reset.  Rather a "write-to-buffer-reset command" is needed.
This command is quite similar for all chips, the main variance seem to
be if the final 0xF0 can go to any address or must go to addr_unlock1.

The bug is then in the recovery handling when timing out at the end of
do_write_buffer, where using the normal reset command is not sufficient.

Without this change, if the write-buffer command fails then any
following operations on the flash also fail.

Signed-off-by: Harald Nordgard-Hansen <hhansen@pvv.org>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agomtd: cfi_cmdset_0002: Micron M29EW bugfixes as per TN-13-07
Gerlando Falauto [Tue, 3 Jul 2012 07:09:47 +0000 (09:09 +0200)]
mtd: cfi_cmdset_0002: Micron M29EW bugfixes as per TN-13-07

Fix the following issues with Micron's (formerly Numonyx)
M29EW NOR flash chips, as documented on TN-13-07:
- Correcting Erase Suspend Hang Ups (page 20)
- Resolving the Delay After Resume Issue (page 22)

Signed-off-by: Gerlando Falauto <gerlando.falauto@keymile.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agomtd: cfi_cmdset_0002: Slight cleanup of fixup messages
David Woodhouse [Mon, 14 May 2012 04:34:24 +0000 (23:34 -0500)]
mtd: cfi_cmdset_0002: Slight cleanup of fixup messages

These should be semicolons, not commas.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agomtd: add fixup for S29NS512P NOR flash.
Javier Martin [Fri, 11 May 2012 10:15:41 +0000 (12:15 +0200)]
mtd: add fixup for S29NS512P NOR flash.

Spansion S29NS512P flash uses a 16bit transfer to report number
of sectors instead of two 8bit accesses as CFI specifies.

Artem: remove warning message which said that we are applying the
fixup - no need to scary the user unnecessarily.

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agomtd: chips: cfi_cmdset_0002: Match ENABLE_VPP()/DISABLE_VPP() calls
Paul Parsons [Wed, 7 Mar 2012 14:11:16 +0000 (14:11 +0000)]
mtd: chips: cfi_cmdset_0002: Match ENABLE_VPP()/DISABLE_VPP() calls

This patch is part of a set which fixes unnecessary flash erase and write errors
resulting from the MTD CFI driver turning off vpp while an erase is in progress.
This patch ensures that only those flash operations which call ENABLE_VPP() can
then call DISABLE_VPP(). Other operations should never call DISABLE_VPP().

Signed-off-by: Paul Parsons <lost.distance@yahoo.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agomtd: cfi: AMD/Fujitsu compatibles: add panic write support
Ira W. Snyder [Fri, 6 Jan 2012 19:29:19 +0000 (11:29 -0800)]
mtd: cfi: AMD/Fujitsu compatibles: add panic write support

This allows the mtdoops driver to work on flash chips using the
AMD/Fujitsu compatible command set.

As the code comments note, the locks used throughout the normal code
paths in the driver are ignored, so that the chance of writing out the
kernel's last messages are maximized.

Signed-off-by: Ira W. Snyder <iws@ovro.caltech.edu>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agomtd: cleanup style on pr_debug messages
Brian Norris [Tue, 19 Jul 2011 17:06:10 +0000 (10:06 -0700)]
mtd: cleanup style on pr_debug messages

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agomtd: replace DEBUG() with pr_debug()
Brian Norris [Tue, 19 Jul 2011 17:06:09 +0000 (10:06 -0700)]
mtd: replace DEBUG() with pr_debug()

Start moving away from the MTD_DEBUG_LEVEL messages. The dynamic
debugging feature is a generic kernel feature that provides more
flexibility.

(See Documentation/dynamic-debug-howto.txt)

Also fix some punctuation, indentation, and capitalization that went
along with the affected lines.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00257755-4 ASoC: WM8962: Disable FLL when chip's not being used
Nicolin Chen [Mon, 8 Apr 2013 13:12:07 +0000 (21:12 +0800)]
ENGR00257755-4 ASoC: WM8962: Disable FLL when chip's not being used

There might be a case that SYSCLK_SRC is not FLL, but FLL's still open.
If so, next time we use FLL as SYSCLK_SRC, it won't work normally.

This patch disabled FLL if FLL's enabled no matter what SYSCLK_SRC is.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00257755-3 Revert "ENGR00256933 ASoC: WM8962: Add delay after FLL-enable"
Nicolin Chen [Tue, 9 Apr 2013 01:12:31 +0000 (09:12 +0800)]
ENGR00257755-3 Revert "ENGR00256933 ASoC: WM8962: Add delay after FLL-enable"

This reverts commit 739325483d12276b80b34d7916e6cdb6d8774900.

We already reverted FLL-enable code in set_fll(), so we don't need delay any
more.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00257755-2 Revert "ENGR00256310 ASoC: imx-wm8962: Fix playback abnormally"
Nicolin Chen [Mon, 8 Apr 2013 11:58:26 +0000 (19:58 +0800)]
ENGR00257755-2 Revert "ENGR00256310 ASoC: imx-wm8962: Fix playback abnormally"

This reverts commit 80dd80156772ff155aaf5420e41346674a9521f0.

With this patch, WM8962 couldn't work normally after SabreSD power-on.
So revert it and find a better solution.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00257755-1 Revert "ASoC: wm8962: Don't automatically enable and disable"
Nicolin Chen [Mon, 8 Apr 2013 11:38:34 +0000 (19:38 +0800)]
ENGR00257755-1 Revert "ASoC: wm8962: Don't automatically enable and disable"

This reverts commit e2bd4d2117e1c78cfd487fb10848f3361b358057.

With this patch, WM8962 couldn't work normally after SabreSD power-on.
So revert it and find a better solution.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00257947 mtd: use memcpy to replace the memcpy_fromio
Huang Shijie [Mon, 8 Apr 2013 08:56:46 +0000 (16:56 +0800)]
ENGR00257947 mtd: use memcpy to replace the memcpy_fromio

During the read of NOR, the kernel actually calls the inline_map_copy_from()
to read the data out. And inline_map_copy_from() will use the memcpy_fromio()
to do the real job.

The memcpy_fromio macro maps _memcpy_fromio() in the current code.
But the _memcpy_fromio() will use readb() to do the copy work one byte
by one byte. This makes the read performance of NOR very slow(about 2~3MB/s).

A similiar discussion could be found in:
http://lists.infradead.org/pipermail/linux-arm-kernel/2009-November/003860.html

This patch replace the memcpy_fromio with memcpy which is optimized by the
kernel.

The following is the result from mtd_speedtest with M29W256GL7AN6E:
=================================================
mtd_speedtest: MTD device: 2
mtd_speedtest: not NAND flash, assume page size is 512 bytes.
mtd_speedtest: MTD device size 4194304, eraseblock size 131072, page size 512,
count of eraseblocks 32, pages per eraseblock 256, OOB size 0
mtd_speedtest: testing eraseblock write speed
mtd_speedtest: eraseblock write speed is 845 KiB/s
mtd_speedtest: testing eraseblock read speed
mtd_speedtest: eraseblock read speed is 19504 KiB/s
mtd_speedtest: testing page write speed
mtd_speedtest: page write speed is 845 KiB/s
mtd_speedtest: testing page read speed
mtd_speedtest: page read speed is 19140 KiB/s
mtd_speedtest: testing 2 page write speed
mtd_speedtest: 2 page write speed is 846 KiB/s
mtd_speedtest: testing 2 page read speed
mtd_speedtest: 2 page read speed is 19320 KiB/s
mtd_speedtest: Testing erase speed
mtd_speedtest: erase speed is 233 KiB/s
mtd_speedtest: Testing 2x multi-block erase speed
mtd_speedtest: 2x multi-block erase speed is 225 KiB/s
mtd_speedtest: Testing 4x multi-block erase speed
mtd_speedtest: 4x multi-block erase speed is 224 KiB/s
mtd_speedtest: Testing 8x multi-block erase speed
mtd_speedtest: 8x multi-block erase speed is 225 KiB/s
mtd_speedtest: Testing 16x multi-block erase speed
mtd_speedtest: 16x multi-block erase speed is 225 KiB/s
mtd_speedtest: Testing 32x multi-block erase speed
mtd_speedtest: 32x multi-block erase speed is 225 KiB/s
mtd_speedtest: Testing 64x multi-block erase speed
mtd_speedtest: 64x multi-block erase speed is 224 KiB/s
mtd_speedtest: finished
=================================================

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00257658 Revert "ENGR00256893-1 MX6Q/DL-Fix Ethernet performance issue
Jason Liu [Sun, 7 Apr 2013 01:10:25 +0000 (09:10 +0800)]
ENGR00257658 Revert "ENGR00256893-1 MX6Q/DL-Fix Ethernet performance issue

This reverts commit 067c8dcfa79a169d86809272569fe734c4222c79.

i.mx6dl/dq sabreauto/sabresd board will boot up failed
randomly with this patch-set, thus revert it. [Jason]

Signed-off-by: Jason Liu <r64343@freescale.com>
10 years agoENGR00257658 Revert "ENGR00256893-2 MX6Q/DL-Fix Ethernet performance issue
Jason Liu [Sun, 7 Apr 2013 01:08:42 +0000 (09:08 +0800)]
ENGR00257658 Revert "ENGR00256893-2 MX6Q/DL-Fix Ethernet performance issue

This reverts commit 573bab0be2427d6664420eaf9d8e272dbe9d840f.

i.mx6dl/dq sabreauto/sabresd board will boot up failed
randomly with this patch-set, thus revert it. [Jason]

Signed-off-by: Jason Liu <r64343@freescale.com>
10 years agoENGR00255518 ipu/ipu3: using the kernel common help function div_u64
Jason Liu [Wed, 3 Apr 2013 05:45:39 +0000 (13:45 +0800)]
ENGR00255518 ipu/ipu3: using the kernel common help function div_u64

We don't need invent the wheel to implement the wrap for the _do_div,
we can use the kernel common helper function for the u64 divide with
div_u64() function call

This also fix the build break when CONFIG_DEBUG_SECTION_MISMATCH=y with
GCC4.6.3 cross-compile toolchain.

CC      init/version.o
LD      init/built-in.o
LD      .tmp_vmlinux1
drivers/built-in.o: In function `_do_div.part.1':
clkdev.c:(.text+0x15c23c): undefined reference to `__aeabi_uldivmod'
clkdev.c:(.text+0x15c25c): undefined reference to `__aeabi_uldivmod'
clkdev.c:(.text+0x15c2bc): undefined reference to `__aeabi_uldivmod'
clkdev.c:(.text+0x15c3ac): undefined reference to `__aeabi_uldivmod'
clkdev.c:(.text+0x15c3d0): undefined reference to `__aeabi_uldivmod'

This issue is caused by the wrongly optimized code produced by GCC,
See the bug report here: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48783

The similar build break issue report at:
http://lists.infradead.org/pipermail/linux-mtd/2012-May/041677.html

Signed-off-by: Jason Liu <r64343@freescale.com>
10 years agoENGR00256918 IPUv3 common:Correct CSI_PRP_MEM disable routine
Liu Ying [Mon, 1 Apr 2013 08:52:27 +0000 (16:52 +0800)]
ENGR00256918 IPUv3 common:Correct CSI_PRP_MEM disable routine

For both CSI_MEMx and CSI_PRP_VF(ENC)_MEM capture channels,
we disable them with the following sequence:
1) Wait for an idmac channel eof interrupt.
2) Disable CSI by clearing CSIx_EN in IPU_CONF register.
3) Disable idmac channel by clearing relevant bit in
   IPU_IDMAC_CH_EN_1 register and other settings.

However, currently, we don't do 3) until CSI_PRP_VF(ENC)_MEM's
idmac channel being not busy by a while loop check. In case, an
external sensor is plugged out from the system or the sensor is
somehow broken, we will be unable to get out of that infinite
while loop. Since this check is unnecessary(we've already
waited for an idmac eof interrupt), this patch simply removes
it from the disable routine of CSI_PRP_VF(ENC)_MEM channel.

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

10 years agoENGR00255371 v4l2 fg overlay:workaround ipu warning
Liu Ying [Wed, 27 Mar 2013 07:45:49 +0000 (15:45 +0800)]
ENGR00255371 v4l2 fg overlay:workaround ipu warning

There is annoying ipu warning when doing preview
by using v4l2 fg overlay component:
/unit_tests/mxc_v4l2_overlay.out -iw 320 -ih 240 -ow 1280
-oh 720 -r 0 -fg -t 5
imx-ipuv3 imx-ipuv3.0: IDMAC12's EBA0 is not 8-byte aligned
This warning can be seen only when preview size is bigger
than 1024*1024(ipu device driver split mode is enabled).
After debug, it appears that the unaligned buffer address
is caused by input cropping for left strip, and this
cropping is triggered by the split mode algrithm. The
algrithm is complex, so currently this patch only changes
the input pixel format of the ipu task from UYVY to NV12
to workaround this warning.

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

10 years agoENGR00253652 ov5640 dvp:Align iq setting with mipi camera
Liu Ying [Mon, 25 Mar 2013 03:32:36 +0000 (11:32 +0800)]
ENGR00253652 ov5640 dvp:Align iq setting with mipi camera

According to the OV FAE, the image quality(iq) setting is
from 0x5000 register to 0x3a1f register in the camera's
initialization setting. This patch aligns image quality
setting of ov5640 dvp camera to ov5640 mipi camera.
The registers whose values are changed are 0x5001, 0x5189,
0x518b, 0x518d, 0x518e, 0x518f, 0x5199, 0x519c and 0x519d.
This change may improve the image quality of 5M/1M/VGA/QVGA
taken pictures in Android according to test team observation.

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

10 years agoENGR00237365: board-mx6q_sabreauto fix mipi-csi2 settings
Adrian Alonso [Tue, 19 Feb 2013 16:49:19 +0000 (10:49 -0600)]
ENGR00237365: board-mx6q_sabreauto fix mipi-csi2 settings

* Correct mipi-csi2 settings only one data line is used
* Add mx6q_mipi_csi1_io_init ipu-csi setting callback
  use virtual channel 1 and attach it to CSI1 -> IPU0
* Set i2c slave address to 0x52
* Set ipu-csi clko_clk

Signed-off-by: Adrian Alonso <aalonso@freescale.com>
10 years agoENGR00254896 mx6: hdmidongle: Fix compile error.
Zhang Xiaodong [Wed, 20 Mar 2013 08:06:35 +0000 (16:06 +0800)]
ENGR00254896 mx6: hdmidongle: Fix compile error.

After enable PICE in kernel config, building will meet
fatal error:linux/wakelock.h: No such file or directory

Signed-off-by: Zhang Xiaodong <B39117@freescale.com>
10 years agoENGR00243289 egalax_ts: Add support for single-touch
Eric Nelson [Thu, 30 Aug 2012 04:50:30 +0000 (21:50 -0700)]
ENGR00243289 egalax_ts: Add support for single-touch

Add support for single-touch for the Egalax Touch driver

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@freescale.com>
10 years agoENGR00256315-5 mtd: cfi_cmdset_0002: print @adr when write timeout occurs
Huang Shijie [Mon, 1 Apr 2013 09:32:00 +0000 (17:32 +0800)]
ENGR00256315-5 mtd: cfi_cmdset_0002: print @adr when write timeout occurs

Print out the @adr when the write timeout occurs.
This is useful to check if the write timeouts occur at the
same address.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00256315-4 ARM: imx6: weim-nor: set proper PAD value
Huang Shijie [Mon, 1 Apr 2013 05:54:09 +0000 (13:54 +0800)]
ENGR00256315-4 ARM: imx6: weim-nor: set proper PAD value

Set the proper pad values for the pins used for address.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00256315-3 ARM: WEIM-NOR: set the proper timing
Huang Shijie [Fri, 22 Mar 2013 07:14:08 +0000 (15:14 +0800)]
ENGR00256315-3 ARM: WEIM-NOR: set the proper timing

These timings are calculated from the M29W256GL7AN6E.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00256315-2 Revert "ENGR00244769-1 [NOR FLASH]-Improve WEIM NOR speed"
Huang Shijie [Tue, 26 Mar 2013 05:50:03 +0000 (13:50 +0800)]
ENGR00256315-2 Revert "ENGR00244769-1 [NOR FLASH]-Improve WEIM NOR speed"

This reverts commit 4020b38fe2f0283af7630dbed28ed32d64118a83.

After apply these two patches, we can not pass the stress test.
So revert these two patches.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00256315-1 Revert "ENGR00244769-2 [NOR FLASH]-Improve WEIM NOR speed"
Huang Shijie [Tue, 26 Mar 2013 05:49:37 +0000 (13:49 +0800)]
ENGR00256315-1 Revert "ENGR00244769-2 [NOR FLASH]-Improve WEIM NOR speed"

This reverts commit 58209e14383520d58b1bf74e0e9f98f7d05b80c6.

After apply these two patches, we can not pass the stress test.
So revert these two patches.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00256893-2 MX6Q/DL-Fix Ethernet performance issue when WAIT mode is active
Ranjani Vaidyanathan [Mon, 1 Apr 2013 21:03:31 +0000 (16:03 -0500)]
ENGR00256893-2 MX6Q/DL-Fix Ethernet performance issue when WAIT mode is active

All of the interrupts from the ENET block are not routed to
the GPC block. Hence ENET interrupts are not able to wake
up the SOC when the system is in WAIT mode. And the ENET
interrupt gets serviced only when another interrupt causes
the SOC to exit WAIT mode. This impacts the ENET performance.

To fix the issue two options:
1. Route the ENET interrupt to a GPIO. Need to enable the
CONFIG_MX6_ENET_IRQ_TO_GPIO in the config.
This patch provides support for routing the ENET interrupt
to GPIO_1_6. Routing to this GPIO requires no HW board mods.
If the GPIO_1_6 is being used for some other peripheral,
this patch can be followed to route the ENET interrupt to
any other GPIO though a HW mode maybe required.
2. If the GPIO mechanism cannot be used and is not enabled
by the above mentioned config, the patch will disable entry
to WAIT mode until ENET clock is active. When the ENET clock
is disabled, WAIT mode will be automatically enetered.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
10 years agoENGR00256893-1 MX6Q/DL-Fix Ethernet performance issue when WAIT mode is active
Ranjani Vaidyanathan [Mon, 1 Apr 2013 21:02:35 +0000 (16:02 -0500)]
ENGR00256893-1 MX6Q/DL-Fix Ethernet performance issue when WAIT mode is active

All of the interrupts from the ENET block are not routed to
the GPC block. Hence ENET interrupts are not able to wake
up the SOC when the system is in WAIT mode. And the ENET
interrupt gets serviced only when another interrupt causes
the SOC to exit WAIT mode. This impacts the ENET performance.

To fix the issue two options:
1. Route the ENET interrupt to a GPIO. Need to enable the
CONFIG_MX6_ENET_IRQ_TO_GPIO in the config.
This patch provides support for routing the ENET interrupt
to GPIO_1_6. Routing to this GPIO requires no HW board mods.
If the GPIO_1_6 is being used for some other peripheral,
this patch can be followed to route the ENET interrupt to
any other GPIO though a HW mode maybe required.
2. If the GPIO mechanism cannot be used and is not enabled
by the above mentioned config, the patch will disable entry
to WAIT mode until ENET clock is active. When the ENET clock
is disabled, WAIT mode will be automatically enetered.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
10 years agoENGR00256933 ASoC: WM8962: Add delay after FLL-enable
Nicolin Chen [Tue, 2 Apr 2013 07:27:01 +0000 (15:27 +0800)]
ENGR00256933 ASoC: WM8962: Add delay after FLL-enable

  There's a start-up time after FLL_ENA bit is set. While the driver didn't
run the delay code which already exists in the set_fll() function.
  This patch let the driver run into the delay section, and made it work more
perfectly.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00256310 ASoC: imx-wm8962: Fix playback abnormally slower issue
Nicolin Chen [Tue, 2 Apr 2013 05:39:25 +0000 (13:39 +0800)]
ENGR00256310 ASoC: imx-wm8962: Fix playback abnormally slower issue

  Previously, we didn't close FLL after playback/capture, which might cause
FLL work werid after a long time suspend.
  This patch manually disables FLL after playback/capture.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoASoC: wm8962: Don't automatically enable and disable FLL
Mark Brown [Fri, 27 Jan 2012 19:54:03 +0000 (19:54 +0000)]
ASoC: wm8962: Don't automatically enable and disable FLL

Only enable and disable the FLL when explicitly told to, supporting some
additional use cases and making the driver behaviour more standard.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
(cherry picked from commit a968d9db3b3a9329587b09bd15f4981473c63a9d)

10 years agoENGR00256543 mx6: Update equation for thermal sensor on i.MX6DL
Anson Huang [Fri, 29 Mar 2013 01:44:41 +0000 (09:44 +0800)]
ENGR00256543 mx6: Update equation for thermal sensor on i.MX6DL

Use universal equation and 25C's calibration data to
get thermal sensor's ratio on i.MX6DL.

Signed-off-by: Anson Huang <b20788@freescale.com>
10 years agoENGR00256820-2 ASoC: imx-wm8962: Fix incorrect setting of wm8962's FLL source
Nicolin Chen [Mon, 1 Apr 2013 09:52:17 +0000 (17:52 +0800)]
ENGR00256820-2 ASoC: imx-wm8962: Fix incorrect setting of wm8962's FLL source

  WM8962's internal FLL is sourced from MCLK on SabreSD, while the machine
driver set its source to OSC, which's definitely wrong.
  So This patch changed its source to MCLK to prevent some potential issue.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00256820-1 ASoC: WM8962: revert FLL-disable before FLL-setting
Nicolin Chen [Mon, 1 Apr 2013 09:51:30 +0000 (17:51 +0800)]
ENGR00256820-1 ASoC: WM8962: revert FLL-disable before FLL-setting

  The patch at the commit 30293bc6 dropped FLL-disabling code from wm8962
driver, which was a work around for CR 00209905. Since we fixed the issue in
a better way(commit 018958f4), we don't need the work around any more.
  And in wm8962's datasheet, Wolfson suggests that driver should disable and
re-enable the FLL after the other registers're updated. So it's better for us
to revert the code to prevent some potential issue.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00254106 Avoid incorrect GPU frequency scaling be overwritten
Loren Huang [Sat, 30 Mar 2013 05:53:10 +0000 (13:53 +0800)]
ENGR00254106 Avoid incorrect GPU frequency scaling be overwritten

Correct code to remove unnecessary GPU frequency scaling updte.
This patch is from vivante.

Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Lily Zhang
10 years agoENGR00256629 V4L2 output: Fix color bar issue on 1080p HDMI display
Wayne Zou [Mon, 25 Mar 2013 04:56:46 +0000 (12:56 +0800)]
ENGR00256629 V4L2 output: Fix color bar issue on 1080p HDMI display

When doing video playback on video16, which is also the first framebuffer
and used for fb console as well, there is a color bar on top of 1080p screen.
We need to make sure the correct vmode when doing pan display.

Signed-off-by: Wayne Zou <b36644@freescale.com>
10 years agoENGR00255104 The opening time of cs42888 is very long, about 400ms
b02247 [Fri, 29 Mar 2013 06:09:43 +0000 (14:09 +0800)]
ENGR00255104 The opening time of cs42888 is very long, about 400ms

In this commit 957bc47ffbad8532f0e8f6463946e8c04bc3176f, add msleep(400)
for reducing noise in the hw_params, but this time is very long for opening
device.
In this patch, remove this time and use the "Soft Ramp on Zero Crossings" to
reduce the noise.

Signed-off-by: b02247 <b02247@freescale.com>
10 years agoENGR00255406 net: fec: Workaround tx hang due to TDAR bit cleared by uDMA
Fugang Duan [Wed, 27 Mar 2013 10:23:16 +0000 (18:23 +0800)]
ENGR00255406 net: fec: Workaround tx hang due to TDAR bit cleared by uDMA

MTIP enet IP have one IC issue recorded at PDM ticket:TKT168103

The issue description:
The TDAR bit after being set by software is not acted upon by the ENET
module due to the timing of when the ENET state machine clearing the
TDAR bit occurring coincident or momentarily after the software sets
the bit.

The result:
The corresponding transmit packet for an incoming ping is delayed.

Workaround:
This forces the ENET module to check the Transmit buffer descriptor
and take action if the “ready” flag is set. Otherwise the ENET module
returns to idle mode.

Signed-off-by: Fugang Duan <B38611@freescale.com>
10 years agoENGR00255322 Disable non-contiguous memory using for VG
Loren Huang [Thu, 28 Mar 2013 10:14:17 +0000 (18:14 +0800)]
ENGR00255322 Disable non-contiguous memory using for VG

Current OpenVG doesn't support to use non-contiguous memory.
Forbid VG to try to allocate non-contiguous memory when video
memory is used up temporarily.

Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Lily Zhang
10 years agoENGR00255111 battery: fix voltage decreased only while discharging
Robin Gong [Mon, 25 Mar 2013 06:27:42 +0000 (14:27 +0800)]
ENGR00255111 battery: fix voltage decreased only while discharging

If system run higher cpu loading with bigger current, such as GPU or VPU,
the voltage of battery will decrease down quickly  and rise up later.But the
battery driver only permit voltage decreasing while discharging before, in
other words, in the above case , the voltage will keep in very low level,
although the voltage will rise back again.

Now, remove the constrain in the code. Of course, with the patch, voltage will
down and rise back when run high loading user case, but it's better than
LOW ALWAYS, in worst case, the battery capacity will be 0 as test team reported

Please note :
Current battery capaity is not accurate because of hardware
design defect(ENGR00219632) on Sabresd.So please ignore the accuracy issue.

Signed-off-by: Robin Gong <b38343@freescale.com>
10 years agoENGR00255481 mx6: Update equation for thermal sensor
Anson Huang [Wed, 13 Mar 2013 06:01:01 +0000 (14:01 +0800)]
ENGR00255481 mx6: Update equation for thermal sensor

Use universal equation and 25C's calibration data to
get thermal sensor's ratio.

If want to use old calibration method, please add
"use_calibration" into kernel command line.

Signed-off-by: Anson Huang <b20788@freescale.com>
10 years agoENGR00255491 ov5640: Fix build break by make modules
Robby Cai [Fri, 22 Mar 2013 05:27:11 +0000 (13:27 +0800)]
ENGR00255491 ov5640: Fix build break by make modules

Fix the kernel modules building error for mx6q/mx6dl as follows:

LD [M] drivers/usb/gadget/g_serial.o
Building modules, stage 2.
MODPOST 48 modules
ERROR: "csi_enable_mclk" [drivers/media/video/mxc/capture/ov5640_camera.ko]
undefined!
make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2

Signed-off-by: Robby Cai <R63905@freescale.com>
10 years agoENGR00255484-3 msl: usb: add clock deinit at fail path
Peter Chen [Fri, 22 Mar 2013 05:46:23 +0000 (13:46 +0800)]
ENGR00255484-3 msl: usb: add clock deinit at fail path

If not, the clocks usage will be mismatch

Signed-off-by: Peter Chen <peter.chen@freescale.com>
10 years agoENGR00255484-2 usb: ehci-arc: add NULL pointer check for pdata->pdev
Peter Chen [Fri, 22 Mar 2013 05:16:22 +0000 (13:16 +0800)]
ENGR00255484-2 usb: ehci-arc: add NULL pointer check for pdata->pdev

The pdata->pdev is initialized at platform code, if init
fails at first, it will be not initialized, and platform exit
will not be called. This also fixes an oop when config usb
module wrongly:

Unable to handle kernel NULL pointer dereference at virtual address 0000005c
pgd = ba1c4000
[0000005c] *pgd=4a145831, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1] PREEMPT SMP
Modules linked in: ehci_hcd(+) usbcore
CPU: 1    Not tainted  (3.0.35-02451-ge361da1 #60)
PC is at fsl_usb_host_uninit_ext+0xc/0x28
LR is at usb_hcd_fsl_probe+0x2c8/0x44c [ehci_hcd]
pc : [<80062b58>]    lr : [<7f060934>]    psr: a0000013
sp : ba11be80  ip : 00005027  fp : 000a76e0
r10: 00000048  r9 : ba11a000  r8 : bfd4d608
r7 : ffffffed  r6 : bfd4d600  r5 : bfc84400  r4 : 80aaee48
r3 : 80062b4c  r2 : 00000000  r1 : 60000093  r0 : 00000000
Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 10c53c7d  Table: 4a1c404a  DAC: 00000015
Process modprobe (pid: 1555, stack limit = 0xba11a2f0)
Stack: (0xba11be80 to 0xba11c000)
be80: bfd97600 7f060934 00000000 00000000 bfd4d608 bfd4d608 80aca808 bfd4d63c
bea0: 7f062bd4 80041704 ba11a000 00000000 000a76e0 802a5cec bfd4d608 802a4a14
bec0: bfd4d608 7f062bd4 bfd4d63c 00000000 80041704 802a4bac 7f062bd4 ba11bee8
bee0: 802a4b20 802a4254 bffd4040 bff03f38 7f065000 7f062bd4 80a934c8 bfc8cd20
bf00: 00000000 802a3be0 7f062b1c 7f062bd4 00000000 7f017ec8 7f062bd4 00000000
bf20: 7f065000 80041704 00000000 802a51a0 7f017ec8 80aae500 00000000 7f065000
bf40: 80041704 7f065058 000a79e8 8003b4c4 00000000 00000000 00000000 80a14834
bf60: 000a79e8 000a79e8 7f062c20 00000000 0000e67b 80041704 ba11a000 00000000
bf80: 000a76e0 800aa428 ba076740 800f58dc 000a79e8 0000e67b 00000000 000a75d0
bfa0: 00000080 80041580 0000e67b 00000000 000a79e8 0000e67b 000a75d0 000a76e0
bfc0: 0000e67b 00000000 000a75d0 00000080 000a6a78 00000008 000a76a0 000a76e0
bfe0: 7ec7ab50 7ec7ab40 0001a32c 2ace6490 20000010 000a79e8 4fffe821 4fffec21
[<80062b58>] (fsl_usb_host_uninit_ext+0xc/0x28) from [<7f060934>]
(usb_hcd_fsl_probe+0x2c8/0x44c [ehci_hcd])
[<7f060934>] (usb_hcd_fsl_probe+0x2c8/0x44c [ehci_hcd]) from [<802a5cec>]
(platform_drv_probe+0x18/0x1c)
[<802a5cec>] (platform_drv_probe+0x18/0x1c) from [<802a4a14>]
(driver_probe_device+0x98/0x1a4)
[<802a4a14>] (driver_probe_device+0x98/0x1a4) from [<802a4bac>]
(__driver_attach+0x8c/0x90)
[<802a4bac>] (__driver_attach+0x8c/0x90) from [<802a4254>]
(bus_for_each_dev+0x60/0x8c)
[<802a4254>] (bus_for_each_dev+0x60/0x8c) from [<802a3be0>]
(bus_add_driver+0x184/0x25c)
[<802a3be0>] (bus_add_driver+0x184/0x25c) from [<802a51a0>]
(driver_register+0x78/0x13c)
[<802a51a0>] (driver_register+0x78/0x13c) from [<7f065058>]
(ehci_hcd_init+0x58/0x88 [ehci_hcd])
[<7f065058>] (ehci_hcd_init+0x58/0x88 [ehci_hcd]) from [<8003b4c4>]
(do_one_initcall+0x30/0x16c)
[<8003b4c4>] (do_one_initcall+0x30/0x16c) from [<800aa428>]
(sys_init_module+0x84/0x19c)
[<800aa428>] (sys_init_module+0x84/0x19c) from [<80041580>]
(ret_fast_syscall+0x0/0x30)
Code: 80aaee48 e92d4010 e30e4e48 e34840aa (e590005c)
---[ end trace 719afdfe4af3a442 ]---

Signed-off-by: Peter Chen <peter.chen@freescale.com>
10 years agoENGR00255484-1 msl: usb: add NULL poiner check for fsl_xcvr_ops
Peter Chen [Thu, 21 Mar 2013 02:12:07 +0000 (10:12 +0800)]
ENGR00255484-1 msl: usb: add NULL poiner check for fsl_xcvr_ops

Add NULL pointer check for global fsl_xcvr_ops

Signed-off-by: Peter Chen <peter.chen@freescale.com>