From 2a994cbed6b244e7d37886481cb03f2d4043c1ec Mon Sep 17 00:00:00 2001 From: Nickey Yang Date: Tue, 30 Oct 2018 10:15:28 +0100 Subject: drm/panel: Add Kingdisplay KD097D04 panel driver Support Kingdisplay KD097D04 9.7" 1536x2048 TFT LCD panel, it is a MIPI dual-DSI panel. v4-resend: - Thierry noted missing dt-bindings for v4 but forgot that he already had applied them one kernel release back in https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ebc950fdff6d5f9250cd5a5a348af97f7d8508df v4: - address Philipp's comments - real range for usleep_range and - poweroff ordering in kingdisplay_panel_prepare - return value beautification in panel_probe - update author naming for full name v3: - address Thierry's comments - error handling for init dsi writes in init - unconditionally remove the panel - don't use drm_panel_detach - a bit of variable signednes wiggling - I did talk to ChromeOS people and the delays really should be as short as possible, so dropped the 100ms from the delay comments v2: - update timing + cmds from chromeos kernel - new backlight API including switch to devm_of_find_backlight - fix most of Sean Paul's comments enable/prepare tracking seems something all panels do - document origins of the init sequence - lanes per dsi interface to 4 (two interfaces). Matches how tegra and pending rockchip dual-dsi handle (dual-)dsi lanes - spdx header instead of license boilerplate Signed-off-by: Nickey Yang Signed-off-by: Heiko Stuebner Reviewed-by: Sean Paul Signed-off-by: Thierry Reding Link: https://patchwork.freedesktop.org/patch/msgid/20181030091528.28211-1-heiko@sntech.de --- drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c | 473 +++++++++++++++++++++ 1 file changed, 473 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c (limited to 'drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c') diff --git a/drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c b/drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c new file mode 100644 index 000000000000..2a25a914d09e --- /dev/null +++ b/drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c @@ -0,0 +1,473 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (c) 2017, Fuzhou Rockchip Electronics Co., Ltd + */ + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include