* [PATCH 1/2] Adding Lenovo - Lenovo Group Ltd. to the vendor-prefixes list.
@ 2014-07-23 22:35 Benoit Masson
2014-07-23 22:32 ` Andrew Lunn
` (3 more replies)
0 siblings, 4 replies; 30+ messages in thread
From: Benoit Masson @ 2014-07-23 22:35 UTC (permalink / raw)
To: linux-arm-kernel
Lenovo Group Ltd. (stylized as lenovo) is a Chinese multinational computer technology company with headquarters in Beijing, China, and Morrisville, North Carolina, United States.
http://www.lenovo.com/
Signed-off-by: Benoit Masson <yahoo@perenite.com>
---
Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
index 46a311e..ae09892 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -71,6 +71,7 @@ karo Ka-Ro electronics GmbH
keymile Keymile GmbH
lacie LaCie
lantiq Lantiq Semiconductor
+lenovo Lenovo Group Ltd.
lg LG Corporation
linux Linux-specific binding
lsi LSI Corp. (LSI Logic)
--
1.9.1
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 1/2] Adding Lenovo - Lenovo Group Ltd. to the vendor-prefixes list.
2014-07-23 22:35 [PATCH 1/2] Adding Lenovo - Lenovo Group Ltd. to the vendor-prefixes list Benoit Masson
@ 2014-07-23 22:32 ` Andrew Lunn
2014-07-23 22:35 ` [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS Benoit Masson
` (2 subsequent siblings)
3 siblings, 0 replies; 30+ messages in thread
From: Andrew Lunn @ 2014-07-23 22:32 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Jul 23, 2014 at 03:35:22PM -0700, Benoit Masson wrote:
> Lenovo Group Ltd. (stylized as lenovo) is a Chinese multinational computer technology company with headquarters in Beijing, China, and Morrisville, North Carolina, United States.
>
> http://www.lenovo.com/
> Signed-off-by: Benoit Masson <yahoo@perenite.com>
Acked-by: Andrew Lunn <andrew@lunn.ch>
Andrew
> ---
> Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
> index 46a311e..ae09892 100644
> --- a/Documentation/devicetree/bindings/vendor-prefixes.txt
> +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
> @@ -71,6 +71,7 @@ karo Ka-Ro electronics GmbH
> keymile Keymile GmbH
> lacie LaCie
> lantiq Lantiq Semiconductor
> +lenovo Lenovo Group Ltd.
> lg LG Corporation
> linux Linux-specific binding
> lsi LSI Corp. (LSI Logic)
> --
> 1.9.1
>
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS
2014-07-23 22:35 [PATCH 1/2] Adding Lenovo - Lenovo Group Ltd. to the vendor-prefixes list Benoit Masson
2014-07-23 22:32 ` Andrew Lunn
@ 2014-07-23 22:35 ` Benoit Masson
2014-07-23 22:42 ` Andrew Lunn
2014-07-24 12:45 ` [PATCH 1/2] Adding Lenovo - Lenovo Group Ltd. to the vendor-prefixes list Rob Herring
2014-07-28 13:43 ` Jason Cooper
3 siblings, 1 reply; 30+ messages in thread
From: Benoit Masson @ 2014-07-23 22:35 UTC (permalink / raw)
To: linux-arm-kernel
The Lenovo Iomega ix4-300d is a 4-Bay sata NAS with dual Gb,
USB2.0 & 3.0, powered by a Marvell Armada XP MV78230 dual core CPU.
http://shop.lenovo.com/fr/fr/servers/network-storage/lenovoemc/ix4-300d/
Signed-off-by: Benoit Masson <yahoo@perenite.com>
---
arch/arm/boot/dts/Makefile | 3 +-
arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts | 284 ++++++++++++++++++++++++
2 files changed, 286 insertions(+), 1 deletion(-)
create mode 100644 arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index adb5ed9..4429495 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -437,8 +437,9 @@ dtb-$(CONFIG_MACH_ARMADA_XP) += \
armada-xp-axpwifiap.dtb \
armada-xp-db.dtb \
armada-xp-gp.dtb \
- armada-xp-netgear-rn2120.dtb \
+ armada-xp-lenovo-ix4-300d.dtb \
armada-xp-matrix.dtb \
+ armada-xp-netgear-rn2120.dtb \
armada-xp-openblocks-ax3-4.dtb
dtb-$(CONFIG_MACH_DOVE) += dove-cm-a510.dtb \
dove-cubox.dtb \
diff --git a/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts b/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
new file mode 100644
index 0000000..aedc9dc
--- /dev/null
+++ b/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
@@ -0,0 +1,284 @@
+/*
+ * Device Tree file for Lenovo Iomega ix4-300d
+ *
+ * Copyright (C) 2014, Benoit Masson <yahoo@perenite.com>
+ *
+ * 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-xp-mv78230.dtsi"
+
+/ {
+ model = "Lenovo Iomega ix4-300d";
+ compatible = "lenovo,ix4-300d", "marvell,armadaxp-mv78230",
+ "marvell,armadaxp", "marvell,armada-370-xp";
+
+ chosen {
+ bootargs = "console=ttyS0,115200 earlyprintk";
+ stdout-path = "/soc/internal-regs/serial at 12000";
+ };
+
+ memory {
+ device_type = "memory";
+ reg = <0 0x00000000 0 0x20000000>; /* 512MB */
+ };
+
+ soc {
+ ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xd0000000 0x100000
+ MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000>;
+
+ pcie-controller {
+ status = "okay";
+
+ /* Quad port sata: Marvell 88SX7042 */
+ pcie at 1,0 {
+ /* Port 0, Lane 0 */
+ status = "okay";
+ };
+
+ /* USB 3.0 xHCI controller: NEC D720200F1 */
+ pcie at 5,0 {
+ /* Port 1, Lane 0 */
+ status = "okay";
+ };
+ };
+
+ internal-regs {
+ pinctrl {
+ poweroff_pin: poweroff-pin {
+ marvell,pins = "mpp24";
+ marvell,function = "gpio";
+ };
+
+ power_button_pin: power-button-pin {
+ marvell,pins = "mpp44";
+ marvell,function = "gpio";
+ };
+
+ reset_button_pin: reset-button-pin {
+ marvell,pins = "mpp45";
+ marvell,function = "gpio";
+ };
+ select_button_pin: select-button-pin {
+ marvell,pins = "mpp41";
+ marvell,function = "gpio";
+ };
+
+ scroll_button_pin: scroll-button-pin {
+ marvell,pins = "mpp42";
+ marvell,function = "gpio";
+ };
+
+ hdd_led_pin: hdd-led-pin {
+ marvell,pins = "mpp26";
+ marvell,function = "gpio";
+ };
+ };
+
+ serial at 12000 {
+ status = "okay";
+ };
+
+ mdio {
+ phy0: ethernet-phy at 0 { /* Marvell 88E1318 */
+ reg = <0>;
+ };
+
+ phy1: ethernet-phy at 1 { /* Marvell 88E1318 */
+ reg = <1>;
+ };
+ };
+
+ ethernet at 70000 {
+ status = "okay";
+ phy = <&phy0>;
+ phy-mode = "rgmii-id";
+ };
+
+ ethernet at 74000 {
+ status = "okay";
+ phy = <&phy1>;
+ phy-mode = "rgmii-id";
+ };
+
+ usb at 50000 {
+ status = "okay";
+ };
+
+ usb at 51000 {
+ status = "okay";
+ };
+
+ i2c at 11000 {
+ compatible = "marvell,mv78230-a0-i2c",
+ "marvell,mv64xxx-i2c";
+ clock-frequency = <400000>;
+ status = "okay";
+
+ adt7473 at 2e {
+ compatible = "adi,adt7473";
+ reg = <0x2e>;
+ };
+
+ pcf8563 at 51 {
+ compatible = "nxp,pcf8563";
+ reg = <0x51>;
+ };
+
+ };
+
+ nand at d0000 {
+ status = "okay";
+ num-cs = <1>;
+ marvell,nand-keep-config;
+ marvell,nand-enable-arbiter;
+ nand-on-flash-bbt;
+
+ partition at 0 {
+ label = "u-boot";
+ reg = <0x0000000 0xe0000>;
+ read-only;
+ };
+
+ partition at e0000 {
+ label = "u-boot-env";
+ reg = <0xe0000 0x20000>;
+ read-only;
+ };
+
+ partition at 100000 {
+ label = "u-boot-env2";
+ reg = <0x100000 0x20000>;
+ read-only;
+ };
+
+ partition at 120000 {
+ label = "zImage";
+ reg = <0x120000 0x400000>;
+ };
+
+ partition at 520000 {
+ label = "initrd";
+ reg = <0x520000 0x400000>;
+ };
+
+ partition at xE00000 {
+ label = "boot";
+ reg = <0xE00000 0x3F200000>;
+ };
+
+ partition at flash {
+ label = "flash";
+ reg = <0x0 0x40000000>;
+ };
+ };
+ };
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+ pinctrl-0 = <&power_button_pin &reset_button_pin
+ &select_button_pin &scroll_button_pin>;
+ pinctrl-names = "default";
+
+ power-button {
+ label = "Power Button";
+ linux,code = <KEY_POWER>;
+ gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
+ };
+
+ reset-button {
+ label = "Reset Button";
+ linux,code = <KEY_RESTART>;
+ gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
+ };
+
+ select-button {
+ label = "Select Button";
+ linux,code = <BTN_SELECT>;
+ gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
+ };
+
+ scroll-button {
+ label = "Scroll Button";
+ linux,code = <KEY_SCROLLDOWN>;
+ gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ spi3 {
+ compatible = "spi-gpio";
+ status = "okay";
+ gpio-sck = <&gpio0 25 0>;
+ gpio-mosi = <&gpio1 15 0>; /*gpio 47*/
+ cs-gpios = <&gpio0 27 0 >;
+ num-chipselects = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ gpio2: gpio2 at 0 {
+ compatible = "fairchild,74hc595";
+ gpio-controller;
+ #gpio-cells = <2>;
+ reg = <0>;
+ registers-number = <2>;
+ spi-max-frequency = <100000>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+ pinctrl-0 = <&hdd_led_pin>;
+ pinctrl-names = "default";
+
+ hdd-led {
+ label = "ix4-300d:blue:hdd";
+ gpios = <&gpio0 26 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+
+ power-led {
+ label = "ix4-300d:power";
+ gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
+ /* init blinking while booting */
+ linux,default-trigger = "timer";
+ default-state = "on";
+ };
+
+ sysfail-led {
+ label = "ix4-300d:sysfail:red";
+ gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+
+ sys-led {
+ label = "ix4-300d:sys:blue";
+ gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+
+ hddfail-led {
+ label = "ix4-300d:hddfail:red";
+ gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+
+ };
+
+ /* Warning: you need both eth1 & 0 PHY initialized
+ (i.e having them up does the tweak)
+ for poweroff to shutdown otherwise it reboots */
+ gpio-poweroff {
+ compatible = "gpio-poweroff";
+ pinctrl-0 = <&poweroff_pin>;
+ pinctrl-names = "default";
+ gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>;
+ };
+};
--
1.9.1
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS
2014-07-23 22:35 ` [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS Benoit Masson
@ 2014-07-23 22:42 ` Andrew Lunn
2014-07-23 22:56 ` Benoit Masson
0 siblings, 1 reply; 30+ messages in thread
From: Andrew Lunn @ 2014-07-23 22:42 UTC (permalink / raw)
To: linux-arm-kernel
> + i2c at 11000 {
> + compatible = "marvell,mv78230-a0-i2c",
> + "marvell,mv64xxx-i2c";
Ah sorry, i missed this first time. Do you really need
"marvell,mv78230-a0-i2c"?
Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt says:
- "marvell,mv78230-a0-i2c"
* Note: Only use "marvell,mv78230-a0-i2c" for a
very rare, initial version of the SoC which
had broken offload support. Linux
auto-detects this and sets it appropriately.
So i don't think you should have this hear.
Gregory, please could you comment.
> + power-led {
> + label = "ix4-300d:power";
It is normal to include the colour, and you did for all the other
LEDs.
Andrew
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS
2014-07-23 22:42 ` Andrew Lunn
@ 2014-07-23 22:56 ` Benoit Masson
2014-07-23 22:58 ` Andrew Lunn
0 siblings, 1 reply; 30+ messages in thread
From: Benoit Masson @ 2014-07-23 22:56 UTC (permalink / raw)
To: linux-arm-kernel
No worries, sorry it makes more email for you guys, I've added the colors for power and revert order hdd:blue instead of blue:hdd for the hdd led.
For the marvell,mv78230-a0-i2c unfortunately i've spend 3 hours trying to understand this but it only works with this on the ix4-300d :(. There was multiple patch around this and maybe one broke the auto-detect part of this, I've tried compiling with some 3.10 or lower kernel but no luck here I still have to put this a0 option.
Benoit
Le 24 juil. 2014 ? 00:42, Andrew Lunn <andrew@lunn.ch> a ?crit :
>> + i2c at 11000 {
>> + compatible = "marvell,mv78230-a0-i2c",
>> + "marvell,mv64xxx-i2c";
>
> Ah sorry, i missed this first time. Do you really need
> "marvell,mv78230-a0-i2c"?
>
> Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt says:
>
> - "marvell,mv78230-a0-i2c"
> * Note: Only use "marvell,mv78230-a0-i2c" for a
> very rare, initial version of the SoC which
> had broken offload support. Linux
> auto-detects this and sets it appropriately.
>
> So i don't think you should have this hear.
>
> Gregory, please could you comment.
>
>> + power-led {
>> + label = "ix4-300d:power";
>
> It is normal to include the colour, and you did for all the other
> LEDs.
>
> Andrew
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS
2014-07-23 22:56 ` Benoit Masson
@ 2014-07-23 22:58 ` Andrew Lunn
[not found] ` <10A7C530-7CD2-4ED0-889A-7FAC1922320F@perenite.com>
0 siblings, 1 reply; 30+ messages in thread
From: Andrew Lunn @ 2014-07-23 22:58 UTC (permalink / raw)
To: linux-arm-kernel
> For the marvell,mv78230-a0-i2c unfortunately i've spend 3 hours
> trying to understand this but it only works with this on the
> ix4-300d :(. There was multiple patch around this and maybe one
> broke the auto-detect part of this, I've tried compiling with some
> 3.10 or lower kernel but no luck here I still have to put this a0
> option.
Lets first confirm you have an a0 SoC.
At boot time, it should print:
pr_info("MVEBU SoC ID=0x%X, Rev=0x%X\n", soc_dev_id, soc_rev);
What revision do you have?
If the auto detect code really is broken, Gregory will likely take a
look.
Andrew
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 1/2] Adding Lenovo - Lenovo Group Ltd. to the vendor-prefixes list.
2014-07-23 22:35 [PATCH 1/2] Adding Lenovo - Lenovo Group Ltd. to the vendor-prefixes list Benoit Masson
2014-07-23 22:32 ` Andrew Lunn
2014-07-23 22:35 ` [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS Benoit Masson
@ 2014-07-24 12:45 ` Rob Herring
2014-07-28 13:43 ` Jason Cooper
3 siblings, 0 replies; 30+ messages in thread
From: Rob Herring @ 2014-07-24 12:45 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Jul 23, 2014 at 5:35 PM, Benoit Masson <yahoo@perenite.com> wrote:
> Lenovo Group Ltd. (stylized as lenovo) is a Chinese multinational computer technology company with headquarters in Beijing, China, and Morrisville, North Carolina, United States.
>
> http://www.lenovo.com/
> Signed-off-by: Benoit Masson <yahoo@perenite.com>
Acked-by: Rob Herring <robh@kernel.org>
> ---
> Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
> index 46a311e..ae09892 100644
> --- a/Documentation/devicetree/bindings/vendor-prefixes.txt
> +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
> @@ -71,6 +71,7 @@ karo Ka-Ro electronics GmbH
> keymile Keymile GmbH
> lacie LaCie
> lantiq Lantiq Semiconductor
> +lenovo Lenovo Group Ltd.
> lg LG Corporation
> linux Linux-specific binding
> lsi LSI Corp. (LSI Logic)
> --
> 1.9.1
>
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 1/2] Adding Lenovo - Lenovo Group Ltd. to the vendor-prefixes list.
2014-07-23 22:35 [PATCH 1/2] Adding Lenovo - Lenovo Group Ltd. to the vendor-prefixes list Benoit Masson
` (2 preceding siblings ...)
2014-07-24 12:45 ` [PATCH 1/2] Adding Lenovo - Lenovo Group Ltd. to the vendor-prefixes list Rob Herring
@ 2014-07-28 13:43 ` Jason Cooper
3 siblings, 0 replies; 30+ messages in thread
From: Jason Cooper @ 2014-07-28 13:43 UTC (permalink / raw)
To: linux-arm-kernel
Benoit,
On Wed, Jul 23, 2014 at 03:35:22PM -0700, Benoit Masson wrote:
> Lenovo Group Ltd. (stylized as lenovo) is a Chinese multinational
> computer technology company with headquarters in Beijing, China, and
> Morrisville, North Carolina, United States.
>
> http://www.lenovo.com/
> Signed-off-by: Benoit Masson <yahoo@perenite.com>
> ---
> Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
> 1 file changed, 1 insertion(+)
Applied to mvebu/dt with a few minor style changes to the commit log.
- Added a blank line between the URL and the S-o-B.
- Reflowed the paragraph to wrap at >80 chars
- Changed subject to match other changes to vendor-prefixes.txt
The Subject line now reads:
of: Add Lenovo Group Ltd. to the vendor-prefixes list.
You can view the patch here:
http://git.infradead.org/linux-mvebu.git/commitdiff/74e025501bb834000b3c7eceab69383806520a36
Next, it'll go to arm-soc. Then, Linus' tree.
thx,
Jason.
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS
@ 2014-07-23 22:52 Benoit Masson
2014-07-23 23:27 ` Jason Cooper
` (2 more replies)
0 siblings, 3 replies; 30+ messages in thread
From: Benoit Masson @ 2014-07-23 22:52 UTC (permalink / raw)
To: linux-arm-kernel
The Lenovo Iomega ix4-300d is a 4-Bay sata NAS with dual Gb,
USB2.0 & 3.0, powered by a Marvell Armada XP MV78230 dual core CPU.
http://shop.lenovo.com/fr/fr/servers/network-storage/lenovoemc/ix4-300d/
Signed-off-by: Benoit Masson <yahoo@perenite.com>
---
arch/arm/boot/dts/Makefile | 3 +-
arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts | 284 ++++++++++++++++++++++++
2 files changed, 286 insertions(+), 1 deletion(-)
create mode 100644 arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index adb5ed9..4429495 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -437,8 +437,9 @@ dtb-$(CONFIG_MACH_ARMADA_XP) += \
armada-xp-axpwifiap.dtb \
armada-xp-db.dtb \
armada-xp-gp.dtb \
- armada-xp-netgear-rn2120.dtb \
+ armada-xp-lenovo-ix4-300d.dtb \
armada-xp-matrix.dtb \
+ armada-xp-netgear-rn2120.dtb \
armada-xp-openblocks-ax3-4.dtb
dtb-$(CONFIG_MACH_DOVE) += dove-cm-a510.dtb \
dove-cubox.dtb \
diff --git a/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts b/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
new file mode 100644
index 0000000..1f33cbc
--- /dev/null
+++ b/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
@@ -0,0 +1,284 @@
+/*
+ * Device Tree file for Lenovo Iomega ix4-300d
+ *
+ * Copyright (C) 2014, Benoit Masson <yahoo@perenite.com>
+ *
+ * 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-xp-mv78230.dtsi"
+
+/ {
+ model = "Lenovo Iomega ix4-300d";
+ compatible = "lenovo,ix4-300d", "marvell,armadaxp-mv78230",
+ "marvell,armadaxp", "marvell,armada-370-xp";
+
+ chosen {
+ bootargs = "console=ttyS0,115200 earlyprintk";
+ stdout-path = "/soc/internal-regs/serial at 12000";
+ };
+
+ memory {
+ device_type = "memory";
+ reg = <0 0x00000000 0 0x20000000>; /* 512MB */
+ };
+
+ soc {
+ ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xd0000000 0x100000
+ MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000>;
+
+ pcie-controller {
+ status = "okay";
+
+ /* Quad port sata: Marvell 88SX7042 */
+ pcie at 1,0 {
+ /* Port 0, Lane 0 */
+ status = "okay";
+ };
+
+ /* USB 3.0 xHCI controller: NEC D720200F1 */
+ pcie at 5,0 {
+ /* Port 1, Lane 0 */
+ status = "okay";
+ };
+ };
+
+ internal-regs {
+ pinctrl {
+ poweroff_pin: poweroff-pin {
+ marvell,pins = "mpp24";
+ marvell,function = "gpio";
+ };
+
+ power_button_pin: power-button-pin {
+ marvell,pins = "mpp44";
+ marvell,function = "gpio";
+ };
+
+ reset_button_pin: reset-button-pin {
+ marvell,pins = "mpp45";
+ marvell,function = "gpio";
+ };
+ select_button_pin: select-button-pin {
+ marvell,pins = "mpp41";
+ marvell,function = "gpio";
+ };
+
+ scroll_button_pin: scroll-button-pin {
+ marvell,pins = "mpp42";
+ marvell,function = "gpio";
+ };
+
+ hdd_led_pin: hdd-led-pin {
+ marvell,pins = "mpp26";
+ marvell,function = "gpio";
+ };
+ };
+
+ serial at 12000 {
+ status = "okay";
+ };
+
+ mdio {
+ phy0: ethernet-phy at 0 { /* Marvell 88E1318 */
+ reg = <0>;
+ };
+
+ phy1: ethernet-phy at 1 { /* Marvell 88E1318 */
+ reg = <1>;
+ };
+ };
+
+ ethernet at 70000 {
+ status = "okay";
+ phy = <&phy0>;
+ phy-mode = "rgmii-id";
+ };
+
+ ethernet at 74000 {
+ status = "okay";
+ phy = <&phy1>;
+ phy-mode = "rgmii-id";
+ };
+
+ usb at 50000 {
+ status = "okay";
+ };
+
+ usb at 51000 {
+ status = "okay";
+ };
+
+ i2c at 11000 {
+ compatible = "marvell,mv78230-a0-i2c",
+ "marvell,mv64xxx-i2c";
+ clock-frequency = <400000>;
+ status = "okay";
+
+ adt7473 at 2e {
+ compatible = "adi,adt7473";
+ reg = <0x2e>;
+ };
+
+ pcf8563 at 51 {
+ compatible = "nxp,pcf8563";
+ reg = <0x51>;
+ };
+
+ };
+
+ nand at d0000 {
+ status = "okay";
+ num-cs = <1>;
+ marvell,nand-keep-config;
+ marvell,nand-enable-arbiter;
+ nand-on-flash-bbt;
+
+ partition at 0 {
+ label = "u-boot";
+ reg = <0x0000000 0xe0000>;
+ read-only;
+ };
+
+ partition at e0000 {
+ label = "u-boot-env";
+ reg = <0xe0000 0x20000>;
+ read-only;
+ };
+
+ partition at 100000 {
+ label = "u-boot-env2";
+ reg = <0x100000 0x20000>;
+ read-only;
+ };
+
+ partition at 120000 {
+ label = "zImage";
+ reg = <0x120000 0x400000>;
+ };
+
+ partition at 520000 {
+ label = "initrd";
+ reg = <0x520000 0x400000>;
+ };
+
+ partition at xE00000 {
+ label = "boot";
+ reg = <0xE00000 0x3F200000>;
+ };
+
+ partition at flash {
+ label = "flash";
+ reg = <0x0 0x40000000>;
+ };
+ };
+ };
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+ pinctrl-0 = <&power_button_pin &reset_button_pin
+ &select_button_pin &scroll_button_pin>;
+ pinctrl-names = "default";
+
+ power-button {
+ label = "Power Button";
+ linux,code = <KEY_POWER>;
+ gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
+ };
+
+ reset-button {
+ label = "Reset Button";
+ linux,code = <KEY_RESTART>;
+ gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
+ };
+
+ select-button {
+ label = "Select Button";
+ linux,code = <BTN_SELECT>;
+ gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
+ };
+
+ scroll-button {
+ label = "Scroll Button";
+ linux,code = <KEY_SCROLLDOWN>;
+ gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ spi3 {
+ compatible = "spi-gpio";
+ status = "okay";
+ gpio-sck = <&gpio0 25 0>;
+ gpio-mosi = <&gpio1 15 0>; /*gpio 47*/
+ cs-gpios = <&gpio0 27 0 >;
+ num-chipselects = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ gpio2: gpio2 at 0 {
+ compatible = "fairchild,74hc595";
+ gpio-controller;
+ #gpio-cells = <2>;
+ reg = <0>;
+ registers-number = <2>;
+ spi-max-frequency = <100000>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+ pinctrl-0 = <&hdd_led_pin>;
+ pinctrl-names = "default";
+
+ hdd-led {
+ label = "ix4-300d:hdd:blue";
+ gpios = <&gpio0 26 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+
+ power-led {
+ label = "ix4-300d:power:white";
+ gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
+ /* init blinking while booting */
+ linux,default-trigger = "timer";
+ default-state = "on";
+ };
+
+ sysfail-led {
+ label = "ix4-300d:sysfail:red";
+ gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+
+ sys-led {
+ label = "ix4-300d:sys:blue";
+ gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+
+ hddfail-led {
+ label = "ix4-300d:hddfail:red";
+ gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+
+ };
+
+ /* Warning: you need both eth1 & 0 PHY initialized
+ (i.e having them up does the tweak)
+ for poweroff to shutdown otherwise it reboots */
+ gpio-poweroff {
+ compatible = "gpio-poweroff";
+ pinctrl-0 = <&poweroff_pin>;
+ pinctrl-names = "default";
+ gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>;
+ };
+};
--
1.9.1
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS
2014-07-23 22:52 [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS Benoit Masson
@ 2014-07-23 23:27 ` Jason Cooper
2014-07-23 23:29 ` Andrew Lunn
2014-07-24 4:00 ` Baruch Siach
2014-07-26 17:26 ` Andrew Lunn
2 siblings, 1 reply; 30+ messages in thread
From: Jason Cooper @ 2014-07-23 23:27 UTC (permalink / raw)
To: linux-arm-kernel
Benoit,
This looks a lot better, thanks for turning it around so quickly!
My only general comment is just for the future. When submitting new
versions of patches, please add a 'V2' inside the brackets on the
Subject line. Or v3, or v4, or v14 in rare cases ;-)
It really helps us patch wranglers keep track of which version to apply.
One small comment below.
On Wed, Jul 23, 2014 at 03:52:53PM -0700, Benoit Masson wrote:
> The Lenovo Iomega ix4-300d is a 4-Bay sata NAS with dual Gb,
> USB2.0 & 3.0, powered by a Marvell Armada XP MV78230 dual core CPU.
>
> http://shop.lenovo.com/fr/fr/servers/network-storage/lenovoemc/ix4-300d/
> Signed-off-by: Benoit Masson <yahoo@perenite.com>
> ---
> arch/arm/boot/dts/Makefile | 3 +-
> arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts | 284 ++++++++++++++++++++++++
> 2 files changed, 286 insertions(+), 1 deletion(-)
> create mode 100644 arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
...
> diff --git a/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts b/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
> new file mode 100644
> index 0000000..1f33cbc
> --- /dev/null
> +++ b/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
...
> + /* Warning: you need both eth1 & 0 PHY initialized
> + (i.e having them up does the tweak)
> + for poweroff to shutdown otherwise it reboots */
nit: multi-line comments are like this:
/*
* Warning: you need both eth1 & 0 PHY initialized (i.e having
* them up does the tweak) for poweroff to shutdown otherwise it
* reboots
*/
If that's the only thing left, I'll fix it up when I pull it in. No
need to respin just for this.
thx,
Jason.
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS
2014-07-23 23:27 ` Jason Cooper
@ 2014-07-23 23:29 ` Andrew Lunn
2014-07-23 23:42 ` Jason Cooper
0 siblings, 1 reply; 30+ messages in thread
From: Andrew Lunn @ 2014-07-23 23:29 UTC (permalink / raw)
To: linux-arm-kernel
> On Wed, Jul 23, 2014 at 03:52:53PM -0700, Benoit Masson wrote:
> > The Lenovo Iomega ix4-300d is a 4-Bay sata NAS with dual Gb,
> > USB2.0 & 3.0, powered by a Marvell Armada XP MV78230 dual core CPU.
> >
> > http://shop.lenovo.com/fr/fr/servers/network-storage/lenovoemc/ix4-300d/
> > Signed-off-by: Benoit Masson <yahoo@perenite.com>
> > ---
> > arch/arm/boot/dts/Makefile | 3 +-
> > arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts | 284 ++++++++++++++++++++++++
> > 2 files changed, 286 insertions(+), 1 deletion(-)
> > create mode 100644 arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
> ...
> > diff --git a/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts b/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
> > new file mode 100644
> > index 0000000..1f33cbc
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
> ...
> > + /* Warning: you need both eth1 & 0 PHY initialized
> > + (i.e having them up does the tweak)
> > + for poweroff to shutdown otherwise it reboots */
>
> nit: multi-line comments are like this:
>
> /*
> * Warning: you need both eth1 & 0 PHY initialized (i.e having
> * them up does the tweak) for poweroff to shutdown otherwise it
> * reboots
> */
>
> If that's the only thing left, I'll fix it up when I pull it in. No
> need to respin just for this.
Hi Jason
We should not really leave the i2c compatibility string as it is.
Hopefully the OEM moved onto B1 stepping at some point. Although B1
devices will work with the workaround, you get better performance
without it.
We should wait for Gregory to look at the quirk and soc-id code.
Andrew
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS
2014-07-23 23:29 ` Andrew Lunn
@ 2014-07-23 23:42 ` Jason Cooper
2014-07-24 12:11 ` Jason Cooper
0 siblings, 1 reply; 30+ messages in thread
From: Jason Cooper @ 2014-07-23 23:42 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, Jul 24, 2014 at 01:29:09AM +0200, Andrew Lunn wrote:
> > On Wed, Jul 23, 2014 at 03:52:53PM -0700, Benoit Masson wrote:
> > > The Lenovo Iomega ix4-300d is a 4-Bay sata NAS with dual Gb,
> > > USB2.0 & 3.0, powered by a Marvell Armada XP MV78230 dual core CPU.
> > >
> > > http://shop.lenovo.com/fr/fr/servers/network-storage/lenovoemc/ix4-300d/
> > > Signed-off-by: Benoit Masson <yahoo@perenite.com>
> > > ---
> > > arch/arm/boot/dts/Makefile | 3 +-
> > > arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts | 284 ++++++++++++++++++++++++
> > > 2 files changed, 286 insertions(+), 1 deletion(-)
> > > create mode 100644 arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
> > ...
> > > diff --git a/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts b/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
> > > new file mode 100644
> > > index 0000000..1f33cbc
> > > --- /dev/null
> > > +++ b/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
> > ...
> > > + /* Warning: you need both eth1 & 0 PHY initialized
> > > + (i.e having them up does the tweak)
> > > + for poweroff to shutdown otherwise it reboots */
> >
> > nit: multi-line comments are like this:
> >
> > /*
> > * Warning: you need both eth1 & 0 PHY initialized (i.e having
> > * them up does the tweak) for poweroff to shutdown otherwise it
> > * reboots
> > */
> >
> > If that's the only thing left, I'll fix it up when I pull it in. No
> > need to respin just for this.
>
> Hi Jason
>
> We should not really leave the i2c compatibility string as it is.
Agreed.
> Hopefully the OEM moved onto B1 stepping at some point. Although B1
> devices will work with the workaround, you get better performance
> without it.
>
> We should wait for Gregory to look at the quirk and soc-id code.
Yep.
thx,
Jason.
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS
2014-07-23 23:42 ` Jason Cooper
@ 2014-07-24 12:11 ` Jason Cooper
0 siblings, 0 replies; 30+ messages in thread
From: Jason Cooper @ 2014-07-24 12:11 UTC (permalink / raw)
To: linux-arm-kernel
Benoit,
> On Thu, Jul 24, 2014 at 01:29:09AM +0200, Andrew Lunn wrote:
> >
> > We should not really leave the i2c compatibility string as it is.
> >
If you were to apply
ed2d859119f9 ARM: mvebu: Fix broken SoC ID detection
And then remove the -a0 i2c compatible string, does your board boot?
The referenced patch has been in mainline since v3.16-rc3, so you could
just try that kernel w/o the compatible string.
thx,
Jason.
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS
2014-07-23 22:52 [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS Benoit Masson
2014-07-23 23:27 ` Jason Cooper
@ 2014-07-24 4:00 ` Baruch Siach
2014-07-26 17:26 ` Andrew Lunn
2 siblings, 0 replies; 30+ messages in thread
From: Baruch Siach @ 2014-07-24 4:00 UTC (permalink / raw)
To: linux-arm-kernel
Hi Benoit,
On Wed, Jul 23, 2014 at 03:52:53PM -0700, Benoit Masson wrote:
> The Lenovo Iomega ix4-300d is a 4-Bay sata NAS with dual Gb,
> USB2.0 & 3.0, powered by a Marvell Armada XP MV78230 dual core CPU.
>
> http://shop.lenovo.com/fr/fr/servers/network-storage/lenovoemc/ix4-300d/
I guess most users would prefer an English URL:
http://shop.lenovo.com/us/en/servers/network-storage/lenovoemc/ix4-300d/
Also, the accepted convention is to add a blank line between the commit log
body and the Signed-off-by line.
> Signed-off-by: Benoit Masson <yahoo@perenite.com>
baruch
--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS
2014-07-23 22:52 [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS Benoit Masson
2014-07-23 23:27 ` Jason Cooper
2014-07-24 4:00 ` Baruch Siach
@ 2014-07-26 17:26 ` Andrew Lunn
2014-07-26 23:55 ` Benoit Masson
2 siblings, 1 reply; 30+ messages in thread
From: Andrew Lunn @ 2014-07-26 17:26 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Jul 23, 2014 at 03:52:53PM -0700, Benoit Masson wrote:
> The Lenovo Iomega ix4-300d is a 4-Bay sata NAS with dual Gb,
> USB2.0 & 3.0, powered by a Marvell Armada XP MV78230 dual core CPU.
Hi Benoit
Please could you change the i2c compatible string, and retest
including the two patches i just sent.
Once that is done, i think your patch is ready for acceptance. It is
however a bit late for this cycle, so i guess Jason will keep hold of
it until the next cycle.
Thanks
Andrew
>
> http://shop.lenovo.com/fr/fr/servers/network-storage/lenovoemc/ix4-300d/
> Signed-off-by: Benoit Masson <yahoo@perenite.com>
> ---
> arch/arm/boot/dts/Makefile | 3 +-
> arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts | 284 ++++++++++++++++++++++++
> 2 files changed, 286 insertions(+), 1 deletion(-)
> create mode 100644 arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index adb5ed9..4429495 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -437,8 +437,9 @@ dtb-$(CONFIG_MACH_ARMADA_XP) += \
> armada-xp-axpwifiap.dtb \
> armada-xp-db.dtb \
> armada-xp-gp.dtb \
> - armada-xp-netgear-rn2120.dtb \
> + armada-xp-lenovo-ix4-300d.dtb \
> armada-xp-matrix.dtb \
> + armada-xp-netgear-rn2120.dtb \
> armada-xp-openblocks-ax3-4.dtb
> dtb-$(CONFIG_MACH_DOVE) += dove-cm-a510.dtb \
> dove-cubox.dtb \
> diff --git a/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts b/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
> new file mode 100644
> index 0000000..1f33cbc
> --- /dev/null
> +++ b/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
> @@ -0,0 +1,284 @@
> +/*
> + * Device Tree file for Lenovo Iomega ix4-300d
> + *
> + * Copyright (C) 2014, Benoit Masson <yahoo@perenite.com>
> + *
> + * 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-xp-mv78230.dtsi"
> +
> +/ {
> + model = "Lenovo Iomega ix4-300d";
> + compatible = "lenovo,ix4-300d", "marvell,armadaxp-mv78230",
> + "marvell,armadaxp", "marvell,armada-370-xp";
> +
> + chosen {
> + bootargs = "console=ttyS0,115200 earlyprintk";
> + stdout-path = "/soc/internal-regs/serial at 12000";
> + };
> +
> + memory {
> + device_type = "memory";
> + reg = <0 0x00000000 0 0x20000000>; /* 512MB */
> + };
> +
> + soc {
> + ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xd0000000 0x100000
> + MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000>;
> +
> + pcie-controller {
> + status = "okay";
> +
> + /* Quad port sata: Marvell 88SX7042 */
> + pcie at 1,0 {
> + /* Port 0, Lane 0 */
> + status = "okay";
> + };
> +
> + /* USB 3.0 xHCI controller: NEC D720200F1 */
> + pcie at 5,0 {
> + /* Port 1, Lane 0 */
> + status = "okay";
> + };
> + };
> +
> + internal-regs {
> + pinctrl {
> + poweroff_pin: poweroff-pin {
> + marvell,pins = "mpp24";
> + marvell,function = "gpio";
> + };
> +
> + power_button_pin: power-button-pin {
> + marvell,pins = "mpp44";
> + marvell,function = "gpio";
> + };
> +
> + reset_button_pin: reset-button-pin {
> + marvell,pins = "mpp45";
> + marvell,function = "gpio";
> + };
> + select_button_pin: select-button-pin {
> + marvell,pins = "mpp41";
> + marvell,function = "gpio";
> + };
> +
> + scroll_button_pin: scroll-button-pin {
> + marvell,pins = "mpp42";
> + marvell,function = "gpio";
> + };
> +
> + hdd_led_pin: hdd-led-pin {
> + marvell,pins = "mpp26";
> + marvell,function = "gpio";
> + };
> + };
> +
> + serial at 12000 {
> + status = "okay";
> + };
> +
> + mdio {
> + phy0: ethernet-phy at 0 { /* Marvell 88E1318 */
> + reg = <0>;
> + };
> +
> + phy1: ethernet-phy at 1 { /* Marvell 88E1318 */
> + reg = <1>;
> + };
> + };
> +
> + ethernet at 70000 {
> + status = "okay";
> + phy = <&phy0>;
> + phy-mode = "rgmii-id";
> + };
> +
> + ethernet at 74000 {
> + status = "okay";
> + phy = <&phy1>;
> + phy-mode = "rgmii-id";
> + };
> +
> + usb at 50000 {
> + status = "okay";
> + };
> +
> + usb at 51000 {
> + status = "okay";
> + };
> +
> + i2c at 11000 {
> + compatible = "marvell,mv78230-a0-i2c",
> + "marvell,mv64xxx-i2c";
> + clock-frequency = <400000>;
> + status = "okay";
> +
> + adt7473 at 2e {
> + compatible = "adi,adt7473";
> + reg = <0x2e>;
> + };
> +
> + pcf8563 at 51 {
> + compatible = "nxp,pcf8563";
> + reg = <0x51>;
> + };
> +
> + };
> +
> + nand at d0000 {
> + status = "okay";
> + num-cs = <1>;
> + marvell,nand-keep-config;
> + marvell,nand-enable-arbiter;
> + nand-on-flash-bbt;
> +
> + partition at 0 {
> + label = "u-boot";
> + reg = <0x0000000 0xe0000>;
> + read-only;
> + };
> +
> + partition at e0000 {
> + label = "u-boot-env";
> + reg = <0xe0000 0x20000>;
> + read-only;
> + };
> +
> + partition at 100000 {
> + label = "u-boot-env2";
> + reg = <0x100000 0x20000>;
> + read-only;
> + };
> +
> + partition at 120000 {
> + label = "zImage";
> + reg = <0x120000 0x400000>;
> + };
> +
> + partition at 520000 {
> + label = "initrd";
> + reg = <0x520000 0x400000>;
> + };
> +
> + partition at xE00000 {
> + label = "boot";
> + reg = <0xE00000 0x3F200000>;
> + };
> +
> + partition at flash {
> + label = "flash";
> + reg = <0x0 0x40000000>;
> + };
> + };
> + };
> + };
> +
> + gpio-keys {
> + compatible = "gpio-keys";
> + pinctrl-0 = <&power_button_pin &reset_button_pin
> + &select_button_pin &scroll_button_pin>;
> + pinctrl-names = "default";
> +
> + power-button {
> + label = "Power Button";
> + linux,code = <KEY_POWER>;
> + gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
> + };
> +
> + reset-button {
> + label = "Reset Button";
> + linux,code = <KEY_RESTART>;
> + gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
> + };
> +
> + select-button {
> + label = "Select Button";
> + linux,code = <BTN_SELECT>;
> + gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
> + };
> +
> + scroll-button {
> + label = "Scroll Button";
> + linux,code = <KEY_SCROLLDOWN>;
> + gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
> + };
> + };
> +
> + spi3 {
> + compatible = "spi-gpio";
> + status = "okay";
> + gpio-sck = <&gpio0 25 0>;
> + gpio-mosi = <&gpio1 15 0>; /*gpio 47*/
> + cs-gpios = <&gpio0 27 0 >;
> + num-chipselects = <1>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + gpio2: gpio2 at 0 {
> + compatible = "fairchild,74hc595";
> + gpio-controller;
> + #gpio-cells = <2>;
> + reg = <0>;
> + registers-number = <2>;
> + spi-max-frequency = <100000>;
> + };
> + };
> +
> + gpio-leds {
> + compatible = "gpio-leds";
> + pinctrl-0 = <&hdd_led_pin>;
> + pinctrl-names = "default";
> +
> + hdd-led {
> + label = "ix4-300d:hdd:blue";
> + gpios = <&gpio0 26 GPIO_ACTIVE_HIGH>;
> + default-state = "off";
> + };
> +
> + power-led {
> + label = "ix4-300d:power:white";
> + gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
> + /* init blinking while booting */
> + linux,default-trigger = "timer";
> + default-state = "on";
> + };
> +
> + sysfail-led {
> + label = "ix4-300d:sysfail:red";
> + gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
> + default-state = "off";
> + };
> +
> + sys-led {
> + label = "ix4-300d:sys:blue";
> + gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
> + default-state = "off";
> + };
> +
> + hddfail-led {
> + label = "ix4-300d:hddfail:red";
> + gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>;
> + default-state = "off";
> + };
> +
> + };
> +
> + /* Warning: you need both eth1 & 0 PHY initialized
> + (i.e having them up does the tweak)
> + for poweroff to shutdown otherwise it reboots */
> + gpio-poweroff {
> + compatible = "gpio-poweroff";
> + pinctrl-0 = <&poweroff_pin>;
> + pinctrl-names = "default";
> + gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>;
> + };
> +};
> --
> 1.9.1
>
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS
2014-07-26 17:26 ` Andrew Lunn
@ 2014-07-26 23:55 ` Benoit Masson
0 siblings, 0 replies; 30+ messages in thread
From: Benoit Masson @ 2014-07-26 23:55 UTC (permalink / raw)
To: linux-arm-kernel
Andrew, Jason,
Le 26 juil. 2014 ? 19:26, Andrew Lunn <andrew@lunn.ch> a ?crit :
> On Wed, Jul 23, 2014 at 03:52:53PM -0700, Benoit Masson wrote:
>> The Lenovo Iomega ix4-300d is a 4-Bay sata NAS with dual Gb,
>> USB2.0 & 3.0, powered by a Marvell Armada XP MV78230 dual core CPU.
>
> Hi Benoit
>
> Please could you change the i2c compatible string, and retest
> including the two patches i just sent.
>
I confirm the V3 patch i sent (sorry for the first patch email which was wrong) is working with your patch
> Once that is done, i think your patch is ready for acceptance. It is
> however a bit late for this cycle, so i guess Jason will keep hold of
> it until the next cycle.
>
Ok, jason, I did include the multi-line comment remarks in V3 patch, also I didn't resend the Lenovo vendor list patch, that was already acked I hope It's fine.
Benoit
> Thanks
> Andrew
>
>
>>
>> http://shop.lenovo.com/fr/fr/servers/network-storage/lenovoemc/ix4-300d/
>> Signed-off-by: Benoit Masson <yahoo@perenite.com>
>> ---
>> arch/arm/boot/dts/Makefile | 3 +-
>> arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts | 284 ++++++++++++++++++++++++
>> 2 files changed, 286 insertions(+), 1 deletion(-)
>> create mode 100644 arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
>>
>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>> index adb5ed9..4429495 100644
>> --- a/arch/arm/boot/dts/Makefile
>> +++ b/arch/arm/boot/dts/Makefile
>> @@ -437,8 +437,9 @@ dtb-$(CONFIG_MACH_ARMADA_XP) += \
>> armada-xp-axpwifiap.dtb \
>> armada-xp-db.dtb \
>> armada-xp-gp.dtb \
>> - armada-xp-netgear-rn2120.dtb \
>> + armada-xp-lenovo-ix4-300d.dtb \
>> armada-xp-matrix.dtb \
>> + armada-xp-netgear-rn2120.dtb \
>> armada-xp-openblocks-ax3-4.dtb
>> dtb-$(CONFIG_MACH_DOVE) += dove-cm-a510.dtb \
>> dove-cubox.dtb \
>> diff --git a/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts b/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
>> new file mode 100644
>> index 0000000..1f33cbc
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
>> @@ -0,0 +1,284 @@
>> +/*
>> + * Device Tree file for Lenovo Iomega ix4-300d
>> + *
>> + * Copyright (C) 2014, Benoit Masson <yahoo@perenite.com>
>> + *
>> + * 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-xp-mv78230.dtsi"
>> +
>> +/ {
>> + model = "Lenovo Iomega ix4-300d";
>> + compatible = "lenovo,ix4-300d", "marvell,armadaxp-mv78230",
>> + "marvell,armadaxp", "marvell,armada-370-xp";
>> +
>> + chosen {
>> + bootargs = "console=ttyS0,115200 earlyprintk";
>> + stdout-path = "/soc/internal-regs/serial at 12000";
>> + };
>> +
>> + memory {
>> + device_type = "memory";
>> + reg = <0 0x00000000 0 0x20000000>; /* 512MB */
>> + };
>> +
>> + soc {
>> + ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xd0000000 0x100000
>> + MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000>;
>> +
>> + pcie-controller {
>> + status = "okay";
>> +
>> + /* Quad port sata: Marvell 88SX7042 */
>> + pcie at 1,0 {
>> + /* Port 0, Lane 0 */
>> + status = "okay";
>> + };
>> +
>> + /* USB 3.0 xHCI controller: NEC D720200F1 */
>> + pcie at 5,0 {
>> + /* Port 1, Lane 0 */
>> + status = "okay";
>> + };
>> + };
>> +
>> + internal-regs {
>> + pinctrl {
>> + poweroff_pin: poweroff-pin {
>> + marvell,pins = "mpp24";
>> + marvell,function = "gpio";
>> + };
>> +
>> + power_button_pin: power-button-pin {
>> + marvell,pins = "mpp44";
>> + marvell,function = "gpio";
>> + };
>> +
>> + reset_button_pin: reset-button-pin {
>> + marvell,pins = "mpp45";
>> + marvell,function = "gpio";
>> + };
>> + select_button_pin: select-button-pin {
>> + marvell,pins = "mpp41";
>> + marvell,function = "gpio";
>> + };
>> +
>> + scroll_button_pin: scroll-button-pin {
>> + marvell,pins = "mpp42";
>> + marvell,function = "gpio";
>> + };
>> +
>> + hdd_led_pin: hdd-led-pin {
>> + marvell,pins = "mpp26";
>> + marvell,function = "gpio";
>> + };
>> + };
>> +
>> + serial at 12000 {
>> + status = "okay";
>> + };
>> +
>> + mdio {
>> + phy0: ethernet-phy at 0 { /* Marvell 88E1318 */
>> + reg = <0>;
>> + };
>> +
>> + phy1: ethernet-phy at 1 { /* Marvell 88E1318 */
>> + reg = <1>;
>> + };
>> + };
>> +
>> + ethernet at 70000 {
>> + status = "okay";
>> + phy = <&phy0>;
>> + phy-mode = "rgmii-id";
>> + };
>> +
>> + ethernet at 74000 {
>> + status = "okay";
>> + phy = <&phy1>;
>> + phy-mode = "rgmii-id";
>> + };
>> +
>> + usb at 50000 {
>> + status = "okay";
>> + };
>> +
>> + usb at 51000 {
>> + status = "okay";
>> + };
>> +
>> + i2c at 11000 {
>> + compatible = "marvell,mv78230-a0-i2c",
>> + "marvell,mv64xxx-i2c";
>> + clock-frequency = <400000>;
>> + status = "okay";
>> +
>> + adt7473 at 2e {
>> + compatible = "adi,adt7473";
>> + reg = <0x2e>;
>> + };
>> +
>> + pcf8563 at 51 {
>> + compatible = "nxp,pcf8563";
>> + reg = <0x51>;
>> + };
>> +
>> + };
>> +
>> + nand at d0000 {
>> + status = "okay";
>> + num-cs = <1>;
>> + marvell,nand-keep-config;
>> + marvell,nand-enable-arbiter;
>> + nand-on-flash-bbt;
>> +
>> + partition at 0 {
>> + label = "u-boot";
>> + reg = <0x0000000 0xe0000>;
>> + read-only;
>> + };
>> +
>> + partition at e0000 {
>> + label = "u-boot-env";
>> + reg = <0xe0000 0x20000>;
>> + read-only;
>> + };
>> +
>> + partition at 100000 {
>> + label = "u-boot-env2";
>> + reg = <0x100000 0x20000>;
>> + read-only;
>> + };
>> +
>> + partition at 120000 {
>> + label = "zImage";
>> + reg = <0x120000 0x400000>;
>> + };
>> +
>> + partition at 520000 {
>> + label = "initrd";
>> + reg = <0x520000 0x400000>;
>> + };
>> +
>> + partition at xE00000 {
>> + label = "boot";
>> + reg = <0xE00000 0x3F200000>;
>> + };
>> +
>> + partition at flash {
>> + label = "flash";
>> + reg = <0x0 0x40000000>;
>> + };
>> + };
>> + };
>> + };
>> +
>> + gpio-keys {
>> + compatible = "gpio-keys";
>> + pinctrl-0 = <&power_button_pin &reset_button_pin
>> + &select_button_pin &scroll_button_pin>;
>> + pinctrl-names = "default";
>> +
>> + power-button {
>> + label = "Power Button";
>> + linux,code = <KEY_POWER>;
>> + gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
>> + };
>> +
>> + reset-button {
>> + label = "Reset Button";
>> + linux,code = <KEY_RESTART>;
>> + gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
>> + };
>> +
>> + select-button {
>> + label = "Select Button";
>> + linux,code = <BTN_SELECT>;
>> + gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
>> + };
>> +
>> + scroll-button {
>> + label = "Scroll Button";
>> + linux,code = <KEY_SCROLLDOWN>;
>> + gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
>> + };
>> + };
>> +
>> + spi3 {
>> + compatible = "spi-gpio";
>> + status = "okay";
>> + gpio-sck = <&gpio0 25 0>;
>> + gpio-mosi = <&gpio1 15 0>; /*gpio 47*/
>> + cs-gpios = <&gpio0 27 0 >;
>> + num-chipselects = <1>;
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + gpio2: gpio2 at 0 {
>> + compatible = "fairchild,74hc595";
>> + gpio-controller;
>> + #gpio-cells = <2>;
>> + reg = <0>;
>> + registers-number = <2>;
>> + spi-max-frequency = <100000>;
>> + };
>> + };
>> +
>> + gpio-leds {
>> + compatible = "gpio-leds";
>> + pinctrl-0 = <&hdd_led_pin>;
>> + pinctrl-names = "default";
>> +
>> + hdd-led {
>> + label = "ix4-300d:hdd:blue";
>> + gpios = <&gpio0 26 GPIO_ACTIVE_HIGH>;
>> + default-state = "off";
>> + };
>> +
>> + power-led {
>> + label = "ix4-300d:power:white";
>> + gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
>> + /* init blinking while booting */
>> + linux,default-trigger = "timer";
>> + default-state = "on";
>> + };
>> +
>> + sysfail-led {
>> + label = "ix4-300d:sysfail:red";
>> + gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
>> + default-state = "off";
>> + };
>> +
>> + sys-led {
>> + label = "ix4-300d:sys:blue";
>> + gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
>> + default-state = "off";
>> + };
>> +
>> + hddfail-led {
>> + label = "ix4-300d:hddfail:red";
>> + gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>;
>> + default-state = "off";
>> + };
>> +
>> + };
>> +
>> + /* Warning: you need both eth1 & 0 PHY initialized
>> + (i.e having them up does the tweak)
>> + for poweroff to shutdown otherwise it reboots */
>> + gpio-poweroff {
>> + compatible = "gpio-poweroff";
>> + pinctrl-0 = <&poweroff_pin>;
>> + pinctrl-names = "default";
>> + gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>;
>> + };
>> +};
>> --
>> 1.9.1
>>
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS
@ 2014-07-26 23:47 Benoit Masson
2014-07-27 1:52 ` Andrew Lunn
0 siblings, 1 reply; 30+ messages in thread
From: Benoit Masson @ 2014-07-26 23:47 UTC (permalink / raw)
To: linux-arm-kernel
The Lenovo Iomega ix4-300d is a 4-Bay sata NAS with dual Gb,
USB2.0 & 3.0, powered by a Marvell Armada XP MV78230 dual core CPU.
http://shop.lenovo.com/us/en/servers/network-storage/lenovoemc/ix4-300d/
Signed-off-by: Benoit Masson <yahoo@perenite.com>
---
arch/arm/boot/dts/Makefile | 3 +-
arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts | 286 ++++++++++++++++++++++++
2 files changed, 288 insertions(+), 1 deletion(-)
create mode 100644 arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index adb5ed9..4429495 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -437,8 +437,9 @@ dtb-$(CONFIG_MACH_ARMADA_XP) += \
armada-xp-axpwifiap.dtb \
armada-xp-db.dtb \
armada-xp-gp.dtb \
- armada-xp-netgear-rn2120.dtb \
+ armada-xp-lenovo-ix4-300d.dtb \
armada-xp-matrix.dtb \
+ armada-xp-netgear-rn2120.dtb \
armada-xp-openblocks-ax3-4.dtb
dtb-$(CONFIG_MACH_DOVE) += dove-cm-a510.dtb \
dove-cubox.dtb \
diff --git a/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts b/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
new file mode 100644
index 0000000..cee0ef4
--- /dev/null
+++ b/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
@@ -0,0 +1,286 @@
+/*
+ * Device Tree file for Lenovo Iomega ix4-300d
+ *
+ * Copyright (C) 2014, Benoit Masson <yahoo@perenite.com>
+ *
+ * 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-xp-mv78230.dtsi"
+
+/ {
+ model = "Lenovo Iomega ix4-300d";
+ compatible = "lenovo,ix4-300d", "marvell,armadaxp-mv78230",
+ "marvell,armadaxp", "marvell,armada-370-xp";
+
+ chosen {
+ bootargs = "console=ttyS0,115200 earlyprintk";
+ stdout-path = "/soc/internal-regs/serial at 12000";
+ };
+
+ memory {
+ device_type = "memory";
+ reg = <0 0x00000000 0 0x20000000>; /* 512MB */
+ };
+
+ soc {
+ ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xd0000000 0x100000
+ MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000>;
+
+ pcie-controller {
+ status = "okay";
+
+ /* Quad port sata: Marvell 88SX7042 */
+ pcie at 1,0 {
+ /* Port 0, Lane 0 */
+ status = "okay";
+ };
+
+ /* USB 3.0 xHCI controller: NEC D720200F1 */
+ pcie at 5,0 {
+ /* Port 1, Lane 0 */
+ status = "okay";
+ };
+ };
+
+ internal-regs {
+ pinctrl {
+ poweroff_pin: poweroff-pin {
+ marvell,pins = "mpp24";
+ marvell,function = "gpio";
+ };
+
+ power_button_pin: power-button-pin {
+ marvell,pins = "mpp44";
+ marvell,function = "gpio";
+ };
+
+ reset_button_pin: reset-button-pin {
+ marvell,pins = "mpp45";
+ marvell,function = "gpio";
+ };
+ select_button_pin: select-button-pin {
+ marvell,pins = "mpp41";
+ marvell,function = "gpio";
+ };
+
+ scroll_button_pin: scroll-button-pin {
+ marvell,pins = "mpp42";
+ marvell,function = "gpio";
+ };
+
+ hdd_led_pin: hdd-led-pin {
+ marvell,pins = "mpp26";
+ marvell,function = "gpio";
+ };
+ };
+
+ serial at 12000 {
+ status = "okay";
+ };
+
+ mdio {
+ phy0: ethernet-phy at 0 { /* Marvell 88E1318 */
+ reg = <0>;
+ };
+
+ phy1: ethernet-phy at 1 { /* Marvell 88E1318 */
+ reg = <1>;
+ };
+ };
+
+ ethernet at 70000 {
+ status = "okay";
+ phy = <&phy0>;
+ phy-mode = "rgmii-id";
+ };
+
+ ethernet at 74000 {
+ status = "okay";
+ phy = <&phy1>;
+ phy-mode = "rgmii-id";
+ };
+
+ usb at 50000 {
+ status = "okay";
+ };
+
+ usb at 51000 {
+ status = "okay";
+ };
+
+ i2c at 11000 {
+ compatible = "marvell,mv78230-a0-i2c",
+ "marvell,mv64xxx-i2c";
+ clock-frequency = <400000>;
+ status = "okay";
+
+ adt7473 at 2e {
+ compatible = "adi,adt7473";
+ reg = <0x2e>;
+ };
+
+ pcf8563 at 51 {
+ compatible = "nxp,pcf8563";
+ reg = <0x51>;
+ };
+
+ };
+
+ nand at d0000 {
+ status = "okay";
+ num-cs = <1>;
+ marvell,nand-keep-config;
+ marvell,nand-enable-arbiter;
+ nand-on-flash-bbt;
+
+ partition at 0 {
+ label = "u-boot";
+ reg = <0x0000000 0xe0000>;
+ read-only;
+ };
+
+ partition at e0000 {
+ label = "u-boot-env";
+ reg = <0xe0000 0x20000>;
+ read-only;
+ };
+
+ partition at 100000 {
+ label = "u-boot-env2";
+ reg = <0x100000 0x20000>;
+ read-only;
+ };
+
+ partition at 120000 {
+ label = "zImage";
+ reg = <0x120000 0x400000>;
+ };
+
+ partition at 520000 {
+ label = "initrd";
+ reg = <0x520000 0x400000>;
+ };
+
+ partition at xE00000 {
+ label = "boot";
+ reg = <0xE00000 0x3F200000>;
+ };
+
+ partition at flash {
+ label = "flash";
+ reg = <0x0 0x40000000>;
+ };
+ };
+ };
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+ pinctrl-0 = <&power_button_pin &reset_button_pin
+ &select_button_pin &scroll_button_pin>;
+ pinctrl-names = "default";
+
+ power-button {
+ label = "Power Button";
+ linux,code = <KEY_POWER>;
+ gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
+ };
+
+ reset-button {
+ label = "Reset Button";
+ linux,code = <KEY_RESTART>;
+ gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
+ };
+
+ select-button {
+ label = "Select Button";
+ linux,code = <BTN_SELECT>;
+ gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
+ };
+
+ scroll-button {
+ label = "Scroll Button";
+ linux,code = <KEY_SCROLLDOWN>;
+ gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ spi3 {
+ compatible = "spi-gpio";
+ status = "okay";
+ gpio-sck = <&gpio0 25 0>;
+ gpio-mosi = <&gpio1 15 0>; /*gpio 47*/
+ cs-gpios = <&gpio0 27 0 >;
+ num-chipselects = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ gpio2: gpio2 at 0 {
+ compatible = "fairchild,74hc595";
+ gpio-controller;
+ #gpio-cells = <2>;
+ reg = <0>;
+ registers-number = <2>;
+ spi-max-frequency = <100000>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+ pinctrl-0 = <&hdd_led_pin>;
+ pinctrl-names = "default";
+
+ hdd-led {
+ label = "ix4-300d:hdd:blue";
+ gpios = <&gpio0 26 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+
+ power-led {
+ label = "ix4-300d:power:white";
+ gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
+ /* init blinking while booting */
+ linux,default-trigger = "timer";
+ default-state = "on";
+ };
+
+ sysfail-led {
+ label = "ix4-300d:sysfail:red";
+ gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+
+ sys-led {
+ label = "ix4-300d:sys:blue";
+ gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+
+ hddfail-led {
+ label = "ix4-300d:hddfail:red";
+ gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+
+ };
+
+ /*
+ * Warning: you need both eth1 & 0 PHY initialized (i.e having
+ * them up does the tweak) for poweroff to shutdown otherwise it
+ * reboots
+ */
+ gpio-poweroff {
+ compatible = "gpio-poweroff";
+ pinctrl-0 = <&poweroff_pin>;
+ pinctrl-names = "default";
+ gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>;
+ };
+};
--
1.9.1
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS
2014-07-26 23:47 Benoit Masson
@ 2014-07-27 1:52 ` Andrew Lunn
2014-07-28 8:49 ` Arnd Bergmann
0 siblings, 1 reply; 30+ messages in thread
From: Andrew Lunn @ 2014-07-27 1:52 UTC (permalink / raw)
To: linux-arm-kernel
Hi Benoit
> + i2c at 11000 {
> + compatible = "marvell,mv78230-a0-i2c",
> + "marvell,mv64xxx-i2c";
The point of my patches is that you don't need the
"marvell,mv78230-a0-i2c". It will work out at runtime if the SoC is A0
stepping and automatically enable the workaround. Please test with
only "marvell,mv64xxx-i2c";
Andrew
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS
2014-07-27 1:52 ` Andrew Lunn
@ 2014-07-28 8:49 ` Arnd Bergmann
2014-07-28 10:50 ` Benoit Masson
0 siblings, 1 reply; 30+ messages in thread
From: Arnd Bergmann @ 2014-07-28 8:49 UTC (permalink / raw)
To: linux-arm-kernel
On Sunday 27 July 2014 03:52:44 Andrew Lunn wrote:
> Hi Benoit
>
> > + i2c at 11000 {
> > + compatible = "marvell,mv78230-a0-i2c",
> > + "marvell,mv64xxx-i2c";
>
> The point of my patches is that you don't need the
> "marvell,mv78230-a0-i2c". It will work out at runtime if the SoC is A0
> stepping and automatically enable the workaround. Please test with
> only "marvell,mv64xxx-i2c";
>
It should still list both "marvell,mv78230-i2c" and "marvell,mv64xxx-i2c",
as the generic name may not be enough to describe the register layout
correctly.
Arnd
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS
2014-07-28 8:49 ` Arnd Bergmann
@ 2014-07-28 10:50 ` Benoit Masson
2014-07-28 11:02 ` Arnd Bergmann
0 siblings, 1 reply; 30+ messages in thread
From: Benoit Masson @ 2014-07-28 10:50 UTC (permalink / raw)
To: linux-arm-kernel
Le 28 juil. 2014 ? 10:49, Arnd Bergmann <arnd@arndb.de> a ?crit :
> On Sunday 27 July 2014 03:52:44 Andrew Lunn wrote:
>> Hi Benoit
Hi Arnd,
>>
>>> + i2c at 11000 {
>>> + compatible = "marvell,mv78230-a0-i2c",
>>> + "marvell,mv64xxx-i2c";
>>
>> The point of my patches is that you don't need the
>> "marvell,mv78230-a0-i2c". It will work out at runtime if the SoC is A0
>> stepping and automatically enable the workaround. Please test with
>> only "marvell,mv64xxx-i2c";
>>
>
> It should still list both "marvell,mv78230-i2c" and "marvell,mv64xxx-i2c",
> as the generic name may not be enough to describe the register layout
> correctly.
I tend to disagree since the dts include the armada-xp.dtsi, which already declare
"i2c0: i2c at 11000 {
compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
reg = <0x11000 0x100>;
};
"
I tested the dts on the device and it does inherits the i2c declaration, did I miss something here ?
Benoit
> Arnd
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS
2014-07-28 10:50 ` Benoit Masson
@ 2014-07-28 11:02 ` Arnd Bergmann
2014-07-28 11:17 ` Benoit Masson
0 siblings, 1 reply; 30+ messages in thread
From: Arnd Bergmann @ 2014-07-28 11:02 UTC (permalink / raw)
To: linux-arm-kernel
On Monday 28 July 2014 12:50:47 Benoit Masson wrote:
> >
> > It should still list both "marvell,mv78230-i2c" and "marvell,mv64xxx-i2c",
> > as the generic name may not be enough to describe the register layout
> > correctly.
>
> I tend to disagree since the dts include the armada-xp.dtsi, which already declare
>
> "i2c0: i2c at 11000 {
> compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
> reg = <0x11000 0x100>;
> };
> "
>
> I tested the dts on the device and it does inherits the i2c declaration, did I miss something here ?
>
Inheriting from armada-xp.dtsi is fine, but if you manually set
"marvell,mv64xxx-i2c", that will override the old setting
and drop the "marvell,mv78230-i2c" part, which is bad because
it may break things later if it turns out that the mv78230
variant is not completely compatible with the old
mv64xxx variant.
Arnd
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS
2014-07-28 11:02 ` Arnd Bergmann
@ 2014-07-28 11:17 ` Benoit Masson
2014-07-28 11:37 ` Arnd Bergmann
0 siblings, 1 reply; 30+ messages in thread
From: Benoit Masson @ 2014-07-28 11:17 UTC (permalink / raw)
To: linux-arm-kernel
Le 28 juil. 2014 ? 13:02, Arnd Bergmann <arnd@arndb.de> a ?crit :
> On Monday 28 July 2014 12:50:47 Benoit Masson wrote:
>>>
>>> It should still list both "marvell,mv78230-i2c" and "marvell,mv64xxx-i2c",
>>> as the generic name may not be enough to describe the register layout
>>> correctly.
>>
>> I tend to disagree since the dts include the armada-xp.dtsi, which already declare
>>
>> "i2c0: i2c at 11000 {
>> compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
>> reg = <0x11000 0x100>;
>> };
>> "
>>
>> I tested the dts on the device and it does inherits the i2c declaration, did I miss something here ?
>>
>
> Inheriting from armada-xp.dtsi is fine, but if you manually set
> "marvell,mv64xxx-i2c", that will override the old setting
> and drop the "marvell,mv78230-i2c" part, which is bad because
> it may break things later if it turns out that the mv78230
> variant is not completely compatible with the old
> mv64xxx variant.
Ok then does this mean I can simply remove the "compatible" line to only inherits from armada-xp-dtsi ?
"i2c at 11000 {
clock-frequency = <400000>;
status = "okay";
"
Would this be enough ?
Benoit
>
> Arnd
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS
2014-07-28 11:17 ` Benoit Masson
@ 2014-07-28 11:37 ` Arnd Bergmann
0 siblings, 0 replies; 30+ messages in thread
From: Arnd Bergmann @ 2014-07-28 11:37 UTC (permalink / raw)
To: linux-arm-kernel
On Monday 28 July 2014 13:17:56 Benoit Masson wrote:
>
> Ok then does this mean I can simply remove the "compatible" line to only inherits from armada-xp-dtsi ?
>
> "i2c at 11000 {
> clock-frequency = <400000>;
> status = "okay";
> "
>
> Would this be enough ?
Yes, this looks ideal.
Arnd
^ permalink raw reply [flat|nested] 30+ messages in thread
end of thread, other threads:[~2014-07-28 13:43 UTC | newest]
Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-23 22:35 [PATCH 1/2] Adding Lenovo - Lenovo Group Ltd. to the vendor-prefixes list Benoit Masson
2014-07-23 22:32 ` Andrew Lunn
2014-07-23 22:35 ` [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS Benoit Masson
2014-07-23 22:42 ` Andrew Lunn
2014-07-23 22:56 ` Benoit Masson
2014-07-23 22:58 ` Andrew Lunn
[not found] ` <10A7C530-7CD2-4ED0-889A-7FAC1922320F@perenite.com>
2014-07-23 23:15 ` Jason Cooper
2014-07-24 12:21 ` Gregory CLEMENT
2014-07-24 12:45 ` Jason Cooper
2014-07-24 13:29 ` Andrew Lunn
[not found] ` <C2E7C8C1-1198-4785-AB9C-C27B5E27A8D4@perenite.com>
2014-07-24 14:07 ` Jason Cooper
2014-07-24 14:29 ` Andrew Lunn
2014-07-24 14:56 ` Jason Cooper
2014-07-24 12:45 ` [PATCH 1/2] Adding Lenovo - Lenovo Group Ltd. to the vendor-prefixes list Rob Herring
2014-07-28 13:43 ` Jason Cooper
2014-07-23 22:52 [PATCH 2/2] ARM: mvebu: Added dts defintion for Lenovo Iomega ix4-300d NAS Benoit Masson
2014-07-23 23:27 ` Jason Cooper
2014-07-23 23:29 ` Andrew Lunn
2014-07-23 23:42 ` Jason Cooper
2014-07-24 12:11 ` Jason Cooper
2014-07-24 4:00 ` Baruch Siach
2014-07-26 17:26 ` Andrew Lunn
2014-07-26 23:55 ` Benoit Masson
2014-07-26 23:47 Benoit Masson
2014-07-27 1:52 ` Andrew Lunn
2014-07-28 8:49 ` Arnd Bergmann
2014-07-28 10:50 ` Benoit Masson
2014-07-28 11:02 ` Arnd Bergmann
2014-07-28 11:17 ` Benoit Masson
2014-07-28 11:37 ` Arnd Bergmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).