From: Mark Salter <msalter@redhat.com>
To: linux-arch@vger.kernel.org
Subject: [PATCH 22/24] C6X: specific board support
Date: Mon, 8 Aug 2011 17:44:37 -0400 [thread overview]
Message-ID: <1312839879-13592-23-git-send-email-msalter@redhat.com> (raw)
In-Reply-To: <1312839879-13592-1-git-send-email-msalter@redhat.com>
Signed-off-by: Mark Salter <msalter@redhat.com>
---
arch/c6x/platforms/board-dsk6455.c | 102 ++++++++++++++++++++++++++++++++++++
arch/c6x/platforms/board-evm6457.c | 51 ++++++++++++++++++
arch/c6x/platforms/board-evm6472.c | 51 ++++++++++++++++++
arch/c6x/platforms/board-evm6474.c | 53 +++++++++++++++++++
4 files changed, 257 insertions(+), 0 deletions(-)
create mode 100644 arch/c6x/platforms/board-dsk6455.c
create mode 100644 arch/c6x/platforms/board-evm6457.c
create mode 100644 arch/c6x/platforms/board-evm6472.c
create mode 100644 arch/c6x/platforms/board-evm6474.c
diff --git a/arch/c6x/platforms/board-dsk6455.c b/arch/c6x/platforms/board-dsk6455.c
new file mode 100644
index 0000000..62c9935
--- /dev/null
+++ b/arch/c6x/platforms/board-dsk6455.c
@@ -0,0 +1,102 @@
+/*
+ * linux/arch/c6x/platforms/board-dsk6455.c
+ *
+ * Port on Texas Instruments TMS320C6x architecture
+ *
+ * Copyright (C) 2008, 2009, 2010, 2011 Texas Instruments Incorporated
+ * Author: Aurelien Jacquiot (aurelien.jacquiot@virtuallogix.com)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#include <linux/of_platform.h>
+#include <linux/of_fdt.h>
+#include <linux/interrupt.h>
+#include <linux/delay.h>
+
+#include <asm/machdep.h>
+#include <asm/soc.h>
+#include "emif.h"
+#include "soc-6455.h"
+
+
+static void __init dsk6455_setup_arch(void)
+{
+ c6455_setup_arch();
+
+ /* CPLD */
+ emif_config_ce(2, EMIFA_CFG_ASYNC |
+ EMIFA_CFG_W_SETUP(1) |
+ EMIFA_CFG_W_STROBE(10) |
+ EMIFA_CFG_W_HOLD(1) |
+ EMIFA_CFG_R_SETUP(1) |
+ EMIFA_CFG_R_STROBE(10) |
+ EMIFA_CFG_R_HOLD(1) |
+ EMIFA_CFG_WIDTH_8);
+
+ /* NOR Flash */
+ emif_config_ce(3, EMIFA_CFG_ASYNC |
+ EMIFA_CFG_W_SETUP(1) |
+ EMIFA_CFG_W_STROBE(10) |
+ EMIFA_CFG_W_HOLD(1) |
+ EMIFA_CFG_R_SETUP(1) |
+ EMIFA_CFG_R_STROBE(10) |
+ EMIFA_CFG_R_HOLD(1) |
+ EMIFA_CFG_WIDTH_8);
+
+ /* Daughter Card */
+ emif_config_ce(4, EMIFA_CFG_ASYNC |
+ EMIFA_CFG_W_SETUP(1) |
+ EMIFA_CFG_W_STROBE(10) |
+ EMIFA_CFG_W_HOLD(1) |
+ EMIFA_CFG_R_SETUP(1) |
+ EMIFA_CFG_R_STROBE(10) |
+ EMIFA_CFG_R_HOLD(1) |
+ EMIFA_CFG_WIDTH_32);
+
+ /* Daughter Card */
+ emif_config_ce(5, EMIFA_CFG_ASYNC |
+ EMIFA_CFG_W_SETUP(1) |
+ EMIFA_CFG_W_STROBE(10) |
+ EMIFA_CFG_W_HOLD(1) |
+ EMIFA_CFG_R_SETUP(1) |
+ EMIFA_CFG_R_STROBE(10) |
+ EMIFA_CFG_R_HOLD(1) |
+ EMIFA_CFG_WIDTH_32);
+
+ /* Raise priority of waiting bus commands after 255 transfers */
+ emif_set_burst_prio(255);
+}
+
+static struct of_device_id dsk6455_ids[] = {
+ { .type = "soc", },
+ { .compatible = "soc", },
+ { .compatible = "simple-bus", },
+ { .compatible = "ti,c64x+emac", },
+ {},
+};
+
+static int __init dsk6455_publish_devices(void)
+{
+ of_platform_bus_probe(NULL, dsk6455_ids, NULL);
+
+ return 0;
+}
+machine_device_initcall(dsk6455, dsk6455_publish_devices);
+
+static int __init dsk6455_probe(void)
+{
+ unsigned long root = of_get_flat_dt_root();
+
+ if (!of_flat_dt_is_compatible(root, "spectrum-digital,dsk6455"))
+ return 0;
+
+ return 1;
+}
+
+define_machine(dsk6455) {
+ .name = "DSK6455",
+ .probe = dsk6455_probe,
+ .setup_arch = dsk6455_setup_arch,
+};
diff --git a/arch/c6x/platforms/board-evm6457.c b/arch/c6x/platforms/board-evm6457.c
new file mode 100644
index 0000000..a3de421
--- /dev/null
+++ b/arch/c6x/platforms/board-evm6457.c
@@ -0,0 +1,51 @@
+/*
+ * linux/arch/c6x/platforms/board-evm6457.c
+ *
+ * Port on Texas Instruments TMS320C6x architecture
+ *
+ * Copyright (C) 2008, 2009, 2010, 2011 Texas Instruments Incorporated
+ * Author: Aurelien Jacquiot (aurelien.jacquiot@virtuallogix.com)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#include <linux/of_platform.h>
+#include <linux/of_fdt.h>
+
+#include <asm/machdep.h>
+#include <asm/soc.h>
+
+#include "soc-6457.h"
+
+static struct of_device_id evm6457_ids[] = {
+ { .type = "soc", },
+ { .compatible = "soc", },
+ { .compatible = "simple-bus", },
+ { .compatible = "ti,c64x+emac", },
+ {},
+};
+
+static int __init evm6457_publish_devices(void)
+{
+ of_platform_bus_probe(NULL, evm6457_ids, NULL);
+
+ return 0;
+}
+machine_device_initcall(evmc6457, evm6457_publish_devices);
+
+static int __init evmc6457_probe(void)
+{
+ unsigned long root = of_get_flat_dt_root();
+
+ if (!of_flat_dt_is_compatible(root, "einfochips,evmc6457"))
+ return 0;
+
+ return 1;
+}
+
+define_machine(evmc6457) {
+ .name = "EVMC6457",
+ .probe = evmc6457_probe,
+ .setup_arch = c6457_setup_arch,
+};
diff --git a/arch/c6x/platforms/board-evm6472.c b/arch/c6x/platforms/board-evm6472.c
new file mode 100644
index 0000000..64fbd4e
--- /dev/null
+++ b/arch/c6x/platforms/board-evm6472.c
@@ -0,0 +1,51 @@
+/*
+ * linux/arch/c6x/platforms/board-evm6472.c
+ *
+ * Port on Texas Instruments TMS320C6x architecture
+ *
+ * Copyright (C) 2008, 2009, 2010, 2011 Texas Instruments Incorporated
+ * Author: Aurelien Jacquiot (aurelien.jacquiot@virtuallogix.com)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#include <linux/of_platform.h>
+#include <linux/of_fdt.h>
+
+#include <asm/machdep.h>
+#include <asm/soc.h>
+
+#include "soc-6472.h"
+
+static struct of_device_id evm6472_ids[] = {
+ { .type = "soc", },
+ { .compatible = "soc", },
+ { .compatible = "simple-bus", },
+ { .compatible = "ti,c64x+emac", },
+ {},
+};
+
+static int __init evm6472_publish_devices(void)
+{
+ of_platform_bus_probe(NULL, evm6472_ids, NULL);
+
+ return 0;
+}
+machine_device_initcall(evmc6472, evm6472_publish_devices);
+
+static int __init evmc6472_probe(void)
+{
+ unsigned long root = of_get_flat_dt_root();
+
+ if (!of_flat_dt_is_compatible(root, "einfochips,evmc6472"))
+ return 0;
+
+ return 1;
+}
+
+define_machine(evmc6472) {
+ .name = "EVMC6472",
+ .probe = evmc6472_probe,
+ .setup_arch = c6472_setup_arch,
+};
diff --git a/arch/c6x/platforms/board-evm6474.c b/arch/c6x/platforms/board-evm6474.c
new file mode 100644
index 0000000..39d8b0f
--- /dev/null
+++ b/arch/c6x/platforms/board-evm6474.c
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2010, 2011 Texas Instruments Incorporated
+ *
+ * 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 version 2.
+ *
+ * This program is distributed "as is" WITHOUT ANY WARRANTY of any
+ * kind, whether express or implied; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+#include <linux/of_platform.h>
+#include <linux/of_fdt.h>
+#include <linux/interrupt.h>
+
+#include <asm/machdep.h>
+#include <asm/soc.h>
+
+#include "soc-6474.h"
+
+
+static struct of_device_id evm6474_ids[] = {
+ { .type = "soc", },
+ { .compatible = "soc", },
+ { .compatible = "simple-bus", },
+ { .compatible = "ti,c64x+emac", },
+ {},
+};
+
+static int __init evm6474_publish_devices(void)
+{
+ of_platform_bus_probe(NULL, evm6474_ids, NULL);
+
+ return 0;
+}
+machine_device_initcall(evmc6474, evm6474_publish_devices);
+
+static int __init evmc6474_probe(void)
+{
+ unsigned long root = of_get_flat_dt_root();
+
+ if (!of_flat_dt_is_compatible(root, "spectrum-digital,evmc6474"))
+ return 0;
+
+ return 1;
+}
+
+define_machine(evmc6474) {
+ .name = "EVMC6474",
+ .probe = evmc6474_probe,
+ .setup_arch = c6474_setup_arch,
+};
--
1.7.6
next prev parent reply other threads:[~2011-08-08 21:44 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-08 21:44 [PATCH 00/24] C6X: New architecture patch set Mark Salter
2011-08-08 21:44 ` [PATCH 01/24] fix default __strnlen_user macro Mark Salter
2011-08-08 21:44 ` [PATCH 02/24] fixed generic page.h for non-zero PAGE_OFFSET Mark Salter
2011-08-09 15:11 ` Arnd Bergmann
2011-08-08 21:44 ` [PATCH 03/24] add ELF machine define for TI C6X DSPs Mark Salter
2011-08-09 15:12 ` Arnd Bergmann
2011-08-08 21:44 ` [PATCH 04/24] C6X: build infrastructure Mark Salter
2011-08-09 15:21 ` Arnd Bergmann
2011-08-09 15:56 ` Mark Salter
2011-08-09 19:17 ` Sam Ravnborg
2011-08-08 21:44 ` [PATCH 05/24] C6X: early boot code Mark Salter
2011-08-09 16:12 ` Arnd Bergmann
2011-08-09 19:26 ` Sam Ravnborg
2011-08-08 21:44 ` [PATCH 06/24] C6X: devicetree Mark Salter
2011-08-09 16:14 ` Arnd Bergmann
2011-08-08 21:44 ` [PATCH 07/24] C6X: memory management Mark Salter
2011-08-09 16:27 ` Arnd Bergmann
2011-08-17 13:26 ` Mark Salter
2011-08-17 13:34 ` Arnd Bergmann
2011-08-08 21:44 ` [PATCH 08/24] C6X: process management Mark Salter
2011-08-09 16:31 ` Arnd Bergmann
2011-08-08 21:44 ` [PATCH 09/24] C6X: signal management Mark Salter
2011-08-08 21:44 ` [PATCH 10/24] C6X: time management Mark Salter
2011-08-09 16:35 ` Arnd Bergmann
2011-08-17 13:15 ` Mark Salter
2011-08-17 13:31 ` Arnd Bergmann
2011-08-08 21:44 ` [PATCH 11/24] C6X: interrupt handling Mark Salter
2011-08-09 16:39 ` Arnd Bergmann
2011-08-08 21:44 ` [PATCH 12/24] C6X: syscalls Mark Salter
2011-08-09 16:47 ` Arnd Bergmann
2011-08-08 21:44 ` [PATCH 13/24] C6X: traps Mark Salter
2011-08-08 21:44 ` [PATCH 14/24] C6X: clocks Mark Salter
2011-08-08 21:44 ` [PATCH 15/24] C6X: cache control Mark Salter
2011-08-09 16:53 ` Arnd Bergmann
2011-08-09 17:03 ` David Howells
2011-08-10 9:38 ` Arnd Bergmann
2011-08-08 21:44 ` [PATCH 16/24] C6X: module support Mark Salter
2011-08-09 16:56 ` Arnd Bergmann
2011-08-08 21:44 ` [PATCH 17/24] C6X: ptrace support Mark Salter
2011-08-09 16:58 ` Arnd Bergmann
2011-08-08 21:44 ` [PATCH 18/24] C6X: headers Mark Salter
2011-08-08 21:44 ` [PATCH 19/24] C6X: library code Mark Salter
2011-08-08 21:44 ` [PATCH 20/24] C6X: general machine and SoC support Mark Salter
2011-08-08 21:44 ` [PATCH 21/24] C6X: specific " Mark Salter
2011-08-08 21:44 ` Mark Salter [this message]
2011-08-09 17:04 ` [PATCH 22/24] C6X: specific board support Arnd Bergmann
2011-08-09 17:16 ` Mark Salter
2011-08-10 14:26 ` Arnd Bergmann
2011-08-08 21:44 ` [PATCH 23/24] C6X: miscellaneous low-level SoC support Mark Salter
2011-08-09 17:10 ` Arnd Bergmann
2011-08-08 21:44 ` [PATCH 24/24] C6X: MAINTAINERS Mark Salter
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=1312839879-13592-23-git-send-email-msalter@redhat.com \
--to=msalter@redhat.com \
--cc=linux-arch@vger.kernel.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;
as well as URLs for NNTP newsgroup(s).