From: Tom <Tom.Rix@windriver.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] pm9263 converted to at91 soc access
Date: Mon, 12 Apr 2010 18:01:26 -0500 [thread overview]
Message-ID: <4BC3A646.1000502@windriver.com> (raw)
In-Reply-To: <1270632801-9399-1-git-send-email-dimov@ronetix.at>
Asen Dimov wrote:
> Signed-off-by: Asen Dimov <dimov@ronetix.at>
> ---
> board/ronetix/pm9263/led.c | 15 ++--
> board/ronetix/pm9263/pm9263.c | 195 +++++++++++++++++++++--------------------
> include/configs/pm9263.h | 82 ++++++++---------
> 3 files changed, 146 insertions(+), 146 deletions(-)
>
> diff --git a/board/ronetix/pm9263/led.c b/board/ronetix/pm9263/led.c
> index fe1a1d2..4e585a4 100644
> --- a/board/ronetix/pm9263/led.c
> +++ b/board/ronetix/pm9263/led.c
> @@ -26,18 +26,19 @@
> #include <common.h>
> #include <asm/arch/at91sam9263.h>
> #include <asm/arch/at91_pmc.h>
> -#include <asm/arch/gpio.h>
> +#include <asm/arch/at91_pio.h>
> #include <asm/arch/io.h>
>
> void coloured_LED_init(void)
> {
> + at91_pmc_t *pmc = (at91_pmc_t *) AT91_PMC_BASE;
> +
> /* Enable clock */
> - at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9263_ID_PIOB |
> - 1 << AT91SAM9263_ID_PIOCDE);
> + writel(1 << AT91SAM9263_ID_PIOB, &pmc->pcer);
Missing PICOCDE..
Is this ok ?
>
> - at91_set_gpio_output(CONFIG_RED_LED, 1);
> - at91_set_gpio_output(CONFIG_GREEN_LED, 1);
> + at91_set_pio_output(CONFIG_RED_LED, 1);
> + at91_set_pio_output(CONFIG_GREEN_LED, 1);
>
> - at91_set_gpio_value(CONFIG_RED_LED, 0);
> - at91_set_gpio_value(CONFIG_GREEN_LED, 1);
> + at91_set_pio_value(CONFIG_RED_LED, 0);
> + at91_set_pio_value(CONFIG_GREEN_LED, 1);
> }
> diff --git a/board/ronetix/pm9263/pm9263.c b/board/ronetix/pm9263/pm9263.c
> index 23ea154..83371e5 100644
> --- a/board/ronetix/pm9263/pm9263.c
> +++ b/board/ronetix/pm9263/pm9263.c
> @@ -27,13 +27,13 @@
> #include <common.h>
> #include <asm/sizes.h>
> #include <asm/arch/at91sam9263.h>
> -#include <asm/arch/at91sam9263_matrix.h>
> #include <asm/arch/at91sam9_smc.h>
> #include <asm/arch/at91_common.h>
> #include <asm/arch/at91_pmc.h>
> #include <asm/arch/at91_rstc.h>
> +#include <asm/arch/at91_matrix.h>
> +#include <asm/arch/at91_pio.h>
> #include <asm/arch/clk.h>
> -#include <asm/arch/gpio.h>
> #include <asm/arch/io.h>
> #include <asm/arch/hardware.h>
> #include <lcd.h>
> @@ -55,52 +55,59 @@ DECLARE_GLOBAL_DATA_PTR;
> static void pm9263_nand_hw_init(void)
> {
> unsigned long csa;
> + at91_smc_t *smc = (at91_smc_t *) AT91_SMC0_BASE;
> + at91_matrix_t *matrix = (at91_matrix_t *) AT91_MATRIX_BASE;
>
> /* Enable CS3 */
> - csa = at91_sys_read(AT91_MATRIX_EBI0CSA);
> - at91_sys_write(AT91_MATRIX_EBI0CSA,
> - csa | AT91_MATRIX_EBI0_CS3A_SMC_SMARTMEDIA);
> + csa = readl(&matrix->csa[0]) | AT91_MATRIX_CSA_EBI_CS3A;
> + writel(csa, &matrix->csa[0]);
Missing SMARTMEDIA
Is this ok?
>
> /* Configure SMC CS3 for NAND/SmartMedia */
> - at91_sys_write(AT91_SMC_SETUP(3),
> - AT91_SMC_NWESETUP_(1) | AT91_SMC_NCS_WRSETUP_(1) |
> - AT91_SMC_NRDSETUP_(1) | AT91_SMC_NCS_RDSETUP_(1));
> - at91_sys_write(AT91_SMC_PULSE(3),
> - AT91_SMC_NWEPULSE_(3) | AT91_SMC_NCS_WRPULSE_(3) |
> - AT91_SMC_NRDPULSE_(3) | AT91_SMC_NCS_RDPULSE_(3));
> - at91_sys_write(AT91_SMC_CYCLE(3),
> - AT91_SMC_NWECYCLE_(5) | AT91_SMC_NRDCYCLE_(5));
> - at91_sys_write(AT91_SMC_MODE(3),
> - AT91_SMC_READMODE | AT91_SMC_WRITEMODE |
> - AT91_SMC_EXNWMODE_DISABLE |
> + writel(AT91_SMC_SETUP_NWE(1) | AT91_SMC_SETUP_NCS_WR(1) |
> + AT91_SMC_SETUP_NRD(1) | AT91_SMC_SETUP_NCS_RD(1),
> + &smc->cs[3].setup);
> +
> + writel(AT91_SMC_PULSE_NWE(3) | AT91_SMC_PULSE_NCS_WR(3) |
> + AT91_SMC_PULSE_NRD(3) | AT91_SMC_PULSE_NCS_RD(3),
> + &smc->cs[3].pulse);
> +
> + writel(AT91_SMC_CYCLE_NWE(5) | AT91_SMC_CYCLE_NRD(5),
> + &smc->cs[3].cycle);
> +
> + writel(AT91_SMC_MODE_RM_NRD | AT91_SMC_MODE_WM_NWE |
> + AT91_SMC_MODE_EXNW_DISABLE |
> #ifdef CONFIG_SYS_NAND_DBW_16
> - AT91_SMC_DBW_16 |
> + AT91_SMC_MODE_DBW_16 |
> #else /* CONFIG_SYS_NAND_DBW_8 */
> - AT91_SMC_DBW_8 |
> + AT91_SMC_MODE_DBW_8 |
> #endif
> - AT91_SMC_TDF_(2));
> + AT91_SMC_MODE_TDF_CYCLE(2),
> + &smc->cs[3].mode);
>
> /* Configure RDY/BSY */
> - at91_set_gpio_input(CONFIG_SYS_NAND_READY_PIN, 1);
> + at91_set_pio_input(CONFIG_SYS_NAND_READY_PIN, 1);
>
> /* Enable NandFlash */
> - at91_set_gpio_output(CONFIG_SYS_NAND_ENABLE_PIN, 1);
> + at91_set_pio_output(CONFIG_SYS_NAND_ENABLE_PIN, 1);
> }
> #endif
>
> #ifdef CONFIG_MACB
> static void pm9263_macb_hw_init(void)
> {
> + at91_pmc_t *pmc = (at91_pmc_t *) AT91_PMC_BASE;
> + at91_pio_t *pio = (at91_pio_t *) AT91_PIO_BASE;
> +
> /*
> * PB27 enables the 50MHz oscillator for Ethernet PHY
> * 1 - enable
> * 0 - disable
> */
> - at91_set_gpio_output(AT91_PIN_PB27, 1);
> - at91_set_gpio_value(AT91_PIN_PB27, 1); /* 1- enable, 0 - disable */
> + at91_set_pio_output(AT91_PIO_PORTB, 27, 1);
> + at91_set_pio_value(AT91_PIO_PORTB, 27, 1); /* 1- enable, 0 - disable */
>
> /* Enable clock */
> - at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9263_ID_EMAC);
> + writel(1 << AT91SAM9263_ID_EMAC, &pmc->pcer);
>
> /*
> * Disable pull-up on:
> @@ -110,19 +117,12 @@ static void pm9263_macb_hw_init(void)
> *
> * PHY has internal pull-down
> */
> - writel(pin_to_mask(AT91_PIN_PC25),
> - pin_to_controller(AT91_PIN_PC0) + PIO_PUDR);
> - writel(pin_to_mask(AT91_PIN_PE25) |
> - pin_to_mask(AT91_PIN_PE26),
> - pin_to_controller(AT91_PIN_PE0) + PIO_PUDR);
> -
> + writel(1 << 25, &pio->pioc.pudr);
> + writel((1 << 25) | (1 << 26), &pio->pioe.pudr);
>
There should be #defines for these values.
> /* Re-enable pull-up */
> - writel(pin_to_mask(AT91_PIN_PC25),
> - pin_to_controller(AT91_PIN_PC0) + PIO_PUER);
> - writel(pin_to_mask(AT91_PIN_PE25) |
> - pin_to_mask(AT91_PIN_PE26),
> - pin_to_controller(AT91_PIN_PE0) + PIO_PUER);
> + writel(1 << 25, &pio->pioc.puer);
> + writel((1 << 25) | (1 << 26), &pio->pioe.puer);
>
There should be #defines for these values.
There are similar cases where old #define's have be
converted to bit ops. The old method of #defines is preferred
Tom
next prev parent reply other threads:[~2010-04-12 23:01 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-07 9:33 [U-Boot] [PATCH] pm9263 converted to at91 soc access Asen Dimov
2010-04-12 23:01 ` Tom [this message]
2010-04-13 7:43 ` RONETIX - Asen Dimov
2010-04-17 21:09 ` Tom Rix
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=4BC3A646.1000502@windriver.com \
--to=tom.rix@windriver.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox