Commit 3babb604 authored by Linus Walleij's avatar Linus Walleij
Browse files

ARM: dts: ixp4xx: Create a proper expansion bus



The IXP4xx expansion bus is 24 bits (256 MB) that is memory
mapped between 0x50000000-0x5fffffff usin a set of chip
selects. The size of the windows is 16 or 32MB defined by
the boot loader system configuration at runtime.

Create a rudimentary simple-bus and move the flash memories
to the expansion bus, inside the SoC.

Cc: Zoltan HERPAI <wigyori@uid0.hu>
Cc: Raylynn Knight <rayknight@me.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 152b7a59
Loading
Loading
Loading
Loading
+18 −16
Original line number Diff line number Diff line
@@ -90,15 +90,17 @@ gpio-poweroff {
		timeout-ms = <5000>;
	};

	/* The first 16MB region on the expansion bus */
	flash@50000000 {
	soc {
		bus@50000000 {
			/* The first 16MB region at CS0 on the expansion bus */
			flash@0 {
				compatible = "intel,ixp4xx-flash", "cfi-flash";
				bank-width = <2>;
				/*
				 * 8 MB of Flash in 0x20000 byte blocks
		 * mapped in at 0x50000000
				 * mapped in at CS0.
				 */
		reg = <0x50000000 0x800000>;
				reg = <0x00000000 0x800000>;

				partitions {
					compatible = "redboot-fis";
@@ -106,8 +108,8 @@ partitions {
					fis-index-block = <0x3f>;
				};
			};
		};

	soc {
		pci@c0000000 {
			status = "ok";

+17 −15
Original line number Diff line number Diff line
@@ -76,14 +76,16 @@ pld1: pld@57 {
		};
	};

	flash@50000000 {
	soc {
		bus@50000000 {
			flash@0 {
				compatible = "intel,ixp4xx-flash", "cfi-flash";
				bank-width = <2>;
				/*
				 * 32 MB of Flash in 0x20000 byte blocks
		 * mapped in at 0x50000000
				 * mapped in at CS0.
				 */
		reg = <0x50000000 0x2000000>;
				reg = <0x00000000 0x2000000>;

				partitions {
					compatible = "redboot-fis";
@@ -91,8 +93,8 @@ partitions {
					fis-index-block = <0xff>;
				};
			};
		};

	soc {
		pci@c0000000 {
			status = "ok";

+13 −0
Original line number Diff line number Diff line
@@ -14,6 +14,19 @@ soc {
		compatible = "simple-bus";
		interrupt-parent = <&intcon>;

		/*
		 * The IXP4xx expansion bus is a set of 16 or 32MB
		 * windows in the 256MB space from 0x50000000 to
		 * 0x5fffffff.
		 */
		bus@50000000 {
			compatible = "simple-bus";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0x00000000 0x50000000 0x10000000>;
			dma-ranges = <0x00000000 0x50000000 0x10000000>;
		};

		qmgr: queue-manager@60000000 {
			compatible = "intel,ixp4xx-ahb-queue-manager";
			reg = <0x60000000 0x4000>;