On 14:07 Wed 01 Jul     , Thomas Petazzoni wrote:
> Hello,
> 
> Here is a patch that adds the support for the Calao USB A9263 board.
> This is my first board support contribution to U-Boot, so don't
> hesitate to comment and suggest improvements.
> 
> Thanks,
> 
> Thomas
this need to move after ---
> 
> ---
and this before
> Support for the Calao USB A9263 board
> 
> The Calao USB A9263 board is a board manufactured and sold by Calao
> Systems <http://www.calao-systems.com>. Its components are very
> similar to the AT91SAM9263EK board, so its configuration is based on
> the configuration of this board. There are however some differences:
> different clocks, no LCD, etc.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazz...@free-electrons.com>
> 
>  MAKEALL                     |    1 
>  Makefile                    |    3 
>  board/usb-a9263/Makefile    |   56 +++++++++++++
>  board/usb-a9263/config.mk   |    1 
>  board/usb-a9263/led.c       |   44 ++++++++++
>  board/usb-a9263/partition.c |   37 ++++++++
>  board/usb-a9263/usb-a9263.c |  189 
> ++++++++++++++++++++++++++++++++++++++++++++
>  include/configs/usb-a9263.h |  188 
> +++++++++++++++++++++++++++++++++++++++++++
>  8 files changed, 519 insertions(+)
> 

> +
> +#ifdef CONFIG_MACB
> +static void usb_a9263_macb_hw_init(void)
> +{
> +     /* Enable clock */
> +     at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9263_ID_EMAC);
> +
> +     /*
> +      * Disable pull-up on:
> +      *      RXDV (PC25) => PHY normal mode (not Test mode)
> +      *      ERX0 (PE25) => PHY ADDR0
> +      *      ERX1 (PE26) => PHY ADDR1 => PHYADDR = 0x0
> +      *
> +      * 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);
> +
> +     /* Need to reset PHY -> 500ms reset */
> +     at91_sys_write(AT91_RSTC_MR, AT91_RSTC_KEY |
> +                                  (AT91_RSTC_ERSTL & (0x0D << 8)) |
> +                                  AT91_RSTC_URSTEN);
> +
> +     at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_EXTRST);
> +
> +     /* Wait for end hardware reset */
> +     while (!(at91_sys_read(AT91_RSTC_SR) & AT91_RSTC_NRSTL));
> +
> +     /* Restore NRST value */
> +     at91_sys_write(AT91_RSTC_MR, AT91_RSTC_KEY |
> +                                  (AT91_RSTC_ERSTL & (0x0 << 8)) |
> +                                  AT91_RSTC_URSTEN);
> +
please check recent Sedji fix for this
at91sam9260/9263: add back up for the rst(reset controller).
> +     /* 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);
> +
> +     at91_macb_hw_init();
> +}
> +#endif
> +
<snip>
>> --- /dev/null
> +++ b/include/configs/usb-a9263.h
> @@ -0,0 +1,188 @@
> +/*
> + * (C) Copyright 2007-2008
> + * Stelian Pop <stelian....@leadtechdesign.com>
> + * Lead Tech Design <www.leadtechdesign.com>
> + * Thomas Petazzoni <thomas.petazz...@free-electrons.com>
> + *
> + * Configuration settings for the Calao USB-A9263 board.
> + *
> + * See file CREDITS for list of people who contributed to this
> + * project.
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation; either version 2 of
> + * the License, or (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> + * MA 02111-1307 USA
> + */
> +
> +#ifndef __CONFIG_H
> +#define __CONFIG_H
> +
> +/* ARM asynchronous clock */
> +#define AT91_CPU_NAME                "AT91SAM9263"
no-need please remove
> +#define AT91_MAIN_CLOCK              12000000        /* 12 MHz crystal */
> +#define CONFIG_SYS_HZ                1000
> +
> +#define CONFIG_ARM926EJS     1       /* This is an ARM926EJS Core    */
> +#define CONFIG_AT91SAM9263   1       /* It's an Atmel AT91SAM9263 SoC*/
> +#define CONFIG_CALAO_USB_A9263       1       /* on an Calao USB A 9263 Board 
> */
> +#define CONFIG_ARCH_CPU_INIT
> +#undef CONFIG_USE_IRQ                        /* we don't need IRQ/FIQ stuff  
> */
> +
> +#define CONFIG_CMDLINE_TAG   1       /* enable passing of ATAGs      */
> +#define CONFIG_SETUP_MEMORY_TAGS 1
> +#define CONFIG_INITRD_TAG    1
> +
> +#define CONFIG_SKIP_LOWLEVEL_INIT
> +#define CONFIG_SKIP_RELOCATE_UBOOT
> +
> +/*
> + * Hardware drivers
> + */
> +#define CONFIG_ATMEL_USART   1
> +#undef CONFIG_USART0
> +#undef CONFIG_USART1
> +#undef CONFIG_USART2
> +#define CONFIG_USART3                1       /* USART 3 is DBGU */
> +
> +/* LCD */
> +#undef CONFIG_LCD
> +
> +/* LED */
> +#define CONFIG_AT91_LED
> +#define      CONFIG_RED_LED          AT91_PIN_PB7    /* this is the power 
> led */
> +#define      CONFIG_GREEN_LED        AT91_PIN_PB8    /* this is the user1 
> led */
> +#define      CONFIG_YELLOW_LED       AT91_PIN_PC29   /* this is the user2 
> led */
> +
> +#define CONFIG_BOOTDELAY     3
> +
> +/*
> + * BOOTP options
> + */
> +#define CONFIG_BOOTP_BOOTFILESIZE    1
> +#define CONFIG_BOOTP_BOOTPATH                1
> +#define CONFIG_BOOTP_GATEWAY         1
> +#define CONFIG_BOOTP_HOSTNAME                1
> +
> +/*
> + * Command line configuration.
> + */
> +#include <config_cmd_default.h>
> +#undef CONFIG_CMD_BDI
> +#undef CONFIG_CMD_FPGA
> +#undef CONFIG_CMD_IMI
> +#undef CONFIG_CMD_IMLS
> +#undef CONFIG_CMD_LOADS
> +#undef CONFIG_CMD_SOURCE
> +
> +#define CONFIG_CMD_PING              1
> +#define CONFIG_CMD_DHCP              1
> +#define CONFIG_CMD_NAND              1
> +#define CONFIG_CMD_USB               1
> +
> +/* SDRAM */
> +#define CONFIG_NR_DRAM_BANKS         1
> +#define PHYS_SDRAM                   0x20000000
> +#define PHYS_SDRAM_SIZE                      0x04000000      /* 64 megs */
> +
> +/* DataFlash */
> +#define CONFIG_ATMEL_DATAFLASH_SPI
> +#define CONFIG_HAS_DATAFLASH         1
> +#define CONFIG_SYS_SPI_WRITE_TOUT            (5*CONFIG_SYS_HZ)
> +#define CONFIG_SYS_MAX_DATAFLASH_BANKS               1
> +#define CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0  0xC0000000      /* CS0 */
> +#define AT91_SPI_CLK                 8000000
> +#define DATAFLASH_TCSS                       (0x1c << 16)
> +#define DATAFLASH_TCHS                       (0x1 << 24)
> +
> +/* no NOR flash */
> +#define CONFIG_SYS_NO_FLASH                  1
> +
> +/* NAND flash */
> +#ifdef CONFIG_CMD_NAND
> +#define CONFIG_NAND_ATMEL
> +#define CONFIG_SYS_MAX_NAND_DEVICE           1
> +#define CONFIG_SYS_NAND_BASE                 0x40000000
> +#define CONFIG_SYS_NAND_DBW_8                        1
> +/* our ALE is AD21 */
> +#define CONFIG_SYS_NAND_MASK_ALE             (1 << 21)
> +/* our CLE is AD22 */
> +#define CONFIG_SYS_NAND_MASK_CLE             (1 << 22)
> +#define CONFIG_SYS_NAND_ENABLE_PIN           AT91_PIN_PD15
> +#define CONFIG_SYS_NAND_READY_PIN            AT91_PIN_PA22
> +#endif
> +
> +/* Ethernet */
> +#define CONFIG_MACB                  1
> +#define CONFIG_RMII                  1
> +#define CONFIG_NET_MULTI             1
> +#define CONFIG_NET_RETRY_COUNT               20
> +#define CONFIG_RESET_PHY_R           1
> +#define CONFIG_MACB_SEARCH_PHY  1
whitespace please fix
> +#define CONFIG_ETHADDR          00:0D:00:0D:00:AB
please remove
> +
Best Regards,
J.
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to