[PATCH V3 10/10] ARM: Kirkwood: add DT support for Sheevaplug and Sheevaplug eSATA

Andrew Lunn andrew at lunn.ch
Tue May 21 15:13:15 EST 2013


On Tue, May 21, 2013 at 01:01:51AM +0200, Simon Baatz wrote:
> Signed-off-by: Simon Baatz <gmbnomis at gmail.com>
> ---
>  arch/arm/mach-kirkwood/Kconfig            |    7 +++++++
>  arch/arm/mach-kirkwood/Makefile           |    1 +
>  arch/arm/mach-kirkwood/board-dt.c         |    4 ++++
>  arch/arm/mach-kirkwood/board-sheevaplug.c |   27 +++++++++++++++++++++++++++
>  arch/arm/mach-kirkwood/common.h           |    5 +++++
>  5 files changed, 44 insertions(+)
>  create mode 100644 arch/arm/mach-kirkwood/board-sheevaplug.c
> 
> diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig
> index 7509a89..58518a2 100644
> --- a/arch/arm/mach-kirkwood/Kconfig
> +++ b/arch/arm/mach-kirkwood/Kconfig
> @@ -296,6 +296,13 @@ config MACH_READYNAS_DT
>  	  Say 'Y' here if you want your kernel to support the
>  	  NETGEAR ReadyNAS Duo v2 using Fattened Device Tree.
>  
> +config MACH_SHEEVAPLUG_DT
> +	bool "Marvell (eSATA) SheevaPlug (Flattened Device Tree)"
> +	select ARCH_KIRKWOOD_DT
> +	help
> +	  Say 'Y' here if you want your kernel to support the
> +	  Marvell (eSATA) SheevaPlug (Flattened Device Tree).
> +
>  config MACH_TOPKICK_DT
>  	bool "USI Topkick (Flattened Device Tree)"
>  	select ARCH_KIRKWOOD_DT
> diff --git a/arch/arm/mach-kirkwood/Makefile b/arch/arm/mach-kirkwood/Makefile
> index e1f3735..8846abf 100644
> --- a/arch/arm/mach-kirkwood/Makefile
> +++ b/arch/arm/mach-kirkwood/Makefile
> @@ -40,5 +40,6 @@ obj-$(CONFIG_MACH_NETSPACE_V2_DT)	+= board-ns2.o
>  obj-$(CONFIG_MACH_NSA310_DT)		+= board-nsa310.o
>  obj-$(CONFIG_MACH_OPENBLOCKS_A6_DT)	+= board-openblocks_a6.o
>  obj-$(CONFIG_MACH_READYNAS_DT)		+= board-readynas.o
> +obj-$(CONFIG_MACH_SHEEVAPLUG_DT)	+= board-sheevaplug.o
>  obj-$(CONFIG_MACH_TOPKICK_DT)		+= board-usi_topkick.o
>  obj-$(CONFIG_MACH_TS219_DT)		+= board-ts219.o tsx1x-common.o
> diff --git a/arch/arm/mach-kirkwood/board-dt.c b/arch/arm/mach-kirkwood/board-dt.c
> index e9647b8..a09dbac 100644
> --- a/arch/arm/mach-kirkwood/board-dt.c
> +++ b/arch/arm/mach-kirkwood/board-dt.c
> @@ -112,6 +112,9 @@ static void __init kirkwood_dt_init(void)
>  	if (of_machine_is_compatible("globalscale,guruplug"))
>  		guruplug_dt_init();
>  
> +	if (of_machine_is_compatible("globalscale,sheevaplug"))
> +		sheevaplug_dt_init();
> +
>  	if (of_machine_is_compatible("dlink,dns-kirkwood"))
>  		dnskw_init();
>  
> @@ -165,6 +168,7 @@ static void __init kirkwood_dt_init(void)
>  static const char * const kirkwood_dt_board_compat[] = {
>  	"globalscale,dreamplug",
>  	"globalscale,guruplug",
> +	"globalscale,sheevaplug",
>  	"dlink,dns-320",
>  	"dlink,dns-325",
>  	"iom,iconnect",
> diff --git a/arch/arm/mach-kirkwood/board-sheevaplug.c b/arch/arm/mach-kirkwood/board-sheevaplug.c
> new file mode 100644
> index 0000000..fa38937
> --- /dev/null
> +++ b/arch/arm/mach-kirkwood/board-sheevaplug.c
> @@ -0,0 +1,27 @@
> +/*
> + * arch/arm/mach-kirkwood/board-sheevaplug.c
> + *
> + * Marvell Sheevaplug Reference Board Init for drivers not converted to
> + * flattened device tree yet.
> + *
> + * This file is licensed under the terms of the GNU General Public
> + * License version 2.  This program is licensed "as is" without any
> + * warranty of any kind, whether express or implied.
> + */
> +
> +#include <linux/kernel.h>
> +#include <linux/init.h>
> +#include <linux/mv643xx_eth.h>
> +#include "common.h"
> +
> +static struct mv643xx_eth_platform_data sheevaplug_ge00_data = {
> +	.phy_addr	= MV643XX_ETH_PHY_ADDR(0),
> +};
> +
> +void __init sheevaplug_dt_init(void)
> +{
> +	/*
> +	 * Basic setup. Needs to be called early.
> +	 */
> +	kirkwood_ge00_init(&sheevaplug_ge00_data);
> +}
> diff --git a/arch/arm/mach-kirkwood/common.h b/arch/arm/mach-kirkwood/common.h
> index 21da3b1..974442e 100644
> --- a/arch/arm/mach-kirkwood/common.h
> +++ b/arch/arm/mach-kirkwood/common.h
> @@ -65,6 +65,11 @@ void guruplug_dt_init(void);
>  #else
>  static inline void guruplug_dt_init(void) {};
>  #endif
> +#ifdef CONFIG_MACH_SHEEVAPLUG_DT
> +void sheevaplug_dt_init(void);
> +#else
> +static inline void sheevaplug_dt_init(void) {};
> +#endif
>  #ifdef CONFIG_MACH_TS219_DT
>  void qnap_dt_ts219_init(void);
>  #else
> -- 
> 1.7.9.5
> 

Acked-by: Andrew Lunn <andrew at lunn.ch>


More information about the devicetree-discuss mailing list