diff mbox

[2/3,v2] ARM: dts: mvebu: A37x/XP/38x/39x: Move SPI controller nodes into 'soc' node

Message ID 20160713095519.30790-2-sr@denx.de (mailing list archive)
State New, archived
Headers show

Commit Message

Stefan Roese July 13, 2016, 9:55 a.m. UTC
This patch moves all Armada 370/XP/38x/39x SPI controller nodes from the
'internal-regs' node down into the 'soc' node. This is in preparation
to enable the usage of the SPI direct access mode. A follow-up patch
will add the static MBus mappings for the SPI devices into the 'reg'
property of the SPI controller DT node.

By moving these SPI controller nodes, this patch also makes use of
the labels rather than keeping the tree structure.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Gregory CLEMENT <gregory.clement@free-electrons.com>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Mark Brown <broonie@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
---
v2:
- Rebased on v4.7-rc7

 arch/arm/boot/dts/armada-370-db.dts                |  29 +++---
 .../dts/armada-370-seagate-personal-cloud.dtsi     |  40 ++++----
 arch/arm/boot/dts/armada-370-synology-ds213j.dts   | 112 ++++++++++-----------
 arch/arm/boot/dts/armada-370-xp.dtsi               |  40 ++++----
 arch/arm/boot/dts/armada-370.dtsi                  |  34 +++----
 arch/arm/boot/dts/armada-385-db-ap.dts             |  28 +++---
 arch/arm/boot/dts/armada-385-linksys.dtsi          |   9 +-
 arch/arm/boot/dts/armada-388-clearfog.dts          |  48 ++++-----
 arch/arm/boot/dts/armada-388-db.dts                |  25 ++---
 arch/arm/boot/dts/armada-388-gp.dts                |  30 +++---
 arch/arm/boot/dts/armada-388-rd.dts                |  25 ++---
 arch/arm/boot/dts/armada-38x.dtsi                  |  48 ++++-----
 arch/arm/boot/dts/armada-398-db.dts                |  48 ++++-----
 arch/arm/boot/dts/armada-39x.dtsi                  |  48 ++++-----
 arch/arm/boot/dts/armada-xp-axpwifiap.dts          |  24 ++---
 arch/arm/boot/dts/armada-xp-db.dts                 |  24 ++---
 arch/arm/boot/dts/armada-xp-gp.dts                 |  24 ++---
 arch/arm/boot/dts/armada-xp-linksys-mamba.dts      |  24 ++---
 arch/arm/boot/dts/armada-xp-synology-ds414.dts     | 112 ++++++++++-----------
 arch/arm/boot/dts/armada-xp.dtsi                   |  27 +++--
 20 files changed, 398 insertions(+), 401 deletions(-)

Comments

Gregory CLEMENT July 27, 2016, 2:43 p.m. UTC | #1
Hi Stefan,
 
 On mer., juil. 13 2016, Stefan Roese <sr@denx.de> wrote:

> This patch moves all Armada 370/XP/38x/39x SPI controller nodes from the
> 'internal-regs' node down into the 'soc' node. This is in preparation
> to enable the usage of the SPI direct access mode. A follow-up patch
> will add the static MBus mappings for the SPI devices into the 'reg'
> property of the SPI controller DT node.
>
> By moving these SPI controller nodes, this patch also makes use of
> the labels rather than keeping the tree structure.
>
> Signed-off-by: Stefan Roese <sr@denx.de>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Cc: Gregory CLEMENT <gregory.clement@free-electrons.com>
> Cc: Andrew Lunn <andrew@lunn.ch>
> Cc: Jason Cooper <jason@lakedaemon.net>
> Cc: Mark Brown <broonie@kernel.org>
> Cc: Arnd Bergmann <arnd@arndb.de>

Applied on mvebu/dt-4.9

Thanks,

Gregory
> ---
> v2:
> - Rebased on v4.7-rc7
>
>  arch/arm/boot/dts/armada-370-db.dts                |  29 +++---
>  .../dts/armada-370-seagate-personal-cloud.dtsi     |  40 ++++----
>  arch/arm/boot/dts/armada-370-synology-ds213j.dts   | 112 ++++++++++-----------
>  arch/arm/boot/dts/armada-370-xp.dtsi               |  40 ++++----
>  arch/arm/boot/dts/armada-370.dtsi                  |  34 +++----
>  arch/arm/boot/dts/armada-385-db-ap.dts             |  28 +++---
>  arch/arm/boot/dts/armada-385-linksys.dtsi          |   9 +-
>  arch/arm/boot/dts/armada-388-clearfog.dts          |  48 ++++-----
>  arch/arm/boot/dts/armada-388-db.dts                |  25 ++---
>  arch/arm/boot/dts/armada-388-gp.dts                |  30 +++---
>  arch/arm/boot/dts/armada-388-rd.dts                |  25 ++---
>  arch/arm/boot/dts/armada-38x.dtsi                  |  48 ++++-----
>  arch/arm/boot/dts/armada-398-db.dts                |  48 ++++-----
>  arch/arm/boot/dts/armada-39x.dtsi                  |  48 ++++-----
>  arch/arm/boot/dts/armada-xp-axpwifiap.dts          |  24 ++---
>  arch/arm/boot/dts/armada-xp-db.dts                 |  24 ++---
>  arch/arm/boot/dts/armada-xp-gp.dts                 |  24 ++---
>  arch/arm/boot/dts/armada-xp-linksys-mamba.dts      |  24 ++---
>  arch/arm/boot/dts/armada-xp-synology-ds414.dts     | 112 ++++++++++-----------
>  arch/arm/boot/dts/armada-xp.dtsi                   |  27 +++--
>  20 files changed, 398 insertions(+), 401 deletions(-)
>
> diff --git a/arch/arm/boot/dts/armada-370-db.dts b/arch/arm/boot/dts/armada-370-db.dts
> index 2364fc5..033fa63 100644
> --- a/arch/arm/boot/dts/armada-370-db.dts
> +++ b/arch/arm/boot/dts/armada-370-db.dts
> @@ -155,20 +155,6 @@
>  				status = "okay";
>  			};
>  
> -			spi0: spi@10600 {
> -				pinctrl-0 = <&spi0_pins2>;
> -				pinctrl-names = "default";
> -				status = "okay";
> -
> -				spi-flash@0 {
> -					#address-cells = <1>;
> -					#size-cells = <1>;
> -					compatible = "mx25l25635e", "jedec,spi-nor";
> -					reg = <0>; /* Chip select 0 */
> -					spi-max-frequency = <50000000>;
> -				};
> -			};
> -
>  			nand@d0000 {
>  				status = "okay";
>  				num-cs = <1>;
> @@ -274,3 +260,18 @@
>  		compatible = "linux,spdif-dir";
>  	};
>  };
> +
> +&spi0 {
> +	pinctrl-0 = <&spi0_pins2>;
> +	pinctrl-names = "default";
> +	status = "okay";
> +
> +	spi-flash@0 {
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		compatible = "mx25l25635e", "jedec,spi-nor";
> +		reg = <0>; /* Chip select 0 */
> +		spi-max-frequency = <50000000>;
> +	};
> +};
> +
> diff --git a/arch/arm/boot/dts/armada-370-seagate-personal-cloud.dtsi b/arch/arm/boot/dts/armada-370-seagate-personal-cloud.dtsi
> index 1aba08e..01cded3 100644
> --- a/arch/arm/boot/dts/armada-370-seagate-personal-cloud.dtsi
> +++ b/arch/arm/boot/dts/armada-370-seagate-personal-cloud.dtsi
> @@ -68,26 +68,6 @@
>  				phy-mode = "rgmii-id";
>  			};
>  
> -			spi@10600 {
> -				status = "okay";
> -				pinctrl-0 = <&spi0_pins2>;
> -				pinctrl-names = "default";
> -
> -				spi-flash@0 {
> -					#address-cells = <1>;
> -					#size-cells = <1>;
> -					/* MX25L8006E */
> -					compatible = "mxicy,mx25l8005", "jedec,spi-nor";
> -					reg = <0>; /* Chip select 0 */
> -					spi-max-frequency = <50000000>;
> -
> -					partition@0 {
> -						label = "u-boot";
> -						reg = <0x0 0x100000>;
> -					};
> -				};
> -			};
> -
>  			usb@50000 {
>  				status = "okay";
>  			};
> @@ -176,3 +156,23 @@
>  		marvell,function = "gpio";
>  	};
>  };
> +
> +&spi0 {
> +	status = "okay";
> +	pinctrl-0 = <&spi0_pins2>;
> +	pinctrl-names = "default";
> +
> +	spi-flash@0 {
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		/* MX25L8006E */
> +		compatible = "mxicy,mx25l8005", "jedec,spi-nor";
> +		reg = <0>; /* Chip select 0 */
> +		spi-max-frequency = <50000000>;
> +
> +		partition@0 {
> +			label = "u-boot";
> +			reg = <0x0 0x100000>;
> +		};
> +	};
> +};
> diff --git a/arch/arm/boot/dts/armada-370-synology-ds213j.dts b/arch/arm/boot/dts/armada-370-synology-ds213j.dts
> index 8ca7a43..a9cc427 100644
> --- a/arch/arm/boot/dts/armada-370-synology-ds213j.dts
> +++ b/arch/arm/boot/dts/armada-370-synology-ds213j.dts
> @@ -87,62 +87,6 @@
>  				status = "disabled";
>  			};
>  
> -			spi0: spi@10600 {
> -				status = "okay";
> -
> -				spi-flash@0 {
> -					#address-cells = <1>;
> -					#size-cells = <1>;
> -					compatible = "micron,n25q064", "jedec,spi-nor";
> -					reg = <0>; /* Chip select 0 */
> -					spi-max-frequency = <20000000>;
> -
> -					/*
> -					 * Warning!
> -					 *
> -					 * Synology u-boot uses its compiled-in environment
> -					 * and it seems Synology did not care to change u-boot
> -					 * default configuration in order to allow saving a
> -					 * modified environment at a sensible location. So,
> -					 * if you do a 'saveenv' under u-boot, your modified
> -					 * environment will be saved at 1MB after the start
> -					 * of the flash, i.e. in the middle of the uImage.
> -					 * For that reason, it is strongly advised not to
> -					 * change the default environment, unless you know
> -					 * what you are doing.
> -					 */
> -					partition@00000000 { /* u-boot */
> -						label = "RedBoot";
> -						reg = <0x00000000 0x000c0000>; /* 768KB */
> -					};
> -
> -					partition@000c0000 { /* uImage */
> -						label = "zImage";
> -						reg = <0x000c0000 0x002d0000>; /* 2880KB */
> -					};
> -
> -					partition@00390000 { /* uInitramfs */
> -						label = "rd.gz";
> -						reg = <0x00390000 0x00440000>; /* 4250KB */
> -					};
> -
> -					partition@007d0000 { /* MAC address and serial number */
> -						label = "vendor";
> -						reg = <0x007d0000 0x00010000>; /* 64KB */
> -					};
> -
> -					partition@007e0000 {
> -						label = "RedBoot config";
> -						reg = <0x007e0000 0x00010000>; /* 64KB */
> -					};
> -
> -					partition@007f0000 {
> -						label = "FIS directory";
> -						reg = <0x007f0000 0x00010000>; /* 64KB */
> -					};
> -				};
> -			};
> -
>  			i2c@11000 {
>  				compatible = "marvell,mv64xxx-i2c";
>  				pinctrl-0 = <&i2c0_pins>;
> @@ -347,3 +291,59 @@
>  		marvell,function = "gpio";
>  	};
>  };
> +
> +&spi0 {
> +	status = "okay";
> +
> +	spi-flash@0 {
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		compatible = "micron,n25q064", "jedec,spi-nor";
> +		reg = <0>; /* Chip select 0 */
> +		spi-max-frequency = <20000000>;
> +
> +		/*
> +		 * Warning!
> +		 *
> +		 * Synology u-boot uses its compiled-in environment
> +		 * and it seems Synology did not care to change u-boot
> +		 * default configuration in order to allow saving a
> +		 * modified environment at a sensible location. So,
> +		 * if you do a 'saveenv' under u-boot, your modified
> +		 * environment will be saved at 1MB after the start
> +		 * of the flash, i.e. in the middle of the uImage.
> +		 * For that reason, it is strongly advised not to
> +		 * change the default environment, unless you know
> +		 * what you are doing.
> +		 */
> +		partition@00000000 { /* u-boot */
> +			label = "RedBoot";
> +			reg = <0x00000000 0x000c0000>; /* 768KB */
> +		};
> +
> +		partition@000c0000 { /* uImage */
> +			label = "zImage";
> +			reg = <0x000c0000 0x002d0000>; /* 2880KB */
> +		};
> +
> +		partition@00390000 { /* uInitramfs */
> +			label = "rd.gz";
> +			reg = <0x00390000 0x00440000>; /* 4250KB */
> +		};
> +
> +		partition@007d0000 { /* MAC address and serial number */
> +			label = "vendor";
> +			reg = <0x007d0000 0x00010000>; /* 64KB */
> +		};
> +
> +		partition@007e0000 {
> +			label = "RedBoot config";
> +			reg = <0x007e0000 0x00010000>; /* 64KB */
> +		};
> +
> +		partition@007f0000 {
> +			label = "FIS directory";
> +			reg = <0x007f0000 0x00010000>; /* 64KB */
> +		};
> +	};
> +};
> diff --git a/arch/arm/boot/dts/armada-370-xp.dtsi b/arch/arm/boot/dts/armada-370-xp.dtsi
> index a718866..a0903cd 100644
> --- a/arch/arm/boot/dts/armada-370-xp.dtsi
> +++ b/arch/arm/boot/dts/armada-370-xp.dtsi
> @@ -148,26 +148,6 @@
>  				interrupts = <50>;
>  			};
>  
> -			spi0: spi@10600 {
> -				reg = <0x10600 0x28>;
> -				#address-cells = <1>;
> -				#size-cells = <0>;
> -				cell-index = <0>;
> -				interrupts = <30>;
> -				clocks = <&coreclk 0>;
> -				status = "disabled";
> -			};
> -
> -			spi1: spi@10680 {
> -				reg = <0x10680 0x28>;
> -				#address-cells = <1>;
> -				#size-cells = <0>;
> -				cell-index = <1>;
> -				interrupts = <92>;
> -				clocks = <&coreclk 0>;
> -				status = "disabled";
> -			};
> -
>  			i2c0: i2c@11000 {
>  				compatible = "marvell,mv64xxx-i2c";
>  				#address-cells = <1>;
> @@ -320,6 +300,26 @@
>  				status = "disabled";
>  			};
>  		};
> +
> +		spi0: spi@10600 {
> +			reg = <MBUS_ID(0xf0, 0x01) 0x10600 0x28>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			cell-index = <0>;
> +			interrupts = <30>;
> +			clocks = <&coreclk 0>;
> +			status = "disabled";
> +		};
> +
> +		spi1: spi@10680 {
> +			reg = <MBUS_ID(0xf0, 0x01) 0x10680 0x28>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			cell-index = <1>;
> +			interrupts = <92>;
> +			clocks = <&coreclk 0>;
> +			status = "disabled";
> +		};
>  	};
>  
>  	clocks {
> diff --git a/arch/arm/boot/dts/armada-370.dtsi b/arch/arm/boot/dts/armada-370.dtsi
> index 3b06aa8..b425810 100644
> --- a/arch/arm/boot/dts/armada-370.dtsi
> +++ b/arch/arm/boot/dts/armada-370.dtsi
> @@ -134,24 +134,6 @@
>  				wt-override;
>  			};
>  
> -			/*
> -			 * Default SPI pinctrl setting, can be overwritten on
> -			 * board level if a different configuration is used.
> -			 */
> -			spi0: spi@10600 {
> -				compatible = "marvell,armada-370-spi",
> -						"marvell,orion-spi";
> -				pinctrl-0 = <&spi0_pins1>;
> -				pinctrl-names = "default";
> -			};
> -
> -			spi1: spi@10680 {
> -				compatible = "marvell,armada-370-spi",
> -						"marvell,orion-spi";
> -				pinctrl-0 = <&spi1_pins>;
> -				pinctrl-names = "default";
> -			};
> -
>  			i2c0: i2c@11000 {
>  				reg = <0x11000 0x20>;
>  			};
> @@ -447,3 +429,19 @@
>  		marvell,function = "ge1";
>  	};
>  };
> +
> +/*
> + * Default SPI pinctrl setting, can be overwritten on
> + * board level if a different configuration is used.
> + */
> +&spi0 {
> +	compatible = "marvell,armada-370-spi", "marvell,orion-spi";
> +	pinctrl-0 = <&spi0_pins1>;
> +	pinctrl-names = "default";
> +};
> +
> +&spi1 {
> +	compatible = "marvell,armada-370-spi", "marvell,orion-spi";
> +	pinctrl-0 = <&spi1_pins>;
> +	pinctrl-names = "default";
> +};
> diff --git a/arch/arm/boot/dts/armada-385-db-ap.dts b/arch/arm/boot/dts/armada-385-db-ap.dts
> index 2d3fd6e..ca38200 100644
> --- a/arch/arm/boot/dts/armada-385-db-ap.dts
> +++ b/arch/arm/boot/dts/armada-385-db-ap.dts
> @@ -65,20 +65,6 @@
>  			  MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>;
>  
>  		internal-regs {
> -			spi1: spi@10680 {
> -				pinctrl-names = "default";
> -				pinctrl-0 = <&spi1_pins>;
> -				status = "okay";
> -
> -				spi-flash@0 {
> -					#address-cells = <1>;
> -					#size-cells = <1>;
> -					compatible = "st,m25p128", "jedec,spi-nor";
> -					reg = <0>; /* Chip select 0 */
> -					spi-max-frequency = <54000000>;
> -				};
> -			};
> -
>  			i2c0: i2c@11000 {
>  				pinctrl-names = "default";
>  				pinctrl-0 = <&i2c0_pins>;
> @@ -239,3 +225,17 @@
>  		gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
>  	};
>  };
> +
> +&spi1 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&spi1_pins>;
> +	status = "okay";
> +
> +	spi-flash@0 {
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		compatible = "st,m25p128", "jedec,spi-nor";
> +		reg = <0>; /* Chip select 0 */
> +		spi-max-frequency = <54000000>;
> +	};
> +};
> diff --git a/arch/arm/boot/dts/armada-385-linksys.dtsi b/arch/arm/boot/dts/armada-385-linksys.dtsi
> index 8450944..9aa2d77 100644
> --- a/arch/arm/boot/dts/armada-385-linksys.dtsi
> +++ b/arch/arm/boot/dts/armada-385-linksys.dtsi
> @@ -62,11 +62,6 @@
>  			  MBUS_ID(0x09, 0x05) 0 0xf1110000 0x10000>;
>  
>  		internal-regs {
> -
> -			spi@10600 {
> -				status = "disabled";
> -			};
> -
>  			i2c@11000 {
>  				pinctrl-names = "default";
>  				pinctrl-0 = <&i2c0_pins>;
> @@ -332,3 +327,7 @@
>  		marvell,function = "gpio";
>  	};
>  };
> +
> +&spi0 {
> +	status = "disabled";
> +};
> diff --git a/arch/arm/boot/dts/armada-388-clearfog.dts b/arch/arm/boot/dts/armada-388-clearfog.dts
> index c60206e..fbeaebb 100644
> --- a/arch/arm/boot/dts/armada-388-clearfog.dts
> +++ b/arch/arm/boot/dts/armada-388-clearfog.dts
> @@ -331,30 +331,6 @@
>  				status = "okay";
>  			};
>  
> -			spi@10680 {
> -				/*
> -				 * We don't seem to have the W25Q32 on the
> -				 * A1 Rev 2.0 boards, so disable SPI.
> -				 * CS0: W25Q32 (doesn't appear to be present)
> -				 * CS1:
> -				 * CS2: mikrobus
> -				 */
> -				pinctrl-0 = <&spi1_pins
> -					     &clearfog_spi1_cs_pins
> -					     &mikro_spi_pins>;
> -				pinctrl-names = "default";
> -				status = "okay";
> -
> -				spi-flash@0 {
> -					#address-cells = <1>;
> -					#size-cells = <0>;
> -					compatible = "w25q32", "jedec,spi-nor";
> -					reg = <0>; /* Chip select 0 */
> -					spi-max-frequency = <3000000>;
> -					status = "disabled";
> -				};
> -			};
> -
>  			usb@58000 {
>  				/* CON3, nearest  power. */
>  				status = "okay";
> @@ -460,3 +436,27 @@
>  		};
>  	};
>  };
> +
> +&spi1 {
> +	/*
> +	 * We don't seem to have the W25Q32 on the
> +	 * A1 Rev 2.0 boards, so disable SPI.
> +	 * CS0: W25Q32 (doesn't appear to be present)
> +	 * CS1:
> +	 * CS2: mikrobus
> +	 */
> +	pinctrl-0 = <&spi1_pins
> +		     &clearfog_spi1_cs_pins
> +		     &mikro_spi_pins>;
> +	pinctrl-names = "default";
> +	status = "okay";
> +
> +	spi-flash@0 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "w25q32", "jedec,spi-nor";
> +		reg = <0>; /* Chip select 0 */
> +		spi-max-frequency = <3000000>;
> +		status = "disabled";
> +	};
> +};
> diff --git a/arch/arm/boot/dts/armada-388-db.dts b/arch/arm/boot/dts/armada-388-db.dts
> index ea93ed7..de26c76 100644
> --- a/arch/arm/boot/dts/armada-388-db.dts
> +++ b/arch/arm/boot/dts/armada-388-db.dts
> @@ -70,18 +70,6 @@
>  			  MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>;
>  
>  		internal-regs {
> -			spi@10600 {
> -				status = "okay";
> -
> -				spi-flash@0 {
> -					#address-cells = <1>;
> -					#size-cells = <1>;
> -					compatible = "w25q32", "jedec,spi-nor";
> -					reg = <0>; /* Chip select 0 */
> -					spi-max-frequency = <108000000>;
> -				};
> -			};
> -
>  			i2c@11000 {
>  				status = "okay";
>  				clock-frequency = <100000>;
> @@ -201,3 +189,16 @@
>  		};
>  	};
>  };
> +
> +&spi0 {
> +	status = "okay";
> +
> +	spi-flash@0 {
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		compatible = "w25q32", "jedec,spi-nor";
> +		reg = <0>; /* Chip select 0 */
> +		spi-max-frequency = <108000000>;
> +	};
> +};
> +
> diff --git a/arch/arm/boot/dts/armada-388-gp.dts b/arch/arm/boot/dts/armada-388-gp.dts
> index fd75e5e9..895fa6c 100644
> --- a/arch/arm/boot/dts/armada-388-gp.dts
> +++ b/arch/arm/boot/dts/armada-388-gp.dts
> @@ -64,21 +64,6 @@
>  			  MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>;
>  
>  		internal-regs {
> -			spi@10600 {
> -				pinctrl-names = "default";
> -				pinctrl-0 = <&spi0_pins>;
> -				status = "okay";
> -
> -				spi-flash@0 {
> -					#address-cells = <1>;
> -					#size-cells = <1>;
> -					compatible = "st,m25p128", "jedec,spi-nor";
> -					reg = <0>; /* Chip select 0 */
> -					spi-max-frequency = <50000000>;
> -					m25p,fast-read;
> -				};
> -			};
> -
>  			i2c@11000 {
>  				pinctrl-names = "default";
>  				pinctrl-0 = <&i2c0_pins>;
> @@ -433,3 +418,18 @@
>  		marvell,function = "gpio";
>  	};
>  };
> +
> +&spi0 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&spi0_pins>;
> +	status = "okay";
> +
> +	spi-flash@0 {
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		compatible = "st,m25p128", "jedec,spi-nor";
> +		reg = <0>; /* Chip select 0 */
> +		spi-max-frequency = <50000000>;
> +		m25p,fast-read;
> +	};
> +};
> diff --git a/arch/arm/boot/dts/armada-388-rd.dts b/arch/arm/boot/dts/armada-388-rd.dts
> index 853f973..dd3462dd 100644
> --- a/arch/arm/boot/dts/armada-388-rd.dts
> +++ b/arch/arm/boot/dts/armada-388-rd.dts
> @@ -70,18 +70,6 @@
>  			  MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000>;
>  
>  		internal-regs {
> -			spi@10600 {
> -				status = "okay";
> -
> -				spi-flash@0 {
> -					#address-cells = <1>;
> -					#size-cells = <1>;
> -					compatible = "st,m25p128", "jedec,spi-nor";
> -					reg = <0>; /* Chip select 0 */
> -					spi-max-frequency = <108000000>;
> -				};
> -			};
> -
>  			i2c@11000 {
>  				status = "okay";
>  				clock-frequency = <100000>;
> @@ -142,3 +130,16 @@
>  		};
>  	};
>  };
> +
> +&spi0 {
> +	status = "okay";
> +
> +	spi-flash@0 {
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		compatible = "st,m25p128", "jedec,spi-nor";
> +		reg = <0>; /* Chip select 0 */
> +		spi-max-frequency = <108000000>;
> +	};
> +};
> +
> diff --git a/arch/arm/boot/dts/armada-38x.dtsi b/arch/arm/boot/dts/armada-38x.dtsi
> index 3312be6..c065ecd 100644
> --- a/arch/arm/boot/dts/armada-38x.dtsi
> +++ b/arch/arm/boot/dts/armada-38x.dtsi
> @@ -170,30 +170,6 @@
>  				      <0xc100 0x100>;
>  			};
>  
> -			spi0: spi@10600 {
> -				compatible = "marvell,armada-380-spi",
> -						"marvell,orion-spi";
> -				reg = <0x10600 0x50>;
> -				#address-cells = <1>;
> -				#size-cells = <0>;
> -				cell-index = <0>;
> -				interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
> -				clocks = <&coreclk 0>;
> -				status = "disabled";
> -			};
> -
> -			spi1: spi@10680 {
> -				compatible = "marvell,armada-380-spi",
> -						"marvell,orion-spi";
> -				reg = <0x10680 0x50>;
> -				#address-cells = <1>;
> -				#size-cells = <0>;
> -				cell-index = <1>;
> -				interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
> -				clocks = <&coreclk 0>;
> -				status = "disabled";
> -			};
> -
>  			i2c0: i2c@11000 {
>  				compatible = "marvell,mv64xxx-i2c";
>  				reg = <0x11000 0x20>;
> @@ -649,6 +625,30 @@
>  			no-memory-wc;
>  			status = "disabled";
>  		};
> +
> +		spi0: spi@10600 {
> +			compatible = "marvell,armada-380-spi",
> +					"marvell,orion-spi";
> +			reg = <MBUS_ID(0xf0, 0x01) 0x10600 0x50>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			cell-index = <0>;
> +			interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&coreclk 0>;
> +			status = "disabled";
> +		};
> +
> +		spi1: spi@10680 {
> +			compatible = "marvell,armada-380-spi",
> +					"marvell,orion-spi";
> +			reg = <MBUS_ID(0xf0, 0x01) 0x10680 0x50>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			cell-index = <1>;
> +			interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&coreclk 0>;
> +			status = "disabled";
> +		};
>  	};
>  
>  	clocks {
> diff --git a/arch/arm/boot/dts/armada-398-db.dts b/arch/arm/boot/dts/armada-398-db.dts
> index 788c3ba..c5f14a7 100644
> --- a/arch/arm/boot/dts/armada-398-db.dts
> +++ b/arch/arm/boot/dts/armada-398-db.dts
> @@ -65,30 +65,6 @@
>  			  MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000>;
>  
>  		internal-regs {
> -			spi@10680 {
> -				status = "okay";
> -				pinctrl-0 = <&spi1_pins>;
> -				pinctrl-names = "default";
> -
> -				spi-flash@0 {
> -					#address-cells = <1>;
> -					#size-cells = <0>;
> -					compatible = "n25q128a13", "jedec,spi-nor";
> -					reg = <0>;
> -					spi-max-frequency = <108000000>;
> -
> -					partition@0 {
> -						label = "U-Boot";
> -						reg = <0 0x400000>;
> -					};
> -
> -					partition@400000 {
> -						label = "Filesystem";
> -						reg = <0x400000 0x1000000>;
> -					};
> -				};
> -			};
> -
>  			i2c@11000 {
>  				pinctrl-0 = <&i2c0_pins>;
>  				pinctrl-names = "default";
> @@ -151,3 +127,27 @@
>  		};
>  	};
>  };
> +
> +&spi1 {
> +	status = "okay";
> +	pinctrl-0 = <&spi1_pins>;
> +	pinctrl-names = "default";
> +
> +	spi-flash@0 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "n25q128a13", "jedec,spi-nor";
> +		reg = <0>;
> +		spi-max-frequency = <108000000>;
> +
> +		partition@0 {
> +			label = "U-Boot";
> +			reg = <0 0x400000>;
> +		};
> +
> +		partition@400000 {
> +			label = "Filesystem";
> +			reg = <0x400000 0x1000000>;
> +		};
> +	};
> +};
> diff --git a/arch/arm/boot/dts/armada-39x.dtsi b/arch/arm/boot/dts/armada-39x.dtsi
> index dc6efd3..251a2b6 100644
> --- a/arch/arm/boot/dts/armada-39x.dtsi
> +++ b/arch/arm/boot/dts/armada-39x.dtsi
> @@ -131,30 +131,6 @@
>  				      <0xc100 0x100>;
>  			};
>  
> -			spi0: spi@10600 {
> -				compatible = "marvell,armada-390-spi",
> -						"marvell,orion-spi";
> -				reg = <0x10600 0x50>;
> -				#address-cells = <1>;
> -				#size-cells = <0>;
> -				cell-index = <0>;
> -				interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
> -				clocks = <&coreclk 0>;
> -				status = "disabled";
> -			};
> -
> -			spi1: spi@10680 {
> -				compatible = "marvell,armada-390-spi",
> -						"marvell,orion-spi";
> -				reg = <0x10680 0x50>;
> -				#address-cells = <1>;
> -				#size-cells = <0>;
> -				cell-index = <1>;
> -				interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
> -				clocks = <&coreclk 0>;
> -				status = "disabled";
> -			};
> -
>  			i2c0: i2c@11000 {
>  				compatible = "marvell,mv64xxx-i2c";
>  				reg = <0x11000 0x20>;
> @@ -501,6 +477,30 @@
>  				status = "disabled";
>  			};
>  		};
> +
> +		spi0: spi@10600 {
> +			compatible = "marvell,armada-390-spi",
> +					"marvell,orion-spi";
> +			reg = <MBUS_ID(0xf0, 0x01) 0x10600 0x50>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			cell-index = <0>;
> +			interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&coreclk 0>;
> +			status = "disabled";
> +		};
> +
> +		spi1: spi@10680 {
> +			compatible = "marvell,armada-390-spi",
> +					"marvell,orion-spi";
> +			reg = <MBUS_ID(0xf0, 0x01) 0x10680 0x50>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			cell-index = <1>;
> +			interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&coreclk 0>;
> +			status = "disabled";
> +		};
>  	};
>  
>  	clocks {
> diff --git a/arch/arm/boot/dts/armada-xp-axpwifiap.dts b/arch/arm/boot/dts/armada-xp-axpwifiap.dts
> index 5c21b23..ce15271 100644
> --- a/arch/arm/boot/dts/armada-xp-axpwifiap.dts
> +++ b/arch/arm/boot/dts/armada-xp-axpwifiap.dts
> @@ -135,18 +135,6 @@
>  				phy = <&phy1>;
>  				phy-mode = "rgmii-id";
>  			};
> -
> -			spi0: spi@10600 {
> -				status = "okay";
> -
> -				spi-flash@0 {
> -					#address-cells = <1>;
> -					#size-cells = <1>;
> -					compatible = "n25q128a13", "jedec,spi-nor";
> -					reg = <0>; /* Chip select 0 */
> -					spi-max-frequency = <108000000>;
> -				};
> -			};
>  		};
>  	};
>  
> @@ -179,3 +167,15 @@
>  		marvell,function = "gpio";
>  	};
>  };
> +
> +&spi0 {
> +	status = "okay";
> +
> +	spi-flash@0 {
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		compatible = "n25q128a13", "jedec,spi-nor";
> +		reg = <0>; /* Chip select 0 */
> +		spi-max-frequency = <108000000>;
> +	};
> +};
> diff --git a/arch/arm/boot/dts/armada-xp-db.dts b/arch/arm/boot/dts/armada-xp-db.dts
> index 62422a9..075120b 100644
> --- a/arch/arm/boot/dts/armada-xp-db.dts
> +++ b/arch/arm/boot/dts/armada-xp-db.dts
> @@ -231,18 +231,6 @@
>  				status = "okay";
>  			};
>  
> -			spi0: spi@10600 {
> -				status = "okay";
> -
> -				spi-flash@0 {
> -					#address-cells = <1>;
> -					#size-cells = <1>;
> -					compatible = "m25p64", "jedec,spi-nor";
> -					reg = <0>; /* Chip select 0 */
> -					spi-max-frequency = <20000000>;
> -				};
> -			};
> -
>  			nand@d0000 {
>  				status = "okay";
>  				num-cs = <1>;
> @@ -277,3 +265,15 @@
>  		};
>  	};
>  };
> +
> +&spi0 {
> +	status = "okay";
> +
> +	spi-flash@0 {
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		compatible = "m25p64", "jedec,spi-nor";
> +		reg = <0>; /* Chip select 0 */
> +		spi-max-frequency = <20000000>;
> +	};
> +};
> diff --git a/arch/arm/boot/dts/armada-xp-gp.dts b/arch/arm/boot/dts/armada-xp-gp.dts
> index 061f423..190e4ec 100644
> --- a/arch/arm/boot/dts/armada-xp-gp.dts
> +++ b/arch/arm/boot/dts/armada-xp-gp.dts
> @@ -232,18 +232,6 @@
>  				status = "okay";
>  			};
>  
> -			spi0: spi@10600 {
> -				status = "okay";
> -
> -				spi-flash@0 {
> -					#address-cells = <1>;
> -					#size-cells = <1>;
> -					compatible = "n25q128a13", "jedec,spi-nor";
> -					reg = <0>; /* Chip select 0 */
> -					spi-max-frequency = <108000000>;
> -				};
> -			};
> -
>  			bm@c0000 {
>  				status = "okay";
>  			};
> @@ -262,3 +250,15 @@
>  		};
>  	};
>  };
> +
> +&spi0 {
> +	status = "okay";
> +
> +	spi-flash@0 {
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		compatible = "n25q128a13", "jedec,spi-nor";
> +		reg = <0>; /* Chip select 0 */
> +		spi-max-frequency = <108000000>;
> +	};
> +};
> diff --git a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts
> index 7a46154..076f27f 100644
> --- a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts
> +++ b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts
> @@ -279,18 +279,6 @@
>  					reg = <0x180000 0x780000>;   /* 7.5MB */
>  				};
>  			};
> -
> -			spi0: spi@10600 {
> -				status = "okay";
> -
> -				spi-flash@0 {
> -					#address-cells = <1>;
> -					#size-cells = <1>;
> -					compatible = "everspin,mr25h256";
> -					reg = <0>; /* Chip select 0 */
> -					spi-max-frequency = <40000000>;
> -				};
> -			};
>  		};
>  	};
>  
> @@ -398,3 +386,15 @@
>  		marvell,function = "gpio";
>  	};
>  };
> +
> +&spi0 {
> +	status = "okay";
> +
> +	spi-flash@0 {
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		compatible = "everspin,mr25h256";
> +		reg = <0>; /* Chip select 0 */
> +		spi-max-frequency = <40000000>;
> +	};
> +};
> diff --git a/arch/arm/boot/dts/armada-xp-synology-ds414.dts b/arch/arm/boot/dts/armada-xp-synology-ds414.dts
> index d17dab0..ae28673 100644
> --- a/arch/arm/boot/dts/armada-xp-synology-ds414.dts
> +++ b/arch/arm/boot/dts/armada-xp-synology-ds414.dts
> @@ -110,62 +110,6 @@
>  				status = "disabled";
>  			};
>  
> -			spi0: spi@10600 {
> -				status = "okay";
> -
> -				spi-flash@0 {
> -					#address-cells = <1>;
> -					#size-cells = <1>;
> -					compatible = "micron,n25q064", "jedec,spi-nor";
> -					reg = <0>; /* Chip select 0 */
> -					spi-max-frequency = <20000000>;
> -
> -					/*
> -					 * Warning!
> -					 *
> -					 * Synology u-boot uses its compiled-in environment
> -					 * and it seems Synology did not care to change u-boot
> -					 * default configuration in order to allow saving a
> -					 * modified environment at a sensible location. So,
> -					 * if you do a 'saveenv' under u-boot, your modified
> -					 * environment will be saved at 1MB after the start
> -					 * of the flash, i.e. in the middle of the uImage.
> -					 * For that reason, it is strongly advised not to
> -					 * change the default environment, unless you know
> -					 * what you are doing.
> -					 */
> -					partition@00000000 { /* u-boot */
> -						label = "RedBoot";
> -						reg = <0x00000000 0x000d0000>; /* 832KB */
> -					};
> -
> -					partition@000c0000 { /* uImage */
> -						label = "zImage";
> -						reg = <0x000d0000 0x002d0000>; /* 2880KB */
> -					};
> -
> -					partition@003a0000 { /* uInitramfs */
> -						label = "rd.gz";
> -						reg = <0x003a0000 0x00430000>; /* 4250KB */
> -					};
> -
> -					partition@007d0000 { /* MAC address and serial number */
> -						label = "vendor";
> -						reg = <0x007d0000 0x00010000>; /* 64KB */
> -					};
> -
> -					partition@007e0000 {
> -						label = "RedBoot config";
> -						reg = <0x007e0000 0x00010000>; /* 64KB */
> -					};
> -
> -					partition@007f0000 {
> -						label = "FIS directory";
> -						reg = <0x007f0000 0x00010000>; /* 64KB */
> -					};
> -				};
> -			};
> -
>  			i2c@11000 {
>  				clock-frequency = <400000>;
>  				status = "okay";
> @@ -362,3 +306,59 @@
>  		marvell,function = "gpio";
>  	};
>  };
> +
> +&spi0 {
> +	status = "okay";
> +
> +	spi-flash@0 {
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		compatible = "micron,n25q064", "jedec,spi-nor";
> +		reg = <0>; /* Chip select 0 */
> +		spi-max-frequency = <20000000>;
> +
> +		/*
> +		 * Warning!
> +		 *
> +		 * Synology u-boot uses its compiled-in environment
> +		 * and it seems Synology did not care to change u-boot
> +		 * default configuration in order to allow saving a
> +		 * modified environment at a sensible location. So,
> +		 * if you do a 'saveenv' under u-boot, your modified
> +		 * environment will be saved at 1MB after the start
> +		 * of the flash, i.e. in the middle of the uImage.
> +		 * For that reason, it is strongly advised not to
> +		 * change the default environment, unless you know
> +		 * what you are doing.
> +		 */
> +		partition@00000000 { /* u-boot */
> +			label = "RedBoot";
> +			reg = <0x00000000 0x000d0000>; /* 832KB */
> +		};
> +
> +		partition@000c0000 { /* uImage */
> +			label = "zImage";
> +			reg = <0x000d0000 0x002d0000>; /* 2880KB */
> +		};
> +
> +		partition@003a0000 { /* uInitramfs */
> +			label = "rd.gz";
> +			reg = <0x003a0000 0x00430000>; /* 4250KB */
> +		};
> +
> +		partition@007d0000 { /* MAC address and serial number */
> +			label = "vendor";
> +			reg = <0x007d0000 0x00010000>; /* 64KB */
> +		};
> +
> +		partition@007e0000 {
> +			label = "RedBoot config";
> +			reg = <0x007e0000 0x00010000>; /* 64KB */
> +		};
> +
> +		partition@007f0000 {
> +			label = "FIS directory";
> +			reg = <0x007f0000 0x00010000>; /* 64KB */
> +		};
> +	};
> +};
> diff --git a/arch/arm/boot/dts/armada-xp.dtsi b/arch/arm/boot/dts/armada-xp.dtsi
> index 4033790..4a5f99e 100644
> --- a/arch/arm/boot/dts/armada-xp.dtsi
> +++ b/arch/arm/boot/dts/armada-xp.dtsi
> @@ -84,21 +84,6 @@
>  				wt-override;
>  			};
>  
> -			spi0: spi@10600 {
> -				compatible = "marvell,armada-xp-spi",
> -						"marvell,orion-spi";
> -				pinctrl-0 = <&spi0_pins>;
> -				pinctrl-names = "default";
> -			};
> -
> -			spi1: spi@10680 {
> -				compatible = "marvell,armada-xp-spi",
> -						"marvell,orion-spi";
> -				pinctrl-0 = <&spi1_pins>;
> -				pinctrl-names = "default";
> -			};
> -
> -
>  			i2c0: i2c@11000 {
>  				compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
>  				reg = <0x11000 0x100>;
> @@ -380,3 +365,15 @@
>  		marvell,function = "uart3";
>  	};
>  };
> +
> +&spi0 {
> +	compatible = "marvell,armada-xp-spi", "marvell,orion-spi";
> +	pinctrl-0 = <&spi0_pins>;
> +	pinctrl-names = "default";
> +};
> +
> +&spi1 {
> +	compatible = "marvell,armada-xp-spi", "marvell,orion-spi";
> +	pinctrl-0 = <&spi1_pins>;
> +	pinctrl-names = "default";
> +};
> -- 
> 2.9.1
>
diff mbox

Patch

diff --git a/arch/arm/boot/dts/armada-370-db.dts b/arch/arm/boot/dts/armada-370-db.dts
index 2364fc5..033fa63 100644
--- a/arch/arm/boot/dts/armada-370-db.dts
+++ b/arch/arm/boot/dts/armada-370-db.dts
@@ -155,20 +155,6 @@ 
 				status = "okay";
 			};
 
-			spi0: spi@10600 {
-				pinctrl-0 = <&spi0_pins2>;
-				pinctrl-names = "default";
-				status = "okay";
-
-				spi-flash@0 {
-					#address-cells = <1>;
-					#size-cells = <1>;
-					compatible = "mx25l25635e", "jedec,spi-nor";
-					reg = <0>; /* Chip select 0 */
-					spi-max-frequency = <50000000>;
-				};
-			};
-
 			nand@d0000 {
 				status = "okay";
 				num-cs = <1>;
@@ -274,3 +260,18 @@ 
 		compatible = "linux,spdif-dir";
 	};
 };
+
+&spi0 {
+	pinctrl-0 = <&spi0_pins2>;
+	pinctrl-names = "default";
+	status = "okay";
+
+	spi-flash@0 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "mx25l25635e", "jedec,spi-nor";
+		reg = <0>; /* Chip select 0 */
+		spi-max-frequency = <50000000>;
+	};
+};
+
diff --git a/arch/arm/boot/dts/armada-370-seagate-personal-cloud.dtsi b/arch/arm/boot/dts/armada-370-seagate-personal-cloud.dtsi
index 1aba08e..01cded3 100644
--- a/arch/arm/boot/dts/armada-370-seagate-personal-cloud.dtsi
+++ b/arch/arm/boot/dts/armada-370-seagate-personal-cloud.dtsi
@@ -68,26 +68,6 @@ 
 				phy-mode = "rgmii-id";
 			};
 
-			spi@10600 {
-				status = "okay";
-				pinctrl-0 = <&spi0_pins2>;
-				pinctrl-names = "default";
-
-				spi-flash@0 {
-					#address-cells = <1>;
-					#size-cells = <1>;
-					/* MX25L8006E */
-					compatible = "mxicy,mx25l8005", "jedec,spi-nor";
-					reg = <0>; /* Chip select 0 */
-					spi-max-frequency = <50000000>;
-
-					partition@0 {
-						label = "u-boot";
-						reg = <0x0 0x100000>;
-					};
-				};
-			};
-
 			usb@50000 {
 				status = "okay";
 			};
@@ -176,3 +156,23 @@ 
 		marvell,function = "gpio";
 	};
 };
+
+&spi0 {
+	status = "okay";
+	pinctrl-0 = <&spi0_pins2>;
+	pinctrl-names = "default";
+
+	spi-flash@0 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		/* MX25L8006E */
+		compatible = "mxicy,mx25l8005", "jedec,spi-nor";
+		reg = <0>; /* Chip select 0 */
+		spi-max-frequency = <50000000>;
+
+		partition@0 {
+			label = "u-boot";
+			reg = <0x0 0x100000>;
+		};
+	};
+};
diff --git a/arch/arm/boot/dts/armada-370-synology-ds213j.dts b/arch/arm/boot/dts/armada-370-synology-ds213j.dts
index 8ca7a43..a9cc427 100644
--- a/arch/arm/boot/dts/armada-370-synology-ds213j.dts
+++ b/arch/arm/boot/dts/armada-370-synology-ds213j.dts
@@ -87,62 +87,6 @@ 
 				status = "disabled";
 			};
 
-			spi0: spi@10600 {
-				status = "okay";
-
-				spi-flash@0 {
-					#address-cells = <1>;
-					#size-cells = <1>;
-					compatible = "micron,n25q064", "jedec,spi-nor";
-					reg = <0>; /* Chip select 0 */
-					spi-max-frequency = <20000000>;
-
-					/*
-					 * Warning!
-					 *
-					 * Synology u-boot uses its compiled-in environment
-					 * and it seems Synology did not care to change u-boot
-					 * default configuration in order to allow saving a
-					 * modified environment at a sensible location. So,
-					 * if you do a 'saveenv' under u-boot, your modified
-					 * environment will be saved at 1MB after the start
-					 * of the flash, i.e. in the middle of the uImage.
-					 * For that reason, it is strongly advised not to
-					 * change the default environment, unless you know
-					 * what you are doing.
-					 */
-					partition@00000000 { /* u-boot */
-						label = "RedBoot";
-						reg = <0x00000000 0x000c0000>; /* 768KB */
-					};
-
-					partition@000c0000 { /* uImage */
-						label = "zImage";
-						reg = <0x000c0000 0x002d0000>; /* 2880KB */
-					};
-
-					partition@00390000 { /* uInitramfs */
-						label = "rd.gz";
-						reg = <0x00390000 0x00440000>; /* 4250KB */
-					};
-
-					partition@007d0000 { /* MAC address and serial number */
-						label = "vendor";
-						reg = <0x007d0000 0x00010000>; /* 64KB */
-					};
-
-					partition@007e0000 {
-						label = "RedBoot config";
-						reg = <0x007e0000 0x00010000>; /* 64KB */
-					};
-
-					partition@007f0000 {
-						label = "FIS directory";
-						reg = <0x007f0000 0x00010000>; /* 64KB */
-					};
-				};
-			};
-
 			i2c@11000 {
 				compatible = "marvell,mv64xxx-i2c";
 				pinctrl-0 = <&i2c0_pins>;
@@ -347,3 +291,59 @@ 
 		marvell,function = "gpio";
 	};
 };
+
+&spi0 {
+	status = "okay";
+
+	spi-flash@0 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "micron,n25q064", "jedec,spi-nor";
+		reg = <0>; /* Chip select 0 */
+		spi-max-frequency = <20000000>;
+
+		/*
+		 * Warning!
+		 *
+		 * Synology u-boot uses its compiled-in environment
+		 * and it seems Synology did not care to change u-boot
+		 * default configuration in order to allow saving a
+		 * modified environment at a sensible location. So,
+		 * if you do a 'saveenv' under u-boot, your modified
+		 * environment will be saved at 1MB after the start
+		 * of the flash, i.e. in the middle of the uImage.
+		 * For that reason, it is strongly advised not to
+		 * change the default environment, unless you know
+		 * what you are doing.
+		 */
+		partition@00000000 { /* u-boot */
+			label = "RedBoot";
+			reg = <0x00000000 0x000c0000>; /* 768KB */
+		};
+
+		partition@000c0000 { /* uImage */
+			label = "zImage";
+			reg = <0x000c0000 0x002d0000>; /* 2880KB */
+		};
+
+		partition@00390000 { /* uInitramfs */
+			label = "rd.gz";
+			reg = <0x00390000 0x00440000>; /* 4250KB */
+		};
+
+		partition@007d0000 { /* MAC address and serial number */
+			label = "vendor";
+			reg = <0x007d0000 0x00010000>; /* 64KB */
+		};
+
+		partition@007e0000 {
+			label = "RedBoot config";
+			reg = <0x007e0000 0x00010000>; /* 64KB */
+		};
+
+		partition@007f0000 {
+			label = "FIS directory";
+			reg = <0x007f0000 0x00010000>; /* 64KB */
+		};
+	};
+};
diff --git a/arch/arm/boot/dts/armada-370-xp.dtsi b/arch/arm/boot/dts/armada-370-xp.dtsi
index a718866..a0903cd 100644
--- a/arch/arm/boot/dts/armada-370-xp.dtsi
+++ b/arch/arm/boot/dts/armada-370-xp.dtsi
@@ -148,26 +148,6 @@ 
 				interrupts = <50>;
 			};
 
-			spi0: spi@10600 {
-				reg = <0x10600 0x28>;
-				#address-cells = <1>;
-				#size-cells = <0>;
-				cell-index = <0>;
-				interrupts = <30>;
-				clocks = <&coreclk 0>;
-				status = "disabled";
-			};
-
-			spi1: spi@10680 {
-				reg = <0x10680 0x28>;
-				#address-cells = <1>;
-				#size-cells = <0>;
-				cell-index = <1>;
-				interrupts = <92>;
-				clocks = <&coreclk 0>;
-				status = "disabled";
-			};
-
 			i2c0: i2c@11000 {
 				compatible = "marvell,mv64xxx-i2c";
 				#address-cells = <1>;
@@ -320,6 +300,26 @@ 
 				status = "disabled";
 			};
 		};
+
+		spi0: spi@10600 {
+			reg = <MBUS_ID(0xf0, 0x01) 0x10600 0x28>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			cell-index = <0>;
+			interrupts = <30>;
+			clocks = <&coreclk 0>;
+			status = "disabled";
+		};
+
+		spi1: spi@10680 {
+			reg = <MBUS_ID(0xf0, 0x01) 0x10680 0x28>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			cell-index = <1>;
+			interrupts = <92>;
+			clocks = <&coreclk 0>;
+			status = "disabled";
+		};
 	};
 
 	clocks {
diff --git a/arch/arm/boot/dts/armada-370.dtsi b/arch/arm/boot/dts/armada-370.dtsi
index 3b06aa8..b425810 100644
--- a/arch/arm/boot/dts/armada-370.dtsi
+++ b/arch/arm/boot/dts/armada-370.dtsi
@@ -134,24 +134,6 @@ 
 				wt-override;
 			};
 
-			/*
-			 * Default SPI pinctrl setting, can be overwritten on
-			 * board level if a different configuration is used.
-			 */
-			spi0: spi@10600 {
-				compatible = "marvell,armada-370-spi",
-						"marvell,orion-spi";
-				pinctrl-0 = <&spi0_pins1>;
-				pinctrl-names = "default";
-			};
-
-			spi1: spi@10680 {
-				compatible = "marvell,armada-370-spi",
-						"marvell,orion-spi";
-				pinctrl-0 = <&spi1_pins>;
-				pinctrl-names = "default";
-			};
-
 			i2c0: i2c@11000 {
 				reg = <0x11000 0x20>;
 			};
@@ -447,3 +429,19 @@ 
 		marvell,function = "ge1";
 	};
 };
+
+/*
+ * Default SPI pinctrl setting, can be overwritten on
+ * board level if a different configuration is used.
+ */
+&spi0 {
+	compatible = "marvell,armada-370-spi", "marvell,orion-spi";
+	pinctrl-0 = <&spi0_pins1>;
+	pinctrl-names = "default";
+};
+
+&spi1 {
+	compatible = "marvell,armada-370-spi", "marvell,orion-spi";
+	pinctrl-0 = <&spi1_pins>;
+	pinctrl-names = "default";
+};
diff --git a/arch/arm/boot/dts/armada-385-db-ap.dts b/arch/arm/boot/dts/armada-385-db-ap.dts
index 2d3fd6e..ca38200 100644
--- a/arch/arm/boot/dts/armada-385-db-ap.dts
+++ b/arch/arm/boot/dts/armada-385-db-ap.dts
@@ -65,20 +65,6 @@ 
 			  MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>;
 
 		internal-regs {
-			spi1: spi@10680 {
-				pinctrl-names = "default";
-				pinctrl-0 = <&spi1_pins>;
-				status = "okay";
-
-				spi-flash@0 {
-					#address-cells = <1>;
-					#size-cells = <1>;
-					compatible = "st,m25p128", "jedec,spi-nor";
-					reg = <0>; /* Chip select 0 */
-					spi-max-frequency = <54000000>;
-				};
-			};
-
 			i2c0: i2c@11000 {
 				pinctrl-names = "default";
 				pinctrl-0 = <&i2c0_pins>;
@@ -239,3 +225,17 @@ 
 		gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
 	};
 };
+
+&spi1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&spi1_pins>;
+	status = "okay";
+
+	spi-flash@0 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "st,m25p128", "jedec,spi-nor";
+		reg = <0>; /* Chip select 0 */
+		spi-max-frequency = <54000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/armada-385-linksys.dtsi b/arch/arm/boot/dts/armada-385-linksys.dtsi
index 8450944..9aa2d77 100644
--- a/arch/arm/boot/dts/armada-385-linksys.dtsi
+++ b/arch/arm/boot/dts/armada-385-linksys.dtsi
@@ -62,11 +62,6 @@ 
 			  MBUS_ID(0x09, 0x05) 0 0xf1110000 0x10000>;
 
 		internal-regs {
-
-			spi@10600 {
-				status = "disabled";
-			};
-
 			i2c@11000 {
 				pinctrl-names = "default";
 				pinctrl-0 = <&i2c0_pins>;
@@ -332,3 +327,7 @@ 
 		marvell,function = "gpio";
 	};
 };
+
+&spi0 {
+	status = "disabled";
+};
diff --git a/arch/arm/boot/dts/armada-388-clearfog.dts b/arch/arm/boot/dts/armada-388-clearfog.dts
index c60206e..fbeaebb 100644
--- a/arch/arm/boot/dts/armada-388-clearfog.dts
+++ b/arch/arm/boot/dts/armada-388-clearfog.dts
@@ -331,30 +331,6 @@ 
 				status = "okay";
 			};
 
-			spi@10680 {
-				/*
-				 * We don't seem to have the W25Q32 on the
-				 * A1 Rev 2.0 boards, so disable SPI.
-				 * CS0: W25Q32 (doesn't appear to be present)
-				 * CS1:
-				 * CS2: mikrobus
-				 */
-				pinctrl-0 = <&spi1_pins
-					     &clearfog_spi1_cs_pins
-					     &mikro_spi_pins>;
-				pinctrl-names = "default";
-				status = "okay";
-
-				spi-flash@0 {
-					#address-cells = <1>;
-					#size-cells = <0>;
-					compatible = "w25q32", "jedec,spi-nor";
-					reg = <0>; /* Chip select 0 */
-					spi-max-frequency = <3000000>;
-					status = "disabled";
-				};
-			};
-
 			usb@58000 {
 				/* CON3, nearest  power. */
 				status = "okay";
@@ -460,3 +436,27 @@ 
 		};
 	};
 };
+
+&spi1 {
+	/*
+	 * We don't seem to have the W25Q32 on the
+	 * A1 Rev 2.0 boards, so disable SPI.
+	 * CS0: W25Q32 (doesn't appear to be present)
+	 * CS1:
+	 * CS2: mikrobus
+	 */
+	pinctrl-0 = <&spi1_pins
+		     &clearfog_spi1_cs_pins
+		     &mikro_spi_pins>;
+	pinctrl-names = "default";
+	status = "okay";
+
+	spi-flash@0 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "w25q32", "jedec,spi-nor";
+		reg = <0>; /* Chip select 0 */
+		spi-max-frequency = <3000000>;
+		status = "disabled";
+	};
+};
diff --git a/arch/arm/boot/dts/armada-388-db.dts b/arch/arm/boot/dts/armada-388-db.dts
index ea93ed7..de26c76 100644
--- a/arch/arm/boot/dts/armada-388-db.dts
+++ b/arch/arm/boot/dts/armada-388-db.dts
@@ -70,18 +70,6 @@ 
 			  MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>;
 
 		internal-regs {
-			spi@10600 {
-				status = "okay";
-
-				spi-flash@0 {
-					#address-cells = <1>;
-					#size-cells = <1>;
-					compatible = "w25q32", "jedec,spi-nor";
-					reg = <0>; /* Chip select 0 */
-					spi-max-frequency = <108000000>;
-				};
-			};
-
 			i2c@11000 {
 				status = "okay";
 				clock-frequency = <100000>;
@@ -201,3 +189,16 @@ 
 		};
 	};
 };
+
+&spi0 {
+	status = "okay";
+
+	spi-flash@0 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "w25q32", "jedec,spi-nor";
+		reg = <0>; /* Chip select 0 */
+		spi-max-frequency = <108000000>;
+	};
+};
+
diff --git a/arch/arm/boot/dts/armada-388-gp.dts b/arch/arm/boot/dts/armada-388-gp.dts
index fd75e5e9..895fa6c 100644
--- a/arch/arm/boot/dts/armada-388-gp.dts
+++ b/arch/arm/boot/dts/armada-388-gp.dts
@@ -64,21 +64,6 @@ 
 			  MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>;
 
 		internal-regs {
-			spi@10600 {
-				pinctrl-names = "default";
-				pinctrl-0 = <&spi0_pins>;
-				status = "okay";
-
-				spi-flash@0 {
-					#address-cells = <1>;
-					#size-cells = <1>;
-					compatible = "st,m25p128", "jedec,spi-nor";
-					reg = <0>; /* Chip select 0 */
-					spi-max-frequency = <50000000>;
-					m25p,fast-read;
-				};
-			};
-
 			i2c@11000 {
 				pinctrl-names = "default";
 				pinctrl-0 = <&i2c0_pins>;
@@ -433,3 +418,18 @@ 
 		marvell,function = "gpio";
 	};
 };
+
+&spi0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&spi0_pins>;
+	status = "okay";
+
+	spi-flash@0 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "st,m25p128", "jedec,spi-nor";
+		reg = <0>; /* Chip select 0 */
+		spi-max-frequency = <50000000>;
+		m25p,fast-read;
+	};
+};
diff --git a/arch/arm/boot/dts/armada-388-rd.dts b/arch/arm/boot/dts/armada-388-rd.dts
index 853f973..dd3462dd 100644
--- a/arch/arm/boot/dts/armada-388-rd.dts
+++ b/arch/arm/boot/dts/armada-388-rd.dts
@@ -70,18 +70,6 @@ 
 			  MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000>;
 
 		internal-regs {
-			spi@10600 {
-				status = "okay";
-
-				spi-flash@0 {
-					#address-cells = <1>;
-					#size-cells = <1>;
-					compatible = "st,m25p128", "jedec,spi-nor";
-					reg = <0>; /* Chip select 0 */
-					spi-max-frequency = <108000000>;
-				};
-			};
-
 			i2c@11000 {
 				status = "okay";
 				clock-frequency = <100000>;
@@ -142,3 +130,16 @@ 
 		};
 	};
 };
+
+&spi0 {
+	status = "okay";
+
+	spi-flash@0 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "st,m25p128", "jedec,spi-nor";
+		reg = <0>; /* Chip select 0 */
+		spi-max-frequency = <108000000>;
+	};
+};
+
diff --git a/arch/arm/boot/dts/armada-38x.dtsi b/arch/arm/boot/dts/armada-38x.dtsi
index 3312be6..c065ecd 100644
--- a/arch/arm/boot/dts/armada-38x.dtsi
+++ b/arch/arm/boot/dts/armada-38x.dtsi
@@ -170,30 +170,6 @@ 
 				      <0xc100 0x100>;
 			};
 
-			spi0: spi@10600 {
-				compatible = "marvell,armada-380-spi",
-						"marvell,orion-spi";
-				reg = <0x10600 0x50>;
-				#address-cells = <1>;
-				#size-cells = <0>;
-				cell-index = <0>;
-				interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
-				clocks = <&coreclk 0>;
-				status = "disabled";
-			};
-
-			spi1: spi@10680 {
-				compatible = "marvell,armada-380-spi",
-						"marvell,orion-spi";
-				reg = <0x10680 0x50>;
-				#address-cells = <1>;
-				#size-cells = <0>;
-				cell-index = <1>;
-				interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
-				clocks = <&coreclk 0>;
-				status = "disabled";
-			};
-
 			i2c0: i2c@11000 {
 				compatible = "marvell,mv64xxx-i2c";
 				reg = <0x11000 0x20>;
@@ -649,6 +625,30 @@ 
 			no-memory-wc;
 			status = "disabled";
 		};
+
+		spi0: spi@10600 {
+			compatible = "marvell,armada-380-spi",
+					"marvell,orion-spi";
+			reg = <MBUS_ID(0xf0, 0x01) 0x10600 0x50>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			cell-index = <0>;
+			interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&coreclk 0>;
+			status = "disabled";
+		};
+
+		spi1: spi@10680 {
+			compatible = "marvell,armada-380-spi",
+					"marvell,orion-spi";
+			reg = <MBUS_ID(0xf0, 0x01) 0x10680 0x50>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			cell-index = <1>;
+			interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&coreclk 0>;
+			status = "disabled";
+		};
 	};
 
 	clocks {
diff --git a/arch/arm/boot/dts/armada-398-db.dts b/arch/arm/boot/dts/armada-398-db.dts
index 788c3ba..c5f14a7 100644
--- a/arch/arm/boot/dts/armada-398-db.dts
+++ b/arch/arm/boot/dts/armada-398-db.dts
@@ -65,30 +65,6 @@ 
 			  MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000>;
 
 		internal-regs {
-			spi@10680 {
-				status = "okay";
-				pinctrl-0 = <&spi1_pins>;
-				pinctrl-names = "default";
-
-				spi-flash@0 {
-					#address-cells = <1>;
-					#size-cells = <0>;
-					compatible = "n25q128a13", "jedec,spi-nor";
-					reg = <0>;
-					spi-max-frequency = <108000000>;
-
-					partition@0 {
-						label = "U-Boot";
-						reg = <0 0x400000>;
-					};
-
-					partition@400000 {
-						label = "Filesystem";
-						reg = <0x400000 0x1000000>;
-					};
-				};
-			};
-
 			i2c@11000 {
 				pinctrl-0 = <&i2c0_pins>;
 				pinctrl-names = "default";
@@ -151,3 +127,27 @@ 
 		};
 	};
 };
+
+&spi1 {
+	status = "okay";
+	pinctrl-0 = <&spi1_pins>;
+	pinctrl-names = "default";
+
+	spi-flash@0 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "n25q128a13", "jedec,spi-nor";
+		reg = <0>;
+		spi-max-frequency = <108000000>;
+
+		partition@0 {
+			label = "U-Boot";
+			reg = <0 0x400000>;
+		};
+
+		partition@400000 {
+			label = "Filesystem";
+			reg = <0x400000 0x1000000>;
+		};
+	};
+};
diff --git a/arch/arm/boot/dts/armada-39x.dtsi b/arch/arm/boot/dts/armada-39x.dtsi
index dc6efd3..251a2b6 100644
--- a/arch/arm/boot/dts/armada-39x.dtsi
+++ b/arch/arm/boot/dts/armada-39x.dtsi
@@ -131,30 +131,6 @@ 
 				      <0xc100 0x100>;
 			};
 
-			spi0: spi@10600 {
-				compatible = "marvell,armada-390-spi",
-						"marvell,orion-spi";
-				reg = <0x10600 0x50>;
-				#address-cells = <1>;
-				#size-cells = <0>;
-				cell-index = <0>;
-				interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
-				clocks = <&coreclk 0>;
-				status = "disabled";
-			};
-
-			spi1: spi@10680 {
-				compatible = "marvell,armada-390-spi",
-						"marvell,orion-spi";
-				reg = <0x10680 0x50>;
-				#address-cells = <1>;
-				#size-cells = <0>;
-				cell-index = <1>;
-				interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
-				clocks = <&coreclk 0>;
-				status = "disabled";
-			};
-
 			i2c0: i2c@11000 {
 				compatible = "marvell,mv64xxx-i2c";
 				reg = <0x11000 0x20>;
@@ -501,6 +477,30 @@ 
 				status = "disabled";
 			};
 		};
+
+		spi0: spi@10600 {
+			compatible = "marvell,armada-390-spi",
+					"marvell,orion-spi";
+			reg = <MBUS_ID(0xf0, 0x01) 0x10600 0x50>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			cell-index = <0>;
+			interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&coreclk 0>;
+			status = "disabled";
+		};
+
+		spi1: spi@10680 {
+			compatible = "marvell,armada-390-spi",
+					"marvell,orion-spi";
+			reg = <MBUS_ID(0xf0, 0x01) 0x10680 0x50>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			cell-index = <1>;
+			interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&coreclk 0>;
+			status = "disabled";
+		};
 	};
 
 	clocks {
diff --git a/arch/arm/boot/dts/armada-xp-axpwifiap.dts b/arch/arm/boot/dts/armada-xp-axpwifiap.dts
index 5c21b23..ce15271 100644
--- a/arch/arm/boot/dts/armada-xp-axpwifiap.dts
+++ b/arch/arm/boot/dts/armada-xp-axpwifiap.dts
@@ -135,18 +135,6 @@ 
 				phy = <&phy1>;
 				phy-mode = "rgmii-id";
 			};
-
-			spi0: spi@10600 {
-				status = "okay";
-
-				spi-flash@0 {
-					#address-cells = <1>;
-					#size-cells = <1>;
-					compatible = "n25q128a13", "jedec,spi-nor";
-					reg = <0>; /* Chip select 0 */
-					spi-max-frequency = <108000000>;
-				};
-			};
 		};
 	};
 
@@ -179,3 +167,15 @@ 
 		marvell,function = "gpio";
 	};
 };
+
+&spi0 {
+	status = "okay";
+
+	spi-flash@0 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "n25q128a13", "jedec,spi-nor";
+		reg = <0>; /* Chip select 0 */
+		spi-max-frequency = <108000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/armada-xp-db.dts b/arch/arm/boot/dts/armada-xp-db.dts
index 62422a9..075120b 100644
--- a/arch/arm/boot/dts/armada-xp-db.dts
+++ b/arch/arm/boot/dts/armada-xp-db.dts
@@ -231,18 +231,6 @@ 
 				status = "okay";
 			};
 
-			spi0: spi@10600 {
-				status = "okay";
-
-				spi-flash@0 {
-					#address-cells = <1>;
-					#size-cells = <1>;
-					compatible = "m25p64", "jedec,spi-nor";
-					reg = <0>; /* Chip select 0 */
-					spi-max-frequency = <20000000>;
-				};
-			};
-
 			nand@d0000 {
 				status = "okay";
 				num-cs = <1>;
@@ -277,3 +265,15 @@ 
 		};
 	};
 };
+
+&spi0 {
+	status = "okay";
+
+	spi-flash@0 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "m25p64", "jedec,spi-nor";
+		reg = <0>; /* Chip select 0 */
+		spi-max-frequency = <20000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/armada-xp-gp.dts b/arch/arm/boot/dts/armada-xp-gp.dts
index 061f423..190e4ec 100644
--- a/arch/arm/boot/dts/armada-xp-gp.dts
+++ b/arch/arm/boot/dts/armada-xp-gp.dts
@@ -232,18 +232,6 @@ 
 				status = "okay";
 			};
 
-			spi0: spi@10600 {
-				status = "okay";
-
-				spi-flash@0 {
-					#address-cells = <1>;
-					#size-cells = <1>;
-					compatible = "n25q128a13", "jedec,spi-nor";
-					reg = <0>; /* Chip select 0 */
-					spi-max-frequency = <108000000>;
-				};
-			};
-
 			bm@c0000 {
 				status = "okay";
 			};
@@ -262,3 +250,15 @@ 
 		};
 	};
 };
+
+&spi0 {
+	status = "okay";
+
+	spi-flash@0 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "n25q128a13", "jedec,spi-nor";
+		reg = <0>; /* Chip select 0 */
+		spi-max-frequency = <108000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts
index 7a46154..076f27f 100644
--- a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts
+++ b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts
@@ -279,18 +279,6 @@ 
 					reg = <0x180000 0x780000>;   /* 7.5MB */
 				};
 			};
-
-			spi0: spi@10600 {
-				status = "okay";
-
-				spi-flash@0 {
-					#address-cells = <1>;
-					#size-cells = <1>;
-					compatible = "everspin,mr25h256";
-					reg = <0>; /* Chip select 0 */
-					spi-max-frequency = <40000000>;
-				};
-			};
 		};
 	};
 
@@ -398,3 +386,15 @@ 
 		marvell,function = "gpio";
 	};
 };
+
+&spi0 {
+	status = "okay";
+
+	spi-flash@0 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "everspin,mr25h256";
+		reg = <0>; /* Chip select 0 */
+		spi-max-frequency = <40000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/armada-xp-synology-ds414.dts b/arch/arm/boot/dts/armada-xp-synology-ds414.dts
index d17dab0..ae28673 100644
--- a/arch/arm/boot/dts/armada-xp-synology-ds414.dts
+++ b/arch/arm/boot/dts/armada-xp-synology-ds414.dts
@@ -110,62 +110,6 @@ 
 				status = "disabled";
 			};
 
-			spi0: spi@10600 {
-				status = "okay";
-
-				spi-flash@0 {
-					#address-cells = <1>;
-					#size-cells = <1>;
-					compatible = "micron,n25q064", "jedec,spi-nor";
-					reg = <0>; /* Chip select 0 */
-					spi-max-frequency = <20000000>;
-
-					/*
-					 * Warning!
-					 *
-					 * Synology u-boot uses its compiled-in environment
-					 * and it seems Synology did not care to change u-boot
-					 * default configuration in order to allow saving a
-					 * modified environment at a sensible location. So,
-					 * if you do a 'saveenv' under u-boot, your modified
-					 * environment will be saved at 1MB after the start
-					 * of the flash, i.e. in the middle of the uImage.
-					 * For that reason, it is strongly advised not to
-					 * change the default environment, unless you know
-					 * what you are doing.
-					 */
-					partition@00000000 { /* u-boot */
-						label = "RedBoot";
-						reg = <0x00000000 0x000d0000>; /* 832KB */
-					};
-
-					partition@000c0000 { /* uImage */
-						label = "zImage";
-						reg = <0x000d0000 0x002d0000>; /* 2880KB */
-					};
-
-					partition@003a0000 { /* uInitramfs */
-						label = "rd.gz";
-						reg = <0x003a0000 0x00430000>; /* 4250KB */
-					};
-
-					partition@007d0000 { /* MAC address and serial number */
-						label = "vendor";
-						reg = <0x007d0000 0x00010000>; /* 64KB */
-					};
-
-					partition@007e0000 {
-						label = "RedBoot config";
-						reg = <0x007e0000 0x00010000>; /* 64KB */
-					};
-
-					partition@007f0000 {
-						label = "FIS directory";
-						reg = <0x007f0000 0x00010000>; /* 64KB */
-					};
-				};
-			};
-
 			i2c@11000 {
 				clock-frequency = <400000>;
 				status = "okay";
@@ -362,3 +306,59 @@ 
 		marvell,function = "gpio";
 	};
 };
+
+&spi0 {
+	status = "okay";
+
+	spi-flash@0 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "micron,n25q064", "jedec,spi-nor";
+		reg = <0>; /* Chip select 0 */
+		spi-max-frequency = <20000000>;
+
+		/*
+		 * Warning!
+		 *
+		 * Synology u-boot uses its compiled-in environment
+		 * and it seems Synology did not care to change u-boot
+		 * default configuration in order to allow saving a
+		 * modified environment at a sensible location. So,
+		 * if you do a 'saveenv' under u-boot, your modified
+		 * environment will be saved at 1MB after the start
+		 * of the flash, i.e. in the middle of the uImage.
+		 * For that reason, it is strongly advised not to
+		 * change the default environment, unless you know
+		 * what you are doing.
+		 */
+		partition@00000000 { /* u-boot */
+			label = "RedBoot";
+			reg = <0x00000000 0x000d0000>; /* 832KB */
+		};
+
+		partition@000c0000 { /* uImage */
+			label = "zImage";
+			reg = <0x000d0000 0x002d0000>; /* 2880KB */
+		};
+
+		partition@003a0000 { /* uInitramfs */
+			label = "rd.gz";
+			reg = <0x003a0000 0x00430000>; /* 4250KB */
+		};
+
+		partition@007d0000 { /* MAC address and serial number */
+			label = "vendor";
+			reg = <0x007d0000 0x00010000>; /* 64KB */
+		};
+
+		partition@007e0000 {
+			label = "RedBoot config";
+			reg = <0x007e0000 0x00010000>; /* 64KB */
+		};
+
+		partition@007f0000 {
+			label = "FIS directory";
+			reg = <0x007f0000 0x00010000>; /* 64KB */
+		};
+	};
+};
diff --git a/arch/arm/boot/dts/armada-xp.dtsi b/arch/arm/boot/dts/armada-xp.dtsi
index 4033790..4a5f99e 100644
--- a/arch/arm/boot/dts/armada-xp.dtsi
+++ b/arch/arm/boot/dts/armada-xp.dtsi
@@ -84,21 +84,6 @@ 
 				wt-override;
 			};
 
-			spi0: spi@10600 {
-				compatible = "marvell,armada-xp-spi",
-						"marvell,orion-spi";
-				pinctrl-0 = <&spi0_pins>;
-				pinctrl-names = "default";
-			};
-
-			spi1: spi@10680 {
-				compatible = "marvell,armada-xp-spi",
-						"marvell,orion-spi";
-				pinctrl-0 = <&spi1_pins>;
-				pinctrl-names = "default";
-			};
-
-
 			i2c0: i2c@11000 {
 				compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
 				reg = <0x11000 0x100>;
@@ -380,3 +365,15 @@ 
 		marvell,function = "uart3";
 	};
 };
+
+&spi0 {
+	compatible = "marvell,armada-xp-spi", "marvell,orion-spi";
+	pinctrl-0 = <&spi0_pins>;
+	pinctrl-names = "default";
+};
+
+&spi1 {
+	compatible = "marvell,armada-xp-spi", "marvell,orion-spi";
+	pinctrl-0 = <&spi1_pins>;
+	pinctrl-names = "default";
+};