ARM: realview: remove eb-mp clcd IRQ

Message ID 20171221213146.3146805-1-arnd@arndb.de
State New
Headers show
Series
  • ARM: realview: remove eb-mp clcd IRQ
Related show

Commit Message

Arnd Bergmann Dec. 21, 2017, 9:31 p.m.
We get a dtc warning about the CLCD interrupt being invalid:

arch/arm/boot/dts/arm-realview-eb-11mp-ctrevb.dtb: Warning (interrupts_property): interrupts size is (8), expected multiple of 12 in /fpga/charlcd@10008000

According to the datasheet I found and the old board file, this
line is not connected, so I'm removing the respective properties here.

Link: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0411d/index.html
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

---
 arch/arm/boot/dts/arm-realview-eb-mp.dtsi | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

-- 
2.9.0

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Linus Walleij Dec. 21, 2017, 10:08 p.m. | #1
On Thu, Dec 21, 2017 at 10:31 PM, Arnd Bergmann <arnd@arndb.de> wrote:

> We get a dtc warning about the CLCD interrupt being invalid:

>

> arch/arm/boot/dts/arm-realview-eb-11mp-ctrevb.dtb: Warning (interrupts_property): interrupts size is (8), expected multiple of 12 in /fpga/charlcd@10008000

>

> According to the datasheet I found and the old board file, this

> line is not connected, so I'm removing the respective properties here.

>

> Link: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0411d/index.html

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>


There is some confusion here. There is CLCD "Color LCD"
which is just a code name for PrimeCell PL111 and there is the actual
character LCD which is a hardware thin to talk to a character LCD with
some characters on.

> diff --git a/arch/arm/boot/dts/arm-realview-eb-mp.dtsi b/arch/arm/boot/dts/arm-realview-eb-mp.dtsi


So this DTS is for the ARM 11 MP core tile which is described in
DUI0318F. It doesn't even list an IRQ for the character LCD.

>  &charlcd {

> -       interrupt-parent = <&intc>;

> -       interrupts = <0  IRQ_TYPE_LEVEL_HIGH>;


This was probably me thinking to go back and fill in the right
IRQ and forgetting to actually do it. Sorry :(

> +       /* CLCD is not connected here */


Call it character LCD instead to avoid confusion please.

> +       /delete-property/interrupt-parent;

> +       /delete-property/interrupts;


I don't understand this delete-property business (first time
I see it, but the top level
DTSI (arm-realview-eb.dtsi) does not define any interrupt
so can't you just delete this whole &charlcd?

I do think the reference design has a character LCD, and I
do think it has an interrupt, it's just undocumented so
someone with this board would have to test it manually
to figure out which line it is. Whoever uses this design
will get to it if ever.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Arnd Bergmann Dec. 22, 2017, 7:12 a.m. | #2
On Thu, Dec 21, 2017 at 11:08 PM, Linus Walleij
<linus.walleij@linaro.org> wrote:
> On Thu, Dec 21, 2017 at 10:31 PM, Arnd Bergmann <arnd@arndb.de> wrote:

>

>> We get a dtc warning about the CLCD interrupt being invalid:

>>

>> arch/arm/boot/dts/arm-realview-eb-11mp-ctrevb.dtb: Warning (interrupts_property): interrupts size is (8), expected multiple of 12 in /fpga/charlcd@10008000

>>

>> According to the datasheet I found and the old board file, this

>> line is not connected, so I'm removing the respective properties here.

>>

>> Link: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0411d/index.html

>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

>

> There is some confusion here. There is CLCD "Color LCD"

> which is just a code name for PrimeCell PL111 and there is the actual

> character LCD which is a hardware thin to talk to a character LCD with

> some characters on.

>

>> diff --git a/arch/arm/boot/dts/arm-realview-eb-mp.dtsi b/arch/arm/boot/dts/arm-realview-eb-mp.dtsi

>

> So this DTS is for the ARM 11 MP core tile which is described in

> DUI0318F. It doesn't even list an IRQ for the character LCD.

>

>>  &charlcd {

>> -       interrupt-parent = <&intc>;

>> -       interrupts = <0  IRQ_TYPE_LEVEL_HIGH>;

>

> This was probably me thinking to go back and fill in the right

> IRQ and forgetting to actually do it. Sorry :(

>

>> +       /* CLCD is not connected here */

>

> Call it character LCD instead to avoid confusion please.

>

>> +       /delete-property/interrupt-parent;

>> +       /delete-property/interrupts;

>

> I don't understand this delete-property business (first time

> I see it, but the top level

> DTSI (arm-realview-eb.dtsi) does not define any interrupt

> so can't you just delete this whole &charlcd?

>

> I do think the reference design has a character LCD, and I

> do think it has an interrupt, it's just undocumented so

> someone with this board would have to test it manually

> to figure out which line it is. Whoever uses this design

> will get to it if ever.


Sounds good, can you prepare a patch for this?

We are getting very close to zero warnings now with the
latest arm-soc/for-next branch:

arch/arm/boot/dts/arm-realview-eb-11mp.dtb: Warning
(interrupts_property): interrupts size is (8), expected multiple of 12
in /fpga/charlcd@10008000
arch/arm/boot/dts/arm-realview-eb-11mp-bbrevd.dtb: Warning
(interrupts_property): interrupts size is (8), expected multiple of 12
in /fpga/charlcd@10008000
arch/arm/boot/dts/arm-realview-eb-11mp-ctrevb.dtb: Warning
(interrupts_property): interrupts size is (8), expected multiple of 12
in /fpga/charlcd@10008000
arch/arm/boot/dts/arm-realview-eb-a9mp.dtb: Warning
(interrupts_property): interrupts size is (8), expected multiple of 12
in /fpga/charlcd@10008000
arch/arm/boot/dts/arm-realview-eb-11mp-bbrevd-ctrevb.dtb: Warning
(interrupts_property): interrupts size is (8), expected multiple of 12
in /fpga/charlcd@10008000
arch/arm/boot/dts/arm-realview-eb-a9mp-bbrevd.dtb: Warning
(interrupts_property): interrupts size is (8), expected multiple of 12
in /fpga/charlcd@10008000
arch/arm/boot/dts/s5pv210-smdkv210.dtb: Warning (interrupts_property):
Missing interrupt-parent for /soc/ohci@ec300000
arch/arm/boot/dts/s5pv210-smdkc110.dtb: Warning (interrupts_property):
arch/arm/boot/dts/s5pv210-goni.dtb: Warning (interrupts_property):
Missing interrupt-parent for /soc/ohci@ec300000
arch/arm/boot/dts/s5pv210-aquila.dtb: Warning (interrupts_property):
Missing interrupt-parent for /soc/ohci@ec300000
Missing interrupt-parent for /soc/ohci@ec300000
arch/arm/boot/dts/s5pv210-torbreck.dtb: Warning (interrupts_property):
Missing interrupt-parent for /soc/ohci@ec300000
arch/arm/boot/dts/spear1310-evb.dtb: Warning (gpios_property):
Property 'cs-gpios', cell 6 is not a phandle reference in
/ahb/apb/spi@e0100000
arch/arm/boot/dts/spear1310-evb.dtb: Warning (gpios_property): Missing
property '#gpio-cells' in node /interrupt-controller@ec801000 or bad
phandle (referred from /ahb/apb/spi@e0100000:cs-gpios[6])
arch/arm/boot/dts/spear1340-evb.dtb: Warning (dmas_property): Property
'dmas', cell 4 is not a phandle reference in /ahb/apb/serial@b4100000
arch/arm/boot/dts/spear1340-evb.dtb: Warning (dmas_property): Missing
property '#dma-cells' in node /interrupt-controller@ec801000 or bad
phandle (referred from /ahb/apb/serial@b4100000:dmas[4])
arch/arm/boot/dts/stih407-b2120.dtb: Warning (gpios_property):
hdmi,hpd-gpio property size (8) too small for cell size 2 in
/soc/sti-display-subsystem/sti-hdmi@8d04000
arch/arm/boot/dts/stih410-b2120.dtb: Warning (gpios_property):
hdmi,hpd-gpio property size (8) too small for cell size 2 in
/soc/sti-display-subsystem/sti-hdmi@8d04000
arch/arm/boot/dts/stih410-b2260.dtb: Warning (gpios_property):
hdmi,hpd-gpio property size (8) too small for cell size 2 in
/soc/sti-display-subsystem/sti-hdmi@8d04000
arch/arm/boot/dts/lpc3250-ea3250.dtb: Warning (gpios_property):
power-gpio property size (12) too small for cell size 3 in
/ahb/apb/i2c@400A0000/uda1380@18
arch/arm/boot/dts/lpc3250-ea3250.dtb: Warning (gpios_property):
reset-gpio property size (12) too small for cell size 3 in
/ahb/apb/i2c@400A0000/uda1380@18
arch/arm/boot/dts/lpc3250-phy3250.dtb: Warning (gpios_property):
power-gpio property size (12) too small for cell size 3 in
/ahb/apb/i2c@400A0000/uda1380@18
arch/arm/boot/dts/lpc3250-phy3250.dtb: Warning (gpios_property):
reset-gpio property size (12) too small for cell size 3 in
/ahb/apb/i2c@400A0000/uda1380@18
arch/arm/boot/dts/ste-nomadik-s8815.dtb: Warning
(interrupts_property): Missing interrupt-parent for
/amba/clcd@10120000
arch/arm/boot/dts/ste-nomadik-nhk15.dtb: Warning
(interrupts_property): Missing interrupt-parent for
/amba/clcd@10120000
arch/arm/boot/dts/spear600-evb.dtb: Warning (interrupts_property):
Missing interrupt-parent for /ahb/apb/rtc@fc900000

Can you also look at the nomadik warnings and possibly some of the others
if you have time? Unfortunately I'm heading out for my Christmas vacation
and can't do any others of these any more.

      Arnd
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Robin Murphy Jan. 8, 2018, 4:31 p.m. | #3
Hi Linus,

On 21/12/17 22:08, Linus Walleij wrote:
> On Thu, Dec 21, 2017 at 10:31 PM, Arnd Bergmann <arnd@arndb.de> wrote:

> 

>> We get a dtc warning about the CLCD interrupt being invalid:

>>

>> arch/arm/boot/dts/arm-realview-eb-11mp-ctrevb.dtb: Warning (interrupts_property): interrupts size is (8), expected multiple of 12 in /fpga/charlcd@10008000

>>

>> According to the datasheet I found and the old board file, this

>> line is not connected, so I'm removing the respective properties here.

>>

>> Link: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0411d/index.html

>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

> 

> There is some confusion here. There is CLCD "Color LCD"

> which is just a code name for PrimeCell PL111 and there is the actual

> character LCD which is a hardware thin to talk to a character LCD with

> some characters on.

> 

>> diff --git a/arch/arm/boot/dts/arm-realview-eb-mp.dtsi b/arch/arm/boot/dts/arm-realview-eb-mp.dtsi

> 

> So this DTS is for the ARM 11 MP core tile which is described in

> DUI0318F. It doesn't even list an IRQ for the character LCD.

> 

>>   &charlcd {

>> -       interrupt-parent = <&intc>;

>> -       interrupts = <0  IRQ_TYPE_LEVEL_HIGH>;

> 

> This was probably me thinking to go back and fill in the right

> IRQ and forgetting to actually do it. Sorry :(

> 

>> +       /* CLCD is not connected here */

> 

> Call it character LCD instead to avoid confusion please.

> 

>> +       /delete-property/interrupt-parent;

>> +       /delete-property/interrupts;

> 

> I don't understand this delete-property business (first time

> I see it, but the top level

> DTSI (arm-realview-eb.dtsi) does not define any interrupt

> so can't you just delete this whole &charlcd?

> 

> I do think the reference design has a character LCD, and I

> do think it has an interrupt, it's just undocumented so

> someone with this board would have to test it manually

> to figure out which line it is. Whoever uses this design

> will get to it if ever.


FWIW the EB baseboard is *physically* the same regardless of the CPU, 
it's just flashed with a Core-Tile-specific FPGA bitstream. I've just 
tried firing up an 11MPCore one, and indeed the character LCD does light 
up with the kernel version. I can't convince the recalcitrant beast to 
actually get to userspace, though, so I can't confirm what the 
interrupt's deal is.

The baseboard manual (DUI0303E) says it's interrupt 22 on the 
board-level secondary GICs, and since neither the CT11MP nor its 
corresponding FPGA (AN152) mention any alternate routing direct to the 
Core Tile GIC, I'd guess it probably still is. On the other hand, 
though, it also says this:

   "... However this interrupt signal is reserved for future use and you
    must use a polling routine instead of an interrupt service routine."

So maybe it's appropriate to just remove the interrupt everywhere :/

Robin.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Linus Walleij Jan. 9, 2018, 2:47 p.m. | #4
On Mon, Jan 8, 2018 at 5:31 PM, Robin Murphy <robin.murphy@arm.com> wrote:
> On 21/12/17 22:08, Linus Walleij wrote:


>> I do think the reference design has a character LCD, and I

>> do think it has an interrupt, it's just undocumented so

>> someone with this board would have to test it manually

>> to figure out which line it is. Whoever uses this design

>> will get to it if ever.

>

> FWIW the EB baseboard is *physically* the same regardless of the CPU, it's

> just flashed with a Core-Tile-specific FPGA bitstream.


Aha I always wondered how that works :)

> I've just tried

> firing up an 11MPCore one, and indeed the character LCD does light up with

> the kernel version. I can't convince the recalcitrant beast to actually get

> to userspace, though, so I can't confirm what the interrupt's deal is.


Yeah the driver survives fine without an IRQ too so it just works ...

> The baseboard manual (DUI0303E) says it's interrupt 22 on the board-level

> secondary GICs, and since neither the CT11MP nor its corresponding FPGA

> (AN152) mention any alternate routing direct to the Core Tile GIC, I'd guess

> it probably still is. On the other hand, though, it also says this:

>

>   "... However this interrupt signal is reserved for future use and you

>    must use a polling routine instead of an interrupt service routine."

>

> So maybe it's appropriate to just remove the interrupt everywhere :/


Hm I don't think there will be future releases of these EB
boards anytime soon, so I suspect we could just add it.

But as it works fine without IRQ we can just leave it as well.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/arch/arm/boot/dts/arm-realview-eb-mp.dtsi b/arch/arm/boot/dts/arm-realview-eb-mp.dtsi
index 7b8d90b7aeea..e45548ca229a 100644
--- a/arch/arm/boot/dts/arm-realview-eb-mp.dtsi
+++ b/arch/arm/boot/dts/arm-realview-eb-mp.dtsi
@@ -151,8 +151,9 @@ 
 };
 
 &charlcd {
-	interrupt-parent = <&intc>;
-	interrupts = <0  IRQ_TYPE_LEVEL_HIGH>;
+	/* CLCD is not connected here */
+	/delete-property/interrupt-parent;
+	/delete-property/interrupts;
 };
 
 &serial0 {