[U-Boot] [PATCH 6/7] LCD: support S6E8AX0 amoled driver based on EXYNOS MIPI DSI.
Anatolij Gustschin
agust at denx.de
Fri Apr 6 01:25:09 CEST 2012
Hi,
This patch looks pretty good, only a few comments below.
Please fix and I'll take a look and add by ACK then, so
that the patch can be merged through u-boot-samsung tree.
On Thu, 05 Apr 2012 15:29:32 +0900
Donghwa Lee <dh09.lee at samsung.com> wrote:
> This patch support S6E8AX0 amoled driver based on EXYNOS MIPI DSI interface.
>
> Signed-off-by: Donghwa Lee <dh09.lee at samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park at samsung.com>
> Signed-off-by: Inki Dae <inki.dae at samsung.com>
> ---
> drivers/video/s6e8ax0.c | 289 +++++++++++++++++++++++++++++++++++++++++++++++
> 1 files changed, 289 insertions(+), 0 deletions(-)
> create mode 100644 drivers/video/s6e8ax0.c
>
> diff --git a/drivers/video/s6e8ax0.c b/drivers/video/s6e8ax0.c
> new file mode 100644
> index 0000000..364e137
> --- /dev/null
> +++ b/drivers/video/s6e8ax0.c
...
> +#include <common.h>
> +#include <lcd.h>
> +#include <asm/errno.h>
Please drop lcd.h and asm/errno.h.
> +#include <asm/arch/dsim.h>
> +#include <asm/arch/mipi_dsim.h>
> +#include <asm/arch/power.h>
> +#include <asm/arch/cpu.h>
> +#include <linux/types.h>
> +#include <linux/list.h>
and also drop linux/types.h and linux/list.h.
> +
> +#include "exynos_mipi_dsi_lowlevel.h"
> +#include "exynos_mipi_dsi_common.h"
...
> +static void s6e8ax0_etc_power_control(struct mipi_dsim_device *dsim_dev)
> +{
> + struct mipi_dsim_master_ops *ops = dsim_dev->master_ops;
> + const unsigned char data_to_send[] = {
> + 0xf4, 0xcf, 0x0a, 0x12, 0x10, 0x19, 0x33, 0x02
> + };
> +
> + ops->cmd_write(dsim_dev, MIPI_DSI_DCS_LONG_WRITE,
> + (unsigned int)data_to_send, ARRAY_SIZE(data_to_send));
> +}
Please add an empty line here.
> +static void s6e8ax0_etc_mipi_control3(struct mipi_dsim_device *dsim_dev)
> +{
> + struct mipi_dsim_master_ops *ops = dsim_dev->master_ops;
Declaration and code should be separated, please add an empty line here.
> + ops->cmd_write(dsim_dev, MIPI_DSI_DCS_SHORT_WRITE_PARAM, 0xe3, 0x40);
> +}
> +
> +static void s6e8ax0_etc_mipi_control4(struct mipi_dsim_device *dsim_dev)
> +{
> + struct mipi_dsim_master_ops *ops = dsim_dev->master_ops;
> + const unsigned char data_to_send[] = {
> + 0xe4, 0x00, 0x00, 0x14, 0x80, 0x00, 0x00, 0x00
> + };
> +
> + ops->cmd_write(dsim_dev, MIPI_DSI_DCS_LONG_WRITE,
> + (unsigned int)data_to_send, ARRAY_SIZE(data_to_send));
> +}
...
> +static void s6e8ax0_display_on(struct mipi_dsim_device *dsim_dev)
> +{
> + struct mipi_dsim_master_ops *ops = dsim_dev->master_ops;
please add an empty line here.
> + ops->cmd_write(dsim_dev,
> + MIPI_DSI_DCS_SHORT_WRITE, 0x29, 0x00);
> +}
> +
> +static void s6e8ax0_sleep_out(struct mipi_dsim_device *dsim_dev)
> +{
> + struct mipi_dsim_master_ops *ops = dsim_dev->master_ops;
please add an empty line here.
> + ops->cmd_write(dsim_dev,
> + MIPI_DSI_DCS_SHORT_WRITE, 0x11, 0x00);
> +}
> +
...
> +static void s6e8ax0_panel_init(struct mipi_dsim_device *dsim_dev)
> +{
> + /*
> + * in case of setting gamma and panel condition at first,
> + * it shuold be setting like below.
> + * set_gamma() -> set_panel_condition()
> + */
> +
> + s6e8ax0_apply_level1_key(dsim_dev);
> + s6e8ax0_apply_mtp_key(dsim_dev);
> +
> + s6e8ax0_sleep_out(dsim_dev);
> + udelay(5 * 1000);
Please use mdelay(5);
Also as mentioned in comments to the patch 4/7, please extend this
patch to add COBJS-$(CONFIG_S6E8AX0) += s6e8ax0.o to the Makefile.
Thanks,
Anatolij
More information about the U-Boot
mailing list