OMAPDSS: Add support for LCD3 channel
authorChandrabhanu Mahapatra <cmahapatra@ti.com>
Tue, 19 Jun 2012 09:38:16 +0000 (15:08 +0530)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Fri, 29 Jun 2012 06:41:20 +0000 (09:41 +0300)
OMAP5 Display Subsystem (DSS) architecture comes with a additional LCD3 channel
with its own dedicated overlay manager. The current patch adds LCD3 channel and
basic register support for LCD3 channel. It adds register addresses for various
Display Controller (DISPC) registers like DISPC_DEFAULT_COLOR, DISPC_TIMING_H,
DISPC_DIVISORo, etc.

Signed-off-by: Chandrabhanu Mahapatra <cmahapatra@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/omap2/dss/dispc.h
include/video/omapdss.h

index f278080e1063f2a92b102b0157ab80396bfe095d..420c980dcbdd438c71446f8634fc48689cab178d 100644 (file)
@@ -118,6 +118,8 @@ static inline u16 DISPC_DEFAULT_COLOR(enum omap_channel channel)
                return 0x0050;
        case OMAP_DSS_CHANNEL_LCD2:
                return 0x03AC;
+       case OMAP_DSS_CHANNEL_LCD3:
+               return 0x0814;
        default:
                BUG();
                return 0;
@@ -133,6 +135,8 @@ static inline u16 DISPC_TRANS_COLOR(enum omap_channel channel)
                return 0x0058;
        case OMAP_DSS_CHANNEL_LCD2:
                return 0x03B0;
+       case OMAP_DSS_CHANNEL_LCD3:
+               return 0x0818;
        default:
                BUG();
                return 0;
@@ -149,6 +153,8 @@ static inline u16 DISPC_TIMING_H(enum omap_channel channel)
                return 0;
        case OMAP_DSS_CHANNEL_LCD2:
                return 0x0400;
+       case OMAP_DSS_CHANNEL_LCD3:
+               return 0x0840;
        default:
                BUG();
                return 0;
@@ -165,6 +171,8 @@ static inline u16 DISPC_TIMING_V(enum omap_channel channel)
                return 0;
        case OMAP_DSS_CHANNEL_LCD2:
                return 0x0404;
+       case OMAP_DSS_CHANNEL_LCD3:
+               return 0x0844;
        default:
                BUG();
                return 0;
@@ -181,6 +189,8 @@ static inline u16 DISPC_POL_FREQ(enum omap_channel channel)
                return 0;
        case OMAP_DSS_CHANNEL_LCD2:
                return 0x0408;
+       case OMAP_DSS_CHANNEL_LCD3:
+               return 0x083C;
        default:
                BUG();
                return 0;
@@ -197,6 +207,8 @@ static inline u16 DISPC_DIVISORo(enum omap_channel channel)
                return 0;
        case OMAP_DSS_CHANNEL_LCD2:
                return 0x040C;
+       case OMAP_DSS_CHANNEL_LCD3:
+               return 0x0838;
        default:
                BUG();
                return 0;
@@ -213,6 +225,8 @@ static inline u16 DISPC_SIZE_MGR(enum omap_channel channel)
                return 0x0078;
        case OMAP_DSS_CHANNEL_LCD2:
                return 0x03CC;
+       case OMAP_DSS_CHANNEL_LCD3:
+               return 0x0834;
        default:
                BUG();
                return 0;
@@ -229,6 +243,8 @@ static inline u16 DISPC_DATA_CYCLE1(enum omap_channel channel)
                return 0;
        case OMAP_DSS_CHANNEL_LCD2:
                return 0x03C0;
+       case OMAP_DSS_CHANNEL_LCD3:
+               return 0x0828;
        default:
                BUG();
                return 0;
@@ -245,6 +261,8 @@ static inline u16 DISPC_DATA_CYCLE2(enum omap_channel channel)
                return 0;
        case OMAP_DSS_CHANNEL_LCD2:
                return 0x03C4;
+       case OMAP_DSS_CHANNEL_LCD3:
+               return 0x082C;
        default:
                BUG();
                return 0;
@@ -261,6 +279,8 @@ static inline u16 DISPC_DATA_CYCLE3(enum omap_channel channel)
                return 0;
        case OMAP_DSS_CHANNEL_LCD2:
                return 0x03C8;
+       case OMAP_DSS_CHANNEL_LCD3:
+               return 0x0830;
        default:
                BUG();
                return 0;
@@ -277,6 +297,8 @@ static inline u16 DISPC_CPR_COEF_R(enum omap_channel channel)
                return 0;
        case OMAP_DSS_CHANNEL_LCD2:
                return 0x03BC;
+       case OMAP_DSS_CHANNEL_LCD3:
+               return 0x0824;
        default:
                BUG();
                return 0;
@@ -293,6 +315,8 @@ static inline u16 DISPC_CPR_COEF_G(enum omap_channel channel)
                return 0;
        case OMAP_DSS_CHANNEL_LCD2:
                return 0x03B8;
+       case OMAP_DSS_CHANNEL_LCD3:
+               return 0x0820;
        default:
                BUG();
                return 0;
@@ -309,6 +333,8 @@ static inline u16 DISPC_CPR_COEF_B(enum omap_channel channel)
                return 0;
        case OMAP_DSS_CHANNEL_LCD2:
                return 0x03B4;
+       case OMAP_DSS_CHANNEL_LCD3:
+               return 0x081C;
        default:
                BUG();
                return 0;
index ae6954836ef38bf48920f407ed6d9037df455f12..23887b358a4976c4f27db9c1450e00fc2605e744 100644 (file)
@@ -75,6 +75,7 @@ enum omap_channel {
        OMAP_DSS_CHANNEL_LCD    = 0,
        OMAP_DSS_CHANNEL_DIGIT  = 1,
        OMAP_DSS_CHANNEL_LCD2   = 2,
+       OMAP_DSS_CHANNEL_LCD3   = 3,
 };
 
 enum omap_color_mode {