summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2014-02-06video: tegra: check if framebuffer is registredColibri_T30_LinuxImageV2.1Beta2_20140206Colibri_T20_LinuxImageV2.1Beta2_20140207Apalis_T30_LinuxImageV2.1Beta2_20140206Stefan Agner
Before updating modes on HDMI hotplug, check if framebuffer is registered at all. This allows to disable framebuffers completely.
2014-02-04input: touchscreen: fusion: platform independent GPIO descriptionStefan Agner
Use platform independent description for requested GPIOs.
2014-01-29input: 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-29input: touchscreen: fusion: use new I2C PM functionsStefan Agner
To avoid warnings use the new I2C power management function for suspend and resume.
2014-01-29input: 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-29input: 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-29input: 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-29video: tegra: kernel parameters to change RGB clock polarityStefan Agner
Allow to change clock polarity for RGB display output using the keywords outputen/pixclockpol/vsync and hsync. Add them right after the driver specification, use 0/1 to specifiy high/low polarity, e.g. video=tegrafb0:pixclockpol:1,800x480
2014-01-29video: tegra: remove special clocks for Tegra 2Stefan Agner
Remove special clocks for Tegra 2, but use backup clock source instead. This allows to run all common used resolution within the drivers -1/+9% allowed band for pixelclock exactness.
2014-01-24video: tegra: add more modes and tweaked pixelclocks for Tegra 2Stefan Agner
Add some more modes e.g. for full HD panel. Also add tweaked pixel clock for Tegra 2 because the clock is always a child of the peripherial clock and only some divisors are available.
2014-01-24video: tegra: fb: apalis/colibri_t30: hack avoid 24 Hz modeMarcel Ziswiler
Hack to avoid 24 Hz mode in X resulting in no display at all. This has been encountered using e.g. a Samsung SyncMaster F2380 if connected by HDMI. root@apalis-t30:~# xrandr Screen 0: minimum 256 x 128, current 1920 x 1080, maximum 2048 x 2048 LVDS-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 1920x1080 58.6*+ HDMI-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 160mm x 90mm 1920x1080 60.0*+ 1680x1050 59.9 1280x1024 75.0 60.0 1440x900 75.0 59.9 1280x960 60.0 1280x800 59.9 1152x864 75.0 1280x720 60.0 50.0 1024x768 75.0 70.1 60.0 832x624 74.6 800x600 72.2 75.0 60.3 56.2 720x576 50.0 720x480 59.9 640x480 75.0 72.8 66.7 59.9 720x400 70.1 This is basically a revamp of the following commit which got scrapped by the modedb changes: 8174d21e5fe0d086cb5824161c58eb065f412281
2014-01-22Check null pointers for sysfs callsStefan Agner
When grepping through sysfs, grep tries to read all sysfs files which are available. Some of them lead to error due to null pointers. Therefor check for null pointers before using them.
2014-01-22video: tegra: updated comments, move front_porch work aroundStefan Agner
Updated several comments to make code easier to read and understand. Also use the front_porch workaround in any case, for HDMI output too.
2014-01-09tegra: video: parse multiple modedbsStefan Agner
In order to find a viable resolution we not only parse VESA mode, we also parse CEA (multimedia) modes and our own small modedb (for specific touch screens).
2014-01-09tegra: video: remove unreferenced resolution from tegra_fb_infoStefan Agner
2014-01-09tegra: video: use correct return value for callbackStefan Agner
2014-01-09tegra: video: use new modedb based settingsStefan Agner
Use new modedb based framebuffer settings by defining default_mode in the display controllers platform data. Also impelmented the fallback logic to this default_mode in case no kernel cmd line parameter was set.
2014-01-07tegra: video: use modedb to specify framebuffer resolutionStefan Agner
Allow to specify framebufffer videomode using kernel command line parameters. NVIDIAs binary X driver later on picks up those settings and start X with current mode settings, if no EDID data are available.
2013-12-09iio: adc: add STMPE ADC driver using IIO frameworkStefan Agner
This adds an ADC driver for the STMPE device using the industrial input/output interface. The driver supports raw reading of values. The driver depends on the MFD stmpe driver. If the touchscreen block is enabled too, only for of the 8 ADC channels are available.
2013-12-09mfd: stmpe: add ADC block resourcesStefan Agner
In order to use the auxiliar ADC inputs of STMPE811 devices we need to add resources for the ADC block. Also move the ADC macros from the touchscreen driver to the general header file. We will need them for the ADC driver in future.
2013-12-02regulator: tps6586x: fixed voltage table for TPS658643Stefan Agner
The voltage table for the SM2 regulator on TPS658643 was wrong. However, since the requested voltage of 1.8V was at the right place, the system worked fine nonetheless.
2013-12-02colibri_t20/colibri_t30: don't register KEY_BACK for wakeupStefan Agner
The port used for KEY_BACK does not support wakeup (no wake PIN). Remove the wake flag, this prevents unbalanced irq warning messages.
2013-11-26hdmi: avoid division by zero oopsStefan Agner
After suspend, mode filter might be called with empty yres. This leads to division by zero when checking aspect ratio. Return as invalid mode when yres is zero.
2013-11-25ahci-tegra: add avdd_plle regulatorStefan Agner
When enabling SATA clocks, the PCIE clocks are enabled as well since those are the parent clocks. In order to enable this parent clocks, the PCIE regulator avdd_plle needs to be enabled. The resume path used to freeze because the PCIE PLL did not lock.
2013-10-21hdmi: retry edid reads up to 4 times until failingMax Krummenacher
When hotpluging hdmi the read of edid often fails. Add up to 4 retries with a 500ms delay before giving up.
2013-10-15tegra_wdt: support default watchdog apiStefan Agner
Reworked driver in order to properly support default watchdog api such as triggering by writing a character and disable by sending a magic character. Renamed ENABLE_ON_PROBE to ENABLE_HEARTBEAT which triggers the watchdog using the interrupt service routine.
2013-09-09apalis/colibri_t30: fix HDMI hang issueMax Krummenacher
Initialisation of the framebuffer console on DVI-D aka HDMI always failed on monitors which report the vertical front porch to be 1 in their EDID. The fix now changes also the modedb and not only the list of videomodes with a compatible timing. This was particularly bad on Apalis T30 where this is activated by default. On Colibri T30 this was observed when enabling it using the fbcon=map:1 boot argument.
2013-08-13tegra_v4l2: added external/internal sync selectionT30_LinuxImageV2.0Beta3_20130820Apalis_T30_LinuxImageV2.0Beta2_20130816Peter Gielda
2013-08-07apalis_t30: igb: add un-programmed i211 supportMarcel Ziswiler
I211 with a blank iNVM uses a different PCI ID. Hack the driver to load despite i211 data sheet claiming tools only, not for driver. Please note that the existing driver hacks concerning NVM validation skipping and Ethernet MAC address assignment equally apply. Tested on initial samples of Apalis T30 1GB V1.0A.
2013-07-31media: max9526: allow for live input selectionMarcel Ziswiler
Re-work input selection to apply to a live camera stream. While at it default to automatic input selection and make this option available via IOCTL as input value 2 as well.
2013-07-31media: adv7180: allow for live input selectionMarcel Ziswiler
Re-work input selection to apply to a live camera stream. While at it disable the automatic I2C module loading for now as due to our currently redundant soc-camera-pdrv registration via board specific platform data the adv7180 driver is always automatically loaded upon modprobe tegra_v4l2_camera invocation.
2013-07-31media: max9526: input selection supportPeter Gielda
2013-07-31media: adv7180: small cleanup of the input selectionPeter Gielda
2013-07-31media: adv7180: added input selection supportPeter Gielda
2013-07-31tegra_v4l2: added default err valuePeter Gielda
2013-07-31media: adv7180: set resolution to 720 x 576Peter Gielda
2013-07-31tegra_v4l2: changed TEGRA_VIP_V_ACTIVE_START to 0x12Peter Gielda
2013-07-31tegra_v4l2: error cleanup handling; lowered SYNCPT_VI_WAIT_TIMEOUT to 25Peter Gielda
2013-06-24Merge branch 'colibri' of git.toradex.com:linux-toradex into colibriT30_LinuxImageV2.0Beta2_20130626Apalis_T30_LinuxImageV2.0Beta1_20130626Max Krummenacher
2013-06-24hwmon: lm95245: add local critical shutdown temp hookMax Krummenacher
export access to the 'Local Shared OS and T_Crit Limit' register.
2013-06-24video: tegra: fb: apalis/colibri_t30: hack avoid 24 Hz modeMarcel Ziswiler
Hack to avoid 24 Hz mode in X resulting in no display at all. This has been encountered using e.g. a Samsung SyncMaster F2380 if connected by HDMI. root@apalis-t30:~# xrandr Screen 0: minimum 256 x 128, current 1920 x 1080, maximum 2048 x 2048 LVDS-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 1920x1080 58.6*+ HDMI-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 160mm x 90mm 1920x1080 60.0 + 24.0* 1680x1050 59.9 1280x1024 75.0 60.0 1440x900 75.0 59.9 1280x960 60.0 1280x800 59.9 1152x864 75.0 1280x720 60.0 50.0 1024x768 75.0 70.1 60.0 832x624 74.6 800x600 72.2 75.0 60.3 56.2 720x576 50.0 720x480 59.9 640x480 75.0 72.8 66.7 59.9 720x400 70.1
2013-06-17media: adv7180: add 48-lead and 32-lead device identificationMarcel Ziswiler
Previously only 64-lead and 40-lead models were identified. This patch adds 48-lead and 32-lead device identification as well. Please note that due to missing parameter negotiation functions one might get the following message with a subsequent crash: WARNING: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Could not get parameters on device '/dev/video0' This can be avoided by explicitly specifying the format as follows: gst-launch v4l2src ! deinterlace tff=1 method=4 ! 'video/x-raw-yuv, width=(int)720, height=(int)576, format=(fourcc)I420' ! nv_omx_videomixer ! nv_gl_eglimagesink
2013-06-12tegra_v4l2: support for interlaced fieldsPiotr Zierhoffer
2013-06-12adv7180, max9526: correct v4l2_field settingPiotr Zierhoffer
2013-06-12tegra_v4l2: fix format detection and morePiotr Zierhoffer
Powering on, improved interlacing.
2013-06-12max9526: fix NTSC number of pixels per line.Peter Gielda
2013-06-12video: tegra: nvmap: fix CONFIG_NVMAP_PAGE_POOLS=n compilationPeter Gielda
Move paddr to correct ifdef to enable CONFIG_NVMAP_PAGE_POOLS=n compilation.
2013-06-12media: videobuf2: fix buffer management issuesBryan Wu
Use right buffer flag NVMAP_HANDLE_WRITE_COMBINE to allocate buffer, which can be shared by VI/CSI and CPU. Don't use NVMAP_HEAP_SYSMEM. It is validated to old T20 silicon and can't support big buffers. By default, our nvmap_alloc() will use IOVMM to allocate buffers. nvmap_pin() gives us IOVA for hardware engines like VI/CSI module with IOMMU enabled in kernel. nvmap_mmap() gives us VA for CPU read/write operations. So we need to convert VA address to physical address of the buffer and map that buffer to user space processor's memory space "page by page". Change-Id: I543d9d95fc14395200647e09480f25d9bc001e00 Signed-off-by: Bryan Wu <pengw@nvidia.com>
2013-06-12Revert "tegra_v4l2: map memory as non-cachable and fix the allocation problem"Peter Gielda
This reverts commit 080c3135b58aa700851991fb672e6c33cf16d9d9.
2013-06-12max9526: added missing module_exitPeter Gielda