1. Quick & Dirty Method
- Download and unpack this Android 9.0 MIPI Firmware, made by GoEnjoy.
- Then install the RockChip USB Drivers, and plug in your Edge / Edge-V into your PC via USB-C cable.
- Reflash the firmware using these USB Upgrade Instructions, and reboot your Edge.
- If you run into trouble, first press “Switch”, then “EraseFlash”, then “Upgrade”, in that order.
2. Brief Introduction
Edge-V has three display interfaces: HDMI + MIPI + EDP. The position of the interfaces are shown below:
Edge has two LCD screen interfaces: HDMI + DP. The position of the interfaces are shown below:
Captain has two LCD screen interfaces:EDP + MIPI. The position of the interfaces are shown below:
3. (HDMI + DP) Screen Config
3.1 Configure DTS
rk3399-khadas-edge.dtsi, for example: HDMI (Main Display) + DP (Secondary Display)
3.1.1 Enable Corresponding Display Device Nodes
1 | &hdmi { |
3.1.2 Binding VOP
The RK3399 platform has two VOPs: vopb (Supports 4K), and vopl (Supports 2K). When the display device node opens, the ports corresponding to vopb and vopl will be opened, and the unused VOP will need to be turned off.
1 | &hdmi_in_vopb { |
3.1.3 Boot Logo
If the uboot logo is not turned on, the kernel boot-stage cannot display the boot logo, and it can only be seen after Android boots. In dts, it is possible to turn on uboot logo support by setting the corresponding routes; such as enabling the uboot logo to be displayed via HDMI:
1 | &route_hdmi { |
3.1.4 Binding PLL
The VOP clock bound by the HDMI of rk3399 needs to be mounted on the vpll. If the dual display requires another VOP clock on the cpll, the frequency of any DCLK can be distinguished.
For example, when HDMI is bound to vopb:
1 | &vopb { |
And when HDMI is bound to vopl:
1 | &vopb { |
3.1.5 Turning On Audio Output
1 | &dp_sound { |
3.2 Main and Secondary Display Config
android 9.0 Config
device/rockchip/rk3399/rk3399.mk
1 | PRODUCT_PROPERTY_OVERRIDES += \ |
android 7.1 Config
device/rockchip/rk3399/rk3399_all.mk
1 | PRODUCT_PROPERTY_OVERRIDES += \ |
4. (MIPI + HDMI) Screen Config
4.1 Configuring DTS
rk3399-khadas-edge-mipi-android.dtsi, for example: MIPI (Main Display) + HDMI (Secondary Display).
4.1.1 Enable Corresponding Display Device Nodes
1 | &hdmi { |
4.1.2 Binding VOP
RK3399 platform has two VOP: vopb (Supports 4K) and vopl (Support 2K only). When the display device node opens, the ports corresponding to vopb and vopl will be opened, and the unused VOP will need to be turned off.
1 | &dp_in_vopl { |
4.1.3 Boot Logo
If the uboot logo is not turned on, the kernel booting stage cannot display the boot logo, and it can only be seen after Android boots. In dts, it is possible to turn on uboot logo support by setting the corresponding routes, such as enabling the uboot logo to be displayed via HDMI:
1 | &route_hdmi { |
4.1.4 Binding PLL
The VOP clock bound by the HDMI of rk3399 needs to be mounted on the vpll. If the dual display requires another VOP clock on the cpll, the frequency of any DCLK can be distinguished.
For example, when HDMI is bound to vopb:
1 | &vopb { |
Configure when HDMI is bound to vopl:
1 | &vopb { |
4.1.5 Turning On Audio Output
1 | &dp_sound { |
4.1.6 Configure Timing
1 | &dsi { |
- Timing Attribute Reference Figure
4.1.7 Command Format Description
1 | panel-exit-sequence = [ |
The first three bytes of a command represent the command type, delay, and command payload length, respectively. , A valid payload for the command, starts with the fourth byte. The number of bytes comprising the payload needs to be equal to the command payload length (third byte).
The first byte represents two types of commands: DCS command and Generic command. The DCS command is a command specified in the MIPI standard protocol, specifically referred to as “MIPI Alliance Specification for Display Command Set.pdf”. Generic commands are generally applied to manufacturer-defined commands. Specific use of which type requires reference to screen specifications or consulting your screen factory FAE. If not specified, it is recommended to configure it according to the DCS command type.
There are three types of DCS commands: 0x05/0x15/0x39. Generic commands are classified into: 0x03/0x13/0x23/0x29.
4.1.8 Backlight
1 | &backlight { |
PWM Attributes: The PWM output used by the MIPI screen is pwm1, and the cycle frequency is 40 KHz (25 000 nano-seconds).
4.2 Main and Secondary Display Config
android 9.0 Config
device/rockchip/rk3399/rk3399.mk
1 | PRODUCT_PROPERTY_OVERRIDES += \ |
android 7.1 Config
device/rockchip/rk3399/rk3399_all.mk
1 | PRODUCT_PROPERTY_OVERRIDES += \ |
5.(HDMI or DP + MIPI)Screen Config
HDMI or DP + MIPI: This means compatible with HDMI(Main Display) + MIPI (Secondary Display) or DP(Main Display) + MIPI (Secondary Display), but does not support HDMI + DP at the same time.
5.1 Configuring DTS
android 9.0 Config
See DTS below for more details on the previous two chapters:
rk3399-khadas-edge-android.dts
5.2 Main and Secondary Display Config
android 9.0 Config
device/rockchip/rk3399/rk3399.mk
1 | PRODUCT_PROPERTY_OVERRIDES += \ |