public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v4 08/13] board: Add Microchip PIC32MZ[DA]-Starter-Kit board.
Date: Fri, 29 Jan 2016 16:12:11 +0100	[thread overview]
Message-ID: <56AB814B.6050406@gmail.com> (raw)
In-Reply-To: <1453975222-11787-9-git-send-email-purna.mandal@microchip.com>



Am 28.01.2016 um 11:00 schrieb Purna Chandra Mandal:
> This adds support for Microchip PIC32MZ[DA] StarterKit board
> based on a PIC32MZ[DA] family of microcontroller.
> 
> Signed-off-by: Purna Chandra Mandal <purna.mandal@microchip.com>

Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>

> 
> 
> ---
> 
> Changes in v4:
> - create defconfig by 'make savedefconfig'
> - drop explicit SYS_BAUDRATE_TABLE in favor of default one
> 
> Changes in v3:
> - drop SKIP_LOWLEVEL_INIT, GBL_DATA_OFFSET from config header
> - move CMD_MEMTEST, CMD_MEMINFO to defconfig
> - increase SYS_MALLOC_F_LEN to 0x600
> - use auto-generated defconfig - no hand edit
> 
> Changes in v2:
> - move CONFIG_SYS_TEXT_BASE (from board/*/config.mk) to include/configs/<board>.h
> 
>  arch/mips/dts/Makefile                |  2 +-
>  arch/mips/dts/pic32mzda_sk.dts        | 38 ++++++++++++++
>  arch/mips/mach-pic32/Kconfig          | 13 +++++
>  board/microchip/pic32mzda/Kconfig     | 13 +++++
>  board/microchip/pic32mzda/MAINTAINERS |  6 +++
>  board/microchip/pic32mzda/Makefile    |  7 +++
>  board/microchip/pic32mzda/README      | 22 +++++++++
>  board/microchip/pic32mzda/pic32mzda.c | 31 ++++++++++++
>  configs/pic32mzdask_defconfig         | 30 +++++++++++
>  include/configs/pic32mzdask.h         | 93 +++++++++++++++++++++++++++++++++++
>  10 files changed, 254 insertions(+), 1 deletion(-)
>  create mode 100644 arch/mips/dts/pic32mzda_sk.dts
>  create mode 100644 board/microchip/pic32mzda/Kconfig
>  create mode 100644 board/microchip/pic32mzda/MAINTAINERS
>  create mode 100644 board/microchip/pic32mzda/Makefile
>  create mode 100644 board/microchip/pic32mzda/README
>  create mode 100644 board/microchip/pic32mzda/pic32mzda.c
>  create mode 100644 configs/pic32mzdask_defconfig
>  create mode 100644 include/configs/pic32mzdask.h
> 
> diff --git a/arch/mips/dts/Makefile b/arch/mips/dts/Makefile
> index 47b6eb5..b513918 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_PIC32MZDASK) += pic32mzda_sk.dtb
>  
>  targets += $(dtb-y)
>  
> diff --git a/arch/mips/dts/pic32mzda_sk.dts b/arch/mips/dts/pic32mzda_sk.dts
> new file mode 100644
> index 0000000..99e7f64
> --- /dev/null
> +++ b/arch/mips/dts/pic32mzda_sk.dts
> @@ -0,0 +1,38 @@
> +/*
> + * Copyright (C) 2015 Purna Chandra Mandal, purna.mandal at microchip.com
> + *
> + * SPDX-License-Identifier:	GPL-2.0+
> + */
> +
> +/dts-v1/;
> +
> +#include "pic32mzda.dtsi"
> +
> +/ {
> +	model = "Microchip PIC32MZDASK";
> +	compatible = "microchip,pic32mzdask", "microchip,pic32mzda";
> +
> +	aliases {
> +		console = &uart2;
> +		serial0 = &uart2;
> +	};
> +
> +	chosen {
> +		stdout-path = "serial0:115200n8";
> +	};
> +};
> +
> +&clock {
> +	status = "okay";
> +	u-boot,dm-pre-reloc;
> +};
> +
> +&pinctrl {
> +	status = "okay";
> +	u-boot,dm-pre-reloc;
> +};
> +
> +&uart2 {
> +	status = "okay";
> +	u-boot,dm-pre-reloc;
> +};
> diff --git a/arch/mips/mach-pic32/Kconfig b/arch/mips/mach-pic32/Kconfig
> index f636266..2e38bb7 100644
> --- a/arch/mips/mach-pic32/Kconfig
> +++ b/arch/mips/mach-pic32/Kconfig
> @@ -19,4 +19,17 @@ config SOC_PIC32MZDA
>  
>  endchoice
>  
> +choice
> +	prompt "Board select"
> +
> +config TARGET_PIC32MZDASK
> +	bool "Microchip PIC32MZ[DA] Starter Kit"
> +	depends on SOC_PIC32MZDA
> +	help
> +	  This supports Microchip PIC32MZ[DA] Starter Kit.
> +
> +endchoice
> +
> +source "board/microchip/pic32mzda/Kconfig"
> +
>  endmenu
> diff --git a/board/microchip/pic32mzda/Kconfig b/board/microchip/pic32mzda/Kconfig
> new file mode 100644
> index 0000000..8acb393
> --- /dev/null
> +++ b/board/microchip/pic32mzda/Kconfig
> @@ -0,0 +1,13 @@
> +
> +if TARGET_PIC32MZDASK
> +
> +config SYS_BOARD
> +	default "pic32mzda"
> +
> +config SYS_VENDOR
> +	default "microchip"
> +
> +config SYS_CONFIG_NAME
> +	default "pic32mzdask"
> +
> +endif
> diff --git a/board/microchip/pic32mzda/MAINTAINERS b/board/microchip/pic32mzda/MAINTAINERS
> new file mode 100644
> index 0000000..c934f1a
> --- /dev/null
> +++ b/board/microchip/pic32mzda/MAINTAINERS
> @@ -0,0 +1,6 @@
> +PIC32MZDASK BOARD
> +M:	Purna Chandra Mandal <purna.mandal@microchip.com>
> +S:	Maintained
> +F:	board/microchip/pic32mzda/
> +F:	include/configs/pic32mzdask.h
> +F:	configs/pic32mzdask_defconfig
> diff --git a/board/microchip/pic32mzda/Makefile b/board/microchip/pic32mzda/Makefile
> new file mode 100644
> index 0000000..3629530
> --- /dev/null
> +++ b/board/microchip/pic32mzda/Makefile
> @@ -0,0 +1,7 @@
> +#
> +# (C) Copyright 2015
> +# Purna Chandra Mandal, purna.mandal at microchip.com.
> +#
> +# SPDX-License-Identifier:      GPL-2.0+
> +#
> +obj-y := pic32mzda.o
> diff --git a/board/microchip/pic32mzda/README b/board/microchip/pic32mzda/README
> new file mode 100644
> index 0000000..91d16ab
> --- /dev/null
> +++ b/board/microchip/pic32mzda/README
> @@ -0,0 +1,22 @@
> +/*
> + * (c) 2015 Purna Chandra Mandal <purna.mandal@microchip.com>
> + */
> +
> +PIC32MZ[DA] Starter Kit
> +----------------------------------------
> +PIC32MZ[DA] Starter Kit is based on PIC32MZ[DA] family of micro-controller.
> +This family is powered by MIPS M14KEC 32bit general purpose core and has
> +advanced microcontroller features and peripherals.
> +
> +This processor boots with proprietary stage1 bootloader running from internal
> +boot-flash. Stage1 bootloader inturns locates and jumps to U-Boot programmed
> +on internal program-flash. Finally U-Boot loads OS image (along with other
> +required files for booting) from either uSD card, or ethernet, or from USB
> +storage.
> +
> +To boot Linux following three files are mandatory - uEnv.txt (custom U-Boot
> +environment file), uImage, *.dtb (platform device-tree-blob file).
> +
> +U-Boot jumps to Linux using UHI specification.
> +
> +Visit http://microchip.com for details.
> diff --git a/board/microchip/pic32mzda/pic32mzda.c b/board/microchip/pic32mzda/pic32mzda.c
> new file mode 100644
> index 0000000..afe2ab8
> --- /dev/null
> +++ b/board/microchip/pic32mzda/pic32mzda.c
> @@ -0,0 +1,31 @@
> +/*
> + * Microchip PIC32MZ[DA] Starter Kit board
> + *
> + * Copyright (C) 2015, Microchip Technology Inc.
> + * Purna Chandra Mandal <purna.mandal@microchip.com>
> + *
> + * SPDX-License-Identifier:	GPL-2.0+
> + *
> + */
> +
> +#include <common.h>
> +#include <dm.h>
> +#include <clk.h>
> +#include <mach/pic32.h>
> +
> +#ifdef CONFIG_DISPLAY_BOARDINFO
> +int checkboard(void)
> +{
> +	ulong rate = 0;
> +	struct udevice *dev;
> +
> +	printf("Core: %s\n", get_core_name());
> +
> +	if (!uclass_get_device(UCLASS_CLK, 0, &dev)) {
> +		rate = clk_get_rate(dev);
> +		printf("CPU Speed: %lu MHz\n", rate / 1000000);
> +	}
> +
> +	return 0;
> +}
> +#endif
> diff --git a/configs/pic32mzdask_defconfig b/configs/pic32mzdask_defconfig
> new file mode 100644
> index 0000000..1c968fc
> --- /dev/null
> +++ b/configs/pic32mzdask_defconfig
> @@ -0,0 +1,30 @@
> +CONFIG_MIPS=y
> +CONFIG_SYS_MALLOC_F_LEN=0x600
> +CONFIG_DM_SERIAL=y
> +CONFIG_DM_GPIO=y
> +CONFIG_MACH_PIC32=y
> +# CONFIG_MIPS_BOOT_ENV_LEGACY is not set
> +CONFIG_MIPS_BOOT_FDT=y
> +CONFIG_DEFAULT_DEVICE_TREE="pic32mzda_sk"
> +CONFIG_HUSH_PARSER=y
> +CONFIG_SYS_PROMPT="dask # "
> +# CONFIG_CMD_IMLS is not set
> +# CONFIG_CMD_EXPORTENV is not set
> +# CONFIG_CMD_SAVEENV is not set
> +CONFIG_LOOPW=y
> +CONFIG_CMD_MEMTEST=y
> +CONFIG_CMD_MEMINFO=y
> +# CONFIG_CMD_FLASH is not set
> +# CONFIG_CMD_FPGA is not set
> +CONFIG_CMD_GPIO=y
> +# CONFIG_CMD_NET is not set
> +# CONFIG_CMD_NFS is not set
> +CONFIG_CMD_TIME=y
> +CONFIG_OF_EMBED=y
> +CONFIG_CLK=y
> +CONFIG_PINCTRL=y
> +# CONFIG_PINCTRL_FULL is not set
> +CONFIG_SYS_VSNPRINTF=y
> +CONFIG_USE_TINY_PRINTF=y
> +CONFIG_REGEX=y
> +CONFIG_CMD_DHRYSTONE=y
> diff --git a/include/configs/pic32mzdask.h b/include/configs/pic32mzdask.h
> new file mode 100644
> index 0000000..5ba2a19
> --- /dev/null
> +++ b/include/configs/pic32mzdask.h
> @@ -0,0 +1,93 @@
> +/*
> + * (c) 2015 Purna Chandra Mandal <purna.mandal@microchip.com>
> + *
> + * SPDX-License-Identifier:	GPL-2.0+
> + *
> + * Microchip PIC32MZ[DA] Starter Kit.
> + */
> +
> +#ifndef __PIC32MZDASK_CONFIG_H
> +#define __PIC32MZDASK_CONFIG_H
> +
> +/* System Configuration */
> +#define CONFIG_SYS_TEXT_BASE		0x9d004000 /* .text */
> +#define CONFIG_DISPLAY_BOARDINFO
> +
> +/*--------------------------------------------
> + * CPU configuration
> + */
> +/* CPU Timer rate */
> +#define CONFIG_SYS_MIPS_TIMER_FREQ	100000000
> +
> +/* Cache Configuration */
> +#define CONFIG_SYS_MIPS_CACHE_MODE	CONF_CM_CACHABLE_NONCOHERENT
> +
> +/*----------------------------------------------------------------------
> + * Memory Layout
> + */
> +#define CONFIG_SYS_SRAM_BASE		0x80000000
> +#define CONFIG_SYS_SRAM_SIZE		0x00080000 /* 512K */
> +
> +/* Initial RAM for temporary stack, global data */
> +#define CONFIG_SYS_INIT_RAM_SIZE	0x10000
> +#define CONFIG_SYS_INIT_RAM_ADDR	\
> +	(CONFIG_SYS_SRAM_BASE + CONFIG_SYS_SRAM_SIZE - CONFIG_SYS_INIT_RAM_SIZE)
> +#define CONFIG_SYS_INIT_SP_ADDR		\
> +	(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE - 1)
> +
> +/* SDRAM Configuration (for final code, data, stack, heap) */
> +#define CONFIG_SYS_SDRAM_BASE		0x88000000
> +#define CONFIG_SYS_MALLOC_LEN		(256 << 10)
> +#define CONFIG_SYS_BOOTPARAMS_LEN	(4 << 10)
> +#define CONFIG_STACKSIZE		(4 << 10) /* regular stack */
> +
> +#define CONFIG_SYS_MONITOR_BASE		CONFIG_SYS_TEXT_BASE
> +#define CONFIG_SYS_MONITOR_LEN		(192 << 10)
> +
> +#define CONFIG_SYS_LOAD_ADDR		0x88500000 /* default load address */
> +#define CONFIG_SYS_ENV_ADDR		0x88300000
> +
> +/* Memory Test */
> +#define CONFIG_SYS_MEMTEST_START	0x88000000
> +#define CONFIG_SYS_MEMTEST_END		0x88080000
> +
> +/*----------------------------------------------------------------------
> + * Commands
> + */
> +#define CONFIG_SYS_LONGHELP		/* undef to save memory */
> +#define CONFIG_CMD_CLK
> +
> +/*-------------------------------------------------
> + * FLASH configuration
> + */
> +#define CONFIG_SYS_NO_FLASH
> +
> +/*------------------------------------------------------------
> + * Console Configuration
> + */
> +#define CONFIG_BAUDRATE			115200
> +#define CONFIG_SYS_CBSIZE		1024 /* Console I/O Buffer Size   */
> +#define CONFIG_SYS_MAXARGS		16   /* max number of command args*/
> +#define CONFIG_SYS_PBSIZE		\
> +		(CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
> +#define CONFIG_CMDLINE_EDITING		1
> +
> +/*
> + * Handover flattened device tree (dtb file) to Linux kernel
> + */
> +#define CONFIG_OF_LIBFDT	1
> +
> +/* -------------------------------------------------
> + * Environment
> + */
> +#define CONFIG_ENV_IS_NOWHERE	1
> +#define CONFIG_ENV_SIZE		0x4000
> +
> +/* ---------------------------------------------------------------------
> + * Board boot configuration
> + */
> +#define CONFIG_TIMESTAMP	/* Print image info with timestamp */
> +#define CONFIG_BOOTDELAY	5 /* autoboot after X seconds     */
> +#undef	CONFIG_BOOTARGS
> +
> +#endif	/* __PIC32MZDASK_CONFIG_H */
> 

-- 
- Daniel

  reply	other threads:[~2016-01-29 15:12 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-28 10:00 [U-Boot] [PATCH v4 00/13] Initial Microchip PIC32MZ[DA] Support Purna Chandra Mandal
2016-01-28 10:00 ` [U-Boot] [PATCH v4 01/13] MIPS: initial infrastructure for Microchip PIC32 architecture Purna Chandra Mandal
2016-01-28 10:00 ` [U-Boot] [PATCH v4 02/13] drivers: clk: Add clock driver for Microchip PIC32 Microcontroller Purna Chandra Mandal
2016-01-28 10:00 ` [U-Boot] [PATCH v4 03/13] drivers: pinctrl: Add pinctrl driver for Microchip PIC32 Purna Chandra Mandal
2016-01-28 10:00 ` [U-Boot] [PATCH v4 04/13] drivers: gpio: add driver for Microchip PIC32 GPIO controller Purna Chandra Mandal
2016-01-28 10:00 ` [U-Boot] [PATCH v4 05/13] drivers: serial: add driver for Microchip PIC32 UART controller Purna Chandra Mandal
2016-01-28 10:00 ` [U-Boot] [PATCH v4 06/13] drivers: ddr: Add DDR2 SDRAM controller driver for Microchip PIC32 Purna Chandra Mandal
2016-01-28 10:00 ` [U-Boot] [PATCH v4 07/13] MIPS: Add support for Microchip PIC32MZ[DA] SoC family Purna Chandra Mandal
2016-01-29 15:10   ` Daniel Schwierzeck
2016-01-28 10:00 ` [U-Boot] [PATCH v4 08/13] board: Add Microchip PIC32MZ[DA]-Starter-Kit board Purna Chandra Mandal
2016-01-29 15:12   ` Daniel Schwierzeck [this message]
2016-02-01  8:17     ` Purna Chandra Mandal
2016-01-28 10:00 ` [U-Boot] [PATCH v4 09/13] drivers: mmc: add driver for Microchip PIC32 SDHCI controller Purna Chandra Mandal
2016-01-28 10:00 ` [U-Boot] [PATCH v4 10/13] board: add SDHCI support for PIC32MZDASK board Purna Chandra Mandal
2016-01-28 10:00 ` [U-Boot] [PATCH v4 11/13] drivers: net: phy: add SMSC LAN8740 Phy support Purna Chandra Mandal
2016-01-28 15:09   ` Joe Hershberger
2016-01-28 10:00 ` [U-Boot] [PATCH v4 12/13] drivers: net: Add ethernet driver for Microchip PIC32 Purna Chandra Mandal
2016-01-28 10:00 ` [U-Boot] [PATCH v4 13/13] board: Enable ethernet, tftpboot support to pic32mzdask board Purna Chandra Mandal
2016-02-01 21:34 ` [U-Boot] [PATCH v4 00/13] Initial Microchip PIC32MZ[DA] Support Daniel Schwierzeck

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=56AB814B.6050406@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox