drm/panel: s6e63m0: Implement reading from panel
This code was found in the Samsung vendor tree for the Samsung GT-I9070 mobile phone. Let's support reading before we implement the 3WIRE protocol for both reading and writing. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sam Ravnborg <sam@ravnborg.org> Cc: Stephan Gerhold <stephan@gerhold.net> Cc: Paweł Chmiel <pawel.mikolaj.chmiel@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/20201110234653.2248594-3-linus.walleij@linaro.org
This commit is contained in:
parent
49ef0c6d7d
commit
1b72ea1eaa
|
@ -13,13 +13,20 @@
|
||||||
|
|
||||||
static int s6e63m0_spi_dcs_read(struct device *dev, const u8 cmd, u8 *data)
|
static int s6e63m0_spi_dcs_read(struct device *dev, const u8 cmd, u8 *data)
|
||||||
{
|
{
|
||||||
/*
|
struct spi_device *spi = to_spi_device(dev);
|
||||||
* FIXME: implement reading DCS commands over SPI so we can
|
u16 buf[1];
|
||||||
* properly identify which physical panel is connected.
|
u16 rbuf[1];
|
||||||
*/
|
int ret;
|
||||||
*data = 0;
|
|
||||||
|
|
||||||
return 0;
|
/* SPI buffers are always in CPU order */
|
||||||
|
buf[0] = (u16)cmd;
|
||||||
|
ret = spi_write_then_read(spi, buf, 2, rbuf, 2);
|
||||||
|
dev_dbg(dev, "READ CMD: %04x RET: %04x\n", buf[0], rbuf[0]);
|
||||||
|
if (!ret)
|
||||||
|
/* These high 8 bits of the 9 contains the readout */
|
||||||
|
*data = (rbuf[0] & 0x1ff) >> 1;
|
||||||
|
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int s6e63m0_spi_write_word(struct device *dev, u16 data)
|
static int s6e63m0_spi_write_word(struct device *dev, u16 data)
|
||||||
|
|
Loading…
Reference in New Issue