* [U-Boot] [PATCH 0/2] MIPS: Add MIPSfpga u-boot port @ 2016-07-27 10:50 Zubair Lutfullah Kakakhel 2016-07-27 10:51 ` [U-Boot] [PATCH 1/2] mips: Add MIPSfpga platform support Zubair Lutfullah Kakakhel 2016-07-27 10:51 ` [U-Boot] [PATCH 2/2] mips: xilfpga: Add device tree files Zubair Lutfullah Kakakhel 0 siblings, 2 replies; 7+ messages in thread From: Zubair Lutfullah Kakakhel @ 2016-07-27 10:50 UTC (permalink / raw) To: u-boot MIPSfpga is an FPGA based dev platform by Imagination Technologies Ltd. DDR is already initialized before u-boot. And the peripherals supported in the u-boot port are an n16550 uart and a xilinx ethernet IP (axi_emaclite) which already have drivers in u-boot. Hence the port is mostly DT + config files and very little C code. Based on v2016.09-rc1. Kindly accept these patches in this cycle. Regards, ZubairLK Zubair Lutfullah Kakakhel (2): mips: Add MIPSfpga platform support mips: xilfpga: Add device tree files arch/mips/Kconfig | 16 ++++++++++ arch/mips/dts/Makefile | 1 + arch/mips/dts/microAptiv.dtsi | 21 +++++++++++++ arch/mips/dts/nexys4ddr.dts | 62 ++++++++++++++++++++++++++++++++++++ board/imgtec/xilfpga/Kconfig | 15 +++++++++ board/imgtec/xilfpga/MAINTAINERS | 6 ++++ board/imgtec/xilfpga/Makefile | 7 +++++ board/imgtec/xilfpga/README | 55 ++++++++++++++++++++++++++++++++ board/imgtec/xilfpga/xilfpga.c | 20 ++++++++++++ configs/imgtec_xilfpga_defconfig | 25 +++++++++++++++ include/configs/imgtec_xilfpga.h | 68 ++++++++++++++++++++++++++++++++++++++++ 11 files changed, 296 insertions(+) create mode 100644 arch/mips/dts/microAptiv.dtsi create mode 100644 arch/mips/dts/nexys4ddr.dts create mode 100644 board/imgtec/xilfpga/Kconfig create mode 100644 board/imgtec/xilfpga/MAINTAINERS create mode 100644 board/imgtec/xilfpga/Makefile create mode 100644 board/imgtec/xilfpga/README create mode 100644 board/imgtec/xilfpga/xilfpga.c create mode 100644 configs/imgtec_xilfpga_defconfig create mode 100644 include/configs/imgtec_xilfpga.h -- 1.9.1 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [U-Boot] [PATCH 1/2] mips: Add MIPSfpga platform support 2016-07-27 10:50 [U-Boot] [PATCH 0/2] MIPS: Add MIPSfpga u-boot port Zubair Lutfullah Kakakhel @ 2016-07-27 10:51 ` Zubair Lutfullah Kakakhel 2016-07-27 12:13 ` Daniel Schwierzeck 2016-07-27 10:51 ` [U-Boot] [PATCH 2/2] mips: xilfpga: Add device tree files Zubair Lutfullah Kakakhel 1 sibling, 1 reply; 7+ messages in thread From: Zubair Lutfullah Kakakhel @ 2016-07-27 10:51 UTC (permalink / raw) To: u-boot MIPSfpga is an FPGA based dev platform. In a nutshell, its a microAptiv cpu core with lots of Xilinx IP blocks The FPGA dev board used is the Nexys4DDR board by Digilent. For more information, check the Readme file in board/imgtec/xilfpga Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> Reviewed-by: Paul Burton <paul.burton@imgtec.com> --- arch/mips/Kconfig | 16 ++++++++++ board/imgtec/xilfpga/Kconfig | 15 +++++++++ board/imgtec/xilfpga/MAINTAINERS | 6 ++++ board/imgtec/xilfpga/Makefile | 7 +++++ board/imgtec/xilfpga/README | 55 ++++++++++++++++++++++++++++++++ board/imgtec/xilfpga/xilfpga.c | 20 ++++++++++++ configs/imgtec_xilfpga_defconfig | 25 +++++++++++++++ include/configs/imgtec_xilfpga.h | 68 ++++++++++++++++++++++++++++++++++++++++ 8 files changed, 212 insertions(+) create mode 100644 board/imgtec/xilfpga/Kconfig create mode 100644 board/imgtec/xilfpga/MAINTAINERS create mode 100644 board/imgtec/xilfpga/Makefile create mode 100644 board/imgtec/xilfpga/README create mode 100644 board/imgtec/xilfpga/xilfpga.c create mode 100644 configs/imgtec_xilfpga_defconfig create mode 100644 include/configs/imgtec_xilfpga.h diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 21066f0..c81c9ea 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -73,10 +73,26 @@ config MACH_PIC32 select OF_CONTROL select DM +config TARGET_XILFPGA + bool "Support Imagination Xilfpga" + select OF_CONTROL + select DM + select DM_SERIAL + select DM_GPIO + select DM_ETH + select SUPPORTS_LITTLE_ENDIAN + select SUPPORTS_CPU_MIPS32_R1 + select SUPPORTS_CPU_MIPS32_R2 + select MIPS_L1_CACHE_SHIFT_4 + select SYS_MIPS_CACHE_INIT_RAM_LOAD + help + This supports IMGTEC MIPSfpga platform + endchoice source "board/dbau1x00/Kconfig" source "board/imgtec/malta/Kconfig" +source "board/imgtec/xilfpga/Kconfig" source "board/micronas/vct/Kconfig" source "board/pb1x00/Kconfig" source "board/qemu-mips/Kconfig" diff --git a/board/imgtec/xilfpga/Kconfig b/board/imgtec/xilfpga/Kconfig new file mode 100644 index 0000000..b078278 --- /dev/null +++ b/board/imgtec/xilfpga/Kconfig @@ -0,0 +1,15 @@ +if TARGET_XILFPGA + +config SYS_BOARD + default "xilfpga" + +config SYS_VENDOR + default "imgtec" + +config SYS_CONFIG_NAME + default "imgtec_xilfpga" + +config SYS_TEXT_BASE + default 0x80C00000 + +endif diff --git a/board/imgtec/xilfpga/MAINTAINERS b/board/imgtec/xilfpga/MAINTAINERS new file mode 100644 index 0000000..aa04532 --- /dev/null +++ b/board/imgtec/xilfpga/MAINTAINERS @@ -0,0 +1,6 @@ +XILFPGA BOARD +M: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> +S: Maintained +F: board/imgtec/xilfpga +F: include/configs/xilfpga.h +F: configs/imgtec_xilfpga_defconfig diff --git a/board/imgtec/xilfpga/Makefile b/board/imgtec/xilfpga/Makefile new file mode 100644 index 0000000..9aaf9ce --- /dev/null +++ b/board/imgtec/xilfpga/Makefile @@ -0,0 +1,7 @@ +# +# Copyright (C) 2016, Imagination Technologies Ltd. +# Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> +# +# SPDX-License-Identifier: GPL-2.0+ +# +obj-y := xilfpga.o diff --git a/board/imgtec/xilfpga/README b/board/imgtec/xilfpga/README new file mode 100644 index 0000000..ac19d48 --- /dev/null +++ b/board/imgtec/xilfpga/README @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2016, Imagination Technologies Ltd. + * + * Zubair Lutfullah Kakakhel, Zubair.Kakakhel at imgtec.com + */ + +MIPSfpga +======================================= + +MIPSfpga is an FPGA based development platform by Imagination Technologies +As we are dealing with a MIPS core instantiated on an FPGA, specifications +are fluid and can be varied in RTL. + +The example project provided by IMGTEC runs on the Nexys4DDR board by +Digilent powered by the ARTIX-7 FPGA by Xilinx. Relevant details about +the example project and the Nexys4DDR board: + +- microAptiv UP core m14Kc +- 50MHz clock speed +- 128Mbyte DDR RAM at 0x0000_0000 +- 8Kbyte RAM at 0x1000_0000 +- axi_intc at 0x1020_0000 +- axi_uart16550 at 0x1040_0000 +- axi_gpio at 0x1060_0000 +- axi_i2c at 0x10A0_0000 +- custom_gpio at 0x10C0_0000 +- axi_ethernetlite at 0x10E0_0000 +- 8Kbyte BootRAM at 0x1FC0_0000 +- 16Mbyte QPI at 0x1D00_0000 + +Boot protocol: +-------------- + +The BootRAM is a writeable "RAM" in FPGA at 0x1FC0_0000. +This is for easy reprogrammibility via JTAG. + +DDR initialization is already handled by a HW IP block. + +When the example project bitstream is loaded, the cpu_reset button +needs to be pressed. + +The bootram initializes the cache and axi_uart +Then checks if there is anything non 0xffff_ffff at location 0x1D40_0000 + +If there is, then that is considered as u-boot. u-boot is copied from +0x1D40_0000 to memory and the bootram jumps into u-boot code. + +At this point, the board is ready to load the Linux kernel + buildroot initramfs + +This can be done in multiple ways: + +1- JTAG load the binary and jump into it. +2- Load kernel stored in the QSPI flash at 0x1D80_0000 +3- Load uImage via tftp. Ethernet works in u-boot. + e.g. env set server ip 192.168.154.45; dhcp uImage; bootm diff --git a/board/imgtec/xilfpga/xilfpga.c b/board/imgtec/xilfpga/xilfpga.c new file mode 100644 index 0000000..9549e23 --- /dev/null +++ b/board/imgtec/xilfpga/xilfpga.c @@ -0,0 +1,20 @@ +/* + * Imagination Technologies MIPSfpga platform code + * + * Copyright (C) 2016, Imagination Technologies Ltd. + * + * Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> + * + * SPDX-License-Identifier: GPL-2.0+ + * + */ + +#include <common.h> + +/* initialize the DDR Controller and PHY */ +phys_size_t initdram(int board_type) +{ + /* MIG IP block is smart and doesn't need SW + * to do any init */ + return 128 * 1024 * 1024; /* in bytes */ +} diff --git a/configs/imgtec_xilfpga_defconfig b/configs/imgtec_xilfpga_defconfig new file mode 100644 index 0000000..63f03cd --- /dev/null +++ b/configs/imgtec_xilfpga_defconfig @@ -0,0 +1,25 @@ +CONFIG_MIPS=y +CONFIG_SYS_MALLOC_F_LEN=0x600 +CONFIG_TARGET_XILFPGA=y +# CONFIG_MIPS_BOOT_ENV_LEGACY is not set +CONFIG_MIPS_BOOT_FDT=y +CONFIG_DEFAULT_DEVICE_TREE="nexys4ddr" +CONFIG_BOOTDELAY=5 +CONFIG_HUSH_PARSER=y +CONFIG_SYS_PROMPT="MIPSfpga # " +# CONFIG_CMD_IMLS is not set +# CONFIG_CMD_SAVEENV is not set +CONFIG_CMD_MEMINFO=y +# CONFIG_CMD_FLASH is not set +# CONFIG_CMD_FPGA is not set +CONFIG_CMD_DHCP=y +CONFIG_CMD_MII=y +CONFIG_CMD_PING=y +CONFIG_CMD_TIME=y +CONFIG_OF_EMBED=y +CONFIG_NET_RANDOM_ETHADDR=y +CONFIG_NETCONSOLE=y +CONFIG_CLK=y +CONFIG_XILINX_EMACLITE=y +CONFIG_SYS_NS16550=y +CONFIG_CMD_DHRYSTONE=y diff --git a/include/configs/imgtec_xilfpga.h b/include/configs/imgtec_xilfpga.h new file mode 100644 index 0000000..0a7fe60 --- /dev/null +++ b/include/configs/imgtec_xilfpga.h @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2016, Imagination Technologies Ltd. + * + * Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> + * + * SPDX-License-Identifier: GPL-2.0+ + * + * Imagination Technologies Ltd. MIPSfpga + */ + +#ifndef __XILFPGA_CONFIG_H +#define __XILFPGA_CONFIG_H + +/* BootROM + MIG is pretty smart. DDR and Cache initialized */ +#define CONFIG_SKIP_LOWLEVEL_INIT + +/*-------------------------------------------- + * CPU configuration + */ +/* CPU Timer rate */ +#define CONFIG_SYS_MIPS_TIMER_FREQ 50000000 + +/* Cache Configuration */ +#define CONFIG_SYS_MIPS_CACHE_MODE CONF_CM_CACHABLE_NONCOHERENT + +/*---------------------------------------------------------------------- + * Memory Layout + */ + +/* SDRAM Configuration (for final code, data, stack, heap) */ +#define CONFIG_SYS_SDRAM_BASE 0x80000000 +#define CONFIG_SYS_SDRAM_SIZE 0x08000000 /* 128 Mbytes */ +#define CONFIG_SYS_INIT_SP_ADDR \ + (CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_SDRAM_SIZE - 0x1000) + +#define CONFIG_SYS_MALLOC_LEN (256 << 10) +#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE +#define CONFIG_SYS_LOAD_ADDR 0x80500000 /* default load address */ + +/*---------------------------------------------------------------------- + * Commands + */ +#define CONFIG_SYS_LONGHELP /* undef to save memory */ + +/*------------------------------------------------- + * FLASH configuration + */ +#define CONFIG_SYS_NO_FLASH + +/*------------------------------------------------------------ + * Console Configuration + */ +#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */ +#define CONFIG_SYS_MAXARGS 16 /* max number of command args*/ +#define CONFIG_BAUDRATE 115200 + +/* ------------------------------------------------- + * Environment + */ +#define CONFIG_ENV_IS_NOWHERE 1 +#define CONFIG_ENV_SIZE 0x4000 + +/* --------------------------------------------------------------------- + * Board boot configuration + */ +#define CONFIG_TIMESTAMP /* Print image info with timestamp */ + +#endif /* __XILFPGA_CONFIG_H */ -- 1.9.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [U-Boot] [PATCH 1/2] mips: Add MIPSfpga platform support 2016-07-27 10:51 ` [U-Boot] [PATCH 1/2] mips: Add MIPSfpga platform support Zubair Lutfullah Kakakhel @ 2016-07-27 12:13 ` Daniel Schwierzeck 2016-07-29 9:31 ` Zubair Lutfullah Kakakhel 0 siblings, 1 reply; 7+ messages in thread From: Daniel Schwierzeck @ 2016-07-27 12:13 UTC (permalink / raw) To: u-boot Am 27.07.2016 um 12:51 schrieb Zubair Lutfullah Kakakhel: > MIPSfpga is an FPGA based dev platform. > > In a nutshell, its a microAptiv cpu core with lots of Xilinx IP blocks > > The FPGA dev board used is the Nexys4DDR board by Digilent. > > For more information, check the Readme file in board/imgtec/xilfpga > > Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> > Reviewed-by: Paul Burton <paul.burton@imgtec.com> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> some nits below > --- > arch/mips/Kconfig | 16 ++++++++++ > board/imgtec/xilfpga/Kconfig | 15 +++++++++ > board/imgtec/xilfpga/MAINTAINERS | 6 ++++ > board/imgtec/xilfpga/Makefile | 7 +++++ > board/imgtec/xilfpga/README | 55 ++++++++++++++++++++++++++++++++ > board/imgtec/xilfpga/xilfpga.c | 20 ++++++++++++ > configs/imgtec_xilfpga_defconfig | 25 +++++++++++++++ > include/configs/imgtec_xilfpga.h | 68 ++++++++++++++++++++++++++++++++++++++++ > 8 files changed, 212 insertions(+) > create mode 100644 board/imgtec/xilfpga/Kconfig > create mode 100644 board/imgtec/xilfpga/MAINTAINERS > create mode 100644 board/imgtec/xilfpga/Makefile > create mode 100644 board/imgtec/xilfpga/README > create mode 100644 board/imgtec/xilfpga/xilfpga.c > create mode 100644 configs/imgtec_xilfpga_defconfig > create mode 100644 include/configs/imgtec_xilfpga.h > > diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig > index 21066f0..c81c9ea 100644 > --- a/arch/mips/Kconfig > +++ b/arch/mips/Kconfig > @@ -73,10 +73,26 @@ config MACH_PIC32 > select OF_CONTROL > select DM > > +config TARGET_XILFPGA > + bool "Support Imagination Xilfpga" > + select OF_CONTROL > + select DM > + select DM_SERIAL > + select DM_GPIO > + select DM_ETH > + select SUPPORTS_LITTLE_ENDIAN > + select SUPPORTS_CPU_MIPS32_R1 > + select SUPPORTS_CPU_MIPS32_R2 > + select MIPS_L1_CACHE_SHIFT_4 > + select SYS_MIPS_CACHE_INIT_RAM_LOAD you don't need this option on a microAptiv core and because don't do any cache initialization in software at all > + help > + This supports IMGTEC MIPSfpga platform > + > endchoice > > source "board/dbau1x00/Kconfig" > source "board/imgtec/malta/Kconfig" > +source "board/imgtec/xilfpga/Kconfig" > source "board/micronas/vct/Kconfig" > source "board/pb1x00/Kconfig" > source "board/qemu-mips/Kconfig" > diff --git a/board/imgtec/xilfpga/Kconfig b/board/imgtec/xilfpga/Kconfig > new file mode 100644 > index 0000000..b078278 > --- /dev/null > +++ b/board/imgtec/xilfpga/Kconfig > @@ -0,0 +1,15 @@ > +if TARGET_XILFPGA > + > +config SYS_BOARD > + default "xilfpga" > + > +config SYS_VENDOR > + default "imgtec" > + > +config SYS_CONFIG_NAME > + default "imgtec_xilfpga" > + > +config SYS_TEXT_BASE > + default 0x80C00000 > + > +endif > diff --git a/board/imgtec/xilfpga/MAINTAINERS b/board/imgtec/xilfpga/MAINTAINERS > new file mode 100644 > index 0000000..aa04532 > --- /dev/null > +++ b/board/imgtec/xilfpga/MAINTAINERS > @@ -0,0 +1,6 @@ > +XILFPGA BOARD > +M: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> > +S: Maintained > +F: board/imgtec/xilfpga > +F: include/configs/xilfpga.h > +F: configs/imgtec_xilfpga_defconfig > diff --git a/board/imgtec/xilfpga/Makefile b/board/imgtec/xilfpga/Makefile > new file mode 100644 > index 0000000..9aaf9ce > --- /dev/null > +++ b/board/imgtec/xilfpga/Makefile > @@ -0,0 +1,7 @@ > +# > +# Copyright (C) 2016, Imagination Technologies Ltd. > +# Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> > +# > +# SPDX-License-Identifier: GPL-2.0+ > +# > +obj-y := xilfpga.o > diff --git a/board/imgtec/xilfpga/README b/board/imgtec/xilfpga/README > new file mode 100644 > index 0000000..ac19d48 > --- /dev/null > +++ b/board/imgtec/xilfpga/README > @@ -0,0 +1,55 @@ > +/* > + * Copyright (C) 2016, Imagination Technologies Ltd. > + * > + * Zubair Lutfullah Kakakhel, Zubair.Kakakhel at imgtec.com > + */ > + > +MIPSfpga > +======================================= > + > +MIPSfpga is an FPGA based development platform by Imagination Technologies > +As we are dealing with a MIPS core instantiated on an FPGA, specifications > +are fluid and can be varied in RTL. > + > +The example project provided by IMGTEC runs on the Nexys4DDR board by > +Digilent powered by the ARTIX-7 FPGA by Xilinx. Relevant details about > +the example project and the Nexys4DDR board: > + > +- microAptiv UP core m14Kc > +- 50MHz clock speed > +- 128Mbyte DDR RAM at 0x0000_0000 > +- 8Kbyte RAM at 0x1000_0000 > +- axi_intc at 0x1020_0000 > +- axi_uart16550 at 0x1040_0000 > +- axi_gpio at 0x1060_0000 > +- axi_i2c at 0x10A0_0000 > +- custom_gpio at 0x10C0_0000 > +- axi_ethernetlite at 0x10E0_0000 > +- 8Kbyte BootRAM at 0x1FC0_0000 > +- 16Mbyte QPI at 0x1D00_0000 > + > +Boot protocol: > +-------------- > + > +The BootRAM is a writeable "RAM" in FPGA at 0x1FC0_0000. > +This is for easy reprogrammibility via JTAG. just for my understanding: what does "RAM" mean? I would expect a reprogrammable ROM because this should be a non-volatile memory, shouldn't it? Or do you always download the BootRAM via JTAG in order to boot? > + > +DDR initialization is already handled by a HW IP block. > + > +When the example project bitstream is loaded, the cpu_reset button > +needs to be pressed. > + > +The bootram initializes the cache and axi_uart > +Then checks if there is anything non 0xffff_ffff at location 0x1D40_0000 > + > +If there is, then that is considered as u-boot. u-boot is copied from > +0x1D40_0000 to memory and the bootram jumps into u-boot code. > + > +At this point, the board is ready to load the Linux kernel + buildroot initramfs > + > +This can be done in multiple ways: > + > +1- JTAG load the binary and jump into it. > +2- Load kernel stored in the QSPI flash at 0x1D80_0000 > +3- Load uImage via tftp. Ethernet works in u-boot. > + e.g. env set server ip 192.168.154.45; dhcp uImage; bootm > diff --git a/board/imgtec/xilfpga/xilfpga.c b/board/imgtec/xilfpga/xilfpga.c > new file mode 100644 > index 0000000..9549e23 > --- /dev/null > +++ b/board/imgtec/xilfpga/xilfpga.c > @@ -0,0 +1,20 @@ > +/* > + * Imagination Technologies MIPSfpga platform code > + * > + * Copyright (C) 2016, Imagination Technologies Ltd. > + * > + * Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> > + * > + * SPDX-License-Identifier: GPL-2.0+ > + * > + */ > + > +#include <common.h> > + > +/* initialize the DDR Controller and PHY */ > +phys_size_t initdram(int board_type) > +{ > + /* MIG IP block is smart and doesn't need SW > + * to do any init */ > + return 128 * 1024 * 1024; /* in bytes */ is this always fixed to 128 or can you read the size from some hardware registers? In the first case you should use CONFIG_SYS_SDRAM_SIZE which you already provide in include/configs/imgtec_xilfpga.h. > +} > diff --git a/configs/imgtec_xilfpga_defconfig b/configs/imgtec_xilfpga_defconfig > new file mode 100644 > index 0000000..63f03cd > --- /dev/null > +++ b/configs/imgtec_xilfpga_defconfig > @@ -0,0 +1,25 @@ > +CONFIG_MIPS=y > +CONFIG_SYS_MALLOC_F_LEN=0x600 > +CONFIG_TARGET_XILFPGA=y > +# CONFIG_MIPS_BOOT_ENV_LEGACY is not set > +CONFIG_MIPS_BOOT_FDT=y > +CONFIG_DEFAULT_DEVICE_TREE="nexys4ddr" > +CONFIG_BOOTDELAY=5 > +CONFIG_HUSH_PARSER=y > +CONFIG_SYS_PROMPT="MIPSfpga # " > +# CONFIG_CMD_IMLS is not set > +# CONFIG_CMD_SAVEENV is not set > +CONFIG_CMD_MEMINFO=y > +# CONFIG_CMD_FLASH is not set > +# CONFIG_CMD_FPGA is not set > +CONFIG_CMD_DHCP=y > +CONFIG_CMD_MII=y > +CONFIG_CMD_PING=y > +CONFIG_CMD_TIME=y > +CONFIG_OF_EMBED=y > +CONFIG_NET_RANDOM_ETHADDR=y > +CONFIG_NETCONSOLE=y > +CONFIG_CLK=y > +CONFIG_XILINX_EMACLITE=y > +CONFIG_SYS_NS16550=y > +CONFIG_CMD_DHRYSTONE=y > diff --git a/include/configs/imgtec_xilfpga.h b/include/configs/imgtec_xilfpga.h > new file mode 100644 > index 0000000..0a7fe60 > --- /dev/null > +++ b/include/configs/imgtec_xilfpga.h > @@ -0,0 +1,68 @@ > +/* > + * Copyright (C) 2016, Imagination Technologies Ltd. > + * > + * Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> > + * > + * SPDX-License-Identifier: GPL-2.0+ > + * > + * Imagination Technologies Ltd. MIPSfpga > + */ > + > +#ifndef __XILFPGA_CONFIG_H > +#define __XILFPGA_CONFIG_H > + > +/* BootROM + MIG is pretty smart. DDR and Cache initialized */ > +#define CONFIG_SKIP_LOWLEVEL_INIT > + > +/*-------------------------------------------- > + * CPU configuration > + */ > +/* CPU Timer rate */ > +#define CONFIG_SYS_MIPS_TIMER_FREQ 50000000 > + > +/* Cache Configuration */ > +#define CONFIG_SYS_MIPS_CACHE_MODE CONF_CM_CACHABLE_NONCOHERENT > + > +/*---------------------------------------------------------------------- > + * Memory Layout > + */ > + > +/* SDRAM Configuration (for final code, data, stack, heap) */ > +#define CONFIG_SYS_SDRAM_BASE 0x80000000 > +#define CONFIG_SYS_SDRAM_SIZE 0x08000000 /* 128 Mbytes */ > +#define CONFIG_SYS_INIT_SP_ADDR \ > + (CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_SDRAM_SIZE - 0x1000) > + > +#define CONFIG_SYS_MALLOC_LEN (256 << 10) > +#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE > +#define CONFIG_SYS_LOAD_ADDR 0x80500000 /* default load address */ > + > +/*---------------------------------------------------------------------- > + * Commands > + */ > +#define CONFIG_SYS_LONGHELP /* undef to save memory */ > + > +/*------------------------------------------------- > + * FLASH configuration > + */ > +#define CONFIG_SYS_NO_FLASH > + > +/*------------------------------------------------------------ > + * Console Configuration > + */ > +#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */ > +#define CONFIG_SYS_MAXARGS 16 /* max number of command args*/ > +#define CONFIG_BAUDRATE 115200 > + > +/* ------------------------------------------------- > + * Environment > + */ > +#define CONFIG_ENV_IS_NOWHERE 1 > +#define CONFIG_ENV_SIZE 0x4000 > + > +/* --------------------------------------------------------------------- > + * Board boot configuration > + */ > +#define CONFIG_TIMESTAMP /* Print image info with timestamp */ > + > +#endif /* __XILFPGA_CONFIG_H */ > -- - Daniel -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 473 bytes Desc: OpenPGP digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160727/983f7c2e/attachment.sig> ^ permalink raw reply [flat|nested] 7+ messages in thread
* [U-Boot] [PATCH 1/2] mips: Add MIPSfpga platform support 2016-07-27 12:13 ` Daniel Schwierzeck @ 2016-07-29 9:31 ` Zubair Lutfullah Kakakhel 0 siblings, 0 replies; 7+ messages in thread From: Zubair Lutfullah Kakakhel @ 2016-07-29 9:31 UTC (permalink / raw) To: u-boot Hi, On 27/07/16 13:13, Daniel Schwierzeck wrote: > > > Am 27.07.2016 um 12:51 schrieb Zubair Lutfullah Kakakhel: >> MIPSfpga is an FPGA based dev platform. >> >> In a nutshell, its a microAptiv cpu core with lots of Xilinx IP blocks >> >> The FPGA dev board used is the Nexys4DDR board by Digilent. >> >> For more information, check the Readme file in board/imgtec/xilfpga >> >> Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> >> Reviewed-by: Paul Burton <paul.burton@imgtec.com> > > Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> > > some nits below Thanks for the review. I will resend v2 today with your suggestions. Response inline below. > >> --- >> arch/mips/Kconfig | 16 ++++++++++ >> board/imgtec/xilfpga/Kconfig | 15 +++++++++ >> board/imgtec/xilfpga/MAINTAINERS | 6 ++++ >> board/imgtec/xilfpga/Makefile | 7 +++++ >> board/imgtec/xilfpga/README | 55 ++++++++++++++++++++++++++++++++ >> board/imgtec/xilfpga/xilfpga.c | 20 ++++++++++++ >> configs/imgtec_xilfpga_defconfig | 25 +++++++++++++++ >> include/configs/imgtec_xilfpga.h | 68 ++++++++++++++++++++++++++++++++++++++++ >> 8 files changed, 212 insertions(+) >> create mode 100644 board/imgtec/xilfpga/Kconfig >> create mode 100644 board/imgtec/xilfpga/MAINTAINERS >> create mode 100644 board/imgtec/xilfpga/Makefile >> create mode 100644 board/imgtec/xilfpga/README >> create mode 100644 board/imgtec/xilfpga/xilfpga.c >> create mode 100644 configs/imgtec_xilfpga_defconfig >> create mode 100644 include/configs/imgtec_xilfpga.h >> >> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig >> index 21066f0..c81c9ea 100644 >> --- a/arch/mips/Kconfig >> +++ b/arch/mips/Kconfig >> @@ -73,10 +73,26 @@ config MACH_PIC32 >> select OF_CONTROL >> select DM >> >> +config TARGET_XILFPGA >> + bool "Support Imagination Xilfpga" >> + select OF_CONTROL >> + select DM >> + select DM_SERIAL >> + select DM_GPIO >> + select DM_ETH >> + select SUPPORTS_LITTLE_ENDIAN >> + select SUPPORTS_CPU_MIPS32_R1 >> + select SUPPORTS_CPU_MIPS32_R2 >> + select MIPS_L1_CACHE_SHIFT_4 > >> + select SYS_MIPS_CACHE_INIT_RAM_LOAD > > you don't need this option on a microAptiv core and because don't do any > cache initialization in software at all > Ok. I'll check. Thanks. >> + help >> + This supports IMGTEC MIPSfpga platform >> + >> endchoice >> >> source "board/dbau1x00/Kconfig" >> source "board/imgtec/malta/Kconfig" >> +source "board/imgtec/xilfpga/Kconfig" >> source "board/micronas/vct/Kconfig" >> source "board/pb1x00/Kconfig" >> source "board/qemu-mips/Kconfig" >> diff --git a/board/imgtec/xilfpga/Kconfig b/board/imgtec/xilfpga/Kconfig >> new file mode 100644 >> index 0000000..b078278 >> --- /dev/null >> +++ b/board/imgtec/xilfpga/Kconfig >> @@ -0,0 +1,15 @@ >> +if TARGET_XILFPGA >> + >> +config SYS_BOARD >> + default "xilfpga" >> + >> +config SYS_VENDOR >> + default "imgtec" >> + >> +config SYS_CONFIG_NAME >> + default "imgtec_xilfpga" >> + >> +config SYS_TEXT_BASE >> + default 0x80C00000 >> + >> +endif >> diff --git a/board/imgtec/xilfpga/MAINTAINERS b/board/imgtec/xilfpga/MAINTAINERS >> new file mode 100644 >> index 0000000..aa04532 >> --- /dev/null >> +++ b/board/imgtec/xilfpga/MAINTAINERS >> @@ -0,0 +1,6 @@ >> +XILFPGA BOARD >> +M: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> >> +S: Maintained >> +F: board/imgtec/xilfpga >> +F: include/configs/xilfpga.h >> +F: configs/imgtec_xilfpga_defconfig >> diff --git a/board/imgtec/xilfpga/Makefile b/board/imgtec/xilfpga/Makefile >> new file mode 100644 >> index 0000000..9aaf9ce >> --- /dev/null >> +++ b/board/imgtec/xilfpga/Makefile >> @@ -0,0 +1,7 @@ >> +# >> +# Copyright (C) 2016, Imagination Technologies Ltd. >> +# Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> >> +# >> +# SPDX-License-Identifier: GPL-2.0+ >> +# >> +obj-y := xilfpga.o >> diff --git a/board/imgtec/xilfpga/README b/board/imgtec/xilfpga/README >> new file mode 100644 >> index 0000000..ac19d48 >> --- /dev/null >> +++ b/board/imgtec/xilfpga/README >> @@ -0,0 +1,55 @@ >> +/* >> + * Copyright (C) 2016, Imagination Technologies Ltd. >> + * >> + * Zubair Lutfullah Kakakhel, Zubair.Kakakhel at imgtec.com >> + */ >> + >> +MIPSfpga >> +======================================= >> + >> +MIPSfpga is an FPGA based development platform by Imagination Technologies >> +As we are dealing with a MIPS core instantiated on an FPGA, specifications >> +are fluid and can be varied in RTL. >> + >> +The example project provided by IMGTEC runs on the Nexys4DDR board by >> +Digilent powered by the ARTIX-7 FPGA by Xilinx. Relevant details about >> +the example project and the Nexys4DDR board: >> + >> +- microAptiv UP core m14Kc >> +- 50MHz clock speed >> +- 128Mbyte DDR RAM at 0x0000_0000 >> +- 8Kbyte RAM at 0x1000_0000 >> +- axi_intc at 0x1020_0000 >> +- axi_uart16550 at 0x1040_0000 >> +- axi_gpio at 0x1060_0000 >> +- axi_i2c at 0x10A0_0000 >> +- custom_gpio at 0x10C0_0000 >> +- axi_ethernetlite at 0x10E0_0000 >> +- 8Kbyte BootRAM at 0x1FC0_0000 >> +- 16Mbyte QPI at 0x1D00_0000 >> + >> +Boot protocol: >> +-------------- >> + >> +The BootRAM is a writeable "RAM" in FPGA at 0x1FC0_0000. >> +This is for easy reprogrammibility via JTAG. > > just for my understanding: what does "RAM" mean? I would expect a > reprogrammable ROM because this should be a non-volatile memory, > shouldn't it? Or do you always download the BootRAM via JTAG in order to > boot? > This is an FPGA based system. In the FPGA RTL, the memory IP at 0x1FC0_0000 is configured as a RAM . But it is also preinitialized with instruction code (init caches, output on uart etc). As it is RAM. JTAG debuggers can be used to pause the mips core. And then just load a binary in the same place in memory. No fancy flashing routine etc. Hence the use of the word RAM. >> + >> +DDR initialization is already handled by a HW IP block. >> + >> +When the example project bitstream is loaded, the cpu_reset button >> +needs to be pressed. >> + >> +The bootram initializes the cache and axi_uart >> +Then checks if there is anything non 0xffff_ffff at location 0x1D40_0000 >> + >> +If there is, then that is considered as u-boot. u-boot is copied from >> +0x1D40_0000 to memory and the bootram jumps into u-boot code. >> + >> +At this point, the board is ready to load the Linux kernel + buildroot initramfs >> + >> +This can be done in multiple ways: >> + >> +1- JTAG load the binary and jump into it. >> +2- Load kernel stored in the QSPI flash at 0x1D80_0000 >> +3- Load uImage via tftp. Ethernet works in u-boot. >> + e.g. env set server ip 192.168.154.45; dhcp uImage; bootm >> diff --git a/board/imgtec/xilfpga/xilfpga.c b/board/imgtec/xilfpga/xilfpga.c >> new file mode 100644 >> index 0000000..9549e23 >> --- /dev/null >> +++ b/board/imgtec/xilfpga/xilfpga.c >> @@ -0,0 +1,20 @@ >> +/* >> + * Imagination Technologies MIPSfpga platform code >> + * >> + * Copyright (C) 2016, Imagination Technologies Ltd. >> + * >> + * Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> >> + * >> + * SPDX-License-Identifier: GPL-2.0+ >> + * >> + */ >> + >> +#include <common.h> >> + >> +/* initialize the DDR Controller and PHY */ >> +phys_size_t initdram(int board_type) >> +{ >> + /* MIG IP block is smart and doesn't need SW >> + * to do any init */ >> + return 128 * 1024 * 1024; /* in bytes */ > > is this always fixed to 128 or can you read the size from some hardware > registers? In the first case you should use CONFIG_SYS_SDRAM_SIZE which > you already provide in include/configs/imgtec_xilfpga.h. > It is fixed to 128MBytes. I'll use the CONFIG option. Thanks. Regards, ZubairLK >> +} >> diff --git a/configs/imgtec_xilfpga_defconfig b/configs/imgtec_xilfpga_defconfig >> new file mode 100644 >> index 0000000..63f03cd >> --- /dev/null >> +++ b/configs/imgtec_xilfpga_defconfig >> @@ -0,0 +1,25 @@ >> +CONFIG_MIPS=y >> +CONFIG_SYS_MALLOC_F_LEN=0x600 >> +CONFIG_TARGET_XILFPGA=y >> +# CONFIG_MIPS_BOOT_ENV_LEGACY is not set >> +CONFIG_MIPS_BOOT_FDT=y >> +CONFIG_DEFAULT_DEVICE_TREE="nexys4ddr" >> +CONFIG_BOOTDELAY=5 >> +CONFIG_HUSH_PARSER=y >> +CONFIG_SYS_PROMPT="MIPSfpga # " >> +# CONFIG_CMD_IMLS is not set >> +# CONFIG_CMD_SAVEENV is not set >> +CONFIG_CMD_MEMINFO=y >> +# CONFIG_CMD_FLASH is not set >> +# CONFIG_CMD_FPGA is not set >> +CONFIG_CMD_DHCP=y >> +CONFIG_CMD_MII=y >> +CONFIG_CMD_PING=y >> +CONFIG_CMD_TIME=y >> +CONFIG_OF_EMBED=y >> +CONFIG_NET_RANDOM_ETHADDR=y >> +CONFIG_NETCONSOLE=y >> +CONFIG_CLK=y >> +CONFIG_XILINX_EMACLITE=y >> +CONFIG_SYS_NS16550=y >> +CONFIG_CMD_DHRYSTONE=y >> diff --git a/include/configs/imgtec_xilfpga.h b/include/configs/imgtec_xilfpga.h >> new file mode 100644 >> index 0000000..0a7fe60 >> --- /dev/null >> +++ b/include/configs/imgtec_xilfpga.h >> @@ -0,0 +1,68 @@ >> +/* >> + * Copyright (C) 2016, Imagination Technologies Ltd. >> + * >> + * Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> >> + * >> + * SPDX-License-Identifier: GPL-2.0+ >> + * >> + * Imagination Technologies Ltd. MIPSfpga >> + */ >> + >> +#ifndef __XILFPGA_CONFIG_H >> +#define __XILFPGA_CONFIG_H >> + >> +/* BootROM + MIG is pretty smart. DDR and Cache initialized */ >> +#define CONFIG_SKIP_LOWLEVEL_INIT >> + >> +/*-------------------------------------------- >> + * CPU configuration >> + */ >> +/* CPU Timer rate */ >> +#define CONFIG_SYS_MIPS_TIMER_FREQ 50000000 >> + >> +/* Cache Configuration */ >> +#define CONFIG_SYS_MIPS_CACHE_MODE CONF_CM_CACHABLE_NONCOHERENT >> + >> +/*---------------------------------------------------------------------- >> + * Memory Layout >> + */ >> + >> +/* SDRAM Configuration (for final code, data, stack, heap) */ >> +#define CONFIG_SYS_SDRAM_BASE 0x80000000 >> +#define CONFIG_SYS_SDRAM_SIZE 0x08000000 /* 128 Mbytes */ >> +#define CONFIG_SYS_INIT_SP_ADDR \ >> + (CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_SDRAM_SIZE - 0x1000) >> + >> +#define CONFIG_SYS_MALLOC_LEN (256 << 10) >> +#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE >> +#define CONFIG_SYS_LOAD_ADDR 0x80500000 /* default load address */ >> + >> +/*---------------------------------------------------------------------- >> + * Commands >> + */ >> +#define CONFIG_SYS_LONGHELP /* undef to save memory */ >> + >> +/*------------------------------------------------- >> + * FLASH configuration >> + */ >> +#define CONFIG_SYS_NO_FLASH >> + >> +/*------------------------------------------------------------ >> + * Console Configuration >> + */ >> +#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */ >> +#define CONFIG_SYS_MAXARGS 16 /* max number of command args*/ >> +#define CONFIG_BAUDRATE 115200 >> + >> +/* ------------------------------------------------- >> + * Environment >> + */ >> +#define CONFIG_ENV_IS_NOWHERE 1 >> +#define CONFIG_ENV_SIZE 0x4000 >> + >> +/* --------------------------------------------------------------------- >> + * Board boot configuration >> + */ >> +#define CONFIG_TIMESTAMP /* Print image info with timestamp */ >> + >> +#endif /* __XILFPGA_CONFIG_H */ >> > ^ permalink raw reply [flat|nested] 7+ messages in thread
* [U-Boot] [PATCH 2/2] mips: xilfpga: Add device tree files 2016-07-27 10:50 [U-Boot] [PATCH 0/2] MIPS: Add MIPSfpga u-boot port Zubair Lutfullah Kakakhel 2016-07-27 10:51 ` [U-Boot] [PATCH 1/2] mips: Add MIPSfpga platform support Zubair Lutfullah Kakakhel @ 2016-07-27 10:51 ` Zubair Lutfullah Kakakhel 2016-07-27 12:02 ` Daniel Schwierzeck 1 sibling, 1 reply; 7+ messages in thread From: Zubair Lutfullah Kakakhel @ 2016-07-27 10:51 UTC (permalink / raw) To: u-boot Mostly the same as the Kernel upstream device tree file except for - alias for the serial console node - ethernet node as the ethernet stuff isn't upstream on kernel.org yet - uart clock-frequency passed directly in the node Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> Reviewed-by: Paul Burton <paul.burton@imgtec.com> --- arch/mips/dts/Makefile | 1 + arch/mips/dts/microAptiv.dtsi | 21 +++++++++++++++ arch/mips/dts/nexys4ddr.dts | 62 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 84 insertions(+) create mode 100644 arch/mips/dts/microAptiv.dtsi create mode 100644 arch/mips/dts/nexys4ddr.dts diff --git a/arch/mips/dts/Makefile b/arch/mips/dts/Makefile index 2f04d73..5f311d4 100644 --- a/arch/mips/dts/Makefile +++ b/arch/mips/dts/Makefile @@ -6,6 +6,7 @@ dtb-$(CONFIG_TARGET_AP121) += ap121.dtb dtb-$(CONFIG_TARGET_AP143) += ap143.dtb dtb-$(CONFIG_TARGET_MALTA) += mti,malta.dtb dtb-$(CONFIG_TARGET_PIC32MZDASK) += pic32mzda_sk.dtb +dtb-$(CONFIG_TARGET_XILFPGA) += nexys4ddr.dtb dtb-$(CONFIG_BOARD_TPLINK_WDR4300) += tplink_wdr4300.dtb targets += $(dtb-y) diff --git a/arch/mips/dts/microAptiv.dtsi b/arch/mips/dts/microAptiv.dtsi new file mode 100644 index 0000000..81d518e --- /dev/null +++ b/arch/mips/dts/microAptiv.dtsi @@ -0,0 +1,21 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "img,xilfpga"; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + cpu at 0 { + device_type = "cpu"; + compatible = "mips,m14Kc"; + clocks = <&ext>; + reg = <0>; + }; + }; + + ext: ext { + compatible = "fixed-clock"; + #clock-cells = <0>; + }; +}; diff --git a/arch/mips/dts/nexys4ddr.dts b/arch/mips/dts/nexys4ddr.dts new file mode 100644 index 0000000..e254ab1 --- /dev/null +++ b/arch/mips/dts/nexys4ddr.dts @@ -0,0 +1,62 @@ +/dts-v1/; + +#include "microAptiv.dtsi" + +/ { + compatible = "digilent,nexys4ddr"; + + memory { + device_type = "memory"; + reg = <0x0 0x08000000>; + }; + + cpuintc: interrupt-controller at 0 { + #address-cells = <0>; + #interrupt-cells = <1>; + interrupt-controller; + compatible = "mti,cpu-interrupt-controller"; + }; + + aliases { + console = &axi_uart16550; + }; + + axi_ethernetlite: ethernet at 10e00000 { + compatible = "xlnx,xps-ethernetlite-1.00.a"; + device_type = "network"; + local-mac-address = [08 86 4C 0D F7 09]; + phy-handle = <&phy0>; + reg = <0x10e00000 0x10000>; + xlnx,duplex = <0x1>; + xlnx,include-global-buffers = <0x1>; + xlnx,include-internal-loopback = <0x0>; + xlnx,include-mdio = <0x1>; + xlnx,instance = "axi_ethernetlite_inst"; + xlnx,rx-ping-pong = <0x1>; + xlnx,s-axi-id-width = <0x1>; + xlnx,tx-ping-pong = <0x1>; + xlnx,use-internal = <0x0>; + mdio { + #address-cells = <1>; + #size-cells = <0>; + phy0: phy at 1 { + compatible = <0x0007c0f0 0xfffffff0>; + device_type = "ethernet-phy"; + reg = <1>; + } ; + } ; + } ; + + + axi_uart16550: serial at 10400000 { + compatible = "ns16550a"; + reg = <0x10400000 0x10000>; + + reg-shift = <2>; + reg-offset = <0x1000>; + + clock-frequency = <50000000>; + + }; +}; + -- 1.9.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [U-Boot] [PATCH 2/2] mips: xilfpga: Add device tree files 2016-07-27 10:51 ` [U-Boot] [PATCH 2/2] mips: xilfpga: Add device tree files Zubair Lutfullah Kakakhel @ 2016-07-27 12:02 ` Daniel Schwierzeck 2016-07-29 9:32 ` Zubair Lutfullah Kakakhel 0 siblings, 1 reply; 7+ messages in thread From: Daniel Schwierzeck @ 2016-07-27 12:02 UTC (permalink / raw) To: u-boot Am 27.07.2016 um 12:51 schrieb Zubair Lutfullah Kakakhel: > Mostly the same as the Kernel upstream device tree file except for > > - alias for the serial console node > - ethernet node as the ethernet stuff isn't upstream on kernel.org yet > - uart clock-frequency passed directly in the node > > Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> > Reviewed-by: Paul Burton <paul.burton@imgtec.com> actually this should be the first patch in this series because you can't build the xilfpga board without these device tree files which would break bisectability. Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> > --- > arch/mips/dts/Makefile | 1 + > arch/mips/dts/microAptiv.dtsi | 21 +++++++++++++++ > arch/mips/dts/nexys4ddr.dts | 62 +++++++++++++++++++++++++++++++++++++++++++ > 3 files changed, 84 insertions(+) > create mode 100644 arch/mips/dts/microAptiv.dtsi > create mode 100644 arch/mips/dts/nexys4ddr.dts > > diff --git a/arch/mips/dts/Makefile b/arch/mips/dts/Makefile > index 2f04d73..5f311d4 100644 > --- a/arch/mips/dts/Makefile > +++ b/arch/mips/dts/Makefile > @@ -6,6 +6,7 @@ dtb-$(CONFIG_TARGET_AP121) += ap121.dtb > dtb-$(CONFIG_TARGET_AP143) += ap143.dtb > dtb-$(CONFIG_TARGET_MALTA) += mti,malta.dtb > dtb-$(CONFIG_TARGET_PIC32MZDASK) += pic32mzda_sk.dtb > +dtb-$(CONFIG_TARGET_XILFPGA) += nexys4ddr.dtb > dtb-$(CONFIG_BOARD_TPLINK_WDR4300) += tplink_wdr4300.dtb > > targets += $(dtb-y) > diff --git a/arch/mips/dts/microAptiv.dtsi b/arch/mips/dts/microAptiv.dtsi > new file mode 100644 > index 0000000..81d518e > --- /dev/null > +++ b/arch/mips/dts/microAptiv.dtsi > @@ -0,0 +1,21 @@ > +/ { > + #address-cells = <1>; > + #size-cells = <1>; > + compatible = "img,xilfpga"; > + > + cpus { > + #address-cells = <1>; > + #size-cells = <0>; > + cpu at 0 { > + device_type = "cpu"; > + compatible = "mips,m14Kc"; > + clocks = <&ext>; > + reg = <0>; > + }; > + }; > + > + ext: ext { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + }; > +}; > diff --git a/arch/mips/dts/nexys4ddr.dts b/arch/mips/dts/nexys4ddr.dts > new file mode 100644 > index 0000000..e254ab1 > --- /dev/null > +++ b/arch/mips/dts/nexys4ddr.dts > @@ -0,0 +1,62 @@ > +/dts-v1/; > + > +#include "microAptiv.dtsi" > + > +/ { > + compatible = "digilent,nexys4ddr"; > + > + memory { > + device_type = "memory"; > + reg = <0x0 0x08000000>; > + }; > + > + cpuintc: interrupt-controller at 0 { > + #address-cells = <0>; > + #interrupt-cells = <1>; > + interrupt-controller; > + compatible = "mti,cpu-interrupt-controller"; > + }; > + > + aliases { > + console = &axi_uart16550; > + }; > + > + axi_ethernetlite: ethernet at 10e00000 { > + compatible = "xlnx,xps-ethernetlite-1.00.a"; > + device_type = "network"; > + local-mac-address = [08 86 4C 0D F7 09]; > + phy-handle = <&phy0>; > + reg = <0x10e00000 0x10000>; > + xlnx,duplex = <0x1>; > + xlnx,include-global-buffers = <0x1>; > + xlnx,include-internal-loopback = <0x0>; > + xlnx,include-mdio = <0x1>; > + xlnx,instance = "axi_ethernetlite_inst"; > + xlnx,rx-ping-pong = <0x1>; > + xlnx,s-axi-id-width = <0x1>; > + xlnx,tx-ping-pong = <0x1>; > + xlnx,use-internal = <0x0>; > + mdio { > + #address-cells = <1>; > + #size-cells = <0>; > + phy0: phy at 1 { > + compatible = <0x0007c0f0 0xfffffff0>; > + device_type = "ethernet-phy"; > + reg = <1>; > + } ; > + } ; > + } ; > + > + > + axi_uart16550: serial at 10400000 { > + compatible = "ns16550a"; > + reg = <0x10400000 0x10000>; > + > + reg-shift = <2>; > + reg-offset = <0x1000>; > + > + clock-frequency = <50000000>; > + > + }; > +}; > + > -- - Daniel -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 473 bytes Desc: OpenPGP digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160727/e437156c/attachment.sig> ^ permalink raw reply [flat|nested] 7+ messages in thread
* [U-Boot] [PATCH 2/2] mips: xilfpga: Add device tree files 2016-07-27 12:02 ` Daniel Schwierzeck @ 2016-07-29 9:32 ` Zubair Lutfullah Kakakhel 0 siblings, 0 replies; 7+ messages in thread From: Zubair Lutfullah Kakakhel @ 2016-07-29 9:32 UTC (permalink / raw) To: u-boot On 27/07/16 13:02, Daniel Schwierzeck wrote: > > > Am 27.07.2016 um 12:51 schrieb Zubair Lutfullah Kakakhel: >> Mostly the same as the Kernel upstream device tree file except for >> >> - alias for the serial console node >> - ethernet node as the ethernet stuff isn't upstream on kernel.org yet >> - uart clock-frequency passed directly in the node >> >> Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> >> Reviewed-by: Paul Burton <paul.burton@imgtec.com> > > actually this should be the first patch in this series because you can't > build the xilfpga board without these device tree files which would > break bisectability. > > Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Thanks. I'll resend v2 with the correct order Regards, ZubairLK ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2016-07-29 9:32 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-07-27 10:50 [U-Boot] [PATCH 0/2] MIPS: Add MIPSfpga u-boot port Zubair Lutfullah Kakakhel 2016-07-27 10:51 ` [U-Boot] [PATCH 1/2] mips: Add MIPSfpga platform support Zubair Lutfullah Kakakhel 2016-07-27 12:13 ` Daniel Schwierzeck 2016-07-29 9:31 ` Zubair Lutfullah Kakakhel 2016-07-27 10:51 ` [U-Boot] [PATCH 2/2] mips: xilfpga: Add device tree files Zubair Lutfullah Kakakhel 2016-07-27 12:02 ` Daniel Schwierzeck 2016-07-29 9:32 ` Zubair Lutfullah Kakakhel
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox