linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH] ARM: initial DTS support for km_kirkwood
@ 2012-08-28 11:56 Valentin Longchamp
  2012-08-28 12:20 ` Andrew Lunn
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Valentin Longchamp @ 2012-08-28 11:56 UTC (permalink / raw)
  To: linux-arm-kernel

This is a first attempt to support the km_kirkwood reference design with
a device tree. This km_kirkwood design is present in many Keymile
products. It is based on the Marvell Bobcat SOC which integrates a
Kirkwood CPU next to a big L2 Ethernet Switch. The Kirkwood in the SOC
is very similar to the "normal" one, but there are a few differences.

This initial support is minimal: the kernel can boot with network
(ge0), serial port and NAND functional.

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Cc: Holger Brunck <holger.brunck@keymile.com>
---
 arch/arm/boot/dts/kirkwood-km_kirkwood.dts |   29 +++++++++++
 arch/arm/mach-kirkwood/Kconfig             |    7 +++
 arch/arm/mach-kirkwood/Makefile            |    1 +
 arch/arm/mach-kirkwood/Makefile.boot       |    1 +
 arch/arm/mach-kirkwood/board-dt.c          |    4 ++
 arch/arm/mach-kirkwood/board-km_kirkwood.c |   75 ++++++++++++++++++++++++++++
 arch/arm/mach-kirkwood/common.h            |    6 ++
 7 files changed, 123 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/boot/dts/kirkwood-km_kirkwood.dts
 create mode 100644 arch/arm/mach-kirkwood/board-km_kirkwood.c

diff --git a/arch/arm/boot/dts/kirkwood-km_kirkwood.dts b/arch/arm/boot/dts/kirkwood-km_kirkwood.dts
new file mode 100644
index 0000000..60118d5
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-km_kirkwood.dts
@@ -0,0 +1,29 @@
+/dts-v1/;
+
+/include/ "kirkwood.dtsi"
+
+/ {
+	model = "Keymile Kirkwood Reference Design";
+	compatible = "keymile,km_kirkwood", "marvell,kirkwood-88f6281", "marvell,kirkwood";
+
+	memory {
+		device_type = "memory";
+		reg = <0x00000000 0x08000000>;
+	};
+
+	chosen {
+		bootargs = "console=ttyS0,115200n8 earlyprintk";
+	};
+
+	ocp at f1000000 {
+		serial at 12000 {
+			clock-frequency = <200000000>;
+			status = "ok";
+		};
+
+		nand at 3000000 {
+			status = "ok";
+			chip-delay = <25>;
+		};
+	};
+};
diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig
index ca5c15a..a2a99a1 100644
--- a/arch/arm/mach-kirkwood/Kconfig
+++ b/arch/arm/mach-kirkwood/Kconfig
@@ -109,6 +109,13 @@ config MACH_LSXL_DT
 	  Buffalo Linkstation LS-XHL & LS-CHLv2 devices, using
 	  Flattened Device Tree.
 
+config MACH_KM_KIRKWOOD_DT
+	bool "Keymile Kirkwood Reference Design (Flattened Device Tree)"
+	select ARCH_KIRKWOOD_DT
+	help
+	  Say 'Y' here if you want your kernel to support the
+	  Keymile Kirkwood Reference Desgin, using Flattened Device Tree.
+
 config MACH_TS219
 	bool "QNAP TS-110, TS-119, TS-119P+, TS-210, TS-219, TS-219P and TS-219P+ Turbo NAS"
 	help
diff --git a/arch/arm/mach-kirkwood/Makefile b/arch/arm/mach-kirkwood/Makefile
index 055c85a..f23ed81 100644
--- a/arch/arm/mach-kirkwood/Makefile
+++ b/arch/arm/mach-kirkwood/Makefile
@@ -28,3 +28,4 @@ obj-$(CONFIG_MACH_IB62X0_DT)		+= board-ib62x0.o
 obj-$(CONFIG_MACH_TS219_DT)		+= board-ts219.o tsx1x-common.o
 obj-$(CONFIG_MACH_GOFLEXNET_DT)		+= board-goflexnet.o
 obj-$(CONFIG_MACH_LSXL_DT)		+= board-lsxl.o
+obj-$(CONFIG_MACH_KM_KIRKWOOD_DT)	+= board-km_kirkwood.o
diff --git a/arch/arm/mach-kirkwood/Makefile.boot b/arch/arm/mach-kirkwood/Makefile.boot
index a571755..4f1dc3c 100644
--- a/arch/arm/mach-kirkwood/Makefile.boot
+++ b/arch/arm/mach-kirkwood/Makefile.boot
@@ -11,3 +11,4 @@ dtb-$(CONFIG_MACH_TS219_DT)	+= kirkwood-qnap-ts219.dtb
 dtb-$(CONFIG_MACH_GOFLEXNET_DT) += kirkwood-goflexnet.dtb
 dtb-$(CONFIG_MACH_LSXL_DT) += kirkwood-lschlv2.dtb
 dtb-$(CONFIG_MACH_LSXL_DT) += kirkwood-lsxhl.dtb
+dtb-$(CONFIG_MACH_KM_KIRKWOOD_DT) += kirkwood-km_kirkwood.dtb
diff --git a/arch/arm/mach-kirkwood/board-dt.c b/arch/arm/mach-kirkwood/board-dt.c
index e4eb450..9decc97 100644
--- a/arch/arm/mach-kirkwood/board-dt.c
+++ b/arch/arm/mach-kirkwood/board-dt.c
@@ -87,6 +87,9 @@ static void __init kirkwood_dt_init(void)
 	if (of_machine_is_compatible("buffalo,lsxl"))
 		lsxl_init();
 
+	if (of_machine_is_compatible("keymile,km_kirkwood"))
+		km_kirkwood_init();
+
 	of_platform_populate(NULL, kirkwood_dt_match_table,
 			     kirkwood_auxdata_lookup, NULL);
 }
@@ -100,6 +103,7 @@ static const char *kirkwood_dt_board_compat[] = {
 	"qnap,ts219",
 	"seagate,goflexnet",
 	"buffalo,lsxl",
+	"keymile,km_kirkwood",
 	NULL
 };
 
diff --git a/arch/arm/mach-kirkwood/board-km_kirkwood.c b/arch/arm/mach-kirkwood/board-km_kirkwood.c
new file mode 100644
index 0000000..7a103db
--- /dev/null
+++ b/arch/arm/mach-kirkwood/board-km_kirkwood.c
@@ -0,0 +1,75 @@
+/*
+ * Copyright 2012 2012 KEYMILE AG, CH-3097 Bern
+ * Valentin Longchamp <valentin.longchamp@keymile.com>
+ *
+ * arch/arm/mach-kirkwood/board-km_kirkwood.c
+ *
+ * Keymile km_kirkwood Reference Desing 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/platform_device.h>
+#include <linux/ata_platform.h>
+#include <linux/mv643xx_eth.h>
+#include <linux/of.h>
+#include <linux/of_address.h>
+#include <linux/of_fdt.h>
+#include <linux/of_irq.h>
+#include <linux/of_platform.h>
+#include <linux/gpio.h>
+#include <linux/mtd/physmap.h>
+#include <linux/spi/flash.h>
+#include <linux/spi/spi.h>
+#include <linux/clk.h>
+#include <linux/clk-private.h>
+#include <asm/mach-types.h>
+#include <asm/mach/arch.h>
+#include <asm/mach/map.h>
+#include <mach/kirkwood.h>
+#include <mach/bridge-regs.h>
+#include <plat/mvsdio.h>
+#include "common.h"
+#include "mpp.h"
+
+static struct mv643xx_eth_platform_data km_kirkwood_ge00_data = {
+	.phy_addr	= MV643XX_ETH_PHY_ADDR(0),
+};
+
+static unsigned int km_kirkwood_mpp_config[] __initdata = {
+	MPP8_GPIO,	/* I2C SDA */
+	MPP9_GPIO,	/* I2C SCL */
+	0
+};
+
+void __init km_kirkwood_init(void)
+{
+	struct clk *sata_clk;
+	/*
+	 * Basic setup. Needs to be called early.
+	 */
+
+	kirkwood_mpp_conf(km_kirkwood_mpp_config);
+
+	/*
+	 * Our variant of kirkwood (integrated in the Bobcat) hangs on accessing
+	 * SATA bits (14-15) of the Clock Gating Control Register. Since these
+	 * devices are also not present in this variant, their clocks get
+	 * disabled because unused when clk_disable_unused() gets called.
+	 * That's why we change the flags to these clocks to CLK_IGNORE_UNUSED
+	 */
+	sata_clk = clk_get_sys("sata_mv.0", "0");
+	if (!IS_ERR(sata_clk))
+		sata_clk->flags |= CLK_IGNORE_UNUSED;
+	sata_clk = clk_get_sys("sata_mv.0", "1");
+	if (!IS_ERR(sata_clk))
+		sata_clk->flags |= CLK_IGNORE_UNUSED;
+
+	kirkwood_ehci_init();
+	kirkwood_ge00_init(&km_kirkwood_ge00_data);
+}
diff --git a/arch/arm/mach-kirkwood/common.h b/arch/arm/mach-kirkwood/common.h
index 304dd1a..219eecc 100644
--- a/arch/arm/mach-kirkwood/common.h
+++ b/arch/arm/mach-kirkwood/common.h
@@ -94,6 +94,12 @@ void lsxl_init(void);
 static inline void lsxl_init(void) {};
 #endif
 
+#ifdef CONFIG_MACH_KM_KIRKWOOD_DT
+void km_kirkwood_init(void);
+#else
+static inline void km_kirkwood_init(void) {};
+#endif
+
 /* early init functions not converted to fdt yet */
 char *kirkwood_id(void);
 void kirkwood_l2_init(void);
-- 
1.7.1

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

* [RFC PATCH] ARM: initial DTS support for km_kirkwood
  2012-08-28 11:56 [RFC PATCH] ARM: initial DTS support for km_kirkwood Valentin Longchamp
@ 2012-08-28 12:20 ` Andrew Lunn
  2012-08-29  8:04   ` Valentin Longchamp
  2012-08-28 17:23 ` Jason Cooper
  2012-09-03 17:56 ` Andrew Lunn
  2 siblings, 1 reply; 7+ messages in thread
From: Andrew Lunn @ 2012-08-28 12:20 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Valentin

> This is a first attempt to support the km_kirkwood reference design with
> a device tree. This km_kirkwood design is present in many Keymile
> products. It is based on the Marvell Bobcat SOC which integrates a
> Kirkwood CPU next to a big L2 Ethernet Switch. The Kirkwood in the SOC
> is very similar to the "normal" one, but there are a few differences.

Is there a public datasheet for this device?

> diff --git a/arch/arm/mach-kirkwood/board-km_kirkwood.c b/arch/arm/mach-kirkwood/board-km_kirkwood.c
> new file mode 100644
> index 0000000..7a103db
> --- /dev/null
> +++ b/arch/arm/mach-kirkwood/board-km_kirkwood.c
> @@ -0,0 +1,75 @@
> +/*
> + * Copyright 2012 2012 KEYMILE AG, CH-3097 Bern
> + * Valentin Longchamp <valentin.longchamp@keymile.com>
> + *
> + * arch/arm/mach-kirkwood/board-km_kirkwood.c
> + *
> + * Keymile km_kirkwood Reference Desing 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/platform_device.h>
> +#include <linux/ata_platform.h>
> +#include <linux/mv643xx_eth.h>
> +#include <linux/of.h>
> +#include <linux/of_address.h>
> +#include <linux/of_fdt.h>
> +#include <linux/of_irq.h>
> +#include <linux/of_platform.h>
> +#include <linux/gpio.h>
> +#include <linux/mtd/physmap.h>
> +#include <linux/spi/flash.h>
> +#include <linux/spi/spi.h>
> +#include <linux/clk.h>
> +#include <linux/clk-private.h>
> +#include <asm/mach-types.h>
> +#include <asm/mach/arch.h>
> +#include <asm/mach/map.h>
> +#include <mach/kirkwood.h>
> +#include <mach/bridge-regs.h>
> +#include <plat/mvsdio.h>
> +#include "common.h"
> +#include "mpp.h"

Please remove all the header files you don't need.

> +
> +static struct mv643xx_eth_platform_data km_kirkwood_ge00_data = {
> +	.phy_addr	= MV643XX_ETH_PHY_ADDR(0),
> +};
> +
> +static unsigned int km_kirkwood_mpp_config[] __initdata = {
> +	MPP8_GPIO,	/* I2C SDA */
> +	MPP9_GPIO,	/* I2C SCL */
> +	0
> +};
> +
> +void __init km_kirkwood_init(void)
> +{
> +	struct clk *sata_clk;
> +	/*
> +	 * Basic setup. Needs to be called early.
> +	 */
> +
> +	kirkwood_mpp_conf(km_kirkwood_mpp_config);
> +
> +	/*
> +	 * Our variant of kirkwood (integrated in the Bobcat) hangs on accessing
> +	 * SATA bits (14-15) of the Clock Gating Control Register. Since these
> +	 * devices are also not present in this variant, their clocks get
> +	 * disabled because unused when clk_disable_unused() gets called.

So there is no SATA at all on this SoC? Anything else missing which a
'normal' kirkwood has?

If there a way to identify the chipset? e.g. what does 

kirkwood_pcie_id(&dev, &rev);

give? It would be better to not create the clocks at all, if we could
determine at runtime the hardware was not there.

Apart from these comments, the patch looks good.

      Andrew

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

* [RFC PATCH] ARM: initial DTS support for km_kirkwood
  2012-08-28 11:56 [RFC PATCH] ARM: initial DTS support for km_kirkwood Valentin Longchamp
  2012-08-28 12:20 ` Andrew Lunn
@ 2012-08-28 17:23 ` Jason Cooper
  2012-08-29  8:15   ` Valentin Longchamp
  2012-09-03 17:56 ` Andrew Lunn
  2 siblings, 1 reply; 7+ messages in thread
From: Jason Cooper @ 2012-08-28 17:23 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Aug 28, 2012 at 01:56:16PM +0200, Valentin Longchamp wrote:
> This is a first attempt to support the km_kirkwood reference design with
> a device tree. This km_kirkwood design is present in many Keymile
> products. It is based on the Marvell Bobcat SOC which integrates a
> Kirkwood CPU next to a big L2 Ethernet Switch. The Kirkwood in the SOC
> is very similar to the "normal" one, but there are a few differences.
> 
> This initial support is minimal: the kernel can boot with network
> (ge0), serial port and NAND functional.
> 
> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
> Cc: Holger Brunck <holger.brunck@keymile.com>
> ---
>  arch/arm/boot/dts/kirkwood-km_kirkwood.dts |   29 +++++++++++
>  arch/arm/mach-kirkwood/Kconfig             |    7 +++
>  arch/arm/mach-kirkwood/Makefile            |    1 +
>  arch/arm/mach-kirkwood/Makefile.boot       |    1 +
>  arch/arm/mach-kirkwood/board-dt.c          |    4 ++
>  arch/arm/mach-kirkwood/board-km_kirkwood.c |   75 ++++++++++++++++++++++++++++
>  arch/arm/mach-kirkwood/common.h            |    6 ++
>  7 files changed, 123 insertions(+), 0 deletions(-)
>  create mode 100644 arch/arm/boot/dts/kirkwood-km_kirkwood.dts
>  create mode 100644 arch/arm/mach-kirkwood/board-km_kirkwood.c
> 
> diff --git a/arch/arm/boot/dts/kirkwood-km_kirkwood.dts b/arch/arm/boot/dts/kirkwood-km_kirkwood.dts
> new file mode 100644
> index 0000000..60118d5
> --- /dev/null
> +++ b/arch/arm/boot/dts/kirkwood-km_kirkwood.dts
> @@ -0,0 +1,29 @@
> +/dts-v1/;
> +
> +/include/ "kirkwood.dtsi"
> +
> +/ {
> +	model = "Keymile Kirkwood Reference Design";
> +	compatible = "keymile,km_kirkwood", "marvell,kirkwood-88f6281", "marvell,kirkwood";
> +
> +	memory {
> +		device_type = "memory";
> +		reg = <0x00000000 0x08000000>;
> +	};
> +
> +	chosen {
> +		bootargs = "console=ttyS0,115200n8 earlyprintk";
> +	};
> +
> +	ocp at f1000000 {
> +		serial at 12000 {
> +			clock-frequency = <200000000>;
> +			status = "ok";
> +		};
> +
> +		nand at 3000000 {
> +			status = "ok";
> +			chip-delay = <25>;
> +		};

Is there a partition layout for this board?

thx,

Jason.

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

* [RFC PATCH] ARM: initial DTS support for km_kirkwood
  2012-08-28 12:20 ` Andrew Lunn
@ 2012-08-29  8:04   ` Valentin Longchamp
  0 siblings, 0 replies; 7+ messages in thread
From: Valentin Longchamp @ 2012-08-29  8:04 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Andrew,

On 08/28/2012 02:20 PM, Andrew Lunn wrote:
> Hi Valentin
> 
>> This is a first attempt to support the km_kirkwood reference design with
>> a device tree. This km_kirkwood design is present in many Keymile
>> products. It is based on the Marvell Bobcat SOC which integrates a
>> Kirkwood CPU next to a big L2 Ethernet Switch. The Kirkwood in the SOC
>> is very similar to the "normal" one, but there are a few differences.
> 
> Is there a public datasheet for this device?

Unfortunately I am not aware of such a document. I have just checked on
Marvell's website and I haven't found anything. All the documents we have are
under NDA.

> 
>> diff --git a/arch/arm/mach-kirkwood/board-km_kirkwood.c b/arch/arm/mach-kirkwood/board-km_kirkwood.c
>> new file mode 100644
>> index 0000000..7a103db
>> --- /dev/null
>> +++ b/arch/arm/mach-kirkwood/board-km_kirkwood.c
>> @@ -0,0 +1,75 @@
>> +/*
>> + * Copyright 2012 2012 KEYMILE AG, CH-3097 Bern
>> + * Valentin Longchamp <valentin.longchamp@keymile.com>
>> + *
>> + * arch/arm/mach-kirkwood/board-km_kirkwood.c
>> + *
>> + * Keymile km_kirkwood Reference Desing 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/platform_device.h>
>> +#include <linux/ata_platform.h>
>> +#include <linux/mv643xx_eth.h>
>> +#include <linux/of.h>
>> +#include <linux/of_address.h>
>> +#include <linux/of_fdt.h>
>> +#include <linux/of_irq.h>
>> +#include <linux/of_platform.h>
>> +#include <linux/gpio.h>
>> +#include <linux/mtd/physmap.h>
>> +#include <linux/spi/flash.h>
>> +#include <linux/spi/spi.h>
>> +#include <linux/clk.h>
>> +#include <linux/clk-private.h>
>> +#include <asm/mach-types.h>
>> +#include <asm/mach/arch.h>
>> +#include <asm/mach/map.h>
>> +#include <mach/kirkwood.h>
>> +#include <mach/bridge-regs.h>
>> +#include <plat/mvsdio.h>
>> +#include "common.h"
>> +#include "mpp.h"
> 
> Please remove all the header files you don't need.

OK.

> 
>> +
>> +static struct mv643xx_eth_platform_data km_kirkwood_ge00_data = {
>> +	.phy_addr	= MV643XX_ETH_PHY_ADDR(0),
>> +};
>> +
>> +static unsigned int km_kirkwood_mpp_config[] __initdata = {
>> +	MPP8_GPIO,	/* I2C SDA */
>> +	MPP9_GPIO,	/* I2C SCL */
>> +	0
>> +};
>> +
>> +void __init km_kirkwood_init(void)
>> +{
>> +	struct clk *sata_clk;
>> +	/*
>> +	 * Basic setup. Needs to be called early.
>> +	 */
>> +
>> +	kirkwood_mpp_conf(km_kirkwood_mpp_config);
>> +
>> +	/*
>> +	 * Our variant of kirkwood (integrated in the Bobcat) hangs on accessing
>> +	 * SATA bits (14-15) of the Clock Gating Control Register. Since these
>> +	 * devices are also not present in this variant, their clocks get
>> +	 * disabled because unused when clk_disable_unused() gets called.
> 
> So there is no SATA at all on this SoC? Anything else missing which a
> 'normal' kirkwood has?

No SATA at all. Yes, other missing peripherals are RTC, SDIO, I2S (Audio), TDM,
TS (MPEG-2 Transport Stream).

> 
> If there a way to identify the chipset? e.g. what does 
> 
> kirkwood_pcie_id(&dev, &rev);
> 
> give? It would be better to not create the clocks at all, if we could
> determine at runtime the hardware was not there.
> 

Yeah I agree, it would be much better. However here is what is returned from the
kirkwood_pcie_id call in kirkwood_dt_init() (kirkwood_id())

> Kirkwood: MV88F6281-A0, TCLK=200000000.

To me it looks like this is the exact same ID as the usual kirkwood version so
we cannot determine this at runtime (at least not with that ID).

Valentin

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

* [RFC PATCH] ARM: initial DTS support for km_kirkwood
  2012-08-28 17:23 ` Jason Cooper
@ 2012-08-29  8:15   ` Valentin Longchamp
  2012-08-29 17:14     ` Jason Cooper
  0 siblings, 1 reply; 7+ messages in thread
From: Valentin Longchamp @ 2012-08-29  8:15 UTC (permalink / raw)
  To: linux-arm-kernel

On 08/28/2012 07:23 PM, Jason Cooper wrote:
> On Tue, Aug 28, 2012 at 01:56:16PM +0200, Valentin Longchamp wrote:
>> This is a first attempt to support the km_kirkwood reference design with
>> a device tree. This km_kirkwood design is present in many Keymile
>> products. It is based on the Marvell Bobcat SOC which integrates a
>> Kirkwood CPU next to a big L2 Ethernet Switch. The Kirkwood in the SOC
>> is very similar to the "normal" one, but there are a few differences.
>>
>> This initial support is minimal: the kernel can boot with network
>> (ge0), serial port and NAND functional.
>>
>> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
>> Cc: Holger Brunck <holger.brunck@keymile.com>
>> ---
>>  arch/arm/boot/dts/kirkwood-km_kirkwood.dts |   29 +++++++++++
>>  arch/arm/mach-kirkwood/Kconfig             |    7 +++
>>  arch/arm/mach-kirkwood/Makefile            |    1 +
>>  arch/arm/mach-kirkwood/Makefile.boot       |    1 +
>>  arch/arm/mach-kirkwood/board-dt.c          |    4 ++
>>  arch/arm/mach-kirkwood/board-km_kirkwood.c |   75 ++++++++++++++++++++++++++++
>>  arch/arm/mach-kirkwood/common.h            |    6 ++
>>  7 files changed, 123 insertions(+), 0 deletions(-)
>>  create mode 100644 arch/arm/boot/dts/kirkwood-km_kirkwood.dts
>>  create mode 100644 arch/arm/mach-kirkwood/board-km_kirkwood.c
>>
>> diff --git a/arch/arm/boot/dts/kirkwood-km_kirkwood.dts b/arch/arm/boot/dts/kirkwood-km_kirkwood.dts
>> new file mode 100644
>> index 0000000..60118d5
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/kirkwood-km_kirkwood.dts
>> @@ -0,0 +1,29 @@
>> +/dts-v1/;
>> +
>> +/include/ "kirkwood.dtsi"
>> +
>> +/ {
>> +	model = "Keymile Kirkwood Reference Design";
>> +	compatible = "keymile,km_kirkwood", "marvell,kirkwood-88f6281", "marvell,kirkwood";
>> +
>> +	memory {
>> +		device_type = "memory";
>> +		reg = <0x00000000 0x08000000>;
>> +	};
>> +
>> +	chosen {
>> +		bootargs = "console=ttyS0,115200n8 earlyprintk";
>> +	};
>> +
>> +	ocp at f1000000 {
>> +		serial at 12000 {
>> +			clock-frequency = <200000000>;
>> +			status = "ok";
>> +		};
>> +
>> +		nand at 3000000 {
>> +			status = "ok";
>> +			chip-delay = <25>;
>> +		};
> 
> Is there a partition layout for this board?
>

Well, there is one: one big UBI partition on the whole NAND chip (we then create
UBI volumes when building the initial system and dynamically create additional
ones when neeeded). But this UBI partition gets detected perfecly well without
this partition layout so I left it out.

Valentin

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

* [RFC PATCH] ARM: initial DTS support for km_kirkwood
  2012-08-29  8:15   ` Valentin Longchamp
@ 2012-08-29 17:14     ` Jason Cooper
  0 siblings, 0 replies; 7+ messages in thread
From: Jason Cooper @ 2012-08-29 17:14 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Aug 29, 2012 at 10:15:51AM +0200, Valentin Longchamp wrote:
> On 08/28/2012 07:23 PM, Jason Cooper wrote:
> > On Tue, Aug 28, 2012 at 01:56:16PM +0200, Valentin Longchamp wrote:
> >> +	ocp at f1000000 {
> >> +		serial at 12000 {
> >> +			clock-frequency = <200000000>;
> >> +			status = "ok";
> >> +		};
> >> +
> >> +		nand at 3000000 {
> >> +			status = "ok";
> >> +			chip-delay = <25>;
> >> +		};
> > 
> > Is there a partition layout for this board?
> 
> Well, there is one: one big UBI partition on the whole NAND chip (we then create
> UBI volumes when building the initial system and dynamically create additional
> ones when neeeded). But this UBI partition gets detected perfecly well without
> this partition layout so I left it out.

ok, just wanted to make sure it wasn't left out.  I look forward to v2
with Andrew's suggestions.

thx,

Jason.

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

* [RFC PATCH] ARM: initial DTS support for km_kirkwood
  2012-08-28 11:56 [RFC PATCH] ARM: initial DTS support for km_kirkwood Valentin Longchamp
  2012-08-28 12:20 ` Andrew Lunn
  2012-08-28 17:23 ` Jason Cooper
@ 2012-09-03 17:56 ` Andrew Lunn
  2 siblings, 0 replies; 7+ messages in thread
From: Andrew Lunn @ 2012-09-03 17:56 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Aug 28, 2012 at 01:56:16PM +0200, Valentin Longchamp wrote:
> This is a first attempt to support the km_kirkwood reference design with
> a device tree. This km_kirkwood design is present in many Keymile
> products. It is based on the Marvell Bobcat SOC which integrates a
> Kirkwood CPU next to a big L2 Ethernet Switch. The Kirkwood in the SOC
> is very similar to the "normal" one, but there are a few differences.
> 
> This initial support is minimal: the kernel can boot with network
> (ge0), serial port and NAND functional.
> 
> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
> Cc: Holger Brunck <holger.brunck@keymile.com>
> ---
>  arch/arm/boot/dts/kirkwood-km_kirkwood.dts |   29 +++++++++++
>  arch/arm/mach-kirkwood/Kconfig             |    7 +++
>  arch/arm/mach-kirkwood/Makefile            |    1 +
>  arch/arm/mach-kirkwood/Makefile.boot       |    1 +
>  arch/arm/mach-kirkwood/board-dt.c          |    4 ++
>  arch/arm/mach-kirkwood/board-km_kirkwood.c |   75 ++++++++++++++++++++++++++++
>  arch/arm/mach-kirkwood/common.h            |    6 ++
>  7 files changed, 123 insertions(+), 0 deletions(-)
>  create mode 100644 arch/arm/boot/dts/kirkwood-km_kirkwood.dts
>  create mode 100644 arch/arm/mach-kirkwood/board-km_kirkwood.c
> 
> diff --git a/arch/arm/boot/dts/kirkwood-km_kirkwood.dts b/arch/arm/boot/dts/kirkwood-km_kirkwood.dts
> new file mode 100644
> index 0000000..60118d5
> --- /dev/null
> +++ b/arch/arm/boot/dts/kirkwood-km_kirkwood.dts
> @@ -0,0 +1,29 @@
> +/dts-v1/;
> +
> +/include/ "kirkwood.dtsi"
> +
> +/ {
> +	model = "Keymile Kirkwood Reference Design";
> +	compatible = "keymile,km_kirkwood", "marvell,kirkwood-88f6281", "marvell,kirkwood";

Hi Valentin.

The compatibility here should probably be 

marvell,kirkwood-98DX4122

not marvell,kirkwood-88f6281, just to make it clear we are not talking
about a normal kirkwood SoC, but a kirkwood embedded inside a
98DX4122.

Thanks

	Andrew

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

end of thread, other threads:[~2012-09-03 17:56 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-28 11:56 [RFC PATCH] ARM: initial DTS support for km_kirkwood Valentin Longchamp
2012-08-28 12:20 ` Andrew Lunn
2012-08-29  8:04   ` Valentin Longchamp
2012-08-28 17:23 ` Jason Cooper
2012-08-29  8:15   ` Valentin Longchamp
2012-08-29 17:14     ` Jason Cooper
2012-09-03 17:56 ` Andrew Lunn

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).