From: simon.guinot@sequanux.org (Simon Guinot)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/9] ARM: kirkwood: convert d2net_v2 to DT
Date: Thu, 1 Aug 2013 11:07:21 +0200 [thread overview]
Message-ID: <20130801090721.GU9916@kw.sim.vm.gnt> (raw)
In-Reply-To: <1375346738-21596-2-git-send-email-thomas.petazzoni@free-electrons.com>
On Thu, Aug 01, 2013 at 10:45:30AM +0200, Thomas Petazzoni wrote:
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
> arch/arm/boot/dts/kirkwood-d2net-v2.dts | 204 ++++++++++++++++++++++++++++
> arch/arm/mach-kirkwood/Kconfig | 13 +-
> arch/arm/mach-kirkwood/Makefile | 2 +-
> arch/arm/mach-kirkwood/board-d2net_v2.c | 72 ++++++++++
> arch/arm/mach-kirkwood/board-dt.c | 3 +
> arch/arm/mach-kirkwood/common.h | 6 +
> arch/arm/mach-kirkwood/d2net_v2-setup.c | 231 --------------------------------
> 7 files changed, 293 insertions(+), 238 deletions(-)
> create mode 100644 arch/arm/boot/dts/kirkwood-d2net-v2.dts
> create mode 100644 arch/arm/mach-kirkwood/board-d2net_v2.c
> delete mode 100644 arch/arm/mach-kirkwood/d2net_v2-setup.c
>
> diff --git a/arch/arm/boot/dts/kirkwood-d2net-v2.dts b/arch/arm/boot/dts/kirkwood-d2net-v2.dts
> new file mode 100644
> index 0000000..f789ebd
> --- /dev/null
> +++ b/arch/arm/boot/dts/kirkwood-d2net-v2.dts
> @@ -0,0 +1,204 @@
> +/dts-v1/;
> +
> +/include/ "kirkwood.dtsi"
> +/include/ "kirkwood-6281.dtsi"
> +
> +/ {
> + model = "LaCie d2 Network v2";
> + compatible = "lacie,d2net_v2", "marvell,kirkwood-88f6281", "marvell,kirkwood";
> +
> + memory {
> + device_type = "memory";
> + reg = <0x00000000 0x20000000>; // FIXME
> + };
> +
> + chosen {
> + bootargs = "console=ttyS0,115200n8 earlyprintk";
> + };
> +
> + ocp at f1000000 {
> + pinctrl: pinctrl at 10000 {
> + pinctrl-0 = <&pmx_inhibit_poweroff
> + &pmx_cpld_leds
> + &pmx_sysrst>;
> +
> + pmx_spi: pmx-spi {
> + marvell,pins = "mpp0", "mpp1", "mpp2", "mpp3";
> + marvell,function = "spi";
> + };
> +
> + pmx_i2c: pmx-i2c {
> + marvell,pins = "mpp8", "mpp9";
> + marvell,function = "twsi0";
> + };
> +
> + pmx_uart: pmx-uart {
> + marvell,pins = "mpp10", "mpp11";
> + marvell,function = "uart0";
> + };
> +
> + pmx_leds: pmx-leds {
> + marvell,pins = "mpp12";
> + marvell,function = "gpo";
> + };
> +
> + pmx_keys: pmx-keys {
> + marvell,pins = "mpp13", "mpp15", "mpp34";
> + marvell,function = "gpio";
> + };
> +
> + pmx_poweroff: pmx-poweroff {
> + marvell,pins = "mpp7";
> + marvell,function = "gpo";
> + };
> +
> + pmx_sata_power: pmx-sata-power {
> + marvell,pins = "mpp16";
> + marvell,function = "gpio";
> + };
> +
> + pmx_sata: pmx-sata {
> + marvell,pins = "mpp21";
> + marvell,function = "sata0";
> + };
> +
> + pmx_sata: pmx-sata {
> + marvell,pins = "mpp14", "mpp24", "mpp26", "mpp28";
> + marvell,function = "gpio";
> + };
> +
> + pmx_sysrst: pmx-sysrst {
> + marvell,pins = "mpp6"
> + marvell,function = "sysrst";
> + };
> +
> + pmx_inhibit_poweroff: pmx-inhibit-poweroff {
> + marvell,pins = "mpp35"
> + marvell,function = "gpio";
> + };
> +
> + pmx_cpld_leds: pmx-cpld-leds {
> + marvell,pins = "mpp29", "mpp30";
> + marvell,function = "gpio";
> + };
> + };
> +
> + spi at 10600 {
> + status = "okay";
> + pinctrl-0 = <&pmx_spi>;
> + pinctrl-names = "default";
> +
> + flash at 0 {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + compatible = "mx25l4005a";
> + reg = <0>;
> + spi-max-frequency = <20000000>;
> + mode = <0>;
> +
> + partition at 0 {
> + reg = <0x0 0x80000>;
> + label = "u-boot";
> + };
> + };
> + };
> +
> + i2c at 11000 {
> + status = "okay";
> + pinctrl-0 = <&pmx_i2c>;
> + pinctrl-names = "default";
> +
> + eeprom at 50 {
> + compatible = "at,24c04";
> + pagesize = <16>;
> + reg = <0x50>;
> + };
> + };
> +
> + serial at 12000 {
> + status = "ok";
> + pinctrl-0 = <&pmx_uart>;
> + pinctrl-names = "default";
> + };
> +
> + sata at 80000 {
> + nr-ports = <2>;
> + status = "okay";
> + pinctrl-0 = <&pmx_sata>;
> + pinctrl-names = "default";
> + };
> +
> + ehci at 50000 {
> + pinctrl-0 = <&pmx_usb>;
> + pinctrl-names = "default";
> + };
> + };
> +
> + gpio_keys {
> + compatible = "gpio-keys";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + pinctrl-0 = <&pmx_keys>;
> + pinctrl-names = "default";
> +
> + button at 1 {
> + label = "Back power switch (on|auto)";
> + linux,code = <1>;
> + linux,input-type = <5>; /* EV_SW */
> + gpios = <&gpio0 13 0>;
> + };
> +
> + button at 2 {
> + label = "Back power switch (auto|off)";
> + linux,code = <2>;
> + linux,input-type = <5>; /* EV_SW */
> + gpios = <&gpio0 15 0>;
> + };
> +
> + button at 3 {
> + label = "Front Push Button";
> + linux,code = <116>; /* KEY_POWER */
> + gpios = <&gpio1 2 1>;
> + };
> + };
> +
> + gpio-leds {
> + compatible = "gpio-leds";
> + pinctrl-0 = <&pmx_led>;
> + pinctrl-names = "default";
> +
> + fail {
> + label = "d2net_v2:red:fail";
> + gpios = <&gpio0 12 0>;
> + default-state = "on";
> + };
> + };
> +
> + gpio_poweroff {
> + compatible = "gpio-poweroff";
> + pinctrl-0 = <&pmx_poweroff>;
> + pinctrl-names = "default";
> + gpios = <&gpio0 7 0>;
> + };
> +
> + regulators {
> + compatible = "simple-bus";
> + pinctrl-0 = <&pmx_sata_power>;
> + pinctrl-names = "default";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + sata0_power: regulator at 1 {
> + compatible = "regulator-fixed";
> + reg = <1>;
> + regulator-name = "SATA0 Power";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + enable-active-high;
> + regulator-always-on;
> + regulator-boot-on;
> + gpio = <&gpio0 16 0>;
> + };
> + };
> +};
> +
> diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig
> index b634f96..cb0c197 100644
> --- a/arch/arm/mach-kirkwood/Kconfig
> +++ b/arch/arm/mach-kirkwood/Kconfig
> @@ -2,12 +2,6 @@ if ARCH_KIRKWOOD
>
> menu "Marvell Kirkwood Implementations"
>
> -config MACH_D2NET_V2
> - bool "LaCie d2 Network v2 NAS Board"
> - help
> - Say 'Y' here if you want your kernel to support the
> - LaCie d2 Network v2 NAS.
> -
> config MACH_DOCKSTAR
> bool "Seagate FreeAgent DockStar"
> help
> @@ -146,6 +140,13 @@ config MACH_CLOUDBOX_DT
> Say 'Y' here if you want your kernel to support the LaCie
> CloudBox NAS, using Flattened Device Tree.
>
> +config MACH_D2NET_V2_DT
> + bool "LaCie d2 Network v2 NAS Board (Flattened Device Tree)"
> + select ARCH_KIRKWOOD_DT
> + help
> + Say 'Y' here if you want your kernel to support the
> + LaCie d2 Network v2 NAS, using Flattened Device Tree.
> +
> config MACH_DB88F628X_BP_DT
> bool "Marvell DB-88F628x-BP Development Board (Flattened Device Tree)"
> help
> diff --git a/arch/arm/mach-kirkwood/Makefile b/arch/arm/mach-kirkwood/Makefile
> index ac4cd75..d204380 100644
> --- a/arch/arm/mach-kirkwood/Makefile
> +++ b/arch/arm/mach-kirkwood/Makefile
> @@ -1,6 +1,5 @@
> obj-y += common.o irq.o pcie.o mpp.o
>
> -obj-$(CONFIG_MACH_D2NET_V2) += d2net_v2-setup.o lacie_v2-common.o
> obj-$(CONFIG_MACH_DOCKSTAR) += dockstar-setup.o
> obj-$(CONFIG_MACH_ESATA_SHEEVAPLUG) += sheevaplug-setup.o
> obj-$(CONFIG_MACH_GURUPLUG) += guruplug-setup.o
> @@ -20,6 +19,7 @@ obj-$(CONFIG_MACH_TS41X) += ts41x-setup.o tsx1x-common.o
>
> obj-$(CONFIG_ARCH_KIRKWOOD_DT) += board-dt.o
> obj-$(CONFIG_MACH_CLOUDBOX_DT) += board-ns2.o
> +obj-$(CONFIG_MACH_D2NET_V2_DT) += board-d2net_v2.o
> obj-$(CONFIG_MACH_DB88F628X_BP_DT) += board-db88f628x-bp.o
> obj-$(CONFIG_MACH_DLINK_KIRKWOOD_DT) += board-dnskw.o
> obj-$(CONFIG_MACH_DOCKSTAR_DT) += board-dockstar.o
> diff --git a/arch/arm/mach-kirkwood/board-d2net_v2.c b/arch/arm/mach-kirkwood/board-d2net_v2.c
> new file mode 100644
> index 0000000..8e2c52c
> --- /dev/null
> +++ b/arch/arm/mach-kirkwood/board-d2net_v2.c
> @@ -0,0 +1,72 @@
> +/*
> + * arch/arm/mach-kirkwood/d2net_v2-setup.c
> + *
> + * LaCie d2 Network Space v2 Board Setup
> + *
> + * Copyright (C) 2010 Simon Guinot <sguinot@lacie.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.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
> + */
> +
> +#include <linux/kernel.h>
> +#include <linux/init.h>
> +#include <linux/platform_device.h>
> +#include <linux/mv643xx_eth.h>
> +#include <asm/mach/arch.h>
> +#include <mach/kirkwood.h>
> +#include <linux/platform_data/leds-kirkwood-ns2.h>
> +#include "common.h"
> +
> +/*****************************************************************************
> + * Ethernet
> + ****************************************************************************/
> +
> +static struct mv643xx_eth_platform_data d2net_v2_ge00_data = {
> + .phy_addr = MV643XX_ETH_PHY_ADDR(8),
> +};
> +
> +/*****************************************************************************
> + * Dual-GPIO CPLD LEDs
> + ****************************************************************************/
> +
> +#define D2NET_V2_GPIO_BLUE_LED_SLOW 29
> +#define D2NET_V2_GPIO_BLUE_LED_CMD 30
> +
> +static struct ns2_led d2net_v2_led_pins[] = {
> + {
> + .name = "d2net_v2:blue:sata",
> + .cmd = D2NET_V2_GPIO_BLUE_LED_CMD,
> + .slow = D2NET_V2_GPIO_BLUE_LED_SLOW,
> + },
> +};
> +
> +static struct ns2_led_platform_data d2net_v2_leds_data = {
> + .num_leds = ARRAY_SIZE(d2net_v2_led_pins),
> + .leds = d2net_v2_led_pins,
> +};
> +
> +static struct platform_device d2net_v2_leds = {
> + .name = "leds-ns2",
> + .id = -1,
> + .dev = {
> + .platform_data = &d2net_v2_leds_data,
> + },
> +};
Hi Thomas,
Thanks for this patch.
Note that the leds-ns2 drivers has already been converted to DT. Please
have a look at Documentation/devicetree/bindings/leds/leds-ns2.txt or
arch/arm/boot/dts/kirkwood-ns2.dts.
Once the LED part will be removed, you may also consider to move the
mv643xx_eth initialization into board-ns2.c (and maybe also renaming
this file into board-lacie.c).
Regards,
Simon
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130801/17b02305/attachment.sig>
next prev parent reply other threads:[~2013-08-01 9:07 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-01 8:45 [PATCH 0/9] ARM: kirkwood: convert a few more boards to DT Thomas Petazzoni
2013-08-01 8:45 ` [PATCH 1/9] ARM: kirkwood: convert d2net_v2 " Thomas Petazzoni
2013-08-01 9:07 ` Simon Guinot [this message]
2013-08-01 9:26 ` Thomas Petazzoni
2013-08-01 8:45 ` [PATCH 2/9] ARM: kirkwood: remove support for legacy booting of Dockstar Thomas Petazzoni
2013-08-01 8:45 ` [PATCH 3/9] ARM: kirkwood: remove support for legacy booting of Guruplug Thomas Petazzoni
2013-08-01 8:45 ` [PATCH 4/9] ARM: kirkwood: remove support for legacy booting of Sheevaplug Thomas Petazzoni
2013-08-01 8:45 ` [PATCH 5/9] ARM: kirkwood: remove LaCie boards that are supported through DT Thomas Petazzoni
2013-08-01 8:45 ` [PATCH 6/9] ARM: kirkwood: convert the mv88f6281gtw_ge board to DT Thomas Petazzoni
2013-08-01 8:45 ` [PATCH 7/9] ARM: kirkwood: convert LaCie Net{2, 5}Big v2 platforms " Thomas Petazzoni
2013-08-01 9:24 ` Simon Guinot
2013-08-01 8:45 ` [PATCH 8/9] ARM: kirkwood: remove unused common code for LaCie platforms Thomas Petazzoni
2013-08-01 9:17 ` Simon Guinot
2013-08-01 9:25 ` Thomas Petazzoni
2013-08-01 8:45 ` [PATCH 9/9] ARM: kirkwood: update defconfig after DT conversions Thomas Petazzoni
2013-08-01 15:48 ` [PATCH 0/9] ARM: kirkwood: convert a few more boards to DT Andrew Lunn
2013-08-01 15:54 ` Thomas Petazzoni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130801090721.GU9916@kw.sim.vm.gnt \
--to=simon.guinot@sequanux.org \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox