Commit ff6331e2 authored by Chandrabhanu Mahapatra's avatar Chandrabhanu Mahapatra Committed by Tomi Valkeinen

OMAPDSS: Add support for LCD3 channel

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: default avatarChandrabhanu Mahapatra <cmahapatra@ti.com>
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent efa70b3b
...@@ -118,6 +118,8 @@ static inline u16 DISPC_DEFAULT_COLOR(enum omap_channel channel) ...@@ -118,6 +118,8 @@ static inline u16 DISPC_DEFAULT_COLOR(enum omap_channel channel)
return 0x0050; return 0x0050;
case OMAP_DSS_CHANNEL_LCD2: case OMAP_DSS_CHANNEL_LCD2:
return 0x03AC; return 0x03AC;
case OMAP_DSS_CHANNEL_LCD3:
return 0x0814;
default: default:
BUG(); BUG();
return 0; return 0;
...@@ -133,6 +135,8 @@ static inline u16 DISPC_TRANS_COLOR(enum omap_channel channel) ...@@ -133,6 +135,8 @@ static inline u16 DISPC_TRANS_COLOR(enum omap_channel channel)
return 0x0058; return 0x0058;
case OMAP_DSS_CHANNEL_LCD2: case OMAP_DSS_CHANNEL_LCD2:
return 0x03B0; return 0x03B0;
case OMAP_DSS_CHANNEL_LCD3:
return 0x0818;
default: default:
BUG(); BUG();
return 0; return 0;
...@@ -149,6 +153,8 @@ static inline u16 DISPC_TIMING_H(enum omap_channel channel) ...@@ -149,6 +153,8 @@ static inline u16 DISPC_TIMING_H(enum omap_channel channel)
return 0; return 0;
case OMAP_DSS_CHANNEL_LCD2: case OMAP_DSS_CHANNEL_LCD2:
return 0x0400; return 0x0400;
case OMAP_DSS_CHANNEL_LCD3:
return 0x0840;
default: default:
BUG(); BUG();
return 0; return 0;
...@@ -165,6 +171,8 @@ static inline u16 DISPC_TIMING_V(enum omap_channel channel) ...@@ -165,6 +171,8 @@ static inline u16 DISPC_TIMING_V(enum omap_channel channel)
return 0; return 0;
case OMAP_DSS_CHANNEL_LCD2: case OMAP_DSS_CHANNEL_LCD2:
return 0x0404; return 0x0404;
case OMAP_DSS_CHANNEL_LCD3:
return 0x0844;
default: default:
BUG(); BUG();
return 0; return 0;
...@@ -181,6 +189,8 @@ static inline u16 DISPC_POL_FREQ(enum omap_channel channel) ...@@ -181,6 +189,8 @@ static inline u16 DISPC_POL_FREQ(enum omap_channel channel)
return 0; return 0;
case OMAP_DSS_CHANNEL_LCD2: case OMAP_DSS_CHANNEL_LCD2:
return 0x0408; return 0x0408;
case OMAP_DSS_CHANNEL_LCD3:
return 0x083C;
default: default:
BUG(); BUG();
return 0; return 0;
...@@ -197,6 +207,8 @@ static inline u16 DISPC_DIVISORo(enum omap_channel channel) ...@@ -197,6 +207,8 @@ static inline u16 DISPC_DIVISORo(enum omap_channel channel)
return 0; return 0;
case OMAP_DSS_CHANNEL_LCD2: case OMAP_DSS_CHANNEL_LCD2:
return 0x040C; return 0x040C;
case OMAP_DSS_CHANNEL_LCD3:
return 0x0838;
default: default:
BUG(); BUG();
return 0; return 0;
...@@ -213,6 +225,8 @@ static inline u16 DISPC_SIZE_MGR(enum omap_channel channel) ...@@ -213,6 +225,8 @@ static inline u16 DISPC_SIZE_MGR(enum omap_channel channel)
return 0x0078; return 0x0078;
case OMAP_DSS_CHANNEL_LCD2: case OMAP_DSS_CHANNEL_LCD2:
return 0x03CC; return 0x03CC;
case OMAP_DSS_CHANNEL_LCD3:
return 0x0834;
default: default:
BUG(); BUG();
return 0; return 0;
...@@ -229,6 +243,8 @@ static inline u16 DISPC_DATA_CYCLE1(enum omap_channel channel) ...@@ -229,6 +243,8 @@ static inline u16 DISPC_DATA_CYCLE1(enum omap_channel channel)
return 0; return 0;
case OMAP_DSS_CHANNEL_LCD2: case OMAP_DSS_CHANNEL_LCD2:
return 0x03C0; return 0x03C0;
case OMAP_DSS_CHANNEL_LCD3:
return 0x0828;
default: default:
BUG(); BUG();
return 0; return 0;
...@@ -245,6 +261,8 @@ static inline u16 DISPC_DATA_CYCLE2(enum omap_channel channel) ...@@ -245,6 +261,8 @@ static inline u16 DISPC_DATA_CYCLE2(enum omap_channel channel)
return 0; return 0;
case OMAP_DSS_CHANNEL_LCD2: case OMAP_DSS_CHANNEL_LCD2:
return 0x03C4; return 0x03C4;
case OMAP_DSS_CHANNEL_LCD3:
return 0x082C;
default: default:
BUG(); BUG();
return 0; return 0;
...@@ -261,6 +279,8 @@ static inline u16 DISPC_DATA_CYCLE3(enum omap_channel channel) ...@@ -261,6 +279,8 @@ static inline u16 DISPC_DATA_CYCLE3(enum omap_channel channel)
return 0; return 0;
case OMAP_DSS_CHANNEL_LCD2: case OMAP_DSS_CHANNEL_LCD2:
return 0x03C8; return 0x03C8;
case OMAP_DSS_CHANNEL_LCD3:
return 0x0830;
default: default:
BUG(); BUG();
return 0; return 0;
...@@ -277,6 +297,8 @@ static inline u16 DISPC_CPR_COEF_R(enum omap_channel channel) ...@@ -277,6 +297,8 @@ static inline u16 DISPC_CPR_COEF_R(enum omap_channel channel)
return 0; return 0;
case OMAP_DSS_CHANNEL_LCD2: case OMAP_DSS_CHANNEL_LCD2:
return 0x03BC; return 0x03BC;
case OMAP_DSS_CHANNEL_LCD3:
return 0x0824;
default: default:
BUG(); BUG();
return 0; return 0;
...@@ -293,6 +315,8 @@ static inline u16 DISPC_CPR_COEF_G(enum omap_channel channel) ...@@ -293,6 +315,8 @@ static inline u16 DISPC_CPR_COEF_G(enum omap_channel channel)
return 0; return 0;
case OMAP_DSS_CHANNEL_LCD2: case OMAP_DSS_CHANNEL_LCD2:
return 0x03B8; return 0x03B8;
case OMAP_DSS_CHANNEL_LCD3:
return 0x0820;
default: default:
BUG(); BUG();
return 0; return 0;
...@@ -309,6 +333,8 @@ static inline u16 DISPC_CPR_COEF_B(enum omap_channel channel) ...@@ -309,6 +333,8 @@ static inline u16 DISPC_CPR_COEF_B(enum omap_channel channel)
return 0; return 0;
case OMAP_DSS_CHANNEL_LCD2: case OMAP_DSS_CHANNEL_LCD2:
return 0x03B4; return 0x03B4;
case OMAP_DSS_CHANNEL_LCD3:
return 0x081C;
default: default:
BUG(); BUG();
return 0; return 0;
......
...@@ -75,6 +75,7 @@ enum omap_channel { ...@@ -75,6 +75,7 @@ enum omap_channel {
OMAP_DSS_CHANNEL_LCD = 0, OMAP_DSS_CHANNEL_LCD = 0,
OMAP_DSS_CHANNEL_DIGIT = 1, OMAP_DSS_CHANNEL_DIGIT = 1,
OMAP_DSS_CHANNEL_LCD2 = 2, OMAP_DSS_CHANNEL_LCD2 = 2,
OMAP_DSS_CHANNEL_LCD3 = 3,
}; };
enum omap_color_mode { enum omap_color_mode {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment