Hi Steev
On 2/16/2022 8:52 AM, Steev Klimaszewski wrote:
Hi Sandeep,
On 2/15/22 3:40 AM, Sandeep Maheswaram wrote:
Hi Steev,
Can you try with IRQ_TYPE_EDGE_BOTH in your device tree and see if
you are getting the issue.
Regards
Sandeep
I just tested here, changing both of the IRQ_TYPE_LEVEL_HIGH in the
yoga's dts to EDGE_BOTH and I still do not get a booting system.
-- Steev
Please let us know what devices are connected to your setup and share
the device tree file you are using.
Please share the failure logs also,
Regards
Sandeep
The setup is a Lenovo Yoga C630 (Windows on ARM laptop). I do not
have any sort of serial console access to the device, unfortunately.
Even when taking it apart, it seems to have some sort of 26pin debug
adapter port that I've never seen before which you can see on the far
right in this picture of the motherboard at
https://i.ebayimg.com/images/g/a2EAAOSwwzZiCxPM/s-l1600.jpg
I do not have anything plugged in to the USB ports (sometimes the
power adapter, but I have tried both on mains as well as off.)
I am using this diff
diff --git a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
index eab3f00c603235..c54042b9e21df2 100644
--- a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
+++ b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
@@ -370,7 +370,7 @@
reg = <0x15>;
hid-descr-addr = <0x1>;
- interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_HIGH>;
+ interrupts-extended = <&tlmm 37 IRQ_TYPE_EDGE_BOTH>;
};
tsc2: hid@2c {
@@ -378,7 +378,7 @@
reg = <0x2c>;
hid-descr-addr = <0x20>;
- interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_HIGH>;
+ interrupts-extended = <&tlmm 37 IRQ_TYPE_EDGE_BOTH>;
};
};
Which I added as a commit to my kernel tree, and pushed so you can see
the full dts here:
https://github.com/steev/linux/blob/c8234e664491e35e3edcd211f3b78c04436402b0/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
I am booting with the command line arguments of
clk_ignore_unused verbose module_blacklist=msm video=efifb
earlyconsole=efifb
I can't provide a boot log, because I'm not actually getting
anything. Booting a different kernel, and it doesn't appear that
anything is logged at all.
-- steev
Can you try with below change
diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi
b/arch/arm64/boot/dts/qcom/sdm845.dtsi
index 0d6286d..0a9c0f7 100644
--- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
@@ -3796,8 +3796,8 @@
interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 486 IRQ_TYPE_LEVEL_HIGH>,
- <GIC_SPI 488 IRQ_TYPE_LEVEL_HIGH>,
- <GIC_SPI 489 IRQ_TYPE_LEVEL_HIGH>;
+ <GIC_SPI 488 IRQ_TYPE_EDGE_BOTH>,
+ <GIC_SPI 489 IRQ_TYPE_EDGE_BOTH>;
interrupt-names = "hs_phy_irq", "ss_phy_irq",
"dm_hs_phy_irq", "dp_hs_phy_irq";
@@ -3844,8 +3844,8 @@
interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 487 IRQ_TYPE_LEVEL_HIGH>,
- <GIC_SPI 490 IRQ_TYPE_LEVEL_HIGH>,
- <GIC_SPI 491 IRQ_TYPE_LEVEL_HIGH>;
+ <GIC_SPI 490 IRQ_TYPE_EDGE_BOTH>,
+ <GIC_SPI 491 IRQ_TYPE_EDGE_BOTH>;
interrupt-names = "hs_phy_irq", "ss_phy_irq",
"dm_hs_phy_irq", "dp_hs_phy_irq";
Regards
Sandeep