From c6474fb3ed97e56397d059e8c0db23deb96136b4 Mon Sep 17 00:00:00 2001 From: Lei Yang Date: Mon, 2 Sep 2019 15:40:18 +0800 Subject: [PATCH] hdmirx: add repeater14 for TM2 [1/2] PD#SWPL-12502 Problem: new function Solution: add new function of TM2 Verify: T962E2 Change-Id: Idd5843d39bb9235fe0abdf9aaaca3be6dd2795e7 Signed-off-by: Lei Yang --- .../arm/boot/dts/amlogic/tm2_t962x3_ab309.dts | 27 ++++++++++++++++++- .../boot/dts/amlogic/tm2_t962x3_ab309.dts | 27 ++++++++++++++++++- .../media/vin/tvin/hdmirx/hdmi_rx_hw.c | 6 ++--- 3 files changed, 55 insertions(+), 5 deletions(-) diff --git a/arch/arm/boot/dts/amlogic/tm2_t962x3_ab309.dts b/arch/arm/boot/dts/amlogic/tm2_t962x3_ab309.dts index 0c2cad0b456f..af9961cf320c 100644 --- a/arch/arm/boot/dts/amlogic/tm2_t962x3_ab309.dts +++ b/arch/arm/boot/dts/amlogic/tm2_t962x3_ab309.dts @@ -642,7 +642,7 @@ compatible = "amlogic, unifykey"; status = "okay"; - unifykey-num = <21>; + unifykey-num = <24>; unifykey-index-0 = <&keysn_0>; unifykey-index-1 = <&keysn_1>; unifykey-index-2 = <&keysn_2>; @@ -664,6 +664,9 @@ unifykey-index-18 = <&keysn_18>; unifykey-index-19 = <&keysn_19>; unifykey-index-20 = <&keysn_20>; + unifykey-index-21 = <&keysn_21>; + unifykey-index-22 = <&keysn_22>; + unifykey-index-23 = <&keysn_23>; keysn_0: key_0{ key-name = "usid"; @@ -775,6 +778,21 @@ key-device = "secure"; key-permit = "read","write","del"; }; + keysn_21:key_21{ + key-name = "hdcp22_rprx_fw"; + key-device = "normal"; + key-permit = "read","write","del"; + }; + keysn_22:key_22{ + key-name = "hdcp22_rprp_fw"; + key-device = "normal"; + key-permit = "read","write","del"; + }; + keysn_23:key_23{ + key-name = "hdcp22_rp_private"; + key-device = "secure"; + key-permit = "read","write","del"; + }; }; /* End unifykey */ hdmirx { @@ -835,6 +853,13 @@ 0xff610000 0xa000>; }; + amhdmitx: amhdmitx { + compatible = "amlogic, amhdmitx"; + dev_name = "amhdmitx"; + status = "okay"; + repeater_tx = <0x0>; + }; + aocec: aocec { compatible = "amlogic, aocec-tl1"; /*device_name = "aocec";*/ diff --git a/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab309.dts b/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab309.dts index b2efddccfd74..c5a1e3970c93 100644 --- a/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab309.dts +++ b/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab309.dts @@ -641,7 +641,7 @@ compatible = "amlogic, unifykey"; status = "okay"; - unifykey-num = <21>; + unifykey-num = <24>; unifykey-index-0 = <&keysn_0>; unifykey-index-1 = <&keysn_1>; unifykey-index-2 = <&keysn_2>; @@ -663,6 +663,9 @@ unifykey-index-18 = <&keysn_18>; unifykey-index-19 = <&keysn_19>; unifykey-index-20 = <&keysn_20>; + unifykey-index-21 = <&keysn_21>; + unifykey-index-22 = <&keysn_22>; + unifykey-index-23 = <&keysn_23>; keysn_0: key_0{ key-name = "usid"; @@ -774,6 +777,21 @@ key-device = "secure"; key-permit = "read","write","del"; }; + keysn_21:key_21{ + key-name = "hdcp22_rprx_fw"; + key-device = "normal"; + key-permit = "read","write","del"; + }; + keysn_22:key_22{ + key-name = "hdcp22_rprp_fw"; + key-device = "normal"; + key-permit = "read","write","del"; + }; + keysn_23:key_23{ + key-name = "hdcp22_rp_private"; + key-device = "secure"; + key-permit = "read","write","del"; + }; }; /* End unifykey */ hdmirx { @@ -834,6 +852,13 @@ 0x0 0xff610000 0x0 0xa000>; }; + amhdmitx: amhdmitx { + compatible = "amlogic, amhdmitx"; + dev_name = "amhdmitx"; + status = "okay"; + repeater_tx = <0x0>; + }; + aocec: aocec { compatible = "amlogic, aocec-tl1"; /*device_name = "aocec";*/ diff --git a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_hw.c b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_hw.c index 3f1f29da29ee..e5b18d8f2dc8 100644 --- a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_hw.c +++ b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_hw.c @@ -1815,7 +1815,6 @@ hdmirx_wr_dwc(DWC_HDCP22_CONTROL, data32); */ void hdcp_22_off(void) { - hdcp22_clk_en(0); /* note: can't pull down hpd before enter suspend */ /* it will stop cec wake up func if EE domain still working */ /* rx_set_cur_hpd(0); */ @@ -1826,6 +1825,7 @@ void hdcp_22_off(void) hdmirx_hdcp22_esm_rst(); else hdcp22_kill_esm = 0; + hdcp22_clk_en(0); rx_pr("hdcp22 off\n"); } @@ -3075,8 +3075,8 @@ void rx_debug_load22key(void) extcon_set_state_sync(rx.rx_excton_rx22, EXTCON_DISP_HDMI, 1); mdelay(100); - hdmirx_hw_config(); hdmi_rx_top_edid_update(); + hdmirx_hw_config(); hpd_to_esm = 1; /* mdelay(900); */ rx_set_cur_hpd(1, 4); @@ -3087,8 +3087,8 @@ void rx_debug_load22key(void) void rx_debug_loadkey(void) { rx_pr("load hdcp key\n"); - hdmirx_hw_config(); hdmi_rx_top_edid_update(); + hdmirx_hw_config(); pre_port = 0xfe; }