/linux/drivers/video/backlight/ |
H A D | corgi_lcd.c | 3 * LCD/Backlight Driver for Sharp Zaurus Handhelds (various models) 10 * Converted to SPI device based LCD/Backlight device driver 20 #include <linux/lcd.h> 99 static int corgi_ssp_lcdtg_send(struct corgi_lcd *lcd, int reg, uint8_t val); 110 static void lcdtg_ssp_i2c_send(struct corgi_lcd *lcd, uint8_t data) in lcdtg_ssp_i2c_send() argument 112 corgi_ssp_lcdtg_send(lcd, POWERREG0_ADRS, data); in lcdtg_ssp_i2c_send() 116 static void lcdtg_i2c_send_bit(struct corgi_lcd *lcd, uint8_t data) in lcdtg_i2c_send_bit() argument 118 lcdtg_ssp_i2c_send(lcd, data); in lcdtg_i2c_send_bit() 119 lcdtg_ssp_i2c_send(lcd, data | POWER0_COM_DCLK); in lcdtg_i2c_send_bit() 120 lcdtg_ssp_i2c_send(lcd, data); in lcdtg_i2c_send_bit() [all …]
|
H A D | ltv350qv.c | 3 * Power control for Samsung LTV350QV Quarter VGA LCD Panel 10 #include <linux/lcd.h> 35 static int ltv350qv_write_reg(struct ltv350qv *lcd, u8 reg, u16 val) in ltv350qv_write_reg() argument 49 lcd->buffer[0] = LTV_OPC_INDEX; in ltv350qv_write_reg() 50 lcd->buffer[1] = 0x00; in ltv350qv_write_reg() 51 lcd->buffer[2] = reg & 0x7f; in ltv350qv_write_reg() 52 index_xfer.tx_buf = lcd->buffer; in ltv350qv_write_reg() 56 lcd->buffer[4] = LTV_OPC_DATA; in ltv350qv_write_reg() 57 lcd->buffer[5] = val >> 8; in ltv350qv_write_reg() 58 lcd->buffer[6] = val; in ltv350qv_write_reg() [all …]
|
H A D | lms501kf03.c | 3 * lms501kf03 TFT LCD panel driver. 10 #include <linux/lcd.h> 101 static int lms501kf03_spi_write_byte(struct lms501kf03 *lcd, int addr, int data) in lms501kf03_spi_write_byte() argument 116 return spi_sync(lcd->spi, &msg); in lms501kf03_spi_write_byte() 119 static int lms501kf03_spi_write(struct lms501kf03 *lcd, unsigned char address, in lms501kf03_spi_write() argument 122 return lms501kf03_spi_write_byte(lcd, address, command); in lms501kf03_spi_write() 125 static int lms501kf03_panel_send_sequence(struct lms501kf03 *lcd, in lms501kf03_panel_send_sequence() argument 133 ret = lms501kf03_spi_write(lcd, COMMAND_ONLY, wbuf[i]); in lms501kf03_panel_send_sequence() 135 ret = lms501kf03_spi_write(lcd, DATA_ONLY, wbuf[i]); in lms501kf03_panel_send_sequence() 144 static int lms501kf03_ldi_init(struct lms501kf03 *lcd) in lms501kf03_ldi_init() argument [all …]
|
H A D | ams369fg06.c | 3 * ams369fg06 AMOLED LCD panel driver. 13 #include <linux/lcd.h> 157 static int ams369fg06_spi_write_byte(struct ams369fg06 *lcd, int addr, int data) in ams369fg06_spi_write_byte() argument 172 return spi_sync(lcd->spi, &msg); in ams369fg06_spi_write_byte() 175 static int ams369fg06_spi_write(struct ams369fg06 *lcd, unsigned char address, in ams369fg06_spi_write() argument 181 ret = ams369fg06_spi_write_byte(lcd, 0x70, address); in ams369fg06_spi_write() 183 ret = ams369fg06_spi_write_byte(lcd, 0x72, command); in ams369fg06_spi_write() 188 static int ams369fg06_panel_send_sequence(struct ams369fg06 *lcd, in ams369fg06_panel_send_sequence() argument 195 ret = ams369fg06_spi_write(lcd, wbuf[i], wbuf[i+1]); in ams369fg06_panel_send_sequence() 207 static int _ams369fg06_gamma_ctl(struct ams369fg06 *lcd, in _ams369fg06_gamma_ctl() argument [all …]
|
H A D | ili9320.c | 4 * ILI9320 LCD controller driver core. 14 #include <linux/lcd.h> 74 static void ili9320_reset(struct ili9320 *lcd) in ili9320_reset() argument 76 struct ili9320_platdata *cfg = lcd->platdata; in ili9320_reset() 88 static inline int ili9320_init_chip(struct ili9320 *lcd) in ili9320_init_chip() argument 92 ili9320_reset(lcd); in ili9320_init_chip() 94 ret = lcd->client->init(lcd, lcd->platdata); in ili9320_init_chip() 96 dev_err(lcd->dev, "failed to initialise display\n"); in ili9320_init_chip() 100 lcd->initialised = 1; in ili9320_init_chip() 104 static inline int ili9320_power_on(struct ili9320 *lcd) in ili9320_power_on() argument [all …]
|
H A D | tdo24m.c | 3 * tdo24m - SPI-based drivers for Toppoly TDO24M series LCD panels 15 #include <linux/lcd.h> 32 int (*adj_mode)(struct tdo24m *lcd, int mode); 174 static int tdo24m_writes(struct tdo24m *lcd, const uint32_t *array) in tdo24m_writes() argument 176 struct spi_transfer *x = &lcd->xfer; in tdo24m_writes() 182 if (!lcd->color_invert && *p == CMD0(0x21)) in tdo24m_writes() 190 lcd->buf[0] = (data >> 8) & 0xff; in tdo24m_writes() 191 lcd->buf[1] = data & 0xff; in tdo24m_writes() 194 lcd->buf[0] = (data >> 16) & 0xff; in tdo24m_writes() 195 lcd->buf[1] = (data >> 8) & 0xff; in tdo24m_writes() [all …]
|
H A D | platform_lcd.c | 7 * Generic platform-device LCD power control interface. 12 #include <linux/lcd.h> 19 struct lcd_device *lcd; member 26 static inline struct platform_lcd *to_our_lcd(struct lcd_device *lcd) in to_our_lcd() argument 28 return lcd_get_data(lcd); in to_our_lcd() 31 static int platform_lcd_get_power(struct lcd_device *lcd) in platform_lcd_get_power() argument 33 struct platform_lcd *plcd = to_our_lcd(lcd); in platform_lcd_get_power() 38 static int platform_lcd_set_power(struct lcd_device *lcd, int power) in platform_lcd_set_power() argument 40 struct platform_lcd *plcd = to_our_lcd(lcd); in platform_lcd_set_power() 52 static bool platform_lcd_controls_device(struct lcd_device *lcd, struct device *display_device) in platform_lcd_controls_device() argument [all …]
|
/linux/drivers/gpu/drm/panel/ |
H A D | panel-sony-acx565akm.c | 3 * Sony ACX565AKM LCD Panel driver 75 static void acx565akm_transfer(struct acx565akm_panel *lcd, int cmd, in acx565akm_transfer() argument 118 ret = spi_sync(lcd->spi, &m); in acx565akm_transfer() 120 dev_dbg(&lcd->spi->dev, "spi_sync %d\n", ret); in acx565akm_transfer() 123 static inline void acx565akm_cmd(struct acx565akm_panel *lcd, int cmd) in acx565akm_cmd() argument 125 acx565akm_transfer(lcd, cmd, NULL, 0, NULL, 0); in acx565akm_cmd() 128 static inline void acx565akm_write(struct acx565akm_panel *lcd, in acx565akm_write() argument 131 acx565akm_transfer(lcd, reg, buf, len, NULL, 0); in acx565akm_write() 134 static inline void acx565akm_read(struct acx565akm_panel *lcd, in acx565akm_read() argument 137 acx565akm_transfer(lcd, reg, NULL, 0, buf, len); in acx565akm_read() [all …]
|
H A D | panel-tpo-td043mtea1.c | 74 static int td043mtea1_write(struct td043mtea1_panel *lcd, u8 addr, u8 value) in td043mtea1_write() argument 91 ret = spi_sync(lcd->spi, &msg); in td043mtea1_write() 93 dev_warn(&lcd->spi->dev, "failed to write to LCD reg (%d)\n", in td043mtea1_write() 99 static void td043mtea1_write_gamma(struct td043mtea1_panel *lcd) in td043mtea1_write_gamma() argument 101 const u16 *gamma = lcd->gamma; in td043mtea1_write_gamma() 108 td043mtea1_write(lcd, 0x11, val); in td043mtea1_write_gamma() 112 td043mtea1_write(lcd, 0x12, val); in td043mtea1_write_gamma() 116 td043mtea1_write(lcd, 0x13, val); in td043mtea1_write_gamma() 120 td043mtea1_write(lcd, 0x14 + i, gamma[i] & 0xff); in td043mtea1_write_gamma() 123 static int td043mtea1_write_mirror(struct td043mtea1_panel *lcd) in td043mtea1_write_mirror() argument [all …]
|
H A D | panel-tpo-td028ttec1.c | 90 jbt_ret_write_0(struct td028ttec1_panel *lcd, u8 reg, int *err) in jbt_ret_write_0() argument 92 struct spi_device *spi = lcd->spi; in jbt_ret_write_0() 110 jbt_reg_write_1(struct td028ttec1_panel *lcd, in jbt_reg_write_1() argument 113 struct spi_device *spi = lcd->spi; in jbt_reg_write_1() 134 jbt_reg_write_2(struct td028ttec1_panel *lcd, in jbt_reg_write_2() argument 137 struct spi_device *spi = lcd->spi; in jbt_reg_write_2() 160 struct td028ttec1_panel *lcd = to_td028ttec1_device(panel); in td028ttec1_prepare() local 166 jbt_ret_write_0(lcd, 0x00, &ret); in td028ttec1_prepare() 171 jbt_reg_write_1(lcd, JBT_REG_POWER_ON_OFF, 0x17, &ret); in td028ttec1_prepare() 174 jbt_reg_write_1(lcd, JBT_REG_DISPLAY_MODE, 0x80, &ret); in td028ttec1_prepare() [all …]
|
H A D | panel-sharp-ls037v7dw01.c | 3 * Sharp LS037V7DW01 LCD Panel Driver 41 struct ls037v7dw01_panel *lcd = to_ls037v7dw01_device(panel); in ls037v7dw01_disable() local 43 gpiod_set_value_cansleep(lcd->ini_gpio, 0); in ls037v7dw01_disable() 44 gpiod_set_value_cansleep(lcd->resb_gpio, 0); in ls037v7dw01_disable() 46 /* Wait at least 5 vsyncs after disabling the LCD. */ in ls037v7dw01_disable() 54 struct ls037v7dw01_panel *lcd = to_ls037v7dw01_device(panel); in ls037v7dw01_unprepare() local 56 regulator_disable(lcd->vdd); in ls037v7dw01_unprepare() 62 struct ls037v7dw01_panel *lcd = to_ls037v7dw01_device(panel); in ls037v7dw01_prepare() local 65 ret = regulator_enable(lcd->vdd); in ls037v7dw01_prepare() 67 dev_err(&lcd->pdev->dev, "%s: failed to enable regulator\n", in ls037v7dw01_prepare() [all …]
|
H A D | panel-olimex-lcd-olinuxino.c | 3 * LCD-OLinuXino support for panel driver 80 struct lcd_olinuxino *lcd = to_lcd_olinuxino(panel); in lcd_olinuxino_unprepare() local 82 gpiod_set_value_cansleep(lcd->enable_gpio, 0); in lcd_olinuxino_unprepare() 83 regulator_disable(lcd->supply); in lcd_olinuxino_unprepare() 90 struct lcd_olinuxino *lcd = to_lcd_olinuxino(panel); in lcd_olinuxino_prepare() local 93 ret = regulator_enable(lcd->supply); in lcd_olinuxino_prepare() 97 gpiod_set_value_cansleep(lcd->enable_gpio, 1); in lcd_olinuxino_prepare() 105 struct lcd_olinuxino *lcd = to_lcd_olinuxino(panel); in lcd_olinuxino_get_modes() local 106 struct lcd_olinuxino_info *lcd_info = &lcd->eeprom.info; in lcd_olinuxino_get_modes() 111 for (i = 0; i < lcd->eeprom.num_modes; i++) { in lcd_olinuxino_get_modes() [all …]
|
H A D | panel-lincolntech-lcd197.c | 36 struct lincoln_lcd197_panel *lcd = to_lincoln_lcd197_panel(panel); in lincoln_lcd197_panel_prepare() local 37 struct mipi_dsi_multi_context ctx = { .dsi = lcd->dsi }; in lincoln_lcd197_panel_prepare() 40 gpiod_set_value_cansleep(lcd->enable_gpio, 0); in lincoln_lcd197_panel_prepare() 41 err = regulator_enable(lcd->supply); in lincoln_lcd197_panel_prepare() 45 gpiod_set_value_cansleep(lcd->enable_gpio, 1); in lincoln_lcd197_panel_prepare() 47 gpiod_set_value_cansleep(lcd->reset_gpio, 1); in lincoln_lcd197_panel_prepare() 49 gpiod_set_value_cansleep(lcd->reset_gpio, 0); in lincoln_lcd197_panel_prepare() 108 gpiod_set_value_cansleep(lcd->enable_gpio, 0); in lincoln_lcd197_panel_prepare() 109 gpiod_set_value_cansleep(lcd->reset_gpio, 1); in lincoln_lcd197_panel_prepare() 110 regulator_disable(lcd->supply); in lincoln_lcd197_panel_prepare() [all …]
|
H A D | panel-nec-nl8048hl11.c | 32 static int nl8048_write(struct nl8048_panel *lcd, unsigned char addr, in nl8048_write() argument 38 ret = spi_write(lcd->spi, data, sizeof(data)); in nl8048_write() 40 dev_err(&lcd->spi->dev, "SPI write to %u failed: %d\n", in nl8048_write() 46 static int nl8048_init(struct nl8048_panel *lcd) in nl8048_init() argument 79 ret = nl8048_write(lcd, nl8048_init_seq[i].addr, in nl8048_init() 87 return nl8048_write(lcd, 2, 0x00); in nl8048_init() 92 struct nl8048_panel *lcd = to_nl8048_device(panel); in nl8048_disable() local 94 gpiod_set_value_cansleep(lcd->reset_gpio, 0); in nl8048_disable() 101 struct nl8048_panel *lcd = to_nl8048_device(panel); in nl8048_enable() local 103 gpiod_set_value_cansleep(lcd->reset_gpio, 1); in nl8048_enable() [all …]
|
H A D | panel-lg-lb035q02.c | 3 * LG.Philips LB035Q02 LCD Panel Driver 32 static int lb035q02_write(struct lb035q02_device *lcd, u16 reg, u16 val) in lb035q02_write() argument 60 return spi_sync(lcd->spi, &msg); in lb035q02_write() 63 static int lb035q02_init(struct lb035q02_device *lcd) in lb035q02_init() argument 100 ret = lb035q02_write(lcd, init_data[i].index, in lb035q02_init() 111 struct lb035q02_device *lcd = to_lb035q02_device(panel); in lb035q02_disable() local 113 gpiod_set_value_cansleep(lcd->enable_gpio, 0); in lb035q02_disable() 120 struct lb035q02_device *lcd = to_lb035q02_device(panel); in lb035q02_enable() local 122 gpiod_set_value_cansleep(lcd->enable_gpio, 1); in lb035q02_enable() 178 struct lb035q02_device *lcd; in lb035q02_probe() local [all …]
|
/linux/drivers/auxdisplay/ |
H A D | arm-charlcd.c | 3 * Driver for the on-board character LCD found on some ARM reference boards 4 * This is basically an Hitachi HD44780 LCD with a custom IP block to drive it 63 * @complete: completion structure for the last LCD command 78 struct charlcd *lcd = data; in charlcd_interrupt() local 81 status = readl(lcd->virtbase + CHAR_STAT) & 0x01; in charlcd_interrupt() 83 writel(CHAR_RAW_CLEAR, lcd->virtbase + CHAR_RAW); in charlcd_interrupt() 85 complete(&lcd->complete); in charlcd_interrupt() 87 dev_info(lcd->dev, "Spurious IRQ (%02x)\n", status); in charlcd_interrupt() 92 static void charlcd_wait_complete_irq(struct charlcd *lcd) in charlcd_wait_complete_irq() argument 96 ret = wait_for_completion_interruptible_timeout(&lcd->complete, in charlcd_wait_complete_irq() [all …]
|
H A D | panel.c | 7 * This code drives an LCD module (/dev/lcd), and a keypad (/dev/keypad) 10 * The LCD module may either be an HD44780-like 8-bit parallel LCD, or a 1-bit 18 * Several profiles are provided for commonly found LCD+keypad modules on the 27 * - make the LCD a part of a virtual screen of Vx*Vy 199 /* lcd-specific variables */ 218 } lcd; variable 224 * Bit masks to convert LCD signals to parallel port outputs. 233 * one entry for each bit on the LCD 253 * LCD protocols 260 * LCD character sets [all …]
|
/linux/drivers/staging/fbtft/ |
H A D | Kconfig | 3 tristate "Support for small TFT LCD display modules" 14 tristate "FB driver for the AGM1264K-FL LCD display" 16 Framebuffer support for the AGM1264K-FL LCD display (two Samsung KS0108 compatible chips) 19 tristate "FB driver for the BD663474 LCD Controller" 24 tristate "FB driver for the HX8340BN LCD Controller" 29 tristate "FB driver for the HX8347D LCD Controller" 34 tristate "FB driver for the HX8353D LCD Controller" 39 tristate "FB driver for the HX8357D LCD Controller" 44 tristate "FB driver for the ILI9163 LCD Controller" 49 tristate "FB driver for the ILI9320 LCD Controller" [all …]
|
/linux/Documentation/devicetree/bindings/pinctrl/ |
H A D | marvell,armada-xp-pinctrl.txt | 21 mpp0 0 gpio, ge0(txclkout), lcd(d0) 22 mpp1 1 gpio, ge0(txd0), lcd(d1) 23 mpp2 2 gpio, ge0(txd1), lcd(d2) 24 mpp3 3 gpio, ge0(txd2), lcd(d3) 25 mpp4 4 gpio, ge0(txd3), lcd(d4) 26 mpp5 5 gpio, ge0(txctl), lcd(d5) 27 mpp6 6 gpio, ge0(rxd0), lcd(d6) 28 mpp7 7 gpio, ge0(rxd1), lcd(d7) 29 mpp8 8 gpio, ge0(rxd2), lcd(d8) 30 mpp9 9 gpio, ge0(rxd3), lcd(d9) [all …]
|
/linux/drivers/video/fbdev/ |
H A D | au1200fb.c | 3 * Au1200 LCD Driver. 53 #define DRIVER_DESC "LCD controller driver for AU1200 processors" 160 /* LCD controller restrictions */ 179 static struct au1200_lcd *lcd = (struct au1200_lcd *) AU1200_LCD_ADDR; variable 349 /* List of panels known to work with the AU1200 LCD controller. 710 winctrl0 = lcd->window[plane].winctrl0; in au1200_setlocation() 711 winctrl1 = lcd->window[plane].winctrl1; in au1200_setlocation() 733 fb_offset += (((0 - xpos) * winbpp(lcd->window[plane].winctrl1))/8); in au1200_setlocation() 758 winenable = lcd->winenable & (1 << plane); in au1200_setlocation() 760 lcd->winenable &= ~(1 << plane); in au1200_setlocation() [all …]
|
/linux/Documentation/devicetree/bindings/display/panel/ |
H A D | panel-edp-legacy.yaml | 29 # AU Optronics Corporation 10.1" WSVGA TFT LCD panel 31 # AUO B116XAK01 eDP TFT LCD panel 33 # AU Optronics Corporation 13.3" FHD (1920x1080) color TFT-LCD panel 35 # AU Optronics Corporation 13.3" WXGA (1366x768) TFT LCD panel 37 # BOE OPTOELECTRONICS TECHNOLOGY 10.1" WXGA TFT LCD panel 39 # BOE NV133FHM-N61 13.3" FHD (1920x1080) TFT LCD Panel 41 # BOE NV110WTM-N61 11.0" 2160x1440 TFT LCD Panel 43 # BOE NV133FHM-N62 13.3" FHD (1920x1080) TFT LCD Panel 47 # Innolux Corporation 11.6" WXGA (1366x768) TFT LCD panel 49 # Innolux Corporation 11.6" WXGA (1366x768) TFT LCD panel [all …]
|
H A D | panel-simple-dsi.yaml | 29 # AU Optronics Corporation 8.0" WUXGA TFT LCD panel 31 # Boe Corporation 8.0" WUXGA TFT LCD panel 33 # Innolux P079ZCA 7.85" 768x1024 TFT LCD panel 35 # JDI FHD_R63452 1080x1920 5.2" IPS LCD Panel 37 # Khadas TS050 5" 1080x1920 LCD panel 39 # Khadas TS050 V2 5" 1080x1920 LCD panel 41 # Kingdisplay KD097D04 9.7" 1536x2048 TFT LCD panel 43 # LG ACX467AKM-7 4.95" 1080×1920 LCD Panel 45 # LG Corporation 7" WXGA TFT LCD panel 47 # LG Corporation 5" HD TFT LCD panel [all …]
|
/linux/Documentation/devicetree/bindings/display/ |
H A D | ingenic,lcd.yaml | 4 $id: http://devicetree.org/schemas/display/ingenic,lcd.yaml# 7 title: Ingenic SoCs LCD controller 14 pattern: "^lcd-controller@[0-9a-f]+$" 18 - ingenic,jz4740-lcd 19 - ingenic,jz4725b-lcd 20 - ingenic,jz4760-lcd 21 - ingenic,jz4760b-lcd 22 - ingenic,jz4770-lcd 23 - ingenic,jz4780-lcd 40 - const: lcd [all …]
|
/linux/include/video/ |
H A D | s1d13xxxfb.h | 34 #define S1DREG_LCD_CLK_CNF 0x0014 /* LCD Pixel Clock Configuration Register */ 44 #define S1DREG_LCD_DISP_HWIDTH 0x0032 /* LCD Horizontal Display Width Register: ((val)+1)*8)=pix/l… 45 #define S1DREG_LCD_NDISP_HPER 0x0034 /* LCD Horizontal Non-Display Period Register: ((val)+1)*8)=N… 48 #define S1DREG_LCD_DISP_VHEIGHT0 0x0038 /* LCD Vertical Display Height Register 0 */ 49 #define S1DREG_LCD_DISP_VHEIGHT1 0x0039 /* LCD Vertical Display Height Register 1 */ 50 #define S1DREG_LCD_NDISP_VPER 0x003A /* LCD Vertical Non-Display Period Register: (val)+1=NDlines … 53 #define S1DREG_LCD_DISP_MODE 0x0040 /* LCD Display Mode Register */ 54 #define S1DREG_LCD_MISC 0x0041 /* LCD Miscellaneous Register */ 55 #define S1DREG_LCD_DISP_START0 0x0042 /* LCD Display Start Address Register 0 */ 56 #define S1DREG_LCD_DISP_START1 0x0043 /* LCD Display Start Address Register 1 */ [all …]
|
/linux/Documentation/ABI/testing/ |
H A D | sysfs-class-lcd | 1 What: /sys/class/lcd/<lcd>/lcd_power 6 Control LCD power, values are FB_BLANK_* from fb.h 10 What: /sys/class/lcd/<lcd>/contrast 15 Current contrast of this LCD device. Value is between 0 and 16 /sys/class/lcd/<lcd>/max_contrast. 18 What: /sys/class/lcd/<lcd>/max_contrast 23 Maximum contrast for this LCD device.
|