| /kernel/linux/linux-5.10/drivers/video/backlight/ |
| 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 …]
|
| D | ltv350qv.c | 3 * Power control for Samsung LTV350QV Quarter VGA LCD Panel 11 #include <linux/lcd.h> 37 static int ltv350qv_write_reg(struct ltv350qv *lcd, u8 reg, u16 val) in ltv350qv_write_reg() argument 51 lcd->buffer[0] = LTV_OPC_INDEX; in ltv350qv_write_reg() 52 lcd->buffer[1] = 0x00; in ltv350qv_write_reg() 53 lcd->buffer[2] = reg & 0x7f; in ltv350qv_write_reg() 54 index_xfer.tx_buf = lcd->buffer; in ltv350qv_write_reg() 58 lcd->buffer[4] = LTV_OPC_DATA; in ltv350qv_write_reg() 59 lcd->buffer[5] = val >> 8; in ltv350qv_write_reg() 60 lcd->buffer[6] = val; in ltv350qv_write_reg() [all …]
|
| D | lms501kf03.c | 3 * lms501kf03 TFT LCD panel driver. 12 #include <linux/lcd.h> 103 static int lms501kf03_spi_write_byte(struct lms501kf03 *lcd, int addr, int data) in lms501kf03_spi_write_byte() argument 118 return spi_sync(lcd->spi, &msg); in lms501kf03_spi_write_byte() 121 static int lms501kf03_spi_write(struct lms501kf03 *lcd, unsigned char address, in lms501kf03_spi_write() argument 124 return lms501kf03_spi_write_byte(lcd, address, command); in lms501kf03_spi_write() 127 static int lms501kf03_panel_send_sequence(struct lms501kf03 *lcd, in lms501kf03_panel_send_sequence() argument 135 ret = lms501kf03_spi_write(lcd, COMMAND_ONLY, wbuf[i]); in lms501kf03_panel_send_sequence() 137 ret = lms501kf03_spi_write(lcd, DATA_ONLY, wbuf[i]); in lms501kf03_panel_send_sequence() 146 static int lms501kf03_ldi_init(struct lms501kf03 *lcd) in lms501kf03_ldi_init() argument [all …]
|
| D | ili9320.c | 4 * ILI9320 LCD controller driver core. 15 #include <linux/lcd.h> 75 static void ili9320_reset(struct ili9320 *lcd) in ili9320_reset() argument 77 struct ili9320_platdata *cfg = lcd->platdata; in ili9320_reset() 89 static inline int ili9320_init_chip(struct ili9320 *lcd) in ili9320_init_chip() argument 93 ili9320_reset(lcd); in ili9320_init_chip() 95 ret = lcd->client->init(lcd, lcd->platdata); in ili9320_init_chip() 97 dev_err(lcd->dev, "failed to initialise display\n"); in ili9320_init_chip() 101 lcd->initialised = 1; in ili9320_init_chip() 105 static inline int ili9320_power_on(struct ili9320 *lcd) in ili9320_power_on() argument [all …]
|
| D | ams369fg06.c | 3 * ams369fg06 AMOLED LCD panel driver. 14 #include <linux/lcd.h> 158 static int ams369fg06_spi_write_byte(struct ams369fg06 *lcd, int addr, int data) in ams369fg06_spi_write_byte() argument 173 return spi_sync(lcd->spi, &msg); in ams369fg06_spi_write_byte() 176 static int ams369fg06_spi_write(struct ams369fg06 *lcd, unsigned char address, in ams369fg06_spi_write() argument 182 ret = ams369fg06_spi_write_byte(lcd, 0x70, address); in ams369fg06_spi_write() 184 ret = ams369fg06_spi_write_byte(lcd, 0x72, command); in ams369fg06_spi_write() 189 static int ams369fg06_panel_send_sequence(struct ams369fg06 *lcd, in ams369fg06_panel_send_sequence() argument 196 ret = ams369fg06_spi_write(lcd, wbuf[i], wbuf[i+1]); in ams369fg06_panel_send_sequence() 208 static int _ams369fg06_gamma_ctl(struct ams369fg06 *lcd, in _ams369fg06_gamma_ctl() argument [all …]
|
| D | tdo24m.c | 3 * tdo24m - SPI-based drivers for Toppoly TDO24M series LCD panels 16 #include <linux/lcd.h> 33 int (*adj_mode)(struct tdo24m *lcd, int mode); 175 static int tdo24m_writes(struct tdo24m *lcd, const uint32_t *array) in tdo24m_writes() argument 177 struct spi_transfer *x = &lcd->xfer; in tdo24m_writes() 183 if (!lcd->color_invert && *p == CMD0(0x21)) in tdo24m_writes() 191 lcd->buf[0] = (data >> 8) & 0xff; in tdo24m_writes() 192 lcd->buf[1] = data & 0xff; in tdo24m_writes() 195 lcd->buf[0] = (data >> 16) & 0xff; in tdo24m_writes() 196 lcd->buf[1] = (data >> 8) & 0xff; in tdo24m_writes() [all …]
|
| /kernel/linux/linux-4.19/drivers/video/backlight/ |
| D | corgi_lcd.c | 2 * LCD/Backlight Driver for Sharp Zaurus Handhelds (various models) 9 * Converted to SPI device based LCD/Backlight device driver 24 #include <linux/lcd.h> 104 static int corgi_ssp_lcdtg_send(struct corgi_lcd *lcd, int reg, uint8_t val); 115 static void lcdtg_ssp_i2c_send(struct corgi_lcd *lcd, uint8_t data) in lcdtg_ssp_i2c_send() argument 117 corgi_ssp_lcdtg_send(lcd, POWERREG0_ADRS, data); in lcdtg_ssp_i2c_send() 121 static void lcdtg_i2c_send_bit(struct corgi_lcd *lcd, uint8_t data) in lcdtg_i2c_send_bit() argument 123 lcdtg_ssp_i2c_send(lcd, data); in lcdtg_i2c_send_bit() 124 lcdtg_ssp_i2c_send(lcd, data | POWER0_COM_DCLK); in lcdtg_i2c_send_bit() 125 lcdtg_ssp_i2c_send(lcd, data); in lcdtg_i2c_send_bit() [all …]
|
| D | ltv350qv.c | 2 * Power control for Samsung LTV350QV Quarter VGA LCD Panel 14 #include <linux/lcd.h> 40 static int ltv350qv_write_reg(struct ltv350qv *lcd, u8 reg, u16 val) in ltv350qv_write_reg() argument 54 lcd->buffer[0] = LTV_OPC_INDEX; in ltv350qv_write_reg() 55 lcd->buffer[1] = 0x00; in ltv350qv_write_reg() 56 lcd->buffer[2] = reg & 0x7f; in ltv350qv_write_reg() 57 index_xfer.tx_buf = lcd->buffer; in ltv350qv_write_reg() 61 lcd->buffer[4] = LTV_OPC_DATA; in ltv350qv_write_reg() 62 lcd->buffer[5] = val >> 8; in ltv350qv_write_reg() 63 lcd->buffer[6] = val; in ltv350qv_write_reg() [all …]
|
| D | ili9320.c | 3 * ILI9320 LCD controller driver core. 18 #include <linux/lcd.h> 78 static void ili9320_reset(struct ili9320 *lcd) in ili9320_reset() argument 80 struct ili9320_platdata *cfg = lcd->platdata; in ili9320_reset() 92 static inline int ili9320_init_chip(struct ili9320 *lcd) in ili9320_init_chip() argument 96 ili9320_reset(lcd); in ili9320_init_chip() 98 ret = lcd->client->init(lcd, lcd->platdata); in ili9320_init_chip() 100 dev_err(lcd->dev, "failed to initialise display\n"); in ili9320_init_chip() 104 lcd->initialised = 1; in ili9320_init_chip() 108 static inline int ili9320_power_on(struct ili9320 *lcd) in ili9320_power_on() argument [all …]
|
| D | ams369fg06.c | 2 * ams369fg06 AMOLED LCD panel driver. 19 #include <linux/lcd.h> 163 static int ams369fg06_spi_write_byte(struct ams369fg06 *lcd, int addr, int data) in ams369fg06_spi_write_byte() argument 178 return spi_sync(lcd->spi, &msg); in ams369fg06_spi_write_byte() 181 static int ams369fg06_spi_write(struct ams369fg06 *lcd, unsigned char address, in ams369fg06_spi_write() argument 187 ret = ams369fg06_spi_write_byte(lcd, 0x70, address); in ams369fg06_spi_write() 189 ret = ams369fg06_spi_write_byte(lcd, 0x72, command); in ams369fg06_spi_write() 194 static int ams369fg06_panel_send_sequence(struct ams369fg06 *lcd, in ams369fg06_panel_send_sequence() argument 201 ret = ams369fg06_spi_write(lcd, wbuf[i], wbuf[i+1]); in ams369fg06_panel_send_sequence() 213 static int _ams369fg06_gamma_ctl(struct ams369fg06 *lcd, in _ams369fg06_gamma_ctl() argument [all …]
|
| D | ld9040.c | 2 * ld9040 AMOLED LCD panel driver. 21 #include <linux/lcd.h> 57 static void ld9040_regulator_enable(struct ld9040 *lcd) in ld9040_regulator_enable() argument 62 pd = lcd->lcd_pd; in ld9040_regulator_enable() 63 mutex_lock(&lcd->lock); in ld9040_regulator_enable() 64 if (!lcd->enabled) { in ld9040_regulator_enable() 69 lcd->enabled = true; in ld9040_regulator_enable() 73 mutex_unlock(&lcd->lock); in ld9040_regulator_enable() 76 static void ld9040_regulator_disable(struct ld9040 *lcd) in ld9040_regulator_disable() argument 80 mutex_lock(&lcd->lock); in ld9040_regulator_disable() [all …]
|
| D | s6e63m0.c | 2 * S6E63M0 AMOLED LCD panel driver. 6 * Derived from drivers/video/omap/lcd-apollon.c 21 #include <linux/lcd.h> 357 static int s6e63m0_spi_write_byte(struct s6e63m0 *lcd, int addr, int data) in s6e63m0_spi_write_byte() argument 372 return spi_sync(lcd->spi, &msg); in s6e63m0_spi_write_byte() 375 static int s6e63m0_spi_write(struct s6e63m0 *lcd, unsigned char address, in s6e63m0_spi_write() argument 381 ret = s6e63m0_spi_write_byte(lcd, 0x0, address); in s6e63m0_spi_write() 383 ret = s6e63m0_spi_write_byte(lcd, 0x1, command); in s6e63m0_spi_write() 388 static int s6e63m0_panel_send_sequence(struct s6e63m0 *lcd, in s6e63m0_panel_send_sequence() argument 395 ret = s6e63m0_spi_write(lcd, wbuf[i], wbuf[i+1]); in s6e63m0_panel_send_sequence() [all …]
|
| D | tdo24m.c | 2 * tdo24m - SPI-based drivers for Toppoly TDO24M series LCD panels 19 #include <linux/lcd.h> 36 int (*adj_mode)(struct tdo24m *lcd, int mode); 178 static int tdo24m_writes(struct tdo24m *lcd, const uint32_t *array) in tdo24m_writes() argument 180 struct spi_transfer *x = &lcd->xfer; in tdo24m_writes() 186 if (!lcd->color_invert && *p == CMD0(0x21)) in tdo24m_writes() 194 lcd->buf[0] = (data >> 8) & 0xff; in tdo24m_writes() 195 lcd->buf[1] = data & 0xff; in tdo24m_writes() 198 lcd->buf[0] = (data >> 16) & 0xff; in tdo24m_writes() 199 lcd->buf[1] = (data >> 8) & 0xff; in tdo24m_writes() [all …]
|
| D | lms501kf03.c | 2 * lms501kf03 TFT LCD panel driver. 17 #include <linux/lcd.h> 116 static int lms501kf03_spi_write_byte(struct lms501kf03 *lcd, int addr, int data) in lms501kf03_spi_write_byte() argument 131 return spi_sync(lcd->spi, &msg); in lms501kf03_spi_write_byte() 134 static int lms501kf03_spi_write(struct lms501kf03 *lcd, unsigned char address, in lms501kf03_spi_write() argument 137 return lms501kf03_spi_write_byte(lcd, address, command); in lms501kf03_spi_write() 140 static int lms501kf03_panel_send_sequence(struct lms501kf03 *lcd, in lms501kf03_panel_send_sequence() argument 148 ret = lms501kf03_spi_write(lcd, COMMAND_ONLY, wbuf[i]); in lms501kf03_panel_send_sequence() 150 ret = lms501kf03_spi_write(lcd, DATA_ONLY, wbuf[i]); in lms501kf03_panel_send_sequence() 159 static int lms501kf03_ldi_init(struct lms501kf03 *lcd) in lms501kf03_ldi_init() argument [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/display/panel/ |
| D | panel-simple.yaml | 32 # Ampire AM-1280800N3TZQW-T00H 10.1" WQVGA TFT LCD panel 34 # Ampire AM-480272H3TMQW-T01H 4.3" WQVGA TFT LCD panel 36 # Ampire AM-800480R3TMQW-A1H 7.0" WVGA TFT LCD panel 38 # AU Optronics Corporation 10.1" WSVGA TFT LCD panel 40 # AU Optronics Corporation 10.1" WSVGA TFT LCD panel 42 # AU Optronics Corporation 10.1" WXGA TFT LCD panel 44 # AUO B116XAK01 eDP TFT LCD panel 46 # AU Optronics Corporation 11.6" HD (1366x768) color TFT-LCD panel 48 # AU Optronics Corporation 13.3" FHD (1920x1080) color TFT-LCD panel 50 # AU Optronics Corporation 13.3" WXGA (1366x768) TFT LCD panel [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/panel/ |
| 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 …]
|
| 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 …]
|
| D | panel-tpo-td028ttec1.c | 94 jbt_ret_write_0(struct td028ttec1_panel *lcd, u8 reg, int *err) in jbt_ret_write_0() argument 96 struct spi_device *spi = lcd->spi; in jbt_ret_write_0() 114 jbt_reg_write_1(struct td028ttec1_panel *lcd, in jbt_reg_write_1() argument 117 struct spi_device *spi = lcd->spi; in jbt_reg_write_1() 138 jbt_reg_write_2(struct td028ttec1_panel *lcd, in jbt_reg_write_2() argument 141 struct spi_device *spi = lcd->spi; in jbt_reg_write_2() 164 struct td028ttec1_panel *lcd = to_td028ttec1_device(panel); in td028ttec1_prepare() local 170 jbt_ret_write_0(lcd, 0x00, &ret); in td028ttec1_prepare() 175 jbt_reg_write_1(lcd, JBT_REG_POWER_ON_OFF, 0x17, &ret); in td028ttec1_prepare() 178 jbt_reg_write_1(lcd, JBT_REG_DISPLAY_MODE, 0x80, &ret); in td028ttec1_prepare() [all …]
|
| D | panel-olimex-lcd-olinuxino.c | 3 * LCD-OLinuXino support for panel driver 83 struct lcd_olinuxino *lcd = to_lcd_olinuxino(panel); in lcd_olinuxino_disable() local 85 if (!lcd->enabled) in lcd_olinuxino_disable() 88 lcd->enabled = false; in lcd_olinuxino_disable() 95 struct lcd_olinuxino *lcd = to_lcd_olinuxino(panel); in lcd_olinuxino_unprepare() local 97 if (!lcd->prepared) in lcd_olinuxino_unprepare() 100 gpiod_set_value_cansleep(lcd->enable_gpio, 0); in lcd_olinuxino_unprepare() 101 regulator_disable(lcd->supply); in lcd_olinuxino_unprepare() 103 lcd->prepared = false; in lcd_olinuxino_unprepare() 110 struct lcd_olinuxino *lcd = to_lcd_olinuxino(panel); in lcd_olinuxino_prepare() local [all …]
|
| 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 …]
|
| /kernel/linux/linux-5.10/drivers/auxdisplay/ |
| 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 …]
|
| D | charlcd.c | 3 * Character LCD driver for Linux 38 /* LCD commands */ 62 #define LCD_ESCAPE_LEN 24 /* Max chars for LCD escape command */ 66 struct charlcd lcd; member 74 /* contains the LCD config state */ 77 /* Contains the LCD X and Y offset */ 92 #define charlcd_to_priv(p) container_of(p, struct charlcd_priv, lcd) 104 static void charlcd_backlight(struct charlcd *lcd, int on) in charlcd_backlight() argument 106 struct charlcd_priv *priv = charlcd_to_priv(lcd); in charlcd_backlight() 108 if (!lcd->ops->backlight) in charlcd_backlight() [all …]
|
| /kernel/linux/linux-4.19/drivers/auxdisplay/ |
| 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 …]
|
| D | charlcd.c | 3 * Character LCD driver for Linux 40 /* LCD commands */ 64 #define LCD_ESCAPE_LEN 24 /* Max chars for LCD escape command */ 68 struct charlcd lcd; member 76 /* contains the LCD config state */ 79 /* Contains the LCD X and Y offset */ 94 #define to_priv(p) container_of(p, struct charlcd_priv, lcd) 106 static void charlcd_backlight(struct charlcd *lcd, int on) in charlcd_backlight() argument 108 struct charlcd_priv *priv = to_priv(lcd); in charlcd_backlight() 110 if (!lcd->ops->backlight) in charlcd_backlight() [all …]
|
| /kernel/linux/linux-4.19/drivers/staging/fbtft/ |
| D | Kconfig | 2 tristate "Support for small TFT LCD display modules" 13 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" 25 tristate "FB driver for the HX8340BN LCD Controller" 31 tristate "FB driver for the HX8347D LCD Controller" 37 tristate "FB driver for the HX8353D LCD Controller" 43 tristate "FB driver for the HX8357D LCD Controller" 49 tristate "FB driver for the ILI9163 LCD Controller" 55 tristate "FB driver for the ILI9320 LCD Controller" [all …]
|