Lines Matching +full:tcon +full:- +full:pixel +full:- +full:clock

1 /* SPDX-License-Identifier: GPL-2.0-or-later */
6 * Boris Brezillon <boris.brezillon@free-electrons.com>
7 * Maxime Ripard <maxime.ripard@free-electrons.com>
26 #define SUN4I_TCON_GINT0_VBLANK_ENABLE(pipe) BIT(31 - (pipe))
29 #define SUN4I_TCON_GINT0_VBLANK_INT(pipe) BIT(15 - (pipe))
66 #define SUN4I_TCON0_BASIC0_X(width) ((((width) - 1) & 0xfff) << 16)
67 #define SUN4I_TCON0_BASIC0_Y(height) (((height) - 1) & 0xfff)
70 #define SUN4I_TCON0_BASIC1_H_TOTAL(total) ((((total) - 1) & 0x1fff) << 16)
71 #define SUN4I_TCON0_BASIC1_H_BACKPORCH(bp) (((bp) - 1) & 0xfff)
75 #define SUN4I_TCON0_BASIC2_V_BACKPORCH(bp) (((bp) - 1) & 0xfff)
78 #define SUN4I_TCON0_BASIC3_H_SYNC(width) ((((width) - 1) & 0x7ff) << 16)
79 #define SUN4I_TCON0_BASIC3_V_SYNC(height) (((height) - 1) & 0x7ff)
132 #define SUN4I_TCON1_BASIC0_X(width) ((((width) - 1) & 0xfff) << 16)
133 #define SUN4I_TCON1_BASIC0_Y(height) (((height) - 1) & 0xfff)
136 #define SUN4I_TCON1_BASIC1_X(width) ((((width) - 1) & 0xfff) << 16)
137 #define SUN4I_TCON1_BASIC1_Y(height) (((height) - 1) & 0xfff)
140 #define SUN4I_TCON1_BASIC2_X(width) ((((width) - 1) & 0xfff) << 16)
141 #define SUN4I_TCON1_BASIC2_Y(height) (((height) - 1) & 0xfff)
144 #define SUN4I_TCON1_BASIC3_H_TOTAL(total) ((((total) - 1) & 0x1fff) << 16)
145 #define SUN4I_TCON1_BASIC3_H_BACKPORCH(bp) (((bp) - 1) & 0xfff)
149 #define SUN4I_TCON1_BASIC4_V_BACKPORCH(bp) (((bp) - 1) & 0xfff)
152 #define SUN4I_TCON1_BASIC5_H_SYNC(width) ((((width) - 1) & 0x3ff) << 16)
153 #define SUN4I_TCON1_BASIC5_V_SYNC(height) (((height) - 1) & 0x3ff)
179 #define SUN4I_TCON0_CPU_TRI0_BLOCK_SPACE(space) ((((space) - 1) & 0xfff) << 16)
180 #define SUN4I_TCON0_CPU_TRI0_BLOCK_SIZE(size) (((size) - 1) & 0xfff)
183 #define SUN4I_TCON0_CPU_TRI1_BLOCK_NUM(num) (((num) - 1) & 0xffff)
232 bool has_channel_0; /* a83t does not have channel 0 on second TCON */
234 bool has_lvds_alt; /* Does the LVDS clock have a parent other than the TCON clock? */
237 bool supports_lvds; /* Does the TCON support an LVDS output? */
240 /* callback to handle tcon muxing options */
243 void (*setup_lvds_phy)(struct sun4i_tcon *tcon,
252 /* Main bus clock */
255 /* Clocks for the TCON channels */
259 /* Possible mux for the LVDS clock */
262 /* Pixel clock */
279 /* TCON list management */
286 void sun4i_tcon_enable_vblank(struct sun4i_tcon *tcon, bool enable);
287 void sun4i_tcon_mode_set(struct sun4i_tcon *tcon,