summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-03-14colibri_vf: add PWM LED platform data for PWM channelsStefan Agner
Add platform data for PWM channels B, C and D to be LED PWM. The PWM value can now be set from userspace using /sys/class/leds/PWM*.
2014-03-14colibri_vf: build AC97 as a moduleStefan Agner
The AC97 driver is not yet finished and has problems with power management. Build it as a module so users can load it if required.
2014-03-14colibri_vf: conditional platform data for CAN MCP251XStefan Agner
The Colibri Evaluation Board V3.1a has a on-board SPI CAN controller MCP251X. This patch adds platform data for this device. However, to have CAN support, some configuration have to be enabled: CONFIG_CAN CONFIG_CAN_RAW CONFIG_CAN_BCM CONFIG_CAN_DEV Plus support for the SPI device itself: CONFIG_CAN_MCP251X
2014-03-13dspi: fix dma for SPI1Stefan Agner
Fix registers and channels for SPI1, however using SPI with DMA still doesn't work (dspi_interrupt doesn't fire).
2014-03-13dspi: use parent clock for clock calculationStefan Agner
Use the supplied parent clock for SPI clock calculation. This results in correct clock calculation for 396MHz/500MHz Vybrid SoCs. Also fix an calculation issue: Another division by 2 is not required, the prescaler is taken into account already.
2014-03-12mvf: clock/colibri_vf: add dspi1 clock definition/enable dspi1Stefan Agner
Enable Colibri SPI pins using DSPI1. Define required clocks for DSPI1 and initialize the device on init. Currently the device is available through spidev (/dev/spidev1.0).
2014-03-12dspi: define mode_bitsStefan Agner
Define drivers supported mode using mode_bits. This fixes warnings which claim that hardware don't support modes which actually are supported, e.g. [ 64.586777] spidev spi1.0: setup: unsupported mode bits 3
2014-03-06phy/micrel: Add suspend/resume support to Micrel PHYsStefan Agner
All supported Micrel PHYs implement the standard "power down" bit 11 of BMCR, so this patch adds support using the generic genphy_{suspend,resume} functions. Backported patch by Patrice Vilchez, see 1a5465f5d6a23e84ef5c06cb32f3d8c26632f42a
2014-03-06colibri_vf: enable wake-up pinsStefan Agner
Register wake-up pins on SO-DIMM 43/45 (PTB19/PTB20) to trigger on falling edge. This allows to wake up the SoC from low-power modes such das suspend-to-RAM or standby. Also, on standby (when pheripherials are on) we allow to wake using serial interrupt (UART0).
2014-03-04mvf_dcu: polarity parametersStefan Agner
Add boot time parameters for pixelclock, hsync and vsync polarity. The parameters are aligned with pxafb and tegrafb, e.g. video=dcufb:pixclockpol:1,800x480@60
2014-03-04colibri_vf: register power_off functionStefan Agner
By registring a power_off command the kernel does not go to halt state but instead tries to power off. Our power off function sets the SoC in a low power stop mode, which essentially turns itself off almost completely.
2014-02-17serial: mvf: enable FIFO even when using serial consoleStefan Agner
Enable FIFO unconditionally, even when CONFIG_SERIAL_CORE_CONSOLE is turned on. Serial consoles get enabled anyway, but this compile time switch lead to disabling FIFO for all serial ports. Not using FIFO when using a serial port might lead to missing characters quite easily.
2014-02-04serial: mvf: fix NULL pointer dereference in rx_workStefan Agner
When a process is closed while work is pending, the receiving tty might be closed when the work is actually scheduled. This leads to a kernel NULL pointer dereference. Check if tty is still there before submitting new data. Unable to handle kernel NULL pointer dereference at virtual address 000000bc pgd = c0004000 [000000bc] *pgd=00000000 Internal error: Oops: 17 [#1] PREEMPT Modules linked in: CPU: 0 Not tainted (3.0.15-00021-gc52df36 #198) PC is at tty_flip_buffer_push+0x28/0x84 LR is at rx_work+0x20/0x2c pc : [<c025a380>] lr : [<c026ba9c>] psr: 200f0093 sp : ca015f78 ip : 00000001 fp : 00000000 r10: 00000000 r9 : c026ba7c r8 : 00000000 r7 : cfff0a00 r6 : c067d2ec r5 : cfebc31c r4 : 00000000 r3 : ca014000 r2 : 200f0013 r1 : 00000001 r0 : 00000000 Flags: nzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel Control: 10c53c7d Table: 8a19c059 DAC: 00000015 Process kworker/0:0 (pid: 558, stack limit = 0xca0142e8) Stack: (0xca015f78 to 0xca016000) 5f60: cfebc31c c026ba9c 5f80: cf83ce80 c005dff4 cfff0a05 cf83ce80 ca014000 c067d2ec c06d804c cf83ce90 5fa0: 00000009 c067d2ec 00000000 c005e35c ca197f3c cf83ce80 c005e188 00000013 5fc0: 00000000 00000000 00000000 c0062d08 00000000 00000000 cf83ce80 00000000 5fe0: ca015fe0 ca015fe0 ca197f3c c0062c8c c00350e8 c00350e8 00000000 00000000 [<c025a380>] (tty_flip_buffer_push+0x28/0x84) from [<c026ba9c>] (rx_work+0x20/0x2c) [<c026ba9c>] (rx_work+0x20/0x2c) from [<c005dff4>] (process_one_work+0x1f4/0x35c) [<c005dff4>] (process_one_work+0x1f4/0x35c) from [<c005e35c>] (worker_thread+0x1d4/0x314) [<c005e35c>] (worker_thread+0x1d4/0x314) from [<c0062d08>] (kthread+0x7c/0x88) [<c0062d08>] (kthread+0x7c/0x88) from [<c00350e8>] (kernel_thread_exit+0x0/0x8) Code: e3c3303f e5931004 e2811001 e5831004 (e59030bc) ---[ end trace d9cc3df0e23f6c96 ]---
2014-02-04Merge tag '3.0-vybrid-ts2.10' into vybrid-latest-mergeStefan Agner
3.0-vybrid-ts2.10 Conflicts: arch/arm/mach-mvf/clock.c
2014-01-31colibri_vf: enable Fusion touchscreenStefan Agner
Enable Fusion touchscreen driver and provide platform data. Use the mux helper function to mux the pen down/reset GPIO pins.
2014-01-27input: touchscreen: fusion: fix error handlingStefan Agner
Fix chip reset by sleeping long enought after reset. Do proper error handling (free GPIO on failure). Use dev_* for message logging to get similar messages for all fusion driver related errors and warnings.
2014-01-27input: touchscreen: fusion: use new I2C PM functionsStefan Agner
To avoid warnings use the new I2C power management function for suspend and resume.
2014-01-27input: touchscreen: added platform data for Fusion touchscreenStefan Agner
Added platform data struct to define interrupt and reset GPIO. This allows to initialize the touchscreen controller inside the driver rather then in each platform and use the driver as a module.
2014-01-23input: touchscreen: fix race condition in Fusion driverStefan Agner
When the next interrupt request apeares between the confirmation of the previous (a write via I2C, fusion_F0710A_write_complete) and the reenable of the GPIO interrupt, the driver hangs and no more touch inputs are reported. This patch moves the confirmation after the reenabling of the GPIO interrupt.
2014-01-23input: touchscreen: add ABS_X/ABS_Y axis for Fusion touchscreenStefan Agner
Recent evdev X-Server input driver implementation complain when only multitouch axes have been reported ("found only multitouch-axes. That shouldn't happen."). Therefor also report the primary touch detection with default axis.
2014-01-23input: touchscreen: add Fusion 7 and 10 multi-touch driverMarcel Ziswiler
This patch adds the multi-touch input driver for the TouchRevolution Fusion 7 and 10 panels (See Fusion 7 and 10 drivers for Linux.pdf and Linux Drivers Fusion 10.zip). Conflicts: drivers/input/touchscreen/Makefile
2014-01-22Merge branch 'vybrid-dcu-modedb' into colibri_vfStefan Agner
2014-01-22mvf_dcu: improve signal quality using better pin mux optionsStefan Agner
This patch use higher drive strength as well as alter pin speed options in order to get nicer VGA/LVDS signal even with higher pixel clocks.
2014-01-22mvf_dcu: use modedb to set video modeStefan Agner
Use modedb helper function to get video mode from kernel cmd line. Video mode can now be choosen at boot time using video=dcufb:...
2014-01-22mvf_dcu: calculate clock ratio from pixclockStefan Agner
In order to support different video modes the driver needs to calculate the DCU div ratio from the pixelclock. Taken from mainline framebuffer proposal by Alison Wang.
2014-01-09colibri_vf: split vf50 vs. vf61 touch configurationMarcel Ziswiler
The touch configuration differs between the two module versions. While the Colibri VF50 uses the Vybrid internal ADCs together with dedicated GPIO controlled FETs the Colibri VF61 uses the Wolfson WM9715L AC97 audio/touch codec chip. While at it make our board file more check-patch conform.
2014-01-09colibri_vf61: initial software ac97 driverMarcel Ziswiler
Initial software ac97 driver without any audio functionality yet. Only touch controller is fully functional. Note: current Colibri VF61 V1.0b samples require an audio master clock modification. Colibri VF61 V1.1a are expected to have this fixed.
2014-01-09colibri_vf61: fix/implement audio clockingMarcel Ziswiler
The PLL4 is exclusively used for audio clocking. While at it implement CKO1 external clock pin.
2014-01-09colibri_vf: enable/fix clock and power management debugMarcel Ziswiler
Enable clock debugging which depends on the power management one and actually register each clock for easy sysfs debug access: root@colibri-vf:~# cat /sys/kernel/debug/clock/osc_clk/ pll4_audio_main_clk/rate 1179648000 root@colibri-vf:~# cat /sys/kernel/debug/clock/osc_clk/ pll4_audio_main_clk/pll4_audio_div_clk/rate 147456000 root@colibri-vf:~# cat /sys/kernel/debug/clock/osc_clk/ pll4_audio_main_clk/pll4_audio_div_clk/sai0_clk/rate 147456000 root@colibri-vf:~# cat /sys/kernel/debug/clock/osc_clk/ pll4_audio_main_clk/pll4_audio_div_clk/sai2_clk/rate 24576000
2013-11-29colibri_vf: fix pixel clock polarityColibri_VF_LinuxImageV2.1Beta2_20131129Marcel Ziswiler
Fix pixel clock polarity.
2013-11-29colibri_vf: fix daisy chain input select iomuxMarcel Ziswiler
Fix Freescale's magic daisy chain aka select input IOMUX stuff. Many a saying: welcome to the club (;-p).
2013-11-29colibri_vf: enable watchdogMarcel Ziswiler
Enable watchdog configuration.
2013-11-29colibri_vf: fix ifdefsMarcel Ziswiler
Various ifdefs still use CONFIG_MACH_COLIBRI_VF50. Migrate them to using the hidden CONFIG_COLIBRI_VF define active for both Colibri VF50 as well as Colibri VF61.
2013-11-21Fix typo in DSPI2 and DSPI3 base address3.0-vybrid-ts2.10Anthony Felice
2013-11-21colibri_vf: rename colibri_vf50 to colibri_vfMarcel Ziswiler
Now as the colibri_vf50 configuration allows for 500 MHz A5 core frequency as well rename it to colibri_vf to be universally used for Colibri VF50 as well as VF61. While at it actually add the Colibri VF61 machine id and its corresponding machine definition.
2013-11-21colibri_vf: allow 500 mhz a5 frequencyMarcel Ziswiler
Allow for 396 as well as 500 MHz A5 core frequency. While at it get rid of some Indian coding style artefacts.
2013-11-17colibri_vf50: clock: mvf_dcu: add more display timingsMarcel Ziswiler
Add the following additional display timings for manual activation: - 800x480@60 (e.g. EDT ET070080DH6) - 800x600@60 - 1024x600@60 (e.g. TouchRevolution Fusion 10) - 1024x768@60
2013-11-17colibri_vf50: mvf_dcu: use 16 bpp by defaultMarcel Ziswiler
Use 16 bpp colour mode by default to relieve memory bandwidth. While at it don't use hard-coded LCD enable pin.
2013-11-17mvf_dcu: add 16 bpp supportMarcel Ziswiler
Add 16 bpp colour mode support.
2013-11-17Add BPP ARGB8888 support for DCU driverAlison Wang
Signed-off-by: Alison Wang <b18965@freescale.com>
2013-11-17colibri_vf50: fix vesa vga display timingMarcel Ziswiler
Fix VESA VGA display timing.
2013-11-14Add missing Global Timer source file.3.0-vybrid-ts2.9Anthony Felice
2013-11-07Add defconfig for Vybrid Tower3.0-vybrid-ts2.8Anthony Felice
This is the same defconfig that Timesys Factory uses.
2013-11-07Fix FAST_READ for QSPI nor flash support.Anthony Felice
This patch was submitted by Roshni Shah <roshni.shah@timesys.com> for ticket #52067
2013-11-07Add Global Timer support to fix High Resolution Timer functionality.Anthony Felice
This patch was submitted by Yoshihisa Ozawa <ozawa@lineo.co.jp> in ticket #52306.
2013-11-06Merge branches 'vf-thermal' and 'colibri-vf50-ts-fix' into colibri_vfStefan Agner
2013-11-06colibri-vf50-ts: Use complete feature tableStefan Agner
In order to configure the ADC correctly, a complete feature table is required. Also note that those features were not set corretly due to some bugs in mvf_adc which are fixed by commit e5cb84471bc3d38ef5d8070abbdf0bc0ceb9d2bf
2013-11-05mvf_adc: read temperature sensor and use hwmon interfaceStefan Agner
Use the hwmon interface to expose the internal temperature sensor connected to the ADC. In order to calculate the temperature typical values from the electrical data sheet has been taken. Read the sensor using sysfs: $ cat /sys/class/hwmon/hwmon0/device/temp1_input 47282 Note: there are two hwmon devices exposed. Those are the two ADC, however, both ADC connect to the same temperature sensor. Essentially, the user can choose which ADC to use to read the temperature sensor.
2013-11-05mvf_adc: support all 32 channelsStefan Agner
Enable support for all 32 ADC channels, even the internal one. This is needed to read out the internal temperature since the sensor is at channel 26.
2013-11-05mvf_adc: fix register configuration in adc_setStefan Agner
Several registers in adc_set were set logical inverse or even the wrong bits in the registers. Also, return the users ioctrl if the configuration is not valid.