From cb7ae9793583ec3e79ea67093075e1a00205d3dd Mon Sep 17 00:00:00 2001 From: Algea Cao Date: Fri, 8 Sep 2023 11:13:40 +0800 Subject: [PATCH 1/4] ARM: dts: rockchip: rk3288-evb-rk808-linux: Fix hdmi switch resolution error When hdmi is bound to vopb and vopl at the same time, the resolution that hdmi does not support is not filtered properly. When the resolution is set, the drm will return an error, resulting in a failure to switch the resolution. Change-Id: Ie2d1723a35ba92414edd472bd3cc92aab84b4ec2 Signed-off-by: Algea Cao --- arch/arm/boot/dts/rk3288-evb-rk808-linux.dts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/arm/boot/dts/rk3288-evb-rk808-linux.dts b/arch/arm/boot/dts/rk3288-evb-rk808-linux.dts index 68a3ed7cb837..69a5008d7b18 100644 --- a/arch/arm/boot/dts/rk3288-evb-rk808-linux.dts +++ b/arch/arm/boot/dts/rk3288-evb-rk808-linux.dts @@ -136,6 +136,14 @@ pinctrl-0 = <&hdmi_ddc>, <&hdmi_cec_c0>; }; +&hdmi_in_vopb { + status = "okay"; +}; + +&hdmi_in_vopl { + status = "disabled"; +}; + &i2c0 { clock-frequency = <400000>; From 78ece52290cec8cf50c73f4e7c6006972eb07b9d Mon Sep 17 00:00:00 2001 From: Algea Cao Date: Fri, 8 Sep 2023 11:18:28 +0800 Subject: [PATCH 2/4] drm/rockchip: dw_hdmi: Fix `*ERROR* Unknown property [PROP:157:allm_enable]` After the property is set, 0 should be returned; Change-Id: I0908356164942e0a3fb48f0db3675a859d8a69f2 Signed-off-by: Algea Cao --- drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 31 +++++++++++---------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c index c996343c35ad..450b1626b8da 100644 --- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c @@ -2762,22 +2762,24 @@ dw_hdmi_rockchip_attach_properties(struct drm_connector *connector, drm_object_attach_property(&connector->base, prop, 0); } - prop = drm_property_create_bool(connector->dev, 0, "allm_capacity"); - if (prop) { - hdmi->allm_capacity = prop; - drm_object_attach_property(&connector->base, prop, - !!(hdmi->add_func & SUPPORT_HDMI_ALLM)); - } + if (hdmi->is_hdmi_qp) { + prop = drm_property_create_bool(connector->dev, 0, "allm_capacity"); + if (prop) { + hdmi->allm_capacity = prop; + drm_object_attach_property(&connector->base, prop, + !!(hdmi->add_func & SUPPORT_HDMI_ALLM)); + } - prop = drm_property_create_enum(connector->dev, 0, - "allm_enable", - allm_enable_list, - ARRAY_SIZE(allm_enable_list)); - if (prop) { - hdmi->allm_enable = prop; - drm_object_attach_property(&connector->base, prop, 0); + prop = drm_property_create_enum(connector->dev, 0, + "allm_enable", + allm_enable_list, + ARRAY_SIZE(allm_enable_list)); + if (prop) { + hdmi->allm_enable = prop; + drm_object_attach_property(&connector->base, prop, 0); + } + hdmi->enable_allm = allm_en; } - hdmi->enable_allm = allm_en; prop = drm_property_create_enum(connector->dev, 0, "output_hdmi_dvi", @@ -2964,6 +2966,7 @@ dw_hdmi_rockchip_set_property(struct drm_connector *connector, hdmi->enable_allm = val; if (allm_enable != hdmi->enable_allm) dw_hdmi_qp_set_allm_enable(hdmi->hdmi_qp, hdmi->enable_allm); + return 0; } else if (property == hdmi->hdcp_state_property) { return 0; } From 2ceea71ac327b53dd05e042c26ace94ef26f8a0c Mon Sep 17 00:00:00 2001 From: Algea Cao Date: Fri, 8 Sep 2023 17:08:03 +0800 Subject: [PATCH 3/4] drm: bridge: dw-hdmi: Don't print hdr error log when switch resolution RK3288 isn't support hdr, there is not need to print an error log when switch resolution. Signed-off-by: Algea Cao Change-Id: I28c0abcbb421c1c868302f960591e56c015dc77d --- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c index e3cce739bb65..c36513ce718e 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c @@ -2328,7 +2328,7 @@ static void hdmi_config_drm_infoframe(struct dw_hdmi *hdmi, /* Dynamic Range and Mastering Infoframe is introduced in v2.11a. */ if (hdmi->version < 0x211a) { - DRM_ERROR("Not support DRM Infoframe\n"); + dev_dbg(hdmi->dev, "Not support DRM Infoframe\n"); return; } From b5b456cf9a7050d5f25e65c891a07ba53ff8df73 Mon Sep 17 00:00:00 2001 From: William Wu Date: Sun, 3 Nov 2019 11:43:59 +0800 Subject: [PATCH 4/4] usb: dwc3: rockchip-inno: add Kconfig and Makefile Change-Id: I123cea9cd3535b7fe112bc36767377ba796e036c Signed-off-by: William Wu Signed-off-by: Jianwei Zheng --- drivers/usb/dwc3/Kconfig | 9 +++++++++ drivers/usb/dwc3/Makefile | 1 + 2 files changed, 10 insertions(+) diff --git a/drivers/usb/dwc3/Kconfig b/drivers/usb/dwc3/Kconfig index 2133acf8ee69..e0e9645290a7 100644 --- a/drivers/usb/dwc3/Kconfig +++ b/drivers/usb/dwc3/Kconfig @@ -117,6 +117,15 @@ config USB_DWC3_OF_SIMPLE Currently supports Xilinx and Qualcomm DWC USB3 IP. Say 'Y' or 'M' if you have one such device. +config USB_DWC3_ROCKCHIP_INNO + bool "Rockchip Platforms with INNO PHY" + depends on OF && COMMON_CLK && (ARCH_ROCKCHIP || COMPILE_TEST) + default USB_DWC3 && PHY_ROCKCHIP_INNO_USB3 && NO_GKI + help + Support of USB2/3 functionality in Rockchip platforms + with INNO USB 3.0 PHY IP inside. + say 'Y' or 'M' if you have one such device. + config USB_DWC3_ST tristate "STMicroelectronics Platforms" depends on (ARCH_STI || COMPILE_TEST) && OF diff --git a/drivers/usb/dwc3/Makefile b/drivers/usb/dwc3/Makefile index 2259f8876fb2..a45c23534f60 100644 --- a/drivers/usb/dwc3/Makefile +++ b/drivers/usb/dwc3/Makefile @@ -49,6 +49,7 @@ obj-$(CONFIG_USB_DWC3_HAPS) += dwc3-haps.o obj-$(CONFIG_USB_DWC3_KEYSTONE) += dwc3-keystone.o obj-$(CONFIG_USB_DWC3_MESON_G12A) += dwc3-meson-g12a.o obj-$(CONFIG_USB_DWC3_OF_SIMPLE) += dwc3-of-simple.o +obj-$(CONFIG_USB_DWC3_ROCKCHIP_INNO) += dwc3-rockchip-inno.o obj-$(CONFIG_USB_DWC3_ST) += dwc3-st.o obj-$(CONFIG_USB_DWC3_QCOM) += dwc3-qcom.o obj-$(CONFIG_USB_DWC3_IMX8MP) += dwc3-imx8mp.o