author | Lei Yang <lei.yang@amlogic.com> | 2019-09-02 07:40:18 (GMT) |
---|---|---|
committer | Tao Zeng <tao.zeng@amlogic.com> | 2019-09-04 13:16:19 (GMT) |
commit | 94f77912be699a40faf223a58780bff5c1f09695 (patch) | |
tree | 72610b70a65ddf26ee15f8efb6d898ecb7c77934 | |
parent | 7fb543df987a65e8fd92348857d8fbeebd9e1246 (diff) | |
download | common-94f77912be699a40faf223a58780bff5c1f09695.zip common-94f77912be699a40faf223a58780bff5c1f09695.tar.gz common-94f77912be699a40faf223a58780bff5c1f09695.tar.bz2 |
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 <lei.yang@amlogic.com>
-rw-r--r-- | arch/arm/boot/dts/amlogic/tm2_t962e2_ab311.dts | 30 | ||||
-rw-r--r-- | arch/arm/boot/dts/amlogic/tm2_t962e2_ab319.dts | 27 | ||||
-rw-r--r-- | arch/arm/boot/dts/amlogic/tm2_t962x3_ab301.dts | 27 | ||||
-rw-r--r-- | arch/arm/boot/dts/amlogic/tm2_t962x3_ab309.dts | 27 | ||||
-rw-r--r-- | arch/arm/boot/dts/amlogic/tm2_t962x3_t312.dts | 27 | ||||
-rw-r--r-- | arch/arm64/boot/dts/amlogic/tm2_t962e2_ab311.dts | 30 | ||||
-rw-r--r-- | arch/arm64/boot/dts/amlogic/tm2_t962e2_ab319.dts | 31 | ||||
-rw-r--r-- | arch/arm64/boot/dts/amlogic/tm2_t962x3_ab301.dts | 27 | ||||
-rw-r--r-- | arch/arm64/boot/dts/amlogic/tm2_t962x3_ab309.dts | 27 | ||||
-rw-r--r-- | arch/arm64/boot/dts/amlogic/tm2_t962x3_t312.dts | 27 | ||||
-rw-r--r-- | drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.h | 2 | ||||
-rw-r--r-- | drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_hw.c | 6 | ||||
-rw-r--r-- | drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_repeater.c | 1 | ||||
-rw-r--r-- | drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_wrapper.c | 30 |
14 files changed, 291 insertions, 28 deletions
diff --git a/arch/arm/boot/dts/amlogic/tm2_t962e2_ab311.dts b/arch/arm/boot/dts/amlogic/tm2_t962e2_ab311.dts index a5594d9..6769cff 100644 --- a/arch/arm/boot/dts/amlogic/tm2_t962e2_ab311.dts +++ b/arch/arm/boot/dts/amlogic/tm2_t962e2_ab311.dts @@ -693,7 +693,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>; @@ -715,6 +715,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"; @@ -826,6 +829,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 */ amlvideo2_0 { @@ -902,6 +920,13 @@ 0xff610000 0xa000>; }; + amhdmitx: amhdmitx { + compatible = "amlogic, amhdmitx"; + dev_name = "amhdmitx"; + status = "okay"; + repeater_tx = <0x0>; + }; + aocec: aocec { compatible = "amlogic, aocec-tm2"; /*device_name = "aocec";*/ @@ -2181,6 +2206,3 @@ status = "okay"; }; -&amhdmitx { - status = "okay"; -}; diff --git a/arch/arm/boot/dts/amlogic/tm2_t962e2_ab319.dts b/arch/arm/boot/dts/amlogic/tm2_t962e2_ab319.dts index 6627307..1a0045e 100644 --- a/arch/arm/boot/dts/amlogic/tm2_t962e2_ab319.dts +++ b/arch/arm/boot/dts/amlogic/tm2_t962e2_ab319.dts @@ -713,7 +713,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>; @@ -735,6 +735,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"; @@ -846,6 +849,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 { @@ -906,6 +924,13 @@ 0xff610000 0xa000>; }; + amhdmitx: amhdmitx { + compatible = "amlogic, amhdmitx"; + dev_name = "amhdmitx"; + status = "okay"; + repeater_tx = <0x0>; + }; + aocec: aocec { compatible = "amlogic, aocec-tm2"; /*device_name = "aocec";*/ diff --git a/arch/arm/boot/dts/amlogic/tm2_t962x3_ab301.dts b/arch/arm/boot/dts/amlogic/tm2_t962x3_ab301.dts index 03882c9..c8c0803 100644 --- a/arch/arm/boot/dts/amlogic/tm2_t962x3_ab301.dts +++ b/arch/arm/boot/dts/amlogic/tm2_t962x3_ab301.dts @@ -693,7 +693,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>; @@ -715,6 +715,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"; @@ -826,6 +829,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 */ amlvideo2_0 { @@ -902,6 +920,13 @@ 0xff610000 0xa000>; }; + amhdmitx: amhdmitx { + compatible = "amlogic, amhdmitx"; + dev_name = "amhdmitx"; + status = "okay"; + repeater_tx = <0x0>; + }; + aocec: aocec { compatible = "amlogic, aocec-tm2"; /*device_name = "aocec";*/ diff --git a/arch/arm/boot/dts/amlogic/tm2_t962x3_ab309.dts b/arch/arm/boot/dts/amlogic/tm2_t962x3_ab309.dts index e40305d..9c82e09 100644 --- a/arch/arm/boot/dts/amlogic/tm2_t962x3_ab309.dts +++ b/arch/arm/boot/dts/amlogic/tm2_t962x3_ab309.dts @@ -714,7 +714,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>; @@ -736,6 +736,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"; @@ -847,6 +850,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 { @@ -907,6 +925,13 @@ 0xff610000 0xa000>; }; + amhdmitx: amhdmitx { + compatible = "amlogic, amhdmitx"; + dev_name = "amhdmitx"; + status = "okay"; + repeater_tx = <0x0>; + }; + aocec: aocec { compatible = "amlogic, aocec-tm2"; /*device_name = "aocec";*/ diff --git a/arch/arm/boot/dts/amlogic/tm2_t962x3_t312.dts b/arch/arm/boot/dts/amlogic/tm2_t962x3_t312.dts index 70a3519..5e0e86e 100644 --- a/arch/arm/boot/dts/amlogic/tm2_t962x3_t312.dts +++ b/arch/arm/boot/dts/amlogic/tm2_t962x3_t312.dts @@ -699,7 +699,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>; @@ -721,6 +721,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"; @@ -832,6 +835,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 */ amlvideo2_0 { @@ -908,6 +926,13 @@ 0xff610000 0xa000>; }; + amhdmitx: amhdmitx { + compatible = "amlogic, amhdmitx"; + dev_name = "amhdmitx"; + status = "okay"; + repeater_tx = <0x0>; + }; + aocec: aocec { compatible = "amlogic, aocec-tm2"; /*device_name = "aocec";*/ diff --git a/arch/arm64/boot/dts/amlogic/tm2_t962e2_ab311.dts b/arch/arm64/boot/dts/amlogic/tm2_t962e2_ab311.dts index c61acf5..10a7349 100644 --- a/arch/arm64/boot/dts/amlogic/tm2_t962e2_ab311.dts +++ b/arch/arm64/boot/dts/amlogic/tm2_t962e2_ab311.dts @@ -689,7 +689,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>; @@ -711,6 +711,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"; @@ -822,6 +825,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 */ amlvideo2_0 { @@ -898,6 +916,13 @@ 0x0 0xff610000 0x0 0xa000>; }; + amhdmitx: amhdmitx { + compatible = "amlogic, amhdmitx"; + dev_name = "amhdmitx"; + status = "okay"; + repeater_tx = <0x0>; + }; + aocec: aocec { compatible = "amlogic, aocec-tm2"; /*device_name = "aocec";*/ @@ -2178,6 +2203,3 @@ status = "okay"; }; -&amhdmitx { - status = "okay"; -}; diff --git a/arch/arm64/boot/dts/amlogic/tm2_t962e2_ab319.dts b/arch/arm64/boot/dts/amlogic/tm2_t962e2_ab319.dts index 0288d51..31ea486 100644 --- a/arch/arm64/boot/dts/amlogic/tm2_t962e2_ab319.dts +++ b/arch/arm64/boot/dts/amlogic/tm2_t962e2_ab319.dts @@ -713,7 +713,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>; @@ -735,6 +735,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"; @@ -846,6 +849,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 { @@ -906,6 +924,13 @@ 0x0 0xff610000 0x0 0xa000>; }; + amhdmitx: amhdmitx { + compatible = "amlogic, amhdmitx"; + dev_name = "amhdmitx"; + status = "okay"; + repeater_tx = <0x0>; + }; + aocec: aocec { compatible = "amlogic, aocec-tm2"; /*device_name = "aocec";*/ @@ -2062,7 +2087,3 @@ &efuse { status = "okay"; }; - -&amhdmitx { - status = "okay"; -}; diff --git a/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab301.dts b/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab301.dts index 8d23cee..bed8523 100644 --- a/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab301.dts +++ b/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab301.dts @@ -691,7 +691,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>; @@ -713,6 +713,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"; @@ -824,6 +827,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 */ amlvideo2_0 { @@ -900,6 +918,13 @@ 0x0 0xff610000 0x0 0xa000>; }; + amhdmitx: amhdmitx { + compatible = "amlogic, amhdmitx"; + dev_name = "amhdmitx"; + status = "okay"; + repeater_tx = <0x0>; + }; + aocec: aocec { compatible = "amlogic, aocec-tm2"; /*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 b5a2de9..3cb3fee 100644 --- a/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab309.dts +++ b/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab309.dts @@ -714,7 +714,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>; @@ -736,6 +736,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"; @@ -847,6 +850,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 { @@ -907,6 +925,13 @@ 0x0 0xff610000 0x0 0xa000>; }; + amhdmitx: amhdmitx { + compatible = "amlogic, amhdmitx"; + dev_name = "amhdmitx"; + status = "okay"; + repeater_tx = <0x0>; + }; + aocec: aocec { compatible = "amlogic, aocec-tm2"; /*device_name = "aocec";*/ diff --git a/arch/arm64/boot/dts/amlogic/tm2_t962x3_t312.dts b/arch/arm64/boot/dts/amlogic/tm2_t962x3_t312.dts index e650b79..8e1da08 100644 --- a/arch/arm64/boot/dts/amlogic/tm2_t962x3_t312.dts +++ b/arch/arm64/boot/dts/amlogic/tm2_t962x3_t312.dts @@ -702,7 +702,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>; @@ -724,6 +724,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"; @@ -835,6 +838,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 */ amlvideo2_0 { @@ -911,6 +929,13 @@ 0x0 0xff610000 0x0 0xa000>; }; + amhdmitx: amhdmitx { + compatible = "amlogic, amhdmitx"; + dev_name = "amhdmitx"; + status = "okay"; + repeater_tx = <0x0>; + }; + aocec: aocec { compatible = "amlogic, aocec-tm2"; /*device_name = "aocec";*/ diff --git a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.h b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.h index 3915a5f..12574bd 100644 --- a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.h +++ b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.h @@ -34,7 +34,7 @@ #include "hdmi_rx_edid.h" -#define RX_VER0 "ver.2019-08-08" +#define RX_VER0 "ver.2019-09-02" /* * * 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 23aedcf..600df2f 100644 --- a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_hw.c +++ b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_hw.c @@ -1805,7 +1805,6 @@ void hdmirx_hdcp22_hpd(bool value) */ 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); */ @@ -1816,6 +1815,7 @@ void hdcp_22_off(void) hdmirx_hdcp22_esm_rst(); else hdcp22_kill_esm = 0; + hdcp22_clk_en(0); rx_pr("hdcp22 off\n"); } @@ -3048,8 +3048,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); @@ -3060,8 +3060,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; } diff --git a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_repeater.c b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_repeater.c index 155d5ca..9e7e8da 100644 --- a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_repeater.c +++ b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_repeater.c @@ -247,6 +247,7 @@ void rx_hdcp14_resume(void) void rx_set_repeater_support(bool enable) { downstream_repeat_support = enable; + rx_pr("****************=%d\n", downstream_repeat_support); } EXPORT_SYMBOL(rx_set_repeater_support); diff --git a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_wrapper.c b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_wrapper.c index e22a361..5ffad2f 100644 --- a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_wrapper.c +++ b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_wrapper.c @@ -126,14 +126,22 @@ static int wait_no_sig_max = 600; /* to inform ESM whether the cable is connected or not */ bool hpd_to_esm; +MODULE_PARM_DESC(hpd_to_esm, "\n hpd_to_esm\n"); +module_param(hpd_to_esm, bool, 0664); bool hdcp22_kill_esm; MODULE_PARM_DESC(hdcp22_kill_esm, "\n hdcp22_kill_esm\n"); module_param(hdcp22_kill_esm, bool, 0664); +bool hdcp_mode_sel; +MODULE_PARM_DESC(hdcp_mode_sel, "\n hdcp_mode_sel\n"); +module_param(hdcp_mode_sel, bool, 0664); + static int hdcp22_capable_sts = 0xff; bool esm_auth_fail_en; +MODULE_PARM_DESC(esm_auth_fail_en, "\n esm_auth_fail_en\n"); +module_param(esm_auth_fail_en, bool, 0664); /* to inform hdcp_rx22 whether there's any device connected */ bool pwr_sts_to_esm; @@ -142,17 +150,29 @@ static int hdcp22_auth_sts = 0xff; /*the esm reset flag for hdcp_rx22*/ bool esm_reset_flag; +MODULE_PARM_DESC(esm_reset_flag, "\n esm_reset_flag\n"); +module_param(esm_reset_flag, bool, 0664); /* to inform ESM whether the cable is connected or not */ bool video_stable_to_esm; +MODULE_PARM_DESC(video_stable_to_esm, "\n video_stable_to_esm\n"); +module_param(video_stable_to_esm, bool, 0664); bool enable_hdcp22_esm_log; +MODULE_PARM_DESC(enable_hdcp22_esm_log, "\n enable_hdcp22_esm_log\n"); +module_param(enable_hdcp22_esm_log, bool, 0664); bool esm_error_flag; +MODULE_PARM_DESC(esm_error_flag, "\n esm_error_flag\n"); +module_param(esm_error_flag, bool, 0664); bool hdcp22_esm_reset2; +MODULE_PARM_DESC(hdcp22_esm_reset2, "\n hdcp22_esm_reset2\n"); +module_param(hdcp22_esm_reset2, bool, 0664); bool hdcp22_stop_auth; +module_param(hdcp22_stop_auth, bool, 0664); +MODULE_PARM_DESC(hdcp22_stop_auth, "hdcp22_stop_auth"); int hdcp14_on; MODULE_PARM_DESC(hdcp14_on, "\n hdcp14_on\n"); @@ -160,6 +180,8 @@ module_param(hdcp14_on, int, 0664); /*esm recovery mode for changing resolution & hdmi2.0*/ int esm_recovery_mode = ESM_REC_MODE_TMDS; +module_param(esm_recovery_mode, int, 0664); +MODULE_PARM_DESC(esm_recovery_mode, "esm_recovery_mode"); int phy_retry_times = 1; /* No need to judge frame rate while checking timing stable,as there are @@ -1329,7 +1351,7 @@ void fsm_restart(void) /* hdmi_rx_top_edid_update(); */ set_scdc_cfg(1, 0); vic_check_en = false; - dvi_check_en = true; + /* dvi_check_en = true; */ rx.state = FSM_INIT; rx.phy.cable_clk = 0; rx.phy.pll_rate = 0; @@ -1856,7 +1878,7 @@ void hdmirx_open_port(enum tvin_port_e port) //rx.no_signal = false; //rx.wait_no_sig_cnt = 0; vic_check_en = false; - dvi_check_en = true; + /* dvi_check_en = true; */ if (hdmirx_repeat_support()) rx.hdcp.repeat = repeat_plug; else @@ -1880,9 +1902,9 @@ void hdmirx_open_port(enum tvin_port_e port) rx.state = FSM_HPD_LOW; rx_set_cur_hpd(0); /* need reset the whole module when switch port */ - hdmirx_hw_config(); wait_ddc_idle(); hdmi_rx_top_edid_update(); + hdmirx_hw_config(); } else { if (rx.state >= FSM_SIG_STABLE) rx.state = FSM_SIG_STABLE; @@ -2236,8 +2258,8 @@ void rx_main_state_machine(void) */ if (fmt_vic_abnormal()) { if (vic_check_en) { - hdmirx_hw_config(); hdmi_rx_top_edid_update(); + hdmirx_hw_config(); rx.state = FSM_HPD_LOW; } else { rx.state = FSM_WAIT_CLK_STABLE; |