Lines Matching +full:lvds +full:- +full:4 +full:bits
25 * Thomas Richter <thor@math.tu-berlin.de>
28 * Thomas Richter <thor@math.tu-berlin.de>
68 # define VR01_DITHER_ENABLE (1 << 4)
74 /* Enables LVDS output instead of CMOS */
75 # define VR10_LVDS_ENABLE (1 << 4)
76 /* Enables 18-bit LVDS output. */
78 /* Enables 24-bit LVDS or CMOS output */
80 /* Enables 2x18-bit LVDS or CMOS output. */
82 /* Enables 2x24-bit LVDS output */
114 * (((image_height - 1) << 16) / ((panel_height - 1))) >> 2
120 * (((image_width - 1) << 16) / ((panel_width - 1))) >> 2
148 # define VR8E_PANEL_INTERFACE_CMOS (0 << 4)
149 # define VR8E_PANEL_INTERFACE_LVDS (1 << 4)
190 * Each of the 256 registers are 16 bits long.
194 struct ivch_priv *priv = dvo->dev_priv;
195 struct i2c_adapter *adapter = dvo->i2c_bus;
201 .addr = dvo->target_addr,
212 .addr = dvo->target_addr,
226 if (!priv->quiet) {
229 addr, adapter->name, dvo->target_addr);
234 /* Writes a 16-bit register on the ivch */
237 struct ivch_priv *priv = dvo->dev_priv;
238 struct i2c_adapter *adapter = dvo->i2c_bus;
241 .addr = dvo->target_addr,
254 if (!priv->quiet) {
256 addr, adapter->name, dvo->target_addr);
274 dvo->i2c_bus = adapter;
275 dvo->dev_priv = priv;
276 priv->quiet = true;
280 priv->quiet = false;
282 /* Since the identification bits are probably zeroes, which doesn't seem
286 if ((temp & VR00_BASE_ADDRESS_MASK) != dvo->target_addr) {
289 (temp & VR00_BASE_ADDRESS_MASK), dvo->target_addr);
293 ivch_read(dvo, VR20, &priv->width);
294 ivch_read(dvo, VR21, &priv->height);
300 ivch_read(dvo, backup_addresses[i], priv->reg_backup + i);
319 if (mode->clock > 112000)
331 struct ivch_priv *priv = dvo->dev_priv;
339 ivch_write(dvo, backup_addresses[i], priv->reg_backup[i]);
401 struct ivch_priv *priv = dvo->dev_priv;
408 vr10 = priv->reg_backup[ARRAY_SIZE(backup_addresses) - 1];
418 if (mode->hdisplay != adjusted_mode->crtc_hdisplay ||
419 mode->vdisplay != adjusted_mode->crtc_vdisplay) {
424 x_ratio = (((mode->hdisplay - 1) << 16) /
425 (adjusted_mode->crtc_hdisplay - 1)) >> 2;
426 y_ratio = (((mode->vdisplay - 1) << 16) /
427 (adjusted_mode->crtc_vdisplay - 1)) >> 2;
475 /* Scratch register 0 - AIM Panel type */
479 /* Scratch register 1 - Status register */
486 struct ivch_priv *priv = dvo->dev_priv;
490 dvo->dev_priv = NULL;