All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHv0] arm: mvebu: add .dts file for Synology DS213j
@ 2014-10-25 20:42 ` Arnaud Ebalard
  0 siblings, 0 replies; 12+ messages in thread
From: Arnaud Ebalard @ 2014-10-25 20:42 UTC (permalink / raw)
  To: Jason Cooper, Andrew Lunn, Gregory Clement,
	Sebastian Hesselbarth, Ben Peddell, Simon Guinot
  Cc: Russell King, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	Rob Herring, Pawel Moll, Mark Rutland, Stephen Warren,
	Ian Campbell, devicetree-u79uwXL29TY76Z2rM5mHXA


Synology DS213j is a 2-bay NAS powered by a Marvell Armada 370
(88F6710 @1.2Ghz). It is very similar on many aspects to previous
2-bay Synology models based on Marvell kirkwood SoC. Here is a
short summary of the device:

 - 512MB RAM
 - boot on SPI flash (64Mbit Micron N25Q064)
 - 1 GbE interface (Armada MAC connected to a Marvell 88E1512
   PHY via SGMII)
 - 2 rear USB 2.0 ports (directly handled by the Armada 370)
 - 2 internal SATA ports handled by the Armada 370: 2 GPIO for
   presence, 2 for powering them
 - two front amber LED (disk1, disk2) controlled by the SoC
 - Seiko S-35390A I2C RTC chip
 - UART0 providing serial console
 - UART1 used for poweroff
 - Fan handled via 4 GPIO (3 for speed, 1 for alarm)

Signed-off-by: Arnaud Ebalard <arno-LkuqDEemtHBg9hUCZPvPmw@public.gmane.org>
---

This v0 is just to gather initial comments. Some random notes and
questions (Andrew, Ben, Simon):

- Simon: why does fan_alarm_irq_handler in gpio-fan.c returns IRQ_NONE?

- When I bought the NAS, it had an old Marvell bootloader. After install
  of latest DSM version, the u-boot was a new one w/ I had to change the
  'ranges' in the .dts to the ones below to have the kernel boot. I guess
  new DS213j hardware will be shipped with new u-boot version at some
  point and this will be fine; Otherwise, users will either have to
  upgrade their DSM or manually s/1f/d0/ in .dts.

- Andrew,Ben: SPI flash partitions are correct, I can read all those,
  'file' recognize them and the content looks kosher. Nonetheless, I did
  a diff before and after a 'saveenv' under u-boot and u-boot
  environment is saved by u-boot itself in the middle of the kernel
  (0x40000 after the start of mtd1). This make kernel CRC incorrect and
  prevent u-boot to boot the kernel. If you have any idea on this, I am
  interested.

- Andrew, Ben: I did a single file for the .dts but I intend to create
  a .dtsi; I have started a .dts for the DS414 (2-core Armada XP) and
  they share various nodes.

 arch/arm/boot/dts/Makefile                       |   3 +-
 arch/arm/boot/dts/armada-370-synology-ds213j.dts | 312 +++++++++++++++++++++++
 2 files changed, 314 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/armada-370-synology-ds213j.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 38c89cafa1ab..95387b59ebb2 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -495,7 +495,8 @@ dtb-$(CONFIG_MACH_ARMADA_370) += \
 	armada-370-mirabox.dtb \
 	armada-370-netgear-rn102.dtb \
 	armada-370-netgear-rn104.dtb \
-	armada-370-rd.dtb
+	armada-370-rd.dtb \
+	armada-370-synology-ds213j.dtb
 dtb-$(CONFIG_MACH_ARMADA_375) += \
 	armada-375-db.dtb
 dtb-$(CONFIG_MACH_ARMADA_38X) += \
diff --git a/arch/arm/boot/dts/armada-370-synology-ds213j.dts b/arch/arm/boot/dts/armada-370-synology-ds213j.dts
new file mode 100644
index 000000000000..a99ccd0df20d
--- /dev/null
+++ b/arch/arm/boot/dts/armada-370-synology-ds213j.dts
@@ -0,0 +1,312 @@
+/*
+ * Device Tree file for Synology DS213j
+ *
+ * Copyright (C) 2014, Arnaud EBALARD <arno-LkuqDEemtHBg9hUCZPvPmw@public.gmane.org>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version
+ * 2 of the License, or (at your option) any later version.
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/gpio/gpio.h>
+#include "armada-370.dtsi"
+
+/ {
+	model = "Synology DS213j";
+	compatible = "synology,ds213j", "marvell,armada370", "marvell,armada-370-xp";
+
+	chosen {
+		bootargs = "console=ttyS0,115200 earlyprintk";
+	};
+
+	memory {
+		device_type = "memory";
+		reg = <0x00000000 0x20000000>; /* 512 MB */
+	};
+
+	soc {
+		ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
+			  MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000>;
+
+		internal-regs {
+
+			sata@a0000 {
+				nr-ports = <2>;
+				status = "okay";
+			};
+
+			pinctrl {
+				pmx_ge0: pmx-ge0 {
+					marvell,pins = "mpp5", "mpp6", "mpp7", "mpp8",
+						       "mpp9", "mpp10", "mpp11", "mpp12",
+						       "mpp13", "mpp14", "mpp15", "mpp16";
+					marvell,function = "ge0";
+				};
+
+				pmx_uart0: pmx-uart0 {
+					marvell,pins = "mpp0", "mpp1";
+					marvell,function = "uart0";
+				};
+
+				pmx_i2c: pmx-i2c {
+					marvell,pins = "mpp2", "mpp3";
+					marvell,function = "i2c0";
+				};
+
+				pmx_spi: pmx-spi {
+					marvell,pins = "mpp33", "mpp34",
+						       "mpp35", "mpp36";
+					marvell,function = "spi0";
+				};
+
+				pmx_disk1_led: pmx-disk1-led {
+					marvell,pins = "mpp31";
+					marvell,function = "gpio";
+				};
+
+				pmx_disk2_led: pmx-disk2-led {
+					marvell,pins = "mpp32";
+					marvell,function = "gpio";
+				};
+
+				pmx_sata1_pwr: pmx-sata1-pwr {
+					marvell,pins = "mpp37";
+					marvell,function = "gpio";
+				};
+
+				pmx_sata2_pwr: pmx-sata2-pwr {
+					marvell,pins = "mpp62";
+					marvell,function = "gpio";
+				};
+
+				pmx_sata1_pres: pmx-sata1-pres {
+					marvell,pins = "mpp60";
+					marvell,function = "gpio";
+				};
+
+				pmx_sata2_pres: pmx-sata2-pres {
+					marvell,pins = "mpp48";
+					marvell,function = "gpio";
+				};
+
+				pmx_smi: pmx-smi {
+					marvell,pins = "mpp17", "mpp18";
+					marvell,function = "ge";
+				};
+
+				pmx_syno_id_bit0: pmx_syno_id_bit0 {
+					marvell,pins = "mpp55";
+					marvell,function = "gpio";
+				};
+
+				pmx_syno_id_bit1: pmx_syno_id_bit1 {
+					marvell,pins = "mpp56";
+					marvell,function = "gpio";
+				};
+
+				pmx_syno_id_bit2: pmx_syno_id_bit2 {
+					marvell,pins = "mpp57";
+					marvell,function = "gpio";
+				};
+
+				pmx_syno_id_bit3: pmx_syno_id_bit3 {
+					marvell,pins = "mpp58";
+					marvell,function = "gpio";
+				};
+
+				pmx_fan_ctrl_low: pmx-fan-ctrl-low {
+					marvell,pins = "mpp65";
+					marvell,function = "gpio";
+				};
+
+				pmx_fan_ctrl_mid: pmx-fan-ctrl-mid {
+					marvell,pins = "mpp64";
+					marvell,function = "gpio";
+				};
+
+				pmx_fan_ctrl_high: pmx-fan-ctrl-high {
+					marvell,pins = "mpp63";
+					marvell,function = "gpo";
+				};
+
+				pmx_fan_alarm: pmx-fan-alarm {
+					marvell,pins = "mpp38";
+					marvell,function = "gpio";
+				};
+
+				pmx_poweroff: pmx-poweroff {
+					marvell,pins = "mpp4";
+					marvell,function = "gpio";
+				};
+			};
+
+			mdio {
+				phy1: ethernet-phy@1 { /* Marvell 88E1512 */
+					reg = <1>;
+				};
+			};
+
+			ethernet@70000 {
+			       status = "okay";
+			       pinctrl-0 = <&pmx_ge0>;
+			       pinctrl-names = "default";
+			       phy = <&phy1>;
+			       phy-mode = "sgmii";
+			};
+
+			spi0: spi@10600 {
+				status = "okay";
+				pinctrl-0 = <&pmx_spi>;
+				pinctrl-names = "default";
+
+				spi-flash@0 {
+					#address-cells = <1>;
+					#size-cells = <1>;
+					compatible = "n25q064";
+					reg = <0>; /* Chip select 0 */
+					spi-max-frequency = <20000000>;
+
+					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 */
+					};
+				};
+			};
+
+			usb@50000 {
+				status = "okay";
+			};
+
+			usb@51000 {
+				status = "okay";
+			};
+
+			i2c@11000 {
+				compatible = "marvell,mv64xxx-i2c";
+				clock-frequency = <400000>;
+				status = "okay";
+
+				s35390a: s35390a@30 {
+					 compatible = "ssi,s35390a";
+					 reg = <0x30>;
+				};
+			};
+
+			serial@12000 {
+				status = "okay";
+			};
+
+			serial@12100 {
+				status = "okay";
+			};
+
+			poweroff@12100 {
+				compatible = "synology,power-off";
+				reg = <0x12100 0x100>;
+				clocks = <&coreclk 0>;
+			};
+		};
+	};
+
+	gpio-fan-100-32-35 {
+		status = "okay";
+		compatible = "gpio-fan";
+		pinctrl-0 = <&pmx_fan_ctrl_low &pmx_fan_ctrl_mid
+			     &pmx_fan_ctrl_high &pmx_fan_alarm>;
+		pinctrl-names = "default";
+		gpios = <&gpio1 31 GPIO_ACTIVE_HIGH
+			 &gpio2  0 GPIO_ACTIVE_HIGH
+			 &gpio2  1 GPIO_ACTIVE_HIGH>;
+		alarm-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
+		gpio-fan,speed-map = <    0 0
+				       2200 1
+				       2500 2
+				       3000 4
+				       3300 3
+				       3700 5
+				       3800 6
+				       4200 7 >;
+	};
+
+	gpio-leds {
+		compatible = "gpio-leds";
+		pinctrl-0 = <&pmx_disk1_led
+			     &pmx_disk2_led>;
+		pinctrl-names = "default";
+
+		disk1-led-amber {
+			label = "synology:amber:disk1";
+			gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
+			default-state = "keep";
+		};
+
+		disk2-led-amber {
+			label = "synology:amber:disk2";
+			gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
+			default-state = "keep";
+		};
+	};
+
+	regulators {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		pinctrl-0 = <&pmx_sata1_pwr &pmx_sata2_pwr>;
+		pinctrl-names = "default";
+
+		sata1_regulator: sata1-regulator {
+			compatible = "regulator-fixed";
+			reg = <1>;
+			regulator-name = "SATA1 Power";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			startup-delay-us = <2000000>;
+			enable-active-high;
+			regulator-always-on;
+			regulator-boot-on;
+			gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+		};
+
+		sata2_regulator: sata2-regulator {
+			compatible = "regulator-fixed";
+			reg = <2>;
+			regulator-name = "SATA2 Power";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			startup-delay-us = <4000000>;
+			enable-active-high;
+			regulator-always-on;
+			regulator-boot-on;
+			gpio = <&gpio1 30 GPIO_ACTIVE_HIGH>;
+		};
+	};
+};
-- 
2.1.1

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

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

* [PATCHv0] arm: mvebu: add .dts file for Synology DS213j
@ 2014-10-25 20:42 ` Arnaud Ebalard
  0 siblings, 0 replies; 12+ messages in thread
From: Arnaud Ebalard @ 2014-10-25 20:42 UTC (permalink / raw)
  To: linux-arm-kernel


Synology DS213j is a 2-bay NAS powered by a Marvell Armada 370
(88F6710 @1.2Ghz). It is very similar on many aspects to previous
2-bay Synology models based on Marvell kirkwood SoC. Here is a
short summary of the device:

 - 512MB RAM
 - boot on SPI flash (64Mbit Micron N25Q064)
 - 1 GbE interface (Armada MAC connected to a Marvell 88E1512
   PHY via SGMII)
 - 2 rear USB 2.0 ports (directly handled by the Armada 370)
 - 2 internal SATA ports handled by the Armada 370: 2 GPIO for
   presence, 2 for powering them
 - two front amber LED (disk1, disk2) controlled by the SoC
 - Seiko S-35390A I2C RTC chip
 - UART0 providing serial console
 - UART1 used for poweroff
 - Fan handled via 4 GPIO (3 for speed, 1 for alarm)

Signed-off-by: Arnaud Ebalard <arno@natisbad.org>
---

This v0 is just to gather initial comments. Some random notes and
questions (Andrew, Ben, Simon):

- Simon: why does fan_alarm_irq_handler in gpio-fan.c returns IRQ_NONE?

- When I bought the NAS, it had an old Marvell bootloader. After install
  of latest DSM version, the u-boot was a new one w/ I had to change the
  'ranges' in the .dts to the ones below to have the kernel boot. I guess
  new DS213j hardware will be shipped with new u-boot version at some
  point and this will be fine; Otherwise, users will either have to
  upgrade their DSM or manually s/1f/d0/ in .dts.

- Andrew,Ben: SPI flash partitions are correct, I can read all those,
  'file' recognize them and the content looks kosher. Nonetheless, I did
  a diff before and after a 'saveenv' under u-boot and u-boot
  environment is saved by u-boot itself in the middle of the kernel
  (0x40000 after the start of mtd1). This make kernel CRC incorrect and
  prevent u-boot to boot the kernel. If you have any idea on this, I am
  interested.

- Andrew, Ben: I did a single file for the .dts but I intend to create
  a .dtsi; I have started a .dts for the DS414 (2-core Armada XP) and
  they share various nodes.

 arch/arm/boot/dts/Makefile                       |   3 +-
 arch/arm/boot/dts/armada-370-synology-ds213j.dts | 312 +++++++++++++++++++++++
 2 files changed, 314 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/armada-370-synology-ds213j.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 38c89cafa1ab..95387b59ebb2 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -495,7 +495,8 @@ dtb-$(CONFIG_MACH_ARMADA_370) += \
 	armada-370-mirabox.dtb \
 	armada-370-netgear-rn102.dtb \
 	armada-370-netgear-rn104.dtb \
-	armada-370-rd.dtb
+	armada-370-rd.dtb \
+	armada-370-synology-ds213j.dtb
 dtb-$(CONFIG_MACH_ARMADA_375) += \
 	armada-375-db.dtb
 dtb-$(CONFIG_MACH_ARMADA_38X) += \
diff --git a/arch/arm/boot/dts/armada-370-synology-ds213j.dts b/arch/arm/boot/dts/armada-370-synology-ds213j.dts
new file mode 100644
index 000000000000..a99ccd0df20d
--- /dev/null
+++ b/arch/arm/boot/dts/armada-370-synology-ds213j.dts
@@ -0,0 +1,312 @@
+/*
+ * Device Tree file for Synology DS213j
+ *
+ * Copyright (C) 2014, Arnaud EBALARD <arno@natisbad.org>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version
+ * 2 of the License, or (at your option) any later version.
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/gpio/gpio.h>
+#include "armada-370.dtsi"
+
+/ {
+	model = "Synology DS213j";
+	compatible = "synology,ds213j", "marvell,armada370", "marvell,armada-370-xp";
+
+	chosen {
+		bootargs = "console=ttyS0,115200 earlyprintk";
+	};
+
+	memory {
+		device_type = "memory";
+		reg = <0x00000000 0x20000000>; /* 512 MB */
+	};
+
+	soc {
+		ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
+			  MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000>;
+
+		internal-regs {
+
+			sata at a0000 {
+				nr-ports = <2>;
+				status = "okay";
+			};
+
+			pinctrl {
+				pmx_ge0: pmx-ge0 {
+					marvell,pins = "mpp5", "mpp6", "mpp7", "mpp8",
+						       "mpp9", "mpp10", "mpp11", "mpp12",
+						       "mpp13", "mpp14", "mpp15", "mpp16";
+					marvell,function = "ge0";
+				};
+
+				pmx_uart0: pmx-uart0 {
+					marvell,pins = "mpp0", "mpp1";
+					marvell,function = "uart0";
+				};
+
+				pmx_i2c: pmx-i2c {
+					marvell,pins = "mpp2", "mpp3";
+					marvell,function = "i2c0";
+				};
+
+				pmx_spi: pmx-spi {
+					marvell,pins = "mpp33", "mpp34",
+						       "mpp35", "mpp36";
+					marvell,function = "spi0";
+				};
+
+				pmx_disk1_led: pmx-disk1-led {
+					marvell,pins = "mpp31";
+					marvell,function = "gpio";
+				};
+
+				pmx_disk2_led: pmx-disk2-led {
+					marvell,pins = "mpp32";
+					marvell,function = "gpio";
+				};
+
+				pmx_sata1_pwr: pmx-sata1-pwr {
+					marvell,pins = "mpp37";
+					marvell,function = "gpio";
+				};
+
+				pmx_sata2_pwr: pmx-sata2-pwr {
+					marvell,pins = "mpp62";
+					marvell,function = "gpio";
+				};
+
+				pmx_sata1_pres: pmx-sata1-pres {
+					marvell,pins = "mpp60";
+					marvell,function = "gpio";
+				};
+
+				pmx_sata2_pres: pmx-sata2-pres {
+					marvell,pins = "mpp48";
+					marvell,function = "gpio";
+				};
+
+				pmx_smi: pmx-smi {
+					marvell,pins = "mpp17", "mpp18";
+					marvell,function = "ge";
+				};
+
+				pmx_syno_id_bit0: pmx_syno_id_bit0 {
+					marvell,pins = "mpp55";
+					marvell,function = "gpio";
+				};
+
+				pmx_syno_id_bit1: pmx_syno_id_bit1 {
+					marvell,pins = "mpp56";
+					marvell,function = "gpio";
+				};
+
+				pmx_syno_id_bit2: pmx_syno_id_bit2 {
+					marvell,pins = "mpp57";
+					marvell,function = "gpio";
+				};
+
+				pmx_syno_id_bit3: pmx_syno_id_bit3 {
+					marvell,pins = "mpp58";
+					marvell,function = "gpio";
+				};
+
+				pmx_fan_ctrl_low: pmx-fan-ctrl-low {
+					marvell,pins = "mpp65";
+					marvell,function = "gpio";
+				};
+
+				pmx_fan_ctrl_mid: pmx-fan-ctrl-mid {
+					marvell,pins = "mpp64";
+					marvell,function = "gpio";
+				};
+
+				pmx_fan_ctrl_high: pmx-fan-ctrl-high {
+					marvell,pins = "mpp63";
+					marvell,function = "gpo";
+				};
+
+				pmx_fan_alarm: pmx-fan-alarm {
+					marvell,pins = "mpp38";
+					marvell,function = "gpio";
+				};
+
+				pmx_poweroff: pmx-poweroff {
+					marvell,pins = "mpp4";
+					marvell,function = "gpio";
+				};
+			};
+
+			mdio {
+				phy1: ethernet-phy at 1 { /* Marvell 88E1512 */
+					reg = <1>;
+				};
+			};
+
+			ethernet at 70000 {
+			       status = "okay";
+			       pinctrl-0 = <&pmx_ge0>;
+			       pinctrl-names = "default";
+			       phy = <&phy1>;
+			       phy-mode = "sgmii";
+			};
+
+			spi0: spi at 10600 {
+				status = "okay";
+				pinctrl-0 = <&pmx_spi>;
+				pinctrl-names = "default";
+
+				spi-flash at 0 {
+					#address-cells = <1>;
+					#size-cells = <1>;
+					compatible = "n25q064";
+					reg = <0>; /* Chip select 0 */
+					spi-max-frequency = <20000000>;
+
+					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 */
+					};
+				};
+			};
+
+			usb at 50000 {
+				status = "okay";
+			};
+
+			usb at 51000 {
+				status = "okay";
+			};
+
+			i2c at 11000 {
+				compatible = "marvell,mv64xxx-i2c";
+				clock-frequency = <400000>;
+				status = "okay";
+
+				s35390a: s35390a at 30 {
+					 compatible = "ssi,s35390a";
+					 reg = <0x30>;
+				};
+			};
+
+			serial at 12000 {
+				status = "okay";
+			};
+
+			serial at 12100 {
+				status = "okay";
+			};
+
+			poweroff at 12100 {
+				compatible = "synology,power-off";
+				reg = <0x12100 0x100>;
+				clocks = <&coreclk 0>;
+			};
+		};
+	};
+
+	gpio-fan-100-32-35 {
+		status = "okay";
+		compatible = "gpio-fan";
+		pinctrl-0 = <&pmx_fan_ctrl_low &pmx_fan_ctrl_mid
+			     &pmx_fan_ctrl_high &pmx_fan_alarm>;
+		pinctrl-names = "default";
+		gpios = <&gpio1 31 GPIO_ACTIVE_HIGH
+			 &gpio2  0 GPIO_ACTIVE_HIGH
+			 &gpio2  1 GPIO_ACTIVE_HIGH>;
+		alarm-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
+		gpio-fan,speed-map = <    0 0
+				       2200 1
+				       2500 2
+				       3000 4
+				       3300 3
+				       3700 5
+				       3800 6
+				       4200 7 >;
+	};
+
+	gpio-leds {
+		compatible = "gpio-leds";
+		pinctrl-0 = <&pmx_disk1_led
+			     &pmx_disk2_led>;
+		pinctrl-names = "default";
+
+		disk1-led-amber {
+			label = "synology:amber:disk1";
+			gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
+			default-state = "keep";
+		};
+
+		disk2-led-amber {
+			label = "synology:amber:disk2";
+			gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
+			default-state = "keep";
+		};
+	};
+
+	regulators {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		pinctrl-0 = <&pmx_sata1_pwr &pmx_sata2_pwr>;
+		pinctrl-names = "default";
+
+		sata1_regulator: sata1-regulator {
+			compatible = "regulator-fixed";
+			reg = <1>;
+			regulator-name = "SATA1 Power";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			startup-delay-us = <2000000>;
+			enable-active-high;
+			regulator-always-on;
+			regulator-boot-on;
+			gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+		};
+
+		sata2_regulator: sata2-regulator {
+			compatible = "regulator-fixed";
+			reg = <2>;
+			regulator-name = "SATA2 Power";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			startup-delay-us = <4000000>;
+			enable-active-high;
+			regulator-always-on;
+			regulator-boot-on;
+			gpio = <&gpio1 30 GPIO_ACTIVE_HIGH>;
+		};
+	};
+};
-- 
2.1.1

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

* Re: [PATCHv0] arm: mvebu: add .dts file for Synology DS213j
  2014-10-25 20:42 ` Arnaud Ebalard
@ 2014-10-25 22:16     ` Andrew Lunn
  -1 siblings, 0 replies; 12+ messages in thread
From: Andrew Lunn @ 2014-10-25 22:16 UTC (permalink / raw)
  To: Arnaud Ebalard
  Cc: Jason Cooper, Andrew Lunn, Gregory Clement,
	Sebastian Hesselbarth, Ben Peddell, Simon Guinot, Russell King,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Rob Herring,
	Pawel Moll, Mark Rutland, Stephen Warren, Ian Campbell,
	devicetree-u79uwXL29TY76Z2rM5mHXA

Hi Arnaud

Nice to see another device supported.

> - When I bought the NAS, it had an old Marvell bootloader. After install
>   of latest DSM version, the u-boot was a new one w/ I had to change the
>   'ranges' in the .dts to the ones below to have the kernel boot. I guess
>   new DS213j hardware will be shipped with new u-boot version at some
>   point and this will be fine; Otherwise, users will either have to
>   upgrade their DSM or manually s/1f/d0/ in .dts.

Marvell have made a real mess here. Since there seems to be two
different base addresses in use, i suggest you put a fat comment on
the top of the .dts file about this issue. Give users a clue what to
try if the kernel does not do anything at all.

 
> - Andrew,Ben: SPI flash partitions are correct, I can read all those,
>   'file' recognize them and the content looks kosher. Nonetheless, I did
>   a diff before and after a 'saveenv' under u-boot and u-boot
>   environment is saved by u-boot itself in the middle of the kernel
>   (0x40000 after the start of mtd1). This make kernel CRC incorrect and
>   prevent u-boot to boot the kernel. If you have any idea on this, I am
>   interested.

This sounds like the default install of u-boot does not make use of
any environment variables which are not the default value. Hence the
uboot environment store being in the middle of the kernel is not an
issue. Maybe you can ask for the u-boot sources, or see if they are on
the synology download site, and check this? Again, a fat warning in
the .dts file may be a good idea. What does seem odd is the Reboot,
FIS, etc, mtd partition names. Is there redboot installed at all?

> - Andrew, Ben: I did a single file for the .dts but I intend to create
>   a .dtsi; I have started a .dts for the DS414 (2-core Armada XP) and
>   they share various nodes.

O.K, good.

>  arch/arm/boot/dts/Makefile                       |   3 +-
>  arch/arm/boot/dts/armada-370-synology-ds213j.dts | 312 +++++++++++++++++++++++
>  2 files changed, 314 insertions(+), 1 deletion(-)
>  create mode 100644 arch/arm/boot/dts/armada-370-synology-ds213j.dts
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 38c89cafa1ab..95387b59ebb2 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -495,7 +495,8 @@ dtb-$(CONFIG_MACH_ARMADA_370) += \
>  	armada-370-mirabox.dtb \
>  	armada-370-netgear-rn102.dtb \
>  	armada-370-netgear-rn104.dtb \
> -	armada-370-rd.dtb
> +	armada-370-rd.dtb \
> +	armada-370-synology-ds213j.dtb
>  dtb-$(CONFIG_MACH_ARMADA_375) += \
>  	armada-375-db.dtb
>  dtb-$(CONFIG_MACH_ARMADA_38X) += \
> diff --git a/arch/arm/boot/dts/armada-370-synology-ds213j.dts b/arch/arm/boot/dts/armada-370-synology-ds213j.dts
> new file mode 100644
> index 000000000000..a99ccd0df20d
> --- /dev/null
> +++ b/arch/arm/boot/dts/armada-370-synology-ds213j.dts
> @@ -0,0 +1,312 @@
> +/*
> + * Device Tree file for Synology DS213j
> + *
> + * Copyright (C) 2014, Arnaud EBALARD <arno-LkuqDEemtHBg9hUCZPvPmw@public.gmane.org>
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License
> + * as published by the Free Software Foundation; either version
> + * 2 of the License, or (at your option) any later version.
> + */

There has been some discussion on using MIT or BSD for .dts files.
Your choice thought.

> +				pmx_syno_id_bit0: pmx_syno_id_bit0 {

Should always be _ in the first part, and - in the second. There are other nodes which are wrong.

> +				spi-flash@0 {
> +					#address-cells = <1>;
> +					#size-cells = <1>;
> +					compatible = "n25q064";

Should have a vendor prefix.

> +			i2c@11000 {
> +				compatible = "marvell,mv64xxx-i2c";
> +				clock-frequency = <400000>;
> +				status = "okay";
> +
> +				s35390a: s35390a@30 {
> +					 compatible = "ssi,s35390a";
> +					 reg = <0x30>;
> +				};
> +			};

If it uses an external RTC, it makes sense the disable the internal
one.

> +
> +			serial@12000 {
> +				status = "okay";
> +			};
> +
> +			serial@12100 {
> +				status = "okay";
> +			};

It would be nice to put comments about what these two serial ports are
used for. i.e. internal header, and to a PIC for power control.

Looks good otherwise.

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

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

* [PATCHv0] arm: mvebu: add .dts file for Synology DS213j
@ 2014-10-25 22:16     ` Andrew Lunn
  0 siblings, 0 replies; 12+ messages in thread
From: Andrew Lunn @ 2014-10-25 22:16 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Arnaud

Nice to see another device supported.

> - When I bought the NAS, it had an old Marvell bootloader. After install
>   of latest DSM version, the u-boot was a new one w/ I had to change the
>   'ranges' in the .dts to the ones below to have the kernel boot. I guess
>   new DS213j hardware will be shipped with new u-boot version at some
>   point and this will be fine; Otherwise, users will either have to
>   upgrade their DSM or manually s/1f/d0/ in .dts.

Marvell have made a real mess here. Since there seems to be two
different base addresses in use, i suggest you put a fat comment on
the top of the .dts file about this issue. Give users a clue what to
try if the kernel does not do anything at all.

 
> - Andrew,Ben: SPI flash partitions are correct, I can read all those,
>   'file' recognize them and the content looks kosher. Nonetheless, I did
>   a diff before and after a 'saveenv' under u-boot and u-boot
>   environment is saved by u-boot itself in the middle of the kernel
>   (0x40000 after the start of mtd1). This make kernel CRC incorrect and
>   prevent u-boot to boot the kernel. If you have any idea on this, I am
>   interested.

This sounds like the default install of u-boot does not make use of
any environment variables which are not the default value. Hence the
uboot environment store being in the middle of the kernel is not an
issue. Maybe you can ask for the u-boot sources, or see if they are on
the synology download site, and check this? Again, a fat warning in
the .dts file may be a good idea. What does seem odd is the Reboot,
FIS, etc, mtd partition names. Is there redboot installed at all?

> - Andrew, Ben: I did a single file for the .dts but I intend to create
>   a .dtsi; I have started a .dts for the DS414 (2-core Armada XP) and
>   they share various nodes.

O.K, good.

>  arch/arm/boot/dts/Makefile                       |   3 +-
>  arch/arm/boot/dts/armada-370-synology-ds213j.dts | 312 +++++++++++++++++++++++
>  2 files changed, 314 insertions(+), 1 deletion(-)
>  create mode 100644 arch/arm/boot/dts/armada-370-synology-ds213j.dts
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 38c89cafa1ab..95387b59ebb2 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -495,7 +495,8 @@ dtb-$(CONFIG_MACH_ARMADA_370) += \
>  	armada-370-mirabox.dtb \
>  	armada-370-netgear-rn102.dtb \
>  	armada-370-netgear-rn104.dtb \
> -	armada-370-rd.dtb
> +	armada-370-rd.dtb \
> +	armada-370-synology-ds213j.dtb
>  dtb-$(CONFIG_MACH_ARMADA_375) += \
>  	armada-375-db.dtb
>  dtb-$(CONFIG_MACH_ARMADA_38X) += \
> diff --git a/arch/arm/boot/dts/armada-370-synology-ds213j.dts b/arch/arm/boot/dts/armada-370-synology-ds213j.dts
> new file mode 100644
> index 000000000000..a99ccd0df20d
> --- /dev/null
> +++ b/arch/arm/boot/dts/armada-370-synology-ds213j.dts
> @@ -0,0 +1,312 @@
> +/*
> + * Device Tree file for Synology DS213j
> + *
> + * Copyright (C) 2014, Arnaud EBALARD <arno@natisbad.org>
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License
> + * as published by the Free Software Foundation; either version
> + * 2 of the License, or (at your option) any later version.
> + */

There has been some discussion on using MIT or BSD for .dts files.
Your choice thought.

> +				pmx_syno_id_bit0: pmx_syno_id_bit0 {

Should always be _ in the first part, and - in the second. There are other nodes which are wrong.

> +				spi-flash at 0 {
> +					#address-cells = <1>;
> +					#size-cells = <1>;
> +					compatible = "n25q064";

Should have a vendor prefix.

> +			i2c at 11000 {
> +				compatible = "marvell,mv64xxx-i2c";
> +				clock-frequency = <400000>;
> +				status = "okay";
> +
> +				s35390a: s35390a at 30 {
> +					 compatible = "ssi,s35390a";
> +					 reg = <0x30>;
> +				};
> +			};

If it uses an external RTC, it makes sense the disable the internal
one.

> +
> +			serial at 12000 {
> +				status = "okay";
> +			};
> +
> +			serial at 12100 {
> +				status = "okay";
> +			};

It would be nice to put comments about what these two serial ports are
used for. i.e. internal header, and to a PIC for power control.

Looks good otherwise.

      Andrew

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

* Re: [PATCHv0] arm: mvebu: add .dts file for Synology DS213j
  2014-10-25 20:42 ` Arnaud Ebalard
@ 2014-10-25 22:18     ` Andrew Lunn
  -1 siblings, 0 replies; 12+ messages in thread
From: Andrew Lunn @ 2014-10-25 22:18 UTC (permalink / raw)
  To: Arnaud Ebalard
  Cc: Jason Cooper, Andrew Lunn, Gregory Clement,
	Sebastian Hesselbarth, Ben Peddell, Simon Guinot, Russell King,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Rob Herring,
	Pawel Moll, Mark Rutland, Stephen Warren, Ian Campbell,
	devicetree-u79uwXL29TY76Z2rM5mHXA

> +/ {
> +	model = "Synology DS213j";
> +	compatible = "synology,ds213j", "marvell,armada370", "marvell,armada-370-xp";
> +
> +	chosen {
> +		bootargs = "console=ttyS0,115200 earlyprintk";
> +	};
> +


Missed it on the first look through. To help barebox, it is good to
have:

               stdout-path = &uart0;

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

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

* [PATCHv0] arm: mvebu: add .dts file for Synology DS213j
@ 2014-10-25 22:18     ` Andrew Lunn
  0 siblings, 0 replies; 12+ messages in thread
From: Andrew Lunn @ 2014-10-25 22:18 UTC (permalink / raw)
  To: linux-arm-kernel

> +/ {
> +	model = "Synology DS213j";
> +	compatible = "synology,ds213j", "marvell,armada370", "marvell,armada-370-xp";
> +
> +	chosen {
> +		bootargs = "console=ttyS0,115200 earlyprintk";
> +	};
> +


Missed it on the first look through. To help barebox, it is good to
have:

               stdout-path = &uart0;

       Andrew

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

* Re: [PATCHv0] arm: mvebu: add .dts file for Synology DS213j
  2014-10-25 22:16     ` Andrew Lunn
@ 2014-10-26  8:35       ` Ben Peddell
  -1 siblings, 0 replies; 12+ messages in thread
From: Ben Peddell @ 2014-10-26  8:35 UTC (permalink / raw)
  To: Andrew Lunn, Arnaud Ebalard
  Cc: Mark Rutland, devicetree, Russell King, Jason Cooper, Pawel Moll,
	Stephen Warren, Ian Campbell, Rob Herring, Simon Guinot,
	Gregory Clement, linux-arm-kernel, Sebastian Hesselbarth

On 26/10/14 08:16, Andrew Lunn wrote:
> Hi Arnaud
> 
> Nice to see another device supported.
> 
>> - When I bought the NAS, it had an old Marvell bootloader. After install
>>   of latest DSM version, the u-boot was a new one w/ I had to change the
>>   'ranges' in the .dts to the ones below to have the kernel boot. I guess
>>   new DS213j hardware will be shipped with new u-boot version at some
>>   point and this will be fine; Otherwise, users will either have to
>>   upgrade their DSM or manually s/1f/d0/ in .dts.
> 
> Marvell have made a real mess here. Since there seems to be two
> different base addresses in use, i suggest you put a fat comment on
> the top of the .dts file about this issue. Give users a clue what to
> try if the kernel does not do anything at all.
> 
>  
>> - Andrew,Ben: SPI flash partitions are correct, I can read all those,
>>   'file' recognize them and the content looks kosher. Nonetheless, I did
>>   a diff before and after a 'saveenv' under u-boot and u-boot
>>   environment is saved by u-boot itself in the middle of the kernel
>>   (0x40000 after the start of mtd1). This make kernel CRC incorrect and
>>   prevent u-boot to boot the kernel. If you have any idea on this, I am
>>   interested.
> 
> This sounds like the default install of u-boot does not make use of
> any environment variables which are not the default value. Hence the
> uboot environment store being in the middle of the kernel is not an
> issue. Maybe you can ask for the u-boot sources, or see if they are on
> the synology download site, and check this? Again, a fat warning in
> the .dts file may be a good idea. 

On the Kirkwood-based Synology DiskStations, saving the environment is
not possible, and the "RedBoot Config" partition is not used.

It sounds as if Synology configured the Marvell u-boot bootloader on the
Marvell Armada series for a 1MiB bootloader partition size (instead of 
768KiB), with the config partition following immediately after it, and
never tested (or forgot to disable) saving environment variables.

> What does seem odd is the Reboot, FIS, etc, mtd partition names. 
> Is there redboot installed at all?

I think the RedBoot partition names are carried over from the older
PPC-based Synology DiskStations.  As far as I can tell, the FIS 
directory partition is never referenced by the Synology kernel or
bootloader, though the information in it does match what is used by
the kernel, and it appears it may be used by the Synology updater.

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

* [PATCHv0] arm: mvebu: add .dts file for Synology DS213j
@ 2014-10-26  8:35       ` Ben Peddell
  0 siblings, 0 replies; 12+ messages in thread
From: Ben Peddell @ 2014-10-26  8:35 UTC (permalink / raw)
  To: linux-arm-kernel

On 26/10/14 08:16, Andrew Lunn wrote:
> Hi Arnaud
> 
> Nice to see another device supported.
> 
>> - When I bought the NAS, it had an old Marvell bootloader. After install
>>   of latest DSM version, the u-boot was a new one w/ I had to change the
>>   'ranges' in the .dts to the ones below to have the kernel boot. I guess
>>   new DS213j hardware will be shipped with new u-boot version at some
>>   point and this will be fine; Otherwise, users will either have to
>>   upgrade their DSM or manually s/1f/d0/ in .dts.
> 
> Marvell have made a real mess here. Since there seems to be two
> different base addresses in use, i suggest you put a fat comment on
> the top of the .dts file about this issue. Give users a clue what to
> try if the kernel does not do anything at all.
> 
>  
>> - Andrew,Ben: SPI flash partitions are correct, I can read all those,
>>   'file' recognize them and the content looks kosher. Nonetheless, I did
>>   a diff before and after a 'saveenv' under u-boot and u-boot
>>   environment is saved by u-boot itself in the middle of the kernel
>>   (0x40000 after the start of mtd1). This make kernel CRC incorrect and
>>   prevent u-boot to boot the kernel. If you have any idea on this, I am
>>   interested.
> 
> This sounds like the default install of u-boot does not make use of
> any environment variables which are not the default value. Hence the
> uboot environment store being in the middle of the kernel is not an
> issue. Maybe you can ask for the u-boot sources, or see if they are on
> the synology download site, and check this? Again, a fat warning in
> the .dts file may be a good idea. 

On the Kirkwood-based Synology DiskStations, saving the environment is
not possible, and the "RedBoot Config" partition is not used.

It sounds as if Synology configured the Marvell u-boot bootloader on the
Marvell Armada series for a 1MiB bootloader partition size (instead of 
768KiB), with the config partition following immediately after it, and
never tested (or forgot to disable) saving environment variables.

> What does seem odd is the Reboot, FIS, etc, mtd partition names. 
> Is there redboot installed at all?

I think the RedBoot partition names are carried over from the older
PPC-based Synology DiskStations.  As far as I can tell, the FIS 
directory partition is never referenced by the Synology kernel or
bootloader, though the information in it does match what is used by
the kernel, and it appears it may be used by the Synology updater.

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

* Re: [PATCHv0] arm: mvebu: add .dts file for Synology DS213j
  2014-10-25 22:16     ` Andrew Lunn
@ 2014-10-26 16:54         ` Arnd Bergmann
  -1 siblings, 0 replies; 12+ messages in thread
From: Arnd Bergmann @ 2014-10-26 16:54 UTC (permalink / raw)
  To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
  Cc: Andrew Lunn, Arnaud Ebalard, Mark Rutland, Ben Peddell,
	Jason Cooper, Pawel Moll, Stephen Warren, Ian Campbell,
	Rob Herring, Simon Guinot, devicetree-u79uwXL29TY76Z2rM5mHXA,
	Gregory Clement, Russell King, Sebastian Hesselbarth

On Sunday 26 October 2014 00:16:11 Andrew Lunn wrote:
> Hi Arnaud
> 
> Nice to see another device supported.
> 
> > - When I bought the NAS, it had an old Marvell bootloader. After install
> >   of latest DSM version, the u-boot was a new one w/ I had to change the
> >   'ranges' in the .dts to the ones below to have the kernel boot. I guess
> >   new DS213j hardware will be shipped with new u-boot version at some
> >   point and this will be fine; Otherwise, users will either have to
> >   upgrade their DSM or manually s/1f/d0/ in .dts.
> 
> Marvell have made a real mess here. Since there seems to be two
> different base addresses in use, i suggest you put a fat comment on
> the top of the .dts file about this issue. Give users a clue what to
> try if the kernel does not do anything at all.
> 

Maybe it's better to have multiple dtb files in this case.
It should be trivial to have one .dts file that just overrides the
one address.

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

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

* [PATCHv0] arm: mvebu: add .dts file for Synology DS213j
@ 2014-10-26 16:54         ` Arnd Bergmann
  0 siblings, 0 replies; 12+ messages in thread
From: Arnd Bergmann @ 2014-10-26 16:54 UTC (permalink / raw)
  To: linux-arm-kernel

On Sunday 26 October 2014 00:16:11 Andrew Lunn wrote:
> Hi Arnaud
> 
> Nice to see another device supported.
> 
> > - When I bought the NAS, it had an old Marvell bootloader. After install
> >   of latest DSM version, the u-boot was a new one w/ I had to change the
> >   'ranges' in the .dts to the ones below to have the kernel boot. I guess
> >   new DS213j hardware will be shipped with new u-boot version at some
> >   point and this will be fine; Otherwise, users will either have to
> >   upgrade their DSM or manually s/1f/d0/ in .dts.
> 
> Marvell have made a real mess here. Since there seems to be two
> different base addresses in use, i suggest you put a fat comment on
> the top of the .dts file about this issue. Give users a clue what to
> try if the kernel does not do anything at all.
> 

Maybe it's better to have multiple dtb files in this case.
It should be trivial to have one .dts file that just overrides the
one address.

	Arnd

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

* Re: [PATCHv0] arm: mvebu: add .dts file for Synology DS213j
  2014-10-26  8:35       ` Ben Peddell
@ 2014-10-26 17:42           ` Ben Peddell
  -1 siblings, 0 replies; 12+ messages in thread
From: Ben Peddell @ 2014-10-26 17:42 UTC (permalink / raw)
  To: Andrew Lunn, Arnaud Ebalard
  Cc: Jason Cooper, Gregory Clement, Sebastian Hesselbarth,
	Simon Guinot, Russell King,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Rob Herring,
	Pawel Moll, Mark Rutland, Stephen Warren, Ian Campbell,
	devicetree-u79uwXL29TY76Z2rM5mHXA

On 26/10/14 18:35, Ben Peddell wrote:
> On 26/10/14 08:16, Andrew Lunn wrote:
>> What does seem odd is the Reboot, FIS, etc, mtd partition names. 
>> Is there redboot installed at all?
> 
> I think the RedBoot partition names are carried over from the older
> PPC-based Synology DiskStations.  As far as I can tell, the FIS 
> directory partition is never referenced by the Synology kernel or
> bootloader, though the information in it does match what is used by
> the kernel, and it appears it may be used by the Synology updater.

I stand corrected here - on the Marvell Armada XP and Armada 370
DiskStations, the FIS directory (RedBoot parts) does appear to be
used by the Synology kernel.

If I'm reading it right, unless otherwise configured, the RedBoot
partition maps will take precedence over the device tree partition 
maps when CONFIG_MTD_REDBOOT_PARTS is enabled.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCHv0] arm: mvebu: add .dts file for Synology DS213j
@ 2014-10-26 17:42           ` Ben Peddell
  0 siblings, 0 replies; 12+ messages in thread
From: Ben Peddell @ 2014-10-26 17:42 UTC (permalink / raw)
  To: linux-arm-kernel

On 26/10/14 18:35, Ben Peddell wrote:
> On 26/10/14 08:16, Andrew Lunn wrote:
>> What does seem odd is the Reboot, FIS, etc, mtd partition names. 
>> Is there redboot installed at all?
> 
> I think the RedBoot partition names are carried over from the older
> PPC-based Synology DiskStations.  As far as I can tell, the FIS 
> directory partition is never referenced by the Synology kernel or
> bootloader, though the information in it does match what is used by
> the kernel, and it appears it may be used by the Synology updater.

I stand corrected here - on the Marvell Armada XP and Armada 370
DiskStations, the FIS directory (RedBoot parts) does appear to be
used by the Synology kernel.

If I'm reading it right, unless otherwise configured, the RedBoot
partition maps will take precedence over the device tree partition 
maps when CONFIG_MTD_REDBOOT_PARTS is enabled.

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

end of thread, other threads:[~2014-10-26 17:42 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-25 20:42 [PATCHv0] arm: mvebu: add .dts file for Synology DS213j Arnaud Ebalard
2014-10-25 20:42 ` Arnaud Ebalard
     [not found] ` <3d0cc6de9ea5506d5fb201129ad277e57d0cdfc8.1414268057.git.arno-LkuqDEemtHBg9hUCZPvPmw@public.gmane.org>
2014-10-25 22:16   ` Andrew Lunn
2014-10-25 22:16     ` Andrew Lunn
2014-10-26  8:35     ` Ben Peddell
2014-10-26  8:35       ` Ben Peddell
     [not found]       ` <544CB246.2030607-aslSrjg9ejhWX4hkXwHRhw@public.gmane.org>
2014-10-26 17:42         ` Ben Peddell
2014-10-26 17:42           ` Ben Peddell
     [not found]     ` <20141025221611.GA14620-g2DYL2Zd6BY@public.gmane.org>
2014-10-26 16:54       ` Arnd Bergmann
2014-10-26 16:54         ` Arnd Bergmann
2014-10-25 22:18   ` Andrew Lunn
2014-10-25 22:18     ` Andrew Lunn

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