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)
committerTao Zeng <tao.zeng@amlogic.com>
Sat, 12 Oct 2019 08:09:04 +0000 (01:09 -0700)
commit952ac4c1d7094130c3f0004c224b1b532ce4a1d9
treed705093c7d94e5c4726a631344c34b977a627ac2
parent4e60c444f86510a0c27cf05039369435a0860205
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