2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-09 06:04:05 +08:00
linux-next/drivers/gpu/drm/sun4i
Chen-Yu Tsai 939d749ad6 drm/sun4i: hdmi: Add support for controller hardware variants
The HDMI controller found in earlier Allwinner SoCs have slight
differences between the A10, A10s, and the A31:

  - Need different initial values for the PLL related registers

  - Different behavior of the DDC and TMDS clocks

  - Different register layout for the DDC portion

  - Separate DDC parent clock on the A31

  - Explicit reset control

For the A31, the HDMI TMDS clock has a different value offset for
the divider. The HDMI DDC block is different from the one in the
other SoCs. As far as the DDC clock goes, it has no pre-divider,
as it is clocked from a slower parent clock, not the TMDS clock.
The divider offset from the register value is different. And the
clock control register is at a different offset.

A new variant data structure is created to store pointers to the
above functions, structures, and the different initial values.
Another flag notates whether there is a separate DDC parent clock.
If not, the TMDS clock is passed to the DDC clock create function,
as before.

Regmap fields are used to deal with the different register layout
of the DDC block.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171010032008.682-8-wens@csie.org
2017-10-11 09:53:33 +02:00
..
Kconfig drm/sun4i: cec: Enable back CEC-pin framework 2017-09-22 08:42:17 +02:00
Makefile drm/sun4i: hdmi: Implement I2C adapter for A10s DDC bus 2017-07-17 08:21:39 +02:00
sun4i_backend.c drm/sun4i: use of_graph_get_remote_endpoint() 2017-08-23 16:28:39 +02:00
sun4i_backend.h drm/sun4i: abstract a engine type 2017-06-01 09:47:23 +02:00
sun4i_crtc.c drm: Convert atomic drivers from CRTC .disable() to .atomic_disable() 2017-06-30 14:53:15 +02:00
sun4i_crtc.h drm/sun4i: abstract a engine type 2017-06-01 09:47:23 +02:00
sun4i_dotclock.c drm/sun4i: dotclock: Round to closest clock rate 2016-09-20 09:19:31 +02:00
sun4i_dotclock.h
sun4i_drv.c Merge tag 'drm-misc-next-2017-09-20' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-09-28 05:46:15 +10:00
sun4i_drv.h drm/sun4i: abstract a engine type 2017-06-01 09:47:23 +02:00
sun4i_framebuffer.c drm/sun4i: Use drm_gem_fb_create() 2017-10-01 17:03:55 +02:00
sun4i_framebuffer.h
sun4i_hdmi_ddc_clk.c drm/sun4i: hdmi: Add support for controller hardware variants 2017-10-11 09:53:33 +02:00
sun4i_hdmi_enc.c drm/sun4i: hdmi: Add support for controller hardware variants 2017-10-11 09:53:33 +02: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 support for controller hardware variants 2017-10-11 09:53:33 +02:00
sun4i_hdmi.h drm/sun4i: hdmi: Add support for controller hardware variants 2017-10-11 09:53:33 +02:00
sun4i_layer.c Allwinner DRM changes for 4.14 2017-08-21 09:05:01 +10:00
sun4i_layer.h drm/sun4i: abstract a engine type 2017-06-01 09:47:23 +02:00
sun4i_rgb.c Allwinner DRM changes for 4.14 2017-08-21 09:05:01 +10: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: tcon: Add support for demuxing TCON output on A31 2017-10-11 09:52:50 +02:00
sun4i_tcon.h drm/sun4i: tcon: Add variant callback for TCON output muxing 2017-10-11 09:52:36 +02:00
sun4i_tv.c Allwinner DRM changes for 4.14 2017-08-21 09:05:01 +10: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_layer.c drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
sun8i_layer.h drm/sun4i: add support for Allwinner DE2 mixers 2017-06-01 09:49:54 +02:00
sun8i_mixer.c drm/sun4i: add support for Allwinner DE2 mixers 2017-06-01 09:49:54 +02:00
sun8i_mixer.h drm/sun4i: add support for Allwinner DE2 mixers 2017-06-01 09:49:54 +02:00
sunxi_engine.h drm/sun4i: abstract a engine type 2017-06-01 09:47:23 +02:00