Lines Matching refs:spi
47 struct spi_device *spi; member
61 static int lb035q02_write_reg(struct spi_device *spi, u8 reg, u16 val) in lb035q02_write_reg() argument
89 return spi_sync(spi, &msg); in lb035q02_write_reg()
92 static void init_lb035q02_panel(struct spi_device *spi) in init_lb035q02_panel() argument
95 lb035q02_write_reg(spi, 0x01, 0x6300); in init_lb035q02_panel()
96 lb035q02_write_reg(spi, 0x02, 0x0200); in init_lb035q02_panel()
97 lb035q02_write_reg(spi, 0x03, 0x0177); in init_lb035q02_panel()
98 lb035q02_write_reg(spi, 0x04, 0x04c7); in init_lb035q02_panel()
99 lb035q02_write_reg(spi, 0x05, 0xffc0); in init_lb035q02_panel()
100 lb035q02_write_reg(spi, 0x06, 0xe806); in init_lb035q02_panel()
101 lb035q02_write_reg(spi, 0x0a, 0x4008); in init_lb035q02_panel()
102 lb035q02_write_reg(spi, 0x0b, 0x0000); in init_lb035q02_panel()
103 lb035q02_write_reg(spi, 0x0d, 0x0030); in init_lb035q02_panel()
104 lb035q02_write_reg(spi, 0x0e, 0x2800); in init_lb035q02_panel()
105 lb035q02_write_reg(spi, 0x0f, 0x0000); in init_lb035q02_panel()
106 lb035q02_write_reg(spi, 0x16, 0x9f80); in init_lb035q02_panel()
107 lb035q02_write_reg(spi, 0x17, 0x0a0f); in init_lb035q02_panel()
108 lb035q02_write_reg(spi, 0x1e, 0x00c1); in init_lb035q02_panel()
109 lb035q02_write_reg(spi, 0x30, 0x0300); in init_lb035q02_panel()
110 lb035q02_write_reg(spi, 0x31, 0x0007); in init_lb035q02_panel()
111 lb035q02_write_reg(spi, 0x32, 0x0000); in init_lb035q02_panel()
112 lb035q02_write_reg(spi, 0x33, 0x0000); in init_lb035q02_panel()
113 lb035q02_write_reg(spi, 0x34, 0x0707); in init_lb035q02_panel()
114 lb035q02_write_reg(spi, 0x35, 0x0004); in init_lb035q02_panel()
115 lb035q02_write_reg(spi, 0x36, 0x0302); in init_lb035q02_panel()
116 lb035q02_write_reg(spi, 0x37, 0x0202); in init_lb035q02_panel()
117 lb035q02_write_reg(spi, 0x3a, 0x0a0d); in init_lb035q02_panel()
118 lb035q02_write_reg(spi, 0x3b, 0x0806); in init_lb035q02_panel()
134 init_lb035q02_panel(ddata->spi); in lb035q02_connect()
243 static int lb035q02_probe_pdata(struct spi_device *spi) in lb035q02_probe_pdata() argument
246 struct panel_drv_data *ddata = dev_get_drvdata(&spi->dev); in lb035q02_probe_pdata()
250 pdata = dev_get_platdata(&spi->dev); in lb035q02_probe_pdata()
254 dev_err(&spi->dev, "failed to find video source '%s'\n", in lb035q02_probe_pdata()
266 r = devm_gpio_request_one(&spi->dev, pdata->enable_gpio, in lb035q02_probe_pdata()
281 static int lb035q02_probe_of(struct spi_device *spi) in lb035q02_probe_of() argument
283 struct device_node *node = spi->dev.of_node; in lb035q02_probe_of()
284 struct panel_drv_data *ddata = dev_get_drvdata(&spi->dev); in lb035q02_probe_of()
288 gpio = devm_gpiod_get(&spi->dev, "enable", GPIOD_OUT_LOW); in lb035q02_probe_of()
290 dev_err(&spi->dev, "failed to parse enable gpio\n"); in lb035q02_probe_of()
300 dev_err(&spi->dev, "failed to find video source\n"); in lb035q02_probe_of()
309 static int lb035q02_panel_spi_probe(struct spi_device *spi) in lb035q02_panel_spi_probe() argument
315 ddata = devm_kzalloc(&spi->dev, sizeof(*ddata), GFP_KERNEL); in lb035q02_panel_spi_probe()
319 dev_set_drvdata(&spi->dev, ddata); in lb035q02_panel_spi_probe()
321 ddata->spi = spi; in lb035q02_panel_spi_probe()
323 if (dev_get_platdata(&spi->dev)) { in lb035q02_panel_spi_probe()
324 r = lb035q02_probe_pdata(spi); in lb035q02_panel_spi_probe()
327 } else if (spi->dev.of_node) { in lb035q02_panel_spi_probe()
328 r = lb035q02_probe_of(spi); in lb035q02_panel_spi_probe()
336 r = devm_gpio_request_one(&spi->dev, ddata->backlight_gpio, in lb035q02_panel_spi_probe()
345 dssdev->dev = &spi->dev; in lb035q02_panel_spi_probe()
354 dev_err(&spi->dev, "Failed to register panel\n"); in lb035q02_panel_spi_probe()
366 static int lb035q02_panel_spi_remove(struct spi_device *spi) in lb035q02_panel_spi_remove() argument
368 struct panel_drv_data *ddata = dev_get_drvdata(&spi->dev); in lb035q02_panel_spi_remove()