summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--target/arm/Makefile15
-rw-r--r--target/arm/kernel/qemu-arm-xilinx-zynq5
-rw-r--r--target/arm/systems/qemu-arm-xilinx-zynq9
-rw-r--r--target/config/Config.in.runtime1
-rw-r--r--target/linux/config/Config.in.ethernet4
-rw-r--r--target/linux/config/Config.in.serial12
6 files changed, 41 insertions, 5 deletions
diff --git a/target/arm/Makefile b/target/arm/Makefile
index eabe2a786..e029fb72b 100644
--- a/target/arm/Makefile
+++ b/target/arm/Makefile
@@ -17,6 +17,9 @@ KERNEL:=$(LINUX_DIR)/arch/arm/boot/xipImage
endif
QEMU_ARGS:=${ADK_QEMU_ARGS}
+ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_XILINX_ZYNQ),y)
+QEMU_ARGS+=-M xilinx-zynq-a9 -dtb $(FW_DIR)/zynq-zc702.dtb -serial null -serial mon:stdio
+endif
ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_SPITZ),y)
QEMU_ARGS+=-M spitz
endif
@@ -75,7 +78,7 @@ targethelp:
@echo 'The initramfs image is: ${FW_DIR}/${INITRAMFS}'
ifeq ($(ADK_TARGET_QEMU),y)
@echo "Start qemu with following command line:"
- @echo 'qemu-system-${ADK_TARGET_CPU_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL) -initrd ${FW_DIR}/${INITRAMFS}'
+ @echo 'qemu-system-arm ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL) -initrd ${FW_DIR}/${INITRAMFS}'
endif
endif
ifeq ($(ADK_TARGET_FS),initramfsarchive)
@@ -88,7 +91,7 @@ targethelp:
@echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}'
ifeq ($(ADK_TARGET_QEMU),y)
@echo "Start qemu with following command line:"
- @echo 'qemu-system-${ADK_TARGET_CPU_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL)'
+ @echo 'qemu-system-arm ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL)'
endif
endif
ifeq ($(ADK_TARGET_FS),nfsroot)
@@ -102,7 +105,7 @@ targethelp:
@echo "The RootFS image is: $(FW_DIR)/$(ROOTFSSQUASHFS)"
ifeq ($(ADK_TARGET_QEMU),y)
@echo "Start qemu with following options:"
- @echo 'qemu-system-${ADK_TARGET_CPU_ARCH} $(QEMU_ARGS) -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) $(FW_DIR)/$(ROOTFSSQUASHFS)'
+ @echo 'qemu-system-arm $(QEMU_ARGS) -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) $(FW_DIR)/$(ROOTFSSQUASHFS)'
endif
endif
ifeq ($(ADK_TARGET_FS),jffs2)
@@ -111,7 +114,7 @@ targethelp:
@echo "The RootFS image is: $(FW_DIR)/$(ROOTFSJFFS2)"
ifeq ($(ADK_TARGET_QEMU),y)
@echo "Start qemu with following options:"
- @echo 'qemu-system-${ADK_TARGET_CPU_ARCH} $(QEMU_ARGS) -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) $(FW_DIR)/$(ROOTFSJFFS2)'
+ @echo 'qemu-system-arm $(QEMU_ARGS) -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) $(FW_DIR)/$(ROOTFSJFFS2)'
endif
endif
@@ -131,6 +134,10 @@ ifeq ($(ADK_TARGET_FS),squashfs)
endif
dtb-install:
+ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_XILINX_ZYNQ),y)
+ env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
+ dtbs $(MAKE_TRACE)
+endif
ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9),y)
env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
dtbs $(MAKE_TRACE)
diff --git a/target/arm/kernel/qemu-arm-xilinx-zynq b/target/arm/kernel/qemu-arm-xilinx-zynq
new file mode 100644
index 000000000..f67268238
--- /dev/null
+++ b/target/arm/kernel/qemu-arm-xilinx-zynq
@@ -0,0 +1,5 @@
+CONFIG_ARM=y
+CONFIG_ARCH_MULTI_V7=y
+CONFIG_ARCH_ZYNQ=y
+CONFIG_KUSER_HELPERS=y
+CONFIG_ATAGS=y
diff --git a/target/arm/systems/qemu-arm-xilinx-zynq b/target/arm/systems/qemu-arm-xilinx-zynq
new file mode 100644
index 000000000..fa6641d10
--- /dev/null
+++ b/target/arm/systems/qemu-arm-xilinx-zynq
@@ -0,0 +1,9 @@
+config ADK_TARGET_SYSTEM_QEMU_ARM_XILINX_ZYNQ
+ bool "Qemu Emulator (Xilinx Zynq)"
+ select ADK_TARGET_CPU_ARM_CORTEX_A9
+ select ADK_TARGET_QEMU
+ select ADK_TARGET_KERNEL_ZIMAGE
+ select ADK_TARGET_KERNEL_WITH_COMPRESSION
+ help
+ Qemu Emulator for ARM architecture (Xilinx Zynq).
+
diff --git a/target/config/Config.in.runtime b/target/config/Config.in.runtime
index 1c11789fb..cfe654582 100644
--- a/target/config/Config.in.runtime
+++ b/target/config/Config.in.runtime
@@ -271,6 +271,7 @@ config ADK_RUNTIME_CONSOLE_SERIAL_DEVICE
default "ttyAMA0" if ADK_TARGET_SYSTEM_RASPBERRY_PI2
default "ttyDA1" if ADK_TARGET_SYSTEM_QEMU_METAG
default "ttyS2" if ADK_TARGET_SYSTEM_KINETIS_K70
+ default "ttyPS0" if ADK_TARGET_SYSTEM_QEMU_ARM_XILINX_ZYNQ
default "ttysclp0" if ADK_TARGET_SYSTEM_QEMU_S390
default "ttyO0" if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK
default "ttyS0"
diff --git a/target/linux/config/Config.in.ethernet b/target/linux/config/Config.in.ethernet
index abac3f940..935c35274 100644
--- a/target/linux/config/Config.in.ethernet
+++ b/target/linux/config/Config.in.ethernet
@@ -330,8 +330,10 @@ config ADK_KERNEL_IBMVETH
config ADK_KERNEL_MACB
tristate "Atmel NGW100 network driver"
select ADK_KERNEL_NET_CADENCE
- depends on ADK_TARGET_SYSTEM_ATMEL_NGW100
+ depends on ADK_TARGET_SYSTEM_ATMEL_NGW100 \
+ || ADK_TARGET_SYSTEM_QEMU_ARM_XILINX_ZYNQ
default y if ADK_TARGET_SYSTEM_ATMEL_NGW100
+ default y if ADK_TARGET_SYSTEM_QEMU_ARM_XILINX_ZYNQ
default n
help
Atmel NGW100 network driver
diff --git a/target/linux/config/Config.in.serial b/target/linux/config/Config.in.serial
index 7d3fb7ada..3523b15c3 100644
--- a/target/linux/config/Config.in.serial
+++ b/target/linux/config/Config.in.serial
@@ -13,6 +13,9 @@ config ADK_KERNEL_SERIAL_8250_PNP
config ADK_KERNEL_SERIAL_ARC_CONSOLE
bool
+config ADK_KERNEL_SERIAL_XILINX_PS_UART_CONSOLE
+ bool
+
config ADK_KERNEL_SERIAL_IMX_CONSOLE
bool
@@ -157,6 +160,15 @@ config ADK_KERNEL_SERIAL_ARC
help
Serial driver for nSIM ARC simulator.
+config ADK_KERNEL_SERIAL_XILINX_PS_UART
+ bool "Cadence serial driver"
+ select ADK_KERNEL_SERIAL_XILINX_PS_UART_CONSOLE
+ depends on ADK_TARGET_SYSTEM_QEMU_ARM_XILINX_ZYNQ
+ default y if ADK_TARGET_SYSTEM_QEMU_ARM_XILINX_ZYNQ
+ default n
+ help
+ Serial driver for Xilinx Zynq.
+
config ADK_KERNEL_SERIAL_IMX
bool "IMX serial driver"
select ADK_KERNEL_SERIAL_IMX_CONSOLE