linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: u.kleine-koenig@pengutronix.de (Uwe Kleine-König)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 1/1] ARM: imx: add gpu device
Date: Wed, 30 Mar 2011 09:16:58 +0200	[thread overview]
Message-ID: <20110330071658.GQ30938@pengutronix.de> (raw)
In-Reply-To: <1301465128-401-1-git-send-email-richard.zhao@freescale.com>

On Wed, Mar 30, 2011 at 02:05:28PM +0800, Richard Zhao wrote:
> From: Richard Zhao <richard.zhao@linaro.org>
> 
> Add mxc_gpu devices for imx35/50/51/53, so external gpu driver module built
> for the kernel can work.
> 
> Signed-off-by: Richard Zhao <richard.zhao@linaro.org>
> ---
A changed-since-v1 section would be nice here. I assume the only change
is that __initconst is skipped for the external declaration?
Does someone volunteer to remove these for the other declarations?

>  arch/arm/mach-mx3/Kconfig                       |    1 +
>  arch/arm/mach-mx3/devices-imx35.h               |    4 +
>  arch/arm/mach-mx3/mach-mx35_3ds.c               |    3 +
>  arch/arm/mach-mx5/Kconfig                       |    6 ++
>  arch/arm/mach-mx5/board-mx50_rdp.c              |    3 +
>  arch/arm/mach-mx5/board-mx51_3ds.c              |    3 +
>  arch/arm/mach-mx5/board-mx51_babbage.c          |    3 +
>  arch/arm/mach-mx5/board-mx53_loco.c             |    9 ++
>  arch/arm/mach-mx5/devices-imx50.h               |    4 +
>  arch/arm/mach-mx5/devices-imx51.h               |    4 +
>  arch/arm/mach-mx5/devices-imx53.h               |    4 +
>  arch/arm/plat-mxc/devices/Kconfig               |    3 +
>  arch/arm/plat-mxc/devices/Makefile              |    1 +
>  arch/arm/plat-mxc/devices/platform-mxc_gpu.c    |   94 +++++++++++++++++++++++
>  arch/arm/plat-mxc/include/mach/devices-common.h |   12 +++
>  arch/arm/plat-mxc/include/mach/mx35.h           |    4 +-
>  arch/arm/plat-mxc/include/mach/mx51.h           |    9 +-
>  arch/arm/plat-mxc/include/mach/mx53.h           |    1 +
>  18 files changed, 163 insertions(+), 5 deletions(-)
>  create mode 100644 arch/arm/plat-mxc/devices/platform-mxc_gpu.c
> 
> diff --git a/arch/arm/mach-mx3/Kconfig b/arch/arm/mach-mx3/Kconfig
> index 340809a..197ba67 100644
> --- a/arch/arm/mach-mx3/Kconfig
> +++ b/arch/arm/mach-mx3/Kconfig
> @@ -187,6 +187,7 @@ config MACH_MX35_3DS
>  	select IMX_HAVE_PLATFORM_IMX_I2C
>  	select IMX_HAVE_PLATFORM_IMX_UART
>  	select IMX_HAVE_PLATFORM_MXC_EHCI
> +	select IMX_HAVE_PLATFORM_MXC_GPU
>  	select IMX_HAVE_PLATFORM_MXC_NAND
>  	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
>  	help
> diff --git a/arch/arm/mach-mx3/devices-imx35.h b/arch/arm/mach-mx3/devices-imx35.h
> index d545d86..e6fb746 100644
> --- a/arch/arm/mach-mx3/devices-imx35.h
> +++ b/arch/arm/mach-mx3/devices-imx35.h
> @@ -74,3 +74,7 @@ extern const struct imx_spi_imx_data imx35_cspi_data[] __initconst;
>  	imx_add_spi_imx(&imx35_cspi_data[id], pdata)
>  #define imx35_add_spi_imx0(pdata)	imx35_add_cspi(0, pdata)
>  #define imx35_add_spi_imx1(pdata)	imx35_add_cspi(1, pdata)
> +
> +extern const struct imx_mxc_gpu_data imx35_gpu_data;
> +#define imx35_add_mxc_gpu(pdata) \
> +	imx_add_mxc_gpu(&imx35_gpu_data, pdata)
> diff --git a/arch/arm/mach-mx3/mach-mx35_3ds.c b/arch/arm/mach-mx3/mach-mx35_3ds.c
> index ff5fe23..1987311 100644
> --- a/arch/arm/mach-mx3/mach-mx35_3ds.c
> +++ b/arch/arm/mach-mx3/mach-mx35_3ds.c
> @@ -175,6 +175,8 @@ static const struct imxi2c_platform_data mx35_3ds_i2c0_data __initconst = {
>  	.bitrate = 100000,
>  };
>  
> +static int z160_revision __initdata;
Why is this named z160?

> +
>  /*
>   * Board specific initialization.
>   */
> @@ -203,6 +205,7 @@ static void __init mx35_3ds_init(void)
>  		pr_warn("Init of the debugboard failed, all "
>  				"devices on the debugboard are unusable.\n");
>  	imx35_add_imx_i2c0(&mx35_3ds_i2c0_data);
> +	imx35_add_mxc_gpu(&z160_revision);
Do you really need to pass this by pointer? Wouldn't
imx35_add_mxc_gpu(0) be good enough?

>  }
>  
>  static void __init mx35pdk_timer_init(void)
> diff --git a/arch/arm/mach-mx5/Kconfig b/arch/arm/mach-mx5/Kconfig
> index 159340d..a3873ac 100644
> --- a/arch/arm/mach-mx5/Kconfig
> +++ b/arch/arm/mach-mx5/Kconfig
> @@ -41,6 +41,7 @@ config MACH_MX51_BABBAGE
>  	select IMX_HAVE_PLATFORM_IMX2_WDT
>  	select IMX_HAVE_PLATFORM_IMX_I2C
>  	select IMX_HAVE_PLATFORM_IMX_UART
> +	select IMX_HAVE_PLATFORM_MXC_GPU
>  	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
>  	select IMX_HAVE_PLATFORM_SPI_IMX
>  	help
> @@ -54,6 +55,7 @@ config MACH_MX51_3DS
>  	select IMX_HAVE_PLATFORM_IMX2_WDT
>  	select IMX_HAVE_PLATFORM_IMX_KEYPAD
>  	select IMX_HAVE_PLATFORM_IMX_UART
> +	select IMX_HAVE_PLATFORM_MXC_GPU
>  	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
>  	select IMX_HAVE_PLATFORM_SPI_IMX
>  	select MXC_DEBUG_BOARD
> @@ -142,6 +144,7 @@ config MACH_MX53_EVK
>  	select IMX_HAVE_PLATFORM_IMX2_WDT
>  	select IMX_HAVE_PLATFORM_IMX_UART
>  	select IMX_HAVE_PLATFORM_IMX_I2C
> +	select IMX_HAVE_PLATFORM_MXC_GPU
>  	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
>  	select IMX_HAVE_PLATFORM_SPI_IMX
>  	help
> @@ -154,6 +157,7 @@ config MACH_MX53_SMD
>  	select IMX_HAVE_PLATFORM_IMX2_WDT
>  	select IMX_HAVE_PLATFORM_IMX_I2C
>  	select IMX_HAVE_PLATFORM_IMX_UART
> +	select IMX_HAVE_PLATFORM_MXC_GPU
>  	help
>  	  Include support for MX53 SMD platform. This includes specific
>  	  configurations for the board and its peripherals.
> @@ -164,6 +168,7 @@ config MACH_MX53_LOCO
>  	select IMX_HAVE_PLATFORM_IMX2_WDT
>  	select IMX_HAVE_PLATFORM_IMX_I2C
>  	select IMX_HAVE_PLATFORM_IMX_UART
> +	select IMX_HAVE_PLATFORM_MXC_GPU
>  	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
>  	select IMX_HAVE_PLATFORM_GPIO_KEYS
>  	help
> @@ -176,6 +181,7 @@ config MACH_MX50_RDP
>  	select SOC_IMX50
>  	select IMX_HAVE_PLATFORM_IMX_I2C
>  	select IMX_HAVE_PLATFORM_IMX_UART
> +	select IMX_HAVE_PLATFORM_MXC_GPU
>  	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
>  	select IMX_HAVE_PLATFORM_SPI_IMX
>  	select IMX_HAVE_PLATFORM_FEC
> diff --git a/arch/arm/mach-mx5/board-mx50_rdp.c b/arch/arm/mach-mx5/board-mx50_rdp.c
> index dedf7f2..90742ce 100644
> --- a/arch/arm/mach-mx5/board-mx50_rdp.c
> +++ b/arch/arm/mach-mx5/board-mx50_rdp.c
> @@ -188,6 +188,8 @@ static const struct imxi2c_platform_data i2c_data __initconst = {
>  	.bitrate = 100000,
>  };
>  
> +static int z160_revision __initdata = 1;
> +
>  /*
>   * Board specific initialization.
>   */
> @@ -203,6 +205,7 @@ static void __init mx50_rdp_board_init(void)
>  	imx50_add_imx_i2c(0, &i2c_data);
>  	imx50_add_imx_i2c(1, &i2c_data);
>  	imx50_add_imx_i2c(2, &i2c_data);
> +	imx50_add_mxc_gpu(&z160_revision);
>  }
>  
>  static void __init mx50_rdp_timer_init(void)
> diff --git a/arch/arm/mach-mx5/board-mx51_3ds.c b/arch/arm/mach-mx5/board-mx51_3ds.c
> index 63dfbea..19b91f8 100644
> --- a/arch/arm/mach-mx5/board-mx51_3ds.c
> +++ b/arch/arm/mach-mx5/board-mx51_3ds.c
> @@ -130,6 +130,8 @@ static struct spi_board_info mx51_3ds_spi_nor_device[] = {
>  	 .platform_data = NULL,},
>  };
>  
> +static int z160_revision __initdata;
> +
>  /*
>   * Board specific initialization.
>   */
> @@ -153,6 +155,7 @@ static void __init mx51_3ds_init(void)
>  	imx51_add_sdhci_esdhc_imx(0, NULL);
>  	imx51_add_imx_keypad(&mx51_3ds_map_data);
>  	imx51_add_imx2_wdt(0, NULL);
> +	imx51_add_mxc_gpu(&z160_revision);
>  }
>  
>  static void __init mx51_3ds_timer_init(void)
> diff --git a/arch/arm/mach-mx5/board-mx51_babbage.c b/arch/arm/mach-mx5/board-mx51_babbage.c
> index bea4e41..4d0c00d 100644
> --- a/arch/arm/mach-mx5/board-mx51_babbage.c
> +++ b/arch/arm/mach-mx5/board-mx51_babbage.c
> @@ -337,6 +337,8 @@ static const struct spi_imx_master mx51_babbage_spi_pdata __initconst = {
>  	.num_chipselect = ARRAY_SIZE(mx51_babbage_spi_cs),
>  };
>  
> +static int z160_revision __initdata;
> +
>  /*
>   * Board specific initialization.
>   */
> @@ -387,6 +389,7 @@ static void __init mx51_babbage_init(void)
>  		ARRAY_SIZE(mx51_babbage_spi_board_info));
>  	imx51_add_ecspi(0, &mx51_babbage_spi_pdata);
>  	imx51_add_imx2_wdt(0, NULL);
> +	imx51_add_mxc_gpu(&z160_revision);
>  }
>  
>  static void __init mx51_babbage_timer_init(void)
> diff --git a/arch/arm/mach-mx5/board-mx53_loco.c b/arch/arm/mach-mx5/board-mx53_loco.c
> index 10a1bea..e689643 100644
> --- a/arch/arm/mach-mx5/board-mx53_loco.c
> +++ b/arch/arm/mach-mx5/board-mx53_loco.c
> @@ -227,6 +227,8 @@ static const struct imxi2c_platform_data mx53_loco_i2c_data __initconst = {
>  	.bitrate = 100000,
>  };
>  
> +static int z160_revision __initdata;
> +
>  static void __init mx53_loco_board_init(void)
>  {
>  	mxc_iomux_v3_setup_multiple_pads(mx53_loco_pads,
> @@ -240,6 +242,13 @@ static void __init mx53_loco_board_init(void)
>  	imx53_add_sdhci_esdhc_imx(0, NULL);
>  	imx53_add_sdhci_esdhc_imx(2, NULL);
>  	imx_add_gpio_keys(&loco_button_data);
> +
> +	/*GPU*/
> +	if (mx53_revision() >= IMX_CHIP_REVISION_2_0)
> +		z160_revision = 1;
> +	else
> +		z160_revision = 0;
> +	imx53_add_mxc_gpu(&z160_revision);
>  }
>  
>  static void __init mx53_loco_timer_init(void)
> diff --git a/arch/arm/mach-mx5/devices-imx50.h b/arch/arm/mach-mx5/devices-imx50.h
> index c9e4282..6059b2c 100644
> --- a/arch/arm/mach-mx5/devices-imx50.h
> +++ b/arch/arm/mach-mx5/devices-imx50.h
> @@ -32,3 +32,7 @@ extern const struct imx_fec_data imx50_fec_data __initconst;
>  extern const struct imx_imx_i2c_data imx50_imx_i2c_data[] __initconst;
>  #define imx50_add_imx_i2c(id, pdata)	\
>  	imx_add_imx_i2c(&imx50_imx_i2c_data[id], pdata)
> +
> +extern const struct imx_mxc_gpu_data imx50_gpu_data;
> +#define imx50_add_mxc_gpu(pdata) \
> +	imx_add_mxc_gpu(&imx50_gpu_data, pdata)
> diff --git a/arch/arm/mach-mx5/devices-imx51.h b/arch/arm/mach-mx5/devices-imx51.h
> index 7fff485..c32adc2 100644
> --- a/arch/arm/mach-mx5/devices-imx51.h
> +++ b/arch/arm/mach-mx5/devices-imx51.h
> @@ -55,3 +55,7 @@ extern const struct imx_mxc_pwm_data imx51_mxc_pwm_data[] __initconst;
>  extern const struct imx_imx_keypad_data imx51_imx_keypad_data __initconst;
>  #define imx51_add_imx_keypad(pdata)	\
>  	imx_add_imx_keypad(&imx51_imx_keypad_data, pdata)
> +
> +extern const struct imx_mxc_gpu_data imx51_gpu_data;
> +#define imx51_add_mxc_gpu(pdata) \
> +	imx_add_mxc_gpu(&imx51_gpu_data, pdata)
> diff --git a/arch/arm/mach-mx5/devices-imx53.h b/arch/arm/mach-mx5/devices-imx53.h
> index 9251008..6472215 100644
> --- a/arch/arm/mach-mx5/devices-imx53.h
> +++ b/arch/arm/mach-mx5/devices-imx53.h
> @@ -33,3 +33,7 @@ extern const struct imx_spi_imx_data imx53_ecspi_data[] __initconst;
>  extern const struct imx_imx2_wdt_data imx53_imx2_wdt_data[] __initconst;
>  #define imx53_add_imx2_wdt(id, pdata)	\
>  	imx_add_imx2_wdt(&imx53_imx2_wdt_data[id])
> +
> +extern const struct imx_mxc_gpu_data imx53_gpu_data;
> +#define imx53_add_mxc_gpu(pdata) \
> +	imx_add_mxc_gpu(&imx53_gpu_data, pdata)
> diff --git a/arch/arm/plat-mxc/devices/Kconfig b/arch/arm/plat-mxc/devices/Kconfig
> index b9ab1d5..db1bfad 100644
> --- a/arch/arm/plat-mxc/devices/Kconfig
> +++ b/arch/arm/plat-mxc/devices/Kconfig
> @@ -50,6 +50,9 @@ config IMX_HAVE_PLATFORM_MX2_CAMERA
>  config IMX_HAVE_PLATFORM_MXC_EHCI
>  	bool
>  
> +config IMX_HAVE_PLATFORM_MXC_GPU
> +	bool
> +
>  config IMX_HAVE_PLATFORM_MXC_MMC
>  	bool
>  
> diff --git a/arch/arm/plat-mxc/devices/Makefile b/arch/arm/plat-mxc/devices/Makefile
> index 75cd2ec..c2ce086 100644
> --- a/arch/arm/plat-mxc/devices/Makefile
> +++ b/arch/arm/plat-mxc/devices/Makefile
> @@ -15,6 +15,7 @@ obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_UDC) += platform-imx_udc.o
>  obj-$(CONFIG_IMX_HAVE_PLATFORM_MX1_CAMERA) += platform-mx1-camera.o
>  obj-$(CONFIG_IMX_HAVE_PLATFORM_MX2_CAMERA) += platform-mx2-camera.o
>  obj-$(CONFIG_IMX_HAVE_PLATFORM_MXC_EHCI) += platform-mxc-ehci.o
> +obj-$(CONFIG_IMX_HAVE_PLATFORM_MXC_GPU) +=  platform-mxc_gpu.o
s/  / /

>  obj-$(CONFIG_IMX_HAVE_PLATFORM_MXC_MMC) += platform-mxc-mmc.o
>  obj-$(CONFIG_IMX_HAVE_PLATFORM_MXC_NAND) += platform-mxc_nand.o
>  obj-$(CONFIG_IMX_HAVE_PLATFORM_MXC_PWM) += platform-mxc_pwm.o
> diff --git a/arch/arm/plat-mxc/devices/platform-mxc_gpu.c b/arch/arm/plat-mxc/devices/platform-mxc_gpu.c
> new file mode 100644
> index 0000000..550d4c9
> --- /dev/null
> +++ b/arch/arm/plat-mxc/devices/platform-mxc_gpu.c
> @@ -0,0 +1,94 @@
> +/*
> + * Copyright (C) 2011 Freescale Semiconductor, Inc. All Rights Reserved.
> + *
> + * This program is free software; you can redistribute it and/or modify it under
> + * the terms of the GNU General Public License version 2 as published by the
> + * Free Software Foundation.
> + */
> +#include <asm/sizes.h>
> +#include <mach/hardware.h>
> +#include <mach/devices-common.h>
> +
> +#define imx_mxc_gpu_entry_3d_2d(soc)					\
> +	{								\
> +		.irq_3d = soc ## _INT_GPU,				\
> +		.irq_2d = soc ## _INT_GPU2_IRQ,				\
INT_GPU2_IRQ is duplicated. What is the name specified by the reference
manual? If this is the irq associated to GPU2D_BASE_ADDR I'd prefer
INT_GPU2D here.

> +		.iobase_3d = soc ## _GPU_BASE_ADDR,			\
> +		.iobase_2d = soc ## _GPU2D_BASE_ADDR,			\
> +		.gmem_base = soc ## _GPU_GMEM_BASE_ADDR,		\
> +		.gmem_size = soc ## _GPU_GMEM_SIZE,			\
> +	}
> +
> +#define imx_mxc_gpu_entry_2d(soc)					\
> +	{								\
> +		.irq_2d = soc ## _INT_GPU2_IRQ,				\
> +		.iobase_2d = soc ## _GPU2D_BASE_ADDR,			\
> +	}
> +
> +#ifdef CONFIG_SOC_IMX35
> +const struct imx_mxc_gpu_data imx35_gpu_data __initconst =
> +	imx_mxc_gpu_entry_2d(MX35);
> +#endif
> +
> +#ifdef CONFIG_SOC_IMX50
> +const struct imx_mxc_gpu_data imx50_gpu_data __initconst =
> +	imx_mxc_gpu_entry_2d(MX50);
> +#endif
> +
> +#ifdef CONFIG_SOC_IMX51
> +const struct imx_mxc_gpu_data imx51_gpu_data __initconst =
> +	imx_mxc_gpu_entry_3d_2d(MX51);
> +#endif
> +
> +#ifdef CONFIG_SOC_IMX53
> +const struct imx_mxc_gpu_data imx53_gpu_data __initconst =
> +	imx_mxc_gpu_entry_3d_2d(MX53);
> +#endif
> +
> +struct platform_device *__init imx_add_mxc_gpu(
> +		const struct imx_mxc_gpu_data *data,
> +		const int *pdata)
> +{
> +	struct resource res[] = {
> +		{
> +			.start = data->irq_2d,
> +			.end = data->irq_2d,
> +			.name = "gpu_2d_irq",
> +			.flags = IORESOURCE_IRQ,
> +		},
> +		{
> +			.start = data->irq_3d,
> +			.end = data->irq_3d,
> +			.name = "gpu_3d_irq",
> +			.flags = IORESOURCE_IRQ,
> +		},
> +		{
> +			.start = data->iobase_2d,
> +			.end = data->iobase_2d + SZ_4K - 1,
> +			.name = "gpu_2d_registers",
> +			.flags = IORESOURCE_MEM,
> +		},
> +		{
> +			.start = data->iobase_3d,
> +			.end = data->iobase_3d + SZ_128K - 1,
> +			.name = "gpu_3d_registers",
> +			.flags = IORESOURCE_MEM,
> +		},
> +		{
> +			.start = data->gmem_base,
> +			.end = data->gmem_base + data->gmem_size - 1,
> +			.name = "gpu_graphics_mem",
> +			.flags = IORESOURCE_MEM,
> +		},
> +		{
> +			.start = 0,
> +			.end = 0,
> +			.name = "gpu_reserved_mem",
> +			.flags = IORESOURCE_MEM,
> +		},
> +	};
> +
> +	return imx_add_platform_device_dmamask("mxc_gpu", 0,
> +			res, ARRAY_SIZE(res),
> +			pdata, sizeof(*pdata), DMA_BIT_MASK(32));
> +}
> diff --git a/arch/arm/plat-mxc/include/mach/devices-common.h b/arch/arm/plat-mxc/include/mach/devices-common.h
> index 8658c9c..1c8ed19 100644
> --- a/arch/arm/plat-mxc/include/mach/devices-common.h
> +++ b/arch/arm/plat-mxc/include/mach/devices-common.h
> @@ -264,3 +264,15 @@ struct imx_spi_imx_data {
>  struct platform_device *__init imx_add_spi_imx(
>  		const struct imx_spi_imx_data *data,
>  		const struct spi_imx_master *pdata);
> +
> +struct imx_mxc_gpu_data {
> +	resource_size_t irq_2d;
> +	resource_size_t irq_3d;
> +	resource_size_t iobase_2d;
> +	resource_size_t iobase_3d;
> +	resource_size_t gmem_base;
> +	resource_size_t gmem_size;
> +};
> +struct platform_device *__init imx_add_mxc_gpu(
> +		const struct imx_mxc_gpu_data *data,
> +		const int *pdata);
This is added out of order. This file should be in the same order as
arch/arm/plat-mxc/devices/Makefile.

> diff --git a/arch/arm/plat-mxc/include/mach/mx35.h b/arch/arm/plat-mxc/include/mach/mx35.h
> index d13dbfe..e2954ab 100644
> --- a/arch/arm/plat-mxc/include/mach/mx35.h
> +++ b/arch/arm/plat-mxc/include/mach/mx35.h
> @@ -7,6 +7,8 @@
>  #define MX35_IRAM_BASE_ADDR		0x10000000	/* internal ram */
>  #define MX35_IRAM_SIZE			SZ_128K
>  
> +#define MX35_GPU2D_BASE_ADDR		0x20000000
> +
>  #define MX35_L2CC_BASE_ADDR		0x30000000
>  #define MX35_L2CC_SIZE			SZ_1M
>  
> @@ -133,7 +135,7 @@
>  #define MX35_INT_CSPI2		13
>  #define MX35_INT_CSPI1		14
>  #define MX35_INT_ATA		15
> -#define MX35_INT_GPU2D		16
> +#define MX35_INT_GPU2_IRQ	16
>  #define MX35_INT_ASRC		17
>  #define MX35_INT_UART3		18
>  #define MX35_INT_IIM		19
> diff --git a/arch/arm/plat-mxc/include/mach/mx51.h b/arch/arm/plat-mxc/include/mach/mx51.h
> index dede19a..cab469a 100644
> --- a/arch/arm/plat-mxc/include/mach/mx51.h
> +++ b/arch/arm/plat-mxc/include/mach/mx51.h
> @@ -14,8 +14,9 @@
>  #define MX51_IRAM_PARTITIONS		16
>  #define MX51_IRAM_SIZE		(MX51_IRAM_PARTITIONS * SZ_8K)	/* 128KB */
>  
> -#define MX51_GPU_BASE_ADDR		0x20000000
> -#define MX51_GPU_CTRL_BASE_ADDR		0x30000000
> +#define MX51_GPU_GMEM_BASE_ADDR		0x20000000
> +#define MX51_GPU_GMEM_SIZE		SZ_128K
> +#define MX51_GPU_BASE_ADDR		0x30000000
>  #define MX51_IPU_CTRL_BASE_ADDR		0x40000000
>  
>  #define MX51_DEBUG_BASE_ADDR		0x60000000
> @@ -253,7 +254,7 @@
>  #define MX51_MXC_INT_VPU		9
>  #define MX51_INT_IPU_ERR		10
>  #define MX51_INT_IPU_SYN		11
> -#define MX51_MXC_INT_GPU		12
> +#define MX51_INT_GPU			12
>  #define MX51_MXC_INT_RESV13		13
>  #define MX51_MXC_INT_USB_H1		14
>  #define MX51_MXC_INT_EMI		15
> @@ -325,7 +326,7 @@
>  #define MX51_MXC_INT_MCG_ERR		81
>  #define MX51_MXC_INT_MCG_TMR		82
>  #define MX51_MXC_INT_MCG_FUNC		83
> -#define MX51_MXC_INT_GPU2_IRQ		84
> +#define MX51_INT_GPU2_IRQ		84
>  #define MX51_MXC_INT_GPU2_BUSY		85
>  #define MX51_MXC_INT_RESV86		86
>  #define MX51_INT_FEC			87
> diff --git a/arch/arm/plat-mxc/include/mach/mx53.h b/arch/arm/plat-mxc/include/mach/mx53.h
> index ace1786..01dd210 100644
> --- a/arch/arm/plat-mxc/include/mach/mx53.h
> +++ b/arch/arm/plat-mxc/include/mach/mx53.h
> @@ -35,6 +35,7 @@
>  #define MX53_GPU2D_BASE_ADDR		0x20000000
>  #define MX53_GPU_BASE_ADDR		0x30000000
>  #define MX53_GPU_GMEM_BASE_ADDR	0xF8020000
> +#define MX53_GPU_GMEM_SIZE	SZ_256K
>  
>  #define MX53_DEBUG_BASE_ADDR		0x40000000
>  #define MX53_DEBUG_SIZE		SZ_1M

Thanks
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-K?nig            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

  reply	other threads:[~2011-03-30  7:16 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-30  6:05 [PATCH v2 1/1] ARM: imx: add gpu device Richard Zhao
2011-03-30  7:16 ` Uwe Kleine-König [this message]
2011-03-30  8:16   ` Richard Zhao
2011-03-30  9:03     ` Eric Miao
2011-03-30  9:12       ` Uwe Kleine-König
2011-03-30  9:16         ` Wolfram Sang
2011-03-30  7:36 ` Sascha Hauer
2011-03-30  7:52   ` Arnaud Patard (Rtp)
2011-03-30  8:00     ` Richard Zhao
2011-03-30  8:05     ` Sascha Hauer
2011-03-30 22:23   ` Matt Sealey
2011-03-31  5:38     ` Richard Zhao
2011-04-01  0:29       ` Matt Sealey
2011-03-31  8:26     ` Sascha Hauer
2011-04-01  0:36       ` Matt Sealey
2011-04-01 13:30         ` Sascha Hauer
2011-03-31 10:00     ` Uwe Kleine-König

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110330071658.GQ30938@pengutronix.de \
    --to=u.kleine-koenig@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).