summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2013-10-21colibri_vf50: hackish USBH_PEN implementationColibri_VF50_LinuxImageV2.1Beta1_20131022Marcel Ziswiler
Add a hackish way of enabling USBH_PEN as required for USB host port on Iris. Please note that for now this is not integrated with USB class stuff. Just direct straight GPIO enabling.
2013-10-21colibri_vf50: setup memory if mem= is not passed to kernelMarcel Ziswiler
Setup at least a 128 MB big mapping analogous to the following: 5761904d59d84fadadc65de306cb1cba17f49e2a
2013-10-21colibri_vf50: enable uart rts/ctsMarcel Ziswiler
Enable RTS/CTS on UART_A aka UART0 and UART_B aka UART2.
2013-10-21colibri_vf50: integrate backlightMarcel Ziswiler
Integrate backlight using both BL_ON GPIO and PWM<A>. Note: Just disabled PWM LEDs for now (e.g. first need to figure out how the mapping of different FTMs to their channels actually works).
2013-10-21colibri_vf50: iomux: re-work pin muxingMarcel Ziswiler
Re-work pin muxing: - FTM aka PWM without open drain enable - DSPI1 - USBH_PEN, USBC_DET and USB_OC - EXT_AUDIO_MCLK - clean-up touchscreen pins - BL_ON - UART0 RTS/CTS and UART2 NAND pins are still missing (e.g. rely on U-Boot already having done their configuration. While at it clean-up includes as well.
2013-10-21colibri_vf50: disable magic sysrq key configurationMarcel Ziswiler
Disable magic SysRq key configuration as this is not only a potential security thread but can cause serious trouble if for some reason UART pins are left floating and therefore cause unexpected break conditions.
2013-10-21colibri_vf50: decrease dma zone size configurationMarcel Ziswiler
Decrease DMA zone size configuration analogous to Freescale's tower.
2013-10-21colibri_vf50: enable tmpfs posix acl configurationMarcel Ziswiler
Enable TMPFS POSIX ACL configuration to avoid systemd errors of the following kind: [ 27.619666] systemd-logind[269]: Failed to apply ACLs: Operation not supported
2013-10-21colibri_vf50: re-enable L2 cache configurationMarcel Ziswiler
Re-enable resp. do not explicitly disable L2 cache configuration after it now properly checks whether or not L2 cache is actually present at all: 57a25827428efb7e8cc2eb6e59c529b5093a98e5
2013-10-21Merge branch '3.0-mvf' into colibri_vfMarcel Ziswiler
2013-10-04Fix typo in MVF_USBPHY1_BASE_ADDR that caused a segmentation fault3.0-vybrid-ts2.7Anthony Felice
to occur when using USB1.
2013-10-04Prevent L2 cache initialisation if CONFIG_CACHE_L2X0 is enabled andAnthony Felice
L2 cache is not present. Author: Roshni Shah <roshni.shah@timesys.com>
2013-10-02colibri_vf50_defconfig: Enable Colibri VF50 touchscreen driverStefan Agner
Enable the Colibri VF50 touchscreen driver by default when using default configuration for Colibri VF50.
2013-10-02colibri-vf50-ts/mvf-adc: Moved touchscreen support in a moduleStefan Agner
The touchscreen support backed by hardware on the Colibri VF50 module and the Vybrid ADC is now moved to a own module for better maintainability. The mvf-adc driver exports some of its method now. A good good locking mechanism is still missing.
2013-10-02mvf_adc: Add touch detection supportStefan Agner
In order to be more energy efficient sample the ADC channels only if touch is detected. Do the pinmux in the platform specific code, extended the platform data with those helper functions.
2013-09-30mvf_adc: Initial touchscreen supportStefan Agner
The Vybrid VF50 support 4-wire touchscreens using FETs and ADC inputs. This drivers extends the ADC driver to deliver initial support for this interface.
2013-09-24mvf-gpio: Don't overwrite mux flagsStefan Agner
In order to use GPIOs in floating mode, the GPIO driver should not alter the muxing settings made by pinmux. This patch reads the current muxing settings and alters only the direction.
2013-09-24mvf: Added clock and register platform data for ADC1Stefan Agner
Add clock information and platform data for ADC1. Those data are used by the driver to create the second ADC instance.
2013-09-24colibri_vf50: Added pinmux for touchscreen support on Colibri VF50Stefan Agner
Touchscreen will be supported through ADC and some GPIOs. This change adds proper pinmux, no driver support yet.
2013-09-23Revert "colibri_vf50: remove unused nand platform data"Marcel Ziswiler
This reverts commit f8852e8d0595f6c3f9d2073d45d6e3cbc52816c6.
2013-09-23colibri_vf50: remove unused nand platform dataMarcel Ziswiler
Get rid of the unused NAND controller driver platform data.
2013-09-23colibri_vf50: disable software ecc, enable adc and debugfsMarcel Ziswiler
Disable NAND controller software ECC in order to use hardware ECC. Enable ADC driver as well as debugfs file system.
2013-09-16colibri_vf50: iomux: increase display pin drive strengthMarcel Ziswiler
Increase display pin drive strength by terminating with 75 instead of 150 ohm.
2013-09-16colibri_vf50: clock: set DCU clock to 150.7 MHzMarcel Ziswiler
Set DCU clock to 150.7 MHz which allows further dividing to VESA compliant pixel clocks.
2013-09-16mvf: clock: fix DCU clock roundingMarcel Ziswiler
Fix rounding in the DCU clocking which previously made it impossible to actually set a clock that did not divide to a whole number (e.g. 150666666 Hz from the 452 MHz PFD2 parent clock).
2013-09-16colibri_vf50: enable CPU idle, NEON, ASRC and printk timeMarcel Ziswiler
Enable CPU idle to be able to test the power management functionality. Enable NEON to avoid crashing with our NEON enabled oe-core rootfs. Enable the Asynchronous Sample Rate Converter (ASRC) which is actually available on Vybrids. Enable printk time now with the clock function being fixed thanks to 9195c464ad84836d85aa73aef384fe4382f7770d.
2013-09-13Merge branch '3.0.15_vybrid' into colibri_vfMarcel Ziswiler
2013-09-10colibri_vf50: initial integrationMarcel Ziswiler
Add initial Colibri VF50 support based off Timesys' implementation for Freescale's Vybrid Tower System TWR-VF65GS10: - New machine ID. - FEC1 only. - ESDHC2 only with card detect interrupt. - PLL5 based RMII clocking (e.g. no external crystal). - VESA VGA display timing (tested with 5.7" EDT ET057090DHU). - Default UART_A on SCI0. - UART_A and UART_C I/O muxing. - I2C real time clock on carrier board. - Early boot console support. - 8-bit NAND. Tested on early Colibri VF50 prototypes V1.0a mounting root file systems both over NFS or from SD card ext3 partition.
2013-09-10oprofile, arm/sh: Fix oprofile_arch_exit() linkage issueVladimir Zapolskiy
commit 55205c916e179e09773d98d290334d319f45ac6b upstream. 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. Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@nokia.com> Signed-off-by: Robert Richter <robert.richter@amd.com> Cc: Will Deacon <will.deacon@arm.com> Cc: oprofile-list <oprofile-list@lists.sourceforge.net> Link: http://lkml.kernel.org/r/20111222151540.GB16765@erda.amd.com Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2013-07-31add a test call to determine state ofEd Nash
semaphore without requesting it
2013-07-29add support for spin locksEd Nash
2013-07-29add latency stats and make debugfs writeableEd Nash
2013-07-28fix debugfs worng directory for gate.Ed Nash
cleanup debug comment / code in i2c-imx
2013-07-27add debugfs statistics and some code cleanupEd Nash
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-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-10fix scheduler not seeing time pass, would not interrupt cpu bound processRoshni Shah
Signed-off-by: Ed Nash <ed@kidlearn.com>
2013-02-17add semaphore protection with MQX of I2C busEd Nash
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-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-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>