From: Sam Ravnborg <sam@ravnborg.org>
To: Barebox List <barebox@lists.infradead.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Subject: [PATCH 10/25] usb-a926x: move reset vector to board code
Date: Mon, 1 Jan 2018 17:48:05 +0100 [thread overview]
Message-ID: <20180101164808.32371-2-sam@ravnborg.org> (raw)
In-Reply-To: <20171231083407.GA16645@ravnborg.org>
For all Calao USB boards move reset vector to board code.
Introduce two different lowlevel.c files, one
for each processor.
Include a rename to make filenames similar.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
---
arch/arm/boards/usb-a926x/Makefile | 4 +-
arch/arm/boards/usb-a926x/usb_a9260_lowlevel.c | 26 +++++++++++++
..._a9263_lowlevel_init.c => usb_a9263_lowlevel.c} | 43 ++++++++++++++++------
arch/arm/mach-at91/Kconfig | 5 +--
4 files changed, 62 insertions(+), 16 deletions(-)
create mode 100644 arch/arm/boards/usb-a926x/usb_a9260_lowlevel.c
rename arch/arm/boards/usb-a926x/{usb_a9263_lowlevel_init.c => usb_a9263_lowlevel.c} (76%)
diff --git a/arch/arm/boards/usb-a926x/Makefile b/arch/arm/boards/usb-a926x/Makefile
index a4eae1844..65cc4082f 100644
--- a/arch/arm/boards/usb-a926x/Makefile
+++ b/arch/arm/boards/usb-a926x/Makefile
@@ -2,6 +2,8 @@ obj-y += init.o
obj-$(CONFIG_AT91_BOOTSTRAP) += usb_a9263_bootstrap.o
-lwl-$(CONFIG_AT91SAM926X_LWL) += usb_a9263_lowlevel_init.o
+lwl-$(CONFIG_MACH_USB_A9260) += usb_a9260_lowlevel.o
+lwl-$(CONFIG_MACH_USB_A9G20) += usb_a9260_lowlevel.o
+lwl-$(CONFIG_MACH_USB_A9263) += usb_a9263_lowlevel.o
bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-usb-a926x
diff --git a/arch/arm/boards/usb-a926x/usb_a9260_lowlevel.c b/arch/arm/boards/usb-a926x/usb_a9260_lowlevel.c
new file mode 100644
index 000000000..02896856d
--- /dev/null
+++ b/arch/arm/boards/usb-a926x/usb_a9260_lowlevel.c
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2009-2013 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Under GPLv2
+ */
+
+#include <common.h>
+#include <init.h>
+
+#include <asm/barebox-arm-head.h>
+#include <asm/barebox-arm.h>
+
+#include <mach/at91sam9_sdramc.h>
+#include <mach/at91sam9260.h>
+#include <mach/hardware.h>
+
+void __naked __bare_init barebox_arm_reset_vector(void)
+{
+ arm_cpu_lowlevel_init();
+
+ arm_setup_stack(AT91SAM9260_SRAM_BASE + AT91SAM9260_SRAM_SIZE - 16);
+
+ barebox_arm_entry(AT91_CHIPSELECT_1,
+ at91_get_sdram_size(IOMEM(AT91SAM9260_BASE_SDRAMC)),
+ NULL);
+}
diff --git a/arch/arm/boards/usb-a926x/usb_a9263_lowlevel_init.c b/arch/arm/boards/usb-a926x/usb_a9263_lowlevel.c
similarity index 76%
rename from arch/arm/boards/usb-a926x/usb_a9263_lowlevel_init.c
rename to arch/arm/boards/usb-a926x/usb_a9263_lowlevel.c
index f6dc58e3f..066452b95 100644
--- a/arch/arm/boards/usb-a926x/usb_a9263_lowlevel_init.c
+++ b/arch/arm/boards/usb-a926x/usb_a9263_lowlevel.c
@@ -4,16 +4,12 @@
* Under GPLv2
*/
-#include <common.h>
-#include <init.h>
-#include <mach/hardware.h>
-#include <mach/at91_rstc.h>
-#include <mach/at91_wdt.h>
-#include <mach/at91_pmc.h>
-#include <mach/at91sam9_smc.h>
-#include <mach/at91sam9_sdramc.h>
-#include <mach/at91sam9_matrix.h>
-#include <mach/at91_lowlevel_init.h>
+#include <linux/sizes.h>
+
+#include <asm/barebox-arm.h>
+
+#include <mach/at91sam926x_board_init.h>
+#include <mach/at91sam9263_matrix.h>
#define MASTER_CLOCK 180
@@ -24,7 +20,7 @@
#endif
#define MASTER_PLL_DIV 6
-void __bare_init at91sam926x_lowlevel_board_config(struct at91sam926x_lowlevel_cfg *cfg)
+static void __bare_init usb_a9263_board_config(struct at91sam926x_board_cfg *cfg)
{
/* Disable Watchdog */
cfg->wdt_mr =
@@ -109,3 +105,28 @@ void __bare_init at91sam926x_lowlevel_board_config(struct at91sam926x_lowlevel_c
AT91_RSTC_RSTTYP_WAKEUP |
AT91_RSTC_RSTTYP_WATCHDOG;
}
+
+static void __bare_init usb_a9263_init(void)
+{
+ struct at91sam926x_board_cfg cfg;
+
+ cfg.pio = IOMEM(AT91SAM9263_BASE_PIOD);
+ cfg.sdramc = IOMEM(AT91SAM9263_BASE_SDRAMC0);
+ cfg.ebi_pio_is_peripha = true;
+ cfg.matrix_csa = AT91_MATRIX_EBI0CSA;
+
+ usb_a9263_board_config(&cfg);
+ at91sam926x_board_init(&cfg);
+
+ barebox_arm_entry(AT91_CHIPSELECT_1, at91_get_sdram_size(cfg.sdramc),
+ NULL);
+}
+
+void __naked __bare_init barebox_arm_reset_vector(void)
+{
+ arm_cpu_lowlevel_init();
+
+ arm_setup_stack(AT91SAM9263_SRAM0_BASE + AT91SAM9263_SRAM0_SIZE - 16);
+
+ usb_a9263_init();
+}
diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
index a622279d7..306f82497 100644
--- a/arch/arm/mach-at91/Kconfig
+++ b/arch/arm/mach-at91/Kconfig
@@ -305,7 +305,6 @@ config MACH_TNY_A9260
config MACH_USB_A9260
bool "CALAO USB-A9260"
select SUPPORT_CALAO_DAB_MMX
- select AT91SAM9260_LWL
help
Select this if you are using a Calao Systems USB-A9260.
<http://www.calao-systems.com>
@@ -396,7 +395,6 @@ config MACH_TNY_A9G20
config MACH_USB_A9G20
bool "CALAO USB-A9G20"
select SUPPORT_CALAO_DAB_MMX
- select AT91SAM9260_LWL
help
Select this if you are using a Calao Systems USB-A9G20.
<http://www.calao-systems.com>
@@ -466,8 +464,7 @@ config MACH_TNY_A9263
config MACH_USB_A9263
bool "CALAO USB-A9263"
select HAVE_AT91_BOOTSTRAP
- select AT91SAM9263_LWL
- select AT91SAM926X_LWL
+ select AT91SAM926X_BOARD_INIT
help
Select this if you are using a Calao Systems USB-A9263.
<http://www.calao-systems.com>
--
2.12.0
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2018-01-01 16:48 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-31 8:34 [PATCH v4 0/25] at91: move reset vector to board code Sam Ravnborg
2018-01-01 8:34 ` Mails lost towards barebox mailing list [Was: [PATCH v4 0/25] at91: move ...] Sam Ravnborg
2018-01-01 17:05 ` Sam Ravnborg
2018-01-03 18:19 ` Sam Ravnborg
2018-01-01 14:16 ` [PATCH 02/25] arm: at91: drop unused at91sam9x5_lowlevel_init.c Sam Ravnborg
2018-01-01 14:16 ` [PATCH 03/25] arm: at91: add at91sam926x_board_init.h Sam Ravnborg
2018-01-01 14:16 ` [PATCH 04/25] arm: at91: code cleanup in at91sam926x_board_init Sam Ravnborg
2018-01-01 14:16 ` [PATCH 05/25] at91sam9263ek: move reset vector to board code Sam Ravnborg
2018-01-01 14:16 ` [PATCH 06/25] at91sam9261ek, at91sam9g10ek: " Sam Ravnborg
2018-01-01 14:16 ` [PATCH 07/25] pm9261: " Sam Ravnborg
2018-01-01 14:16 ` [PATCH 08/25] at91: drop unused at91sam9261_lowlevel_init Sam Ravnborg
2018-01-01 14:16 ` [PATCH 09/25] pm9263: move reset vector to board code Sam Ravnborg
2018-01-01 14:18 ` [PATCH 11/25] mmccpu: delete unused lowlevel_init Sam Ravnborg
2018-01-05 9:14 ` Sascha Hauer
2018-01-06 9:33 ` Sam Ravnborg
2018-01-01 14:18 ` [PATCH 12/25] mmccpu: move reset vector to board code Sam Ravnborg
2018-01-01 14:18 ` [PATCH 13/25] tny-a926x: delete unused tny_a9263_lowlevel_init.c Sam Ravnborg
2018-01-01 14:19 ` [PATCH 17/25] sama5d{3, 4}{xek, xplained}: move reset vector to board code Sam Ravnborg
2018-01-05 9:27 ` Sascha Hauer
2018-01-06 20:06 ` Sam Ravnborg
2018-01-01 14:19 ` [PATCH 18/25] at91sam9n12ek: " Sam Ravnborg
2018-01-01 14:19 ` [PATCH 19/25] at91sam9260ek, at91sam9g20ek: " Sam Ravnborg
2018-01-01 14:19 ` [PATCH 20/25] at91sam9m10g45ek, at91sam9m10ihd, pm9g45: " Sam Ravnborg
2018-01-01 14:19 ` [PATCH 21/25] animeo: " Sam Ravnborg
2018-01-01 14:19 ` [PATCH 22/25] telit-evk-pro3: " Sam Ravnborg
2018-01-01 14:19 ` [PATCH 23/25] dss11: " Sam Ravnborg
2018-01-01 14:19 ` [PATCH 24/25] at91rm9200ek: " Sam Ravnborg
2018-01-01 14:19 ` [PATCH 25/25] arm: at91: remove leftovers from moving reset code in mach-at91 Sam Ravnborg
2018-01-01 16:48 ` [PATCH 01/25] arm: at91: refactor lowlevel_init selection Sam Ravnborg
2018-01-05 9:24 ` Sascha Hauer
2018-01-01 16:48 ` Sam Ravnborg [this message]
2018-01-01 16:48 ` [PATCH 14/25] tny-a926x: move reset vector to board code Sam Ravnborg
2018-01-01 16:48 ` [PATCH 15/25] qil-a926x: " Sam Ravnborg
2018-01-01 16:48 ` [PATCH 16/25] haba-knx: " Sam Ravnborg
2018-01-04 17:12 ` [PATCH v4 0/25] at91: " Andrey Smirnov
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=20180101164808.32371-2-sam@ravnborg.org \
--to=sam@ravnborg.org \
--cc=barebox@lists.infradead.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.