From: Stefano Babic <sbabic@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] mx6sabresd: Move the DCD settings to spl code
Date: Fri, 14 Nov 2014 00:16:08 +0100 [thread overview]
Message-ID: <54653BB8.7050007@denx.de> (raw)
In-Reply-To: <1415915913-17096-1-git-send-email-festevam@gmail.com>
Hi Fabio,
On 13/11/2014 22:58, Fabio Estevam wrote:
> From: Fabio Estevam <fabio.estevam@freescale.com>
>
> mx6sabresd_spl.cfg configures CCM registers, GPR registers and CCM_CCOSR.
>
> Move the configuration to the spl code.
>
> CCM_CCOSR setting is no longer required to get audio functionality in the
> kernel, so remove such setting.
>
> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
> ---
> Hi Stefano,
>
> Actually I would like to get rid of mx6sabresd_spl.cfg completely, but when
> I tried to remove it, I ended up with SPL not being built.
>
> Any suggestions?
mkimage is called with the .cfg file, and if it is removed, no imx image
file is generated. I think that then the i.MX cannot boot, because the
resulting image will miss the "magic number" in the headers as described
in manuals. So I think that a minimal .cfg is required (without DCD and
register setting) to let U-Boot build system to generate an imx image file.
Stefano
>
> board/freescale/mx6sabresd/mx6sabresd.c | 27 +++++++++++++++++++
> board/freescale/mx6sabresd/mx6sabresd_spl.cfg | 38 ---------------------------
> 2 files changed, 27 insertions(+), 38 deletions(-)
>
> diff --git a/board/freescale/mx6sabresd/mx6sabresd.c b/board/freescale/mx6sabresd/mx6sabresd.c
> index 1142e8a..343c3b6 100644
> --- a/board/freescale/mx6sabresd/mx6sabresd.c
> +++ b/board/freescale/mx6sabresd/mx6sabresd.c
> @@ -729,6 +729,30 @@ static struct mx6_ddr3_cfg mem_ddr = {
> .trasmin = 3500,
> };
>
> +static void ccgr_init(void)
> +{
> + struct mxc_ccm_reg *ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR;
> +
> + writel(0x00C03F3F, &ccm->CCGR0);
> + writel(0x0030FC03, &ccm->CCGR1);
> + writel(0x0FFFC000, &ccm->CCGR2);
> + writel(0x3FF00000, &ccm->CCGR3);
> + writel(0x00FFF300, &ccm->CCGR4);
> + writel(0x0F0000C3, &ccm->CCGR5);
> + writel(0x000003FF, &ccm->CCGR6);
> +}
> +
> +static void gpr_init(void)
> +{
> + struct iomuxc *iomux = (struct iomuxc *)IOMUXC_BASE_ADDR;
> +
> + /* enable AXI cache for VDOA/VPU/IPU */
> + writel(0xF00000CF, &iomux->gpr[4]);
> + /* set IPU AXI-id0 Qos=0xf(bypass) AXI-id1 Qos=0x7 */
> + writel(0x007F007F, &iomux->gpr[6]);
> + writel(0x007F007F, &iomux->gpr[7]);
> +}
> +
> /*
> * This section require the differentiation
> * between iMX6 Sabre Families.
> @@ -768,6 +792,9 @@ void board_init_f(ulong dummy)
> /* setup AIPS and disable watchdog */
> arch_cpu_init();
>
> + ccgr_init();
> + gpr_init();
> +
> /* iomux and setup of i2c */
> board_early_init_f();
>
> diff --git a/board/freescale/mx6sabresd/mx6sabresd_spl.cfg b/board/freescale/mx6sabresd/mx6sabresd_spl.cfg
> index 2bf4817..1d031ba 100644
> --- a/board/freescale/mx6sabresd/mx6sabresd_spl.cfg
> +++ b/board/freescale/mx6sabresd/mx6sabresd_spl.cfg
> @@ -18,41 +18,3 @@ IMAGE_VERSION 2
> * spi, sd (the board has no nand neither onenand)
> */
> BOOT_FROM sd
> -
> -/*
> - * Device Configuration Data (DCD)
> - *
> - * Each entry must have the format:
> - * Addr-type Address Value
> - *
> - * where:
> - * Addr-type register length (1,2 or 4 bytes)
> - * Address absolute address of the register
> - * value value to be stored in the register
> - */
> -
> -/* set the default clock gate to save power */
> -DATA 4 0x020c4068 0x00C03F3F
> -DATA 4 0x020c406c 0x0030FC03
> -DATA 4 0x020c4070 0x0FFFC000
> -DATA 4 0x020c4074 0x3FF00000
> -DATA 4 0x020c4078 0x00FFF300
> -DATA 4 0x020c407c 0x0F0000C3
> -DATA 4 0x020c4080 0x000003FF
> -
> -/* enable AXI cache for VDOA/VPU/IPU */
> -DATA 4 0x020e0010 0xF00000CF
> -/* set IPU AXI-id0 Qos=0xf(bypass) AXI-id1 Qos=0x7 */
> -DATA 4 0x020e0018 0x007F007F
> -DATA 4 0x020e001c 0x007F007F
> -
> -/*
> - * Setup CCM_CCOSR register as follows:
> - *
> - * cko1_en = 1 --> CKO1 enabled
> - * cko1_div = 111 --> divide by 8
> - * cko1_sel = 1011 --> ahb_clk_root
> - *
> - * This sets CKO1 at ahb_clk_root/8 = 132/8 = 16.5 MHz
> - */
> -DATA 4 0x020c4060 0x000000fb
>
--
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
next prev parent reply other threads:[~2014-11-13 23:16 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-13 21:58 [U-Boot] [PATCH] mx6sabresd: Move the DCD settings to spl code Fabio Estevam
2014-11-13 22:25 ` Nikolay Dimitrov
2014-11-13 22:30 ` Fabio Estevam
2014-11-13 23:00 ` John Tobias
2014-11-14 10:17 ` Otavio Salvador
2014-11-14 10:26 ` Fabio Estevam
2014-11-13 23:16 ` Stefano Babic [this message]
2014-11-13 23:24 ` Fabio Estevam
2014-11-14 8:02 ` Stefano Babic
2014-11-14 11:48 ` Nikolay Dimitrov
2014-11-14 11:57 ` Fabio Estevam
2014-11-14 12:22 ` Nikolay Dimitrov
2014-11-14 13:23 ` Stefano Babic
2014-11-14 14:40 ` Nikolay Dimitrov
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=54653BB8.7050007@denx.de \
--to=sbabic@denx.de \
--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.