Skip to contentSkip to conversation

ARM: Kirkwood: new board USI Topkick

PATCH New Jason Cooper 3 participants 9 messages Oct 19, 2012 – Oct 22, 2012

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ARM: Kirkwood: new board USI Topkick

This is a new kirkwood box made by Universal Scientific Industrial, Inc. The product description is here:

http://www.usish.com/english/products_topkick1281p2.php

It is very similar to the dreamplug and other plug devices, with the exception that it has room for a 2.5" SATA HDD internally.

---
 arch/arm/boot/dts/Makefile                 |  3 +-
 arch/arm/boot/dts/kirkwood-topkick.dts     | 85 +++++++++++++++++++++++++++
 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-usi_topkick.c | 93 ++++++++++++++++++++++++++++++
 arch/arm/mach-kirkwood/common.h            |  6 ++
 7 files changed, 198 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/kirkwood-topkick.dts
 create mode 100644 arch/arm/mach-kirkwood/board-usi_topkick.c
arch/arm/boot/dts/Makefile +2 -1
index c1ce813..04fffc7 100644
@@ -38,7 +38,8 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-dns320.dtb \
 	kirkwood-lschlv2.dtb \
 	kirkwood-lsxhl.dtb \
 	kirkwood-ts219-6281.dtb \
-	kirkwood-ts219-6282.dtb
+	kirkwood-ts219-6282.dtb \
+	kirkwood-topkick.dtb
 dtb-$(CONFIG_ARCH_MSM) += msm8660-surf.dtb \
 	msm8960-cdp.dtb
 dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \
arch/arm/boot/dts/kirkwood-topkick.dts new file +85 -0

85 lines not on this page · raw message

arch/arm/mach-kirkwood/Kconfig +7 -0
index 50bca50..b8b5c22 100644
@@ -130,6 +130,13 @@ config MACH_KM_KIRKWOOD_DT
 	  Say 'Y' here if you want your kernel to support the
 	  Keymile Kirkwood Reference Desgin, using Flattened Device Tree.
 
+config MACH_TOPKICK_DT
+	bool "USI Topkick (Flattened Device Tree)"
+	select ARCH_KIRKWOOD_DT
+	help
+	  Say 'Y' here if you want your kernel to support the
+	  USI Topkick, 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
arch/arm/mach-kirkwood/Makefile +1 -0
index 294779f..bd463df 100644
@@ -31,3 +31,4 @@ obj-$(CONFIG_MACH_GOFLEXNET_DT)		+= board-goflexnet.o
 obj-$(CONFIG_MACH_LSXL_DT)		+= board-lsxl.o
 obj-$(CONFIG_MACH_IOMEGA_IX2_200_DT)	+= board-iomega_ix2_200.o
 obj-$(CONFIG_MACH_KM_KIRKWOOD_DT)	+= board-km_kirkwood.o
+obj-$(CONFIG_MACH_TOPKICK_DT)		+= board-usi_topkick.o
arch/arm/mach-kirkwood/board-dt.c +4 -0
index 70c5a28..33e9217 100644
@@ -96,6 +96,9 @@ static void __init kirkwood_dt_init(void)
 	if (of_machine_is_compatible("keymile,km_kirkwood"))
 		km_kirkwood_init();
 
+	if (of_machine_is_compatible("usi,topkick"))
+		usi_topkick_init();
+
 	of_platform_populate(NULL, kirkwood_dt_match_table,
 			     kirkwood_auxdata_lookup, NULL);
 }
@@ -112,6 +115,7 @@ static const char *kirkwood_dt_board_compat[] = {
 	"buffalo,lsxl",
 	"iom,ix2-200",
 	"keymile,km_kirkwood",
+	"usi,topkick",
 	NULL
 };
 
arch/arm/mach-kirkwood/board-usi_topkick.c new file +93 -0

93 lines not on this page · raw message

arch/arm/mach-kirkwood/common.h +6 -0
index bcffd7c..46b47d1 100644
@@ -112,6 +112,12 @@ void km_kirkwood_init(void);
 static inline void km_kirkwood_init(void) {};
 #endif
 
+#ifdef CONFIG_MACH_TOPKICK_DT
+void usi_topkick_init(void);
+#else
+static inline void usi_topkick_init(void) {};
+#endif
+
 /* early init functions not converted to fdt yet */
 char *kirkwood_id(void);
 void kirkwood_l2_init(void);
Signature · 1 line
1.7.12.4
#1 lore raw

PATCH 1/1 ARM: Kirkwood: new board USI Topkick

arch/arm/boot/dts/kirkwood-topkick.dts line 7

Quoted 9 lines

+++ b/arch/arm/boot/dts/kirkwood-topkick.dts

arch/arm/boot/dts/kirkwood-topkick.dts new file +7 -0
@@ -0,0 +1,85 @@
+/dts-v1/;
+
+/include/ "kirkwood.dtsi"
+
+/ {
+	model = "Univeral Scientific Industrial Co. Topkick-1281P2";
+	compatible = "usi,topkick-1281P2", "usi,topkick", "marvell,kirkwood-88f6282", "marvell,kirkwood";

Hi Jason

Nice to see the correct Kirkwood variant in DT. This is going to be an issue for pinctrl sometime soon.

arch/arm/boot/dts/kirkwood-topkick.dts line 55

Quoted 4 lines
arch/arm/boot/dts/kirkwood-topkick.dts new file +4 -0
+
+		sata at 80000 {
+			status = "okay";
+			nr-ports = <2>;

Could nr-ports be 1? It saves a little bit of memory. There only seems to be one SATA interface available, no external SATA port. However, if the one used is the second SATA, then 2 is required.

Quoted 31 lines
arch/arm/mach-kirkwood/board-usi_topkick.c new file +25 -0
new file mode 100644
index 0000000..02ba4aa
@@ -0,0 +1,93 @@
+/*
+ * Copyright 2012 (C), Jason Cooper <[email protected]>
+ *
+ * arch/arm/mach-kirkwood/board-dreamplug.c
+ *
+ * Marvell DreamPlug 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/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>

arch/arm/mach-kirkwood/board-usi_topkick.c line 35

Quoted 10 lines
arch/arm/mach-kirkwood/board-usi_topkick.c new file +10 -0
+#include <linux/spi/flash.h>
+#include <linux/spi/spi.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 <linux/platform_data/mmc-mvsdio.h>
+#include "common.h"
+#include "mpp.h"

A lot of these header files are not needed. Please could you remove the unused ones.

Quoted 31 lines
arch/arm/mach-kirkwood/board-usi_topkick.c new file +31 -0
+
+static struct mv643xx_eth_platform_data topkick_ge00_data = {
+	.phy_addr	= MV643XX_ETH_PHY_ADDR(0),
+};
+
+/*
+ * GPIO LED layout
+ *
+ *       /-SYS_LED(2)
+ *       |
+ *       |   /-DISK_LED
+ *       |   |
+ *       |   |   /-WLAN_LED(2)
+ *       |   |   |
+ * [SW] [*] [*] [*]
+ */
+
+/*
+ * Switch positions
+ *
+ *     /-SW_LEFT
+ *     |
+ *     |   /-SW_IDLE
+ *     |   |
+ *     |   |   /-SW_RIGHT
+ *     |   |   |
+ * PS [L] [I] [R] LEDS
+ */
+
+static unsigned int topkick_mpp_config[] __initdata = {
+	MPP21_GPIO,	/* DISK_LED           (low active) - yellow */

arch/arm/mach-kirkwood/board-usi_topkick.c line 76

Quoted 10 lines
arch/arm/mach-kirkwood/board-usi_topkick.c new file +10 -0
+	MPP36_GPIO,	/* SATA0 power enable (high active) */
+	MPP37_GPIO,	/* SYS_LED2           (low active) - red */
+	MPP38_GPIO,	/* SYS_LED            (low active) - blue */
+	MPP39_GPIO,	/* WLAN_LED           (low active) - green */
+	MPP43_GPIO,	/* SW_LEFT            (low active) */
+	MPP44_GPIO,     /* SW_RIGHT           (low active) */
+	MPP45_GPIO,	/* SW_IDLE            (low active) */
+	MPP46_GPIO,     /* SW_LEFT            (low active) */
+	MPP48_GPIO,	/* WLAN_LED2          (low active) - yellow */
+	0

This assumes the boot loader is configuring all the other pins as needed. It would be safer to explicitly configure the SATA pins, Ethernet pins etc. However, maybe that should wait until we have pinctrl, which makes it a lot easier.

arch/arm/mach-kirkwood/board-usi_topkick.c line 89

Quoted 13 lines
arch/arm/mach-kirkwood/board-usi_topkick.c new file +13 -0
+};
+
+#define TOPKICK_SATA0_PWR_ENABLE 36
+
+void __init usi_topkick_init(void)
+{
+	/*
+	 * Basic setup. Needs to be called early.
+	 */
+	kirkwood_mpp_conf(topkick_mpp_config);
+
+	/* SATA0 power enable */
+	gpio_set_value(TOPKICK_SATA0_PWR_ENABLE, 1);

It would be nice to be able to do that in DT. Does such a binding already exist? Its something we need quite often in kirkwood, and i guess other machines architectures as well.

arch/arm/mach-kirkwood/board-usi_topkick.c line 93

Quoted 4 lines
arch/arm/mach-kirkwood/board-usi_topkick.c new file +4 -0
+
+	kirkwood_ehci_init();
+	kirkwood_ge00_init(&topkick_ge00_data);
+}

How is the wifi device instantiated? Is it a PCIe device so it auto-probed? Or is some explicit instantiation required, say if its an SPI device?

It would be good to add this board to kirkwood_defconfig as well.

Andrew

#2 lore raw

PATCH 1/1 ARM: Kirkwood: new board USI Topkick

Quoted 15 lines · Andrew Lunn

arch/arm/boot/dts/kirkwood-topkick.dts line 7

Quoted 9 lines

+++ b/arch/arm/boot/dts/kirkwood-topkick.dts

arch/arm/boot/dts/kirkwood-topkick.dts new file +7 -0
@@ -0,0 +1,85 @@
+/dts-v1/;
+
+/include/ "kirkwood.dtsi"
+
+/ {
+	model = "Univeral Scientific Industrial Co. Topkick-1281P2";
+	compatible = "usi,topkick-1281P2", "usi,topkick", "marvell,kirkwood-88f6282", "marvell,kirkwood";

Hi Jason

Nice to see the correct Kirkwood variant in DT. This is going to be an issue for pinctrl sometime soon.

Quoted 8 lines

arch/arm/boot/dts/kirkwood-topkick.dts line 55

Quoted 4 lines
arch/arm/boot/dts/kirkwood-topkick.dts new file +4 -0
+
+		sata at 80000 {
+			status = "okay";
+			nr-ports = <2>;

Could nr-ports be 1? It saves a little bit of memory. There only seems to be one SATA interface available, no external SATA port. However, if the one used is the second SATA, then 2 is required.

Yes, I caught this right after <send>, and mentioned it on irc for v2. It was part of my, "did they wire it up to sata1, instead?" effort. Sebastian was a huge help getting sata and the leds working.

Quoted 37 lines
Quoted 37 lines
arch/arm/mach-kirkwood/board-usi_topkick.c new file +30 -0
new file mode 100644
index 0000000..02ba4aa
@@ -0,0 +1,93 @@
+/*
+ * Copyright 2012 (C), Jason Cooper <[email protected]>
+ *
+ * arch/arm/mach-kirkwood/board-dreamplug.c
+ *
+ * Marvell DreamPlug 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/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 <asm/mach-types.h>
+#include <asm/mach/arch.h>
+#include <asm/mach/map.h>
Quoted 8 lines

arch/arm/mach-kirkwood/board-usi_topkick.c line 35

Quoted 5 lines
arch/arm/mach-kirkwood/board-usi_topkick.c new file +5 -0
+#include <mach/kirkwood.h>
+#include <mach/bridge-regs.h>
+#include <linux/platform_data/mmc-mvsdio.h>
+#include "common.h"
+#include "mpp.h"

A lot of these header files are not needed. Please could you remove the unused ones.

Sure, and I'll go back and double check dreamplug. ;-)

Quoted 39 lines
Quoted 39 lines
arch/arm/mach-kirkwood/board-usi_topkick.c new file +38 -0
+
+static struct mv643xx_eth_platform_data topkick_ge00_data = {
+	.phy_addr	= MV643XX_ETH_PHY_ADDR(0),
+};
+
+/*
+ * GPIO LED layout
+ *
+ *       /-SYS_LED(2)
+ *       |
+ *       |   /-DISK_LED
+ *       |   |
+ *       |   |   /-WLAN_LED(2)
+ *       |   |   |
+ * [SW] [*] [*] [*]
+ */
+
+/*
+ * Switch positions
+ *
+ *     /-SW_LEFT
+ *     |
+ *     |   /-SW_IDLE
+ *     |   |
+ *     |   |   /-SW_RIGHT
+ *     |   |   |
+ * PS [L] [I] [R] LEDS
+ */
+
+static unsigned int topkick_mpp_config[] __initdata = {
+	MPP21_GPIO,	/* DISK_LED           (low active) - yellow */
+	MPP36_GPIO,	/* SATA0 power enable (high active) */
+	MPP37_GPIO,	/* SYS_LED2           (low active) - red */
+	MPP38_GPIO,	/* SYS_LED            (low active) - blue */
+	MPP39_GPIO,	/* WLAN_LED           (low active) - green */
+	MPP43_GPIO,	/* SW_LEFT            (low active) */
+	MPP44_GPIO,     /* SW_RIGHT           (low active) */
+	MPP45_GPIO,	/* SW_IDLE            (low active) */
Quoted 8 lines

arch/arm/mach-kirkwood/board-usi_topkick.c line 76

Quoted 3 lines
arch/arm/mach-kirkwood/board-usi_topkick.c new file +3 -0
+	MPP46_GPIO,     /* SW_LEFT            (low active) */
+	MPP48_GPIO,	/* WLAN_LED2          (low active) - yellow */
+	0

This assumes the boot loader is configuring all the other pins as needed. It would be safer to explicitly configure the SATA pins, Ethernet pins etc. However, maybe that should wait until we have pinctrl, which makes it a lot easier.

I agree.

Quoted 10 lines
Quoted 10 lines
arch/arm/mach-kirkwood/board-usi_topkick.c new file +9 -0
+};
+
+#define TOPKICK_SATA0_PWR_ENABLE 36
+
+void __init usi_topkick_init(void)
+{
+	/*
+	 * Basic setup. Needs to be called early.
+	 */
Quoted 8 lines

arch/arm/mach-kirkwood/board-usi_topkick.c line 89

Quoted 4 lines
arch/arm/mach-kirkwood/board-usi_topkick.c new file +4 -0
+	kirkwood_mpp_conf(topkick_mpp_config);
+
+	/* SATA0 power enable */
+	gpio_set_value(TOPKICK_SATA0_PWR_ENABLE, 1);

It would be nice to be able to do that in DT. Does such a binding already exist? Its something we need quite often in kirkwood, and i guess other machines architectures as well.

I was thinking about that and how to handle it once we are down to board-dt.c. At the very least, we can expose the pin in sysfs and have an initrd enable it for booting from HDD.

The ideal solution would be something similar to gpio-leds, where you can set default-state = "on". This may already exist for gpios, I haven't looked yet.

Quoted 9 lines

arch/arm/mach-kirkwood/board-usi_topkick.c line 93

Quoted 5 lines
arch/arm/mach-kirkwood/board-usi_topkick.c new file +4 -0
+
+	kirkwood_ehci_init();
+	kirkwood_ge00_init(&topkick_ge00_data);
+}

How is the wifi device instantiated? Is it a PCIe device so it auto-probed? Or is some explicit instantiation required, say if its an SPI device?

I dunno, I don't usually enable wifi on my dreamplug, so I admit I forgot to look.

Quoted 2 lines

It would be good to add this board to kirkwood_defconfig as well.

Yes, already planned for v2.

Thanks for the review.

Jason.

#3 lore raw

PATCH v2 1/1 ARM: Kirkwood: new board USI Topkick

In reply to Jason Cooper

This is a new kirkwood box made by Universal Scientific Industrial, Inc. The product description is here:

http://www.usish.com/english/products_topkick1281p2.php

It is very similar to the dreamplug and other plug devices, with the exception that it has room for a 2.5" SATA HDD internally.

---
Changes since V1:
- changes nr-ports to 1 for sata0
- included board in defconfig
- trimmed #includes
- added mvsdio init call

 arch/arm/boot/dts/Makefile                 |  3 +-
 arch/arm/boot/dts/kirkwood-topkick.dts     | 85 ++++++++++++++++++++++++++++++
 arch/arm/configs/kirkwood_defconfig        |  1 +
 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-usi_topkick.c | 83 +++++++++++++++++++++++++++++
 arch/arm/mach-kirkwood/common.h            |  6 +++
 8 files changed, 189 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/kirkwood-topkick.dts
 create mode 100644 arch/arm/mach-kirkwood/board-usi_topkick.c
arch/arm/boot/dts/Makefile +2 -1
index c1ce813..04fffc7 100644
@@ -38,7 +38,8 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-dns320.dtb \
 	kirkwood-lschlv2.dtb \
 	kirkwood-lsxhl.dtb \
 	kirkwood-ts219-6281.dtb \
-	kirkwood-ts219-6282.dtb
+	kirkwood-ts219-6282.dtb \
+	kirkwood-topkick.dtb
 dtb-$(CONFIG_ARCH_MSM) += msm8660-surf.dtb \
 	msm8960-cdp.dtb
 dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \
arch/arm/boot/dts/kirkwood-topkick.dts new file +85 -0

85 lines not on this page · raw message

arch/arm/configs/kirkwood_defconfig +1 -0
index 74eee0c..72d6c28 100644
@@ -27,6 +27,7 @@ CONFIG_MACH_GOFLEXNET_DT=y
 CONFIG_MACH_LSXL_DT=y
 CONFIG_MACH_IOMEGA_IX2_200_DT=y
 CONFIG_MACH_KM_KIRKWOOD_DT=y
+CONFIG_MACH_TOPKICK_DT=y
 CONFIG_MACH_TS219=y
 CONFIG_MACH_TS41X=y
 CONFIG_MACH_DOCKSTAR=y
arch/arm/mach-kirkwood/Kconfig +7 -0
index 50bca50..b8b5c22 100644
@@ -130,6 +130,13 @@ config MACH_KM_KIRKWOOD_DT
 	  Say 'Y' here if you want your kernel to support the
 	  Keymile Kirkwood Reference Desgin, using Flattened Device Tree.
 
+config MACH_TOPKICK_DT
+	bool "USI Topkick (Flattened Device Tree)"
+	select ARCH_KIRKWOOD_DT
+	help
+	  Say 'Y' here if you want your kernel to support the
+	  USI Topkick, 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
arch/arm/mach-kirkwood/Makefile +1 -0
index 294779f..bd463df 100644
@@ -31,3 +31,4 @@ obj-$(CONFIG_MACH_GOFLEXNET_DT)		+= board-goflexnet.o
 obj-$(CONFIG_MACH_LSXL_DT)		+= board-lsxl.o
 obj-$(CONFIG_MACH_IOMEGA_IX2_200_DT)	+= board-iomega_ix2_200.o
 obj-$(CONFIG_MACH_KM_KIRKWOOD_DT)	+= board-km_kirkwood.o
+obj-$(CONFIG_MACH_TOPKICK_DT)		+= board-usi_topkick.o
arch/arm/mach-kirkwood/board-dt.c +4 -0
index 70c5a28..33e9217 100644
@@ -96,6 +96,9 @@ static void __init kirkwood_dt_init(void)
 	if (of_machine_is_compatible("keymile,km_kirkwood"))
 		km_kirkwood_init();
 
+	if (of_machine_is_compatible("usi,topkick"))
+		usi_topkick_init();
+
 	of_platform_populate(NULL, kirkwood_dt_match_table,
 			     kirkwood_auxdata_lookup, NULL);
 }
@@ -112,6 +115,7 @@ static const char *kirkwood_dt_board_compat[] = {
 	"buffalo,lsxl",
 	"iom,ix2-200",
 	"keymile,km_kirkwood",
+	"usi,topkick",
 	NULL
 };
 
arch/arm/mach-kirkwood/board-usi_topkick.c new file +83 -0

83 lines not on this page · raw message

arch/arm/mach-kirkwood/common.h +6 -0
index bcffd7c..46b47d1 100644
@@ -112,6 +112,12 @@ void km_kirkwood_init(void);
 static inline void km_kirkwood_init(void) {};
 #endif
 
+#ifdef CONFIG_MACH_TOPKICK_DT
+void usi_topkick_init(void);
+#else
+static inline void usi_topkick_init(void) {};
+#endif
+
 /* early init functions not converted to fdt yet */
 char *kirkwood_id(void);
 void kirkwood_l2_init(void);
Signature · 1 line
1.7.12.4
#4 lore raw

PATCH v2 1/1 ARM: Kirkwood: new board USI Topkick

Quoted 33 lines · Jason Cooper

This is a new kirkwood box made by Universal Scientific Industrial, Inc. The product description is here:

http://www.usish.com/english/products_topkick1281p2.php

It is very similar to the dreamplug and other plug devices, with the exception that it has room for a 2.5" SATA HDD internally.

---
Changes since V1:
- changes nr-ports to 1 for sata0
- included board in defconfig
- trimmed #includes
- added mvsdio init call

 arch/arm/boot/dts/Makefile                 |  3 +-
 arch/arm/boot/dts/kirkwood-topkick.dts     | 85 ++++++++++++++++++++++++++++++
 arch/arm/configs/kirkwood_defconfig        |  1 +
 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-usi_topkick.c | 83 +++++++++++++++++++++++++++++
 arch/arm/mach-kirkwood/common.h            |  6 +++
 8 files changed, 189 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/kirkwood-topkick.dts
 create mode 100644 arch/arm/mach-kirkwood/board-usi_topkick.c
arch/arm/boot/dts/Makefile +0 -0
index c1ce813..04fffc7 100644

arch/arm/boot/dts/Makefile dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-dns320.dtb \ · line 42

Quoted 6 lines
arch/arm/boot/dts/Makefile +2 -1
@@ -38,7 +38,8 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-dns320.dtb \
 	kirkwood-lschlv2.dtb \
 	kirkwood-lsxhl.dtb \
 	kirkwood-ts219-6281.dtb \
-	kirkwood-ts219-6282.dtb
+	kirkwood-ts219-6282.dtb \
+	kirkwood-topkick.dtb

Hi Jason

These are sorted in alphabetic order. So topkick should be before ts219. Keeping them sorted reduced merge conflicts.

Quoted 161 lines
arch/arm/boot/dts/Makefile +0 -0
 dtb-$(CONFIG_ARCH_MSM) += msm8660-surf.dtb \
 	msm8960-cdp.dtb
 dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \
arch/arm/boot/dts/kirkwood-topkick.dts new file +85 -0
new file mode 100644
index 0000000..c0de5a7
@@ -0,0 +1,85 @@
+/dts-v1/;
+
+/include/ "kirkwood.dtsi"
+
+/ {
+	model = "Univeral Scientific Industrial Co. Topkick-1281P2";
+	compatible = "usi,topkick-1281P2", "usi,topkick", "marvell,kirkwood-88f6282", "marvell,kirkwood";
+
+	memory {
+		device_type = "memory";
+		reg = <0x00000000 0x10000000>;
+	};
+
+	chosen {
+		bootargs = "console=ttyS0,115200n8 earlyprintk";
+	};
+
+	ocp at f1000000 {
+		serial at 12000 {
+			clock-frequency = <200000000>;
+			status = "ok";
+		};
+
+		nand at 3000000 {
+			status = "okay";
+
+			partition at 0 {
+				label = "u-boot";
+				reg = <0x0000000 0x180000>;
+			};
+
+			partition at 180000 {
+				label = "u-boot env";
+				reg = <0x0180000 0x20000>;
+			};
+
+			partition at 200000 {
+				label = "uImage";
+				reg = <0x0200000 0x600000>;
+			};
+
+			partition at 800000 {
+				label = "uInitrd";
+				reg = <0x0800000 0x1000000>;
+			};
+
+			partition at 1800000 {
+				label = "rootfs";
+				reg = <0x1800000 0xe800000>;
+			};
+		};
+
+		sata at 80000 {
+			status = "okay";
+			nr-ports = <1>;
+		};
+	};
+
+	gpio-leds {
+		compatible = "gpio-leds";
+
+		disk {
+			label = "topkick:yellow:disk";
+			gpios = <&gpio0 21 1>;
+			linux,default-trigger = "ide-disk";
+		};
+		system2 {
+			label = "topkick:red:system";
+			gpios = <&gpio1 5 1>;
+		};
+		system {
+			label = "topkick:blue:system";
+			gpios = <&gpio1 6 1>;
+			default-state = "on";
+		};
+		wifi {
+			label = "topkick:green:wifi";
+			gpios = <&gpio1 7 1>;
+		};
+		wifi2 {
+			label = "topkick:yellow:wifi";
+			gpios = <&gpio1 16 1>;
+		};
+	};
+};
arch/arm/configs/kirkwood_defconfig +1 -0
index 74eee0c..72d6c28 100644
@@ -27,6 +27,7 @@ CONFIG_MACH_GOFLEXNET_DT=y
 CONFIG_MACH_LSXL_DT=y
 CONFIG_MACH_IOMEGA_IX2_200_DT=y
 CONFIG_MACH_KM_KIRKWOOD_DT=y
+CONFIG_MACH_TOPKICK_DT=y
 CONFIG_MACH_TS219=y
 CONFIG_MACH_TS41X=y
 CONFIG_MACH_DOCKSTAR=y
arch/arm/mach-kirkwood/Kconfig +7 -0
index 50bca50..b8b5c22 100644
@@ -130,6 +130,13 @@ config MACH_KM_KIRKWOOD_DT
 	  Say 'Y' here if you want your kernel to support the
 	  Keymile Kirkwood Reference Desgin, using Flattened Device Tree.
 
+config MACH_TOPKICK_DT
+	bool "USI Topkick (Flattened Device Tree)"
+	select ARCH_KIRKWOOD_DT
+	help
+	  Say 'Y' here if you want your kernel to support the
+	  USI Topkick, 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
arch/arm/mach-kirkwood/Makefile +1 -0
index 294779f..bd463df 100644
@@ -31,3 +31,4 @@ obj-$(CONFIG_MACH_GOFLEXNET_DT)		+= board-goflexnet.o
 obj-$(CONFIG_MACH_LSXL_DT)		+= board-lsxl.o
 obj-$(CONFIG_MACH_IOMEGA_IX2_200_DT)	+= board-iomega_ix2_200.o
 obj-$(CONFIG_MACH_KM_KIRKWOOD_DT)	+= board-km_kirkwood.o
+obj-$(CONFIG_MACH_TOPKICK_DT)		+= board-usi_topkick.o
arch/arm/mach-kirkwood/board-dt.c +4 -0
index 70c5a28..33e9217 100644
@@ -96,6 +96,9 @@ static void __init kirkwood_dt_init(void)
 	if (of_machine_is_compatible("keymile,km_kirkwood"))
 		km_kirkwood_init();
 
+	if (of_machine_is_compatible("usi,topkick"))
+		usi_topkick_init();
+
 	of_platform_populate(NULL, kirkwood_dt_match_table,
 			     kirkwood_auxdata_lookup, NULL);
 }
@@ -112,6 +115,7 @@ static const char *kirkwood_dt_board_compat[] = {
 	"buffalo,lsxl",
 	"iom,ix2-200",
 	"keymile,km_kirkwood",
+	"usi,topkick",
 	NULL
 };
 
arch/arm/mach-kirkwood/board-usi_topkick.c new file +0 -0
new file mode 100644
index 0000000..a5e0826

arch/arm/mach-kirkwood/board-usi_topkick.c line 4

Quoted 4 lines
arch/arm/mach-kirkwood/board-usi_topkick.c new file +4 -0
@@ -0,0 +1,83 @@
+/*
+ * Copyright 2012 (C), Jason Cooper <[email protected]>
+ *
+ * arch/arm/mach-kirkwood/board-dreamplug.c

board-usi_topkick.c

arch/arm/mach-kirkwood/board-usi_topkick.c line 7

Quoted 3 lines
arch/arm/mach-kirkwood/board-usi_topkick.c new file +3 -0
+ *
+ * Marvell DreamPlug Reference Board Init for drivers not converted to
+ * flattened device tree yet.

Comment needs updating...

Quoted 11 lines
arch/arm/mach-kirkwood/board-usi_topkick.c new file +11 -0
+ *
+ * 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 <linux/gpio.h>
+#include <linux/platform_data/mmc-mvsdio.h>

arch/arm/mach-kirkwood/board-usi_topkick.c line 28

Quoted 10 lines
arch/arm/mach-kirkwood/board-usi_topkick.c new file +10 -0
+#include "common.h"
+#include "mpp.h"
+
+static struct mv643xx_eth_platform_data topkick_ge00_data = {
+	.phy_addr	= MV643XX_ETH_PHY_ADDR(0),
+};
+
+static struct mvsdio_platform_data topkick_mvsdio_data = {
+	/* unfortunately the CD signal has not been connected */
+};

Is this just cut/paste, or has it been verified that CD is not connected?

Andrew

#5 lore raw

PATCH v2 1/1 ARM: Kirkwood: new board USI Topkick

Quoted 7 lines · Andrew Lunn

arch/arm/mach-kirkwood/board-usi_topkick.c line 28

Quoted 3 lines · Jason Cooper
arch/arm/mach-kirkwood/board-usi_topkick.c new file +3 -0
+static struct mvsdio_platform_data topkick_mvsdio_data = {
+	/* unfortunately the CD signal has not been connected */
+};

Is this just cut/paste, or has it been verified that CD is not connected?

Both. ;-) There is no card slot on the topkick. I'll have to go back and test the dreamplug.

thx,

Jason.

#6 lore raw

PATCH v3 1/1 ARM: Kirkwood: new board USI Topkick

In reply to Jason Cooper

This is a new kirkwood box made by Universal Scientific Industrial, Inc. The product description is here:

http://www.usish.com/english/products_topkick1281p2.php

It is very similar to the dreamplug and other plug devices, with the exception that it has room for a 2.5" SATA HDD internally.

---
Changes since V2:
- corrected comments missed during copy/paste
- sorted topkick dtb Makefile entry alphabetically

Changes since V1:
- changes nr-ports to 1 for sata0
- included board in defconfig
- trimmed #includes
- added mvsdio init call

 arch/arm/boot/dts/Makefile                 |  1 +
 arch/arm/boot/dts/kirkwood-topkick.dts     | 85 ++++++++++++++++++++++++++++++
 arch/arm/configs/kirkwood_defconfig        |  1 +
 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-usi_topkick.c | 82 ++++++++++++++++++++++++++++
 arch/arm/mach-kirkwood/common.h            |  6 +++
 8 files changed, 187 insertions(+)
 create mode 100644 arch/arm/boot/dts/kirkwood-topkick.dts
 create mode 100644 arch/arm/mach-kirkwood/board-usi_topkick.c
arch/arm/boot/dts/Makefile +1 -0
index c1ce813..a2b6520 100644
@@ -37,6 +37,7 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-dns320.dtb \
 	kirkwood-km_kirkwood.dtb \
 	kirkwood-lschlv2.dtb \
 	kirkwood-lsxhl.dtb \
+	kirkwood-topkick.dtb \
 	kirkwood-ts219-6281.dtb \
 	kirkwood-ts219-6282.dtb
 dtb-$(CONFIG_ARCH_MSM) += msm8660-surf.dtb \
arch/arm/boot/dts/kirkwood-topkick.dts new file +85 -0

85 lines not on this page · raw message

arch/arm/configs/kirkwood_defconfig +1 -0
index 74eee0c..72d6c28 100644
@@ -27,6 +27,7 @@ CONFIG_MACH_GOFLEXNET_DT=y
 CONFIG_MACH_LSXL_DT=y
 CONFIG_MACH_IOMEGA_IX2_200_DT=y
 CONFIG_MACH_KM_KIRKWOOD_DT=y
+CONFIG_MACH_TOPKICK_DT=y
 CONFIG_MACH_TS219=y
 CONFIG_MACH_TS41X=y
 CONFIG_MACH_DOCKSTAR=y
arch/arm/mach-kirkwood/Kconfig +7 -0
index 50bca50..b8b5c22 100644
@@ -130,6 +130,13 @@ config MACH_KM_KIRKWOOD_DT
 	  Say 'Y' here if you want your kernel to support the
 	  Keymile Kirkwood Reference Desgin, using Flattened Device Tree.
 
+config MACH_TOPKICK_DT
+	bool "USI Topkick (Flattened Device Tree)"
+	select ARCH_KIRKWOOD_DT
+	help
+	  Say 'Y' here if you want your kernel to support the
+	  USI Topkick, 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
arch/arm/mach-kirkwood/Makefile +1 -0
index 294779f..bd463df 100644
@@ -31,3 +31,4 @@ obj-$(CONFIG_MACH_GOFLEXNET_DT)		+= board-goflexnet.o
 obj-$(CONFIG_MACH_LSXL_DT)		+= board-lsxl.o
 obj-$(CONFIG_MACH_IOMEGA_IX2_200_DT)	+= board-iomega_ix2_200.o
 obj-$(CONFIG_MACH_KM_KIRKWOOD_DT)	+= board-km_kirkwood.o
+obj-$(CONFIG_MACH_TOPKICK_DT)		+= board-usi_topkick.o
arch/arm/mach-kirkwood/board-dt.c +4 -0
index 70c5a28..33e9217 100644
@@ -96,6 +96,9 @@ static void __init kirkwood_dt_init(void)
 	if (of_machine_is_compatible("keymile,km_kirkwood"))
 		km_kirkwood_init();
 
+	if (of_machine_is_compatible("usi,topkick"))
+		usi_topkick_init();
+
 	of_platform_populate(NULL, kirkwood_dt_match_table,
 			     kirkwood_auxdata_lookup, NULL);
 }
@@ -112,6 +115,7 @@ static const char *kirkwood_dt_board_compat[] = {
 	"buffalo,lsxl",
 	"iom,ix2-200",
 	"keymile,km_kirkwood",
+	"usi,topkick",
 	NULL
 };
 
arch/arm/mach-kirkwood/board-usi_topkick.c new file +82 -0

82 lines not on this page · raw message

arch/arm/mach-kirkwood/common.h +6 -0
index bcffd7c..46b47d1 100644
@@ -112,6 +112,12 @@ void km_kirkwood_init(void);
 static inline void km_kirkwood_init(void) {};
 #endif
 
+#ifdef CONFIG_MACH_TOPKICK_DT
+void usi_topkick_init(void);
+#else
+static inline void usi_topkick_init(void) {};
+#endif
+
 /* early init functions not converted to fdt yet */
 char *kirkwood_id(void);
 void kirkwood_l2_init(void);
Signature · 1 line
1.7.12.4
#7 lore raw

PATCH v3 1/1 ARM: Kirkwood: new board USI Topkick

Quoted 304 lines · Jason Cooper

This is a new kirkwood box made by Universal Scientific Industrial, Inc. The product description is here:

http://www.usish.com/english/products_topkick1281p2.php

It is very similar to the dreamplug and other plug devices, with the exception that it has room for a 2.5" SATA HDD internally.

---
Changes since V2:
- corrected comments missed during copy/paste
- sorted topkick dtb Makefile entry alphabetically

Changes since V1:
- changes nr-ports to 1 for sata0
- included board in defconfig
- trimmed #includes
- added mvsdio init call

 arch/arm/boot/dts/Makefile                 |  1 +
 arch/arm/boot/dts/kirkwood-topkick.dts     | 85 ++++++++++++++++++++++++++++++
 arch/arm/configs/kirkwood_defconfig        |  1 +
 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-usi_topkick.c | 82 ++++++++++++++++++++++++++++
 arch/arm/mach-kirkwood/common.h            |  6 +++
 8 files changed, 187 insertions(+)
 create mode 100644 arch/arm/boot/dts/kirkwood-topkick.dts
 create mode 100644 arch/arm/mach-kirkwood/board-usi_topkick.c
arch/arm/boot/dts/Makefile +1 -0
index c1ce813..a2b6520 100644
@@ -37,6 +37,7 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-dns320.dtb \
 	kirkwood-km_kirkwood.dtb \
 	kirkwood-lschlv2.dtb \
 	kirkwood-lsxhl.dtb \
+	kirkwood-topkick.dtb \
 	kirkwood-ts219-6281.dtb \
 	kirkwood-ts219-6282.dtb
 dtb-$(CONFIG_ARCH_MSM) += msm8660-surf.dtb \
arch/arm/boot/dts/kirkwood-topkick.dts new file +85 -0
new file mode 100644
index 0000000..c0de5a7
@@ -0,0 +1,85 @@
+/dts-v1/;
+
+/include/ "kirkwood.dtsi"
+
+/ {
+	model = "Univeral Scientific Industrial Co. Topkick-1281P2";
+	compatible = "usi,topkick-1281P2", "usi,topkick", "marvell,kirkwood-88f6282", "marvell,kirkwood";
+
+	memory {
+		device_type = "memory";
+		reg = <0x00000000 0x10000000>;
+	};
+
+	chosen {
+		bootargs = "console=ttyS0,115200n8 earlyprintk";
+	};
+
+	ocp at f1000000 {
+		serial at 12000 {
+			clock-frequency = <200000000>;
+			status = "ok";
+		};
+
+		nand at 3000000 {
+			status = "okay";
+
+			partition at 0 {
+				label = "u-boot";
+				reg = <0x0000000 0x180000>;
+			};
+
+			partition at 180000 {
+				label = "u-boot env";
+				reg = <0x0180000 0x20000>;
+			};
+
+			partition at 200000 {
+				label = "uImage";
+				reg = <0x0200000 0x600000>;
+			};
+
+			partition at 800000 {
+				label = "uInitrd";
+				reg = <0x0800000 0x1000000>;
+			};
+
+			partition at 1800000 {
+				label = "rootfs";
+				reg = <0x1800000 0xe800000>;
+			};
+		};
+
+		sata at 80000 {
+			status = "okay";
+			nr-ports = <1>;
+		};
+	};
+
+	gpio-leds {
+		compatible = "gpio-leds";
+
+		disk {
+			label = "topkick:yellow:disk";
+			gpios = <&gpio0 21 1>;
+			linux,default-trigger = "ide-disk";
+		};
+		system2 {
+			label = "topkick:red:system";
+			gpios = <&gpio1 5 1>;
+		};
+		system {
+			label = "topkick:blue:system";
+			gpios = <&gpio1 6 1>;
+			default-state = "on";
+		};
+		wifi {
+			label = "topkick:green:wifi";
+			gpios = <&gpio1 7 1>;
+		};
+		wifi2 {
+			label = "topkick:yellow:wifi";
+			gpios = <&gpio1 16 1>;
+		};
+	};
+};
arch/arm/configs/kirkwood_defconfig +1 -0
index 74eee0c..72d6c28 100644
@@ -27,6 +27,7 @@ CONFIG_MACH_GOFLEXNET_DT=y
 CONFIG_MACH_LSXL_DT=y
 CONFIG_MACH_IOMEGA_IX2_200_DT=y
 CONFIG_MACH_KM_KIRKWOOD_DT=y
+CONFIG_MACH_TOPKICK_DT=y
 CONFIG_MACH_TS219=y
 CONFIG_MACH_TS41X=y
 CONFIG_MACH_DOCKSTAR=y
arch/arm/mach-kirkwood/Kconfig +7 -0
index 50bca50..b8b5c22 100644
@@ -130,6 +130,13 @@ config MACH_KM_KIRKWOOD_DT
 	  Say 'Y' here if you want your kernel to support the
 	  Keymile Kirkwood Reference Desgin, using Flattened Device Tree.
 
+config MACH_TOPKICK_DT
+	bool "USI Topkick (Flattened Device Tree)"
+	select ARCH_KIRKWOOD_DT
+	help
+	  Say 'Y' here if you want your kernel to support the
+	  USI Topkick, 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
arch/arm/mach-kirkwood/Makefile +1 -0
index 294779f..bd463df 100644
@@ -31,3 +31,4 @@ obj-$(CONFIG_MACH_GOFLEXNET_DT)		+= board-goflexnet.o
 obj-$(CONFIG_MACH_LSXL_DT)		+= board-lsxl.o
 obj-$(CONFIG_MACH_IOMEGA_IX2_200_DT)	+= board-iomega_ix2_200.o
 obj-$(CONFIG_MACH_KM_KIRKWOOD_DT)	+= board-km_kirkwood.o
+obj-$(CONFIG_MACH_TOPKICK_DT)		+= board-usi_topkick.o
arch/arm/mach-kirkwood/board-dt.c +4 -0
index 70c5a28..33e9217 100644
@@ -96,6 +96,9 @@ static void __init kirkwood_dt_init(void)
 	if (of_machine_is_compatible("keymile,km_kirkwood"))
 		km_kirkwood_init();
 
+	if (of_machine_is_compatible("usi,topkick"))
+		usi_topkick_init();
+
 	of_platform_populate(NULL, kirkwood_dt_match_table,
 			     kirkwood_auxdata_lookup, NULL);
 }
@@ -112,6 +115,7 @@ static const char *kirkwood_dt_board_compat[] = {
 	"buffalo,lsxl",
 	"iom,ix2-200",
 	"keymile,km_kirkwood",
+	"usi,topkick",
 	NULL
 };
 
arch/arm/mach-kirkwood/board-usi_topkick.c new file +82 -0
new file mode 100644
index 0000000..e2ec9d8
@@ -0,0 +1,82 @@
+/*
+ * Copyright 2012 (C), Jason Cooper <[email protected]>
+ *
+ * arch/arm/mach-kirkwood/board-usi_topkick.c
+ *
+ * USI Topkick 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 <linux/gpio.h>
+#include <linux/platform_data/mmc-mvsdio.h>
+#include "common.h"
+#include "mpp.h"
+
+static struct mv643xx_eth_platform_data topkick_ge00_data = {
+	.phy_addr	= MV643XX_ETH_PHY_ADDR(0),
+};
+
+static struct mvsdio_platform_data topkick_mvsdio_data = {
+	/* unfortunately the CD signal has not been connected */
+};
+
+/*
+ * GPIO LED layout
+ *
+ *       /-SYS_LED(2)
+ *       |
+ *       |   /-DISK_LED
+ *       |   |
+ *       |   |   /-WLAN_LED(2)
+ *       |   |   |
+ * [SW] [*] [*] [*]
+ */
+
+/*
+ * Switch positions
+ *
+ *     /-SW_LEFT
+ *     |
+ *     |   /-SW_IDLE
+ *     |   |
+ *     |   |   /-SW_RIGHT
+ *     |   |   |
+ * PS [L] [I] [R] LEDS
+ */
+
+static unsigned int topkick_mpp_config[] __initdata = {
+	MPP21_GPIO,	/* DISK_LED           (low active) - yellow */
+	MPP36_GPIO,	/* SATA0 power enable (high active) */
+	MPP37_GPIO,	/* SYS_LED2           (low active) - red */
+	MPP38_GPIO,	/* SYS_LED            (low active) - blue */
+	MPP39_GPIO,	/* WLAN_LED           (low active) - green */
+	MPP43_GPIO,	/* SW_LEFT            (low active) */
+	MPP44_GPIO,     /* SW_RIGHT           (low active) */
+	MPP45_GPIO,	/* SW_IDLE            (low active) */
+	MPP46_GPIO,     /* SW_LEFT            (low active) */
+	MPP48_GPIO,	/* WLAN_LED2          (low active) - yellow */
+	0
+};
+
+#define TOPKICK_SATA0_PWR_ENABLE 36
+
+void __init usi_topkick_init(void)
+{
+	/*
+	 * Basic setup. Needs to be called early.
+	 */
+	kirkwood_mpp_conf(topkick_mpp_config);
+
+	/* SATA0 power enable */
+	gpio_set_value(TOPKICK_SATA0_PWR_ENABLE, 1);
+
+	kirkwood_ehci_init();
+	kirkwood_ge00_init(&topkick_ge00_data);
+	kirkwood_sdio_init(&topkick_mvsdio_data);
+}
arch/arm/mach-kirkwood/common.h +6 -0
index bcffd7c..46b47d1 100644
@@ -112,6 +112,12 @@ void km_kirkwood_init(void);
 static inline void km_kirkwood_init(void) {};
 #endif
 
+#ifdef CONFIG_MACH_TOPKICK_DT
+void usi_topkick_init(void);
+#else
+static inline void usi_topkick_init(void) {};
+#endif
+
 /* early init functions not converted to fdt yet */
 char *kirkwood_id(void);
 void kirkwood_l2_init(void);
Signature · 1 line
1.7.12.4

Hi Jason

Looks good now.

It would be nice if somebody could add a

Tested-by:

since a few of us have this hardware, thanks to donations from Marvell.

How do you want to handle USB conversion to DT, and hopefully soon pinctrl?

Andrew

#8 lore raw

PATCH v3 1/1 ARM: Kirkwood: new board USI Topkick

Quoted 5 lines · Andrew Lunn
Quoted 2 lines · Jason Cooper

This is a new kirkwood box made by Universal Scientific Industrial, Inc. The product description is here:

It would be nice if somebody could add a

As I still have no rootfs on neither NAND, nor SATA the Tested-by is up to where kernel wants it's rootfs. But both NAND and SATA get detected correctly.

Sebastian