Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
bf537-lq035.c File Reference
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/string.h>
#include <linux/mm.h>
#include <linux/delay.h>
#include <linux/fb.h>
#include <linux/ioport.h>
#include <linux/init.h>
#include <linux/types.h>
#include <linux/gpio.h>
#include <linux/interrupt.h>
#include <linux/sched.h>
#include <linux/timer.h>
#include <linux/device.h>
#include <linux/backlight.h>
#include <linux/lcd.h>
#include <linux/i2c.h>
#include <linux/spinlock.h>
#include <linux/dma-mapping.h>
#include <linux/slab.h>
#include <linux/platform_device.h>
#include <asm/blackfin.h>
#include <asm/irq.h>
#include <asm/dpmc.h>
#include <asm/dma.h>
#include <asm/portmux.h>

Go to the source code of this file.

Macros

#define pr_fmt(fmt)   KBUILD_MODNAME ": " fmt
 
#define NO_BL   1
 
#define MAX_BRIGHENESS   95
 
#define MIN_BRIGHENESS   5
 
#define NBR_PALETTE   256
 
#define UD   GPIO_PF13 /* Up / Down */
 
#define MOD   GPIO_PF10
 
#define LBR   GPIO_PF14 /* Left Right */
 
#define bfin_write_TIMER_LP_CONFIG   bfin_write_TIMER6_CONFIG
 
#define bfin_write_TIMER_LP_WIDTH   bfin_write_TIMER6_WIDTH
 
#define bfin_write_TIMER_LP_PERIOD   bfin_write_TIMER6_PERIOD
 
#define bfin_read_TIMER_LP_COUNTER   bfin_read_TIMER6_COUNTER
 
#define TIMDIS_LP   TIMDIS6
 
#define TIMEN_LP   TIMEN6
 
#define bfin_write_TIMER_SPS_CONFIG   bfin_write_TIMER1_CONFIG
 
#define bfin_write_TIMER_SPS_WIDTH   bfin_write_TIMER1_WIDTH
 
#define bfin_write_TIMER_SPS_PERIOD   bfin_write_TIMER1_PERIOD
 
#define TIMDIS_SPS   TIMDIS1
 
#define TIMEN_SPS   TIMEN1
 
#define bfin_write_TIMER_SP_CONFIG   bfin_write_TIMER0_CONFIG
 
#define bfin_write_TIMER_SP_WIDTH   bfin_write_TIMER0_WIDTH
 
#define bfin_write_TIMER_SP_PERIOD   bfin_write_TIMER0_PERIOD
 
#define TIMDIS_SP   TIMDIS0
 
#define TIMEN_SP   TIMEN0
 
#define bfin_write_TIMER_PS_CLS_CONFIG   bfin_write_TIMER7_CONFIG
 
#define bfin_write_TIMER_PS_CLS_WIDTH   bfin_write_TIMER7_WIDTH
 
#define bfin_write_TIMER_PS_CLS_PERIOD   bfin_write_TIMER7_PERIOD
 
#define TIMDIS_PS_CLS   TIMDIS7
 
#define TIMEN_PS_CLS   TIMEN7
 
#define bfin_write_TIMER_REV_CONFIG   bfin_write_TIMER5_CONFIG
 
#define bfin_write_TIMER_REV_WIDTH   bfin_write_TIMER5_WIDTH
 
#define bfin_write_TIMER_REV_PERIOD   bfin_write_TIMER5_PERIOD
 
#define TIMDIS_REV   TIMDIS5
 
#define TIMEN_REV   TIMEN5
 
#define bfin_read_TIMER_REV_COUNTER   bfin_read_TIMER5_COUNTER
 
#define FREQ_PPI_CLK   (6*1000*1000) /* PPI_CLK 6MHz */
 
#define TIMERS   {P_TMR0, P_TMR1, P_TMR5, P_TMR6, P_TMR7, 0}
 
#define LCD_X_RES   240 /* Horizontal Resolution */
 
#define LCD_Y_RES   320 /* Vertical Resolution */
 
#define LCD_BBP   16 /* Bit Per Pixel */
 
#define START_LINES   8 /* lines for field flyback or field blanking signal */
 
#define U_LINES   9 /* number of undisplayed blanking lines */
 
#define FRAMES_PER_SEC   (60)
 
#define DCLKS_PER_FRAME   (FREQ_PPI_CLK/FRAMES_PER_SEC)
 
#define DCLKS_PER_LINE   (DCLKS_PER_FRAME/(LCD_Y_RES+U_LINES))
 
#define PPI_CONFIG_VALUE   (PORT_DIR|XFR_TYPE|DLEN_16|POLS)
 
#define PPI_DELAY_VALUE   (0)
 
#define TIMER_CONFIG   (PWM_OUT|PERIOD_CNT|TIN_SEL|CLK_SEL)
 
#define ACTIVE_VIDEO_MEM_OFFSET   (LCD_X_RES*START_LINES*(LCD_BBP/8))
 
#define ACTIVE_VIDEO_MEM_SIZE   (LCD_Y_RES*LCD_X_RES*(LCD_BBP/8))
 
#define TOTAL_VIDEO_MEM_SIZE   ((LCD_Y_RES+U_LINES)*LCD_X_RES*(LCD_BBP/8))
 
#define TOTAL_DMA_DESC_SIZE   (2 * sizeof(u32) * (LCD_Y_RES + U_LINES))
 
#define bfin_lq035_suspend   NULL
 
#define bfin_lq035_resume   NULL
 

Functions

 module_param (landscape, int, 0)
 
 MODULE_PARM_DESC (landscape,"LANDSCAPE use 320x240 instead of Native 240x320 Resolution")
 
 module_param (bgr, int, 0)
 
 MODULE_PARM_DESC (bgr,"BGR use 16-bit BGR-565 instead of RGB-565")
 
 module_param (nocursor, int, 0644)
 
 MODULE_PARM_DESC (nocursor,"cursor enable/disable")
 
 MODULE_DEVICE_TABLE (i2c, ad5280_id)
 
 module_init (bfin_lq035_driver_init)
 
 module_exit (bfin_lq035_driver_cleanup)
 
 MODULE_DESCRIPTION ("SHARP LQ035Q7DB03 TFT LCD Driver")
 
 MODULE_LICENSE ("GPL")
 

Macro Definition Documentation

#define ACTIVE_VIDEO_MEM_OFFSET   (LCD_X_RES*START_LINES*(LCD_BBP/8))

Definition at line 237 of file bf537-lq035.c.

#define ACTIVE_VIDEO_MEM_SIZE   (LCD_Y_RES*LCD_X_RES*(LCD_BBP/8))

Definition at line 238 of file bf537-lq035.c.

#define bfin_lq035_resume   NULL

Definition at line 887 of file bf537-lq035.c.

#define bfin_lq035_suspend   NULL

Definition at line 886 of file bf537-lq035.c.

#define bfin_read_TIMER_LP_COUNTER   bfin_read_TIMER6_COUNTER

Definition at line 181 of file bf537-lq035.c.

#define bfin_read_TIMER_REV_COUNTER   bfin_read_TIMER5_COUNTER

Definition at line 208 of file bf537-lq035.c.

#define bfin_write_TIMER_LP_CONFIG   bfin_write_TIMER6_CONFIG

Definition at line 178 of file bf537-lq035.c.

#define bfin_write_TIMER_LP_PERIOD   bfin_write_TIMER6_PERIOD

Definition at line 180 of file bf537-lq035.c.

#define bfin_write_TIMER_LP_WIDTH   bfin_write_TIMER6_WIDTH

Definition at line 179 of file bf537-lq035.c.

#define bfin_write_TIMER_PS_CLS_CONFIG   bfin_write_TIMER7_CONFIG

Definition at line 197 of file bf537-lq035.c.

#define bfin_write_TIMER_PS_CLS_PERIOD   bfin_write_TIMER7_PERIOD

Definition at line 199 of file bf537-lq035.c.

#define bfin_write_TIMER_PS_CLS_WIDTH   bfin_write_TIMER7_WIDTH

Definition at line 198 of file bf537-lq035.c.

#define bfin_write_TIMER_REV_CONFIG   bfin_write_TIMER5_CONFIG

Definition at line 203 of file bf537-lq035.c.

#define bfin_write_TIMER_REV_PERIOD   bfin_write_TIMER5_PERIOD

Definition at line 205 of file bf537-lq035.c.

#define bfin_write_TIMER_REV_WIDTH   bfin_write_TIMER5_WIDTH

Definition at line 204 of file bf537-lq035.c.

#define bfin_write_TIMER_SP_CONFIG   bfin_write_TIMER0_CONFIG

Definition at line 191 of file bf537-lq035.c.

#define bfin_write_TIMER_SP_PERIOD   bfin_write_TIMER0_PERIOD

Definition at line 193 of file bf537-lq035.c.

#define bfin_write_TIMER_SP_WIDTH   bfin_write_TIMER0_WIDTH

Definition at line 192 of file bf537-lq035.c.

#define bfin_write_TIMER_SPS_CONFIG   bfin_write_TIMER1_CONFIG

Definition at line 185 of file bf537-lq035.c.

#define bfin_write_TIMER_SPS_PERIOD   bfin_write_TIMER1_PERIOD

Definition at line 187 of file bf537-lq035.c.

#define bfin_write_TIMER_SPS_WIDTH   bfin_write_TIMER1_WIDTH

Definition at line 186 of file bf537-lq035.c.

#define DCLKS_PER_FRAME   (FREQ_PPI_CLK/FRAMES_PER_SEC)

Definition at line 230 of file bf537-lq035.c.

#define DCLKS_PER_LINE   (DCLKS_PER_FRAME/(LCD_Y_RES+U_LINES))

Definition at line 231 of file bf537-lq035.c.

#define FRAMES_PER_SEC   (60)

Definition at line 228 of file bf537-lq035.c.

#define FREQ_PPI_CLK   (6*1000*1000) /* PPI_CLK 6MHz */

Definition at line 210 of file bf537-lq035.c.

#define LBR   GPIO_PF14 /* Left Right */

Definition at line 176 of file bf537-lq035.c.

#define LCD_BBP   16 /* Bit Per Pixel */

Definition at line 218 of file bf537-lq035.c.

#define LCD_X_RES   240 /* Horizontal Resolution */

Definition at line 215 of file bf537-lq035.c.

#define LCD_Y_RES   320 /* Vertical Resolution */

Definition at line 216 of file bf537-lq035.c.

#define MAX_BRIGHENESS   95

Definition at line 42 of file bf537-lq035.c.

#define MIN_BRIGHENESS   5

Definition at line 43 of file bf537-lq035.c.

#define MOD   GPIO_PF10

Definition at line 175 of file bf537-lq035.c.

#define NBR_PALETTE   256

Definition at line 44 of file bf537-lq035.c.

#define NO_BL   1

Definition at line 40 of file bf537-lq035.c.

#define PPI_CONFIG_VALUE   (PORT_DIR|XFR_TYPE|DLEN_16|POLS)

Definition at line 233 of file bf537-lq035.c.

#define PPI_DELAY_VALUE   (0)

Definition at line 234 of file bf537-lq035.c.

#define pr_fmt (   fmt)    KBUILD_MODNAME ": " fmt

Definition at line 9 of file bf537-lq035.c.

#define START_LINES   8 /* lines for field flyback or field blanking signal */

Definition at line 225 of file bf537-lq035.c.

#define TIMDIS_LP   TIMDIS6

Definition at line 182 of file bf537-lq035.c.

#define TIMDIS_PS_CLS   TIMDIS7

Definition at line 200 of file bf537-lq035.c.

#define TIMDIS_REV   TIMDIS5

Definition at line 206 of file bf537-lq035.c.

#define TIMDIS_SP   TIMDIS0

Definition at line 194 of file bf537-lq035.c.

#define TIMDIS_SPS   TIMDIS1

Definition at line 188 of file bf537-lq035.c.

#define TIMEN_LP   TIMEN6

Definition at line 183 of file bf537-lq035.c.

#define TIMEN_PS_CLS   TIMEN7

Definition at line 201 of file bf537-lq035.c.

#define TIMEN_REV   TIMEN5

Definition at line 207 of file bf537-lq035.c.

#define TIMEN_SP   TIMEN0

Definition at line 195 of file bf537-lq035.c.

#define TIMEN_SPS   TIMEN1

Definition at line 189 of file bf537-lq035.c.

#define TIMER_CONFIG   (PWM_OUT|PERIOD_CNT|TIN_SEL|CLK_SEL)

Definition at line 235 of file bf537-lq035.c.

#define TIMERS   {P_TMR0, P_TMR1, P_TMR5, P_TMR6, P_TMR7, 0}

Definition at line 211 of file bf537-lq035.c.

#define TOTAL_DMA_DESC_SIZE   (2 * sizeof(u32) * (LCD_Y_RES + U_LINES))

Definition at line 240 of file bf537-lq035.c.

#define TOTAL_VIDEO_MEM_SIZE   ((LCD_Y_RES+U_LINES)*LCD_X_RES*(LCD_BBP/8))

Definition at line 239 of file bf537-lq035.c.

#define U_LINES   9 /* number of undisplayed blanking lines */

Definition at line 226 of file bf537-lq035.c.

#define UD   GPIO_PF13 /* Up / Down */

Definition at line 174 of file bf537-lq035.c.

Function Documentation

MODULE_DESCRIPTION ( "SHARP LQ035Q7DB03 TFT LCD Driver"  )
MODULE_DEVICE_TABLE ( i2c  ,
ad5280_id   
)
module_exit ( bfin_lq035_driver_cleanup  )
module_init ( bfin_lq035_driver_init  )
MODULE_LICENSE ( "GPL"  )
module_param ( landscape  ,
int  ,
 
)
module_param ( bgr  ,
int  ,
 
)
module_param ( nocursor  ,
int  ,
0644   
)
MODULE_PARM_DESC ( landscape  ,
"LANDSCAPE use 320x240 instead of Native 240x320 Resolution"   
)
MODULE_PARM_DESC ( bgr  ,
"BGR use 16-bit BGR-565 instead of RGB-565"   
)
MODULE_PARM_DESC ( nocursor  ,
"cursor enable/disable  
)