the bmp file has been processed when reserved equals BMP_PROCESSED_FLAG
Change-Id: I793582cdd4ee5ee2a774c7a0dee8d36c81ed4f4c
Signed-off-by: Shixiang Zheng <shixiang.zheng@rock-chips.com>
This imports drivers/gpu/drm/drm_mipi_dsi.c from Linux kernel 4.9.
It can be very helpful when porting Linux mipi dsi driver to U-Boot.
DSI hosts expose operations which can be used by DSI peripheral drivers
to access associated devices.
Change-Id: Iccfa9d946f33458867f4d4db0ce04aeb1918e855
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
This patch adds eDP software reset operation to make sure
register access successfully on RK3288 and it fixes possible
register default value abnormal issue during boot up.
1) normal case:
Rockchip UBOOT DRM driver version: v1.0.1
0x120: 0x00000007
0x390: 0x00000003
Using display timing dts
Detailed mode clock 200000 kHz, flags[a]
H: 1536 1548 1564 1612
V: 2048 2056 2060 2068
bus_format: 100e
Link Training success!
final link rate = 0x06, lane count = 0x04
2) abnormal case:
Rockchip UBOOT DRM driver version: v1.0.1
0x120: 0x00000066
0x390: 0x00000202
Using display timing dts
Detailed mode clock 200000 kHz, flags[a]
H: 1536 1548 1564 1612
V: 2048 2056 2060 2068
bus_format: 100e
failed to get Rx Max Link Rate
failed to init training
unable to do link train
Change-Id: Idacbb0c72a40442da3a87e60bfe1d9965f3ca79c
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: Ib2cfdf413e3c4da039a16971fcc00baaab3b101c
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
(sync from rk/kernel:develop-4.4:331690a183f536fe8a791ceed4231f7e484f8fb7)
Change-Id: I2b750800859626f3d95ebe6b1b8a3d86aefc07d1
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
(sync from rk/kernel:develop-4.4:3ef4c2204f9be3f0877333b5d35ab11e322ed90d)
Change-Id: If8670bee99c1397647323b34acd3e3da028549c3
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
(sync from rk/kernel:develop-4.4:bd920c36fc56d00a24d3688510c84c62d7921c6a)
Change-Id: I1f48f5d13d772ee8c3c71ee40f122811d687bcc6
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
(sync from rk/kernel:develop-4.4:1df398e95a19c472ac847ced671175f147a043ad)
Change-Id: I8521fa8aa8b1ba11888dd506f238e6e6c2d7ad39
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
(sync from rk/kernel:develop-4.4:2c659c75a6fb5fc99279a8d4e64b222d0158e77b)
if miss this commit will appear hdmi display abnormal at
some TV.
Change-Id: I86f1425135ccf5fb53c0373ad6d070e1f6efe66d
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
The video phy of px30/rk3128/rk3288/rk3368 is now supported by
inno_video_combo_phy.c/inno_video_phy.c in directory drviers/video/drm.
Change-Id: I5471de3aa7c43fbf379b4313f158038145ab36c1
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Innosilicon LVDS/TTL PHY implements LVDS TIA/EIA protocol.
Normally, Innosilicon LVDS/TTL PHY contains four 7-bit
parallel-load serial-out shift registers, a 7X clock PLL,
and five Low-Voltage Differential Signaling (LVDS) line drivers
in a single integrated circuit. These functions allow 28 bits
of single-ended LVTTL data to be synchronously transmitted over
five balanced-pair conductors for receipt by a compatible receiver.
In addition, Innosilicon LVDS/TTL PHY could extend from 4 lanes
to N lanes (N is required by the customer). Therefore, the TTL
lines extend respectively.
Change-Id: I2b6b9cccd88c8ca89ef5f45e964e9eb936777ffc
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
The mipi dphy driver of px30/rk3128/rk3368 is now supported
by inno_video_combo_phy.c.
Change-Id: I1194fa3093cb2bac1cb75ccf1266c7bd4dd68867
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
The Innosilicon Video Combo PHY not only supports MIPI DSI,
but also LVDS and TTL functions with small die size and low
pin count. Customers can choose according to their own applications.
Change-Id: I45bfb63014ddc1df0931ae573894e14aec8dc461
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
This patch adds generic PHY modes to the phy_mode enum, to
allow configuring generic PHYs to the MIPI/LVDS/TTL mode by
using the set_mode callback.
Change-Id: I28c5cdf905026b246f928eb8f75a212408df281b
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
PX30 vopb have win0, win1 and win2 layers.the formats they support below:
Win0: XR24 AR24 XB24 AB24 RG24 BG24 RG16 BG16 NV12 NV16 NV24 NA12 NA16 NA24
Win1/2: XR24 AR24 XB24 AB24 RG24 BG24 RG16 BG16
Only the win0 layer support NV12 format(video decode format).
So change to use win0 for video overlay layer and win1 for ui layer.
Change-Id: I4cb0b6e46a8f9d34231b776d795e415a7fe7fe6a
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
Silence debug messages if the panel/phy does not exist.
Change-Id: Ifa027017e9aa9af54992e26f2bbde7048b22bb04
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Use the rockchip_bridge_funcs instead of the video_bridge_ops so that
anx6345 device can work on the rockchip platform.
Change-Id: I3ded401816ba8347bddfedcae8aacab4667df2af
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
RK618 is a partner chip for Rockchip mobile application processor.
RK618 includes two RGB display input interface with double data rate.
With the internal MUX function, it can output 1080P HDMI signal to
TV and output RGB/LVDS/MIPI signal to TFT panel. In this case, RK618
can support dual panel (TV and TFT) display.
Change-Id: I566b161211e6662f73e5de2b14fb20b33e8e57ef
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
The current implementation assumes that the only possible peripheral
device is a panel. Using an output bridge device should also be possible.
Such sequence is required by Rockchip RK618 bridge, which is a RGB
peripheral bridge device.
Change-Id: I3e4e5e9e23c8ed7c74ed1276946b7b54f4cd5ee8
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
This allows the panel on child nodes of the dsi node can be binded.
Change-Id: I6d5ae71cd10afa2bc100955847b301f0279a0ee2
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
This is a eDP bridge similar to ANX9804, it allows to connect eDP panels
to the chips that can output only parallel signal
Change-Id: I35dbe3ea1c8868420fce58279e877a0641903b94
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
[agust: fixed most checkpatch errors/warnings]
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
(cherry-picked from 491041c74965275defd2749db0e2248b2a7e317a)
Inspired by the following kernel commit:
"commit 90fda63fa1156ec1bcfd7f9ca384cec221f70a21
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date: Sat Apr 7 13:31:23 2018 -0700
treewide: fix up files incorrectly marked executable
Joe Perches noted that we have a few source files that for some
inexplicable reason (read: I'm too lazy to even go look at the history)
are marked executable:
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c
drivers/net/ethernet/cadence/macb_ptp.c
A simple git command line to show executable C/asm/header files is this:
git ls-files -s '*.[chsS]' | grep '^100755'
and then you can fix them up with scripting by just feeding that output
into:
| cut -f2 | xargs chmod -x
and commit it.
Which is exactly what this commit does.
Reported-by: Joe Perches <joe@perches.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>"
Do the same in the U-Boot source tree.
Change-Id: Ie086d3ab3b393097a9dd6c041546296a16eee2dc
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
(cherry-picked from 02325c7bfd7ccafae600774273f1b8ac11e90c08)
This header will be used in anx6345 driver
Change-Id: Ib6beea5f2d063d7bfb5054f24d5098ee7e0a42ca
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
[agust: moved header to drivers/video]
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
(cherry-picked from 24bf59d0243f0ee496b20aee985968729b8d0386)
Both GPIOs are optional, so we shouldn't fail if any is missing.
Without this fix reset is not deasserted if sleep GPIO is missing.
Change-Id: I25f2d11d7df96a4a93fcd844bcf34c3fb5109336
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Tested-by: Maxime Ripard <maxime.ripard@bootlin.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Cc: Vagrant Cascadian <vagrant@debian.org>
(cherry-picked from 8336a43792a103c13d939b3925cb75322911f7fb)
Add an operation to read EDID, since bridge may have ability to read
EDID from the panel that is connected to it, for example LCD<->eDP bridge.
Change-Id: I03b711cd3a138f83c896ef656ffc5171b30eee40
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
(cherry-picked from fdb5525572ec7dc240ccc960888ae969253fede4)
Thomas reported U-Boot failed to build host tools if libfdt-devel
package is installed because tools include libfdt headers from
/usr/include/ instead of using internal ones.
This commit moves the header code:
include/libfdt.h -> include/linux/libfdt.h
include/libfdt_env.h -> include/linux/libfdt_env.h
and replaces include directives:
#include <libfdt.h> -> #include <linux/libfdt.h>
#include <libfdt_env.h> -> #include <linux/libfdt_env.h>
Change-Id: I6c0f7e50e8b571106627f25ddac008a62bd2994e
Reported-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
We can use fdtdec_get_is_enabled() instead of fdt_device_is_available().
Change-Id: I7aa03ed82f83fc72206659889a4f7f095dc66b36
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>