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>; diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c index 2e59695eda72..5cf1710d0444 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c @@ -2457,7 +2457,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; } diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c index ec9f5d6232d2..84ef65894472 100644 --- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c @@ -2781,22 +2781,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", @@ -2983,6 +2985,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; } diff --git a/drivers/usb/dwc3/Kconfig b/drivers/usb/dwc3/Kconfig index 864fef540a39..506a42cff11d 100644 --- a/drivers/usb/dwc3/Kconfig +++ b/drivers/usb/dwc3/Kconfig @@ -118,6 +118,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 9f66bd82b639..5dccf31b1b5b 100644 --- a/drivers/usb/dwc3/Makefile +++ b/drivers/usb/dwc3/Makefile @@ -50,6 +50,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