* [PATCH v3 0/2] arm64: dts: qcom: sda660-inforce-ifc6560: fix the ADV7535 interrupt
@ 2026-10-20 8:44 Dmitry Baryshkov
2026-10-20 8:44 ` [PATCH v3 1/2] arm64: dts: qcom: sda660-inforce-ifc6560: fix ADV7535 interrupt parent Dmitry Baryshkov
2026-10-20 8:44 ` [PATCH v3 2/2] arm64: dts: qcom: sda660-inforce-ifc6560: fix ADV7535 interrupt pin Dmitry Baryshkov
0 siblings, 2 replies; 5+ messages in thread
From: Dmitry Baryshkov @ 2026-10-20 8:44 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Dmitry Baryshkov,
Marijn Suijten
Cc: linux-arm-msm, devicetree, linux-kernel
The ADV7535 HDMI bridge on the IFC6560 fails to probe because its
interrupt points at the wrong PMIC: the ADV7535 is wired to PM660
GPIO11, while the DT uses PM660L GPIO11, a power control output driven
by the bootloader. Point the interrupt at the PM660 and configure the
pad as an input instead of relying on its bootloader state.
---
Changes in v3:
- Moved the interrupt to PM660 PMIC.
- Moved the pinctrl state to the PM660 and added the output-disable
property, dropping the review.
- Link to v2: https://patch.msgid.link/20261019-ifc6560-adv-v2-1-ade625df3fe3@oss.qualcomm.com
Changes in v2:
- Dropped extra empty line (Konrad)
- Added a note about pull-up for the IRQ line present on the PCB.
- Link to v1: https://patch.msgid.link/20260920-ifc6560-adv-v1-1-89b1435d00c2@oss.qualcomm.com
To: Bjorn Andersson <andersson@kernel.org>
To: Konrad Dybcio <konradybcio@kernel.org>
To: Abel Vesa <abelvesa@kernel.org>
To: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzk+dt@kernel.org>
To: Conor Dooley <conor+dt@kernel.org>
To: Dmitry Baryshkov <lumag@kernel.org>
To: Marijn Suijten <marijn.suijten@somainline.org>
Cc: linux-arm-msm@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
Dmitry Baryshkov (2):
arm64: dts: qcom: sda660-inforce-ifc6560: fix ADV7535 interrupt parent
arm64: dts: qcom: sda660-inforce-ifc6560: fix ADV7535 interrupt pin
arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dts | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
---
base-commit: 2efb7a11f1aa4d2dc285fe2680cca22cb9f72f64
change-id: 20260920-ifc6560-adv-b8ed1242008b
Best regards,
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH v3 1/2] arm64: dts: qcom: sda660-inforce-ifc6560: fix ADV7535 interrupt parent
2026-10-20 8:44 [PATCH v3 0/2] arm64: dts: qcom: sda660-inforce-ifc6560: fix the ADV7535 interrupt Dmitry Baryshkov
@ 2026-10-20 8:44 ` Dmitry Baryshkov
2026-10-20 8:56 ` Konrad Dybcio
2026-10-20 8:44 ` [PATCH v3 2/2] arm64: dts: qcom: sda660-inforce-ifc6560: fix ADV7535 interrupt pin Dmitry Baryshkov
1 sibling, 1 reply; 5+ messages in thread
From: Dmitry Baryshkov @ 2026-10-20 8:44 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Dmitry Baryshkov,
Marijn Suijten
Cc: linux-arm-msm, devicetree, linux-kernel
Probing the ADV7535 HDMI bridge fails on the IFC6560:
gpio gpiochip3: (800f000.spmi:pmic@2:gpio@c000): gpiochip_lock_as_irq: tried to flag a GPIO set as output for IRQ
gpio gpiochip3: (800f000.spmi:pmic@2:gpio@c000): unable to lock HW IRQ 10 for IRQ
The bridge's interrupt line, HDMI_INT_N, is wired to GPIO11 of the PM660,
not of the PM660L. PM660L GPIO11 is LPKs_CTRL, an output which the
bootloader drives high, so gpiochip_lock_as_irq() refuses to turn it
into an interrupt and requesting the interrupt fails.
Point the interrupt at the PM660 GPIO.
Fixes: 34279d6e3f32 ("arm64: dts: qcom: sdm660: Add initial Inforce IFC6560 board support")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dts b/arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dts
index 9e14f53b552e..eef4cab8c200 100644
--- a/arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dts
+++ b/arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dts
@@ -167,7 +167,7 @@ adv7533: hdmi@39 {
reg = <0x39>, <0x66>;
reg-names = "main", "edid";
- interrupt-parent = <&pm660l_gpios>;
+ interrupt-parent = <&pm660_gpios>;
interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
clocks = <&rpmcc RPM_SMD_BB_CLK2>;
--
2.47.3
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH v3 1/2] arm64: dts: qcom: sda660-inforce-ifc6560: fix ADV7535 interrupt parent
2026-10-20 8:44 ` [PATCH v3 1/2] arm64: dts: qcom: sda660-inforce-ifc6560: fix ADV7535 interrupt parent Dmitry Baryshkov
@ 2026-10-20 8:56 ` Konrad Dybcio
0 siblings, 0 replies; 5+ messages in thread
From: Konrad Dybcio @ 2026-10-20 8:56 UTC (permalink / raw)
To: Dmitry Baryshkov, Bjorn Andersson, Konrad Dybcio, Abel Vesa,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Baryshkov,
Marijn Suijten
Cc: linux-arm-msm, devicetree, linux-kernel
On 10/20/26 10:44 AM, Dmitry Baryshkov wrote:
> Probing the ADV7535 HDMI bridge fails on the IFC6560:
>
> gpio gpiochip3: (800f000.spmi:pmic@2:gpio@c000): gpiochip_lock_as_irq: tried to flag a GPIO set as output for IRQ
> gpio gpiochip3: (800f000.spmi:pmic@2:gpio@c000): unable to lock HW IRQ 10 for IRQ
>
> The bridge's interrupt line, HDMI_INT_N, is wired to GPIO11 of the PM660,
> not of the PM660L. PM660L GPIO11 is LPKs_CTRL, an output which the
> bootloader drives high, so gpiochip_lock_as_irq() refuses to turn it
> into an interrupt and requesting the interrupt fails.
>
> Point the interrupt at the PM660 GPIO.
>
> Fixes: 34279d6e3f32 ("arm64: dts: qcom: sdm660: Add initial Inforce IFC6560 board support")
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v3 2/2] arm64: dts: qcom: sda660-inforce-ifc6560: fix ADV7535 interrupt pin
2026-10-20 8:44 [PATCH v3 0/2] arm64: dts: qcom: sda660-inforce-ifc6560: fix the ADV7535 interrupt Dmitry Baryshkov
2026-10-20 8:44 ` [PATCH v3 1/2] arm64: dts: qcom: sda660-inforce-ifc6560: fix ADV7535 interrupt parent Dmitry Baryshkov
@ 2026-10-20 8:44 ` Dmitry Baryshkov
2026-10-20 8:56 ` Konrad Dybcio
1 sibling, 1 reply; 5+ messages in thread
From: Dmitry Baryshkov @ 2026-10-20 8:44 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Dmitry Baryshkov,
Marijn Suijten
Cc: linux-arm-msm, devicetree, linux-kernel
The board never configures the PM660 GPIO11 pad carrying the ADV7535
interrupt and relies on the state left by the bootloader: an input with
the internal 10 uA pull-down enabled, working against the pull-up which
the board has on that open-drain line.
Add a default pinctrl state switching the pad to a digital input with the
output buffer and the internal bias disabled, applied by
pinctrl_bind_pins() before the driver requests the interrupt.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dts | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dts b/arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dts
index eef4cab8c200..b3e4a7c378b4 100644
--- a/arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dts
+++ b/arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dts
@@ -170,6 +170,9 @@ adv7533: hdmi@39 {
interrupt-parent = <&pm660_gpios>;
interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
+ pinctrl-0 = <&adv7533_int_default>;
+ pinctrl-names = "default";
+
clocks = <&rpmcc RPM_SMD_BB_CLK2>;
clock-names = "cec";
/*
@@ -283,6 +286,15 @@ sw_ctrl_default: sw-ctrl-default-state {
input-enable;
bias-pull-down;
};
+
+ adv7533_int_default: adv7533-int-default-state {
+ pins = "gpio11";
+ function = "normal";
+ input-enable;
+ output-disable;
+ /* pull-up on board */
+ bias-disable;
+ };
};
&qusb2phy0 {
--
2.47.3
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH v3 2/2] arm64: dts: qcom: sda660-inforce-ifc6560: fix ADV7535 interrupt pin
2026-10-20 8:44 ` [PATCH v3 2/2] arm64: dts: qcom: sda660-inforce-ifc6560: fix ADV7535 interrupt pin Dmitry Baryshkov
@ 2026-10-20 8:56 ` Konrad Dybcio
0 siblings, 0 replies; 5+ messages in thread
From: Konrad Dybcio @ 2026-10-20 8:56 UTC (permalink / raw)
To: Dmitry Baryshkov, Bjorn Andersson, Konrad Dybcio, Abel Vesa,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Baryshkov,
Marijn Suijten
Cc: linux-arm-msm, devicetree, linux-kernel
On 10/20/26 10:44 AM, Dmitry Baryshkov wrote:
> The board never configures the PM660 GPIO11 pad carrying the ADV7535
> interrupt and relies on the state left by the bootloader: an input with
> the internal 10 uA pull-down enabled, working against the pull-up which
> the board has on that open-drain line.
>
> Add a default pinctrl state switching the pad to a digital input with the
> output buffer and the internal bias disabled, applied by
> pinctrl_bind_pins() before the driver requests the interrupt.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-10-20 8:56 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-20 8:44 [PATCH v3 0/2] arm64: dts: qcom: sda660-inforce-ifc6560: fix the ADV7535 interrupt Dmitry Baryshkov
2026-10-20 8:44 ` [PATCH v3 1/2] arm64: dts: qcom: sda660-inforce-ifc6560: fix ADV7535 interrupt parent Dmitry Baryshkov
2026-10-20 8:56 ` Konrad Dybcio
2026-10-20 8:44 ` [PATCH v3 2/2] arm64: dts: qcom: sda660-inforce-ifc6560: fix ADV7535 interrupt pin Dmitry Baryshkov
2026-10-20 8:56 ` Konrad Dybcio
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®