From 294892465566cd2d12ef32d379013a1153cc3bd2 Mon Sep 17 00:00:00 2001 From: Savinay Dharmappa Date: Mon, 14 May 2018 16:40:47 +0530 Subject: [PATCH] dts: nios2-qemu: add device tree support Add device tree support for nios2-qemu Signed-off-by: Savinay Dharmappa --- arch/nios2/soc/nios2-qemu/dts.fixup | 7 ++++ arch/nios2/soc/nios2-qemu/include/layout.h | 10 +---- arch/nios2/soc/nios2-qemu/linker.ld | 2 +- dts/bindings/serial/altera,jtag-uart.yaml | 30 +++++++++++++++ dts/nios2/nios2-qemu.dtsi | 43 ++++++++++++++++++++++ 5 files changed, 82 insertions(+), 10 deletions(-) create mode 100644 arch/nios2/soc/nios2-qemu/dts.fixup create mode 100644 dts/bindings/serial/altera,jtag-uart.yaml create mode 100644 dts/nios2/nios2-qemu.dtsi diff --git a/arch/nios2/soc/nios2-qemu/dts.fixup b/arch/nios2/soc/nios2-qemu/dts.fixup new file mode 100644 index 00000000000..6016d714d30 --- /dev/null +++ b/arch/nios2/soc/nios2-qemu/dts.fixup @@ -0,0 +1,7 @@ +#define _RAM_ADDR CONFIG_SRAM_BASE_ADDRESS + +#define _RAM_SIZE (CONFIG_SRAM_SIZE * 1024) + +#define _ROM_ADDR CONFIG_FLASH_BASE_ADDRESS + +#define _ROM_SIZE (CONFIG_FLASH_SIZE *1024) diff --git a/arch/nios2/soc/nios2-qemu/include/layout.h b/arch/nios2/soc/nios2-qemu/include/layout.h index e5ad723ae08..b92eeeb7e8a 100644 --- a/arch/nios2/soc/nios2-qemu/include/layout.h +++ b/arch/nios2/soc/nios2-qemu/include/layout.h @@ -10,13 +10,5 @@ * higher-addressed chunk considered "ROM" */ -#define HALF_RAM (ONCHIP_MEMORY2_0_SPAN / 2) - -#define _RESET_VECTOR (ONCHIP_MEMORY2_0_BASE + HALF_RAM) +#define _RESET_VECTOR _ROM_ADDR #define _EXC_VECTOR ALT_CPU_EXCEPTION_ADDR - -#define _ROM_ADDR (ONCHIP_MEMORY2_0_BASE + HALF_RAM) -#define _ROM_SIZE HALF_RAM - -#define _RAM_ADDR ONCHIP_MEMORY2_0_BASE -#define _RAM_SIZE HALF_RAM diff --git a/arch/nios2/soc/nios2-qemu/linker.ld b/arch/nios2/soc/nios2-qemu/linker.ld index 47da5767acc..31b9b0621a9 100644 --- a/arch/nios2/soc/nios2-qemu/linker.ld +++ b/arch/nios2/soc/nios2-qemu/linker.ld @@ -9,5 +9,5 @@ */ #include - +#include #include diff --git a/dts/bindings/serial/altera,jtag-uart.yaml b/dts/bindings/serial/altera,jtag-uart.yaml new file mode 100644 index 00000000000..3aefbe5ebd1 --- /dev/null +++ b/dts/bindings/serial/altera,jtag-uart.yaml @@ -0,0 +1,30 @@ +--- +title: Altera JTAG UART +id: altera,jtag-uart +version: 0.1 + +description: > + This binding gives a base representation of the Altera Jtag UART + +inherits: + !include uart.yaml + +properties: + compatible: + type: string + category: required + description: compatible strings + constraint: "altera,jtag-uart" + + reg: + type: array + description: mmio register space + generation: define + category: required + + interrupts: + type: array + category: required + description: required interrupts + generation: define +... diff --git a/dts/nios2/nios2-qemu.dtsi b/dts/nios2/nios2-qemu.dtsi new file mode 100644 index 00000000000..040f324cfdc --- /dev/null +++ b/dts/nios2/nios2-qemu.dtsi @@ -0,0 +1,43 @@ +#include "skeleton.dtsi" + +#define __SIZE_K(x) (x * 1024) + +/ { + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + device_type = "cpu"; + compatible = "qemu,nios2"; + reg = <0>; + }; + + }; + + flash0: flash@0 { + reg = <0x420000 0x20000>; + }; + + sram0: memory@400000 { + device_type = "memory"; + compatible = "mmio-sram"; + reg = <0x400000 0x20000>; + }; + + soc { + #address-cells = <1>; + #size-cells = <1>; + compatible = "simple-bus"; + ranges; + + uart0: uart@201000 { + compatible = "altera,jtag-uart"; + reg = <0x201000 0x400>; + label = "jtag_uart0"; + + status = "disabled"; + }; + + }; +};