summaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2/dss/ti_hdmi_4xxx_ip.c
Commit message (Collapse)AuthorAgeFilesLines
* omapdss: HDMI: Rename hdmi driver files to nicer namesArchit Taneja2013-10-091-1034/+0Star
| | | | | | | | Replace the ti_hdmi_4xxx* notation for OMAP4 HDMI driver with hdmi4. Rename the hdmi.c encoder driver to hdmi4.c. Rename ti_hdmi.h to hdmi.h Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* omapdss: HDMI: Clean up the header filesArchit Taneja2013-10-091-31/+0Star
| | | | | | | | | | | | Keep only OMAP4 HDMI core block related structs and enums in ti_hdmi_4xxx_ip.h, move the rest to ti_hdmi.h. This holds all library specific data which will be shared between OMAP4 and OMAP5/DRA7x HDMI encoder drivers. Move the duplicate register read/write/wait_for_bit_change functions in the hdmi library files to ti_hdmi.h Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* omapdss: HDMI: Use OMAP4 HDMI core functions directly and remove hdmi_ip_opsArchit Taneja2013-10-091-94/+129
| | | | | | | | | | | | | | | | | | After removing wrapper, pll and phy funcs from ti_hdmi_4xxx_ip.c, we are left with OMAP4 HDMI core functions. Use these directly in hdmi.c rather than using hdmi_ip_ops. Rename the core functions with a 'hdmi4' suffix. We used to have hdmi_ip_ops so that one could support HDMI within a TI SoC which had a non-DSS display subsytem. This however never got put into use, and hence these ops aren't useful any more. The DT/hwmod information for hdmi doesn't split the address space according to the required sub blocks. Keep the address offset and size information in the driver for now. This will be removed when the driver gets the information correctly from DT/hwmod. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* omapdss: HDMI: create a PHY libraryArchit Taneja2013-10-091-109/+0Star
| | | | | | | | | | | | | | | | | | | HDMI PHY is a block common to DSS in OMAP4, OMAP5 and DRA7x. Move the existing functions from ti_hdmi_4xxx_ip.c to a separate file. These funcs are called directly from the hdmi driver rather than hdmi_ip_ops function pointer calls. Add the PHY library function declarations to ti_hdmi.h. These will be shared amongst the omap4/5 hdmi platform drivers. Remove the PHY function pointer ops from the ti_hdmi_ip_ops struct. The DT/hwmod information for hdmi doesn't split the address space according to the required sub blocks. Keep the address offset and size information in the driver for now. This will be removed when the driver gets the information correctly from DT/hwmod. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* omapdss: HDMI: create a PLL libraryArchit Taneja2013-10-091-132/+0Star
| | | | | | | | | | | | | | | | | | | | HDMI PLL is a block common to DSS in OMAP4, OMAP5 and DRA7x. Move the existing PLL functions from ti_hdmi_4xxx_ip.c and hdmi.c to a separate file. These funcs are called directly from the hdmi driver rather than hdmi_ip_ops function pointer calls. Add the PLL library function declarations to ti_hdmi.h. These will be shared amongst the omap4/5 hdmi platform drivers. Remove the PLL function pointer ops from the ti_hdmi_ip_ops struct. These will be shared amongst the omap4/5 hdmi platform drivers and other libraries. The DT/hwmod information for hdmi doesn't split the address space according to the required sub blocks. Keep the address offset and size information in the driver for now. This will be removed when the driver gets the information correctly from DT/hwmod. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* omapdss: HDMI: create a Wrapper libraryArchit Taneja2013-10-091-257/+51Star
| | | | | | | | | | | | | | | | | | | | | | | | HDMI wrapper is a block common to DSS in OMAP4, OMAP5 and DRA7x. Move the existing functions from ti_hdmi_4xxx_ip.c to a separate file. These funcs are called directly from the hdmi driver rather than hdmi_ip_ops funtion pointer calls. Add new wrapper funcs which can be used by other hdmi libraries like core, pll and phy. Move some of the enums, structs and funcs related to the wrapper from ti_hdmi_4xxx_ip.h to ti_hdmi.h. These will be shared amongst the omap4/5 hdmi platform drivers and other libraries. The old hdmi_wp_init() is removed since it didn't do anything. Timing parameters like interlace, hsync_level and vsync_level weren't copied correctly before. Those are copied correctly now. The DT/hwmod information for hdmi doesn't split the address space according to the required sub blocks. Keep the address offset and size information in the driver for now. This will be removed when the driver gets the information correctly from DT/hwmod. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: HDMI: OMAP4: Complete dumping of core registersRicardo Neri2013-09-271-1/+46
| | | | | | | | Add missing register entries when dumping the core. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com> Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: HDMI: OMAP4: Rename the HDMI_CORE_CTRL1 registerRicardo Neri2013-09-271-8/+8
| | | | | | | | | Rename the register to be aligned with the HDMI_CORE_SYS naming convention. Also, update the naming of the #defines used for its fields. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com> Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: HDMI: OMAP4: Complete dumping of DPLL registersRicardo Neri2013-09-271-0/+2
| | | | | | | | Add the spread spectrum clock configuration registers to the DPLL dump. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com> Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: HDMI: OMAP4: Complete dumping of wrapper registersRicardo Neri2013-09-271-1/+4
| | | | | | | | | Add missing registers when dumping the HDMI wrapper. Also, order the dump by offset to improve readability. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com> Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: HDMI: Fix AVI infoframe bugMythri P K2013-08-061-22/+20Star
| | | | | | | | | | | | | | | | | ti_hdmi_4xxx_basic_configure() is supposed to initialize the AVI infoframe data in the ip_data container. However, the function actually takes a copy of the infoframe from the ip_data, and then goes on initializing that copy. The initialized data is never copied back to the ip_data container, thus the infoframe in ip_data is left always zero. Afaik, this doesn't really cause any issues in the current mainline, as we don't use the advanced features offered by the AVI infoframe. This patch fixes the initialization of the AVI infoframe. Signed-off-by: Mythri P K <mythripk@ti.com> [tomi.valkeinen@ti.com: updated the description] Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: HDMI clean up hpd_gpioTomi Valkeinen2013-06-171-6/+0Star
| | | | | | | hpd_gpio is no longer used by the OMAP4 HDMI IP driver, and we can thus remove the unnecessary code. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: HDMI: clean up PHY power handlingTomi Valkeinen2013-06-171-38/+43
| | | | | | | | | | | | | | | | | | | | | | | | The TRM tells to set PHY to TXON only after getting LINK_CONNECT, and to set PHY to OFF or LDOON after getting LINK_DISCONNECT, in order to avoid damage to the PHY. We don't currently do it quite like that. Instead of using the HDMI interrupts, we use HPD signal. This works, but is not actually quite correct, as HPD comes at a different time than LINK_CONNECT and LINK_DISCONNECT interrupts. Also, the HPD GPIO is a property of the TPD level shifter, not HDMI IP, so handling the GPIO in the HDMI driver is wrong. This patch implements the PHY power handling correctly, using the interrupts. There is a corner case that causes some additional difficulties: we may get both LINK_CONNECT and LINK_DISCONNECT interrupts at the same time. This is handled in the code by retrying: turning off the PHY, clearing the interrupt status, and re-enabling the PHY. This causes a new LINK_CONNECT interrupt to happen if a cable is connected. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: HDMI: Add op to get audio DMA port address offsetRicardo Neri2012-11-061-0/+9
| | | | | | | | | It could be possible that the DMA port differs accross diferent HDMI IPs. Thus, add an IP-specific function to obtain the address offset and size of the DMA data port. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: fix compilation warningsTomi Valkeinen2012-10-171-1/+1
| | | | | | | | | | | When compiling on x86 we get following warnings: warning: field width specifier ‘*’ expects argument of type ‘int’, but argument 5 has type ‘size_t’ [-Wformat] Fix these by casting the size_t to int. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: HDMI: Remove custom hdmi_video_timings structArchit Taneja2012-06-291-2/+6
| | | | | | | | | | | The hdmi CEA and VESA timings were represented by the struct hdmi_video_timings, omap_video_timings couldn't be used as it didn't contain the fields hsync/vsync polarities and interlaced/progressive information. Remove hdmi_video_timings, and use omap_video_timings instead. Cc: Mythri P K <mythripk@ti.com> Signed-off-by: Archit Taneja <archit@ti.com>
* OMAPDSS: HDMI: Replace spinlock with mutex in hdmi_check_hpd_stateJassi Brar2012-06-291-5/+2Star
| | | | | | | | | State change of HDMI PHY could potentially take many millisecs, we can do better by protecting things in hdmi_set_phy_pwr() with a mutex rather than a spin_lock_irqsave. Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: HDMI: Discard phy_tx_enabled memberJassi Brar2012-06-291-7/+4Star
| | | | | | | | It is simpler to read the current status from a register as compared to maintaining a state variable to hold the information. Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: HDMI: OMAP4: Update IRQ flags for the HPD IRQ requestRicardo Neri2012-05-221-3/+3
| | | | | | | | | | | | | genirq requires that the IRQ requests that do not provided a handler to use the IRQF_ONESHOT flag. This is to prevent situations in which the irq line is reenabled while the interrupt is still asserted. While this situation may not happen in edge type interrupts, genirq still requires to use IRQF_ONESHOT. Also, remove the IRQF_DISABLED as the flag is now a NOOP and has been deprecated. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: HDMI: OMAP4: Remap speaker order to match ALSA orderRicardo Neri2012-05-111-0/+8
| | | | | | | | | | | | | As of today, the only know user of the DSS HDMI audio support is ASoC. Hence, it makes sense to remap the speaker order to match the ALSA speaker order. In the future, a dynamic mapping mechanism may be implemented. Remapping is needed as the HDMI speaker order is FL/FR/LFE/C/RL/RR/ RLC-FLC/RRC-FLC while the ALSA order is FL/FR/RL/RR/C/LFE/SL/SR. Refer to CEA-861 Section 6.6.2 for further details. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
* OMAPDSS: HDMI: Add an audio configuration functionRicardo Neri2012-05-111-4/+185
| | | | | | | | | | | | | | | | | | The generic HDMI driver does not need to know about the specific settings of a given IP. Hence, it just passes the audio configuration and the IP library parses such configuration and sets the IP accordingly. This patch introduces an IP-specific audio configuration function. Also, this patch implements the audio config function for OMAP4. The DMA, format and core config functions are no longer exposed to the generic HDMI driver as they are IP-specific. The audio configuration function caters for 16-bit through 24-bit audio samples with sample rates from 32kHz and up to 192kHz as well as up to 8 audio channels. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
* OMAPDSS: HDMI: Relocate N/CTS calculationRicardo Neri2012-05-111-57/+0Star
| | | | | | | | | | | | The N and CTS parameters are relevant to all HDMI implementations and not specific to a given IP. Hence, the calculation is relocated into the generic HDMI driver. Also, deep color is not queried but it is still considered in the calculation of N. This is to be changed when deep color functionality is implemented in the driver. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
* OMAPDSS: HDMI: OMAP4: Expand configuration for IEC-60958 audioRicardo Neri2012-05-111-10/+19
| | | | | | | | | | | Utilize a snd_aes_iec958 struct to write the parameters of the IEC-60958 channel status word into the HDMI IP registers. Hence, the user of the driver has full control of what parameters are written in the word. Also, some of the parameters of the I2S structure have been removed as they are actually IEC-60958 parameters. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
* OMAPDSS: HDMI: Decouple HDMI audio from ASoCRicardo Neri2012-05-111-4/+2Star
| | | | | | | | Instead of having OMAPDSS HDMI audio functionality depending on the ASoC HDMI audio driver, use a new config option so that potential users, including ASoC, may select if needed. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
* OMAPDSS: HDMI: Decouple wrapper enable/disable and audio start/stopAxel Castaneda Gonzalez2012-05-111-5/+14
| | | | | | | | | | Decouple the enable/disable operation of the HDMI audio wrapper from audio start/stop. Otherwise, an audio FIFO underflow may occur. The audio wrapper enablement must be done after configuration and before audio playback is started. Signed-off-by: Axel Castaneda Gonzalez <x0055901@ti.com> Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
* OMAPDSS: HDMI: OMAP4: Remove invalid I2S settingsRicardo Neri2012-05-111-3/+0Star
| | | | | | | | | According to the most up-to-date documentation from Texas Instruments, the configuration of High Bitrate Audio is not possible. Also, it is not possible to set polarity of the I2S Word Select signal. This patch removes the invalid settings. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
* OMAPDSS: HDMI: OMAP4: Remove CEA-861 audio infoframe and IEC-60958 enumsRicardo Neri2012-05-111-16/+18
| | | | | | | | Instead of having its own definitions for CEA-861 and IEC-60958, the HDMI driver should use those provided by ALSA. This patch removes the definitions that are already provided by ALSA. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
* OMAPDSS: HDMI: Split video_enable into video_enable/disableRicardo Neri2012-05-111-2/+8
| | | | | | | | | | To improve readability, split the video_enable HDMI IP operation into two separate functions for enabling and disabling video. The video_enable function is also modified to return an error value. While there, update these operations for the OMAP4 IP accordingly. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
* OMAPDSS: HDMI: Split audio_enable into audio_enable/disableRicardo Neri2012-05-111-4/+15
| | | | | | | | | | To improve readability, split the audio_enable HDMI IP operation into two separate functions for enabling and disabling audio. The audio_enable function is also modified to return an error value. While there, update these operations for the OMAP4 IP accordingly. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
* OMAPDSS: HDMI: define and dump CORE registers in correct orderArchit Taneja2012-05-091-37/+33Star
| | | | | | | | | | | | The HDMI core register offset macros aren't defined in ascending order of their values, some of the offset macros are also redefined. The same issues occur when these core registers are dumped. Clean up the ordering of HDMI core registers and remove repeated registers in the definition in ti_hdmi_4xxx_ip.h and in ti_hdmi_4xxx_core_dump(). Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: HDMI: Fix ti_hdmi_4xxx_core_dumpArchit Taneja2012-05-091-70/+72
| | | | | | | | | | | | | | | | | | | | | The function ti_hdmi_4xxx_core_dump has some bugs, the following mention the bugs and the solutions: - The macros DUMPCORE and DUMPCOREAV in ti_hdmi_4xxx_core_dump() use hdmi_pll_base() for the offsets needed to calculate register addresses, use functions hdmi_core_sys_base() amd hdmi_av_base() to calculate the correct offsets for CORE_SYS and CORE_AV registers. - Many of the CORE_AV registers use the DUMPCORE macro, and hence the register addresses are calculated incorrectly. Rename the current DUMPCOREAV macro as DUMPCOREAV2 as it takes 2 arguments to dump indexed CORE_AV registers, create a new macro called DUMPCOREAV which is now used for dumping non-indexed CORE_AV registers. Thanks to Ancy Tom <ancytom@gmail.com> for pointing out the issues. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* Merge commit 'v3.3-rc6'Tomi Valkeinen2012-03-061-8/+1Star
|\ | | | | | | | | | | | | | | Merge v3.3-rc6 to get the latest DSS and OMAP arch fixes. Conflicts: arch/arm/mach-omap1/board-innovator.c drivers/video/omap2/dss/apply.c
| * OMAPDSS: HDMI: hot plug detect fixRob Clark2012-02-231-8/+1Star
| | | | | | | | | | | | | | | | | | | | | | The "OMAPDSS: HDMI: PHY burnout fix" commit switched the HDMI driver over to using a GPIO for plug detect. Unfortunately the ->detect() method was not also updated, causing HDMI to no longer work for the omapdrm driver (because it would actually check if a connection was detected before attempting to enable display). Signed-off-by: Rob Clark <rob@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | OMAPDSS: HDMI: Implement initialization of MCLKRicardo Neri2012-02-211-15/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When the MCLK is used to drive the Audio Clock Regeneration packets, the initialization procedure is to set ACR_CTRL[2] to 0 and then back again to 1. Also, devices that do not support the MCLK, use the TMDS clock directly by leaving ACR_CTRL[2] set to 0. The MLCK clock divisor, mclk_mode, is configured only if MLCK is used. Such configuration is no longer related to the CTS mode as in some silicon revisions CTS SW-mode is used along with the MCLK. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | OMAPDSS: HDMI: Move Avi-infoframe struct to hdmi_ip_dataMythri P K2012-02-211-4/+4
| | | | | | | | | | | | | | | | | | | | | | With AVI infoframe various parameters of video stream such as aspect ratio, quantization range, videocode etc will be indicated from source to sink.Thus AVI information needs to be set/accessed by the middle ware based on the video content. Thus this parameter is now moved to the ip_data structure. Signed-off-by: Mythri P K <mythripk@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | Merge commit 'v3.3-rc4'Tomi Valkeinen2012-02-211-4/+64
|\|
| * OMAPDSS: HDMI: PHY burnout fixTomi Valkeinen2012-01-261-4/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A hardware bug in the OMAP4 HDMI PHY causes physical damage to the board if the HDMI PHY is kept powered on when the cable is not connected. This patch solves the problem by adding hot-plug-detection into the HDMI IP driver. This is not a real HPD support in the sense that nobody else than the IP driver gets to know about the HPD events, but is only meant to fix the HW bug. The strategy is simple: If the display device is turned off by the user, the PHY power is set to OFF. When the display device is turned on by the user, the PHY power is set either to LDOON or TXON, depending on whether the HDMI cable is connected. The reason to avoid PHY OFF when the display device is on, but the cable is disconnected, is that when the PHY is turned OFF, the HDMI IP is not "ticking" and thus the DISPC does not receive pixel clock from the HDMI IP. This would, for example, prevent any VSYNCs from happening, and would thus affect the users of omapdss. By using LDOON when the cable is disconnected we'll avoid the HW bug, but keep the HDMI working as usual from the user's point of view. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | OMAPDSS: HDMI: Correct source of the pixel clock in ACR calculationRicardo Neri2012-01-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | Due to changes in struct hdmi_config, the pixel clock has to be obtained differently. The pixel clock is needed to calculate the CTS value as defined in the HDMI specification. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | OMAPDSS: HDMI: update static timing tableMythri P K2012-01-251-10/+10
| | | | | | | | | | | | | | | | | | Add the vsync polarity, hsync polarity, interlace to hdmi_video_timings. Remove the now duplicate structure hdmi_timings. update the static table structure in HDMI with CEA/VESA code and mode. Signed-off-by: Mythri P K <mythripk@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | OMAPDSS: HDMI: remove duplicate video interface codeMythri P K2012-01-251-23/+8Star
|/ | | | | | | | | video interface structure is a duplicate structure with parameters which are already present in ip_data config structure, Thus removing the structure and modifying corresponding code. Signed-off-by: Mythri P K <mythripk@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* ASoC: OMAP: HDMI: Move HDMI codec trigger function to generic HDMI driverRicardo Neri2012-01-051-32/+0Star
| | | | | | | | | | | | The function hdmi_audio_trigger is a callback used by ASoC to stop/start HDMI audio. Also, it does not perform IP-specific configuration directly. Hence, it should be placed in the general portion of the HDMI driver, along with the other ASoC callbacks. Also, make this function static. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: HDMI: Create function to enable HDMI audioRicardo Neri2012-01-051-12/+18
| | | | | | | | | | | In order to separate clearly IP-specific code from general DSS code, a function for OMAP4 audio enable is created. This function is included in the HDMI IP ops to align with the current implementation of the DSS HDMI driver. This function is to be used by the ASoC HDMI audio codec. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* ASoC: OMAP: HDMI: Correct signature of ASoC functionsRicardo Neri2012-01-051-2/+5
| | | | | | | | | | | These functions require access to IP-secific data. However, it is not possible to pass such data as a function argument as such functions have a specific signature specified by ASoC. Instead, they will have access to the IP-specific data by calling snd_soc_codec_get_drvdata. The codec driver data is set at probe time. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: HDMI: Add support to dump registers through debugfsMythri P K2011-09-301-0/+173
| | | | | | | | | Add support to dump the HDMI wrapper, core, PLL and PHY registers through debugfs. Signed-off-by: Mythri P K <mythripk@ti.com> [tomi.valkeinen@ti.com: updated the description] Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: HDMI: Replace hdmi_reg struct with u16Mythri P K2011-09-301-5/+5
| | | | | | | | | | Remove usage of hdmi_reg struct to use u16 instead in the HDMI IP header file. hdmi_reg struct is not really needed, and the same change was also made for dispc earlier. Signed-off-by: Mythri P K <mythripk@ti.com> [tomi.valkeinen@ti.com: updated the description] Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: HDMI: implement detect()Tomi Valkeinen2011-09-301-0/+12
| | | | | | | | | | | Implement detect() by checking the hot plug detect status. The implementation is not very good, as it always turns on the HDMI output to get the detection working. HDMI driver needs improvements so that we could enable only core parts of it. Cc: Mythri P K <mythripk@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: HDMI: clean up edid reading & fix checksumTomi Valkeinen2011-09-301-33/+34
| | | | | | | | | | | | Clean up reading of EDID by passing direct address to the block being read, instead of start address of the whole EDID memory area. Rewrite the loop which reads the EDID. This also fixes the checksum calculation, which used to calculate the checksum only for the first block. Cc: Mythri P K <mythripk@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: HDMI: split hdmi_core_ddc_edidTomi Valkeinen2011-09-301-50/+67
| | | | | | | | | Split the DDC initialization off from hdmi_core_ddc_edid() into a separate function hdmi_core_ddc_init(). This cleans up the implementation. Cc: Mythri P K <mythripk@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: HDMI: implement read_edid()Tomi Valkeinen2011-09-301-17/+20
| | | | | | | | Implement read_edid() for HDMI by implementing necessary functions to hdmi.c and to hdmi_omap4_panel.c. Cc: Mythri P K <mythripk@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: HDMI: change regn definitionTomi Valkeinen2011-09-301-1/+1
| | | | | | | | | | | | | | | regn divider is currently programmed to the registers without change, but when calculating clock frequencies it is used as regn+1. To make this similar to how DSI handles the dividers this patch changes the regn value to be used as such for calculations, but the value programmed to registers is regn-1. This simplifies the clock frequency calculations, makes it similar to DSI, and also allows us to use regn value 0 as undefined. Cc: Mythri P K <mythripk@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>