Hi Tony, Nikolaus, On Mon, Jun 11, 2018 at 9:08 AM Tony Lindgren tony@atomide.com wrote:
- H. Nikolaus Schaller hns@goldelico.com [180610 08:33]:
Hi Tony, I've observed this message on the Pyra with letux-4.17.0-lpae kernel:
[ 1.806477] platform 48070000.i2c: Retrying from deferred list [ 1.813802] ------------[ cut here ]------------ [ 1.818666] WARNING: CPU: 1 PID: 778 at drivers/irqchip/irq-gic.c:1016 gic_irq_domain_translate+0x78/0x100
I tried following patch: diff --git a/arch/arm/boot/dts/omap5-board-common.dtsi b/arch/arm/boot/dts/omap5-board-common.dtsi index 218892b..75684c5 100644 --- a/arch/arm/boot/dts/omap5-board-common.dtsi +++ b/arch/arm/boot/dts/omap5-board-common.dtsi @@ -393,7 +393,7 @@
palmas: palmas@48 { compatible = "ti,palmas"; - interrupts = <GIC_SPI 7 IRQ_TYPE_NONE>; /* IRQ_SYS_1N */ + interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N */ reg = <0x48>; interrupt-controller; #interrupt-cells = <2>; @@ -425,7 +425,7 @@ rtc { compatible = "ti,palmas-rtc"; interrupt-parent = <&palmas>; - interrupts = <8 IRQ_TYPE_NONE>; + interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; ti,backup-battery-chargeable; ti,backup-battery-charge-high-current; }; @@ -443,7 +443,7 @@ palmas_pmic { compatible = "ti,palmas-pmic"; interrupt-parent = <&palmas>; - interrupts = <14 IRQ_TYPE_NONE>; + interrupts = <14 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "short-irq";
ti,ldo6-vibrator; @@ -659,7 +659,7 @@ pinctrl-names = "default"; pinctrl-0 = <&twl6040_pins>;
- interrupts = <GIC_SPI 119 IRQ_TYPE_NONE>; /* IRQ_SYS_2N cascaded to gic */ + interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
/* audpwron gpio defined in the board specific dts */
and it looks like board boots fine. I just see an issue with gpadc and measuring voltage like: [ 91.059460] power_supply pyra-battery: driver failed to report `voltage_now' property: -110 [ 96.078130] palmas-gpadc 48070000.i2c:palmas@48:gpadc: conversion not completed [ 96.085980] palmas-gpadc 48070000.i2c:palmas@48:gpadc: ADC start conversion failed [ 96.100513] read channel error
it's just blind test without knowing too much details (I'm new in Pyra development ;) ) I tried also IRQ_TYPE_LEVEL_LOW but in this case when set for palmas board cannot find rootfs. I'll try to do some checks why gpadc is not working though.
Yes that needs to be fixed for all omap5 for the IRQ_TYPE_NONE users. We just need to set the proper EDGE/LEVEL and the direction for them in the omap5.dtsi file.
The code has a comment:
1015 /* Make it clear that broken DTs are... broken */ 1016 WARN_ON(*type == IRQ_TYPE_NONE);
This would mean that something in the core DT is broken as we import the omap5-common.dtsi.
I have researched a little:
...
Should this be #interrupt-cells = <2>?
No we just need to stop using IRQ_TYPE_NONE :)
Regards,
Tony _______________________________________________ http://projects.goldelico.com/p/gta04-kernel/ Letux-kernel mailing list Letux-kernel@openphoenux.org http://lists.goldelico.com/mailman/listinfo.cgi/letux-kernel
BR,
marek