diff --git a/arch/arm64/boot/dts/amlogic/g12a_s905d2_skt_buildroot.dts b/arch/arm64/boot/dts/amlogic/g12a_s905d2_skt_buildroot.dts index 579c79824ac7..09230325d7d0 100644 --- a/arch/arm64/boot/dts/amlogic/g12a_s905d2_skt_buildroot.dts +++ b/arch/arm64/boot/dts/amlogic/g12a_s905d2_skt_buildroot.dts @@ -632,18 +632,6 @@ pxp_mode = <0>; /** 0:normal mode 1:pxp mode */ }; -&drm_vpu { - status = "okay"; -}; - -&drm_amhdmitx { - status = "okay"; -}; - -&drm_lcd { - status = "okay"; -}; - &i2c0 { status = "okay"; pinctrl-names="default"; diff --git a/arch/arm64/boot/dts/amlogic/meson_drm.dtsi b/arch/arm64/boot/dts/amlogic/meson_drm.dtsi index d8c1e4ad0dba..a08ed993bde9 100644 --- a/arch/arm64/boot/dts/amlogic/meson_drm.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson_drm.dtsi @@ -21,7 +21,6 @@ compatible = "amlogic,drm-amhdmitx"; dev_name = "meson-amhdmitx"; interrupts = ; - drm_feature = <1>; ports { port { #address-cells = <1>; @@ -81,14 +80,6 @@ }; }; -&drm_vpu { - status = "okay"; -}; - -&drm_amhdmitx { - status = "okay"; -}; - &gpu{ /*gpu max freq is 750M*/ def_clk = <1>; diff --git a/arch/arm64/boot/dts/amlogic/mesong12a_drm.dtsi b/arch/arm64/boot/dts/amlogic/mesong12a_drm.dtsi index 69057633df5d..2865461e3dc8 100644 --- a/arch/arm64/boot/dts/amlogic/mesong12a_drm.dtsi +++ b/arch/arm64/boot/dts/amlogic/mesong12a_drm.dtsi @@ -42,7 +42,6 @@ compatible = "amlogic,drm-amhdmitx"; dev_name = "meson-amhdmitx"; interrupts = ; - drm_feature = <1>; ports { port { #address-cells = <1>; diff --git a/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c b/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c index 7d7fda9a1757..2d96f83ae12b 100644 --- a/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c +++ b/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c @@ -3529,6 +3529,7 @@ static int amhdmitx_get_dt_info(struct platform_device *pdev) phandle phandle; struct device_node *init_data; struct device_node *drm_node; + unsigned char *drm_status; #endif /* HDMITX pinctrl config for hdp and ddc*/ @@ -3604,13 +3605,18 @@ static int amhdmitx_get_dt_info(struct platform_device *pdev) /* Get drm feature information */ drm_node = of_find_node_by_path("/drm-amhdmitx"); if (drm_node) { - ret = of_property_read_u32(drm_node, "drm_feature", - &(hdmitx_device.drm_feature)); + ret = of_property_read_string(drm_node, "status", + (const char **)&(drm_status)); if (ret) pr_info(SYS "not find drm_feature\n"); - else + else { + if (memcmp(drm_status, "okay", 4) == 0) + hdmitx_device.drm_feature = 1; + else + hdmitx_device.drm_feature = 0; pr_info(SYS "hdmitx_device.drm_feature : %d\n", hdmitx_device.drm_feature); + } } else { pr_info(SYS "not find drm_amhdmitx\n"); }