Sergei Shtylyov <[email protected]> writes:
> Currently each DaVinci board file #define's its own version of the EMIFA base
> addresses (all named DAVINCI_ASYNC_EMIF_*_BASE), which leads to duplication.
> Move these #define's to the SoC specific headers, changing their prefixes from
> 'DAVINCI' to the 'DM355', 'DM644X', and 'DM646X' since all these base
> addresses
> are SoC specific...
>
> And while at it, rename DM646X_ASYNC_EMIF_DATA_CE0_BASE to
> DM646X_ASYNC_EMIF_CS2_SPACE_BASE in order to match the DM646x datasheet.
>
> Signed-off-by: Sergei Shtylyov <[email protected]>
Nice, applying this series of 2, and queuing for 2.6.35 in davinci-next.
Kevin
> ---
> The patch is against the recent DaVinci tree.
>
> Changes since the previous version:
> - included changes to board-dm365-evm.c and <mach/dm365.h>;
> - renamed DM646X_ASYNC_EMIF_DATA_CE0_BASE to DM646X_ASYNC_EMIF_CS2_SPACE_BASE;
> - re-sorted the patch.
>
> arch/arm/mach-davinci/board-dm355-evm.c | 11 ++++-------
> arch/arm/mach-davinci/board-dm355-leopard.c | 11 ++++-------
> arch/arm/mach-davinci/board-dm365-evm.c | 5 -----
> arch/arm/mach-davinci/board-dm644x-evm.c | 18 ++++++------------
> arch/arm/mach-davinci/board-dm646x-evm.c | 11 ++++-------
> arch/arm/mach-davinci/board-neuros-osd2.c | 11 ++++-------
> arch/arm/mach-davinci/board-sffsdr.c | 11 ++++-------
> arch/arm/mach-davinci/include/mach/dm355.h | 3 +++
> arch/arm/mach-davinci/include/mach/dm365.h | 4 ++++
> arch/arm/mach-davinci/include/mach/dm644x.h | 6 ++++++
> arch/arm/mach-davinci/include/mach/dm646x.h | 3 +++
> 11 files changed, 42 insertions(+), 52 deletions(-)
>
> Index: linux-davinci/arch/arm/mach-davinci/board-dm355-evm.c
> ===================================================================
> --- linux-davinci.orig/arch/arm/mach-davinci/board-dm355-evm.c
> +++ linux-davinci/arch/arm/mach-davinci/board-dm355-evm.c
> @@ -33,9 +33,6 @@
> #include <mach/mmc.h>
> #include <mach/usb.h>
>
> -#define DAVINCI_ASYNC_EMIF_CONTROL_BASE 0x01e10000
> -#define DAVINCI_ASYNC_EMIF_DATA_CE0_BASE 0x02000000
> -
> /* NOTE: this is geared for the standard config, with a socketed
> * 2 GByte Micron NAND (MT29F16G08FAA) using 128KB sectors. If you
> * swap chips, maybe with a different block size, partitioning may
> @@ -86,12 +83,12 @@ static struct davinci_nand_pdata davinci
>
> static struct resource davinci_nand_resources[] = {
> {
> - .start = DAVINCI_ASYNC_EMIF_DATA_CE0_BASE,
> - .end = DAVINCI_ASYNC_EMIF_DATA_CE0_BASE + SZ_32M - 1,
> + .start = DM355_ASYNC_EMIF_DATA_CE0_BASE,
> + .end = DM355_ASYNC_EMIF_DATA_CE0_BASE + SZ_32M - 1,
> .flags = IORESOURCE_MEM,
> }, {
> - .start = DAVINCI_ASYNC_EMIF_CONTROL_BASE,
> - .end = DAVINCI_ASYNC_EMIF_CONTROL_BASE + SZ_4K - 1,
> + .start = DM355_ASYNC_EMIF_CONTROL_BASE,
> + .end = DM355_ASYNC_EMIF_CONTROL_BASE + SZ_4K - 1,
> .flags = IORESOURCE_MEM,
> },
> };
> Index: linux-davinci/arch/arm/mach-davinci/board-dm355-leopard.c
> ===================================================================
> --- linux-davinci.orig/arch/arm/mach-davinci/board-dm355-leopard.c
> +++ linux-davinci/arch/arm/mach-davinci/board-dm355-leopard.c
> @@ -30,9 +30,6 @@
> #include <mach/mmc.h>
> #include <mach/usb.h>
>
> -#define DAVINCI_ASYNC_EMIF_CONTROL_BASE 0x01e10000
> -#define DAVINCI_ASYNC_EMIF_DATA_CE0_BASE 0x02000000
> -
> /* NOTE: this is geared for the standard config, with a socketed
> * 2 GByte Micron NAND (MT29F16G08FAA) using 128KB sectors. If you
> * swap chips, maybe with a different block size, partitioning may
> @@ -82,12 +79,12 @@ static struct davinci_nand_pdata davinci
>
> static struct resource davinci_nand_resources[] = {
> {
> - .start = DAVINCI_ASYNC_EMIF_DATA_CE0_BASE,
> - .end = DAVINCI_ASYNC_EMIF_DATA_CE0_BASE + SZ_32M - 1,
> + .start = DM355_ASYNC_EMIF_DATA_CE0_BASE,
> + .end = DM355_ASYNC_EMIF_DATA_CE0_BASE + SZ_32M - 1,
> .flags = IORESOURCE_MEM,
> }, {
> - .start = DAVINCI_ASYNC_EMIF_CONTROL_BASE,
> - .end = DAVINCI_ASYNC_EMIF_CONTROL_BASE + SZ_4K - 1,
> + .start = DM355_ASYNC_EMIF_CONTROL_BASE,
> + .end = DM355_ASYNC_EMIF_CONTROL_BASE + SZ_4K - 1,
> .flags = IORESOURCE_MEM,
> },
> };
> Index: linux-davinci/arch/arm/mach-davinci/board-dm365-evm.c
> ===================================================================
> --- linux-davinci.orig/arch/arm/mach-davinci/board-dm365-evm.c
> +++ linux-davinci/arch/arm/mach-davinci/board-dm365-evm.c
> @@ -53,11 +53,6 @@ static inline int have_tvp7002(void)
> return 0;
> }
>
> -
> -#define DM365_ASYNC_EMIF_CONTROL_BASE 0x01d10000
> -#define DM365_ASYNC_EMIF_DATA_CE0_BASE 0x02000000
> -#define DM365_ASYNC_EMIF_DATA_CE1_BASE 0x04000000
> -
> #define DM365_EVM_PHY_MASK (0x2)
> #define DM365_EVM_MDIO_FREQUENCY (2200000) /* PHY bus frequency */
>
> Index: linux-davinci/arch/arm/mach-davinci/board-dm644x-evm.c
> ===================================================================
> --- linux-davinci.orig/arch/arm/mach-davinci/board-dm644x-evm.c
> +++ linux-davinci/arch/arm/mach-davinci/board-dm644x-evm.c
> @@ -43,12 +43,6 @@
>
> #define DAVINCI_CFC_ATA_BASE 0x01C66000
>
> -#define DAVINCI_ASYNC_EMIF_CONTROL_BASE 0x01e00000
> -#define DAVINCI_ASYNC_EMIF_DATA_CE0_BASE 0x02000000
> -#define DAVINCI_ASYNC_EMIF_DATA_CE1_BASE 0x04000000
> -#define DAVINCI_ASYNC_EMIF_DATA_CE2_BASE 0x06000000
> -#define DAVINCI_ASYNC_EMIF_DATA_CE3_BASE 0x08000000
> -
> #define LXT971_PHY_ID (0x001378e2)
> #define LXT971_PHY_MASK (0xfffffff0)
>
> @@ -92,8 +86,8 @@ static struct physmap_flash_data davinci
> /* NOTE: CFI probe will correctly detect flash part as 32M, but EMIF
> * limits addresses to 16M, so using addresses past 16M will wrap */
> static struct resource davinci_evm_norflash_resource = {
> - .start = DAVINCI_ASYNC_EMIF_DATA_CE0_BASE,
> - .end = DAVINCI_ASYNC_EMIF_DATA_CE0_BASE + SZ_16M - 1,
> + .start = DM644X_ASYNC_EMIF_DATA_CE0_BASE,
> + .end = DM644X_ASYNC_EMIF_DATA_CE0_BASE + SZ_16M - 1,
> .flags = IORESOURCE_MEM,
> };
>
> @@ -154,12 +148,12 @@ static struct davinci_nand_pdata davinci
>
> static struct resource davinci_evm_nandflash_resource[] = {
> {
> - .start = DAVINCI_ASYNC_EMIF_DATA_CE0_BASE,
> - .end = DAVINCI_ASYNC_EMIF_DATA_CE0_BASE + SZ_16M - 1,
> + .start = DM644X_ASYNC_EMIF_DATA_CE0_BASE,
> + .end = DM644X_ASYNC_EMIF_DATA_CE0_BASE + SZ_16M - 1,
> .flags = IORESOURCE_MEM,
> }, {
> - .start = DAVINCI_ASYNC_EMIF_CONTROL_BASE,
> - .end = DAVINCI_ASYNC_EMIF_CONTROL_BASE + SZ_4K - 1,
> + .start = DM644X_ASYNC_EMIF_CONTROL_BASE,
> + .end = DM644X_ASYNC_EMIF_CONTROL_BASE + SZ_4K - 1,
> .flags = IORESOURCE_MEM,
> },
> };
> Index: linux-davinci/arch/arm/mach-davinci/board-dm646x-evm.c
> ===================================================================
> --- linux-davinci.orig/arch/arm/mach-davinci/board-dm646x-evm.c
> +++ linux-davinci/arch/arm/mach-davinci/board-dm646x-evm.c
> @@ -80,17 +80,14 @@ static struct davinci_nand_pdata davinci
> .options = 0,
> };
>
> -#define DAVINCI_ASYNC_EMIF_CONTROL_BASE 0x20008000
> -#define DAVINCI_ASYNC_EMIF_DATA_CE0_BASE 0x42000000
> -
> static struct resource davinci_nand_resources[] = {
> {
> - .start = DAVINCI_ASYNC_EMIF_DATA_CE0_BASE,
> - .end = DAVINCI_ASYNC_EMIF_DATA_CE0_BASE + SZ_32M - 1,
> + .start = DM646X_ASYNC_EMIF_CS2_SPACE_BASE,
> + .end = DM646X_ASYNC_EMIF_CS2_SPACE_BASE + SZ_32M - 1,
> .flags = IORESOURCE_MEM,
> }, {
> - .start = DAVINCI_ASYNC_EMIF_CONTROL_BASE,
> - .end = DAVINCI_ASYNC_EMIF_CONTROL_BASE + SZ_4K - 1,
> + .start = DM646X_ASYNC_EMIF_CONTROL_BASE,
> + .end = DM646X_ASYNC_EMIF_CONTROL_BASE + SZ_4K - 1,
> .flags = IORESOURCE_MEM,
> },
> };
> Index: linux-davinci/arch/arm/mach-davinci/board-neuros-osd2.c
> ===================================================================
> --- linux-davinci.orig/arch/arm/mach-davinci/board-neuros-osd2.c
> +++ linux-davinci/arch/arm/mach-davinci/board-neuros-osd2.c
> @@ -43,9 +43,6 @@
>
> #define DAVINCI_CFC_ATA_BASE 0x01C66000
>
> -#define DAVINCI_ASYNC_EMIF_CONTROL_BASE 0x01e00000
> -#define DAVINCI_ASYNC_EMIF_DATA_CE0_BASE 0x02000000
> -
> #define LXT971_PHY_ID 0x001378e2
> #define LXT971_PHY_MASK 0xfffffff0
>
> @@ -98,12 +95,12 @@ static struct davinci_nand_pdata davinci
>
> static struct resource davinci_ntosd2_nandflash_resource[] = {
> {
> - .start = DAVINCI_ASYNC_EMIF_DATA_CE0_BASE,
> - .end = DAVINCI_ASYNC_EMIF_DATA_CE0_BASE + SZ_16M - 1,
> + .start = DM644X_ASYNC_EMIF_DATA_CE0_BASE,
> + .end = DM644X_ASYNC_EMIF_DATA_CE0_BASE + SZ_16M - 1,
> .flags = IORESOURCE_MEM,
> }, {
> - .start = DAVINCI_ASYNC_EMIF_CONTROL_BASE,
> - .end = DAVINCI_ASYNC_EMIF_CONTROL_BASE + SZ_4K - 1,
> + .start = DM644X_ASYNC_EMIF_CONTROL_BASE,
> + .end = DM644X_ASYNC_EMIF_CONTROL_BASE + SZ_4K - 1,
> .flags = IORESOURCE_MEM,
> },
> };
> Index: linux-davinci/arch/arm/mach-davinci/board-sffsdr.c
> ===================================================================
> --- linux-davinci.orig/arch/arm/mach-davinci/board-sffsdr.c
> +++ linux-davinci/arch/arm/mach-davinci/board-sffsdr.c
> @@ -45,9 +45,6 @@
> #define SFFSDR_PHY_MASK (0x2)
> #define SFFSDR_MDIO_FREQUENCY (2200000) /* PHY bus frequency */
>
> -#define DAVINCI_ASYNC_EMIF_CONTROL_BASE 0x01e00000
> -#define DAVINCI_ASYNC_EMIF_DATA_CE0_BASE 0x02000000
> -
> static struct mtd_partition davinci_sffsdr_nandflash_partition[] = {
> /* U-Boot Environment: Block 0
> * UBL: Block 1
> @@ -76,12 +73,12 @@ static struct flash_platform_data davinc
>
> static struct resource davinci_sffsdr_nandflash_resource[] = {
> {
> - .start = DAVINCI_ASYNC_EMIF_DATA_CE0_BASE,
> - .end = DAVINCI_ASYNC_EMIF_DATA_CE0_BASE + SZ_16M - 1,
> + .start = DM644X_ASYNC_EMIF_DATA_CE0_BASE,
> + .end = DM644X_ASYNC_EMIF_DATA_CE0_BASE + SZ_16M - 1,
> .flags = IORESOURCE_MEM,
> }, {
> - .start = DAVINCI_ASYNC_EMIF_CONTROL_BASE,
> - .end = DAVINCI_ASYNC_EMIF_CONTROL_BASE + SZ_4K - 1,
> + .start = DM644X_ASYNC_EMIF_CONTROL_BASE,
> + .end = DM644X_ASYNC_EMIF_CONTROL_BASE + SZ_4K - 1,
> .flags = IORESOURCE_MEM,
> },
> };
> Index: linux-davinci/arch/arm/mach-davinci/include/mach/dm355.h
> ===================================================================
> --- linux-davinci.orig/arch/arm/mach-davinci/include/mach/dm355.h
> +++ linux-davinci/arch/arm/mach-davinci/include/mach/dm355.h
> @@ -15,6 +15,9 @@
> #include <mach/asp.h>
> #include <media/davinci/vpfe_capture.h>
>
> +#define DM355_ASYNC_EMIF_CONTROL_BASE 0x01E10000
> +#define DM355_ASYNC_EMIF_DATA_CE0_BASE 0x02000000
> +
> #define ASP1_TX_EVT_EN 1
> #define ASP1_RX_EVT_EN 2
>
> Index: linux-davinci/arch/arm/mach-davinci/include/mach/dm365.h
> ===================================================================
> --- linux-davinci.orig/arch/arm/mach-davinci/include/mach/dm365.h
> +++ linux-davinci/arch/arm/mach-davinci/include/mach/dm365.h
> @@ -36,6 +36,10 @@
> #define DAVINCI_DMA_VC_TX 2
> #define DAVINCI_DMA_VC_RX 3
>
> +#define DM365_ASYNC_EMIF_CONTROL_BASE 0x01D10000
> +#define DM365_ASYNC_EMIF_DATA_CE0_BASE 0x02000000
> +#define DM365_ASYNC_EMIF_DATA_CE1_BASE 0x04000000
> +
> void __init dm365_init(void);
> void __init dm365_init_asp(struct snd_platform_data *pdata);
> void __init dm365_init_vc(struct snd_platform_data *pdata);
> Index: linux-davinci/arch/arm/mach-davinci/include/mach/dm644x.h
> ===================================================================
> --- linux-davinci.orig/arch/arm/mach-davinci/include/mach/dm644x.h
> +++ linux-davinci/arch/arm/mach-davinci/include/mach/dm644x.h
> @@ -34,6 +34,12 @@
> #define DM644X_EMAC_MDIO_OFFSET (0x4000)
> #define DM644X_EMAC_CNTRL_RAM_SIZE (0x2000)
>
> +#define DM644X_ASYNC_EMIF_CONTROL_BASE 0x01E00000
> +#define DM644X_ASYNC_EMIF_DATA_CE0_BASE 0x02000000
> +#define DM644X_ASYNC_EMIF_DATA_CE1_BASE 0x04000000
> +#define DM644X_ASYNC_EMIF_DATA_CE2_BASE 0x06000000
> +#define DM644X_ASYNC_EMIF_DATA_CE3_BASE 0x08000000
> +
> void __init dm644x_init(void);
> void __init dm644x_init_asp(struct snd_platform_data *pdata);
> void dm644x_set_vpfe_config(struct vpfe_config *cfg);
> Index: linux-davinci/arch/arm/mach-davinci/include/mach/dm646x.h
> ===================================================================
> --- linux-davinci.orig/arch/arm/mach-davinci/include/mach/dm646x.h
> +++ linux-davinci/arch/arm/mach-davinci/include/mach/dm646x.h
> @@ -27,6 +27,9 @@
>
> #define DM646X_ATA_REG_BASE (0x01C66000)
>
> +#define DM646X_ASYNC_EMIF_CONTROL_BASE 0x20008000
> +#define DM646X_ASYNC_EMIF_CS2_SPACE_BASE 0x42000000
> +
> void __init dm646x_init(void);
> void __init dm646x_init_ide(void);
> void __init dm646x_init_mcasp0(struct snd_platform_data *pdata);
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source