1. 30 9月, 2011 10 次提交
    • A
      OMAP: DSS2: DSI Video mode support · 8af6ff01
      Archit Taneja 提交于
      Add initial support for DSI video mode panels:
      - Add a new structure omap_dss_dsi_videomode_data in the member "panel" in
        omap_dss_device struct. This allows panel driver to configure dsi video_mode
        specific parameters.
      - Configure basic DSI video mode timing parameters: HBP, HFP, HSA, VBP, VFP, VSA,
        TL and VACT.
      - Configure DSI protocol engine registers for video_mode support.
      - Introduce functions dsi_video_mode_enable() and dsi_video_mode_disable() which
        enable/disable video mode for a given virtual channel and a given pixel format
        type.
      
      Things left for later
      - Add functions to check for errors in video mode timings provided by panel.
      - Configure timing registers required  for command mode interleaving.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      8af6ff01
    • A
      OMAP: DSS2: Create an enum for DSI pixel formats · a3b3cc2b
      Archit Taneja 提交于
      Currently, DSI pixel info is only represented by the pixel size in bits using
      the pixel_size parameter in omap_dss_device struct's ctrl member.
      
      This is not sufficient information for DSI video mode usage, as two of the
      supported formats(RGB666 loosely packed, and RGB888) have the same pixel
      container size, but different data_type values for the video mode packet header.
      
      Create enum "omap_dss_dsi_pixel_format" which describes the pixel data format
      the panel is configured for. Create helper function dsi_get_pixel_size() which
      returns the pixel size of the given pixel format.
      
      Modify functions omapdss_default_get_recommended_bpp() and dss_use_replication()
      to use dsi_get_pixel_size().
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      a3b3cc2b
    • A
      OMAP: DSS2: DSI: Introduce generic read functions · b3b89c05
      Archit Taneja 提交于
      Introduce read functions which use generic Processor-to-Peripheral
      transaction types. These are needed by some devices which may not support
      corresponding DCS commands.
      
      Add function dsi_vc_generic_send_read_request() which can send
      a short packet with 0, 1 or 2 bytes of request data and the corresponding
      generic data type.
      
      Rename function dsi_vc_dcs_read_rx_fifo() to dsi_vc_read_rx_fifo() and modify
      it to take the enum "dss_dsi_content_type" as an argument to use either DCS
      or GENERIC Peripheral-to-Processor transaction types while parsing data read
      from the device.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      b3b89c05
    • A
      OMAP: DSS2: DSI: Remove functions dsi_vc_dcs_read_1() and dsi_vc_dcs_read_2() · 5c716a04
      Archit Taneja 提交于
      Remove functions dsi_vc_dcs_read_1() and dsi_vc_dcs_read_2(), these are used
      when the panel is expected to return 1 and 2 bytes respecitvely. This was manily
      used for debugging purposes. These functions should be implemented in the panel
      driver if needed.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      5c716a04
    • A
      OMAP: DSS2: DSI: Introduce generic write functions · 6ff8aa31
      Archit Taneja 提交于
      Intoduce enum "dss_dsi_content_type" to differentiate between DCS and generic
      content types.
      
      Introduce short and long packet write functions which use generic
      Processor-to-Peripheral transaction types. These are needed by some devices
      which may not support corresponding DCS commands. Create common write functions
      which allow code reuse between DCS and generic write functions.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      6ff8aa31
    • A
      OMAP: DSS2: Create enum for DSI operation modes · 7e951ee9
      Archit Taneja 提交于
      Create an enum for DSI operation modes, use this to set the capabilities of the
      device in dsi_init_display().
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      7e951ee9
    • T
      OMAP: DSS2: Add GLOBAL_ALPHA & PRE_MULT_ALPHA to ovl caps · f6dc8150
      Tomi Valkeinen 提交于
      Add OMAP_DSS_OVL_CAP_GLOBAL_ALPHA and OMAP_DSS_OVL_CAP_PRE_MULT_ALPHA to
      overlay capabilities. Use these instead of FEAT_GLOBAL_ALPHA,
      FEAT_GLOBAL_ALPHA_VID1 and FEAT_PRE_MULT_ALPHA in code.
      
      Remove FEAT_GLOBAL_ALPHA_VID1 and FEAT_PRE_MULT_ALPHA which are no
      longer used. FEAT_GLOBAL_ALPHA is still used to decide if the HW has
      global alpha register.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Acked-by: NArchit Taneja <archit@ti.com>
      f6dc8150
    • T
      OMAP: DSS2: Remove support for non-DISPC overlays · 4a9e78ab
      Tomi Valkeinen 提交于
      Remove support for non-DISPC overlays and overlay managers.
      
      The support to possibly have non-DISPC overlays and managers was made to
      make it possible to use CPU and/or sDMA to update RFBI or DSI command
      mode displays. It is ok to remove the support, because:
      
      - No one has used the feature.
      - Display update without DISPC is very slow, so it is debatable if the
        update would even be usable.
      - Removal cleans up code.
      - If such a feature is needed later, it is better implemented outside
        omapdss driver.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Acked-by: NArchit Taneja <archit@ti.com>
      4a9e78ab
    • T
      OMAP: DSS2: Handle manager change in apply · 8fa8031c
      Tomi Valkeinen 提交于
      Currently when changing the manager of an overlay, set_manager() directly
      calls dispc to set the overlay's destination.
      
      Change this to be more in line with other overlay configurations, and
      this will also remove the need to have dispc clocks enabled when calling
      set_manager().
      
      A new field is added to overlay struct, "manager_changed". This is
      similar to "display_changed" field in manager struct, and is used to
      inform apply that the manager has changed and thus write to the
      registers is needed.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      8fa8031c
    • T
      OMAP: DSS2: DSI: Improve dsi_mux_pads parameters · 5bc416cb
      Tomi Valkeinen 提交于
      dsi_mux_pads() needs to know about the DSI HW module and the DSI lanes
      used. Split the function into two, enable and disable, which take
      necessary arguments, and add empty implementations for both.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      5bc416cb
  2. 25 7月, 2011 2 次提交
  3. 01 7月, 2011 3 次提交
  4. 23 5月, 2011 2 次提交
    • A
      OMAP: DSS2: Add support for NV12 format · 0d66cbb5
      Amber Jain 提交于
      Add the support for NV12 color format.
      Configure base address for UV component of NV12 color format.
      Change the way chroma scaling is handled for YUV formats on OMAP4 by enabling
      chroma-resampling for video pipeline and hence using FIR2 register set for
      scaling UV.
      Changes to _dispc_set_scaling(), because of the reason above, are:
      - call _dispc_set_scaling_common() to handle scaling for all color formats
        except for OMAP4 where it only handles scaling for RGB or Y-component
      - call _dispc_set_scaling_uv() for special handling required for UV
        component on OMAP4.
      - dispc_set_scaling_uv() also resets chroma-resampling bit for RGB color modes.
      
      Contains chroma scaling (_dispc_set_scaling_uv) design and implemented by
      Lajos Molnar <molnar@ti.com>
      Signed-off-by: NAmber Jain <amber@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      0d66cbb5
    • A
      OMAP: DSS2: Add new color formats for OMAP4 · f20e4220
      Amber Jain 提交于
      Add new color formats supported by OMAP4: NV12, RGBA16, RGBX16,
      ARGB16_1555, XRGB16_1555.
      NV12 color format is defined here, its support in DSS will be added separately.
      Signed-off-by: NAmber Jain <amber@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      f20e4220
  5. 16 5月, 2011 1 次提交
    • A
      OMAP: DSS2: DSI: Get number of DSI data lanes using DSI_GNQ register · 75d7247c
      Archit Taneja 提交于
      On OMAP3, the DSI module has 2 data lanes. On OMAP4, DSI1 has 4 data lanes
      and DSI2 has 2 data lanes. Introduce function dsi_get_num_data_lanes() which
      returns the number of data lanes on the dsi interface, introduce function
      dsi_get_num_data_lanes_dssdev() which returns the number of data lanes used by
      the omap_dss_device connected to the lanes.
      
      Use the DSI_GNQ register on OMAP4 to get the number of data lanes, modify
      dsi.c to use the number of lanes and the extra data lanes on DSI1.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      75d7247c
  6. 13 5月, 2011 5 次提交
  7. 11 5月, 2011 10 次提交
  8. 16 3月, 2011 1 次提交
  9. 11 3月, 2011 4 次提交
  10. 23 2月, 2011 1 次提交
  11. 10 1月, 2011 1 次提交
    • S
      OMAP: DSS2: Introduce omap_channel as an omap_dss_device parameter, add new overlay manager. · 18faa1b6
      Sumit Semwal 提交于
      A panel connects to one of the overlay managers of DSS through some interface block.
      On OMAP4, specifying the type of the display is not sufficient to conclude which manager
      the panel should be connected to.
      Hence, a new member 'channel' is introduced in omap_dss_device structure to determine
      which manager the panel uses. The dss_recheck_connections() called in dss_driver_probe()
      uses this channel parameter to set the correct manager to the corresponding omap_dss_device.
      
      The channel parameter is used only once to ensure the correct managers are set for each
      panel. The parameter dssdev->manager->id will take care of ensuring that the panel and
      then the interface driver configures the correct DISPC channel.
      
      Also, add a new Overlay Manager in manager.c, make other changes needed for LCD2 channel.
      Signed-off-by: NSumit Semwal <sumit.semwal@ti.com>
      Signed-off-by: NMukund Mittal <mmittal@ti.com>
      Signed-off-by: NSamreen <samreen@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
      18faa1b6