@@ -233,8 +233,12 @@ int omap_rfbi_setup_te(enum omap_rfbi_te_mode mode,
233
233
void dsi_bus_lock (void );
234
234
void dsi_bus_unlock (void );
235
235
int dsi_vc_dcs_write (int channel , u8 * data , int len );
236
+ int dsi_vc_dcs_write_0 (int channel , u8 dcs_cmd );
237
+ int dsi_vc_dcs_write_1 (int channel , u8 dcs_cmd , u8 param );
236
238
int dsi_vc_dcs_write_nosync (int channel , u8 * data , int len );
237
239
int dsi_vc_dcs_read (int channel , u8 dcs_cmd , u8 * buf , int buflen );
240
+ int dsi_vc_dcs_read_1 (int channel , u8 dcs_cmd , u8 * data );
241
+ int dsi_vc_dcs_read_2 (int channel , u8 dcs_cmd , u16 * data );
238
242
int dsi_vc_set_max_rx_packet_size (int channel , u16 len );
239
243
int dsi_vc_send_null (int channel );
240
244
int dsi_vc_send_bta_sync (int channel );
@@ -367,6 +371,10 @@ struct omap_overlay_manager {
367
371
368
372
int (* apply )(struct omap_overlay_manager * mgr );
369
373
int (* wait_for_go )(struct omap_overlay_manager * mgr );
374
+ int (* wait_for_vsync )(struct omap_overlay_manager * mgr );
375
+
376
+ int (* enable )(struct omap_overlay_manager * mgr );
377
+ int (* disable )(struct omap_overlay_manager * mgr );
370
378
};
371
379
372
380
struct omap_dss_device {
@@ -426,16 +434,11 @@ struct omap_dss_device {
426
434
int acb ; /* ac-bias pin frequency */
427
435
428
436
enum omap_panel_config config ;
429
-
430
- u8 recommended_bpp ;
431
-
432
- struct omap_dss_device * ctrl ;
433
437
} panel ;
434
438
435
439
struct {
436
440
u8 pixel_size ;
437
441
struct rfbi_timings rfbi_timings ;
438
- struct omap_dss_device * panel ;
439
442
} ctrl ;
440
443
441
444
int reset_gpio ;
@@ -460,49 +463,6 @@ struct omap_dss_device {
460
463
461
464
enum omap_dss_display_state state ;
462
465
463
- int (* enable )(struct omap_dss_device * dssdev );
464
- void (* disable )(struct omap_dss_device * dssdev );
465
-
466
- int (* suspend )(struct omap_dss_device * dssdev );
467
- int (* resume )(struct omap_dss_device * dssdev );
468
-
469
- void (* get_resolution )(struct omap_dss_device * dssdev ,
470
- u16 * xres , u16 * yres );
471
- int (* get_recommended_bpp )(struct omap_dss_device * dssdev );
472
-
473
- int (* check_timings )(struct omap_dss_device * dssdev ,
474
- struct omap_video_timings * timings );
475
- void (* set_timings )(struct omap_dss_device * dssdev ,
476
- struct omap_video_timings * timings );
477
- void (* get_timings )(struct omap_dss_device * dssdev ,
478
- struct omap_video_timings * timings );
479
- int (* update )(struct omap_dss_device * dssdev ,
480
- u16 x , u16 y , u16 w , u16 h );
481
- int (* sync )(struct omap_dss_device * dssdev );
482
- int (* wait_vsync )(struct omap_dss_device * dssdev );
483
-
484
- int (* set_update_mode )(struct omap_dss_device * dssdev ,
485
- enum omap_dss_update_mode );
486
- enum omap_dss_update_mode (* get_update_mode )
487
- (struct omap_dss_device * dssdev );
488
-
489
- int (* enable_te )(struct omap_dss_device * dssdev , bool enable );
490
- int (* get_te )(struct omap_dss_device * dssdev );
491
-
492
- u8 (* get_rotate )(struct omap_dss_device * dssdev );
493
- int (* set_rotate )(struct omap_dss_device * dssdev , u8 rotate );
494
-
495
- bool (* get_mirror )(struct omap_dss_device * dssdev );
496
- int (* set_mirror )(struct omap_dss_device * dssdev , bool enable );
497
-
498
- int (* run_test )(struct omap_dss_device * dssdev , int test );
499
- int (* memory_read )(struct omap_dss_device * dssdev ,
500
- void * buf , size_t size ,
501
- u16 x , u16 y , u16 w , u16 h );
502
-
503
- int (* set_wss )(struct omap_dss_device * dssdev , u32 wss );
504
- u32 (* get_wss )(struct omap_dss_device * dssdev );
505
-
506
466
/* platform specific */
507
467
int (* platform_enable )(struct omap_dss_device * dssdev );
508
468
void (* platform_disable )(struct omap_dss_device * dssdev );
@@ -522,11 +482,17 @@ struct omap_dss_driver {
522
482
int (* resume )(struct omap_dss_device * display );
523
483
int (* run_test )(struct omap_dss_device * display , int test );
524
484
525
- void (* setup_update )(struct omap_dss_device * dssdev ,
526
- u16 x , u16 y , u16 w , u16 h );
485
+ int (* set_update_mode )(struct omap_dss_device * dssdev ,
486
+ enum omap_dss_update_mode );
487
+ enum omap_dss_update_mode (* get_update_mode )(
488
+ struct omap_dss_device * dssdev );
489
+
490
+ int (* update )(struct omap_dss_device * dssdev ,
491
+ u16 x , u16 y , u16 w , u16 h );
492
+ int (* sync )(struct omap_dss_device * dssdev );
527
493
528
494
int (* enable_te )(struct omap_dss_device * dssdev , bool enable );
529
- int (* wait_for_te )(struct omap_dss_device * dssdev );
495
+ int (* get_te )(struct omap_dss_device * dssdev );
530
496
531
497
u8 (* get_rotate )(struct omap_dss_device * dssdev );
532
498
int (* set_rotate )(struct omap_dss_device * dssdev , u8 rotate );
@@ -537,6 +503,20 @@ struct omap_dss_driver {
537
503
int (* memory_read )(struct omap_dss_device * dssdev ,
538
504
void * buf , size_t size ,
539
505
u16 x , u16 y , u16 w , u16 h );
506
+
507
+ void (* get_resolution )(struct omap_dss_device * dssdev ,
508
+ u16 * xres , u16 * yres );
509
+ int (* get_recommended_bpp )(struct omap_dss_device * dssdev );
510
+
511
+ int (* check_timings )(struct omap_dss_device * dssdev ,
512
+ struct omap_video_timings * timings );
513
+ void (* set_timings )(struct omap_dss_device * dssdev ,
514
+ struct omap_video_timings * timings );
515
+ void (* get_timings )(struct omap_dss_device * dssdev ,
516
+ struct omap_video_timings * timings );
517
+
518
+ int (* set_wss )(struct omap_dss_device * dssdev , u32 wss );
519
+ u32 (* get_wss )(struct omap_dss_device * dssdev );
540
520
};
541
521
542
522
int omap_dss_register_driver (struct omap_dss_driver * );
@@ -561,6 +541,10 @@ struct omap_overlay_manager *omap_dss_get_overlay_manager(int num);
561
541
int omap_dss_get_num_overlays (void );
562
542
struct omap_overlay * omap_dss_get_overlay (int num );
563
543
544
+ void omapdss_default_get_resolution (struct omap_dss_device * dssdev ,
545
+ u16 * xres , u16 * yres );
546
+ int omapdss_default_get_recommended_bpp (struct omap_dss_device * dssdev );
547
+
564
548
typedef void (* omap_dispc_isr_t ) (void * arg , u32 mask );
565
549
int omap_dispc_register_isr (omap_dispc_isr_t isr , void * arg , u32 mask );
566
550
int omap_dispc_unregister_isr (omap_dispc_isr_t isr , void * arg , u32 mask );
@@ -572,4 +556,35 @@ int omap_dispc_wait_for_irq_interruptible_timeout(u32 irqmask,
572
556
#define to_dss_driver (x ) container_of((x), struct omap_dss_driver, driver)
573
557
#define to_dss_device (x ) container_of((x), struct omap_dss_device, dev)
574
558
559
+ void omapdss_dsi_vc_enable_hs (int channel , bool enable );
560
+ int omapdss_dsi_enable_te (struct omap_dss_device * dssdev , bool enable );
561
+
562
+ int omap_dsi_prepare_update (struct omap_dss_device * dssdev ,
563
+ u16 * x , u16 * y , u16 * w , u16 * h );
564
+ int omap_dsi_update (struct omap_dss_device * dssdev ,
565
+ int channel ,
566
+ u16 x , u16 y , u16 w , u16 h ,
567
+ void (* callback )(int , void * ), void * data );
568
+
569
+ int omapdss_dsi_display_enable (struct omap_dss_device * dssdev );
570
+ void omapdss_dsi_display_disable (struct omap_dss_device * dssdev );
571
+
572
+ int omapdss_dpi_display_enable (struct omap_dss_device * dssdev );
573
+ void omapdss_dpi_display_disable (struct omap_dss_device * dssdev );
574
+ void dpi_set_timings (struct omap_dss_device * dssdev ,
575
+ struct omap_video_timings * timings );
576
+ int dpi_check_timings (struct omap_dss_device * dssdev ,
577
+ struct omap_video_timings * timings );
578
+
579
+ int omapdss_sdi_display_enable (struct omap_dss_device * dssdev );
580
+ void omapdss_sdi_display_disable (struct omap_dss_device * dssdev );
581
+
582
+ int omapdss_rfbi_display_enable (struct omap_dss_device * dssdev );
583
+ void omapdss_rfbi_display_disable (struct omap_dss_device * dssdev );
584
+ int omap_rfbi_prepare_update (struct omap_dss_device * dssdev ,
585
+ u16 * x , u16 * y , u16 * w , u16 * h );
586
+ int omap_rfbi_update (struct omap_dss_device * dssdev ,
587
+ u16 x , u16 y , u16 w , u16 h ,
588
+ void (* callback )(void * ), void * data );
589
+
575
590
#endif
0 commit comments