diff mbox series

[3/3] arm: exynos4: Add dma support for smdkc210

Message ID 20181029232100.8454-4-philmd@redhat.com
State New
Headers show
Series hw/arm/exynos4: Add DMA support for SMDKC210 board | expand

Commit Message

Philippe Mathieu-Daudé Oct. 29, 2018, 11:21 p.m. UTC
From: Guenter Roeck <linux@roeck-us.net>

QEMU already supports pl330. Instantiate it for smdkc210.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
[PMD: Use pl330_init from "hw/dma/pl330.h"]
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 hw/arm/exynos4_boards.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

Comments

Alistair Francis Oct. 29, 2018, 11:47 p.m. UTC | #1
On Mon, Oct 29, 2018 at 4:21 PM Philippe Mathieu-Daudé
<philmd@redhat.com> wrote:
>
> From: Guenter Roeck <linux@roeck-us.net>
>
> QEMU already supports pl330. Instantiate it for smdkc210.
>
> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> [PMD: Use pl330_init from "hw/dma/pl330.h"]
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>

Alistair

> ---
>  hw/arm/exynos4_boards.c | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
>
> diff --git a/hw/arm/exynos4_boards.c b/hw/arm/exynos4_boards.c
> index 750162cc95..b36f407a52 100644
> --- a/hw/arm/exynos4_boards.c
> +++ b/hw/arm/exynos4_boards.c
> @@ -32,6 +32,7 @@
>  #include "hw/arm/arm.h"
>  #include "exec/address-spaces.h"
>  #include "hw/arm/exynos4210.h"
> +#include "hw/dma/pl330.h"
>  #include "hw/boards.h"
>
>  #undef DEBUG
> @@ -49,6 +50,9 @@
>  #endif
>
>  #define SMDK_LAN9118_BASE_ADDR      0x05000000
> +#define SMDK_PL330_BASE0_ADDR       0x12680000
> +#define SMDK_PL330_BASE1_ADDR       0x12690000
> +#define SMDK_PL330_BASE2_ADDR       0x12850000
>
>  typedef enum Exynos4BoardType {
>      EXYNOS4_BOARD_NURI,
> @@ -171,6 +175,14 @@ static void smdkc210_init(MachineState *machine)
>
>      lan9215_init(SMDK_LAN9118_BASE_ADDR,
>              qemu_irq_invert(s->soc->irq_table[exynos4210_get_irq(37, 1)]));
> +
> +    pl330_init(SMDK_PL330_BASE0_ADDR,
> +            qemu_irq_invert(s->soc->irq_table[exynos4210_get_irq(35, 1)]), 32);
> +    pl330_init(SMDK_PL330_BASE1_ADDR,
> +            qemu_irq_invert(s->soc->irq_table[exynos4210_get_irq(36, 1)]), 32);
> +    pl330_init(SMDK_PL330_BASE2_ADDR,
> +            qemu_irq_invert(s->soc->irq_table[exynos4210_get_irq(34, 1)]), 1);
> +
>      arm_load_kernel(ARM_CPU(first_cpu), &exynos4_board_binfo);
>  }
>
> --
> 2.17.2
>
>
diff mbox series

Patch

diff --git a/hw/arm/exynos4_boards.c b/hw/arm/exynos4_boards.c
index 750162cc95..b36f407a52 100644
--- a/hw/arm/exynos4_boards.c
+++ b/hw/arm/exynos4_boards.c
@@ -32,6 +32,7 @@ 
 #include "hw/arm/arm.h"
 #include "exec/address-spaces.h"
 #include "hw/arm/exynos4210.h"
+#include "hw/dma/pl330.h"
 #include "hw/boards.h"
 
 #undef DEBUG
@@ -49,6 +50,9 @@ 
 #endif
 
 #define SMDK_LAN9118_BASE_ADDR      0x05000000
+#define SMDK_PL330_BASE0_ADDR       0x12680000
+#define SMDK_PL330_BASE1_ADDR       0x12690000
+#define SMDK_PL330_BASE2_ADDR       0x12850000
 
 typedef enum Exynos4BoardType {
     EXYNOS4_BOARD_NURI,
@@ -171,6 +175,14 @@  static void smdkc210_init(MachineState *machine)
 
     lan9215_init(SMDK_LAN9118_BASE_ADDR,
             qemu_irq_invert(s->soc->irq_table[exynos4210_get_irq(37, 1)]));
+
+    pl330_init(SMDK_PL330_BASE0_ADDR,
+            qemu_irq_invert(s->soc->irq_table[exynos4210_get_irq(35, 1)]), 32);
+    pl330_init(SMDK_PL330_BASE1_ADDR,
+            qemu_irq_invert(s->soc->irq_table[exynos4210_get_irq(36, 1)]), 32);
+    pl330_init(SMDK_PL330_BASE2_ADDR,
+            qemu_irq_invert(s->soc->irq_table[exynos4210_get_irq(34, 1)]), 1);
+
     arm_load_kernel(ARM_CPU(first_cpu), &exynos4_board_binfo);
 }