All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 2/4] video: sh7760fb: SH7760/SH7763 LCDC framebuffer driver part 2/3
@ 2008-06-25  7:38 ` Nobuhiro Iwamatsu
  0 siblings, 0 replies; 2+ messages in thread
From: Nobuhiro Iwamatsu @ 2008-06-25  7:38 UTC (permalink / raw)
  To: Linux-fbdev-devel; +Cc: Paul Mundt, Linux-sh

Header file of driver for the LCDC interface on the SH7760 and SH7763 SoCs.

Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
---
 include/asm-sh/sh7760fb.h |  133 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 133 insertions(+), 0 deletions(-)
 create mode 100644 include/asm-sh/sh7760fb.h

diff --git a/include/asm-sh/sh7760fb.h b/include/asm-sh/sh7760fb.h
new file mode 100644
index 0000000..3f9b92e
--- /dev/null
+++ b/include/asm-sh/sh7760fb.h
@@ -0,0 +1,133 @@
+/*
+ * sh7760fb.h -- platform data for SH7760 LCDC framebuffer driver.
+ *
+ * (c) 2006 - 2008 Manuel Lauss.
+ */
+
+#ifndef _ASM_SH_SH7760FB_H
+#define _ASM_SH_SH7760FB_H
+
+/* HSYNC polarity inversion */
+#define LDMTR_FLMPOL		(1 << 15)
+
+/* VSYNC polarity inversion */
+#define LDMTR_CL1POL		(1 << 14)
+
+/* DISPLAY-ENABLE polarity inversion */
+#define LDMTR_DISPEN_LOWACT	(1 << 13)
+
+/* DISPLAY DATA BUS polarity inversion */
+#define LDMTR_DPOL_LOWACT	(1 << 12)
+
+/* AC modulation signal enable */
+#define LDMTR_MCNT		(1 << 10)
+
+/* Disable output of HSYNC during VSYNC period */
+#define LDMTR_CL1CNT		(1 << 9)
+
+/* Disable output of VSYNC during VSYNC period */
+#define LDMTR_CL2CNT		(1 << 8)
+
+/* Display types supported by the LCDC */
+#define LDMTR_STN_MONO_4	0x00
+#define LDMTR_STN_MONO_8	0x01
+#define LDMTR_STN_COLOR_4	0x08
+#define LDMTR_STN_COLOR_8	0x09
+#define LDMTR_STN_COLOR_12	0x0A
+#define LDMTR_STN_COLOR_16	0x0B
+#define LDMTR_DSTN_MONO_8	0x11
+#define LDMTR_DSTN_MONO_16	0x13
+#define LDMTR_DSTN_COLOR_8	0x19
+#define LDMTR_DSTN_COLOR_12	0x1A
+#define LDMTR_DSTN_COLOR_16	0x1B
+#define LDMTR_TFT_COLOR_16	0x2B
+
+/* framebuffer color layout */
+#define LDDFR_1BPP_MONO		0x00
+#define LDDFR_2BPP_MONO		0x01
+#define LDDFR_4BPP_MONO		0x02
+#define LDDFR_6BPP_MONO		0x04
+#define LDDFR_4BPP		0x0A
+#define LDDFR_8BPP		0x0C
+#define LDDFR_16BPP_RGB555	0x1D
+#define LDDFR_16BPP_RGB565	0x2D
+
+/* LCDC Pixclock sources */
+#define LCDC_CLKSRC_BUSCLOCK	0
+#define LCDC_CLKSRC_PERIPHERAL	1
+#define LCDC_CLKSRC_EXTERNAL	2
+
+#define LDICKR_CLKSRC(x)	\
+	(((x) & 3) << 12)
+
+/* LCDC pixclock input divider. Set to 1 at a minimum! */
+#define LDICKR_CLKDIV(x)	\
+	((x) & 0x1f)
+
+struct sh7760fb_platdata {
+
+	/* Set this member to a valid fb_videmode for the display you
+	 * wish to use.  The following members must be initialized:
+	 * xres, yres, hsync_len, vsync_len, sync,
+	 * {left,right,upper,lower}_margin.
+	 * The driver uses the above members to calculate register values
+	 * and memory requirements. Other members are ignored but may
+	 * be used by other framebuffer layer components.
+	 */
+	struct	fb_videomode *def_mode;
+
+	/* LDMTR includes display type and signal polarity.  The
+	 * HSYNC/VSYNC polarities are derived from the fb_var_screeninfo
+	 * data above; however the polarities of the following signals
+	 * must be encoded in the ldmtr member:
+	 * Display Enable signal (default high-active)	DISPEN_LOWACT
+	 * Display Data signals (default high-active)	DPOL_LOWACT
+	 * AC Modulation signal (default off)		MCNT
+	 * Hsync-During-Vsync suppression (default off)	CL1CNT
+	 * Vsync-during-vsync suppression (default off) CL2CNT
+	 * NOTE: also set a display type!
+	 * (one of LDMTR_{STN,DSTN,TFT}_{MONO,COLOR}_{4,8,12,16})
+	 */
+	u16	ldmtr;
+
+	/* LDDFR controls framebuffer image format (depth, organization)
+	 * Use ONE of the LDDFR_?BPP_* macros!
+	 */
+	u16	lddfr;
+
+	/* LDPMMR and LDPSPR control the timing of the power signals
+	 * for the display. Please read the SH7760 Hardware Manual,
+	 * Chapters 30.3.17, 30.3.18 and 30.4.6!
+	 */
+	u16	ldpmmr;
+	u16	ldpspr;
+
+	/* LDACLNR contains the line numbers after which the AC modulation
+	 * signal is to toggle. Set to ZERO for TFTs or displays which
+	 * do not need it. (Chapter 30.3.15 in SH7760 Hardware Manual).
+	 */
+	u16	ldaclnr;
+
+	/* LDICKR contains information on pixelclock source and config.
+	 * Please use the LDICKR_CLKSRC() and LDICKR_CLKDIV() macros.
+	 * minimal value for CLKDIV() must be 1!.
+	 */
+	u16	ldickr;
+
+	/* set this member to 1 if you wish to use the LCDC's hardware
+	 * rotation function.  This is limited to displays <= 320x200
+	 * pixels resolution!
+	 */
+	int	rotate;		/* set to 1 to rotate 90 CCW */
+
+	/* set this to 1 to suppress vsync irq use. */
+	int	novsync;
+
+	/* blanking hook for platform. Set this if your platform can do
+	 * more than the LCDC in terms of blanking (e.g. disable clock
+	 * generator / backlight power supply / etc.
+	 */
+	void(*blank)(int);
+};
+
+#endif /* _ASM_SH_SH7760FB_H */
-- 
1.5.5.1


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [PATCH 2/4] video: sh7760fb: SH7760/SH7763 LCDC framebuffer driver
@ 2008-06-25  7:38 ` Nobuhiro Iwamatsu
  0 siblings, 0 replies; 2+ messages in thread
From: Nobuhiro Iwamatsu @ 2008-06-25  7:38 UTC (permalink / raw)
  To: Linux-fbdev-devel; +Cc: Paul Mundt, Linux-sh

Header file of driver for the LCDC interface on the SH7760 and SH7763 SoCs.

Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
---
 include/asm-sh/sh7760fb.h |  133 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 133 insertions(+), 0 deletions(-)
 create mode 100644 include/asm-sh/sh7760fb.h

diff --git a/include/asm-sh/sh7760fb.h b/include/asm-sh/sh7760fb.h
new file mode 100644
index 0000000..3f9b92e
--- /dev/null
+++ b/include/asm-sh/sh7760fb.h
@@ -0,0 +1,133 @@
+/*
+ * sh7760fb.h -- platform data for SH7760 LCDC framebuffer driver.
+ *
+ * (c) 2006 - 2008 Manuel Lauss.
+ */
+
+#ifndef _ASM_SH_SH7760FB_H
+#define _ASM_SH_SH7760FB_H
+
+/* HSYNC polarity inversion */
+#define LDMTR_FLMPOL		(1 << 15)
+
+/* VSYNC polarity inversion */
+#define LDMTR_CL1POL		(1 << 14)
+
+/* DISPLAY-ENABLE polarity inversion */
+#define LDMTR_DISPEN_LOWACT	(1 << 13)
+
+/* DISPLAY DATA BUS polarity inversion */
+#define LDMTR_DPOL_LOWACT	(1 << 12)
+
+/* AC modulation signal enable */
+#define LDMTR_MCNT		(1 << 10)
+
+/* Disable output of HSYNC during VSYNC period */
+#define LDMTR_CL1CNT		(1 << 9)
+
+/* Disable output of VSYNC during VSYNC period */
+#define LDMTR_CL2CNT		(1 << 8)
+
+/* Display types supported by the LCDC */
+#define LDMTR_STN_MONO_4	0x00
+#define LDMTR_STN_MONO_8	0x01
+#define LDMTR_STN_COLOR_4	0x08
+#define LDMTR_STN_COLOR_8	0x09
+#define LDMTR_STN_COLOR_12	0x0A
+#define LDMTR_STN_COLOR_16	0x0B
+#define LDMTR_DSTN_MONO_8	0x11
+#define LDMTR_DSTN_MONO_16	0x13
+#define LDMTR_DSTN_COLOR_8	0x19
+#define LDMTR_DSTN_COLOR_12	0x1A
+#define LDMTR_DSTN_COLOR_16	0x1B
+#define LDMTR_TFT_COLOR_16	0x2B
+
+/* framebuffer color layout */
+#define LDDFR_1BPP_MONO		0x00
+#define LDDFR_2BPP_MONO		0x01
+#define LDDFR_4BPP_MONO		0x02
+#define LDDFR_6BPP_MONO		0x04
+#define LDDFR_4BPP		0x0A
+#define LDDFR_8BPP		0x0C
+#define LDDFR_16BPP_RGB555	0x1D
+#define LDDFR_16BPP_RGB565	0x2D
+
+/* LCDC Pixclock sources */
+#define LCDC_CLKSRC_BUSCLOCK	0
+#define LCDC_CLKSRC_PERIPHERAL	1
+#define LCDC_CLKSRC_EXTERNAL	2
+
+#define LDICKR_CLKSRC(x)	\
+	(((x) & 3) << 12)
+
+/* LCDC pixclock input divider. Set to 1 at a minimum! */
+#define LDICKR_CLKDIV(x)	\
+	((x) & 0x1f)
+
+struct sh7760fb_platdata {
+
+	/* Set this member to a valid fb_videmode for the display you
+	 * wish to use.  The following members must be initialized:
+	 * xres, yres, hsync_len, vsync_len, sync,
+	 * {left,right,upper,lower}_margin.
+	 * The driver uses the above members to calculate register values
+	 * and memory requirements. Other members are ignored but may
+	 * be used by other framebuffer layer components.
+	 */
+	struct	fb_videomode *def_mode;
+
+	/* LDMTR includes display type and signal polarity.  The
+	 * HSYNC/VSYNC polarities are derived from the fb_var_screeninfo
+	 * data above; however the polarities of the following signals
+	 * must be encoded in the ldmtr member:
+	 * Display Enable signal (default high-active)	DISPEN_LOWACT
+	 * Display Data signals (default high-active)	DPOL_LOWACT
+	 * AC Modulation signal (default off)		MCNT
+	 * Hsync-During-Vsync suppression (default off)	CL1CNT
+	 * Vsync-during-vsync suppression (default off) CL2CNT
+	 * NOTE: also set a display type!
+	 * (one of LDMTR_{STN,DSTN,TFT}_{MONO,COLOR}_{4,8,12,16})
+	 */
+	u16	ldmtr;
+
+	/* LDDFR controls framebuffer image format (depth, organization)
+	 * Use ONE of the LDDFR_?BPP_* macros!
+	 */
+	u16	lddfr;
+
+	/* LDPMMR and LDPSPR control the timing of the power signals
+	 * for the display. Please read the SH7760 Hardware Manual,
+	 * Chapters 30.3.17, 30.3.18 and 30.4.6!
+	 */
+	u16	ldpmmr;
+	u16	ldpspr;
+
+	/* LDACLNR contains the line numbers after which the AC modulation
+	 * signal is to toggle. Set to ZERO for TFTs or displays which
+	 * do not need it. (Chapter 30.3.15 in SH7760 Hardware Manual).
+	 */
+	u16	ldaclnr;
+
+	/* LDICKR contains information on pixelclock source and config.
+	 * Please use the LDICKR_CLKSRC() and LDICKR_CLKDIV() macros.
+	 * minimal value for CLKDIV() must be 1!.
+	 */
+	u16	ldickr;
+
+	/* set this member to 1 if you wish to use the LCDC's hardware
+	 * rotation function.  This is limited to displays <= 320x200
+	 * pixels resolution!
+	 */
+	int	rotate;		/* set to 1 to rotate 90 CCW */
+
+	/* set this to 1 to suppress vsync irq use. */
+	int	novsync;
+
+	/* blanking hook for platform. Set this if your platform can do
+	 * more than the LCDC in terms of blanking (e.g. disable clock
+	 * generator / backlight power supply / etc.
+	 */
+	void(*blank)(int);
+};
+
+#endif /* _ASM_SH_SH7760FB_H */
-- 
1.5.5.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-06-25  7:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-25  7:38 [PATCH 2/4] video: sh7760fb: SH7760/SH7763 LCDC framebuffer driver part 2/3 Nobuhiro Iwamatsu
2008-06-25  7:38 ` [PATCH 2/4] video: sh7760fb: SH7760/SH7763 LCDC framebuffer driver Nobuhiro Iwamatsu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.