All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] ARM: dts: ixp4xx: Add Arcom Vulcan device tree
@ 2021-07-26 12:24 Linus Walleij
  2021-07-27 18:44 ` Marc Zyngier
  0 siblings, 1 reply; 4+ messages in thread
From: Linus Walleij @ 2021-07-26 12:24 UTC (permalink / raw)
  To: linux-arm-kernel, Imre Kaloz, Krzysztof Halasa
  Cc: Linus Walleij, Marc Zyngier

This adds a device tree for the Arcom Vulcan IXP42x board.

Cc: Marc Zyngier <maz@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
ChangeLog v1->v2:
- Fix up phy reg to 0 for phy0
- Adjust to altered expansion bus bindings.
---
 arch/arm/boot/dts/Makefile                    |   3 +-
 .../boot/dts/intel-ixp42x-arcom-vulcan.dts    | 167 ++++++++++++++++++
 2 files changed, 169 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/intel-ixp42x-arcom-vulcan.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 5500eac49eae..5618fae949db 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -248,7 +248,8 @@ dtb-$(CONFIG_ARCH_IXP4XX) += \
 	intel-ixp42x-omicron-devixp.dtb \
 	intel-ixp42x-omicron-miccpt.dtb \
 	intel-ixp42x-omicron-mic256.dtb \
-	intel-ixp42x-netgear-wg302v2.dtb
+	intel-ixp42x-netgear-wg302v2.dtb \
+	intel-ixp42x-arcom-vulcan.dtb
 dtb-$(CONFIG_ARCH_KEYSTONE) += \
 	keystone-k2hk-evm.dtb \
 	keystone-k2l-evm.dtb \
diff --git a/arch/arm/boot/dts/intel-ixp42x-arcom-vulcan.dts b/arch/arm/boot/dts/intel-ixp42x-arcom-vulcan.dts
new file mode 100644
index 000000000000..16806deab559
--- /dev/null
+++ b/arch/arm/boot/dts/intel-ixp42x-arcom-vulcan.dts
@@ -0,0 +1,167 @@
+// SPDX-License-Identifier: ISC
+/*
+ * Device Tree file for the Arcom/Eurotech Vulcan board.
+ * This board is a single board computer in the PC/104 form factor based on
+ * IXP425, and was released around 2005. It previously had the name "Mercury".
+ */
+
+/dts-v1/;
+
+#include "intel-ixp42x.dtsi"
+#include <dt-bindings/input/input.h>
+
+/ {
+	model = "Arcom/Eurotech Vulcan";
+	compatible = "arcom,vulcan", "intel,ixp42x";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	memory@0 {
+		/* CHECKME: 64 MB SDRAM - based on dma zone in boardfile */
+		device_type = "memory";
+		reg = <0x00000000 0x4000000>;
+	};
+
+	chosen {
+		/* CHECKME: using a harddrive at /dev/sda1 as rootfs by default */
+		bootargs = "console=ttyS0,115200n8 root=/dev/sda1 rw rootfstype=ext4 rootwait";
+		stdout-path = "uart0:115200n8";
+	};
+
+	aliases {
+		serial0 = &uart0;
+	};
+
+	onewire {
+		compatible = "w1-gpio";
+		gpios = <&gpio0 14 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
+	};
+
+	soc {
+		bus@c4000000 {
+			flash@0,0 {
+				compatible = "intel,ixp4xx-flash", "cfi-flash";
+				bank-width = <2>;
+				/*
+				 * 32 MB of Flash in 0x20000 byte blocks
+				 * mapped in at CS0 and CS1
+				 */
+				reg = <0 0x00000000 0x2000000>;
+
+				/* Expansion bus settings */
+				intel,ixp4xx-eb-t3 = <3>;
+				intel,ixp4xx-eb-byte-access-on-halfword = <1>;
+				intel,ixp4xx-eb-write-enable = <1>;
+
+				partitions {
+					compatible = "redboot-fis";
+					/* CHECKME: FIS eraseblock at 0x1fe0000? */
+					fis-index-block = <0xff>;
+				};
+			};
+			sram@2,0 {
+				/* 256 KB SDRAM memory at CS2 */
+				compatible = "shared-dma-pool";
+				device_type = "memory";
+				reg = <1 0x00000000 0x40000>;
+				no-map;
+				/* Expansion bus settings */
+				intel,ixp4xx-eb-t3 = <1>;
+				intel,ixp4xx-eb-t4 = <2>;
+				intel,ixp4xx-eb-ahb-split-transfers = <1>;
+				intel,ixp4xx-eb-write-enable = <1>;
+				intel,ixp4xx-eb-byte-access = <1>;
+			};
+			serial@3,0 {
+				/*
+				 * 8250-compatible Exar XR16L2551 2 x UART
+				 *
+				 * CHECKME: if special tweaks are needed, then fix the
+				 * operating system to handle it.
+				 */
+				compatible = "exar,xr16l2551", "ns8250";
+				reg = <3 0x00000000 0x10>;
+				interrupt-parent = <&gpio0>;
+				interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
+				clock-frequency = <1843200>;
+				/* Expansion bus settings */
+				intel,ixp4xx-eb-t3 = <3>;
+				intel,ixp4xx-eb-cycle-type = <1>; /* Motorola cycles */
+				intel,ixp4xx-eb-write-enable = <1>;
+				intel,ixp4xx-eb-byte-access = <1>;
+			};
+			gpio1: gpio@4,0 {
+				/*
+				 * MMIO GPIO in one byte
+				 */
+				compatible = "arcom,vulcan-gpio";
+				reg = <4 0x00000000 0x1>;
+				/* Expansion bus settings */
+				intel,ixp4xx-eb-write-enable = <1>;
+				intel,ixp4xx-eb-byte-access = <1>;
+			};
+			watchdog@5,0 {
+				compatible = "maxim,max6369";
+				reg = <5 0x00000000 0x1>;
+				/* Expansion bus settings */
+				intel,ixp4xx-eb-write-enable = <1>;
+				intel,ixp4xx-eb-byte-access = <1>;
+			};
+		};
+
+		pci@c0000000 {
+			status = "ok";
+
+			/*
+			 * Taken from Vulcan PCI boardfile.
+			 *
+			 * We have 2 slots (IDSEL) 1 and 2 with one dedicated interrupt
+			 * per slot. This interrupt is shared (OR:ed) by all four pins.
+			 *
+			 * CHECKME: is the interrupt setup on Vulcan really this cheap?
+			 */
+			interrupt-map =
+			/* IDSEL 1 */
+			<0x0800 0 0 1 &gpio0 2 3>, /* INT A on slot 1 is irq 2 */
+			<0x0800 0 0 2 &gpio0 2 3>, /* INT B on slot 1 is irq 2 */
+			<0x0800 0 0 3 &gpio0 2 3>, /* INT C on slot 1 is irq 2 */
+			<0x0800 0 0 4 &gpio0 2 3>, /* INT D on slot 1 is irq 2 */
+			/* IDSEL 2 */
+			<0x1000 0 0 1 &gpio0 3 3>, /* INT A on slot 2 is irq 3 */
+			<0x1000 0 0 2 &gpio0 3 3>, /* INT B on slot 2 is irq 3 */
+			<0x1000 0 0 3 &gpio0 3 3>, /* INT C on slot 2 is irq 3 */
+			<0x1000 0 0 4 &gpio0 3 3>; /* INT D on slot 2 is irq 3 */
+		};
+
+		/* EthB */
+		ethernet@c8009000 {
+			status = "ok";
+			queue-rx = <&qmgr 3>;
+			queue-txready = <&qmgr 20>;
+			phy-mode = "rgmii";
+			phy-handle = <&phy0>;
+
+			mdio {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				phy0: ethernet-phy@0 {
+					reg = <0>;
+				};
+
+				phy1: ethernet-phy@1 {
+					reg = <1>;
+				};
+			};
+		};
+
+		/* EthC */
+		ethernet@c800a000 {
+			status = "ok";
+			queue-rx = <&qmgr 4>;
+			queue-txready = <&qmgr 21>;
+			phy-mode = "rgmii";
+			phy-handle = <&phy1>;
+		};
+	};
+};
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] ARM: dts: ixp4xx: Add Arcom Vulcan device tree
  2021-07-26 12:24 [PATCH v2] ARM: dts: ixp4xx: Add Arcom Vulcan device tree Linus Walleij
@ 2021-07-27 18:44 ` Marc Zyngier
  2021-07-27 23:45   ` Linus Walleij
  0 siblings, 1 reply; 4+ messages in thread
From: Marc Zyngier @ 2021-07-27 18:44 UTC (permalink / raw)
  To: Linus Walleij; +Cc: linux-arm-kernel, Imre Kaloz, Krzysztof Halasa

Hi Linus,

Thanks a lot for doing this. I'm slowly getting this box up and
running again, and noticed a couple of issues with the DT, see below.

On Mon, 26 Jul 2021 13:24:58 +0100,
Linus Walleij <linus.walleij@linaro.org> wrote:
> 
> This adds a device tree for the Arcom Vulcan IXP42x board.
> 
> Cc: Marc Zyngier <maz@kernel.org>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
> ChangeLog v1->v2:
> - Fix up phy reg to 0 for phy0
> - Adjust to altered expansion bus bindings.
> ---
>  arch/arm/boot/dts/Makefile                    |   3 +-
>  .../boot/dts/intel-ixp42x-arcom-vulcan.dts    | 167 ++++++++++++++++++
>  2 files changed, 169 insertions(+), 1 deletion(-)
>  create mode 100644 arch/arm/boot/dts/intel-ixp42x-arcom-vulcan.dts
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 5500eac49eae..5618fae949db 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -248,7 +248,8 @@ dtb-$(CONFIG_ARCH_IXP4XX) += \
>  	intel-ixp42x-omicron-devixp.dtb \
>  	intel-ixp42x-omicron-miccpt.dtb \
>  	intel-ixp42x-omicron-mic256.dtb \
> -	intel-ixp42x-netgear-wg302v2.dtb
> +	intel-ixp42x-netgear-wg302v2.dtb \
> +	intel-ixp42x-arcom-vulcan.dtb
>  dtb-$(CONFIG_ARCH_KEYSTONE) += \
>  	keystone-k2hk-evm.dtb \
>  	keystone-k2l-evm.dtb \
> diff --git a/arch/arm/boot/dts/intel-ixp42x-arcom-vulcan.dts b/arch/arm/boot/dts/intel-ixp42x-arcom-vulcan.dts
> new file mode 100644
> index 000000000000..16806deab559
> --- /dev/null
> +++ b/arch/arm/boot/dts/intel-ixp42x-arcom-vulcan.dts
> @@ -0,0 +1,167 @@
> +// SPDX-License-Identifier: ISC
> +/*
> + * Device Tree file for the Arcom/Eurotech Vulcan board.
> + * This board is a single board computer in the PC/104 form factor based on
> + * IXP425, and was released around 2005. It previously had the name "Mercury".
> + */
> +
> +/dts-v1/;
> +
> +#include "intel-ixp42x.dtsi"
> +#include <dt-bindings/input/input.h>
> +
> +/ {
> +	model = "Arcom/Eurotech Vulcan";
> +	compatible = "arcom,vulcan", "intel,ixp42x";
> +	#address-cells = <1>;
> +	#size-cells = <1>;
> +
> +	memory@0 {
> +		/* CHECKME: 64 MB SDRAM - based on dma zone in boardfile */

Yup, that's standard.

> +		device_type = "memory";
> +		reg = <0x00000000 0x4000000>;
> +	};
> +
> +	chosen {
> +		/* CHECKME: using a harddrive at /dev/sda1 as rootfs by default */
> +		bootargs = "console=ttyS0,115200n8 root=/dev/sda1 rw rootfstype=ext4 rootwait";

I'd like not to hardcode a command line in the DT, but on the other
hand passing a command-line can be... difficult if you are running a
LE kernel.

> +		stdout-path = "uart0:115200n8";
> +	};
> +
> +	aliases {
> +		serial0 = &uart0;
> +	};
> +
> +	onewire {
> +		compatible = "w1-gpio";
> +		gpios = <&gpio0 14 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
> +	};
> +
> +	soc {
> +		bus@c4000000 {
> +			flash@0,0 {
> +				compatible = "intel,ixp4xx-flash", "cfi-flash";
> +				bank-width = <2>;
> +				/*
> +				 * 32 MB of Flash in 0x20000 byte blocks
> +				 * mapped in at CS0 and CS1
> +				 */

There is also a version with only 16MB. Now idea how to support this,
and nobody yelled at me so far... ;-)

> +				reg = <0 0x00000000 0x2000000>;
> +
> +				/* Expansion bus settings */
> +				intel,ixp4xx-eb-t3 = <3>;
> +				intel,ixp4xx-eb-byte-access-on-halfword = <1>;
> +				intel,ixp4xx-eb-write-enable = <1>;
> +
> +				partitions {
> +					compatible = "redboot-fis";
> +					/* CHECKME: FIS eraseblock at 0x1fe0000? */
> +					fis-index-block = <0xff>;

This should be 0x1ff.

> +				};
> +			};
> +			sram@2,0 {
> +				/* 256 KB SDRAM memory at CS2 */
> +				compatible = "shared-dma-pool";

Any reason why we can't use mtd-ram instead, like this was done in the
board file?

> +				device_type = "memory";
> +				reg = <1 0x00000000 0x40000>;

This really should be CS2, not CS1. It otherwise clashes with the NOR
flash and results in some interesting fireworks.

> +				no-map;
> +				/* Expansion bus settings */
> +				intel,ixp4xx-eb-t3 = <1>;
> +				intel,ixp4xx-eb-t4 = <2>;
> +				intel,ixp4xx-eb-ahb-split-transfers = <1>;
> +				intel,ixp4xx-eb-write-enable = <1>;
> +				intel,ixp4xx-eb-byte-access = <1>;
> +			};
> +			serial@3,0 {
> +				/*
> +				 * 8250-compatible Exar XR16L2551 2 x UART
> +				 *
> +				 * CHECKME: if special tweaks are needed, then fix the
> +				 * operating system to handle it.
> +				 */
> +				compatible = "exar,xr16l2551", "ns8250";

This fails to probe, but I haven't investigated it yet.

> +				reg = <3 0x00000000 0x10>;
> +				interrupt-parent = <&gpio0>;
> +				interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
> +				clock-frequency = <1843200>;
> +				/* Expansion bus settings */
> +				intel,ixp4xx-eb-t3 = <3>;
> +				intel,ixp4xx-eb-cycle-type = <1>; /* Motorola cycles */
> +				intel,ixp4xx-eb-write-enable = <1>;
> +				intel,ixp4xx-eb-byte-access = <1>;
> +			};
> +			gpio1: gpio@4,0 {
> +				/*
> +				 * MMIO GPIO in one byte
> +				 */
> +				compatible = "arcom,vulcan-gpio";
> +				reg = <4 0x00000000 0x1>;
> +				/* Expansion bus settings */
> +				intel,ixp4xx-eb-write-enable = <1>;
> +				intel,ixp4xx-eb-byte-access = <1>;
> +			};
> +			watchdog@5,0 {
> +				compatible = "maxim,max6369";
> +				reg = <5 0x00000000 0x1>;
> +				/* Expansion bus settings */
> +				intel,ixp4xx-eb-write-enable = <1>;
> +				intel,ixp4xx-eb-byte-access = <1>;
> +			};
> +		};
> +
> +		pci@c0000000 {
> +			status = "ok";
> +
> +			/*
> +			 * Taken from Vulcan PCI boardfile.
> +			 *
> +			 * We have 2 slots (IDSEL) 1 and 2 with one dedicated interrupt
> +			 * per slot. This interrupt is shared (OR:ed) by all four pins.
> +			 *
> +			 * CHECKME: is the interrupt setup on Vulcan really this cheap?

Yeah, it is terrible. But on the other hand, there is no PCI slot, and
all the devices (USB and CardBus) are directly integrated on the board.

> +			 */
> +			interrupt-map =
> +			/* IDSEL 1 */
> +			<0x0800 0 0 1 &gpio0 2 3>, /* INT A on slot 1 is irq 2 */
> +			<0x0800 0 0 2 &gpio0 2 3>, /* INT B on slot 1 is irq 2 */
> +			<0x0800 0 0 3 &gpio0 2 3>, /* INT C on slot 1 is irq 2 */
> +			<0x0800 0 0 4 &gpio0 2 3>, /* INT D on slot 1 is irq 2 */
> +			/* IDSEL 2 */
> +			<0x1000 0 0 1 &gpio0 3 3>, /* INT A on slot 2 is irq 3 */
> +			<0x1000 0 0 2 &gpio0 3 3>, /* INT B on slot 2 is irq 3 */
> +			<0x1000 0 0 3 &gpio0 3 3>, /* INT C on slot 2 is irq 3 */
> +			<0x1000 0 0 4 &gpio0 3 3>; /* INT D on slot 2 is irq 3 */

All the intspecs should describe a LEVEL_LOW interrupt. What you have
here isn't even legal... ;-)

The CardBus bridge gets properly detected if I reduce the memory size
to 8MB (as it was done in the board file), but somehow the CF card
that's attached to it doesn't work. USB, on the other hand, seems to
work fine.

> +		};
> +
> +		/* EthB */
> +		ethernet@c8009000 {
> +			status = "ok";
> +			queue-rx = <&qmgr 3>;
> +			queue-txready = <&qmgr 20>;
> +			phy-mode = "rgmii";
> +			phy-handle = <&phy0>;
> +
> +			mdio {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				phy0: ethernet-phy@0 {
> +					reg = <0>;
> +				};
> +
> +				phy1: ethernet-phy@1 {
> +					reg = <1>;
> +				};
> +			};
> +		};
> +
> +		/* EthC */
> +		ethernet@c800a000 {
> +			status = "ok";
> +			queue-rx = <&qmgr 4>;
> +			queue-txready = <&qmgr 21>;
> +			phy-mode = "rgmii";
> +			phy-handle = <&phy1>;
> +		};
> +	};
> +};

Somehow, my vintage kernel was able to get the MAC addresses, but I
can't remember how. Yet.

I'll try to find some time to debug the couple of nagging issues
during the weekend, but it already works surprisingly well!

Thanks again,

	M.

-- 
Without deviation from the norm, progress is not possible.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] ARM: dts: ixp4xx: Add Arcom Vulcan device tree
  2021-07-27 18:44 ` Marc Zyngier
@ 2021-07-27 23:45   ` Linus Walleij
  2021-07-28  8:16     ` Marc Zyngier
  0 siblings, 1 reply; 4+ messages in thread
From: Linus Walleij @ 2021-07-27 23:45 UTC (permalink / raw)
  To: Marc Zyngier; +Cc: Linux ARM, Imre Kaloz, Krzysztof Halasa

On Tue, Jul 27, 2021 at 8:44 PM Marc Zyngier <maz@kernel.org> wrote:

> Thanks a lot for doing this. I'm slowly getting this box up and
> running again, and noticed a couple of issues with the DT, see below.

Hey :)

Do you want me to do my best to fix it up or will you send me
a patch on top I can just fold in to get it the way you want it?

> > +                      */
> > +                     interrupt-map =
> > +                     /* IDSEL 1 */
> > +                     <0x0800 0 0 1 &gpio0 2 3>, /* INT A on slot 1 is irq 2 */
> > +                     <0x0800 0 0 2 &gpio0 2 3>, /* INT B on slot 1 is irq 2 */
> > +                     <0x0800 0 0 3 &gpio0 2 3>, /* INT C on slot 1 is irq 2 */
> > +                     <0x0800 0 0 4 &gpio0 2 3>, /* INT D on slot 1 is irq 2 */
> > +                     /* IDSEL 2 */
> > +                     <0x1000 0 0 1 &gpio0 3 3>, /* INT A on slot 2 is irq 3 */
> > +                     <0x1000 0 0 2 &gpio0 3 3>, /* INT B on slot 2 is irq 3 */
> > +                     <0x1000 0 0 3 &gpio0 3 3>, /* INT C on slot 2 is irq 3 */
> > +                     <0x1000 0 0 4 &gpio0 3 3>; /* INT D on slot 2 is irq 3 */
>
> All the intspecs should describe a LEVEL_LOW interrupt. What you have
> here isn't even legal... ;-)

Nobody understands these maps. I made them all wrong, so I'll go over
them all.

Yours,
Linus Walleij

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] ARM: dts: ixp4xx: Add Arcom Vulcan device tree
  2021-07-27 23:45   ` Linus Walleij
@ 2021-07-28  8:16     ` Marc Zyngier
  0 siblings, 0 replies; 4+ messages in thread
From: Marc Zyngier @ 2021-07-28  8:16 UTC (permalink / raw)
  To: Linus Walleij; +Cc: Linux ARM, Imre Kaloz, Krzysztof Halasa

On Wed, 28 Jul 2021 00:45:19 +0100,
Linus Walleij <linus.walleij@linaro.org> wrote:
> 
> On Tue, Jul 27, 2021 at 8:44 PM Marc Zyngier <maz@kernel.org> wrote:
> 
> > Thanks a lot for doing this. I'm slowly getting this box up and
> > running again, and noticed a couple of issues with the DT, see below.
> 
> Hey :)
> 
> Do you want me to do my best to fix it up or will you send me
> a patch on top I can just fold in to get it the way you want it?

Here's the state of my tree (everything else is just kernel config).
Just fold it into your current patch it you're happy with it.

I'll keep hacking at it when I have some spare time.

Thanks,

	M.

diff --git a/arch/arm/boot/dts/intel-ixp42x-arcom-vulcan.dts b/arch/arm/boot/dts/intel-ixp42x-arcom-vulcan.dts
index 16806deab559..f8a29a88f0c5 100644
--- a/arch/arm/boot/dts/intel-ixp42x-arcom-vulcan.dts
+++ b/arch/arm/boot/dts/intel-ixp42x-arcom-vulcan.dts
@@ -17,7 +17,6 @@ / {
 	#size-cells = <1>;
 
 	memory@0 {
-		/* CHECKME: 64 MB SDRAM - based on dma zone in boardfile */
 		device_type = "memory";
 		reg = <0x00000000 0x4000000>;
 	};
@@ -44,7 +59,11 @@ flash@0,0 {
 				bank-width = <2>;
 				/*
 				 * 32 MB of Flash in 0x20000 byte blocks
-				 * mapped in at CS0 and CS1
+				 * mapped in at CS0 and CS1.
+				 *
+				 * The documentation mentions the existence
+				 * of a 16MB version, which we conveniently
+				 * ignore. Shout if you own one!
 				 */
 				reg = <0 0x00000000 0x2000000>;
 
@@ -55,15 +74,14 @@ flash@0,0 {
 
 				partitions {
 					compatible = "redboot-fis";
-					/* CHECKME: FIS eraseblock at 0x1fe0000? */
-					fis-index-block = <0xff>;
+					fis-index-block = <0x1ff>;
 				};
 			};
 			sram@2,0 {
 				/* 256 KB SDRAM memory at CS2 */
 				compatible = "shared-dma-pool";
 				device_type = "memory";
-				reg = <1 0x00000000 0x40000>;
+				reg = <2 0x00000000 0x40000>;
 				no-map;
 				/* Expansion bus settings */
 				intel,ixp4xx-eb-t3 = <1>;
@@ -117,20 +135,18 @@ pci@c0000000 {
 			 *
 			 * We have 2 slots (IDSEL) 1 and 2 with one dedicated interrupt
 			 * per slot. This interrupt is shared (OR:ed) by all four pins.
-			 *
-			 * CHECKME: is the interrupt setup on Vulcan really this cheap?
 			 */
 			interrupt-map =
-			/* IDSEL 1 */
-			<0x0800 0 0 1 &gpio0 2 3>, /* INT A on slot 1 is irq 2 */
-			<0x0800 0 0 2 &gpio0 2 3>, /* INT B on slot 1 is irq 2 */
-			<0x0800 0 0 3 &gpio0 2 3>, /* INT C on slot 1 is irq 2 */
-			<0x0800 0 0 4 &gpio0 2 3>, /* INT D on slot 1 is irq 2 */
-			/* IDSEL 2 */
-			<0x1000 0 0 1 &gpio0 3 3>, /* INT A on slot 2 is irq 3 */
-			<0x1000 0 0 2 &gpio0 3 3>, /* INT B on slot 2 is irq 3 */
-			<0x1000 0 0 3 &gpio0 3 3>, /* INT C on slot 2 is irq 3 */
-			<0x1000 0 0 4 &gpio0 3 3>; /* INT D on slot 2 is irq 3 */
+			/* IDSEL 1, all INTx are mapped to irq 2 */
+			<0x0800 0 0 1 &gpio0 2 IRQ_TYPE_LEVEL_LOW>,
+			<0x0800 0 0 2 &gpio0 2 IRQ_TYPE_LEVEL_LOW>,
+			<0x0800 0 0 3 &gpio0 2 IRQ_TYPE_LEVEL_LOW>,
+			<0x0800 0 0 4 &gpio0 2 IRQ_TYPE_LEVEL_LOW>,
+			/* IDSEL 2, all INTx are mapped to irq 3 */
+			<0x1000 0 0 1 &gpio0 3 IRQ_TYPE_LEVEL_LOW>,
+			<0x1000 0 0 2 &gpio0 3 IRQ_TYPE_LEVEL_LOW>,
+			<0x1000 0 0 3 &gpio0 3 IRQ_TYPE_LEVEL_LOW>,
+			<0x1000 0 0 4 &gpio0 3 IRQ_TYPE_LEVEL_LOW>;
 		};
 
 		/* EthB */


-- 
Without deviation from the norm, progress is not possible.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-07-28  8:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-26 12:24 [PATCH v2] ARM: dts: ixp4xx: Add Arcom Vulcan device tree Linus Walleij
2021-07-27 18:44 ` Marc Zyngier
2021-07-27 23:45   ` Linus Walleij
2021-07-28  8:16     ` Marc Zyngier

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.