* [U-Boot] [PATCH v2 07/13] board: Add Microchip PIC32MZ[DA]-Starter-Kit board.
@ 2016-01-04 14:01 Purna Chandra Mandal
2016-01-05 20:36 ` Daniel Schwierzeck
0 siblings, 1 reply; 3+ messages in thread
From: Purna Chandra Mandal @ 2016-01-04 14:01 UTC (permalink / raw)
To: u-boot
This adds support for Microchip PIC32MZ[DA] Starter Kit board
based on a PIC32MZ[DA] family of microcontroller.
Signed-off-by: Purna Chandra Mandal <purna.mandal@microchip.com>
---
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 | 7 +++
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 | 21 +++++++
include/configs/pic32mzdask.h | 100 ++++++++++++++++++++++++++++++++++
10 files changed, 246 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 a394791..f357fc6 100644
--- a/arch/mips/mach-pic32/Kconfig
+++ b/arch/mips/mach-pic32/Kconfig
@@ -26,6 +26,13 @@ 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..13760e6
--- /dev/null
+++ b/configs/pic32mzdask_defconfig
@@ -0,0 +1,21 @@
+CONFIG_MIPS=y
+CONFIG_MACH_PIC32=y
+CONFIG_SOC_PIC32MZDA=y
+CONFIG_TARGET_PIC32MZDASK=y
+CONFIG_SYS_LITTLE_ENDIAN=y
+CONFIG_HUSH_PARSER=y
+CONFIG_SYS_HUSH_PARSER=y
+CONFIG_SYS_PROMPT="dask # "
+CONFIG_CMD_TIME=y
+# CONFIG_CMD_IMLS is not set
+CONFIG_SUPPORT_OF_CONTROL=y
+CONFIG_OF_EMBED=y
+CONFIG_DEFAULT_DEVICE_TREE="pic32mzda_sk"
+CONFIG_DM=y
+CONFIG_CMD_DM=y
+CONFIG_DM_SERIAL=y
+CONFIG_PIC32_SERIAL=y
+CONFIG_CLK=y
+CONFIG_PINCTRL=y
+# CONFIG_PINCTRL_FULL is not set
+CONFIG_PIC32_PINCTRL=y
diff --git a/include/configs/pic32mzdask.h b/include/configs/pic32mzdask.h
new file mode 100644
index 0000000..3624107
--- /dev/null
+++ b/include/configs/pic32mzdask.h
@@ -0,0 +1,100 @@
+/*
+ * (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
+#undef CONFIG_SKIP_LOWLEVEL_INIT
+
+/*----------------------------------------------------------------------
+ * 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_GBL_DATA_OFFSET \
+ (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
+#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
+#define CONFIG_SYS_INIT_SP_ADDR \
+ (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
+
+/* 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
+#define CONFIG_CMD_MEMTEST
+#define CONFIG_CMD_MEMINFO
+
+/*-------------------------------------------------
+ * FLASH configuration
+ */
+#define CONFIG_SYS_NO_FLASH
+
+/*------------------------------------------------------------
+ * Console Configuration
+ */
+#define CONFIG_BAUDRATE 115200
+#define CONFIG_SYS_BAUDRATE_TABLE {9600, 19200, 38400, 57600, 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 */
--
1.8.3.1
^ permalink raw reply related [flat|nested] 3+ messages in thread* [U-Boot] [PATCH v2 07/13] board: Add Microchip PIC32MZ[DA]-Starter-Kit board.
2016-01-04 14:01 [U-Boot] [PATCH v2 07/13] board: Add Microchip PIC32MZ[DA]-Starter-Kit board Purna Chandra Mandal
@ 2016-01-05 20:36 ` Daniel Schwierzeck
2016-01-06 9:51 ` Purna Chandra Mandal
0 siblings, 1 reply; 3+ messages in thread
From: Daniel Schwierzeck @ 2016-01-05 20:36 UTC (permalink / raw)
To: u-boot
2016-01-04 15:01 GMT+01:00 Purna Chandra Mandal <purna.mandal@microchip.com>:
> This adds support for Microchip PIC32MZ[DA] Starter Kit board
> based on a PIC32MZ[DA] family of microcontroller.
>
> Signed-off-by: Purna Chandra Mandal <purna.mandal@microchip.com>
>
> ---
>
> 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 | 7 +++
> 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 | 21 +++++++
> include/configs/pic32mzdask.h | 100 ++++++++++++++++++++++++++++++++++
> 10 files changed, 246 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 a394791..f357fc6 100644
> --- a/arch/mips/mach-pic32/Kconfig
> +++ b/arch/mips/mach-pic32/Kconfig
> @@ -26,6 +26,13 @@ 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..13760e6
> --- /dev/null
> +++ b/configs/pic32mzdask_defconfig
> @@ -0,0 +1,21 @@
> +CONFIG_MIPS=y
> +CONFIG_MACH_PIC32=y
> +CONFIG_SOC_PIC32MZDA=y
> +CONFIG_TARGET_PIC32MZDASK=y
> +CONFIG_SYS_LITTLE_ENDIAN=y
> +CONFIG_HUSH_PARSER=y
> +CONFIG_SYS_HUSH_PARSER=y
> +CONFIG_SYS_PROMPT="dask # "
> +CONFIG_CMD_TIME=y
> +# CONFIG_CMD_IMLS is not set
> +CONFIG_SUPPORT_OF_CONTROL=y
> +CONFIG_OF_EMBED=y
> +CONFIG_DEFAULT_DEVICE_TREE="pic32mzda_sk"
> +CONFIG_DM=y
> +CONFIG_CMD_DM=y
> +CONFIG_DM_SERIAL=y
> +CONFIG_PIC32_SERIAL=y
> +CONFIG_CLK=y
> +CONFIG_PINCTRL=y
> +# CONFIG_PINCTRL_FULL is not set
> +CONFIG_PIC32_PINCTRL=y
this looks written by hand. Please create this file with Kconfig:
make savedefconfig
cp defconfig configs/pic32mzdask_defconfig
> diff --git a/include/configs/pic32mzdask.h b/include/configs/pic32mzdask.h
> new file mode 100644
> index 0000000..3624107
> --- /dev/null
> +++ b/include/configs/pic32mzdask.h
> @@ -0,0 +1,100 @@
> +/*
> + * (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
> +#undef CONFIG_SKIP_LOWLEVEL_INIT
you do not need to add #undef lines to disable config options. All
options are disabled by default.
> +
> +/*----------------------------------------------------------------------
> + * 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_GBL_DATA_OFFSET \
> + (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
> +#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
> +#define CONFIG_SYS_INIT_SP_ADDR \
> + (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
you do not need to take care of GENERATED_GBL_DATA_SIZE. This is
automatically done in start.S. You only need to set:
#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
> +#define CONFIG_CMD_MEMTEST
> +#define CONFIG_CMD_MEMINFO
> +
> +/*-------------------------------------------------
> + * FLASH configuration
> + */
> +#define CONFIG_SYS_NO_FLASH
> +
> +/*------------------------------------------------------------
> + * Console Configuration
> + */
> +#define CONFIG_BAUDRATE 115200
> +#define CONFIG_SYS_BAUDRATE_TABLE {9600, 19200, 38400, 57600, 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 */
> --
> 1.8.3.1
>
>
--
- Daniel
^ permalink raw reply [flat|nested] 3+ messages in thread* [U-Boot] [PATCH v2 07/13] board: Add Microchip PIC32MZ[DA]-Starter-Kit board.
2016-01-05 20:36 ` Daniel Schwierzeck
@ 2016-01-06 9:51 ` Purna Chandra Mandal
0 siblings, 0 replies; 3+ messages in thread
From: Purna Chandra Mandal @ 2016-01-06 9:51 UTC (permalink / raw)
To: u-boot
On 01/06/2016 02:06 AM, Daniel Schwierzeck wrote:
> 2016-01-04 15:01 GMT+01:00 Purna Chandra Mandal <purna.mandal@microchip.com>:
>> This adds support for Microchip PIC32MZ[DA] Starter Kit board
>> based on a PIC32MZ[DA] family of microcontroller.
>>
>> Signed-off-by: Purna Chandra Mandal <purna.mandal@microchip.com>
>>
>> ---
>>
>> 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 | 7 +++
>> 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 | 21 +++++++
>> include/configs/pic32mzdask.h | 100 ++++++++++++++++++++++++++++++++++
>> 10 files changed, 246 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 a394791..f357fc6 100644
>> --- a/arch/mips/mach-pic32/Kconfig
>> +++ b/arch/mips/mach-pic32/Kconfig
>> @@ -26,6 +26,13 @@ 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..13760e6
>> --- /dev/null
>> +++ b/configs/pic32mzdask_defconfig
>> @@ -0,0 +1,21 @@
>> +CONFIG_MIPS=y
>> +CONFIG_MACH_PIC32=y
>> +CONFIG_SOC_PIC32MZDA=y
>> +CONFIG_TARGET_PIC32MZDASK=y
>> +CONFIG_SYS_LITTLE_ENDIAN=y
>> +CONFIG_HUSH_PARSER=y
>> +CONFIG_SYS_HUSH_PARSER=y
>> +CONFIG_SYS_PROMPT="dask # "
>> +CONFIG_CMD_TIME=y
>> +# CONFIG_CMD_IMLS is not set
>> +CONFIG_SUPPORT_OF_CONTROL=y
>> +CONFIG_OF_EMBED=y
>> +CONFIG_DEFAULT_DEVICE_TREE="pic32mzda_sk"
>> +CONFIG_DM=y
>> +CONFIG_CMD_DM=y
>> +CONFIG_DM_SERIAL=y
>> +CONFIG_PIC32_SERIAL=y
>> +CONFIG_CLK=y
>> +CONFIG_PINCTRL=y
>> +# CONFIG_PINCTRL_FULL is not set
>> +CONFIG_PIC32_PINCTRL=y
> this looks written by hand. Please create this file with Kconfig:
>
> make savedefconfig
> cp defconfig configs/pic32mzdask_defconfig
Yes it is edited. I'll directly use kconfig generated one.
>> diff --git a/include/configs/pic32mzdask.h b/include/configs/pic32mzdask.h
>> new file mode 100644
>> index 0000000..3624107
>> --- /dev/null
>> +++ b/include/configs/pic32mzdask.h
>> @@ -0,0 +1,100 @@
>> +/*
>> + * (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
>> +#undef CONFIG_SKIP_LOWLEVEL_INIT
> you do not need to add #undef lines to disable config options. All
> options are disabled by default.
ack. Will remove.
>> +
>> +/*----------------------------------------------------------------------
>> + * 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_GBL_DATA_OFFSET \
>> + (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
>> +#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
>> +#define CONFIG_SYS_INIT_SP_ADDR \
>> + (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
> you do not need to take care of GENERATED_GBL_DATA_SIZE. This is
> automatically done in start.S. You only need to set:
>
> #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)
Good catch. Will remove.
>> +
>> +/* 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
>> +#define CONFIG_CMD_MEMTEST
>> +#define CONFIG_CMD_MEMINFO
>> +
>> +/*-------------------------------------------------
>> + * FLASH configuration
>> + */
>> +#define CONFIG_SYS_NO_FLASH
>> +
>> +/*------------------------------------------------------------
>> + * Console Configuration
>> + */
>> +#define CONFIG_BAUDRATE 115200
>> +#define CONFIG_SYS_BAUDRATE_TABLE {9600, 19200, 38400, 57600, 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 */
>> --
>> 1.8.3.1
>>
>>
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-01-06 9:51 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-04 14:01 [U-Boot] [PATCH v2 07/13] board: Add Microchip PIC32MZ[DA]-Starter-Kit board Purna Chandra Mandal
2016-01-05 20:36 ` Daniel Schwierzeck
2016-01-06 9:51 ` Purna Chandra Mandal
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox