mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-24 21:54:01 +00:00
board: Add Microchip PIC32MZ[DA]-Starter-Kit board.
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>
This commit is contained in:
parent
be961fa15b
commit
44da3a176c
10 changed files with 254 additions and 1 deletions
|
@ -2,7 +2,7 @@
|
|||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
|
||||
dtb-y +=
|
||||
dtb-$(CONFIG_TARGET_PIC32MZDASK) += pic32mzda_sk.dtb
|
||||
|
||||
targets += $(dtb-y)
|
||||
|
||||
|
|
38
arch/mips/dts/pic32mzda_sk.dts
Normal file
38
arch/mips/dts/pic32mzda_sk.dts
Normal file
|
@ -0,0 +1,38 @@
|
|||
/*
|
||||
* Copyright (C) 2015 Purna Chandra Mandal, purna.mandal@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;
|
||||
};
|
|
@ -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
|
||||
|
|
13
board/microchip/pic32mzda/Kconfig
Normal file
13
board/microchip/pic32mzda/Kconfig
Normal file
|
@ -0,0 +1,13 @@
|
|||
|
||||
if TARGET_PIC32MZDASK
|
||||
|
||||
config SYS_BOARD
|
||||
default "pic32mzda"
|
||||
|
||||
config SYS_VENDOR
|
||||
default "microchip"
|
||||
|
||||
config SYS_CONFIG_NAME
|
||||
default "pic32mzdask"
|
||||
|
||||
endif
|
6
board/microchip/pic32mzda/MAINTAINERS
Normal file
6
board/microchip/pic32mzda/MAINTAINERS
Normal file
|
@ -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
|
7
board/microchip/pic32mzda/Makefile
Normal file
7
board/microchip/pic32mzda/Makefile
Normal file
|
@ -0,0 +1,7 @@
|
|||
#
|
||||
# (C) Copyright 2015
|
||||
# Purna Chandra Mandal, purna.mandal@microchip.com.
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
obj-y := pic32mzda.o
|
22
board/microchip/pic32mzda/README
Normal file
22
board/microchip/pic32mzda/README
Normal file
|
@ -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.
|
31
board/microchip/pic32mzda/pic32mzda.c
Normal file
31
board/microchip/pic32mzda/pic32mzda.c
Normal file
|
@ -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
|
30
configs/pic32mzdask_defconfig
Normal file
30
configs/pic32mzdask_defconfig
Normal file
|
@ -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
|
93
include/configs/pic32mzdask.h
Normal file
93
include/configs/pic32mzdask.h
Normal file
|
@ -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 */
|
Loading…
Reference in a new issue