1. 30 9月, 2011 15 次提交
  2. 20 9月, 2011 1 次提交
  3. 01 8月, 2011 1 次提交
    • T
      HACK: OMAP: DSS2: clk hack for OMAP2/3 · 9ede365a
      Tomi Valkeinen 提交于
      The HWMOD data for OMAP2 and 3 are currently not up to date regarding
      DSS (OMAP4 HWMOD data is fine). This patch makes the DSS driver to get
      the opt clocks needed for OMAP2/3 with the old clock names, thus
      allowing DSS driver to use runtime PM.
      
      The HWMOD databases should be fixes ASAP, and this patch can be reverted
      after that.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      9ede365a
  4. 25 7月, 2011 2 次提交
  5. 01 7月, 2011 2 次提交
    • T
      OMAP: DSS2: Fix FIFO threshold and burst size for OMAP4 · 5ed8cf5b
      Tomi Valkeinen 提交于
      The DMA FIFO threshold registers and burst size registers have changed
      for OMAP4.  The current code only handles OMAP2/3 case, and so the
      values are a bit off for OMAP4.  A summary of the differences between
      OMAP2/3 and OMAP4:
      
      Burst size:
      OMAP2/3: 4 x 32 bits / 8 x 32 bits / 16 x 32 bits
      OMAP4: 2 x 128 bits / 4 x 128 bits / 8 x 128 bits
      
      Threshold size:
      OMAP2/3: in bytes (8 bit units)
      OMAP4: in 128bit units
      
      This patch fixes the issue by creating two new helper functions in
      dss_features: dss_feat_get_buffer_size_unit() and
      dss_feat_get_burst_size_unit(). These return (in bytes) the unit size
      for threshold registers and unit size for burst size register,
      respectively, and are used to calculate correct values.
      
      For the threshold size the usage is straightforward. However, the burst
      size register has different multipliers for OMAP2/3 and OMAP4. This
      patch solves the problem by defining the multipliers for the burst size
      as 2x, 4x and 8x, which fit fine for the OMAP4 burst size definition
      (i.e. burst size unit for OMAP4 is 128bits), but requires a slight twist
      on OMAP2/3 by defining the burst size unit as 64bit.
      
      As the driver in practice always uses the maximum burst size, and no use
      case currently exists where we would want to use a smaller burst size,
      this patch changes the driver to hardcode the burst size when
      initializing DISPC. This makes the threshold configuration code somewhat
      simpler.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      5ed8cf5b
    • T
      OMAP: DSS2: Add Color Phase Rotation support · 3c07cae2
      Tomi Valkeinen 提交于
      Add Color Phase Rotation (CPR) support and sysfs files to enable CPR and
      to set the CPR coefficient matrix.
      
      CPR is enabled via manager?/cpr_enable file, and the coefficient matrix
      is set via manager?/cpr_coef file. The values in cpr_coef are in the
      following order:
      
      RR RG RB GR GG GB BR BG BB
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      3c07cae2
  6. 23 5月, 2011 1 次提交
    • 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
  7. 13 5月, 2011 5 次提交
  8. 11 5月, 2011 2 次提交
    • T
      OMAP: DSS2: DSI: add option to leave DSI lanes powered on · 2a89dc15
      Tomi Valkeinen 提交于
      The DSI pins are powered by VDDS_DSI. If VDDS_DSI is off, the DSI pins
      are floating even if they are pinmuxed to, say, safe mode and there's a
      pull down/up.
      
      This patch gives the panel drivers an option to leave the VDDS_DSI power
      enabled while the DSS itself is turned off. This can be used to keep the
      DSI lanes in a valid state while DSS is off, if the DSI pins are muxed
      for pull down (not done in this patch).
      
      There will be a slight power consumption increase (~100 uA?) when the
      VDDS_DSI is left on, but because this option is used when the panel is
      left on, the regulator consumption is negligible compared to panel power
      consumption.
      
      When the panel is fully turned off the VDDS_DSI is also turned off.
      
      As an added bonus this will give us faster start up time when starting
      up the DSS and the regulator is already enabled.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      2a89dc15
    • A
      OMAP2PLUS: DSS2: Change enum "dss_clk_source" to "omap_dss_clk_source" · 89a35e51
      Archit Taneja 提交于
      Change enum dss_clk_source to omap_dss_clock_source and move it to
      'plat/display.h'. Change the enum members to attach "OMAP_" in the beginning.
      These changes are done in order to specify the clock sources for DSS in the
      board file.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      89a35e51
  9. 16 3月, 2011 4 次提交
  10. 15 3月, 2011 1 次提交
  11. 11 3月, 2011 6 次提交
    • T
      OMAP4: DSS2: Clock source changes for OMAP4 · ea75159e
      Taneja, Archit 提交于
      On OMAP3, the pixel clock for the LCD manager was derived through DISPC_FCLK as:
      
      Lcd Pixel clock = DISPC_FCLK / lcd / pcd
      
      Where lcd and pcd are divisors in the DISPC_DIVISOR register.
      
      On OMAP4, the pixel clocks for LCD1 and LCD2 managers are derived from 2 new
      clocks named LCD1_CLK and LCD2_CLK. The pixel clocks are calculated as:
      
      Lcd_o Pixel clock = LCDo_CLK / lcdo /pcdo, o = 1, 2
      
      Where lcdo and pcdo registers are divisors in DISPC_DIVISORo registers.
      
      LCD1_CLK and LCD2_CLK can have DSS_FCLK, and the M4 divider clocks of DSI1 PLL
      and DSI2 PLL as clock sources respectively. Introduce functions to select and
      get the clock source for these new clocks. Modify DISPC functions get the
      correct lck and pck rates based on the clock source of these clocks. Since
      OMAP2/3 don't have these clocks, force OMAP2/3 to always have the LCD_CLK source
      as DSS_CLK_SRC_FCK by introducing a dss feature.
      
      Introduce clock source names for OMAP4 and some register field changes in
      DSS_CTRL on OMAP4.
      
      Currently, LCD2_CLK can only have DSS_FCLK as its clock source as DSI2 PLL
      functionality hasn't been introduced yet. BUG for now if DSI2 PLL is selected as
      clock.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      ea75159e
    • T
      OMAP2PLUS: DSS2: Cleanup clock source related code · 66534e8e
      Taneja, Archit 提交于
      Clean up some of the DSS functions which select/get clock sources, use switch
      to select the clock source members since more clock sources will be introduced
      later on.
      
      Remove the use of macro CONFIG_OMAP2_DSS_DSI in dispc_fclk_rate, use a dummy
      inline for function for dsi_get_pll_hsdiv_dispc_rate() instead for code clarity.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      66534e8e
    • T
      OMAP: DSS2: Remove pdev argument from dpi_init · 277b2881
      Tomi Valkeinen 提交于
      dpi_init() does not use the pdev argument for anything. Remove it.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      277b2881
    • T
      OMAP: DSS2: Remove FB_OMAP_BOOTLOADER_INIT support · 42c9dee8
      Tomi Valkeinen 提交于
      FB_OMAP_BOOTLOADER_INIT does not work, and it was only partially
      implemented for SDI.
      
      This patch removes support for FB_OMAP_BOOTLOADER_INIT to clean up the
      code and to remove any assumptions that FB_OMAP_BOOTLOADER_INIT would
      work.
      
      Proper implementation is much more complex, requiring early boot time
      register and clock handling to keep the DSS running.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      42c9dee8
    • A
      OMAP2PLUS: DSS2: DSI: Generalize DSI PLL Clock Naming · 1bb47835
      Archit Taneja 提交于
      DSI PLL output clock names have been made more generic. The clock name
      describes what the source of the clock and what clock is used for. Some of
      DSI PLL parameters like dividers and DSI PLL source have also been made more
      generic.
      
      dsi1_pll_fclk and dsi2_pll_fclk have been changed as dsi_pll_hsdiv_dispc_clk
      and dsi_pll_hsdiv_dsi_clk respectively. Also, the hsdividers are now named
      regm_dispc and regm_dsi instead of regm3 and regm4.
      
      Functions and macros named on the basis of these clock names have also been
      made generic.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      1bb47835
    • A
      OMAP2PLUS: DSS2: Use dss features to get clock source names of current OMAP · 067a57e4
      Archit Taneja 提交于
      Clock source names vary across OMAP2/3 and OMAP4, the clock source enum
      names have been made generic in the driver, but for purposes of debugging
      and dumping clock sources, it is better to preserve the actual TRM name of
      the clock.
      
      Introduce a dss feature function 'dss_feat_get_clk_source_name()' which
      returns a string with the TRM clock name for the current OMAP in use. The OMAP
      specific name is printed along the generic name within brackets.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      067a57e4