From 952ac4c1d7094130c3f0004c224b1b532ce4a1d9 Mon Sep 17 00:00:00 2001 From: Hang Cheng Date: Thu, 10 Oct 2019 16:49:23 +0800 Subject: [PATCH] hdmirx: pinmux later so as to prevent abnormal hpd pulse [1/1] PD#SWPL-15003 Problem: There's a pull high pulse of hpd when bootup. Reason: pinctl-names is set "default" in dts, when bootup, hdmirx related pinmux will be set by device driver which is before hdmirx probe. As hpd pin of ic is default low, after reverse by triode, it will output high on hdmi receptacle. And after hdmirx probe, hpd invertion will be enabled before finally output from ic, so it will become normally low again on hdmi receptacle. So there's a pull high pulse(1~4ms) output. Solution: GPIOW is high(1.4V) before pinmux, so hpd pin of receptacle is low before pinmux. Need to enable hpd invertion before GPIOW is muxed to hpd function. the way to delay pinmux is to change pinctrl-names of dts from default to others. Verify: TL1 Change-Id: Ica54484fa4c3da46e7b1ddc72a3c5f44fd4a71f6 Signed-off-by: Hang Cheng --- arch/arm/boot/dts/amlogic/tl1_pxp.dts | 2 +- arch/arm/boot/dts/amlogic/tl1_t962x2_skt.dts | 2 +- arch/arm/boot/dts/amlogic/tl1_t962x2_t309.dts | 2 +- arch/arm/boot/dts/amlogic/tl1_t962x2_x301_1g.dts | 2 +- arch/arm/boot/dts/amlogic/tl1_t962x2_x301_1g_drm.dts | 2 +- arch/arm/boot/dts/amlogic/tl1_t962x2_x301_2g.dts | 2 +- arch/arm/boot/dts/amlogic/tl1_t962x2_x301_2g_drm.dts | 2 +- arch/arm/boot/dts/amlogic/tm2_pxp.dts | 2 +- arch/arm/boot/dts/amlogic/tm2_t962e2_ab311.dts | 2 +- arch/arm/boot/dts/amlogic/tm2_t962e2_ab319.dts | 2 +- arch/arm/boot/dts/amlogic/tm2_t962x3_ab301.dts | 2 +- arch/arm/boot/dts/amlogic/tm2_t962x3_ab309.dts | 2 +- arch/arm/boot/dts/amlogic/tm2_t962x3_t312.dts | 2 +- arch/arm64/boot/dts/amlogic/tl1_t962x2_t309.dts | 2 +- arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_1g.dts | 2 +- arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_1g_drm.dts | 2 +- arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_2g.dts | 2 +- arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_2g_drm.dts | 2 +- arch/arm64/boot/dts/amlogic/tm2_pxp.dts | 2 +- arch/arm64/boot/dts/amlogic/tm2_t962e2_ab311.dts | 2 +- arch/arm64/boot/dts/amlogic/tm2_t962e2_ab319.dts | 2 +- arch/arm64/boot/dts/amlogic/tm2_t962x3_ab301.dts | 2 +- arch/arm64/boot/dts/amlogic/tm2_t962x3_ab309.dts | 2 +- arch/arm64/boot/dts/amlogic/tm2_t962x3_t312.dts | 2 +- 24 files changed, 24 insertions(+), 24 deletions(-) diff --git a/arch/arm/boot/dts/amlogic/tl1_pxp.dts b/arch/arm/boot/dts/amlogic/tl1_pxp.dts index 2bc492c07ab5..070ace66aaf8 100644 --- a/arch/arm/boot/dts/amlogic/tl1_pxp.dts +++ b/arch/arm/boot/dts/amlogic/tl1_pxp.dts @@ -534,7 +534,7 @@ #size-cells=<1>; memory-region = <&hdmirx_emp_cma_reserved>; status = "okay"; - pinctrl-names = "default"; + pinctrl-names = "hdmirx_pins"; pinctrl-0 = <&hdmirx_a_mux &hdmirx_b_mux &hdmirx_c_mux>; repeat = <0>; diff --git a/arch/arm/boot/dts/amlogic/tl1_t962x2_skt.dts b/arch/arm/boot/dts/amlogic/tl1_t962x2_skt.dts index 769b910de9fa..93309e6281fe 100644 --- a/arch/arm/boot/dts/amlogic/tl1_t962x2_skt.dts +++ b/arch/arm/boot/dts/amlogic/tl1_t962x2_skt.dts @@ -830,7 +830,7 @@ #size-cells=<1>; memory-region = <&hdmirx_emp_cma_reserved>; status = "okay"; - pinctrl-names = "default"; + pinctrl-names = "hdmirx_pins"; pinctrl-0 = <&hdmirx_a_mux &hdmirx_b_mux &hdmirx_c_mux>; repeat = <0>; diff --git a/arch/arm/boot/dts/amlogic/tl1_t962x2_t309.dts b/arch/arm/boot/dts/amlogic/tl1_t962x2_t309.dts index b22f1b4e7453..351483f1304e 100644 --- a/arch/arm/boot/dts/amlogic/tl1_t962x2_t309.dts +++ b/arch/arm/boot/dts/amlogic/tl1_t962x2_t309.dts @@ -820,7 +820,7 @@ #size-cells=<1>; memory-region = <&hdmirx_emp_cma_reserved>; status = "okay"; - pinctrl-names = "default"; + pinctrl-names = "hdmirx_pins"; pinctrl-0 = <&hdmirx_a_mux &hdmirx_b_mux &hdmirx_c_mux>; repeat = <0>; diff --git a/arch/arm/boot/dts/amlogic/tl1_t962x2_x301_1g.dts b/arch/arm/boot/dts/amlogic/tl1_t962x2_x301_1g.dts index 1fe3dcc2adaf..e9a56e2c5eec 100644 --- a/arch/arm/boot/dts/amlogic/tl1_t962x2_x301_1g.dts +++ b/arch/arm/boot/dts/amlogic/tl1_t962x2_x301_1g.dts @@ -876,7 +876,7 @@ #size-cells=<1>; memory-region = <&hdmirx_emp_cma_reserved>; status = "okay"; - pinctrl-names = "default"; + pinctrl-names = "hdmirx_pins"; pinctrl-0 = <&hdmirx_a_mux &hdmirx_b_mux &hdmirx_c_mux>; repeat = <0>; diff --git a/arch/arm/boot/dts/amlogic/tl1_t962x2_x301_1g_drm.dts b/arch/arm/boot/dts/amlogic/tl1_t962x2_x301_1g_drm.dts index d042d2fe17c0..a559538005c4 100644 --- a/arch/arm/boot/dts/amlogic/tl1_t962x2_x301_1g_drm.dts +++ b/arch/arm/boot/dts/amlogic/tl1_t962x2_x301_1g_drm.dts @@ -870,7 +870,7 @@ #size-cells=<1>; memory-region = <&hdmirx_emp_cma_reserved>; status = "okay"; - pinctrl-names = "default"; + pinctrl-names = "hdmirx_pins"; pinctrl-0 = <&hdmirx_a_mux &hdmirx_b_mux &hdmirx_c_mux>; repeat = <0>; diff --git a/arch/arm/boot/dts/amlogic/tl1_t962x2_x301_2g.dts b/arch/arm/boot/dts/amlogic/tl1_t962x2_x301_2g.dts index 7a06605b945b..d25d87c572aa 100644 --- a/arch/arm/boot/dts/amlogic/tl1_t962x2_x301_2g.dts +++ b/arch/arm/boot/dts/amlogic/tl1_t962x2_x301_2g.dts @@ -871,7 +871,7 @@ #size-cells=<1>; memory-region = <&hdmirx_emp_cma_reserved>; status = "okay"; - pinctrl-names = "default"; + pinctrl-names = "hdmirx_pins"; pinctrl-0 = <&hdmirx_a_mux &hdmirx_b_mux &hdmirx_c_mux>; repeat = <0>; diff --git a/arch/arm/boot/dts/amlogic/tl1_t962x2_x301_2g_drm.dts b/arch/arm/boot/dts/amlogic/tl1_t962x2_x301_2g_drm.dts index 02c3c78d8730..b1006f836756 100644 --- a/arch/arm/boot/dts/amlogic/tl1_t962x2_x301_2g_drm.dts +++ b/arch/arm/boot/dts/amlogic/tl1_t962x2_x301_2g_drm.dts @@ -865,7 +865,7 @@ #size-cells=<1>; memory-region = <&hdmirx_emp_cma_reserved>; status = "okay"; - pinctrl-names = "default"; + pinctrl-names = "hdmirx_pins"; pinctrl-0 = <&hdmirx_a_mux &hdmirx_b_mux &hdmirx_c_mux>; repeat = <0>; diff --git a/arch/arm/boot/dts/amlogic/tm2_pxp.dts b/arch/arm/boot/dts/amlogic/tm2_pxp.dts index 34910ea376bd..739c2a5cc1f2 100644 --- a/arch/arm/boot/dts/amlogic/tm2_pxp.dts +++ b/arch/arm/boot/dts/amlogic/tm2_pxp.dts @@ -570,7 +570,7 @@ #size-cells=<1>; memory-region = <&hdmirx_emp_cma_reserved>; status = "okay"; - pinctrl-names = "default"; + pinctrl-names = "hdmirx_pins"; pinctrl-0 = <&hdmirx_a_mux &hdmirx_b_mux &hdmirx_c_mux>; repeat = <0>; diff --git a/arch/arm/boot/dts/amlogic/tm2_t962e2_ab311.dts b/arch/arm/boot/dts/amlogic/tm2_t962e2_ab311.dts index ef9dabbded09..2428ec780746 100644 --- a/arch/arm/boot/dts/amlogic/tm2_t962e2_ab311.dts +++ b/arch/arm/boot/dts/amlogic/tm2_t962e2_ab311.dts @@ -868,7 +868,7 @@ #size-cells=<1>; memory-region = <&hdmirx_emp_cma_reserved>; status = "okay"; - pinctrl-names = "default"; + pinctrl-names = "hdmirx_pins"; pinctrl-0 = <&hdmirx_a_mux &hdmirx_b_mux &hdmirx_c_mux>; repeat = <0>; diff --git a/arch/arm/boot/dts/amlogic/tm2_t962e2_ab319.dts b/arch/arm/boot/dts/amlogic/tm2_t962e2_ab319.dts index d728aa6e64f0..2452c8751cdc 100644 --- a/arch/arm/boot/dts/amlogic/tm2_t962e2_ab319.dts +++ b/arch/arm/boot/dts/amlogic/tm2_t962e2_ab319.dts @@ -872,7 +872,7 @@ #size-cells=<1>; memory-region = <&hdmirx_emp_cma_reserved>; status = "okay"; - pinctrl-names = "default"; + pinctrl-names = "hdmirx_pins"; pinctrl-0 = <&hdmirx_a_mux &hdmirx_b_mux &hdmirx_c_mux>; repeat = <0>; diff --git a/arch/arm/boot/dts/amlogic/tm2_t962x3_ab301.dts b/arch/arm/boot/dts/amlogic/tm2_t962x3_ab301.dts index c9342f1b38b7..31e9d0c00b5d 100644 --- a/arch/arm/boot/dts/amlogic/tm2_t962x3_ab301.dts +++ b/arch/arm/boot/dts/amlogic/tm2_t962x3_ab301.dts @@ -850,7 +850,7 @@ #size-cells=<1>; memory-region = <&hdmirx_emp_cma_reserved>; status = "okay"; - pinctrl-names = "default"; + pinctrl-names = "hdmirx_pins"; pinctrl-0 = <&hdmirx_a_mux &hdmirx_b_mux &hdmirx_c_mux>; repeat = <0>; diff --git a/arch/arm/boot/dts/amlogic/tm2_t962x3_ab309.dts b/arch/arm/boot/dts/amlogic/tm2_t962x3_ab309.dts index 78d8627ec287..79440ee3eba8 100644 --- a/arch/arm/boot/dts/amlogic/tm2_t962x3_ab309.dts +++ b/arch/arm/boot/dts/amlogic/tm2_t962x3_ab309.dts @@ -855,7 +855,7 @@ #size-cells=<1>; memory-region = <&hdmirx_emp_cma_reserved>; status = "okay"; - pinctrl-names = "default"; + pinctrl-names = "hdmirx_pins"; pinctrl-0 = <&hdmirx_a_mux &hdmirx_b_mux &hdmirx_c_mux>; repeat = <0>; diff --git a/arch/arm/boot/dts/amlogic/tm2_t962x3_t312.dts b/arch/arm/boot/dts/amlogic/tm2_t962x3_t312.dts index b38f50ada858..e20277bfaf5a 100644 --- a/arch/arm/boot/dts/amlogic/tm2_t962x3_t312.dts +++ b/arch/arm/boot/dts/amlogic/tm2_t962x3_t312.dts @@ -856,7 +856,7 @@ #size-cells=<1>; memory-region = <&hdmirx_emp_cma_reserved>; status = "okay"; - pinctrl-names = "default"; + pinctrl-names = "hdmirx_pins"; pinctrl-0 = <&hdmirx_a_mux &hdmirx_b_mux &hdmirx_c_mux>; repeat = <0>; diff --git a/arch/arm64/boot/dts/amlogic/tl1_t962x2_t309.dts b/arch/arm64/boot/dts/amlogic/tl1_t962x2_t309.dts index 9118312ed0ee..831b75fa2679 100644 --- a/arch/arm64/boot/dts/amlogic/tl1_t962x2_t309.dts +++ b/arch/arm64/boot/dts/amlogic/tl1_t962x2_t309.dts @@ -818,7 +818,7 @@ #size-cells=<1>; memory-region = <&hdmirx_emp_cma_reserved>; status = "okay"; - pinctrl-names = "default"; + pinctrl-names = "hdmirx_pins"; pinctrl-0 = <&hdmirx_a_mux &hdmirx_b_mux &hdmirx_c_mux>; repeat = <0>; diff --git a/arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_1g.dts b/arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_1g.dts index 3fe9871df997..dbb0f5650fb8 100644 --- a/arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_1g.dts +++ b/arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_1g.dts @@ -873,7 +873,7 @@ #size-cells=<1>; memory-region = <&hdmirx_emp_cma_reserved>; status = "okay"; - pinctrl-names = "default"; + pinctrl-names = "hdmirx_pins"; pinctrl-0 = <&hdmirx_a_mux &hdmirx_b_mux &hdmirx_c_mux>; repeat = <0>; diff --git a/arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_1g_drm.dts b/arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_1g_drm.dts index c800f71098c7..ddbc0b51930b 100644 --- a/arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_1g_drm.dts +++ b/arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_1g_drm.dts @@ -866,7 +866,7 @@ #size-cells=<1>; memory-region = <&hdmirx_emp_cma_reserved>; status = "okay"; - pinctrl-names = "default"; + pinctrl-names = "hdmirx_pins"; pinctrl-0 = <&hdmirx_a_mux &hdmirx_b_mux &hdmirx_c_mux>; repeat = <0>; diff --git a/arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_2g.dts b/arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_2g.dts index 5c8c58eb97bd..d5b45c05a69c 100644 --- a/arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_2g.dts +++ b/arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_2g.dts @@ -867,7 +867,7 @@ #size-cells=<1>; memory-region = <&hdmirx_emp_cma_reserved>; status = "okay"; - pinctrl-names = "default"; + pinctrl-names = "hdmirx_pins"; pinctrl-0 = <&hdmirx_a_mux &hdmirx_b_mux &hdmirx_c_mux>; repeat = <0>; diff --git a/arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_2g_drm.dts b/arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_2g_drm.dts index 4505f99916eb..a41eb68bcfae 100644 --- a/arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_2g_drm.dts +++ b/arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_2g_drm.dts @@ -860,7 +860,7 @@ #size-cells=<1>; memory-region = <&hdmirx_emp_cma_reserved>; status = "okay"; - pinctrl-names = "default"; + pinctrl-names = "hdmirx_pins"; pinctrl-0 = <&hdmirx_a_mux &hdmirx_b_mux &hdmirx_c_mux>; repeat = <0>; diff --git a/arch/arm64/boot/dts/amlogic/tm2_pxp.dts b/arch/arm64/boot/dts/amlogic/tm2_pxp.dts index d21ddfe9abef..94844443a2da 100644 --- a/arch/arm64/boot/dts/amlogic/tm2_pxp.dts +++ b/arch/arm64/boot/dts/amlogic/tm2_pxp.dts @@ -570,7 +570,7 @@ #size-cells=<1>; memory-region = <&hdmirx_emp_cma_reserved>; status = "okay"; - pinctrl-names = "default"; + pinctrl-names = "hdmirx_pins"; pinctrl-0 = <&hdmirx_a_mux &hdmirx_b_mux &hdmirx_c_mux>; repeat = <0>; diff --git a/arch/arm64/boot/dts/amlogic/tm2_t962e2_ab311.dts b/arch/arm64/boot/dts/amlogic/tm2_t962e2_ab311.dts index 5b4aeaee3e6c..6d168108e16c 100644 --- a/arch/arm64/boot/dts/amlogic/tm2_t962e2_ab311.dts +++ b/arch/arm64/boot/dts/amlogic/tm2_t962e2_ab311.dts @@ -864,7 +864,7 @@ #size-cells=<1>; memory-region = <&hdmirx_emp_cma_reserved>; status = "okay"; - pinctrl-names = "default"; + pinctrl-names = "hdmirx_pins"; pinctrl-0 = <&hdmirx_a_mux &hdmirx_b_mux &hdmirx_c_mux>; repeat = <0>; diff --git a/arch/arm64/boot/dts/amlogic/tm2_t962e2_ab319.dts b/arch/arm64/boot/dts/amlogic/tm2_t962e2_ab319.dts index 4561ec5c9f89..3461406180dc 100644 --- a/arch/arm64/boot/dts/amlogic/tm2_t962e2_ab319.dts +++ b/arch/arm64/boot/dts/amlogic/tm2_t962e2_ab319.dts @@ -872,7 +872,7 @@ #size-cells=<1>; memory-region = <&hdmirx_emp_cma_reserved>; status = "okay"; - pinctrl-names = "default"; + pinctrl-names = "hdmirx_pins"; pinctrl-0 = <&hdmirx_a_mux &hdmirx_b_mux &hdmirx_c_mux>; repeat = <0>; diff --git a/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab301.dts b/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab301.dts index 7e70672141a3..b355b510a5cd 100644 --- a/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab301.dts +++ b/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab301.dts @@ -848,7 +848,7 @@ #size-cells=<1>; memory-region = <&hdmirx_emp_cma_reserved>; status = "okay"; - pinctrl-names = "default"; + pinctrl-names = "hdmirx_pins"; pinctrl-0 = <&hdmirx_a_mux &hdmirx_b_mux &hdmirx_c_mux>; repeat = <0>; diff --git a/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab309.dts b/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab309.dts index 015932244836..21413afe006f 100644 --- a/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab309.dts +++ b/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab309.dts @@ -855,7 +855,7 @@ #size-cells=<1>; memory-region = <&hdmirx_emp_cma_reserved>; status = "okay"; - pinctrl-names = "default"; + pinctrl-names = "hdmirx_pins"; pinctrl-0 = <&hdmirx_a_mux &hdmirx_b_mux &hdmirx_c_mux>; repeat = <0>; diff --git a/arch/arm64/boot/dts/amlogic/tm2_t962x3_t312.dts b/arch/arm64/boot/dts/amlogic/tm2_t962x3_t312.dts index dbcd7a347d9f..b0e33240bc51 100644 --- a/arch/arm64/boot/dts/amlogic/tm2_t962x3_t312.dts +++ b/arch/arm64/boot/dts/amlogic/tm2_t962x3_t312.dts @@ -859,7 +859,7 @@ #size-cells=<1>; memory-region = <&hdmirx_emp_cma_reserved>; status = "okay"; - pinctrl-names = "default"; + pinctrl-names = "hdmirx_pins"; pinctrl-0 = <&hdmirx_a_mux &hdmirx_b_mux &hdmirx_c_mux>; repeat = <0>;