From: Josh Wu <josh.wu@atmel.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 1/3] arm: at91/spl: matrix: move matrix init to separate file
Date: Thu, 5 Nov 2015 10:52:30 +0800 [thread overview]
Message-ID: <563AC46E.8010100@atmel.com> (raw)
In-Reply-To: <1446618486-10739-2-git-send-email-wenyou.yang@atmel.com>
Hi, Wenyou
On 11/4/2015 2:28 PM, Wenyou Yang wrote:
> To make the matrix initialization code sharing with other SoCs,
> move it from SAMA5D4 particular file,
> mach-at91/armv7/sama5d4_devices.c to a separate file,
> mach-at91/matrix.c
is it possible just move it to mach-at91/armv7/matrix.c, as it is only
used by armv7 core?
Best Regards,
Josh Wu
>
> Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com>
> ---
>
> arch/arm/mach-at91/Makefile | 2 +-
> arch/arm/mach-at91/armv7/sama5d4_devices.c | 42 -----------------------
> arch/arm/mach-at91/matrix.c | 51 ++++++++++++++++++++++++++++
> 3 files changed, 52 insertions(+), 43 deletions(-)
> create mode 100644 arch/arm/mach-at91/matrix.c
>
> diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile
> index 313eb47..649aff2 100644
> --- a/arch/arm/mach-at91/Makefile
> +++ b/arch/arm/mach-at91/Makefile
> @@ -6,7 +6,7 @@ obj-$(CONFIG_AT91SAM9M10G45) += mpddrc.o spl_at91.o
> obj-$(CONFIG_AT91SAM9N12) += mpddrc.o spl_at91.o
> obj-$(CONFIG_AT91SAM9X5) += mpddrc.o spl_at91.o
> obj-$(CONFIG_SAMA5D3) += mpddrc.o spl_atmel.o
> -obj-$(CONFIG_SAMA5D4) += mpddrc.o spl_atmel.o
> +obj-$(CONFIG_SAMA5D4) += mpddrc.o spl_atmel.o matrix.o
> obj-y += spl.o
> endif
>
> diff --git a/arch/arm/mach-at91/armv7/sama5d4_devices.c b/arch/arm/mach-at91/armv7/sama5d4_devices.c
> index 76301d6..52f4862 100644
> --- a/arch/arm/mach-at91/armv7/sama5d4_devices.c
> +++ b/arch/arm/mach-at91/armv7/sama5d4_devices.c
> @@ -10,7 +10,6 @@
> #include <asm/arch/at91_common.h>
> #include <asm/arch/at91_pmc.h>
> #include <asm/arch/clk.h>
> -#include <asm/arch/sama5_matrix.h>
> #include <asm/arch/sama5_sfr.h>
> #include <asm/arch/sama5d4.h>
>
> @@ -48,47 +47,6 @@ void at91_udp_hw_init(void)
> #endif
>
> #ifdef CONFIG_SPL_BUILD
> -void matrix_init(void)
> -{
> - struct atmel_matrix *h64mx = (struct atmel_matrix *)ATMEL_BASE_MATRIX0;
> - struct atmel_matrix *h32mx = (struct atmel_matrix *)ATMEL_BASE_MATRIX1;
> - int i;
> -
> - /* Disable the write protect */
> - writel(ATMEL_MATRIX_WPMR_WPKEY & ~ATMEL_MATRIX_WPMR_WPEN, &h64mx->wpmr);
> - writel(ATMEL_MATRIX_WPMR_WPKEY & ~ATMEL_MATRIX_WPMR_WPEN, &h32mx->wpmr);
> -
> - /* DDR port 1 ~ poart 7, slave number is: 4 ~ 10 */
> - for (i = 4; i <= 10; i++) {
> - writel(0x000f0f0f, &h64mx->ssr[i]);
> - writel(0x0000ffff, &h64mx->sassr[i]);
> - writel(0x0000000f, &h64mx->srtsr[i]);
> - }
> -
> - /* CS3 */
> - writel(0x00c0c0c0, &h32mx->ssr[3]);
> - writel(0xff000000, &h32mx->sassr[3]);
> - writel(0xff000000, &h32mx->srtsr[3]);
> -
> - /* NFC SRAM */
> - writel(0x00010101, &h32mx->ssr[4]);
> - writel(0x00000001, &h32mx->sassr[4]);
> - writel(0x00000001, &h32mx->srtsr[4]);
> -
> - /* Configure Programmable Security peripherals on matrix 64 */
> - writel(readl(&h64mx->spselr[0]) | 0x00080000, &h64mx->spselr[0]);
> - writel(readl(&h64mx->spselr[1]) | 0x00180000, &h64mx->spselr[1]);
> - writel(readl(&h64mx->spselr[2]) | 0x00000008, &h64mx->spselr[2]);
> -
> - /* Configure Programmable Security peripherals on matrix 32 */
> - writel(readl(&h32mx->spselr[0]) | 0xFFC00000, &h32mx->spselr[0]);
> - writel(readl(&h32mx->spselr[1]) | 0x60E3FFFF, &h32mx->spselr[1]);
> -
> - /* Enable the write protect */
> - writel(ATMEL_MATRIX_WPMR_WPKEY | ATMEL_MATRIX_WPMR_WPEN, &h64mx->wpmr);
> - writel(ATMEL_MATRIX_WPMR_WPKEY | ATMEL_MATRIX_WPMR_WPEN, &h32mx->wpmr);
> -}
> -
> void redirect_int_from_saic_to_aic(void)
> {
> struct atmel_sfr *sfr = (struct atmel_sfr *)ATMEL_BASE_SFR;
> diff --git a/arch/arm/mach-at91/matrix.c b/arch/arm/mach-at91/matrix.c
> new file mode 100644
> index 0000000..cf36386
> --- /dev/null
> +++ b/arch/arm/mach-at91/matrix.c
> @@ -0,0 +1,51 @@
> +/*
> + * Copyright (C) 2015 Atmel Corporation
> + * Wenyou Yang <wenyou.yang@atmel.com>
> + *
> + * SPDX-License-Identifier: GPL-2.0+
> + */
> +
> +#include <common.h>
> +#include <asm/io.h>
> +#include <asm/arch/sama5_matrix.h>
> +
> +void matrix_init(void)
> +{
> + struct atmel_matrix *h64mx = (struct atmel_matrix *)ATMEL_BASE_MATRIX0;
> + struct atmel_matrix *h32mx = (struct atmel_matrix *)ATMEL_BASE_MATRIX1;
> + int i;
> +
> + /* Disable the write protect */
> + writel(ATMEL_MATRIX_WPMR_WPKEY & ~ATMEL_MATRIX_WPMR_WPEN, &h64mx->wpmr);
> + writel(ATMEL_MATRIX_WPMR_WPKEY & ~ATMEL_MATRIX_WPMR_WPEN, &h32mx->wpmr);
> +
> + /* DDR port 1 ~ poart 7, slave number is: 4 ~ 10 */
> + for (i = 4; i <= 10; i++) {
> + writel(0x000f0f0f, &h64mx->ssr[i]);
> + writel(0x0000ffff, &h64mx->sassr[i]);
> + writel(0x0000000f, &h64mx->srtsr[i]);
> + }
> +
> + /* CS3 */
> + writel(0x00c0c0c0, &h32mx->ssr[3]);
> + writel(0xff000000, &h32mx->sassr[3]);
> + writel(0xff000000, &h32mx->srtsr[3]);
> +
> + /* NFC SRAM */
> + writel(0x00010101, &h32mx->ssr[4]);
> + writel(0x00000001, &h32mx->sassr[4]);
> + writel(0x00000001, &h32mx->srtsr[4]);
> +
> + /* Configure Programmable Security peripherals on matrix 64 */
> + writel(readl(&h64mx->spselr[0]) | 0x00080000, &h64mx->spselr[0]);
> + writel(readl(&h64mx->spselr[1]) | 0x00180000, &h64mx->spselr[1]);
> + writel(readl(&h64mx->spselr[2]) | 0x00000008, &h64mx->spselr[2]);
> +
> + /* Configure Programmable Security peripherals on matrix 32 */
> + writel(readl(&h32mx->spselr[0]) | 0xFFC00000, &h32mx->spselr[0]);
> + writel(readl(&h32mx->spselr[1]) | 0x60E3FFFF, &h32mx->spselr[1]);
> +
> + /* Enable the write protect */
> + writel(ATMEL_MATRIX_WPMR_WPKEY | ATMEL_MATRIX_WPMR_WPEN, &h64mx->wpmr);
> + writel(ATMEL_MATRIX_WPMR_WPKEY | ATMEL_MATRIX_WPMR_WPEN, &h32mx->wpmr);
> +}
next prev parent reply other threads:[~2015-11-05 2:52 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-04 6:28 [U-Boot] [PATCH 0/3] arm: at91/spl: make matrix and saic redirect sharing with others Wenyou Yang
2015-11-04 6:28 ` [U-Boot] [PATCH 1/3] arm: at91/spl: matrix: move matrix init to separate file Wenyou Yang
2015-11-05 2:52 ` Josh Wu [this message]
2015-11-05 7:54 ` Yang, Wenyou
2015-11-04 6:28 ` [U-Boot] [PATCH 2/3] arm: at91/spl: matrix: improve implementation of matrix Wenyou Yang
2015-11-05 2:54 ` Josh Wu
2015-11-05 7:57 ` Yang, Wenyou
2015-11-04 6:28 ` [U-Boot] [PATCH 3/3] arm: at91: spl/atmel_sfr: move saic redirect to separate file Wenyou Yang
2015-11-05 2:58 ` Josh Wu
2015-11-05 7:55 ` Yang, Wenyou
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=563AC46E.8010100@atmel.com \
--to=josh.wu@atmel.com \
--cc=u-boot@lists.denx.de \
/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.