summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-07-26Support for setting TX clear-to-send in set modem CTRL in MVF Serial Driver3.0.15_vybrid-ts-2.63.0-vybrid-ts2.6roshni.shah
2013-07-26Fixed the uart_tasklet_action NULL pointer deference panic in MVF Serial Driverroshni.shah
2013-07-26MVF Serial Driver Improvements to fix the sysvinit console hang issue.roshni.shah
2013-07-26Removed dead code, corrected comments, print uart settings in MVF Serial Driverroshni.shah
2013-07-26ARM: 7670/1: fix the memset fixNicolas Pitre
Commit 455bd4c430b0 ("ARM: 7668/1: fix memset-related crashes caused by recent GCC (4.7.2) optimizations") attempted to fix a compliance issue with the memset return value. However the memset itself became broken by that patch for misaligned pointers. This fixes the above by branching over the entry code from the misaligned fixup code to avoid reloading the original pointer. Also, because the function entry alignment is wrong in the Thumb mode compilation, that fixup code is moved to the end. While at it, the entry instructions are slightly reworked to help dual issue pipelines. Signed-off-by: Nicolas Pitre <nico@linaro.org> Tested-by: Alexander Holler <holler@ahsoftware.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> (cherry picked from commit 418df63adac56841ef6b0f1fcf435bc64d4ed177)
2013-07-26ARM: 7668/1: fix memset-related crashes caused by recent GCC (4.7.2) ↵Ivan Djelic
optimizations Recent GCC versions (e.g. GCC-4.7.2) perform optimizations based on assumptions about the implementation of memset and similar functions. The current ARM optimized memset code does not return the value of its first argument, as is usually expected from standard implementations. For instance in the following function: void debug_mutex_lock_common(struct mutex *lock, struct mutex_waiter *waiter) { memset(waiter, MUTEX_DEBUG_INIT, sizeof(*waiter)); waiter->magic = waiter; INIT_LIST_HEAD(&waiter->list); } compiled as: 800554d0 <debug_mutex_lock_common>: 800554d0: e92d4008 push {r3, lr} 800554d4: e1a00001 mov r0, r1 800554d8: e3a02010 mov r2, #16 ; 0x10 800554dc: e3a01011 mov r1, #17 ; 0x11 800554e0: eb04426e bl 80165ea0 <memset> 800554e4: e1a03000 mov r3, r0 800554e8: e583000c str r0, [r3, #12] 800554ec: e5830000 str r0, [r3] 800554f0: e5830004 str r0, [r3, #4] 800554f4: e8bd8008 pop {r3, pc} GCC assumes memset returns the value of pointer 'waiter' in register r0; causing register/memory corruptions. This patch fixes the return value of the assembly version of memset. It adds a 'mov' instruction and merges an additional load+store into existing load/store instructions. For ease of review, here is a breakdown of the patch into 4 simple steps: Step 1 ====== Perform the following substitutions: ip -> r8, then r0 -> ip, and insert 'mov ip, r0' as the first statement of the function. At this point, we have a memset() implementation returning the proper result, but corrupting r8 on some paths (the ones that were using ip). Step 2 ====== Make sure r8 is saved and restored when (! CALGN(1)+0) == 1: save r8: - str lr, [sp, #-4]! + stmfd sp!, {r8, lr} and restore r8 on both exit paths: - ldmeqfd sp!, {pc} @ Now <64 bytes to go. + ldmeqfd sp!, {r8, pc} @ Now <64 bytes to go. (...) tst r2, #16 stmneia ip!, {r1, r3, r8, lr} - ldr lr, [sp], #4 + ldmfd sp!, {r8, lr} Step 3 ====== Make sure r8 is saved and restored when (! CALGN(1)+0) == 0: save r8: - stmfd sp!, {r4-r7, lr} + stmfd sp!, {r4-r8, lr} and restore r8 on both exit paths: bgt 3b - ldmeqfd sp!, {r4-r7, pc} + ldmeqfd sp!, {r4-r8, pc} (...) tst r2, #16 stmneia ip!, {r4-r7} - ldmfd sp!, {r4-r7, lr} + ldmfd sp!, {r4-r8, lr} Step 4 ====== Rewrite register list "r4-r7, r8" as "r4-r8". Signed-off-by: Ivan Djelic <ivan.djelic@parrot.com> Reviewed-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: Dirk Behme <dirk.behme@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> (cherry picked from commit 455bd4c430b0c0a361f38e8658a0d6cb469942b5)
2013-07-25oprofile, arm/sh: Fix oprofile_arch_exit() linkage issueVladimir Zapolskiy
This change fixes a linking problem, which happens if oprofile is selected to be compiled as built-in: `oprofile_arch_exit' referenced in section `.init.text' of arch/arm/oprofile/built-in.o: defined in discarded section `.exit.text' of arch/arm/oprofile/built-in.o The problem is appeared after commit 87121ca504, which introduced oprofile_arch_exit() calls from __init function. Note that the aforementioned commit has been backported to stable branches, and the problem is known to be reproduced at least with 3.0.13 and 3.1.5 kernels. Cc: stable@kernel.org # 3.0+ Cc: Will Deacon <will.deacon@arm.com> Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@nokia.com> Signed-off-by: Robert Richter <robert.richter@amd.com>
2013-07-25twr-vf700: setup memory if mem= is not passed to kernelAndy Voltz
2013-07-02Fix for 51540: clock() function returns too large values3.0-vybrid-ts2.5Makarand Kulkarni
The issue was caused due to sched_clock() inplementation in pit.c which reported values which were incosistent with what it should
2013-05-10Don't reassign pads PTB6 and PTB7. They are used for uart-2 which is the ↵3.0-vybrid-ts2.4Ed Nash
default console (i.e. printf) for MQX as of the beta-3 release.
2013-05-06Update hw_breakpoint implementation in order to support CONFIG_PERF_EVENTSAnthony Felice
2013-04-26Fix SDHC card timeout error.3.0-vybrid-ts2.3Anthony Felice
2013-04-26Add initial KGDB support.3.0-vybrid-ts2.2Anthony Felice
2013-04-26use dma bufeers rather than kmalloc buffers to make sure coherent ram ↵Ed Nash
between cpu and dcu. This showed up when painting a large bootlogo. holes would appear and then fill in as the boot progressed.
2013-04-23limit Linux use of SRAM so as not to conflict with MQX. Similarly, leave M4 ↵3.0-vybrid-ts33.0-vybrid-ts2.1Ed Nash
routing interrupt routing bits unchanged
2013-03-14Fix serial bug when recieving a file3.0-vybrid-ts2Andy Voltz
When serial-transmit a file from host to target, an error "BUG: scheduling while atomic: cat/998/0x00010002" occurs. BUG: scheduling while atomic: cat/998/0x00010002 Modules linked in: Pid: 998, comm: cat CPU: 0 Not tainted (3.0.15 #1) PC is at n_tty_write+0x260/0x43c LR is at tty_write_room+0x20/0x2c pc : <80204700> lr : <80206194> psr: 60000013 sp : 863b9e78 ip : 8038e378 fp : 863b9ec4 r10: 00000fff r9 : 863b6400 r8 : 86165d80 r7 : 863b8000 r6 : 86368b6c r5 : 86368800 r4 : 00000002 r3 : 00000010 r2 : 00000000 r1 : 00000040 r0 : 00000002 Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user Control: 10c53c7d Table: 863f8059 DAC: 00000015 <80031f5c> (show_regs+0x0/0x54) from <803761f0> (__schedule_bug+0x4c/0x60) r4:863b9e30 r3:60000193 <803761a4> (__schedule_bug+0x0/0x60) from <8037941c> (__schedule+0x35c/0x3c4) Thanks to Tadayoshi Arai <ara@lineo.co.jp> for reporting this and submitting this patch
2013-03-10fix scheduler not seeing time pass, would not interrupt cpu bound processRoshni Shah
Signed-off-by: Ed Nash <ed@kidlearn.com>
2013-02-17extend timout for sema4 grab3.0-vybrid-ts1Ed Nash
2013-02-17add semaphore protection with MQX of I2C busEd Nash
2012-12-12fsl_nfc: Add default partitioningJustin Waters
Allows the NAND to properly probe if cmdline partitioning is not specified. Otherwise, it will fail silently.
2012-12-12Default configuration update for CAAM driverJason Jin
manually integrate from the CAAM part by Jason Signed-off-by: Jason Jin <Jason.jin@freescale.com>
2012-12-12Vybrid CAAM driverJason Jin
From Singh Pradip-B09147. Integrate by Jason Jin Signed-off-by: Jason Jin <Jason.jin@freescale.com>
2012-12-12mvf: update default kernel config for FaradayAlison Wang
Signed-off-by: Alison Wang <b18965@freescale.com>
2012-12-12ENGR00181365-2: ADC: Add driver support for ADC VybridWang Xiaojun
Add driver support for ADC Vybrid. Signed-off-by: Wang Xiaojun <b41435@freescale.com>
2012-12-12ENGR00181365-1: ADC: Add platform support for ADC driverWang Xiaojun
Add platform support for ADC driver. Signed-off-by: Wang Xiaojun <b41435@freescale.com>
2012-12-12ENGR00216081-2:Errata workaround for usb suspend and resumeJingchang Lu
Toggle PHYPWD.PWD after set PORTSC.SUSP with 8ms to trigger the LS_SE0/LS_EOP append flag after resume within UTM block. Signed-off-by: Jingchang Lu <b35083@freescale.com>
2012-12-12ENGR00216081-1:Add USB host and gadget PM supportJingchang Lu
Handle usb suspend/resume, currently the BSP doesn't support usb plug/unplug wakeup. Signed-off-by: Jingchang Lu <b35083@freescale.com>
2012-12-12ENGR00216087-2:Add Vybrid ASRC platform deviceJingchang Lu
Signed-off-by: Jingchang Lu <b35083@freescale.com>
2012-12-12ENGR00216087-1: ASRC support for VybridJingchang Lu
The ASRC driver supports stereo audio streams resample, the ASRCK1 serial clock using audio external clock source can not support 44.1K sample rate due to divider and prescaler restriction. Signed-off-by: Jingchang Lu <b35083@freescale.com>
2012-12-12ENGR00216076-3: DSPI: Update DSPI driver for PMAlison Wang
Update power management part for DSPI driver. Signed-off-by: Alison Wang <b18965@freescale.com>
2012-12-12ENGR00216076-2: DCU: Update DCU driver for PM and blending issueAlison Wang
Fix layers blending and reinitialization issue for DCU driver. Update power management part for DCU driver. Signed-off-by: Alison Wang <b18965@freescale.com>
2012-12-12ENGR00216076-1: PM: Add Power Management driver for VybridAlison Wang
System could run into STOP and LPRun modes. When system was working in STOP mode, pressing SW1 button or inserting or removing SD card could wake up it. Signed-off-by: Alison Wang <b18965@freescale.com>
2012-10-17ENGR00216078-2: switch: add L2 switch driver for Vybrid3.0-mvf-201210121659Jason Jin
Port the L2 switch driver from CF platform for Vybridi plaform. This driver usually should work together with the RSTP demo applications provided by fsl. Signed-off-by: Alison Wang <b18965@freescale.com> Signed-off-by: Jason Jin <Jason.jin@freescale.com>
2012-10-17ENGR00216078-1: switch: add platform support for L2 switchJason Jin
Add platform support for Vybrid L2 switch driver. Signed-off-by: Jason Jin <Jason.jin@freescale.com>
2012-10-17ENGR00181358-3: fec: add second FEC support for VybridAlison Wang
Add second FEC support for Vybrid. Signed-off-by: Alison Wang <b18965@freescale.com>
2012-10-17ENGR00212250-2: watchdog: Add watchdog driver support for VybridAlison Wang
Add watchdog driver support for Vybrid. Signed-off-by: Wang Xiaojun <b41435@freescale.com>
2012-10-17ENGR00212250-1: watchdog: Add platform support for watchdog driverAlison Wang
Add platform support for watchdog driver. Signed-off-by: Wang Xiaojun <b41435@freescale.com>
2012-10-17ENGR00181395-1: Add UART MISC functions support for FaradayJingchang Lu
Add hardware flow control support, Add transmit DMA support, Add FIFO operation support, Add MSB/LSB on data support, Add 9-bits MARK/SPACE support. Signed-off-by: Jingchang Lu <b35083@freescale.com>
2012-10-17ENGR00181390-2: qspi: Add Quad SPI driver support for VybridAlison Wang
Add Quad SPI driver support for Vybrid. Signed-off-by: Alison Wang <b18965@freescale.com> Xiaochun Li <b41219@freescale.com>
2012-10-17ENGR00181390-1: qspi: Add platform support for Quad SPI driverAlison Wang
Add platform support for Quad SPI driver. Signed-off-by: Alison Wang <b18965@freescale.com> Xiaochun Li <b41219@freescale.com>
2012-10-17ENGR00181407-3: Add Compaq touch screen interface for nano-xAlison Wang
Add Compaq touch screen interface for nano-x. Nano-x work with touch screen driver via Compaq touch screen event format, this patch could add the support above mouse device. Signed-off-by: Alison Wang <b18965@freescale.com>
2012-10-17ENGR00181407-2: ts: add touch screen driver support for VybirdAlison Wang
Add touch screen driver support for Vybird. Signed-off-by: Alison Wang <b18965@freescale.com>
2012-10-17ENGR00181407-1: ts: add platform support for touch screen driverAlison Wang
Add platform support for touch screen driver. Signed-off-by: Alison Wang <b18965@freescale.com>
2012-10-17ENGR00180953-2: dspi: update dspi driver support for VybridAlison Wang
Update dspi driver support for Vybrid after debugging on board. Signed-off-by: Jason Jin <jason.jin@freescale.com> Alison Wang <b18965@freescale.com>
2012-10-17ENGR00180953-1: dspi: update platform support for dspi driverAlison Wang
Update platform support for dspi driver after debugging on board. Signed-off-by: Jason Jin <jason.jin@freescale.com> Alison Wang <b18965@freescale.com>
2012-10-17ENGR00180956-3: Add PWM LED device support on MVF600Jingchang Lu
Four LEDS are connected to FTM0 ch0~3 on TWR-MVF600 board, the PWM signal can use control these LEDS on/off or demo. Signed-off-by: Jingchang Lu <b35083@freescale.com>
2012-10-17ENGR00180956-2: Add FlexTimer PWM support on FaradayAlison Wang
The FlexTimer work on PWM mode with EPWM and CPWM supported. The API configures each FTM channels the same due to pwm subsystem interface restriction. Signed-off-by: Jingchang Lu <b35083@freescale.com>
2012-10-17ENGR00180956-1: Add FlexTimer PWM device clock for FaradayJingchang Lu
Signed-off-by: Jingchang Lu <b35083@freescale.com>
2012-09-12ENGR00220352: Fix reboot hung after set uart baudrate3.0-mvf-201208141602Jingchang Lu
Signed-off-by: Jingchang Lu <b35083@freescale.com>
2012-09-12Enable the FEC as modulesJason Jin
Signed-off-by: Jason Jin <Jason.jin@freescale.com>