Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 37663860 authored by Manuel Lauss's avatar Manuel Lauss Committed by Ralf Baechle
Browse files

MIPS: Alchemy: remove all CONFIG_SOC_AU1??? defines



Now that no driver any longer depends on the CONFIG_SOC_AU1???  symbols,
it's time to get rid of them: Move some of the platform devices to the
boards which can use them, Rename a few (unused) constants in the header,
Replace them with MIPS_ALCHEMY in the various Kconfig files.  Finally
delete them altogether from the Alchemy Kconfig file.

Signed-off-by: default avatarManuel Lauss <manuel.lauss@googlemail.com>
To: Linux-MIPS <linux-mips@linux-mips.org>
Patchwork: https://patchwork.linux-mips.org/patch/2707/


Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 50d5676e
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -47,6 +47,8 @@ config MIPS_ALCHEMY
	select GENERIC_GPIO
	select ARCH_WANT_OPTIONAL_GPIOLIB
	select SYS_SUPPORTS_ZBOOT
	select USB_ARCH_HAS_OHCI
	select USB_ARCH_HAS_EHCI

config AR7
	bool "Texas Instruments AR7"
+15 −35
Original line number Diff line number Diff line
@@ -18,20 +18,20 @@ config MIPS_MTX1
	bool "4G Systems MTX-1 board"
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select SOC_AU1500
	select ALCHEMY_GPIOINT_AU1000
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_HAS_EARLY_PRINTK

config MIPS_BOSPORUS
	bool "Alchemy Bosporus board"
	select SOC_AU1500
	select ALCHEMY_GPIOINT_AU1000
	select DMA_NONCOHERENT
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_HAS_EARLY_PRINTK

config MIPS_DB1000
	bool "Alchemy DB1000 board"
	select SOC_AU1000
	select ALCHEMY_GPIOINT_AU1000
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select SYS_SUPPORTS_LITTLE_ENDIAN
@@ -39,14 +39,14 @@ config MIPS_DB1000

config MIPS_DB1100
	bool "Alchemy DB1100 board"
	select SOC_AU1100
	select ALCHEMY_GPIOINT_AU1000
	select DMA_NONCOHERENT
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_HAS_EARLY_PRINTK

config MIPS_DB1200
	bool "Alchemy DB1200 board"
	select SOC_AU1200
	select ALCHEMY_GPIOINT_AU1000
	select DMA_COHERENT
	select MIPS_DISABLE_OBSOLETE_IDE
	select SYS_SUPPORTS_LITTLE_ENDIAN
@@ -54,7 +54,7 @@ config MIPS_DB1200

config MIPS_DB1500
	bool "Alchemy DB1500 board"
	select SOC_AU1500
	select ALCHEMY_GPIOINT_AU1000
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select MIPS_DISABLE_OBSOLETE_IDE
@@ -64,7 +64,7 @@ config MIPS_DB1500

config MIPS_DB1550
	bool "Alchemy DB1550 board"
	select SOC_AU1550
	select ALCHEMY_GPIOINT_AU1000
	select HW_HAS_PCI
	select DMA_NONCOHERENT
	select MIPS_DISABLE_OBSOLETE_IDE
@@ -74,13 +74,13 @@ config MIPS_DB1550
config MIPS_MIRAGE
	bool "Alchemy Mirage board"
	select DMA_NONCOHERENT
	select SOC_AU1500
	select ALCHEMY_GPIOINT_AU1000
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_HAS_EARLY_PRINTK

config MIPS_PB1000
	bool "Alchemy PB1000 board"
	select SOC_AU1000
	select ALCHEMY_GPIOINT_AU1000
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select SWAP_IO_SPACE
@@ -89,7 +89,7 @@ config MIPS_PB1000

config MIPS_PB1100
	bool "Alchemy PB1100 board"
	select SOC_AU1100
	select ALCHEMY_GPIOINT_AU1000
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select SWAP_IO_SPACE
@@ -98,7 +98,7 @@ config MIPS_PB1100

config MIPS_PB1200
	bool "Alchemy PB1200 board"
	select SOC_AU1200
	select ALCHEMY_GPIOINT_AU1000
	select DMA_NONCOHERENT
	select MIPS_DISABLE_OBSOLETE_IDE
	select SYS_SUPPORTS_LITTLE_ENDIAN
@@ -106,7 +106,7 @@ config MIPS_PB1200

config MIPS_PB1500
	bool "Alchemy PB1500 board"
	select SOC_AU1500
	select ALCHEMY_GPIOINT_AU1000
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select SYS_SUPPORTS_LITTLE_ENDIAN
@@ -114,7 +114,7 @@ config MIPS_PB1500

config MIPS_PB1550
	bool "Alchemy PB1550 board"
	select SOC_AU1550
	select ALCHEMY_GPIOINT_AU1000
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select MIPS_DISABLE_OBSOLETE_IDE
@@ -124,13 +124,13 @@ config MIPS_PB1550
config MIPS_XXS1500
	bool "MyCable XXS1500 board"
	select DMA_NONCOHERENT
	select SOC_AU1500
	select ALCHEMY_GPIOINT_AU1000
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_HAS_EARLY_PRINTK

config MIPS_GPR
	bool "Trapeze ITS GPR board"
	select SOC_AU1550
	select ALCHEMY_GPIOINT_AU1000
	select HW_HAS_PCI
	select DMA_NONCOHERENT
	select MIPS_DISABLE_OBSOLETE_IDE
@@ -138,23 +138,3 @@ config MIPS_GPR
	select SYS_HAS_EARLY_PRINTK

endchoice

config SOC_AU1000
	bool
	select ALCHEMY_GPIOINT_AU1000

config SOC_AU1100
	bool
	select ALCHEMY_GPIOINT_AU1000

config SOC_AU1500
	bool
	select ALCHEMY_GPIOINT_AU1000

config SOC_AU1550
	bool
	select ALCHEMY_GPIOINT_AU1000

config SOC_AU1200
	bool
	select ALCHEMY_GPIOINT_AU1000
+2 −173
Original line number Diff line number Diff line
@@ -189,159 +189,6 @@ static void __init alchemy_setup_usb(int ctype)
	}
}

/*** AU1100 LCD controller ***/

#ifdef CONFIG_FB_AU1100
static struct resource au1100_lcd_resources[] = {
	[0] = {
		.start          = AU1100_LCD_PHYS_ADDR,
		.end            = AU1100_LCD_PHYS_ADDR + 0x800 - 1,
		.flags          = IORESOURCE_MEM,
	},
	[1] = {
		.start          = AU1100_LCD_INT,
		.end            = AU1100_LCD_INT,
		.flags          = IORESOURCE_IRQ,
	}
};

static u64 au1100_lcd_dmamask = DMA_BIT_MASK(32);

static struct platform_device au1100_lcd_device = {
	.name           = "au1100-lcd",
	.id             = 0,
	.dev = {
		.dma_mask               = &au1100_lcd_dmamask,
		.coherent_dma_mask      = DMA_BIT_MASK(32),
	},
	.num_resources  = ARRAY_SIZE(au1100_lcd_resources),
	.resource       = au1100_lcd_resources,
};
#endif

#ifdef CONFIG_SOC_AU1200

static struct resource au1200_lcd_resources[] = {
	[0] = {
		.start          = AU1200_LCD_PHYS_ADDR,
		.end            = AU1200_LCD_PHYS_ADDR + 0x800 - 1,
		.flags          = IORESOURCE_MEM,
	},
	[1] = {
		.start          = AU1200_LCD_INT,
		.end            = AU1200_LCD_INT,
		.flags          = IORESOURCE_IRQ,
	}
};

static u64 au1200_lcd_dmamask = DMA_BIT_MASK(32);

static struct platform_device au1200_lcd_device = {
	.name           = "au1200-lcd",
	.id             = 0,
	.dev = {
		.dma_mask               = &au1200_lcd_dmamask,
		.coherent_dma_mask      = DMA_BIT_MASK(32),
	},
	.num_resources  = ARRAY_SIZE(au1200_lcd_resources),
	.resource       = au1200_lcd_resources,
};

static u64 au1xxx_mmc_dmamask =  DMA_BIT_MASK(32);

extern struct au1xmmc_platform_data au1xmmc_platdata[2];

static struct resource au1200_mmc0_resources[] = {
	[0] = {
		.start          = AU1100_SD0_PHYS_ADDR,
		.end            = AU1100_SD0_PHYS_ADDR + 0xfff,
		.flags          = IORESOURCE_MEM,
	},
	[1] = {
		.start		= AU1200_SD_INT,
		.end		= AU1200_SD_INT,
		.flags		= IORESOURCE_IRQ,
	},
	[2] = {
		.start		= AU1200_DSCR_CMD0_SDMS_TX0,
		.end		= AU1200_DSCR_CMD0_SDMS_TX0,
		.flags		= IORESOURCE_DMA,
	},
	[3] = {
		.start          = AU1200_DSCR_CMD0_SDMS_RX0,
		.end		= AU1200_DSCR_CMD0_SDMS_RX0,
		.flags          = IORESOURCE_DMA,
	}
};

static struct platform_device au1200_mmc0_device = {
	.name = "au1xxx-mmc",
	.id = 0,
	.dev = {
		.dma_mask		= &au1xxx_mmc_dmamask,
		.coherent_dma_mask	= DMA_BIT_MASK(32),
		.platform_data		= &au1xmmc_platdata[0],
	},
	.num_resources	= ARRAY_SIZE(au1200_mmc0_resources),
	.resource	= au1200_mmc0_resources,
};

#ifndef CONFIG_MIPS_DB1200
static struct resource au1200_mmc1_resources[] = {
	[0] = {
		.start          = AU1100_SD1_PHYS_ADDR,
		.end            = AU1100_SD1_PHYS_ADDR + 0xfff,
		.flags          = IORESOURCE_MEM,
	},
	[1] = {
		.start		= AU1200_SD_INT,
		.end		= AU1200_SD_INT,
		.flags		= IORESOURCE_IRQ,
	},
	[2] = {
		.start		= AU1200_DSCR_CMD0_SDMS_TX1,
		.end		= AU1200_DSCR_CMD0_SDMS_TX1,
		.flags		= IORESOURCE_DMA,
	},
	[3] = {
		.start          = AU1200_DSCR_CMD0_SDMS_RX1,
		.end		= AU1200_DSCR_CMD0_SDMS_RX1,
		.flags          = IORESOURCE_DMA,
	}
};

static struct platform_device au1200_mmc1_device = {
	.name = "au1xxx-mmc",
	.id = 1,
	.dev = {
		.dma_mask		= &au1xxx_mmc_dmamask,
		.coherent_dma_mask	= DMA_BIT_MASK(32),
		.platform_data		= &au1xmmc_platdata[1],
	},
	.num_resources	= ARRAY_SIZE(au1200_mmc1_resources),
	.resource	= au1200_mmc1_resources,
};
#endif /* #ifndef CONFIG_MIPS_DB1200 */
#endif /* #ifdef CONFIG_SOC_AU1200 */

/* All Alchemy demoboards with I2C have this #define in their headers */
#ifdef SMBUS_PSC_BASE
static struct resource pbdb_smbus_resources[] = {
	{
		.start	= SMBUS_PSC_BASE,
		.end	= SMBUS_PSC_BASE + 0xfff,
		.flags	= IORESOURCE_MEM,
	},
};

static struct platform_device pbdb_smbus_device = {
	.name		= "au1xpsc_smbus",
	.id		= 0,	/* bus number */
	.num_resources	= ARRAY_SIZE(pbdb_smbus_resources),
	.resource	= pbdb_smbus_resources,
};
#endif

/* Macro to help defining the Ethernet MAC resources */
#define MAC_RES_COUNT	4	/* MAC regs, MAC en, MAC INT, MACDMA regs */
#define MAC_RES(_base, _enable, _irq, _macdma)		\
@@ -503,33 +350,15 @@ static void __init alchemy_setup_macs(int ctype)
	}
}

static struct platform_device *au1xxx_platform_devices[] __initdata = {
#ifdef CONFIG_FB_AU1100
	&au1100_lcd_device,
#endif
#ifdef CONFIG_SOC_AU1200
	&au1200_lcd_device,
	&au1200_mmc0_device,
#ifndef CONFIG_MIPS_DB1200
	&au1200_mmc1_device,
#endif
#endif
#ifdef SMBUS_PSC_BASE
	&pbdb_smbus_device,
#endif
};

static int __init au1xxx_platform_init(void)
{
	int err, ctype = alchemy_get_cputype();
	int ctype = alchemy_get_cputype();

	alchemy_setup_uarts(ctype);
	alchemy_setup_macs(ctype);
	alchemy_setup_usb(ctype);

	err = platform_add_devices(au1xxx_platform_devices,
				   ARRAY_SIZE(au1xxx_platform_devices));
	return err;
	return 0;
}

arch_initcall(au1xxx_platform_init);
+71 −7
Original line number Diff line number Diff line
@@ -333,15 +333,77 @@ static struct led_classdev db1200_mmc_led = {
	.brightness_set	= db1200_mmcled_set,
};

/* needed by arch/mips/alchemy/common/platform.c */
struct au1xmmc_platform_data au1xmmc_platdata[] = {
	[0] = {
static struct au1xmmc_platform_data db1200mmc_platdata = {
	.cd_setup	= db1200_mmc_cd_setup,
	.set_power	= db1200_mmc_set_power,
	.card_inserted	= db1200_mmc_card_inserted,
	.card_readonly	= db1200_mmc_card_readonly,
	.led		= &db1200_mmc_led,
};

static struct resource au1200_mmc0_resources[] = {
	[0] = {
		.start	= AU1100_SD0_PHYS_ADDR,
		.end	= AU1100_SD0_PHYS_ADDR + 0xfff,
		.flags	= IORESOURCE_MEM,
	},
	[1] = {
		.start	= AU1200_SD_INT,
		.end	= AU1200_SD_INT,
		.flags	= IORESOURCE_IRQ,
	},
	[2] = {
		.start	= AU1200_DSCR_CMD0_SDMS_TX0,
		.end	= AU1200_DSCR_CMD0_SDMS_TX0,
		.flags	= IORESOURCE_DMA,
	},
	[3] = {
		.start	= AU1200_DSCR_CMD0_SDMS_RX0,
		.end	= AU1200_DSCR_CMD0_SDMS_RX0,
		.flags	= IORESOURCE_DMA,
	}
};

static u64 au1xxx_mmc_dmamask =  DMA_BIT_MASK(32);

static struct platform_device db1200_mmc0_dev = {
	.name		= "au1xxx-mmc",
	.id		= 0,
	.dev = {
		.dma_mask		= &au1xxx_mmc_dmamask,
		.coherent_dma_mask	= DMA_BIT_MASK(32),
		.platform_data		= &db1200mmc_platdata,
	},
	.num_resources	= ARRAY_SIZE(au1200_mmc0_resources),
	.resource	= au1200_mmc0_resources,
};

/**********************************************************************/

static struct resource au1200_lcd_res[] = {
	[0] = {
		.start	= AU1200_LCD_PHYS_ADDR,
		.end	= AU1200_LCD_PHYS_ADDR + 0x800 - 1,
		.flags	= IORESOURCE_MEM,
	},
	[1] = {
		.start	= AU1200_LCD_INT,
		.end	= AU1200_LCD_INT,
		.flags	= IORESOURCE_IRQ,
	}
};

static u64 au1200_lcd_dmamask = DMA_BIT_MASK(32);

static struct platform_device au1200_lcd_dev = {
	.name		= "au1200-lcd",
	.id		= 0,
	.dev = {
		.dma_mask		= &au1200_lcd_dmamask,
		.coherent_dma_mask	= DMA_BIT_MASK(32),
	},
	.num_resources	= ARRAY_SIZE(au1200_lcd_res),
	.resource	= au1200_lcd_res,
};

/**********************************************************************/
@@ -442,6 +504,8 @@ static struct platform_device db1200_stac_dev = {
static struct platform_device *db1200_devs[] __initdata = {
	NULL,		/* PSC0, selected by S6.8 */
	&db1200_ide_dev,
	&db1200_mmc0_dev,
	&au1200_lcd_dev,
	&db1200_eth_dev,
	&db1200_rtc_dev,
	&db1200_nand_dev,
+1 −3
Original line number Diff line number Diff line
@@ -134,9 +134,7 @@ void __init board_setup(void)
	/* initialize board register space */
	bcsr_init(bcsr1, bcsr2);

	/* Not valid for Au1550 */
#if defined(CONFIG_IRDA) && \
   (defined(CONFIG_SOC_AU1000) || defined(CONFIG_SOC_AU1100))
#if defined(CONFIG_IRDA) && defined(CONFIG_AU1000_FIR)
	{
		u32 pin_func;

Loading