[PATCH 0/4] rockchip: rk3399: Fix HDMI out

Due to recent Linux dts(i) sync for rk3399. the existing vop driver is not working with HDMI out on RK3399.
These patches fixing the same and enabled HDMI out new boards.
Any inputs? Jagan.
Jagan Teki (4): arm64: dts: rk3399-u-boot: Delete vop assigned-clocks/rates video: rockchip: Fix vop modes for rk3399 rockchip: Enable pre console for rk3399 rockchip: Enable HDMI output on rk3399 board w/ HDMI
arch/arm/dts/rk3399-u-boot.dtsi | 4 ++++ arch/arm/include/asm/arch-rockchip/vop_rk3288.h | 11 +++++++++++ arch/arm/mach-rockchip/Kconfig | 1 + common/Kconfig | 1 + configs/nanopc-t4-rk3399_defconfig | 6 ++++++ configs/nanopi-m4-rk3399_defconfig | 6 ++++++ configs/nanopi-neo4-rk3399_defconfig | 6 ++++++ configs/roc-pc-rk3399_defconfig | 6 ++++++ drivers/video/rockchip/rk3399_vop.c | 2 -- drivers/video/rockchip/rk_vop.c | 4 ++++ include/configs/evb_rk3399.h | 5 +++++ 11 files changed, 50 insertions(+), 2 deletions(-)

Linux supporting assigned-clocks for VOP on rk3399 by assuming U-Boot not initializing it on this linux commit:
commit <617f4472bdd3> ("arm64: dts: rockchip: init rk3399 vop clock rates")
There is no specific need to initialize these assigned clock in U-Boot as video drivers still work with default aclk and hclk values. So, these clocks are simply not supported by rk3399 clock driver.
But, during stdio probe of vidconsole, the device probe will try to check whether the assigned clocks on that video console node is initialized or not? and return error if not.
So, delete these property via -u-boot dtsi as there is no specific need in U-Boot.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com --- arch/arm/dts/rk3399-u-boot.dtsi | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/arch/arm/dts/rk3399-u-boot.dtsi b/arch/arm/dts/rk3399-u-boot.dtsi index 40240bbfc2..b8b20ed22d 100644 --- a/arch/arm/dts/rk3399-u-boot.dtsi +++ b/arch/arm/dts/rk3399-u-boot.dtsi @@ -64,9 +64,13 @@ };
&vopb { + /delete-property/ assigned-clocks; + /delete-property/ assigned-clock-rates; u-boot,dm-pre-reloc; };
&vopl { + /delete-property/ assigned-clocks; + /delete-property/ assigned-clock-rates; u-boot,dm-pre-reloc; };

VOP display endpoint pipeline configuration is differs between rk3288 vs rk3399.
These VOP pipeline configuration depends on how the different display interfaces connected in sequence to IN and OUT ports like for,
RK3288:
vopb_out: port { #address-cells = <1>; #size-cells = <0>; vopb_out_edp: endpoint@0 { reg = <0>; remote-endpoint = <&edp_in_vopb>; }; vopb_out_hdmi: endpoint@1 { reg = <1>; remote-endpoint = <&hdmi_in_vopb>; }; vopb_out_lvds: endpoint@2 { reg = <2>; remote-endpoint = <&lvds_in_vopb>; }; vopb_out_mipi: endpoint@3 { reg = <3>; remote-endpoint = <&mipi_in_vopb>; }; };
RK3399:
vopb_out: port { #address-cells = <1>; #size-cells = <0>; vopb_out_edp: endpoint@0 { reg = <0>; remote-endpoint = <&edp_in_vopb>; }; vopb_out_mipi: endpoint@1 { reg = <1>; remote-endpoint = <&mipi_in_vopb>; }; vopb_out_hdmi: endpoint@2 { reg = <2>; remote-endpoint = <&hdmi_in_vopb>; }; vopb_out_mipi1: endpoint@3 { reg = <3>; remote-endpoint = <&mipi1_in_vopb>; }; vopb_out_dp: endpoint@4 { reg = <4>; remote-endpoint = <&dp_in_vopb>; }; };
here, HDMI interface has endpoint 1 in rk3288 and 2 in rk3399.
The rockchip vop driver often depends on this determined endpoint number and stored in vop_mode. So based on this vop_mode the bpp and pin polarity would configure on detected display interface.
Since, the existing driver using rk3288 vop mode settings enabling the same will result wrong display interface configuration for rk3399.
Add the patch for fixing these vop modes for rk3399.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com --- arch/arm/include/asm/arch-rockchip/vop_rk3288.h | 11 +++++++++++ drivers/video/rockchip/rk3399_vop.c | 2 -- drivers/video/rockchip/rk_vop.c | 4 ++++ 3 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/arch/arm/include/asm/arch-rockchip/vop_rk3288.h b/arch/arm/include/asm/arch-rockchip/vop_rk3288.h index 8398249509..872a158b71 100644 --- a/arch/arm/include/asm/arch-rockchip/vop_rk3288.h +++ b/arch/arm/include/asm/arch-rockchip/vop_rk3288.h @@ -85,6 +85,16 @@ enum { LB_RGB_1280X8 = 0x5 };
+#if defined(CONFIG_ROCKCHIP_RK3399) +enum vop_modes { + VOP_MODE_EDP = 0, + VOP_MODE_MIPI, + VOP_MODE_HDMI, + VOP_MODE_MIPI1, + VOP_MODE_DP, + VOP_MODE_NONE, +}; +#else enum vop_modes { VOP_MODE_EDP = 0, VOP_MODE_HDMI, @@ -94,6 +104,7 @@ enum vop_modes { VOP_MODE_AUTO_DETECT, VOP_MODE_UNKNOWN, }; +#endif
/* VOP_VERSION_INFO */ #define M_FPGA_VERSION (0xffff << 16) diff --git a/drivers/video/rockchip/rk3399_vop.c b/drivers/video/rockchip/rk3399_vop.c index 81c122d7a9..1d5b3931a6 100644 --- a/drivers/video/rockchip/rk3399_vop.c +++ b/drivers/video/rockchip/rk3399_vop.c @@ -45,8 +45,6 @@ static void rk3399_set_pin_polarity(struct udevice *dev, V_RK3399_DSP_MIPI_POL(polarity)); break;
- case VOP_MODE_LVDS: - /* The RK3399 has neither parallel RGB nor LVDS output. */ default: debug("%s: unsupported output mode %x\n", __func__, mode); } diff --git a/drivers/video/rockchip/rk_vop.c b/drivers/video/rockchip/rk_vop.c index b56c3f336c..bdb790a0c5 100644 --- a/drivers/video/rockchip/rk_vop.c +++ b/drivers/video/rockchip/rk_vop.c @@ -117,10 +117,12 @@ static void rkvop_enable_output(struct udevice *dev, enum vop_modes mode) V_EDP_OUT_EN(1)); break;
+#if defined(CONFIG_ROCKCHIP_RK3288) case VOP_MODE_LVDS: clrsetbits_le32(®s->sys_ctrl, M_ALL_OUT_EN, V_RGB_OUT_EN(1)); break; +#endif
case VOP_MODE_MIPI: clrsetbits_le32(®s->sys_ctrl, M_ALL_OUT_EN, @@ -312,7 +314,9 @@ static int rk_display_init(struct udevice *dev, ulong fbbase, ofnode ep_node) /* Set bitwidth for vop display according to vop mode */ switch (vop_id) { case VOP_MODE_EDP: +#if defined(CONFIG_ROCKCHIP_RK3288) case VOP_MODE_LVDS: +#endif l2bpp = VIDEO_BPP16; break; case VOP_MODE_HDMI:

Enable pre console buffer for rk3399 platform.
This would help to capture the console messages prior to the console being initialised. Enabling this would help to capture all the console messages on video output source like HDMI. So we can find the full console messages of U-Boot proper on HDMI display when enabled it for RK3399 platform boards.
Buffer address used for pre console is 0x0f200000 which is ram base plus 240MiB. right now the Allwinner SoC is using similar computation.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com --- arch/arm/mach-rockchip/Kconfig | 1 + common/Kconfig | 1 + 2 files changed, 2 insertions(+)
diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig index ed7514ab75..0cb1f23d0f 100644 --- a/arch/arm/mach-rockchip/Kconfig +++ b/arch/arm/mach-rockchip/Kconfig @@ -229,6 +229,7 @@ config ROCKCHIP_RK3399 select DM_PMIC select DM_REGULATOR_FIXED select BOARD_LATE_INIT + imply PRE_CONSOLE_BUFFER imply ROCKCHIP_COMMON_BOARD imply ROCKCHIP_SDRAM_COMMON imply SPL_ROCKCHIP_COMMON_BOARD diff --git a/common/Kconfig b/common/Kconfig index 21d0244050..7d81924340 100644 --- a/common/Kconfig +++ b/common/Kconfig @@ -568,6 +568,7 @@ config PRE_CON_BUF_ADDR default 0x2f000000 if ARCH_SUNXI && MACH_SUN9I default 0x4f000000 if ARCH_SUNXI && !MACH_SUN9I default 0x0f000000 if ROCKCHIP_RK3288 + default 0x0f200000 if ROCKCHIP_RK3399 help This sets the start address of the pre-console buffer. This must be in available memory and is accessed before relocation and

Enable config options and console setting to respective rk3399 board for HDMI output.
Boards supported and tested on this patch are: - NanoPc T4 - NanoPi M4 - NanoPi Neo4 - ROC-RK3399-PC
Signed-off-by: Jagan Teki jagan@amarulasolutions.com --- configs/nanopc-t4-rk3399_defconfig | 6 ++++++ configs/nanopi-m4-rk3399_defconfig | 6 ++++++ configs/nanopi-neo4-rk3399_defconfig | 6 ++++++ configs/roc-pc-rk3399_defconfig | 6 ++++++ include/configs/evb_rk3399.h | 5 +++++ 5 files changed, 29 insertions(+)
diff --git a/configs/nanopc-t4-rk3399_defconfig b/configs/nanopc-t4-rk3399_defconfig index bd6d60ff6c..17e8a18d31 100644 --- a/configs/nanopc-t4-rk3399_defconfig +++ b/configs/nanopc-t4-rk3399_defconfig @@ -53,3 +53,9 @@ CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y CONFIG_SPL_TINY_MEMSET=y CONFIG_ERRNO_STR=y +CONFIG_DM_VIDEO=y +CONFIG_VIDEO_BPP16=y +CONFIG_VIDEO_BPP32=y +CONFIG_DISPLAY=y +CONFIG_VIDEO_ROCKCHIP=y +CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/nanopi-m4-rk3399_defconfig b/configs/nanopi-m4-rk3399_defconfig index 74ede13c23..b73b2fdc27 100644 --- a/configs/nanopi-m4-rk3399_defconfig +++ b/configs/nanopi-m4-rk3399_defconfig @@ -53,3 +53,9 @@ CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y CONFIG_SPL_TINY_MEMSET=y CONFIG_ERRNO_STR=y +CONFIG_DM_VIDEO=y +CONFIG_VIDEO_BPP16=y +CONFIG_VIDEO_BPP32=y +CONFIG_DISPLAY=y +CONFIG_VIDEO_ROCKCHIP=y +CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/nanopi-neo4-rk3399_defconfig b/configs/nanopi-neo4-rk3399_defconfig index a44124aac0..2ecb50967b 100644 --- a/configs/nanopi-neo4-rk3399_defconfig +++ b/configs/nanopi-neo4-rk3399_defconfig @@ -53,3 +53,9 @@ CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y CONFIG_SPL_TINY_MEMSET=y CONFIG_ERRNO_STR=y +CONFIG_DM_VIDEO=y +CONFIG_VIDEO_BPP16=y +CONFIG_VIDEO_BPP32=y +CONFIG_DISPLAY=y +CONFIG_VIDEO_ROCKCHIP=y +CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/roc-pc-rk3399_defconfig b/configs/roc-pc-rk3399_defconfig index 3a051d9b0c..a9f99f992d 100644 --- a/configs/roc-pc-rk3399_defconfig +++ b/configs/roc-pc-rk3399_defconfig @@ -56,3 +56,9 @@ CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y CONFIG_SPL_TINY_MEMSET=y CONFIG_ERRNO_STR=y +CONFIG_DM_VIDEO=y +CONFIG_VIDEO_BPP16=y +CONFIG_VIDEO_BPP32=y +CONFIG_DISPLAY=y +CONFIG_VIDEO_ROCKCHIP=y +CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/include/configs/evb_rk3399.h b/include/configs/evb_rk3399.h index c0b0358893..09eb361655 100644 --- a/include/configs/evb_rk3399.h +++ b/include/configs/evb_rk3399.h @@ -6,6 +6,11 @@ #ifndef __EVB_RK3399_H #define __EVB_RK3399_H
+#define ROCKCHIP_DEVICE_SETTINGS \ + "stdin=serial,cros-ec-keyb\0" \ + "stdout=serial,vidconsole\0" \ + "stderr=serial,vidconsole\0" + #include <configs/rk3399_common.h>
#if defined(CONFIG_ENV_IS_IN_MMC)

On Thu, Jan 23, 2020 at 09:58:45PM +0530, Jagan Teki wrote:
Enable config options and console setting to respective rk3399 board for HDMI output.
Boards supported and tested on this patch are:
- NanoPc T4
- NanoPi M4
- NanoPi Neo4
- ROC-RK3399-PC
Signed-off-by: Jagan Teki jagan@amarulasolutions.com
configs/nanopc-t4-rk3399_defconfig | 6 ++++++ configs/nanopi-m4-rk3399_defconfig | 6 ++++++ configs/nanopi-neo4-rk3399_defconfig | 6 ++++++ configs/roc-pc-rk3399_defconfig | 6 ++++++ include/configs/evb_rk3399.h | 5 +++++ 5 files changed, 29 insertions(+)
diff --git a/configs/nanopc-t4-rk3399_defconfig b/configs/nanopc-t4-rk3399_defconfig index bd6d60ff6c..17e8a18d31 100644 --- a/configs/nanopc-t4-rk3399_defconfig +++ b/configs/nanopc-t4-rk3399_defconfig @@ -53,3 +53,9 @@ CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y CONFIG_SPL_TINY_MEMSET=y CONFIG_ERRNO_STR=y +CONFIG_DM_VIDEO=y +CONFIG_VIDEO_BPP16=y +CONFIG_VIDEO_BPP32=y +CONFIG_DISPLAY=y +CONFIG_VIDEO_ROCKCHIP=y +CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/nanopi-m4-rk3399_defconfig b/configs/nanopi-m4-rk3399_defconfig index 74ede13c23..b73b2fdc27 100644 --- a/configs/nanopi-m4-rk3399_defconfig +++ b/configs/nanopi-m4-rk3399_defconfig @@ -53,3 +53,9 @@ CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y CONFIG_SPL_TINY_MEMSET=y CONFIG_ERRNO_STR=y +CONFIG_DM_VIDEO=y +CONFIG_VIDEO_BPP16=y +CONFIG_VIDEO_BPP32=y +CONFIG_DISPLAY=y +CONFIG_VIDEO_ROCKCHIP=y +CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/nanopi-neo4-rk3399_defconfig b/configs/nanopi-neo4-rk3399_defconfig index a44124aac0..2ecb50967b 100644 --- a/configs/nanopi-neo4-rk3399_defconfig +++ b/configs/nanopi-neo4-rk3399_defconfig @@ -53,3 +53,9 @@ CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y CONFIG_SPL_TINY_MEMSET=y CONFIG_ERRNO_STR=y +CONFIG_DM_VIDEO=y +CONFIG_VIDEO_BPP16=y +CONFIG_VIDEO_BPP32=y +CONFIG_DISPLAY=y +CONFIG_VIDEO_ROCKCHIP=y +CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/roc-pc-rk3399_defconfig b/configs/roc-pc-rk3399_defconfig index 3a051d9b0c..a9f99f992d 100644 --- a/configs/roc-pc-rk3399_defconfig +++ b/configs/roc-pc-rk3399_defconfig @@ -56,3 +56,9 @@ CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y CONFIG_SPL_TINY_MEMSET=y CONFIG_ERRNO_STR=y +CONFIG_DM_VIDEO=y +CONFIG_VIDEO_BPP16=y +CONFIG_VIDEO_BPP32=y +CONFIG_DISPLAY=y +CONFIG_VIDEO_ROCKCHIP=y +CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/include/configs/evb_rk3399.h b/include/configs/evb_rk3399.h index c0b0358893..09eb361655 100644 --- a/include/configs/evb_rk3399.h +++ b/include/configs/evb_rk3399.h @@ -6,6 +6,11 @@ #ifndef __EVB_RK3399_H #define __EVB_RK3399_H
+#define ROCKCHIP_DEVICE_SETTINGS \
"stdin=serial,cros-ec-keyb\0" \
"stdout=serial,vidconsole\0" \
"stderr=serial,vidconsole\0"
#include <configs/rk3399_common.h>
#if defined(CONFIG_ENV_IS_IN_MMC)
This seems like another commit (along with the question I saw about i.MX FB not showing the right colors) 2cc393f32fd9 needs to be reworked so that we default to enabling everything still but let boards opt out rather than forcing everyone to opt-in as it seems like there's a lot of cases where people need to opt-in and didn't know.

On Fri, 24 Jan 2020 10:27:35 -0500 Tom Rini trini@konsulko.com wrote:
This seems like another commit (along with the question I saw about i.MX FB not showing the right colors) 2cc393f32fd9 needs to be reworked so that we default to enabling everything still but let boards opt out rather than forcing everyone to opt-in as it seems like there's a lot of cases where people need to opt-in and didn't know.
yes, I'll rework this.
-- Anatolij

On Fri, Jan 24, 2020 at 8:57 PM Tom Rini trini@konsulko.com wrote:
On Thu, Jan 23, 2020 at 09:58:45PM +0530, Jagan Teki wrote:
Enable config options and console setting to respective rk3399 board for HDMI output.
Boards supported and tested on this patch are:
- NanoPc T4
- NanoPi M4
- NanoPi Neo4
- ROC-RK3399-PC
Signed-off-by: Jagan Teki jagan@amarulasolutions.com
configs/nanopc-t4-rk3399_defconfig | 6 ++++++ configs/nanopi-m4-rk3399_defconfig | 6 ++++++ configs/nanopi-neo4-rk3399_defconfig | 6 ++++++ configs/roc-pc-rk3399_defconfig | 6 ++++++ include/configs/evb_rk3399.h | 5 +++++ 5 files changed, 29 insertions(+)
diff --git a/configs/nanopc-t4-rk3399_defconfig b/configs/nanopc-t4-rk3399_defconfig index bd6d60ff6c..17e8a18d31 100644 --- a/configs/nanopc-t4-rk3399_defconfig +++ b/configs/nanopc-t4-rk3399_defconfig @@ -53,3 +53,9 @@ CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y CONFIG_SPL_TINY_MEMSET=y CONFIG_ERRNO_STR=y +CONFIG_DM_VIDEO=y +CONFIG_VIDEO_BPP16=y +CONFIG_VIDEO_BPP32=y +CONFIG_DISPLAY=y +CONFIG_VIDEO_ROCKCHIP=y +CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/nanopi-m4-rk3399_defconfig b/configs/nanopi-m4-rk3399_defconfig index 74ede13c23..b73b2fdc27 100644 --- a/configs/nanopi-m4-rk3399_defconfig +++ b/configs/nanopi-m4-rk3399_defconfig @@ -53,3 +53,9 @@ CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y CONFIG_SPL_TINY_MEMSET=y CONFIG_ERRNO_STR=y +CONFIG_DM_VIDEO=y +CONFIG_VIDEO_BPP16=y +CONFIG_VIDEO_BPP32=y +CONFIG_DISPLAY=y +CONFIG_VIDEO_ROCKCHIP=y +CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/nanopi-neo4-rk3399_defconfig b/configs/nanopi-neo4-rk3399_defconfig index a44124aac0..2ecb50967b 100644 --- a/configs/nanopi-neo4-rk3399_defconfig +++ b/configs/nanopi-neo4-rk3399_defconfig @@ -53,3 +53,9 @@ CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y CONFIG_SPL_TINY_MEMSET=y CONFIG_ERRNO_STR=y +CONFIG_DM_VIDEO=y +CONFIG_VIDEO_BPP16=y +CONFIG_VIDEO_BPP32=y +CONFIG_DISPLAY=y +CONFIG_VIDEO_ROCKCHIP=y +CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/roc-pc-rk3399_defconfig b/configs/roc-pc-rk3399_defconfig index 3a051d9b0c..a9f99f992d 100644 --- a/configs/roc-pc-rk3399_defconfig +++ b/configs/roc-pc-rk3399_defconfig @@ -56,3 +56,9 @@ CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y CONFIG_SPL_TINY_MEMSET=y CONFIG_ERRNO_STR=y +CONFIG_DM_VIDEO=y +CONFIG_VIDEO_BPP16=y +CONFIG_VIDEO_BPP32=y +CONFIG_DISPLAY=y +CONFIG_VIDEO_ROCKCHIP=y +CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/include/configs/evb_rk3399.h b/include/configs/evb_rk3399.h index c0b0358893..09eb361655 100644 --- a/include/configs/evb_rk3399.h +++ b/include/configs/evb_rk3399.h @@ -6,6 +6,11 @@ #ifndef __EVB_RK3399_H #define __EVB_RK3399_H
+#define ROCKCHIP_DEVICE_SETTINGS \
"stdin=serial,cros-ec-keyb\0" \
"stdout=serial,vidconsole\0" \
"stderr=serial,vidconsole\0"
#include <configs/rk3399_common.h>
#if defined(CONFIG_ENV_IS_IN_MMC)
This seems like another commit (along with the question I saw about i.MX FB not showing the right colors) 2cc393f32fd9 needs to be reworked so that we default to enabling everything still but let boards opt out rather than forcing everyone to opt-in as it seems like there's a lot of cases where people need to opt-in and didn't know.
yes, this evb board config is common across most of the rk3399 defconfig boards. this patch enable hdmi on few rk3399 boards all use same config file, evb_rk3399.h

On Mon, Feb 03, 2020 at 04:55:27PM +0530, Jagan Teki wrote:
On Fri, Jan 24, 2020 at 8:57 PM Tom Rini trini@konsulko.com wrote:
On Thu, Jan 23, 2020 at 09:58:45PM +0530, Jagan Teki wrote:
Enable config options and console setting to respective rk3399 board for HDMI output.
Boards supported and tested on this patch are:
- NanoPc T4
- NanoPi M4
- NanoPi Neo4
- ROC-RK3399-PC
Signed-off-by: Jagan Teki jagan@amarulasolutions.com
configs/nanopc-t4-rk3399_defconfig | 6 ++++++ configs/nanopi-m4-rk3399_defconfig | 6 ++++++ configs/nanopi-neo4-rk3399_defconfig | 6 ++++++ configs/roc-pc-rk3399_defconfig | 6 ++++++ include/configs/evb_rk3399.h | 5 +++++ 5 files changed, 29 insertions(+)
diff --git a/configs/nanopc-t4-rk3399_defconfig b/configs/nanopc-t4-rk3399_defconfig index bd6d60ff6c..17e8a18d31 100644 --- a/configs/nanopc-t4-rk3399_defconfig +++ b/configs/nanopc-t4-rk3399_defconfig @@ -53,3 +53,9 @@ CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y CONFIG_SPL_TINY_MEMSET=y CONFIG_ERRNO_STR=y +CONFIG_DM_VIDEO=y +CONFIG_VIDEO_BPP16=y +CONFIG_VIDEO_BPP32=y +CONFIG_DISPLAY=y +CONFIG_VIDEO_ROCKCHIP=y +CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/nanopi-m4-rk3399_defconfig b/configs/nanopi-m4-rk3399_defconfig index 74ede13c23..b73b2fdc27 100644 --- a/configs/nanopi-m4-rk3399_defconfig +++ b/configs/nanopi-m4-rk3399_defconfig @@ -53,3 +53,9 @@ CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y CONFIG_SPL_TINY_MEMSET=y CONFIG_ERRNO_STR=y +CONFIG_DM_VIDEO=y +CONFIG_VIDEO_BPP16=y +CONFIG_VIDEO_BPP32=y +CONFIG_DISPLAY=y +CONFIG_VIDEO_ROCKCHIP=y +CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/nanopi-neo4-rk3399_defconfig b/configs/nanopi-neo4-rk3399_defconfig index a44124aac0..2ecb50967b 100644 --- a/configs/nanopi-neo4-rk3399_defconfig +++ b/configs/nanopi-neo4-rk3399_defconfig @@ -53,3 +53,9 @@ CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y CONFIG_SPL_TINY_MEMSET=y CONFIG_ERRNO_STR=y +CONFIG_DM_VIDEO=y +CONFIG_VIDEO_BPP16=y +CONFIG_VIDEO_BPP32=y +CONFIG_DISPLAY=y +CONFIG_VIDEO_ROCKCHIP=y +CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/roc-pc-rk3399_defconfig b/configs/roc-pc-rk3399_defconfig index 3a051d9b0c..a9f99f992d 100644 --- a/configs/roc-pc-rk3399_defconfig +++ b/configs/roc-pc-rk3399_defconfig @@ -56,3 +56,9 @@ CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y CONFIG_SPL_TINY_MEMSET=y CONFIG_ERRNO_STR=y +CONFIG_DM_VIDEO=y +CONFIG_VIDEO_BPP16=y +CONFIG_VIDEO_BPP32=y +CONFIG_DISPLAY=y +CONFIG_VIDEO_ROCKCHIP=y +CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/include/configs/evb_rk3399.h b/include/configs/evb_rk3399.h index c0b0358893..09eb361655 100644 --- a/include/configs/evb_rk3399.h +++ b/include/configs/evb_rk3399.h @@ -6,6 +6,11 @@ #ifndef __EVB_RK3399_H #define __EVB_RK3399_H
+#define ROCKCHIP_DEVICE_SETTINGS \
"stdin=serial,cros-ec-keyb\0" \
"stdout=serial,vidconsole\0" \
"stderr=serial,vidconsole\0"
#include <configs/rk3399_common.h>
#if defined(CONFIG_ENV_IS_IN_MMC)
This seems like another commit (along with the question I saw about i.MX FB not showing the right colors) 2cc393f32fd9 needs to be reworked so that we default to enabling everything still but let boards opt out rather than forcing everyone to opt-in as it seems like there's a lot of cases where people need to opt-in and didn't know.
yes, this evb board config is common across most of the rk3399 defconfig boards. this patch enable hdmi on few rk3399 boards all use same config file, evb_rk3399.h
Yes, the ROCKCHIP_DEVICE_SETTINGS part makes sense, but the rest looks very much like part of we need to rework the commit I mentioned. I don't object to this going in as-is. Anatolij, how goes the rework of things however? I do want to see that get in sooner rather than later so we can sort out other regressions from just a lack of CONFIG options being enabled. Thanks!

On Mon, 3 Feb 2020 09:47:08 -0500 Tom Rini trini@konsulko.com wrote: ...
yes, this evb board config is common across most of the rk3399 defconfig boards. this patch enable hdmi on few rk3399 boards all use same config file, evb_rk3399.h
Yes, the ROCKCHIP_DEVICE_SETTINGS part makes sense, but the rest looks very much like part of we need to rework the commit I mentioned. I don't object to this going in as-is. Anatolij, how goes the rework of things however? I do want to see that get in sooner rather than later so we can sort out other regressions from just a lack of CONFIG options being enabled. Thanks!
A patch [1] for this is under build testing.
[1] http://patchwork.ozlabs.org/patch/1233033
-- Anatolij

+#define ROCKCHIP_DEVICE_SETTINGS \
"stdin=serial,cros-ec-keyb\0" \
This should likely be a usb keyboard and not the CrOS EC keyboard.
"stdout=serial,vidconsole\0" \
"stderr=serial,vidconsole\0"
#include <configs/rk3399_common.h>
#if defined(CONFIG_ENV_IS_IN_MMC)
2.18.0.321.gffc6fa0e3
participants (4)
-
Anatolij Gustschin
-
Jagan Teki
-
Peter Robinson
-
Tom Rini