Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Conflicts:
drivers/media/video/tegra_v4l2_camera.c
reverted to current driver supporting ACM rather than CSI2
drivers/media/video/videobuf2-dma-nvmap.c
drivers/video/tegra/host/Makefile
|
|
While setup, there is a time the serial port is running on a
predefined speed (115200). When data arrived during this phase at
a lower baudrate (e.g. 9600), a lot of overrun and break error
messages were shown. Due to those messages, the terminal setup
never finished, and thus never reached the selected baudrate (e.g.
9600). By choosing a lower baudrate at the startup (9600), a lot
less (if any at all) messages are shown and those initialization
always succeeds.
Another solution would be to disable those messages completely.
However, while normal mode its good to have those UART error
messages.
|
|
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@colibri-t20:~# 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 60.0*+
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
This is really just enabling the same hack from Apalis/Colibri T30
which is now relevant on the Colibri T20 as well due to the modedb
changes:
3a6fc5303b9e798295caa01d2cfe75b05fdccf55
|
|
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.
|
|
Setting the resolution to 1088p (as of now), since
there are flickers observed for 1080p and also
the encoder is not compatible with alignement of
the RM surfaces of 1080p. 1088p is a stop-gap solution
until the issues with 1080p are resolved.
Bug 1369083
Change-Id: I3e73076451e7671d90603c6496ad14733591edeb
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/309543
Tested-by: Vikram Fugro <vfugro@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Kaustubh Purandare <kpurandare@nvidia.com>
Reviewed-by: Winnie Hsu <whsu@nvidia.com>
Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
|
|
Bug 1369083
Change-Id: I1a81bcb62e8f6bb654ffbebba09661187ab4b512
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/309536
Tested-by: Vikram Fugro <vfugro@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Kaustubh Purandare <kpurandare@nvidia.com>
Reviewed-by: Winnie Hsu <whsu@nvidia.com>
Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
|
|
The tweaks are only specific to r16-r2 branch
and will not go into mainline.
- Pass nvmap memory handle to the user through
the mmap'd buffer allocated by videobuf2 client.
- Allow the "user" nvmap client to access the
nvmap memory handle of "videobuf2-dma-nvmap" client.
Re-arranging the copyright message in nvmap_dev.c
for Automatic validation to pass.
Bug 1369083
Change-Id: Ia27d172253860e79557911c2e848bc9084d662d4
Signed-off-by: Vikram Fugro <vfugro@nvidia.com>
Reviewed-on: http://git-master/r/309494
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
Reviewed-by: Kaustubh Purandare <kpurandare@nvidia.com>
Reviewed-by: Winnie Hsu <whsu@nvidia.com>
Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
|
|
This reverts commit dd9a841da571a41d43f1eeaac1785b2adb1d80f3.
The config changes (for V4L2) can be done manually as per need
basis for V4L2, followed by compiling the kernel.
Change-Id: I9174bce0f3da2974ab703b238dfb8fb3bbf607c5
Signed-off-by: Vikram Fugro <vfugro@nvidia.com>
Reviewed-on: http://git-master/r/327607
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Kaustubh Purandare <kpurandare@nvidia.com>
Reviewed-by: Winnie Hsu <whsu@nvidia.com>
Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
|
|
- Disables TEGRA_CAMERA
- Enables SOC_CAMERA and OV5640 sensor support
Bug 1369083
Change-Id: I073c226e9f04a6f4f4699051f624a755dceb36cb
Signed-off-by: Vikram Fugro <vfugro@nvidia.com>
Reviewed-on: http://git-master/r/309491
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
|
|
When hotpluging hdmi the read of edid often fails.
Add up to 4 retries with a 500ms delay before giving up.
|
|
Bug 1369083
Change-Id: I1522b688e0681e52592c0f26a8e335937372836a
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/279989
Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
Tested-by: Matthew Pedro <mapedro@nvidia.com>
|
|
Add support for dual cameras from both CSI-A and CSI-B:
- move all the CSI settings into video buffer struct
- queue the video buffer struct to a dedicated queue
- process one video buffer struct from the queue at one time
Bug 1369083
Change-Id: Ie64d69282ab991b66e97327e288a2bacde088bd6
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/246269
(cherry picked from commit 228b0c2d9ae3fa1121f88836626d654ae0fc4ff0)
Reviewed-on: http://git-master/r/279987
Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
Tested-by: Matthew Pedro <mapedro@nvidia.com>
|
|
soc_camera_link supports passing power on/off control callback to
soc_camera stack. So the power control can be handled by soc_camera
stack instead of our Tegra V4L2 host driver.
Also pass other platform_data fields via soc_camera_link instead of
a hacking nvhost_device_data struct.
Bug 1240806
Bug 1369083
Change-Id: I443a7d28196cc8292805da70d2d5ff1c3cd50a5d
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/246267
(cherry picked from commit 9083d270bf93b583cd5bf5151a52ea250f8541a3)
Reviewed-on: http://git-master/r/279986
Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
Tested-by: Matthew Pedro <mapedro@nvidia.com>
|
|
Bug 1369083
Change-Id: I43acb0d1dd6ca182291895d294a8458bfc99da05
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/279985
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Allen Martin <amartin@nvidia.com>
Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
Tested-by: Matthew Pedro <mapedro@nvidia.com>
|
|
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".
Bug 1369083
Change-Id: I4629eebe206c7640adf63551968fd89260dd0082
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/279984
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Allen Martin <amartin@nvidia.com>
Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
Tested-by: Matthew Pedro <mapedro@nvidia.com>
|
|
- tweak offset registers
- add test mode to output color bars
- use BGGR RAW format
Bug 1369083
Change-Id: I61352c018f8ca099ff3d39158a67052a1e185eec
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/279983
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Allen Martin <amartin@nvidia.com>
Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
Tested-by: Matthew Pedro <mapedro@nvidia.com>
|
|
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.
|
|
fix Coverity issue
Coverity id : 13692
Bug 1046331
Bug 1049868
Change-Id: Iefa6d076d4622368534710630b89b9a15d166378
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/165864
(cherry picked from commit db33c3f3f2447a52a40f4fd001fec9a2932ee4c8)
Reviewed-on: http://git-master/r/244637
Reviewed-by: Shreshtha Sahu <ssahu@nvidia.com>
Tested-by: Shreshtha Sahu <ssahu@nvidia.com>
Reviewed-by: Kiran Adduri <kadduri@nvidia.com>
Reviewed-by: Erik Lilliebjerg <elilliebjerg@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
Tested-by: Matthew Pedro <mapedro@nvidia.com>
|
|
|
|
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.
|
|
According to Realtek, the firmware provides
power optimizations. The driver works without
the firmware. Plus, there are scenarios where
the firmware is not available, which makes the
driver wait at request_firmware call (i.e.,
60 sec wait).
Bug 1236060
Bug 991551
Change-Id: Ifcaa4b2dd48c4111ded33cf2bade7dc1f6422821
Signed-off-by: Mursalin Akon <makon@nvidia.com>
Reviewed-on: http://git-master/r/258353
GVS: Gerrit_Virtual_Submit
Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
|
|
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.
|