diff mbox series

[U-Boot,2/3] xilinx: zynqmp: Add new target with only nand enabled

Message ID 1515149176-31639-3-git-send-email-sivadur@xilinx.com
State Accepted
Delegated to: Michal Simek
Headers show
Series Add new targets for Xilinx ZynqMP SoC | expand

Commit Message

Siva Durga Prasad Paladugu Jan. 5, 2018, 10:46 a.m. UTC
This patch adds new target which is called as mini configuration
with only nand functionality and other required basic features enabled.
This will be used to run in system with small footprint and needs
nand support.

Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
---
 arch/arm/dts/Makefile                     |   1 +
 arch/arm/dts/zynqmp-mini-nand.dts         | 109 ++++++++++++++++++++++++++++++
 configs/xilinx_zynqmp_mini_nand_defconfig |  44 ++++++++++++
 include/configs/xilinx_zynqmp_mini_nand.h |  24 +++++++
 4 files changed, 178 insertions(+)
 create mode 100644 arch/arm/dts/zynqmp-mini-nand.dts
 create mode 100644 configs/xilinx_zynqmp_mini_nand_defconfig
 create mode 100644 include/configs/xilinx_zynqmp_mini_nand.h

Comments

Michal Simek Jan. 16, 2018, 10:43 a.m. UTC | #1
On 5.1.2018 11:46, Siva Durga Prasad Paladugu wrote:
> This patch adds new target which is called as mini configuration
> with only nand functionality and other required basic features enabled.
> This will be used to run in system with small footprint and needs
> nand support.
> 
> Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
> ---
>  arch/arm/dts/Makefile                     |   1 +
>  arch/arm/dts/zynqmp-mini-nand.dts         | 109 ++++++++++++++++++++++++++++++
>  configs/xilinx_zynqmp_mini_nand_defconfig |  44 ++++++++++++
>  include/configs/xilinx_zynqmp_mini_nand.h |  24 +++++++
>  4 files changed, 178 insertions(+)
>  create mode 100644 arch/arm/dts/zynqmp-mini-nand.dts
>  create mode 100644 configs/xilinx_zynqmp_mini_nand_defconfig
>  create mode 100644 include/configs/xilinx_zynqmp_mini_nand.h
> 
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index 5ef942e..f702fa1 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -147,6 +147,7 @@ dtb-$(CONFIG_ARCH_ZYNQ) += \
>  	zynq-zybo.dtb
>  dtb-$(CONFIG_ARCH_ZYNQMP) += \
>  	zynqmp-ep108.dtb			\
> +	zynqmp-mini-nand.dtb			\
>  	zynqmp-mini-qspi-single.dtb		\
>  	zynqmp-zcu102-revA.dtb			\
>  	zynqmp-zcu102-revB.dtb			\
> diff --git a/arch/arm/dts/zynqmp-mini-nand.dts b/arch/arm/dts/zynqmp-mini-nand.dts
> new file mode 100644
> index 0000000..16e5f55
> --- /dev/null
> +++ b/arch/arm/dts/zynqmp-mini-nand.dts
> @@ -0,0 +1,109 @@
> +/*
> + * dts file for Xilinx ZynqMP Mini Configuration
> + *
> + * (C) Copyright 2018, Xilinx, Inc.
> + *
> + * Siva Durga Prasad <siva.durga.paladugu@xilinx.com>
> + * Michal Simek <michal.simek@xilinx.com>
> + *
> + * SPDX-License-Identifier:	GPL-2.0+
> + */
> +
> +/dts-v1/;
> +
> +/ {
> +	model = "ZynqMP MINI NAND";
> +	compatible = "xlnx,zynqmp";
> +	#address-cells = <2>;
> +	#size-cells = <1>;
> +
> +	aliases {
> +		serial0 = &dcc;
> +	};
> +
> +	chosen {
> +		stdout-path = "serial0:115200n8";
> +	};
> +
> +	memory@0 {
> +		device_type = "memory";
> +		reg = <0x0 0x0 0x40000000>;
> +	};
> +
> +	dcc: dcc {
> +		compatible = "arm,dcc";
> +		status = "disabled";
> +		u-boot,dm-pre-reloc;
> +	};
> +
> +	amba: amba {
> +		compatible = "simple-bus";
> +		#address-cells = <2>;
> +		#size-cells = <1>;
> +		ranges;
> +
> +		nand0: nand@ff100000 {
> +			compatible = "arasan,nfc-v3p10";
> +			status = "okay";
> +			reg = <0x0 0xff100000 0x1000>;
> +			clock-names = "clk_sys", "clk_flash";
> +			#address-cells = <2>;
> +			#size-cells = <1>;
> +			arasan,has-mdma;
> +			num-cs = <2>;
> +
> +			partition@0 {	/* for testing purpose */
> +				label = "nand-fsbl-uboot";
> +				reg = <0x0 0x0 0x400000>;
> +			};
> +			partition@1 {	/* for testing purpose */
> +				label = "nand-linux";
> +				reg = <0x0 0x400000 0x1400000>;
> +			};
> +			partition@2 {	/* for testing purpose */
> +				label = "nand-device-tree";
> +				reg = <0x0 0x1800000 0x400000>;
> +			};
> +			partition@3 {	/* for testing purpose */
> +				label = "nand-rootfs";
> +				reg = <0x0 0x1C00000 0x1400000>;
> +			};
> +			partition@4 {	/* for testing purpose */
> +				label = "nand-bitstream";
> +				reg = <0x0 0x3000000 0x400000>;
> +			};
> +			partition@5 {	/* for testing purpose */
> +				label = "nand-misc";
> +				reg = <0x0 0x3400000 0xFCC00000>;
> +			};
> +			partition@6 {	/* for testing purpose */
> +				label = "nand1-fsbl-uboot";
> +				reg = <0x1 0x0 0x400000>;
> +			};
> +			partition@7 {	/* for testing purpose */
> +				label = "nand1-linux";
> +				reg = <0x1 0x400000 0x1400000>;
> +			};
> +			partition@8 {	/* for testing purpose */
> +				label = "nand1-device-tree";
> +				reg = <0x1 0x1800000 0x400000>;
> +			};
> +			partition@9 {	/* for testing purpose */
> +				label = "nand1-rootfs";
> +				reg = <0x1 0x1C00000 0x1400000>;
> +			};
> +			partition@10 {	/* for testing purpose */
> +				label = "nand1-bitstream";
> +				reg = <0x1 0x3000000 0x400000>;
> +			};
> +			partition@11 {	/* for testing purpose */
> +				label = "nand1-misc";
> +				reg = <0x1 0x3400000 0xFCC00000>;
> +			};
> +		};
> +	};
> +};
> +
> +&dcc {
> +	status = "okay";
> +};
> diff --git a/configs/xilinx_zynqmp_mini_nand_defconfig b/configs/xilinx_zynqmp_mini_nand_defconfig
> new file mode 100644
> index 0000000..bc455bc
> --- /dev/null
> +++ b/configs/xilinx_zynqmp_mini_nand_defconfig
> @@ -0,0 +1,44 @@
> +CONFIG_ARM=y
> +CONFIG_SYS_CONFIG_NAME="xilinx_zynqmp_mini_nand"
> +CONFIG_ARCH_ZYNQMP=y
> +CONFIG_SYS_TEXT_BASE=0x10000
> +CONFIG_DEFAULT_DEVICE_TREE="zynqmp-mini-nand"
> +CONFIG_FIT=y
> +CONFIG_BOOTDELAY=-1
> +# CONFIG_DISPLAY_CPUINFO is not set
> +CONFIG_SYS_PROMPT="ZynqMP> "
> +# CONFIG_CMD_BDI is not set
> +# CONFIG_CMD_CONSOLE is not set
> +# CONFIG_CMD_BOOTD is not set
> +# CONFIG_CMD_BOOTM is not set
> +# CONFIG_CMD_BOOTI is not set
> +# CONFIG_CMD_GO is not set
> +# CONFIG_CMD_RUN is not set
> +# CONFIG_CMD_IMI is not set
> +# CONFIG_CMD_XIMG is not set
> +# CONFIG_CMD_EXPORTENV is not set
> +# CONFIG_CMD_IMPORTENV is not set
> +# CONFIG_CMD_EDITENV is not set
> +# CONFIG_CMD_SAVEENV is not set
> +# CONFIG_CMD_ENV_EXISTS is not set
> +# CONFIG_CMD_CRC32 is not set
> +# CONFIG_CMD_DM is not set
> +# CONFIG_CMD_FLASH is not set
> +# CONFIG_CMD_FPGA is not set
> +# CONFIG_CMD_LOADB is not set
> +# CONFIG_CMD_LOADS is not set
> +# CONFIG_CMD_ECHO is not set
> +# CONFIG_CMD_ITEST is not set
> +# CONFIG_CMD_SOURCE is not set
> +# CONFIG_CMD_SETEXPR is not set
> +# CONFIG_CMD_NET is not set
> +# CONFIG_CMD_NFS is not set
> +# CONFIG_PARTITIONS is not set
> +# CONFIG_DOS_PARTITION is not set
> +CONFIG_OF_EMBED=y
> +# CONFIG_DM_WARN is not set
> +# CONFIG_DM_DEVICE_REMOVE is not set
> +# CONFIG_MMC is not set
> +CONFIG_NAND=y
> +CONFIG_NAND_ARASAN=y
> +# CONFIG_EFI_LOADER is not set
> diff --git a/include/configs/xilinx_zynqmp_mini_nand.h b/include/configs/xilinx_zynqmp_mini_nand.h
> new file mode 100644
> index 0000000..8c13f47
> --- /dev/null
> +++ b/include/configs/xilinx_zynqmp_mini_nand.h
> @@ -0,0 +1,24 @@
> +/*
> + * Configuration for Xilinx ZynqMP Nand Flash utility
> + *
> + * (C) Copyright 2018 Xilinx, Inc.
> + * Michal Simek <michal.simek@xilinx.com>
> + * Siva Durga Prasad Paladugu <sivadur@xilinx.com>
> + *
> + * SPDX-License-Identifier:	GPL-2.0+
> + */
> +
> +#ifndef __CONFIG_ZYNQMP_MINI_NAND_H
> +#define __CONFIG_ZYNQMP_MINI_NAND_H
> +
> +#include <configs/xilinx_zynqmp_mini.h>
> +
> +#define CONFIG_SYS_ICACHE_OFF
> +#define CONFIG_NR_DRAM_BANKS	1
> +#define CONFIG_SYS_SDRAM_SIZE	0x1000000
> +#define CONFIG_SYS_SDRAM_BASE	0x0
> +#define CONFIG_ENV_SIZE		0x10000
> +#define CONFIG_SYS_INIT_SP_ADDR	(CONFIG_SYS_SDRAM_BASE + 0x40000)
> +#define CONFIG_SYS_MALLOC_LEN		0x800000
> +
> +#endif /* __CONFIG_ZYNQMP_MINI_NAND_H */
> 

Applied.
M
diff mbox series

Patch

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 5ef942e..f702fa1 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -147,6 +147,7 @@  dtb-$(CONFIG_ARCH_ZYNQ) += \
 	zynq-zybo.dtb
 dtb-$(CONFIG_ARCH_ZYNQMP) += \
 	zynqmp-ep108.dtb			\
+	zynqmp-mini-nand.dtb			\
 	zynqmp-mini-qspi-single.dtb		\
 	zynqmp-zcu102-revA.dtb			\
 	zynqmp-zcu102-revB.dtb			\
diff --git a/arch/arm/dts/zynqmp-mini-nand.dts b/arch/arm/dts/zynqmp-mini-nand.dts
new file mode 100644
index 0000000..16e5f55
--- /dev/null
+++ b/arch/arm/dts/zynqmp-mini-nand.dts
@@ -0,0 +1,109 @@ 
+/*
+ * dts file for Xilinx ZynqMP Mini Configuration
+ *
+ * (C) Copyright 2018, Xilinx, Inc.
+ *
+ * Siva Durga Prasad <siva.durga.paladugu@xilinx.com>
+ * Michal Simek <michal.simek@xilinx.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+/dts-v1/;
+
+/ {
+	model = "ZynqMP MINI NAND";
+	compatible = "xlnx,zynqmp";
+	#address-cells = <2>;
+	#size-cells = <1>;
+
+	aliases {
+		serial0 = &dcc;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+
+	memory@0 {
+		device_type = "memory";
+		reg = <0x0 0x0 0x40000000>;
+	};
+
+	dcc: dcc {
+		compatible = "arm,dcc";
+		status = "disabled";
+		u-boot,dm-pre-reloc;
+	};
+
+	amba: amba {
+		compatible = "simple-bus";
+		#address-cells = <2>;
+		#size-cells = <1>;
+		ranges;
+
+		nand0: nand@ff100000 {
+			compatible = "arasan,nfc-v3p10";
+			status = "okay";
+			reg = <0x0 0xff100000 0x1000>;
+			clock-names = "clk_sys", "clk_flash";
+			#address-cells = <2>;
+			#size-cells = <1>;
+			arasan,has-mdma;
+			num-cs = <2>;
+
+			partition@0 {	/* for testing purpose */
+				label = "nand-fsbl-uboot";
+				reg = <0x0 0x0 0x400000>;
+			};
+			partition@1 {	/* for testing purpose */
+				label = "nand-linux";
+				reg = <0x0 0x400000 0x1400000>;
+			};
+			partition@2 {	/* for testing purpose */
+				label = "nand-device-tree";
+				reg = <0x0 0x1800000 0x400000>;
+			};
+			partition@3 {	/* for testing purpose */
+				label = "nand-rootfs";
+				reg = <0x0 0x1C00000 0x1400000>;
+			};
+			partition@4 {	/* for testing purpose */
+				label = "nand-bitstream";
+				reg = <0x0 0x3000000 0x400000>;
+			};
+			partition@5 {	/* for testing purpose */
+				label = "nand-misc";
+				reg = <0x0 0x3400000 0xFCC00000>;
+			};
+			partition@6 {	/* for testing purpose */
+				label = "nand1-fsbl-uboot";
+				reg = <0x1 0x0 0x400000>;
+			};
+			partition@7 {	/* for testing purpose */
+				label = "nand1-linux";
+				reg = <0x1 0x400000 0x1400000>;
+			};
+			partition@8 {	/* for testing purpose */
+				label = "nand1-device-tree";
+				reg = <0x1 0x1800000 0x400000>;
+			};
+			partition@9 {	/* for testing purpose */
+				label = "nand1-rootfs";
+				reg = <0x1 0x1C00000 0x1400000>;
+			};
+			partition@10 {	/* for testing purpose */
+				label = "nand1-bitstream";
+				reg = <0x1 0x3000000 0x400000>;
+			};
+			partition@11 {	/* for testing purpose */
+				label = "nand1-misc";
+				reg = <0x1 0x3400000 0xFCC00000>;
+			};
+		};
+	};
+};
+
+&dcc {
+	status = "okay";
+};
diff --git a/configs/xilinx_zynqmp_mini_nand_defconfig b/configs/xilinx_zynqmp_mini_nand_defconfig
new file mode 100644
index 0000000..bc455bc
--- /dev/null
+++ b/configs/xilinx_zynqmp_mini_nand_defconfig
@@ -0,0 +1,44 @@ 
+CONFIG_ARM=y
+CONFIG_SYS_CONFIG_NAME="xilinx_zynqmp_mini_nand"
+CONFIG_ARCH_ZYNQMP=y
+CONFIG_SYS_TEXT_BASE=0x10000
+CONFIG_DEFAULT_DEVICE_TREE="zynqmp-mini-nand"
+CONFIG_FIT=y
+CONFIG_BOOTDELAY=-1
+# CONFIG_DISPLAY_CPUINFO is not set
+CONFIG_SYS_PROMPT="ZynqMP> "
+# CONFIG_CMD_BDI is not set
+# CONFIG_CMD_CONSOLE is not set
+# CONFIG_CMD_BOOTD is not set
+# CONFIG_CMD_BOOTM is not set
+# CONFIG_CMD_BOOTI is not set
+# CONFIG_CMD_GO is not set
+# CONFIG_CMD_RUN is not set
+# CONFIG_CMD_IMI is not set
+# CONFIG_CMD_XIMG is not set
+# CONFIG_CMD_EXPORTENV is not set
+# CONFIG_CMD_IMPORTENV is not set
+# CONFIG_CMD_EDITENV is not set
+# CONFIG_CMD_SAVEENV is not set
+# CONFIG_CMD_ENV_EXISTS is not set
+# CONFIG_CMD_CRC32 is not set
+# CONFIG_CMD_DM is not set
+# CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_FPGA is not set
+# CONFIG_CMD_LOADB is not set
+# CONFIG_CMD_LOADS is not set
+# CONFIG_CMD_ECHO is not set
+# CONFIG_CMD_ITEST is not set
+# CONFIG_CMD_SOURCE is not set
+# CONFIG_CMD_SETEXPR is not set
+# CONFIG_CMD_NET is not set
+# CONFIG_CMD_NFS is not set
+# CONFIG_PARTITIONS is not set
+# CONFIG_DOS_PARTITION is not set
+CONFIG_OF_EMBED=y
+# CONFIG_DM_WARN is not set
+# CONFIG_DM_DEVICE_REMOVE is not set
+# CONFIG_MMC is not set
+CONFIG_NAND=y
+CONFIG_NAND_ARASAN=y
+# CONFIG_EFI_LOADER is not set
diff --git a/include/configs/xilinx_zynqmp_mini_nand.h b/include/configs/xilinx_zynqmp_mini_nand.h
new file mode 100644
index 0000000..8c13f47
--- /dev/null
+++ b/include/configs/xilinx_zynqmp_mini_nand.h
@@ -0,0 +1,24 @@ 
+/*
+ * Configuration for Xilinx ZynqMP Nand Flash utility
+ *
+ * (C) Copyright 2018 Xilinx, Inc.
+ * Michal Simek <michal.simek@xilinx.com>
+ * Siva Durga Prasad Paladugu <sivadur@xilinx.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#ifndef __CONFIG_ZYNQMP_MINI_NAND_H
+#define __CONFIG_ZYNQMP_MINI_NAND_H
+
+#include <configs/xilinx_zynqmp_mini.h>
+
+#define CONFIG_SYS_ICACHE_OFF
+#define CONFIG_NR_DRAM_BANKS	1
+#define CONFIG_SYS_SDRAM_SIZE	0x1000000
+#define CONFIG_SYS_SDRAM_BASE	0x0
+#define CONFIG_ENV_SIZE		0x10000
+#define CONFIG_SYS_INIT_SP_ADDR	(CONFIG_SYS_SDRAM_BASE + 0x40000)
+#define CONFIG_SYS_MALLOC_LEN		0x800000
+
+#endif /* __CONFIG_ZYNQMP_MINI_NAND_H */