[U-Boot] [PATCH v4 08/13] board: Add Microchip PIC32MZ[DA]-Starter-Kit board.
Purna Chandra Mandal
purna.mandal at microchip.com
Mon Feb 1 09:17:31 CET 2016
On 01/29/2016 08:42 PM, Daniel Schwierzeck wrote:
>
> 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 at microchip.com>
> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck at gmail.com>
Thanks Daniel.
Could you please apply these patches in your tree?
>>
>> ---
>>
>> 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 at 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 at 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 at 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 at 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 */
>>
More information about the U-Boot
mailing list