From: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v4 6/8] mips: ath79: add AP121 reference board
Date: Sat, 26 Dec 2015 14:52:22 +0100 [thread overview]
Message-ID: <567E9B96.9090206@gmail.com> (raw)
In-Reply-To: <BLU436-SMTP10517CACE735D7A1BB56998FFF80@phx.gbl>
Am 25.12.2015 um 19:56 schrieb Wills Wang:
> Signed-off-by: Wills Wang <wills.wang@live.com>
> ---
>
> Changes in v4: None
> Changes in v3: None
> Changes in v2: None
>
> arch/mips/Kconfig | 8 +++++
> arch/mips/dts/Makefile | 2 +-
> arch/mips/dts/ap121.dts | 37 +++++++++++++++++++
> arch/mips/dts/ar933x.dtsi | 64 +++++++++++++++++++++++++++++++++
> board/ath79/ap121/Kconfig | 15 ++++++++
> board/ath79/ap121/MAINTAINERS | 6 ++++
> board/ath79/ap121/Makefile | 8 +++++
> board/ath79/ap121/README | 18 ++++++++++
> board/ath79/ap121/ap121.c | 17 +++++++++
> board/ath79/ap121/config.mk | 16 +++++++++
> configs/ap121_defconfig | 42 ++++++++++++++++++++++
> include/configs/ap121.h | 82 +++++++++++++++++++++++++++++++++++++++++++
> 12 files changed, 314 insertions(+), 1 deletion(-)
> create mode 100644 arch/mips/dts/ap121.dts
> create mode 100644 arch/mips/dts/ar933x.dtsi
> create mode 100644 board/ath79/ap121/Kconfig
> create mode 100644 board/ath79/ap121/MAINTAINERS
> create mode 100644 board/ath79/ap121/Makefile
> create mode 100644 board/ath79/ap121/README
> create mode 100644 board/ath79/ap121/ap121.c
> create mode 100644 board/ath79/ap121/config.mk
> create mode 100644 configs/ap121_defconfig
> create mode 100644 include/configs/ap121.h
>
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index 7f7e258..09b8709 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -51,6 +51,13 @@ config TARGET_PB1X00
> select SUPPORTS_CPU_MIPS32_R2
> select SYS_MIPS_CACHE_INIT_RAM_LOAD
>
> +config TARGET_AP121
> + bool "Support ap121"
> + select SUPPORTS_BIG_ENDIAN
> + select SUPPORTS_CPU_MIPS32_R1
> + select SUPPORTS_CPU_MIPS32_R2
> + select SYS_MIPS_CACHE_INIT_RAM_LOAD
> +
please create a dedicated Kconfig in arch/mips/mach-ath79/ and add this
board there. Have a look at following links for examples:
https://github.com/danielschwierzeck/u-boot-lantiq/blob/lantiq/upstream/arch/mips/mach-lantiq/Kconfig
http://patchwork.ozlabs.org/patch/558465/
http://patchwork.ozlabs.org/patch/558469/
>
> endchoice
>
> @@ -59,6 +66,7 @@ source "board/imgtec/malta/Kconfig"
> source "board/micronas/vct/Kconfig"
> source "board/pb1x00/Kconfig"
> source "board/qemu-mips/Kconfig"
> +source "board/ath79/ap121/Kconfig"
>
> if MIPS
>
> diff --git a/arch/mips/dts/Makefile b/arch/mips/dts/Makefile
> index 47b6eb5..6f8b413 100644
> --- a/arch/mips/dts/Makefile
> +++ b/arch/mips/dts/Makefile
> @@ -2,7 +2,7 @@
> # SPDX-License-Identifier: GPL-2.0+
> #
>
> -dtb-y +=
> +dtb-$(CONFIG_TARGET_AP121) += ap121.dtb
>
> targets += $(dtb-y)
>
> diff --git a/arch/mips/dts/ap121.dts b/arch/mips/dts/ap121.dts
> new file mode 100644
> index 0000000..769458a
> --- /dev/null
> +++ b/arch/mips/dts/ap121.dts
> @@ -0,0 +1,37 @@
> +/dts-v1/;
> +#include "ar933x.dtsi"
> +
> +/ {
> + model = "AP121 Reference Board";
> + compatible = "ath79,ap121", "ath79,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 at 0 {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + compatible = "spi-flash";
> + memory-map = <0x9f000000 0x00800000>;
> + spi-max-frequency = <25000000>;
> + reg = <0>;
> + };
> +};
> diff --git a/arch/mips/dts/ar933x.dtsi b/arch/mips/dts/ar933x.dtsi
> new file mode 100644
> index 0000000..64b30f7
> --- /dev/null
> +++ b/arch/mips/dts/ar933x.dtsi
> @@ -0,0 +1,64 @@
> +#include "skeleton.dtsi"
> +
> +/ {
> + compatible = "ath79,ar933x";
the first part should be a vendor name and according to device-trees
from kernel this should be "qca"
> +
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + cpus {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + cpu at 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";
> + };
> + };
> +
> + ahb {
> + compatible = "simple-bus";
> + ranges;
> +
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + apb {
> + compatible = "simple-bus";
> + ranges;
> +
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + uart0: uart at 18020000 {
> + compatible = "ath79,ar933x-uart";
I suggest to use "qca,ar9330-uart" like the kernel driver
> + reg = <0x18020000 0x20>;
> +
> + status = "disabled";
> + };
> + };
> +
> + spi0: spi at 1f000000 {
> + compatible = "ath79,ath79-spi";
I suggest to use "qca,ar7100-spi" like the kernel driver
> + reg = <0x1f000000 0x10>;
> +
> + status = "disabled";
> +
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> + };
> +};
> diff --git a/board/ath79/ap121/Kconfig b/board/ath79/ap121/Kconfig
> new file mode 100644
> index 0000000..88d9eff
> --- /dev/null
> +++ b/board/ath79/ap121/Kconfig
> @@ -0,0 +1,15 @@
> +if TARGET_AP121
> +
> +config SYS_BOARD
> + default "ap121"
> +
> +config SYS_VENDOR
> + default "ath79"
> +
> +config SYS_SOC
> + default "ath79"
> +
> +config SYS_CONFIG_NAME
> + default "ap121"
> +
> +endif
> diff --git a/board/ath79/ap121/MAINTAINERS b/board/ath79/ap121/MAINTAINERS
> new file mode 100644
> index 0000000..319b521
> --- /dev/null
> +++ b/board/ath79/ap121/MAINTAINERS
> @@ -0,0 +1,6 @@
> +AP121 BOARD
> +M: Wills Wang <wills.wang@live.com>
> +S: Maintained
> +F: board/ath79/ap121/
> +F: include/configs/ap121.h
> +F: configs/ap121_defconfig
> diff --git a/board/ath79/ap121/Makefile b/board/ath79/ap121/Makefile
> new file mode 100644
> index 0000000..9132118
> --- /dev/null
> +++ b/board/ath79/ap121/Makefile
> @@ -0,0 +1,8 @@
> +#
> +# (C) Copyright 2003-2006
> +# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
again, no historic copyright needed for a simple one-line Makefile
> +#
> +# SPDX-License-Identifier: GPL-2.0+
> +#
> +
> +obj-y = ap121.o
> diff --git a/board/ath79/ap121/README b/board/ath79/ap121/README
> new file mode 100644
> index 0000000..104850f
> --- /dev/null
> +++ b/board/ath79/ap121/README
> @@ -0,0 +1,18 @@
> +ATHEROS AP121
> +==================
> +
> +Supported hardware: AP121 referance board.
> +
> +Files of the AP121 port
> +--------------------------
> +
> +arch/mips/mach-ath79/ar933x/ - The CPU support code for the Atheros ar933x
> +arch/mips/include/asm/arch-ath79 - Header files for the Atheros ath79
> +board/ath79/ap121/ - AP121 board specific files
> +include/configs/ap121.h - AP121 configuration file
> +
> +Configure
> +-------------------
> +
> +To configure for the current board
> + make ap121_defconfig
you can drop this README. There is no new or relevant information in it
> diff --git a/board/ath79/ap121/ap121.c b/board/ath79/ap121/ap121.c
> new file mode 100644
> index 0000000..f60f88b
> --- /dev/null
> +++ b/board/ath79/ap121/ap121.c
> @@ -0,0 +1,17 @@
> +/*
> + * (C) Copyright 2015
> + * Wills Wang, <wills.wang@live.com>
> + *
> + * SPDX-License-Identifier: GPL-2.0+
> + */
> +
> +#include <common.h>
> +#include <command.h>
> +#include <asm/mipsregs.h>
> +#include <asm/addrspace.h>
> +#include <asm/io.h>
> +
> +int checkboard(void)
> +{
> + return 0;
> +}
you could/should print your board name here
> diff --git a/board/ath79/ap121/config.mk b/board/ath79/ap121/config.mk
> new file mode 100644
> index 0000000..f7dd3b7
> --- /dev/null
> +++ b/board/ath79/ap121/config.mk
> @@ -0,0 +1,16 @@
> +#
> +# (C) Copyright 2003
> +# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
> +#
> +# SPDX-License-Identifier: GPL-2.0+
> +#
> +
> +#
> +# AP121 referance board, MIPS32 core
> +#
> +
> +# ROM version
> +CONFIG_SYS_TEXT_BASE = 0x9f000000
> +
> +# RAM version
> +#CONFIG_SYS_TEXT_BASE = 0x80010000
config.mk files in board directory are also deprecated. Please add
"#define CONFIG_SYS_TEXT_BASE 0x9f000000" to include/configs/ap121.h
> diff --git a/configs/ap121_defconfig b/configs/ap121_defconfig
> new file mode 100644
> index 0000000..cec0bb7
> --- /dev/null
> +++ b/configs/ap121_defconfig
> @@ -0,0 +1,42 @@
> +CONFIG_MIPS=y
> +CONFIG_TARGET_AP121=y
> +CONFIG_SYS_MALLOC_F_LEN=0x2000
> +CONFIG_SYS_PROMPT="ap121 # "
> +CONFIG_OF_CONTROL=y
> +CONFIG_DEFAULT_DEVICE_TREE="ap121"
> +CONFIG_DM=y
options like CONFIG_OF_CONTROL and CONFIG_DM should be pre-selected by
the mach or SoC specific Kconfig file if you always require it. An user
of your board should not be able to disable those options.
> +CONFIG_DM_SERIAL=y
> +CONFIG_DM_SPI=y
> +CONFIG_DM_SPI_FLASH=y
> +CONFIG_ATH79_SPI=y
> +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_USE_4K_SECTORS=y
> +CONFIG_SPI_FLASH_DATAFLASH=y
> +CONFIG_SPI_FLASH_MTD=y
> +CONFIG_CMD_DM=y
> +CONFIG_CMD_SF=y
> +CONFIG_CMD_SPI=y
> +# CONFIG_NET is not set
> +# CONFIG_CMD_BDI is not set
> +# CONFIG_CMD_CONSOLE is not set
> +# CONFIG_CMD_IMLS is not set
> +# CONFIG_CMD_XIMG is not set
> +# CONFIG_CMD_ELF 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_FPGA is not set
> +# CONFIG_CMD_NFS is not set
> +# CONFIG_CMD_NET is not set
> +CONFIG_USE_PRIVATE_LIBGCC=y
> diff --git a/include/configs/ap121.h b/include/configs/ap121.h
> new file mode 100644
> index 0000000..5a01d11
> --- /dev/null
> +++ b/include/configs/ap121.h
> @@ -0,0 +1,82 @@
> +#ifndef __CONFIG_H
> +#define __CONFIG_H
> +
> +#include <linux/kconfig.h>
> +#include <linux/sizes.h>
those includes are not needed in a board config header file respectively
they are already included implicitely
> +
> +#define CONFIG_ARCH_ATH79
> +#define CONFIG_SOC_AR933X
this is already configured by Kconfig
> +
> +#define CONFIG_DISPLAY_CPUINFO
> +#define CONFIG_DISPLAY_BOARDINFO
> +
> +#define CONFIG_OF_LIBFDT
> +
> +#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 32 * SZ_1K
> +#define CONFIG_SYS_ICACHE_SIZE 64 * SZ_1K
> +#define CONFIG_SYS_CACHELINE_SIZE 32
you can drop this, the cache sizes will be detected automatically
> +
> +#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
> +
> +#define CONFIG_SYS_MALLOC_LEN ROUND(0x30000 + 128 * SZ_1K, 0x1000)
no need for a magic calculation, please choose a fixed value
> +
> +#define CONFIG_SYS_BOOTPARAMS_LEN 128 * SZ_1K
> +
> +#define CONFIG_SYS_SDRAM_BASE 0x80000000
> +#define CONFIG_SYS_LOAD_ADDR 0x81000000
> +
> +#define CONFIG_SYS_INIT_SP_OFFSET 0x20000
> +#define CONFIG_SYS_NO_FLASH
> +
> +#define CONFIG_AR933X_SERIAL
this is already configured by Kconfig
> +#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 (256 * SZ_1K)
> +#define CONFIG_ENV_SECT_SIZE (64 * SZ_1K)
> +#define CONFIG_ENV_SIZE (64 * SZ_1K)
> +
> +/*
> + * 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
> +#define CONFIG_SYS_HUSH_PARSER
> +#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
this is already configured by Kconfig
> +
> +/*
> + * Diagnostics
> + */
> +#define CONFIG_SYS_MEMTEST_START 0x80100000
> +#define CONFIG_SYS_MEMTEST_END 0x83f00000
> +#define CONFIG_CMD_MEMTEST
> +
> +#endif /* __CONFIG_H */
>
--
- Daniel
next prev parent reply other threads:[~2015-12-26 13:52 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1451069788-6786-1-git-send-email-wills.wang@live.com>
2015-12-25 18:56 ` [U-Boot] [PATCH v4 1/8] include: Add support for "do_div" macro Wills Wang
2015-12-26 7:24 ` Marek Vasut
2015-12-26 15:48 ` Wills Wang
2015-12-26 13:09 ` Daniel Schwierzeck
2015-12-26 16:54 ` Wills Wang
2015-12-25 18:56 ` [U-Boot] [PATCH v4 2/8] mips: implement to access the KSEG0/1 memory range in map_physmem Wills Wang
2015-12-26 7:25 ` Marek Vasut
2015-12-25 18:56 ` [U-Boot] [PATCH v4 3/8] mips: add base support for atheros ath79 based SOCs Wills Wang
2015-12-26 7:28 ` Marek Vasut
2015-12-26 16:17 ` Wills Wang
2015-12-26 17:01 ` Daniel Schwierzeck
2015-12-26 17:06 ` Marek Vasut
2015-12-27 9:37 ` Wills Wang
2015-12-25 18:56 ` [U-Boot] [PATCH v4 4/8] mips: ath79: add serial driver for ar933x SOC Wills Wang
2015-12-26 13:20 ` Daniel Schwierzeck
2015-12-26 16:54 ` Wills Wang
2015-12-26 17:19 ` Daniel Schwierzeck
2015-12-27 6:28 ` Wills Wang
2015-12-27 8:21 ` Thomas Chou
2015-12-27 13:07 ` Thomas Chou
2015-12-27 8:31 ` Thomas Chou
2015-12-25 18:56 ` [U-Boot] [PATCH v4 5/8] mips: ath79: add spi driver Wills Wang
2015-12-26 13:23 ` Daniel Schwierzeck
2015-12-26 16:56 ` Wills Wang
2015-12-25 18:56 ` [U-Boot] [PATCH v4 6/8] mips: ath79: add AP121 reference board Wills Wang
2015-12-26 13:52 ` Daniel Schwierzeck [this message]
2015-12-26 16:59 ` Wills Wang
2015-12-26 17:07 ` Daniel Schwierzeck
2015-12-27 6:36 ` Wills Wang
2015-12-27 6:41 ` Marek Vasut
2015-12-27 7:03 ` Wills Wang
2015-12-27 7:10 ` Marek Vasut
2015-12-25 18:56 ` [U-Boot] [PATCH v4 7/8] mips: support optimize tuning for same common processor cores Wills Wang
2015-12-26 7:30 ` Marek Vasut
2015-12-26 18:58 ` Daniel Schwierzeck
2015-12-27 3:03 ` Wills Wang
2015-12-25 18:56 ` [U-Boot] [PATCH v4 8/8] mips: move optimize tuning option from deprecated config.mk to Kconfig Wills Wang
2015-12-26 7:30 ` Marek Vasut
2015-12-26 17:33 ` Wills Wang
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=567E9B96.9090206@gmail.com \
--to=daniel.schwierzeck@gmail.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 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.