Lines Matching full:spi
22 #include <linux/spi/spi.h>
23 #include <linux/spi/l4f00242t03.h>
26 struct spi_device *spi; member
46 static void l4f00242t03_lcd_init(struct spi_device *spi) in l4f00242t03_lcd_init() argument
48 struct l4f00242t03_pdata *pdata = dev_get_platdata(&spi->dev); in l4f00242t03_lcd_init()
49 struct l4f00242t03_priv *priv = spi_get_drvdata(spi); in l4f00242t03_lcd_init()
53 dev_dbg(&spi->dev, "initializing LCD\n"); in l4f00242t03_lcd_init()
57 dev_err(&spi->dev, "failed to set the IO regulator voltage.\n"); in l4f00242t03_lcd_init()
62 dev_err(&spi->dev, "failed to enable the IO regulator.\n"); in l4f00242t03_lcd_init()
68 dev_err(&spi->dev, "failed to set the core regulator voltage.\n"); in l4f00242t03_lcd_init()
74 dev_err(&spi->dev, "failed to enable the core regulator.\n"); in l4f00242t03_lcd_init()
83 spi_write(spi, (const u8 *)cmd, ARRAY_SIZE(cmd) * sizeof(u16)); in l4f00242t03_lcd_init()
86 static void l4f00242t03_lcd_powerdown(struct spi_device *spi) in l4f00242t03_lcd_powerdown() argument
88 struct l4f00242t03_pdata *pdata = dev_get_platdata(&spi->dev); in l4f00242t03_lcd_powerdown()
89 struct l4f00242t03_priv *priv = spi_get_drvdata(spi); in l4f00242t03_lcd_powerdown()
91 dev_dbg(&spi->dev, "Powering down LCD\n"); in l4f00242t03_lcd_powerdown()
109 struct spi_device *spi = priv->spi; in l4f00242t03_lcd_power_set() local
121 dev_dbg(&spi->dev, "Resuming LCD\n"); in l4f00242t03_lcd_power_set()
123 spi_write(spi, (const u8 *)&slpout, sizeof(u16)); in l4f00242t03_lcd_power_set()
125 spi_write(spi, (const u8 *)&dison, sizeof(u16)); in l4f00242t03_lcd_power_set()
128 l4f00242t03_lcd_init(spi); in l4f00242t03_lcd_power_set()
135 dev_dbg(&spi->dev, "Standby the LCD\n"); in l4f00242t03_lcd_power_set()
137 spi_write(spi, (const u8 *)&disoff, sizeof(u16)); in l4f00242t03_lcd_power_set()
139 spi_write(spi, (const u8 *)&slpin, sizeof(u16)); in l4f00242t03_lcd_power_set()
144 l4f00242t03_lcd_init(spi); in l4f00242t03_lcd_power_set()
152 spi_write(spi, (const u8 *)&disoff, sizeof(u16)); in l4f00242t03_lcd_power_set()
154 l4f00242t03_lcd_powerdown(spi); in l4f00242t03_lcd_power_set()
168 static int l4f00242t03_probe(struct spi_device *spi) in l4f00242t03_probe() argument
171 struct l4f00242t03_pdata *pdata = dev_get_platdata(&spi->dev); in l4f00242t03_probe()
175 dev_err(&spi->dev, "Uninitialized platform data.\n"); in l4f00242t03_probe()
179 priv = devm_kzalloc(&spi->dev, sizeof(struct l4f00242t03_priv), in l4f00242t03_probe()
184 spi_set_drvdata(spi, priv); in l4f00242t03_probe()
185 spi->bits_per_word = 9; in l4f00242t03_probe()
186 spi_setup(spi); in l4f00242t03_probe()
188 priv->spi = spi; in l4f00242t03_probe()
190 ret = devm_gpio_request_one(&spi->dev, pdata->reset_gpio, in l4f00242t03_probe()
193 dev_err(&spi->dev, in l4f00242t03_probe()
198 ret = devm_gpio_request_one(&spi->dev, pdata->data_enable_gpio, in l4f00242t03_probe()
201 dev_err(&spi->dev, in l4f00242t03_probe()
206 priv->io_reg = devm_regulator_get(&spi->dev, "vdd"); in l4f00242t03_probe()
208 dev_err(&spi->dev, "%s: Unable to get the IO regulator\n", in l4f00242t03_probe()
213 priv->core_reg = devm_regulator_get(&spi->dev, "vcore"); in l4f00242t03_probe()
215 dev_err(&spi->dev, "%s: Unable to get the core regulator\n", in l4f00242t03_probe()
220 priv->ld = devm_lcd_device_register(&spi->dev, "l4f00242t03", &spi->dev, in l4f00242t03_probe()
226 l4f00242t03_lcd_init(spi); in l4f00242t03_probe()
230 dev_info(&spi->dev, "Epson l4f00242t03 lcd probed.\n"); in l4f00242t03_probe()
235 static int l4f00242t03_remove(struct spi_device *spi) in l4f00242t03_remove() argument
237 struct l4f00242t03_priv *priv = spi_get_drvdata(spi); in l4f00242t03_remove()
243 static void l4f00242t03_shutdown(struct spi_device *spi) in l4f00242t03_shutdown() argument
245 struct l4f00242t03_priv *priv = spi_get_drvdata(spi); in l4f00242t03_shutdown()