summaryrefslogtreecommitdiff
authorLei 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)
commit94f77912be699a40faf223a58780bff5c1f09695 (patch)
tree72610b70a65ddf26ee15f8efb6d898ecb7c77934
parent7fb543df987a65e8fd92348857d8fbeebd9e1246 (diff)
downloadcommon-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>
Diffstat
-rw-r--r--arch/arm/boot/dts/amlogic/tm2_t962e2_ab311.dts30
-rw-r--r--arch/arm/boot/dts/amlogic/tm2_t962e2_ab319.dts27
-rw-r--r--arch/arm/boot/dts/amlogic/tm2_t962x3_ab301.dts27
-rw-r--r--arch/arm/boot/dts/amlogic/tm2_t962x3_ab309.dts27
-rw-r--r--arch/arm/boot/dts/amlogic/tm2_t962x3_t312.dts27
-rw-r--r--arch/arm64/boot/dts/amlogic/tm2_t962e2_ab311.dts30
-rw-r--r--arch/arm64/boot/dts/amlogic/tm2_t962e2_ab319.dts31
-rw-r--r--arch/arm64/boot/dts/amlogic/tm2_t962x3_ab301.dts27
-rw-r--r--arch/arm64/boot/dts/amlogic/tm2_t962x3_ab309.dts27
-rw-r--r--arch/arm64/boot/dts/amlogic/tm2_t962x3_t312.dts27
-rw-r--r--drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.h2
-rw-r--r--drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_hw.c6
-rw-r--r--drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_repeater.c1
-rw-r--r--drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_wrapper.c30
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;