Age | Commit message (Collapse) | Author |
|
Before updating modes on HDMI hotplug, check if framebuffer is
registered at all. This allows to disable framebuffers completely.
|
|
Use platform independent description for requested GPIOs.
|
|
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.
|
|
To avoid warnings use the new I2C power management function for
suspend and resume.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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.
|
|
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.
|
|
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
|
|
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.
|
|
Updated several comments to make code easier to read and understand.
Also use the front_porch workaround in any case, for HDMI output
too.
|
|
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).
|
|
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
The port used for KEY_BACK does not support wakeup (no wake PIN). Remove
the wake flag, this prevents unbalanced irq warning messages.
|
|
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.
|
|
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.
|
|
When hotpluging hdmi the read of edid often fails.
Add up to 4 retries with a 500ms delay before giving up.
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export access to the 'Local Shared OS and T_Crit Limit'
register.
|
|
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
|
|
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
|
|
|
|
|
|
Powering on, improved interlacing.
|
|
|
|
Move paddr to correct ifdef to enable CONFIG_NVMAP_PAGE_POOLS=n
compilation.
|
|
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>
|
|
This reverts commit 080c3135b58aa700851991fb672e6c33cf16d9d9.
|
|
|