[PATCH 2/3 v2] ARM: dts: mvebu: A37x/XP/38x/39x: Move SPI controller nodes into 'soc' node
Gregory CLEMENT
gregory.clement at free-electrons.com
Wed Jul 27 07:43:52 PDT 2016
Hi Stefan,
On mer., juil. 13 2016, Stefan Roese <sr at 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 at denx.de>
> Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> Cc: Gregory CLEMENT <gregory.clement at free-electrons.com>
> Cc: Andrew Lunn <andrew at lunn.ch>
> Cc: Jason Cooper <jason at lakedaemon.net>
> Cc: Mark Brown <broonie at kernel.org>
> Cc: Arnd Bergmann <arnd at 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 at 10600 {
> - pinctrl-0 = <&spi0_pins2>;
> - pinctrl-names = "default";
> - status = "okay";
> -
> - spi-flash at 0 {
> - #address-cells = <1>;
> - #size-cells = <1>;
> - compatible = "mx25l25635e", "jedec,spi-nor";
> - reg = <0>; /* Chip select 0 */
> - spi-max-frequency = <50000000>;
> - };
> - };
> -
> nand at 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 at 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 at 10600 {
> - status = "okay";
> - pinctrl-0 = <&spi0_pins2>;
> - pinctrl-names = "default";
> -
> - spi-flash at 0 {
> - #address-cells = <1>;
> - #size-cells = <1>;
> - /* MX25L8006E */
> - compatible = "mxicy,mx25l8005", "jedec,spi-nor";
> - reg = <0>; /* Chip select 0 */
> - spi-max-frequency = <50000000>;
> -
> - partition at 0 {
> - label = "u-boot";
> - reg = <0x0 0x100000>;
> - };
> - };
> - };
> -
> usb at 50000 {
> status = "okay";
> };
> @@ -176,3 +156,23 @@
> marvell,function = "gpio";
> };
> };
> +
> +&spi0 {
> + status = "okay";
> + pinctrl-0 = <&spi0_pins2>;
> + pinctrl-names = "default";
> +
> + spi-flash at 0 {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + /* MX25L8006E */
> + compatible = "mxicy,mx25l8005", "jedec,spi-nor";
> + reg = <0>; /* Chip select 0 */
> + spi-max-frequency = <50000000>;
> +
> + partition at 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 at 10600 {
> - status = "okay";
> -
> - spi-flash at 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 at 00000000 { /* u-boot */
> - label = "RedBoot";
> - reg = <0x00000000 0x000c0000>; /* 768KB */
> - };
> -
> - partition at 000c0000 { /* uImage */
> - label = "zImage";
> - reg = <0x000c0000 0x002d0000>; /* 2880KB */
> - };
> -
> - partition at 00390000 { /* uInitramfs */
> - label = "rd.gz";
> - reg = <0x00390000 0x00440000>; /* 4250KB */
> - };
> -
> - partition at 007d0000 { /* MAC address and serial number */
> - label = "vendor";
> - reg = <0x007d0000 0x00010000>; /* 64KB */
> - };
> -
> - partition at 007e0000 {
> - label = "RedBoot config";
> - reg = <0x007e0000 0x00010000>; /* 64KB */
> - };
> -
> - partition at 007f0000 {
> - label = "FIS directory";
> - reg = <0x007f0000 0x00010000>; /* 64KB */
> - };
> - };
> - };
> -
> i2c at 11000 {
> compatible = "marvell,mv64xxx-i2c";
> pinctrl-0 = <&i2c0_pins>;
> @@ -347,3 +291,59 @@
> marvell,function = "gpio";
> };
> };
> +
> +&spi0 {
> + status = "okay";
> +
> + spi-flash at 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 at 00000000 { /* u-boot */
> + label = "RedBoot";
> + reg = <0x00000000 0x000c0000>; /* 768KB */
> + };
> +
> + partition at 000c0000 { /* uImage */
> + label = "zImage";
> + reg = <0x000c0000 0x002d0000>; /* 2880KB */
> + };
> +
> + partition at 00390000 { /* uInitramfs */
> + label = "rd.gz";
> + reg = <0x00390000 0x00440000>; /* 4250KB */
> + };
> +
> + partition at 007d0000 { /* MAC address and serial number */
> + label = "vendor";
> + reg = <0x007d0000 0x00010000>; /* 64KB */
> + };
> +
> + partition at 007e0000 {
> + label = "RedBoot config";
> + reg = <0x007e0000 0x00010000>; /* 64KB */
> + };
> +
> + partition at 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 at 10600 {
> - reg = <0x10600 0x28>;
> - #address-cells = <1>;
> - #size-cells = <0>;
> - cell-index = <0>;
> - interrupts = <30>;
> - clocks = <&coreclk 0>;
> - status = "disabled";
> - };
> -
> - spi1: spi at 10680 {
> - reg = <0x10680 0x28>;
> - #address-cells = <1>;
> - #size-cells = <0>;
> - cell-index = <1>;
> - interrupts = <92>;
> - clocks = <&coreclk 0>;
> - status = "disabled";
> - };
> -
> i2c0: i2c at 11000 {
> compatible = "marvell,mv64xxx-i2c";
> #address-cells = <1>;
> @@ -320,6 +300,26 @@
> status = "disabled";
> };
> };
> +
> + spi0: spi at 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 at 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 at 10600 {
> - compatible = "marvell,armada-370-spi",
> - "marvell,orion-spi";
> - pinctrl-0 = <&spi0_pins1>;
> - pinctrl-names = "default";
> - };
> -
> - spi1: spi at 10680 {
> - compatible = "marvell,armada-370-spi",
> - "marvell,orion-spi";
> - pinctrl-0 = <&spi1_pins>;
> - pinctrl-names = "default";
> - };
> -
> i2c0: i2c at 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 at 10680 {
> - pinctrl-names = "default";
> - pinctrl-0 = <&spi1_pins>;
> - status = "okay";
> -
> - spi-flash at 0 {
> - #address-cells = <1>;
> - #size-cells = <1>;
> - compatible = "st,m25p128", "jedec,spi-nor";
> - reg = <0>; /* Chip select 0 */
> - spi-max-frequency = <54000000>;
> - };
> - };
> -
> i2c0: i2c at 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 at 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 at 10600 {
> - status = "disabled";
> - };
> -
> i2c at 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 at 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 at 0 {
> - #address-cells = <1>;
> - #size-cells = <0>;
> - compatible = "w25q32", "jedec,spi-nor";
> - reg = <0>; /* Chip select 0 */
> - spi-max-frequency = <3000000>;
> - status = "disabled";
> - };
> - };
> -
> usb at 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 at 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 at 10600 {
> - status = "okay";
> -
> - spi-flash at 0 {
> - #address-cells = <1>;
> - #size-cells = <1>;
> - compatible = "w25q32", "jedec,spi-nor";
> - reg = <0>; /* Chip select 0 */
> - spi-max-frequency = <108000000>;
> - };
> - };
> -
> i2c at 11000 {
> status = "okay";
> clock-frequency = <100000>;
> @@ -201,3 +189,16 @@
> };
> };
> };
> +
> +&spi0 {
> + status = "okay";
> +
> + spi-flash at 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 at 10600 {
> - pinctrl-names = "default";
> - pinctrl-0 = <&spi0_pins>;
> - status = "okay";
> -
> - spi-flash at 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 at 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 at 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 at 10600 {
> - status = "okay";
> -
> - spi-flash at 0 {
> - #address-cells = <1>;
> - #size-cells = <1>;
> - compatible = "st,m25p128", "jedec,spi-nor";
> - reg = <0>; /* Chip select 0 */
> - spi-max-frequency = <108000000>;
> - };
> - };
> -
> i2c at 11000 {
> status = "okay";
> clock-frequency = <100000>;
> @@ -142,3 +130,16 @@
> };
> };
> };
> +
> +&spi0 {
> + status = "okay";
> +
> + spi-flash at 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 at 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 at 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 at 11000 {
> compatible = "marvell,mv64xxx-i2c";
> reg = <0x11000 0x20>;
> @@ -649,6 +625,30 @@
> no-memory-wc;
> status = "disabled";
> };
> +
> + spi0: spi at 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 at 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 at 10680 {
> - status = "okay";
> - pinctrl-0 = <&spi1_pins>;
> - pinctrl-names = "default";
> -
> - spi-flash at 0 {
> - #address-cells = <1>;
> - #size-cells = <0>;
> - compatible = "n25q128a13", "jedec,spi-nor";
> - reg = <0>;
> - spi-max-frequency = <108000000>;
> -
> - partition at 0 {
> - label = "U-Boot";
> - reg = <0 0x400000>;
> - };
> -
> - partition at 400000 {
> - label = "Filesystem";
> - reg = <0x400000 0x1000000>;
> - };
> - };
> - };
> -
> i2c at 11000 {
> pinctrl-0 = <&i2c0_pins>;
> pinctrl-names = "default";
> @@ -151,3 +127,27 @@
> };
> };
> };
> +
> +&spi1 {
> + status = "okay";
> + pinctrl-0 = <&spi1_pins>;
> + pinctrl-names = "default";
> +
> + spi-flash at 0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + compatible = "n25q128a13", "jedec,spi-nor";
> + reg = <0>;
> + spi-max-frequency = <108000000>;
> +
> + partition at 0 {
> + label = "U-Boot";
> + reg = <0 0x400000>;
> + };
> +
> + partition at 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 at 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 at 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 at 11000 {
> compatible = "marvell,mv64xxx-i2c";
> reg = <0x11000 0x20>;
> @@ -501,6 +477,30 @@
> status = "disabled";
> };
> };
> +
> + spi0: spi at 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 at 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 at 10600 {
> - status = "okay";
> -
> - spi-flash at 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 at 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 at 10600 {
> - status = "okay";
> -
> - spi-flash at 0 {
> - #address-cells = <1>;
> - #size-cells = <1>;
> - compatible = "m25p64", "jedec,spi-nor";
> - reg = <0>; /* Chip select 0 */
> - spi-max-frequency = <20000000>;
> - };
> - };
> -
> nand at d0000 {
> status = "okay";
> num-cs = <1>;
> @@ -277,3 +265,15 @@
> };
> };
> };
> +
> +&spi0 {
> + status = "okay";
> +
> + spi-flash at 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 at 10600 {
> - status = "okay";
> -
> - spi-flash at 0 {
> - #address-cells = <1>;
> - #size-cells = <1>;
> - compatible = "n25q128a13", "jedec,spi-nor";
> - reg = <0>; /* Chip select 0 */
> - spi-max-frequency = <108000000>;
> - };
> - };
> -
> bm at c0000 {
> status = "okay";
> };
> @@ -262,3 +250,15 @@
> };
> };
> };
> +
> +&spi0 {
> + status = "okay";
> +
> + spi-flash at 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 at 10600 {
> - status = "okay";
> -
> - spi-flash at 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 at 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 at 10600 {
> - status = "okay";
> -
> - spi-flash at 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 at 00000000 { /* u-boot */
> - label = "RedBoot";
> - reg = <0x00000000 0x000d0000>; /* 832KB */
> - };
> -
> - partition at 000c0000 { /* uImage */
> - label = "zImage";
> - reg = <0x000d0000 0x002d0000>; /* 2880KB */
> - };
> -
> - partition at 003a0000 { /* uInitramfs */
> - label = "rd.gz";
> - reg = <0x003a0000 0x00430000>; /* 4250KB */
> - };
> -
> - partition at 007d0000 { /* MAC address and serial number */
> - label = "vendor";
> - reg = <0x007d0000 0x00010000>; /* 64KB */
> - };
> -
> - partition at 007e0000 {
> - label = "RedBoot config";
> - reg = <0x007e0000 0x00010000>; /* 64KB */
> - };
> -
> - partition at 007f0000 {
> - label = "FIS directory";
> - reg = <0x007f0000 0x00010000>; /* 64KB */
> - };
> - };
> - };
> -
> i2c at 11000 {
> clock-frequency = <400000>;
> status = "okay";
> @@ -362,3 +306,59 @@
> marvell,function = "gpio";
> };
> };
> +
> +&spi0 {
> + status = "okay";
> +
> + spi-flash at 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 at 00000000 { /* u-boot */
> + label = "RedBoot";
> + reg = <0x00000000 0x000d0000>; /* 832KB */
> + };
> +
> + partition at 000c0000 { /* uImage */
> + label = "zImage";
> + reg = <0x000d0000 0x002d0000>; /* 2880KB */
> + };
> +
> + partition at 003a0000 { /* uInitramfs */
> + label = "rd.gz";
> + reg = <0x003a0000 0x00430000>; /* 4250KB */
> + };
> +
> + partition at 007d0000 { /* MAC address and serial number */
> + label = "vendor";
> + reg = <0x007d0000 0x00010000>; /* 64KB */
> + };
> +
> + partition at 007e0000 {
> + label = "RedBoot config";
> + reg = <0x007e0000 0x00010000>; /* 64KB */
> + };
> +
> + partition at 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 at 10600 {
> - compatible = "marvell,armada-xp-spi",
> - "marvell,orion-spi";
> - pinctrl-0 = <&spi0_pins>;
> - pinctrl-names = "default";
> - };
> -
> - spi1: spi at 10680 {
> - compatible = "marvell,armada-xp-spi",
> - "marvell,orion-spi";
> - pinctrl-0 = <&spi1_pins>;
> - pinctrl-names = "default";
> - };
> -
> -
> i2c0: i2c at 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
>
--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
More information about the linux-arm-kernel
mailing list