This patch add board-level code and base DT for AP121. Signed-off-by: Wills Wang <wills.wang@live.com> [updated defconfig, enabled CONFIG_USE_PRIVATE_LIBGCC=y] Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>master
parent
b85dc46072
commit
6a7b52bc8d
@ -0,0 +1,43 @@ |
|||||||
|
/* |
||||||
|
* Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com> |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: GPL-2.0+ |
||||||
|
*/ |
||||||
|
|
||||||
|
/dts-v1/; |
||||||
|
#include "ar933x.dtsi" |
||||||
|
|
||||||
|
/ { |
||||||
|
model = "AP121 Reference Board"; |
||||||
|
compatible = "qca,ap121", "qca,ar933x"; |
||||||
|
|
||||||
|
aliases { |
||||||
|
spi0 = &spi0; |
||||||
|
serial0 = &uart0; |
||||||
|
}; |
||||||
|
|
||||||
|
chosen { |
||||||
|
stdout-path = "serial0:115200n8"; |
||||||
|
}; |
||||||
|
}; |
||||||
|
|
||||||
|
&xtal { |
||||||
|
clock-frequency = <25000000>; |
||||||
|
}; |
||||||
|
|
||||||
|
&uart0 { |
||||||
|
status = "okay"; |
||||||
|
}; |
||||||
|
|
||||||
|
&spi0 { |
||||||
|
spi-max-frequency = <25000000>; |
||||||
|
status = "okay"; |
||||||
|
spi-flash@0 { |
||||||
|
#address-cells = <1>; |
||||||
|
#size-cells = <1>; |
||||||
|
compatible = "spi-flash"; |
||||||
|
memory-map = <0x9f000000 0x00800000>; |
||||||
|
spi-max-frequency = <25000000>; |
||||||
|
reg = <0>; |
||||||
|
}; |
||||||
|
}; |
@ -0,0 +1,82 @@ |
|||||||
|
/* |
||||||
|
* Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com> |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: GPL-2.0+ |
||||||
|
*/ |
||||||
|
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h> |
||||||
|
#include "skeleton.dtsi" |
||||||
|
|
||||||
|
/ { |
||||||
|
compatible = "qca,ar933x"; |
||||||
|
|
||||||
|
#address-cells = <1>; |
||||||
|
#size-cells = <1>; |
||||||
|
|
||||||
|
cpus { |
||||||
|
#address-cells = <1>; |
||||||
|
#size-cells = <0>; |
||||||
|
|
||||||
|
cpu@0 { |
||||||
|
device_type = "cpu"; |
||||||
|
compatible = "mips,mips24Kc"; |
||||||
|
reg = <0>; |
||||||
|
}; |
||||||
|
}; |
||||||
|
|
||||||
|
clocks { |
||||||
|
#address-cells = <1>; |
||||||
|
#size-cells = <1>; |
||||||
|
ranges; |
||||||
|
|
||||||
|
xtal: xtal { |
||||||
|
#clock-cells = <0>; |
||||||
|
compatible = "fixed-clock"; |
||||||
|
clock-output-names = "xtal"; |
||||||
|
}; |
||||||
|
}; |
||||||
|
|
||||||
|
pinctrl { |
||||||
|
u-boot,dm-pre-reloc; |
||||||
|
compatible = "qca,ar933x-pinctrl"; |
||||||
|
ranges; |
||||||
|
#address-cells = <1>; |
||||||
|
#size-cells = <1>; |
||||||
|
reg = <0x18040000 0x100>; |
||||||
|
}; |
||||||
|
|
||||||
|
ahb { |
||||||
|
compatible = "simple-bus"; |
||||||
|
ranges; |
||||||
|
|
||||||
|
#address-cells = <1>; |
||||||
|
#size-cells = <1>; |
||||||
|
|
||||||
|
apb { |
||||||
|
compatible = "simple-bus"; |
||||||
|
ranges; |
||||||
|
|
||||||
|
#address-cells = <1>; |
||||||
|
#size-cells = <1>; |
||||||
|
|
||||||
|
uart0: uart@18020000 { |
||||||
|
compatible = "qca,ar9330-uart"; |
||||||
|
reg = <0x18020000 0x20>; |
||||||
|
interrupts = <128 IRQ_TYPE_LEVEL_HIGH>; |
||||||
|
|
||||||
|
status = "disabled"; |
||||||
|
}; |
||||||
|
}; |
||||||
|
|
||||||
|
spi0: spi@1f000000 { |
||||||
|
compatible = "qca,ar7100-spi"; |
||||||
|
reg = <0x1f000000 0x10>; |
||||||
|
interrupts = <129 IRQ_TYPE_LEVEL_HIGH>; |
||||||
|
|
||||||
|
status = "disabled"; |
||||||
|
|
||||||
|
#address-cells = <1>; |
||||||
|
#size-cells = <0>; |
||||||
|
}; |
||||||
|
}; |
||||||
|
}; |
@ -0,0 +1,12 @@ |
|||||||
|
if TARGET_AP121 |
||||||
|
|
||||||
|
config SYS_VENDOR |
||||||
|
default "qca" |
||||||
|
|
||||||
|
config SYS_BOARD |
||||||
|
default "ap121" |
||||||
|
|
||||||
|
config SYS_CONFIG_NAME |
||||||
|
default "ap121" |
||||||
|
|
||||||
|
endif |
@ -0,0 +1,6 @@ |
|||||||
|
AP121 BOARD |
||||||
|
M: Wills Wang <wills.wang@live.com> |
||||||
|
S: Maintained |
||||||
|
F: board/qca/ap121/ |
||||||
|
F: include/configs/ap121.h |
||||||
|
F: configs/ap121_defconfig |
@ -0,0 +1,5 @@ |
|||||||
|
#
|
||||||
|
# SPDX-License-Identifier: GPL-2.0+
|
||||||
|
#
|
||||||
|
|
||||||
|
obj-y = ap121.o
|
@ -0,0 +1,50 @@ |
|||||||
|
/*
|
||||||
|
* Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com> |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: GPL-2.0+ |
||||||
|
*/ |
||||||
|
|
||||||
|
#include <common.h> |
||||||
|
#include <asm/io.h> |
||||||
|
#include <asm/addrspace.h> |
||||||
|
#include <asm/types.h> |
||||||
|
#include <mach/ar71xx_regs.h> |
||||||
|
#include <mach/ddr.h> |
||||||
|
#include <debug_uart.h> |
||||||
|
|
||||||
|
DECLARE_GLOBAL_DATA_PTR; |
||||||
|
|
||||||
|
#ifdef CONFIG_DEBUG_UART_BOARD_INIT |
||||||
|
void board_debug_uart_init(void) |
||||||
|
{ |
||||||
|
void __iomem *regs; |
||||||
|
u32 val; |
||||||
|
|
||||||
|
regs = map_physmem(AR71XX_GPIO_BASE, AR71XX_GPIO_SIZE, |
||||||
|
MAP_NOCACHE); |
||||||
|
|
||||||
|
/*
|
||||||
|
* GPIO9 as input, GPIO10 as output |
||||||
|
*/ |
||||||
|
val = readl(regs + AR71XX_GPIO_REG_OE); |
||||||
|
val &= ~AR933X_GPIO(9); |
||||||
|
val |= AR933X_GPIO(10); |
||||||
|
writel(val, regs + AR71XX_GPIO_REG_OE); |
||||||
|
|
||||||
|
/*
|
||||||
|
* Enable UART, GPIO9 as UART_SI, GPIO10 as UART_SO |
||||||
|
*/ |
||||||
|
val = readl(regs + AR71XX_GPIO_REG_FUNC); |
||||||
|
val |= AR933X_GPIO_FUNC_UART_EN | AR933X_GPIO_FUNC_RES_TRUE; |
||||||
|
writel(val, regs + AR71XX_GPIO_REG_FUNC); |
||||||
|
} |
||||||
|
#endif |
||||||
|
|
||||||
|
int board_early_init_f(void) |
||||||
|
{ |
||||||
|
#ifdef CONFIG_DEBUG_UART |
||||||
|
debug_uart_init(); |
||||||
|
#endif |
||||||
|
ddr_init(); |
||||||
|
return 0; |
||||||
|
} |
@ -0,0 +1,47 @@ |
|||||||
|
CONFIG_MIPS=y |
||||||
|
CONFIG_SYS_MALLOC_F_LEN=0x2000 |
||||||
|
CONFIG_DM_SERIAL=y |
||||||
|
CONFIG_DM_SPI=y |
||||||
|
CONFIG_DM_SPI_FLASH=y |
||||||
|
CONFIG_ARCH_ATH79=y |
||||||
|
CONFIG_DEFAULT_DEVICE_TREE="ap121" |
||||||
|
CONFIG_SYS_PROMPT="ap121 # " |
||||||
|
# CONFIG_CMD_BDI is not set |
||||||
|
# CONFIG_CMD_CONSOLE is not set |
||||||
|
# CONFIG_CMD_ELF is not set |
||||||
|
# CONFIG_CMD_IMLS is not set |
||||||
|
# CONFIG_CMD_XIMG is not set |
||||||
|
# CONFIG_CMD_EXPORTENV is not set |
||||||
|
# CONFIG_CMD_IMPORTENV is not set |
||||||
|
# CONFIG_CMD_EDITENV is not set |
||||||
|
# CONFIG_CMD_CRC32 is not set |
||||||
|
# CONFIG_CMD_FLASH is not set |
||||||
|
CONFIG_CMD_SF=y |
||||||
|
CONFIG_CMD_SPI=y |
||||||
|
# CONFIG_CMD_FPGA is not set |
||||||
|
# CONFIG_CMD_NET is not set |
||||||
|
# CONFIG_CMD_NFS is not set |
||||||
|
CONFIG_SPI_FLASH=y |
||||||
|
CONFIG_SPI_FLASH_BAR=y |
||||||
|
CONFIG_SPI_FLASH_ATMEL=y |
||||||
|
CONFIG_SPI_FLASH_EON=y |
||||||
|
CONFIG_SPI_FLASH_GIGADEVICE=y |
||||||
|
CONFIG_SPI_FLASH_MACRONIX=y |
||||||
|
CONFIG_SPI_FLASH_SPANSION=y |
||||||
|
CONFIG_SPI_FLASH_STMICRO=y |
||||||
|
CONFIG_SPI_FLASH_SST=y |
||||||
|
CONFIG_SPI_FLASH_WINBOND=y |
||||||
|
CONFIG_SPI_FLASH_DATAFLASH=y |
||||||
|
CONFIG_SPI_FLASH_MTD=y |
||||||
|
CONFIG_PINCTRL=y |
||||||
|
CONFIG_PINCONF=y |
||||||
|
CONFIG_AR933X_PINCTRL=y |
||||||
|
CONFIG_DEBUG_UART=y |
||||||
|
CONFIG_DEBUG_UART_AR933X=y |
||||||
|
CONFIG_DEBUG_UART_BASE=0xb8020000 |
||||||
|
CONFIG_DEBUG_UART_CLOCK=25000000 |
||||||
|
CONFIG_DEBUG_UART_BOARD_INIT=y |
||||||
|
CONFIG_AR933X_UART=y |
||||||
|
CONFIG_ATH79_SPI=y |
||||||
|
CONFIG_USE_PRIVATE_LIBGCC=y |
||||||
|
CONFIG_OF_LIBFDT=y |
@ -0,0 +1,86 @@ |
|||||||
|
/*
|
||||||
|
* Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com> |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: GPL-2.0+ |
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef __CONFIG_H |
||||||
|
#define __CONFIG_H |
||||||
|
|
||||||
|
#define CONFIG_SYS_TEXT_BASE 0x9f000000 |
||||||
|
|
||||||
|
#define CONFIG_DISPLAY_CPUINFO |
||||||
|
#define CONFIG_DISPLAY_BOARDINFO |
||||||
|
#define CONFIG_BOARD_EARLY_INIT_F |
||||||
|
|
||||||
|
#define CONFIG_SYS_HZ 1000 |
||||||
|
#define CONFIG_SYS_MHZ 200 |
||||||
|
#define CONFIG_SYS_MIPS_TIMER_FREQ (CONFIG_SYS_MHZ * 1000000) |
||||||
|
|
||||||
|
/* Cache Configuration */ |
||||||
|
#define CONFIG_SYS_DCACHE_SIZE 0x8000 |
||||||
|
#define CONFIG_SYS_ICACHE_SIZE 0x10000 |
||||||
|
#define CONFIG_SYS_CACHELINE_SIZE 32 |
||||||
|
|
||||||
|
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE |
||||||
|
|
||||||
|
#define CONFIG_SYS_MALLOC_LEN 0x40000 |
||||||
|
#define CONFIG_SYS_BOOTPARAMS_LEN 0x20000 |
||||||
|
|
||||||
|
#define CONFIG_SYS_SDRAM_BASE 0x80000000 |
||||||
|
#define CONFIG_SYS_LOAD_ADDR 0x81000000 |
||||||
|
|
||||||
|
#define CONFIG_SYS_NO_FLASH |
||||||
|
|
||||||
|
#define CONFIG_SYS_INIT_RAM_ADDR 0xbd000000 |
||||||
|
#define CONFIG_SYS_INIT_RAM_SIZE 0x8000 |
||||||
|
#define CONFIG_SYS_INIT_SP_ADDR \ |
||||||
|
(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE - 1) |
||||||
|
|
||||||
|
#define CONFIG_BAUDRATE 115200 |
||||||
|
#define CONFIG_SYS_BAUDRATE_TABLE \ |
||||||
|
{9600, 19200, 38400, 57600, 115200} |
||||||
|
|
||||||
|
#define CONFIG_BOOTDELAY 3 |
||||||
|
#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ |
||||||
|
"root=/dev/mtdblock2 " \
|
||||||
|
"rootfstype=squashfs" |
||||||
|
#define CONFIG_BOOTCOMMAND "sf probe;" \ |
||||||
|
"mtdparts default;" \
|
||||||
|
"bootm 0x9f300000" |
||||||
|
#define CONFIG_LZMA |
||||||
|
|
||||||
|
#define MTDIDS_DEFAULT "nor0=spi-flash.0" |
||||||
|
#define MTDPARTS_DEFAULT "mtdparts=spi-flash.0:" \ |
||||||
|
"256k(u-boot),64k(u-boot-env)," \
|
||||||
|
"2752k(rootfs),896k(uImage)," \
|
||||||
|
"64k(NVRAM),64k(ART)" |
||||||
|
|
||||||
|
#define CONFIG_ENV_SPI_MAX_HZ 25000000 |
||||||
|
#define CONFIG_ENV_IS_IN_SPI_FLASH |
||||||
|
#define CONFIG_ENV_OFFSET 0x40000 |
||||||
|
#define CONFIG_ENV_SECT_SIZE 0x10000 |
||||||
|
#define CONFIG_ENV_SIZE 0x10000 |
||||||
|
|
||||||
|
/*
|
||||||
|
* Command |
||||||
|
*/ |
||||||
|
#define CONFIG_CMD_MTDPARTS |
||||||
|
|
||||||
|
/* Miscellaneous configurable options */ |
||||||
|
#define CONFIG_SYS_CBSIZE 256 |
||||||
|
#define CONFIG_SYS_MAXARGS 16 |
||||||
|
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ |
||||||
|
sizeof(CONFIG_SYS_PROMPT) + 16) |
||||||
|
#define CONFIG_SYS_LONGHELP |
||||||
|
#define CONFIG_CMDLINE_EDITING |
||||||
|
#define CONFIG_AUTO_COMPLETE |
||||||
|
|
||||||
|
/*
|
||||||
|
* Diagnostics |
||||||
|
*/ |
||||||
|
#define CONFIG_SYS_MEMTEST_START 0x80100000 |
||||||
|
#define CONFIG_SYS_MEMTEST_END 0x83f00000 |
||||||
|
#define CONFIG_CMD_MEMTEST |
||||||
|
|
||||||
|
#endif /* __CONFIG_H */ |
Loading…
Reference in new issue