linux/drivers/gpu/drm/sun4i
Giulio Benetti 2c17a4368a
drm/sun4i: Handle DRM_BUS_FLAG_PIXDATA_*EDGE
Handle both positive and negative dclk polarity,
according to bus_flags, taking care of this:

On A20 and similar SoCs, the only way to achieve Positive Edge
(Rising Edge), is setting dclk clock phase to 2/3(240°).
By default TCON works in Negative Edge(Falling Edge), this is why phase
is set to 0 in that case.
Unfortunately there's no way to logically invert dclk through IO_POL
register.
The only acceptable way to work, triple checked with scope,
is using clock phase set to 0° for Negative Edge and set to 240° for
Positive Edge.
On A33 and similar SoCs there would be a 90° phase option, but it divides
also dclk by 2.
This patch is a way to avoid quirks all around TCON and DOTCLOCK drivers
for using A33 90° phase divided by 2 and consequently increase code
complexity.

Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1520963677-124239-1-git-send-email-giulio.benetti@micronovasrl.com
2018-03-14 09:16:08 +01:00
..
Kconfig drm/sun4i: Allow building on arm64 2018-03-02 08:46:14 +01:00
Makefile drm/sun4i: Add support for H3 HDMI PHY variant 2018-03-02 08:45:49 +01:00
sun4i_backend.c drm/sun4i: backend: Remove ARGB spoofing 2018-02-22 16:20:59 +01:00
sun4i_backend.h drm/sun4i: backend: Check for the number of alpha planes 2018-01-29 14:02:42 +01:00
sun4i_crtc.c drm/sun4i: backend: Wire in the frontend 2018-01-22 15:17:04 +01:00
sun4i_crtc.h drm/sun4i: abstract a engine type 2017-06-01 09:47:23 +02:00
sun4i_dotclock.c drm/sun4i: Create minimal multipliers and dividers 2018-01-04 20:08:42 +01:00
sun4i_dotclock.h
sun4i_drv.c drm/sun4i: Add support for H3 display engine 2018-03-02 08:45:05 +01:00
sun4i_drv.h drm/sun4i: Add a driver for the display frontend 2018-01-22 15:15:38 +01:00
sun4i_framebuffer.c drm/sun4i: backend: Add support for zpos 2018-01-29 14:02:40 +01:00
sun4i_framebuffer.h drm/sun4i: Use drm_fb_cma_fbdev_init/fini() 2017-12-08 14:47:42 +01:00
sun4i_frontend.c drm/sun4i: Add a driver for the display frontend 2018-01-22 15:15:38 +01:00
sun4i_frontend.h drm/sun4i: Add a driver for the display frontend 2018-01-22 15:15:38 +01:00
sun4i_hdmi.h drm/sun4i: hdmi: Document PAD_CTRL1 output invert bits 2017-10-16 09:54:21 +02:00
sun4i_hdmi_ddc_clk.c drm/sun4i: tcon: Don't rely on encoders to set the TCON mode 2017-10-17 19:49:13 +02:00
sun4i_hdmi_enc.c drm/sun4i: hdmi: Move the mode_valid callback to the encoder 2017-12-20 12:59:46 +01:00
sun4i_hdmi_i2c.c drm/sun4i: hdmi: Add support for controller hardware variants 2017-10-11 09:53:33 +02:00
sun4i_hdmi_tmds_clk.c drm/sun4i: hdmi: Add missing rate halving check in sun4i_tmds_determine_rate 2018-01-11 13:25:43 +01:00
sun4i_layer.c drm/sun4i: backend: Make zpos configurable 2018-02-22 16:20:16 +01:00
sun4i_layer.h drm/sun4i: backend: Assign the pipes automatically 2018-02-22 16:19:52 +01:00
sun4i_lvds.c drm/sun4i: add lvds mode_valid function 2018-03-14 09:14:57 +01:00
sun4i_lvds.h drm/sun4i: Add LVDS support 2018-01-04 20:37:17 +01:00
sun4i_rgb.c drm/sun4i: move rgb mode_valid from connector to encoder 2018-03-14 09:07:13 +01:00
sun4i_rgb.h drm/sun4i: rgb: Pass tcon pointer when initializing RGB encoder 2017-03-07 22:18:24 +01:00
sun4i_tcon.c drm/sun4i: Handle DRM_BUS_FLAG_PIXDATA_*EDGE 2018-03-14 09:16:08 +01:00
sun4i_tcon.h drm/sun4i: Add has_channel_0 TCON quirk 2018-02-16 09:35:16 +01:00
sun4i_tv.c drm/sun4i: tcon: Don't rely on encoders to set the TCON mode 2017-10-17 19:49:13 +02:00
sun6i_drc.c Merge tag 'drm-misc-next-2016-11-16' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2016-11-17 08:02:46 +10:00
sun8i_csc.c drm/sun4i: Add DE2 CSC library 2017-12-05 13:22:44 +01:00
sun8i_csc.h drm/sun4i: Add DE2 CSC library 2017-12-05 13:22:44 +01:00
sun8i_dw_hdmi.c drm/sun4i: Implement A83T HDMI driver 2018-02-16 09:38:30 +01:00
sun8i_dw_hdmi.h drm/sun4i: Add support for H3 HDMI PHY variant 2018-03-02 08:45:49 +01:00
sun8i_hdmi_phy.c drm/sun4i: Add support for H3 HDMI PHY variant 2018-03-02 08:45:49 +01:00
sun8i_hdmi_phy_clk.c drm/sun4i: Add support for H3 HDMI PHY variant 2018-03-02 08:45:49 +01:00
sun8i_mixer.c drm/sun4i: Add support for H3 mixer 0 2018-03-02 08:45:14 +01:00
sun8i_mixer.h drm/sun4i: Force the mixer rate at 150MHz 2018-01-04 20:04:32 +01:00
sun8i_ui_layer.c drm: Don't pass clip to drm_atomic_helper_check_plane_state() 2018-03-05 20:48:25 +02:00
sun8i_ui_layer.h drm/sun4i: Reorganize UI layer code in DE2 2017-12-05 13:22:43 +01:00
sun8i_ui_scaler.c drm/sun4i: Add support for HW scaling to DE2 2017-12-05 13:22:44 +01:00
sun8i_ui_scaler.h drm/sun4i: Add support for HW scaling to DE2 2017-12-05 13:22:44 +01:00
sun8i_vi_layer.c drm: Don't pass clip to drm_atomic_helper_check_plane_state() 2018-03-05 20:48:25 +02:00
sun8i_vi_layer.h drm/sun4i: Add support for DE2 VI planes 2017-12-05 13:22:43 +01:00
sun8i_vi_scaler.c drm/sun4i: Expand DE2 scaler lib with YUV support 2017-12-05 13:22:44 +01:00
sun8i_vi_scaler.h drm/sun4i: Expand DE2 scaler lib with YUV support 2017-12-05 13:22:44 +01:00
sunxi_engine.h drm/sun4i: Fix build warnings in sunxi_engine.h 2018-01-23 10:45:01 +01:00