hdmirx: pinmux later so as to prevent abnormal hpd pulse [1/1]
authorHang Cheng <hang.cheng@amlogic.com>
Thu, 10 Oct 2019 08:49:23 +0000 (16:49 +0800)
committerJianxin Pan <jianxin.pan@amlogic.com>
Wed, 16 Oct 2019 02:57:17 +0000 (19:57 -0700)
commit93b805b886707aec84993bcb55b5642e93bc9db5
tree17bc8c11dc269c30465c007023fabe8cc3a1b8d7
parent578aff7cf0d304ca0b8ff945c128e98bb2433c9b
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 <hang.cheng@amlogic.com>
24 files changed:
arch/arm/boot/dts/amlogic/tl1_pxp.dts
arch/arm/boot/dts/amlogic/tl1_t962x2_skt.dts
arch/arm/boot/dts/amlogic/tl1_t962x2_t309.dts
arch/arm/boot/dts/amlogic/tl1_t962x2_x301_1g.dts
arch/arm/boot/dts/amlogic/tl1_t962x2_x301_1g_drm.dts
arch/arm/boot/dts/amlogic/tl1_t962x2_x301_2g.dts
arch/arm/boot/dts/amlogic/tl1_t962x2_x301_2g_drm.dts
arch/arm/boot/dts/amlogic/tm2_pxp.dts
arch/arm/boot/dts/amlogic/tm2_t962e2_ab311.dts
arch/arm/boot/dts/amlogic/tm2_t962e2_ab319.dts
arch/arm/boot/dts/amlogic/tm2_t962x3_ab301.dts
arch/arm/boot/dts/amlogic/tm2_t962x3_ab309.dts
arch/arm/boot/dts/amlogic/tm2_t962x3_t312.dts
arch/arm64/boot/dts/amlogic/tl1_t962x2_t309.dts
arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_1g.dts
arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_1g_drm.dts
arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_2g.dts
arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_2g_drm.dts
arch/arm64/boot/dts/amlogic/tm2_pxp.dts
arch/arm64/boot/dts/amlogic/tm2_t962e2_ab311.dts
arch/arm64/boot/dts/amlogic/tm2_t962e2_ab319.dts
arch/arm64/boot/dts/amlogic/tm2_t962x3_ab301.dts
arch/arm64/boot/dts/amlogic/tm2_t962x3_ab309.dts
arch/arm64/boot/dts/amlogic/tm2_t962x3_t312.dts