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.
|
|
Activate Fusion touchscreen driver. Use GPIO 5/6 as pen down/reset
GPIO and provide a helper function to free the GPIO before the
driver requests them.
|
|
|
|
Fusion touchscreen driver now uses platform data to do GPIO
initialization by itself. Make use of this by providing GPIO numbers
instead of doing initialization in the board initialization.
|
|
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.
|
|
|
|
Remove TEGRA_FB_VGA defines and use VGA as default. Since initial
mode is now configureable through kernel cmd line parameter, we
don't need those compile time helpers.
|
|
Updated several comments to make code easier to read and understand.
Also use the front_porch workaround in any case, for HDMI output
too.
|
|
Use modedb to set mode on framebuffer/display controller for
Tegra 20 based module Colibri T20 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.
|
|
Disable hardware statistics monitor for AVP due to it completely
hanging upon boot on certain Colibri T20 V1.2a modules.
|
|
Make use of the new STMPE ADC driver to expose the four free ADC
channels on the STMPE811 to userspace.
|
|
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 drivers internal root_bus_nr used to be u8 which lead to a wrong
error detection in bus_to_port. Bus number can be -1 in case bus is
not scanned yet. Thanks to James pointing that out.
|
|
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.
|
|
Add GPIO keyboard platform device configuration. Currently only the power key
is defined which is registred as wake key as well in order to wake the SoC when
in sleep mode (MXM3 37/WAKE1_MICO).
|
|
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.
|
|
Remove vdd_hdmi_con regulator from dc1 since we don't have a dedicated
regulator for this connector on our baseboards.
|
|
Use TPS6591X IRQ base define to calculate correct IRQ number.
|
|
Use TPS6591X base defines to make sure the chip gets its own irq range rather
than interfer with the STMPE chip.
|
|
Fix errors when registration fails, correctly unregister the
platform device.
|
|
Clean-up GPIO definitions and names (e.g. use LVDS_ defines, BKL1_ON
rather than BL_ON and HDMI1_HPD rather than hdmi_hpd).
|
|
When hotpluging hdmi the read of edid often fails.
Add up to 4 retries with a 500ms delay before giving up.
|
|
This gives the DDR3L memory settings for 400MHz/800MHz.
The boot memory speed must be 400MHz for this to work, i.e.
the 400MHz BCT must be used.
|
|
If the boot console is RS232 and RX is left floating this leads
to arbitrary sys requests including reboots...
(RX is left floating on the evaluation boards if USB to serial is
jumpered but USB is not connected)
|
|
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.
|
|
Up to now only the LVDS transceiver controlling GPIOs were exported.
This patch adds the generic Apalis GPIOs to the list of via sysfs to
userspace exported ones as well.
|
|
Initialisation of the framebuffer console on DVI-D aka HDMI sometimes
failed. 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.
This fix curtsey of Bibek Basu from NVIDIA explicitly enables PLLA
during early clock initialisation which avoids a later race with the
display driver on DC1.
|
|
|
|
In preparation for the new Apalis resp. Colibri T30 production lots
with either T30IQS-P-A3 or T30MQS-P-A3 chips that due to some bug were
locked at 312 MHz force a speedo ID of 2 for now which allows regular
operation of up to 1.4 GHz (single core only).
|
|
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.
|
|
Allow for jumper-less ACM operation by defaulting to 0x20 I2C address.
|