mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-01 08:59:33 +00:00
board: usb_a9263: Update to support DT and DM
Add the dts files to support deivce tree, update the configuration files to support the device tree and driver model. The peripheral clock and pins configuration are handled by the clock and the pinctrl drivers respectively. Signed-off-by: Wenyou Yang <wenyou.yang@microchip.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
a818704b2e
commit
fdc7718999
4 changed files with 168 additions and 43 deletions
144
arch/arm/dts/usb_a9263.dts
Normal file
144
arch/arm/dts/usb_a9263.dts
Normal file
|
@ -0,0 +1,144 @@
|
||||||
|
/*
|
||||||
|
* usb_a9263.dts - Device Tree file for Caloa USB A9293 board
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
|
||||||
|
*
|
||||||
|
* Licensed under GPLv2 only
|
||||||
|
*/
|
||||||
|
/dts-v1/;
|
||||||
|
#include "at91sam9263.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Calao USB A9263";
|
||||||
|
compatible = "atmel,usb-a9263", "atmel,at91sam9263", "atmel,at91sam9";
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
bootargs = "mem=64M console=ttyS0,115200 root=/dev/mtdblock5 rw rootfstype=ubifs";
|
||||||
|
};
|
||||||
|
|
||||||
|
memory {
|
||||||
|
reg = <0x20000000 0x4000000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
clocks {
|
||||||
|
slow_xtal {
|
||||||
|
clock-frequency = <32768>;
|
||||||
|
};
|
||||||
|
|
||||||
|
main_xtal {
|
||||||
|
clock-frequency = <12000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
ahb {
|
||||||
|
apb {
|
||||||
|
dbgu: serial@ffffee00 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
macb0: ethernet@fffbc000 {
|
||||||
|
phy-mode = "rmii";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
usb1: gadget@fff78000 {
|
||||||
|
atmel,vbus-gpio = <&pioB 11 GPIO_ACTIVE_HIGH>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
spi0: spi@fffa4000 {
|
||||||
|
cs-gpios = <&pioB 15 GPIO_ACTIVE_HIGH>;
|
||||||
|
status = "okay";
|
||||||
|
mtd_dataflash@0 {
|
||||||
|
compatible = "atmel,at45", "atmel,dataflash";
|
||||||
|
reg = <0>;
|
||||||
|
spi-max-frequency = <15000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
shdwc@fffffd10 {
|
||||||
|
atmel,wakeup-counter = <10>;
|
||||||
|
atmel,wakeup-rtt-timer;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nand0: nand@40000000 {
|
||||||
|
nand-bus-width = <8>;
|
||||||
|
nand-ecc-mode = "soft";
|
||||||
|
nand-on-flash-bbt;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
at91bootstrap@0 {
|
||||||
|
label = "at91bootstrap";
|
||||||
|
reg = <0x0 0x20000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
barebox@20000 {
|
||||||
|
label = "barebox";
|
||||||
|
reg = <0x20000 0x40000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
bareboxenv@60000 {
|
||||||
|
label = "bareboxenv";
|
||||||
|
reg = <0x60000 0x20000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
bareboxenv2@80000 {
|
||||||
|
label = "bareboxenv2";
|
||||||
|
reg = <0x80000 0x20000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
oftree@80000 {
|
||||||
|
label = "oftree";
|
||||||
|
reg = <0xa0000 0x20000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
kernel@a0000 {
|
||||||
|
label = "kernel";
|
||||||
|
reg = <0xc0000 0x400000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
rootfs@4a0000 {
|
||||||
|
label = "rootfs";
|
||||||
|
reg = <0x4c0000 0x7800000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
data@7ca0000 {
|
||||||
|
label = "data";
|
||||||
|
reg = <0x7cc0000 0x8340000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
usb0: ohci@00a00000 {
|
||||||
|
num-ports = <2>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
|
user_led {
|
||||||
|
label = "user_led";
|
||||||
|
gpios = <&pioB 21 GPIO_ACTIVE_HIGH>;
|
||||||
|
linux,default-trigger = "heartbeat";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio_keys {
|
||||||
|
compatible = "gpio-keys";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
user_pb {
|
||||||
|
label = "user_pb";
|
||||||
|
gpios = <&pioB 10 GPIO_ACTIVE_LOW>;
|
||||||
|
linux,code = <28>;
|
||||||
|
wakeup-source;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c-gpio-0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
|
@ -18,25 +18,9 @@
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
#include <net.h>
|
#include <net.h>
|
||||||
#include <netdev.h>
|
#include <netdev.h>
|
||||||
#include <dataflash.h>
|
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
#ifdef CONFIG_HAS_DATAFLASH
|
|
||||||
AT91S_DATAFLASH_INFO dataflash_info[CONFIG_SYS_MAX_DATAFLASH_BANKS];
|
|
||||||
|
|
||||||
struct dataflash_addr cs[CONFIG_SYS_MAX_DATAFLASH_BANKS] = {
|
|
||||||
{CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0, 0}, /* Logical adress, CS */
|
|
||||||
};
|
|
||||||
|
|
||||||
/*define the area offsets*/
|
|
||||||
dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
|
|
||||||
{0x00000000, 0x00001FFF, FLAG_PROTECT_SET, 0, "Bootstrap"},
|
|
||||||
{0x00002000, 0x00003FFF, FLAG_PROTECT_CLEAR, 0, "Environment"},
|
|
||||||
{0x00004000, 0xFFFFFFFF, FLAG_PROTECT_CLEAR, 0, "U-Boot"},
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_CMD_NAND
|
#ifdef CONFIG_CMD_NAND
|
||||||
static void usb_a9263_nand_hw_init(void)
|
static void usb_a9263_nand_hw_init(void)
|
||||||
{
|
{
|
||||||
|
@ -115,9 +99,6 @@ int board_init(void)
|
||||||
#ifdef CONFIG_CMD_NAND
|
#ifdef CONFIG_CMD_NAND
|
||||||
usb_a9263_nand_hw_init();
|
usb_a9263_nand_hw_init();
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_HAS_DATAFLASH
|
|
||||||
at91_spi0_hw_init(1 << 0);
|
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_MACB
|
#ifdef CONFIG_MACB
|
||||||
usb_a9263_macb_hw_init();
|
usb_a9263_macb_hw_init();
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
CONFIG_ARM=y
|
CONFIG_ARM=y
|
||||||
CONFIG_ARCH_AT91=y
|
CONFIG_ARCH_AT91=y
|
||||||
CONFIG_TARGET_USB_A9263=y
|
CONFIG_TARGET_USB_A9263=y
|
||||||
|
CONFIG_SYS_MALLOC_F_LEN=0x2000
|
||||||
|
CONFIG_DEFAULT_DEVICE_TREE="usb_a9263"
|
||||||
CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263,SYS_USE_DATAFLASH"
|
CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263,SYS_USE_DATAFLASH"
|
||||||
CONFIG_ENV_IS_IN_DATAFLASH=y
|
CONFIG_ENV_IS_IN_SPI_FLASH=y
|
||||||
CONFIG_BOOTDELAY=3
|
CONFIG_BOOTDELAY=3
|
||||||
# CONFIG_DISPLAY_BOARDINFO is not set
|
# CONFIG_DISPLAY_BOARDINFO is not set
|
||||||
CONFIG_HUSH_PARSER=y
|
CONFIG_HUSH_PARSER=y
|
||||||
|
@ -13,10 +15,26 @@ CONFIG_SYS_PROMPT="U-Boot> "
|
||||||
# CONFIG_CMD_LOADB is not set
|
# CONFIG_CMD_LOADB is not set
|
||||||
# CONFIG_CMD_LOADS is not set
|
# CONFIG_CMD_LOADS is not set
|
||||||
CONFIG_CMD_NAND=y
|
CONFIG_CMD_NAND=y
|
||||||
|
CONFIG_CMD_SF=y
|
||||||
# CONFIG_CMD_FPGA is not set
|
# CONFIG_CMD_FPGA is not set
|
||||||
# CONFIG_CMD_ITEST is not set
|
# CONFIG_CMD_ITEST is not set
|
||||||
# CONFIG_CMD_SETEXPR is not set
|
# CONFIG_CMD_SETEXPR is not set
|
||||||
CONFIG_CMD_DHCP=y
|
CONFIG_CMD_DHCP=y
|
||||||
CONFIG_CMD_PING=y
|
CONFIG_CMD_PING=y
|
||||||
|
CONFIG_OF_CONTROL=y
|
||||||
|
CONFIG_DM=y
|
||||||
|
CONFIG_CLK=y
|
||||||
|
CONFIG_CLK_AT91=y
|
||||||
|
CONFIG_DM_GPIO=y
|
||||||
|
CONFIG_AT91_GPIO=y
|
||||||
# CONFIG_MMC is not set
|
# CONFIG_MMC is not set
|
||||||
CONFIG_OF_LIBFDT=y
|
CONFIG_DM_SPI_FLASH=y
|
||||||
|
CONFIG_SPI_FLASH=y
|
||||||
|
CONFIG_SPI_FLASH_ATMEL=y
|
||||||
|
CONFIG_SPI_FLASH_DATAFLASH=y
|
||||||
|
CONFIG_PINCTRL=y
|
||||||
|
CONFIG_PINCTRL_AT91=y
|
||||||
|
CONFIG_DM_SERIAL=y
|
||||||
|
CONFIG_ATMEL_USART=y
|
||||||
|
CONFIG_DM_SPI=y
|
||||||
|
CONFIG_ATMEL_SPI=y
|
||||||
|
|
|
@ -36,14 +36,6 @@
|
||||||
/*
|
/*
|
||||||
* Hardware drivers
|
* Hardware drivers
|
||||||
*/
|
*/
|
||||||
#define CONFIG_AT91_GPIO
|
|
||||||
|
|
||||||
/* serial console */
|
|
||||||
#define CONFIG_ATMEL_USART
|
|
||||||
#define CONFIG_USART_BASE ATMEL_BASE_DBGU
|
|
||||||
#define CONFIG_USART_ID ATMEL_ID_SYS
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* BOOTP options
|
* BOOTP options
|
||||||
*/
|
*/
|
||||||
|
@ -58,16 +50,7 @@
|
||||||
#define CONFIG_SYS_SDRAM_SIZE 0x04000000
|
#define CONFIG_SYS_SDRAM_SIZE 0x04000000
|
||||||
|
|
||||||
#define CONFIG_SYS_INIT_SP_ADDR \
|
#define CONFIG_SYS_INIT_SP_ADDR \
|
||||||
(ATMEL_BASE_SRAM1 + 0x1000 - GENERATED_GBL_DATA_SIZE)
|
(ATMEL_BASE_SRAM1 + 16 * 1024 - GENERATED_GBL_DATA_SIZE)
|
||||||
|
|
||||||
/* DataFlash */
|
|
||||||
#define CONFIG_ATMEL_DATAFLASH_SPI
|
|
||||||
#define CONFIG_HAS_DATAFLASH
|
|
||||||
#define CONFIG_SYS_MAX_DATAFLASH_BANKS 1
|
|
||||||
#define CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 0xC0000000
|
|
||||||
#define AT91_SPI_CLK 8000000
|
|
||||||
#define DATAFLASH_TCSS (0x1a << 16)
|
|
||||||
#define DATAFLASH_TCHS (0x1 << 24)
|
|
||||||
|
|
||||||
/* NAND flash */
|
/* NAND flash */
|
||||||
#ifdef CONFIG_CMD_NAND
|
#ifdef CONFIG_CMD_NAND
|
||||||
|
@ -106,12 +89,11 @@
|
||||||
#define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE
|
#define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE
|
||||||
#define CONFIG_SYS_MEMTEST_END 0x23e00000
|
#define CONFIG_SYS_MEMTEST_END 0x23e00000
|
||||||
|
|
||||||
/* bootstrap + u-boot + env in dataflash on CS0 */
|
/* bootstrap + u-boot + env + linux in dataflash on CS0 */
|
||||||
#define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + 0x4000)
|
|
||||||
#define CONFIG_ENV_OFFSET 0x2000
|
#define CONFIG_ENV_OFFSET 0x2000
|
||||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + \
|
|
||||||
CONFIG_ENV_OFFSET)
|
|
||||||
#define CONFIG_ENV_SIZE 0x2000
|
#define CONFIG_ENV_SIZE 0x2000
|
||||||
|
#define CONFIG_ENV_SECT_SIZE CONFIG_ENV_SIZE
|
||||||
|
#define CONFIG_ENV_SPI_MAX_HZ 15000000
|
||||||
#define CONFIG_BOOTCOMMAND "nboot 21000000 0"
|
#define CONFIG_BOOTCOMMAND "nboot 21000000 0"
|
||||||
#define CONFIG_BOOTARGS "console=ttyS0,115200 " \
|
#define CONFIG_BOOTARGS "console=ttyS0,115200 " \
|
||||||
"root=/dev/mtdblock1 " \
|
"root=/dev/mtdblock1 " \
|
||||||
|
|
Loading…
Reference in a new issue