All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.