ARM: nomadik: move SoC sources to mach-nomadik
authorMasahiro Yamada <yamada.m@jp.panasonic.com>
Fri, 20 Feb 2015 08:04:07 +0000 (17:04 +0900)
committerTom Rini <trini@ti.com>
Sat, 21 Feb 2015 13:23:51 +0000 (08:23 -0500)
Move
arch/arm/cpu/arm926ejs/nomadik/* -> arch/arm/mach-nomadik/*

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Nomadik Linux Team <STN_WMM_nomadik_linux@list.st.com>
Cc: Alessandro Rubini <rubini@unipv.it>
13 files changed:
arch/arm/Kconfig
arch/arm/Makefile
arch/arm/cpu/arm926ejs/Makefile
arch/arm/cpu/arm926ejs/nomadik/Kconfig [deleted file]
arch/arm/cpu/arm926ejs/nomadik/Makefile [deleted file]
arch/arm/cpu/arm926ejs/nomadik/gpio.c [deleted file]
arch/arm/cpu/arm926ejs/nomadik/reset.S [deleted file]
arch/arm/cpu/arm926ejs/nomadik/timer.c [deleted file]
arch/arm/mach-nomadik/Kconfig [new file with mode: 0644]
arch/arm/mach-nomadik/Makefile [new file with mode: 0644]
arch/arm/mach-nomadik/gpio.c [new file with mode: 0644]
arch/arm/mach-nomadik/reset.S [new file with mode: 0644]
arch/arm/mach-nomadik/timer.c [new file with mode: 0644]

index dba6518fb31d58b738a810bbc4713ae11809f2b5..1bac51153156b9ae4edcc871f5d77c888a2a3ae7 100644 (file)
@@ -728,7 +728,7 @@ source "arch/arm/cpu/armv7/keystone/Kconfig"
 
 source "arch/arm/mach-kirkwood/Kconfig"
 
-source "arch/arm/cpu/arm926ejs/nomadik/Kconfig"
+source "arch/arm/mach-nomadik/Kconfig"
 
 source "arch/arm/cpu/armv7/omap3/Kconfig"
 
index e09de5182efaa9201e0ad627a6d8179405b8609c..32d039c2d0daa5fa0bd321e7e25f68f0385363a6 100644 (file)
@@ -9,6 +9,7 @@ machine-$(CONFIG_ARCH_DAVINCI)          += davinci
 # TODO: rename CONFIG_KIRKWOOD -> CONFIG_ARCH_KIRKWOOD
 machine-$(CONFIG_KIRKWOOD)             += kirkwood
 # TODO: rename CONFIG_TEGRA -> CONFIG_ARCH_TEGRA
+machine-$(CONFIG_ARCH_NOMADIK)         += nomadik
 machine-$(CONFIG_TEGRA)                        += tegra
 
 machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y))
index 0b43a90fbd4e8bf6e4efa8a768b8c25c29db2a48..ed0cf0fa0590698b7c8d4eabf7e21ef18c081e01 100644 (file)
@@ -20,7 +20,6 @@ obj-$(CONFIG_MB86R0x) += mb86r0x/
 obj-$(CONFIG_MX25) += mx25/
 obj-$(CONFIG_MX27) += mx27/
 obj-$(if $(filter mxs,$(SOC)),y) += mxs/
-obj-$(CONFIG_ARCH_NOMADIK) += nomadik/
 obj-$(CONFIG_ORION5X) += orion5x/
 obj-$(CONFIG_PANTHEON) += pantheon/
 obj-$(if $(filter spear,$(SOC)),y) += spear/
diff --git a/arch/arm/cpu/arm926ejs/nomadik/Kconfig b/arch/arm/cpu/arm926ejs/nomadik/Kconfig
deleted file mode 100644 (file)
index 265f336..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-if ARCH_NOMADIK
-
-choice
-       prompt "Nomadik board select"
-
-config NOMADIK_NHK8815
-       bool "ST 8815 Nomadik Hardware Kit"
-
-endchoice
-
-config SYS_SOC
-       default "nomadik"
-
-source "board/st/nhk8815/Kconfig"
-
-endif
diff --git a/arch/arm/cpu/arm926ejs/nomadik/Makefile b/arch/arm/cpu/arm926ejs/nomadik/Makefile
deleted file mode 100644 (file)
index cdf1345..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-#
-# (C) Copyright 2000-2006
-# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
-#
-# SPDX-License-Identifier:     GPL-2.0+
-#
-
-obj-y  = timer.o gpio.o
-obj-y  += reset.o
diff --git a/arch/arm/cpu/arm926ejs/nomadik/gpio.c b/arch/arm/cpu/arm926ejs/nomadik/gpio.c
deleted file mode 100644 (file)
index eff5b2b..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * (C) Copyright 2009 Alessandro Rubini
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-#include <common.h>
-#include <asm/io.h>
-#include <asm/arch/gpio.h>
-
-static unsigned long gpio_base[4] = {
-       NOMADIK_GPIO0_BASE,
-       NOMADIK_GPIO1_BASE,
-       NOMADIK_GPIO2_BASE,
-       NOMADIK_GPIO3_BASE
-};
-
-enum gpio_registers {
-       GPIO_DAT =      0x00,           /* data register */
-       GPIO_DATS =     0x04,           /* data set */
-       GPIO_DATC =     0x08,           /* data clear */
-       GPIO_PDIS =     0x0c,           /* pull disable */
-       GPIO_DIR =      0x10,           /* direction */
-       GPIO_DIRS =     0x14,           /* direction set */
-       GPIO_DIRC =     0x18,           /* direction clear */
-       GPIO_AFSLA =    0x20,           /* alternate function select A */
-       GPIO_AFSLB =    0x24,           /* alternate function select B */
-};
-
-static inline unsigned long gpio_to_base(int gpio)
-{
-       return gpio_base[gpio / 32];
-}
-
-static inline u32 gpio_to_bit(int gpio)
-{
-       return 1 << (gpio & 0x1f);
-}
-
-void nmk_gpio_af(int gpio, int alternate_function)
-{
-       unsigned long base = gpio_to_base(gpio);
-       u32 bit = gpio_to_bit(gpio);
-       u32 afunc, bfunc;
-
-       /* alternate function is 0..3, with one bit per register */
-       afunc = readl(base + GPIO_AFSLA) & ~bit;
-       bfunc = readl(base + GPIO_AFSLB) & ~bit;
-       if (alternate_function & 1) afunc |= bit;
-       if (alternate_function & 2) bfunc |= bit;
-       writel(afunc, base + GPIO_AFSLA);
-       writel(bfunc, base + GPIO_AFSLB);
-}
-
-void nmk_gpio_dir(int gpio, int dir)
-{
-       unsigned long base = gpio_to_base(gpio);
-       u32 bit = gpio_to_bit(gpio);
-
-       if (dir)
-               writel(bit, base + GPIO_DIRS);
-       else
-               writel(bit, base + GPIO_DIRC);
-}
-
-void nmk_gpio_set(int gpio, int val)
-{
-       unsigned long base = gpio_to_base(gpio);
-       u32 bit = gpio_to_bit(gpio);
-
-       if (val)
-               writel(bit, base + GPIO_DATS);
-       else
-               writel(bit, base + GPIO_DATC);
-}
-
-int nmk_gpio_get(int gpio)
-{
-       unsigned long base = gpio_to_base(gpio);
-       u32 bit = gpio_to_bit(gpio);
-
-       return readl(base + GPIO_DAT) & bit;
-}
diff --git a/arch/arm/cpu/arm926ejs/nomadik/reset.S b/arch/arm/cpu/arm926ejs/nomadik/reset.S
deleted file mode 100644 (file)
index ec95472..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <config.h>
-/*
- * Processor reset for Nomadik
- */
-
-       .align 5
-.globl reset_cpu
-reset_cpu:
-       ldr     r0, =NOMADIK_SRC_BASE   /* System and Reset Controller */
-       ldr     r1, =0x1
-       str     r1, [r0, #0x18]
-
-_loop_forever:
-       b       _loop_forever
diff --git a/arch/arm/cpu/arm926ejs/nomadik/timer.c b/arch/arm/cpu/arm926ejs/nomadik/timer.c
deleted file mode 100644 (file)
index 775d0b7..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * (C) Copyright 2009 Alessandro Rubini
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-#include <common.h>
-#include <asm/io.h>
-#include <asm/arch/mtu.h>
-
-/*
- * The timer is a decrementer, we'll left it free running at 2.4MHz.
- * We have 2.4 ticks per microsecond and an overflow in almost 30min
- */
-#define TIMER_CLOCK            (24 * 100 * 1000)
-#define COUNT_TO_USEC(x)       ((x) * 5 / 12)  /* overflows at 6min */
-#define USEC_TO_COUNT(x)       ((x) * 12 / 5)  /* overflows at 6min */
-#define TICKS_PER_HZ           (TIMER_CLOCK / CONFIG_SYS_HZ)
-#define TICKS_TO_HZ(x)         ((x) / TICKS_PER_HZ)
-
-/* macro to read the decrementing 32 bit timer as an increasing count */
-#define READ_TIMER() (0 - readl(CONFIG_SYS_TIMERBASE + MTU_VAL(0)))
-
-/* Configure a free-running, auto-wrap counter with no prescaler */
-int timer_init(void)
-{
-       ulong val;
-
-       writel(MTU_CRn_ENA | MTU_CRn_PRESCALE_1 | MTU_CRn_32BITS,
-              CONFIG_SYS_TIMERBASE + MTU_CR(0));
-
-       /* Reset the timer */
-       writel(0, CONFIG_SYS_TIMERBASE + MTU_LR(0));
-       /*
-        * The load-register isn't really immediate: it changes on clock
-        * edges, so we must wait for our newly-written value to appear.
-        * Since we might miss reading 0, wait for any change in value.
-        */
-       val = READ_TIMER();
-       while (READ_TIMER() == val)
-               ;
-
-       return 0;
-}
-
-/* Return how many HZ passed since "base" */
-ulong get_timer(ulong base)
-{
-       return  TICKS_TO_HZ(READ_TIMER()) - base;
-}
-
-/* Delay x useconds */
-void __udelay(unsigned long usec)
-{
-       ulong ini, end;
-
-       ini = READ_TIMER();
-       end = ini + USEC_TO_COUNT(usec);
-       while ((signed)(end - READ_TIMER()) > 0)
-               ;
-}
-
-unsigned long long get_ticks(void)
-{
-       return get_timer(0);
-}
-
-ulong get_tbclk(void)
-{
-       return CONFIG_SYS_HZ;
-}
diff --git a/arch/arm/mach-nomadik/Kconfig b/arch/arm/mach-nomadik/Kconfig
new file mode 100644 (file)
index 0000000..265f336
--- /dev/null
@@ -0,0 +1,16 @@
+if ARCH_NOMADIK
+
+choice
+       prompt "Nomadik board select"
+
+config NOMADIK_NHK8815
+       bool "ST 8815 Nomadik Hardware Kit"
+
+endchoice
+
+config SYS_SOC
+       default "nomadik"
+
+source "board/st/nhk8815/Kconfig"
+
+endif
diff --git a/arch/arm/mach-nomadik/Makefile b/arch/arm/mach-nomadik/Makefile
new file mode 100644 (file)
index 0000000..cdf1345
--- /dev/null
@@ -0,0 +1,9 @@
+#
+# (C) Copyright 2000-2006
+# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+#
+# SPDX-License-Identifier:     GPL-2.0+
+#
+
+obj-y  = timer.o gpio.o
+obj-y  += reset.o
diff --git a/arch/arm/mach-nomadik/gpio.c b/arch/arm/mach-nomadik/gpio.c
new file mode 100644 (file)
index 0000000..eff5b2b
--- /dev/null
@@ -0,0 +1,83 @@
+/*
+ * (C) Copyright 2009 Alessandro Rubini
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <asm/arch/gpio.h>
+
+static unsigned long gpio_base[4] = {
+       NOMADIK_GPIO0_BASE,
+       NOMADIK_GPIO1_BASE,
+       NOMADIK_GPIO2_BASE,
+       NOMADIK_GPIO3_BASE
+};
+
+enum gpio_registers {
+       GPIO_DAT =      0x00,           /* data register */
+       GPIO_DATS =     0x04,           /* data set */
+       GPIO_DATC =     0x08,           /* data clear */
+       GPIO_PDIS =     0x0c,           /* pull disable */
+       GPIO_DIR =      0x10,           /* direction */
+       GPIO_DIRS =     0x14,           /* direction set */
+       GPIO_DIRC =     0x18,           /* direction clear */
+       GPIO_AFSLA =    0x20,           /* alternate function select A */
+       GPIO_AFSLB =    0x24,           /* alternate function select B */
+};
+
+static inline unsigned long gpio_to_base(int gpio)
+{
+       return gpio_base[gpio / 32];
+}
+
+static inline u32 gpio_to_bit(int gpio)
+{
+       return 1 << (gpio & 0x1f);
+}
+
+void nmk_gpio_af(int gpio, int alternate_function)
+{
+       unsigned long base = gpio_to_base(gpio);
+       u32 bit = gpio_to_bit(gpio);
+       u32 afunc, bfunc;
+
+       /* alternate function is 0..3, with one bit per register */
+       afunc = readl(base + GPIO_AFSLA) & ~bit;
+       bfunc = readl(base + GPIO_AFSLB) & ~bit;
+       if (alternate_function & 1) afunc |= bit;
+       if (alternate_function & 2) bfunc |= bit;
+       writel(afunc, base + GPIO_AFSLA);
+       writel(bfunc, base + GPIO_AFSLB);
+}
+
+void nmk_gpio_dir(int gpio, int dir)
+{
+       unsigned long base = gpio_to_base(gpio);
+       u32 bit = gpio_to_bit(gpio);
+
+       if (dir)
+               writel(bit, base + GPIO_DIRS);
+       else
+               writel(bit, base + GPIO_DIRC);
+}
+
+void nmk_gpio_set(int gpio, int val)
+{
+       unsigned long base = gpio_to_base(gpio);
+       u32 bit = gpio_to_bit(gpio);
+
+       if (val)
+               writel(bit, base + GPIO_DATS);
+       else
+               writel(bit, base + GPIO_DATC);
+}
+
+int nmk_gpio_get(int gpio)
+{
+       unsigned long base = gpio_to_base(gpio);
+       u32 bit = gpio_to_bit(gpio);
+
+       return readl(base + GPIO_DAT) & bit;
+}
diff --git a/arch/arm/mach-nomadik/reset.S b/arch/arm/mach-nomadik/reset.S
new file mode 100644 (file)
index 0000000..ec95472
--- /dev/null
@@ -0,0 +1,14 @@
+#include <config.h>
+/*
+ * Processor reset for Nomadik
+ */
+
+       .align 5
+.globl reset_cpu
+reset_cpu:
+       ldr     r0, =NOMADIK_SRC_BASE   /* System and Reset Controller */
+       ldr     r1, =0x1
+       str     r1, [r0, #0x18]
+
+_loop_forever:
+       b       _loop_forever
diff --git a/arch/arm/mach-nomadik/timer.c b/arch/arm/mach-nomadik/timer.c
new file mode 100644 (file)
index 0000000..775d0b7
--- /dev/null
@@ -0,0 +1,71 @@
+/*
+ * (C) Copyright 2009 Alessandro Rubini
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <asm/arch/mtu.h>
+
+/*
+ * The timer is a decrementer, we'll left it free running at 2.4MHz.
+ * We have 2.4 ticks per microsecond and an overflow in almost 30min
+ */
+#define TIMER_CLOCK            (24 * 100 * 1000)
+#define COUNT_TO_USEC(x)       ((x) * 5 / 12)  /* overflows at 6min */
+#define USEC_TO_COUNT(x)       ((x) * 12 / 5)  /* overflows at 6min */
+#define TICKS_PER_HZ           (TIMER_CLOCK / CONFIG_SYS_HZ)
+#define TICKS_TO_HZ(x)         ((x) / TICKS_PER_HZ)
+
+/* macro to read the decrementing 32 bit timer as an increasing count */
+#define READ_TIMER() (0 - readl(CONFIG_SYS_TIMERBASE + MTU_VAL(0)))
+
+/* Configure a free-running, auto-wrap counter with no prescaler */
+int timer_init(void)
+{
+       ulong val;
+
+       writel(MTU_CRn_ENA | MTU_CRn_PRESCALE_1 | MTU_CRn_32BITS,
+              CONFIG_SYS_TIMERBASE + MTU_CR(0));
+
+       /* Reset the timer */
+       writel(0, CONFIG_SYS_TIMERBASE + MTU_LR(0));
+       /*
+        * The load-register isn't really immediate: it changes on clock
+        * edges, so we must wait for our newly-written value to appear.
+        * Since we might miss reading 0, wait for any change in value.
+        */
+       val = READ_TIMER();
+       while (READ_TIMER() == val)
+               ;
+
+       return 0;
+}
+
+/* Return how many HZ passed since "base" */
+ulong get_timer(ulong base)
+{
+       return  TICKS_TO_HZ(READ_TIMER()) - base;
+}
+
+/* Delay x useconds */
+void __udelay(unsigned long usec)
+{
+       ulong ini, end;
+
+       ini = READ_TIMER();
+       end = ini + USEC_TO_COUNT(usec);
+       while ((signed)(end - READ_TIMER()) > 0)
+               ;
+}
+
+unsigned long long get_ticks(void)
+{
+       return get_timer(0);
+}
+
+ulong get_tbclk(void)
+{
+       return CONFIG_SYS_HZ;
+}