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

Commit 16bc90af authored by Saeed Bishara's avatar Saeed Bishara Committed by Nicolas Pitre
Browse files

[ARM] Dove: platform device registration for the sdio interfaces

parent ffd58bd2
Loading
Loading
Loading
Loading
+61 −0
Original line number Original line Diff line number Diff line
@@ -752,6 +752,67 @@ void __init dove_xor1_init(void)
	platform_device_register(&dove_xor11_channel);
	platform_device_register(&dove_xor11_channel);
}
}


/*****************************************************************************
 * SDIO
 ****************************************************************************/
static u64 sdio_dmamask = DMA_BIT_MASK(32);

static struct resource dove_sdio0_resources[] = {
	{
		.start	= DOVE_SDIO0_PHYS_BASE,
		.end	= DOVE_SDIO0_PHYS_BASE + 0xff,
		.flags	= IORESOURCE_MEM,
	}, {
		.start	= IRQ_DOVE_SDIO0,
		.end	= IRQ_DOVE_SDIO0,
		.flags	= IORESOURCE_IRQ,
	},
};

static struct platform_device dove_sdio0 = {
	.name		= "sdhci-mv",
	.id		= 0,
	.dev		= {
		.dma_mask		= &sdio_dmamask,
		.coherent_dma_mask	= DMA_BIT_MASK(32),
	},
	.resource	= dove_sdio0_resources,
	.num_resources	= ARRAY_SIZE(dove_sdio0_resources),
};

void __init dove_sdio0_init(void)
{
	platform_device_register(&dove_sdio0);
}

static struct resource dove_sdio1_resources[] = {
	{
		.start	= DOVE_SDIO1_PHYS_BASE,
		.end	= DOVE_SDIO1_PHYS_BASE + 0xff,
		.flags	= IORESOURCE_MEM,
	}, {
		.start	= IRQ_DOVE_SDIO1,
		.end	= IRQ_DOVE_SDIO1,
		.flags	= IORESOURCE_IRQ,
	},
};

static struct platform_device dove_sdio1 = {
	.name		= "sdhci-mv",
	.id		= 1,
	.dev		= {
		.dma_mask		= &sdio_dmamask,
		.coherent_dma_mask	= DMA_BIT_MASK(32),
	},
	.resource	= dove_sdio1_resources,
	.num_resources	= ARRAY_SIZE(dove_sdio1_resources),
};

void __init dove_sdio1_init(void)
{
	platform_device_register(&dove_sdio1);
}

void __init dove_init(void)
void __init dove_init(void)
{
{
	int tclk;
	int tclk;
+2 −0
Original line number Original line Diff line number Diff line
@@ -36,5 +36,7 @@ void dove_uart3_init(void);
void dove_spi0_init(void);
void dove_spi0_init(void);
void dove_spi1_init(void);
void dove_spi1_init(void);
void dove_i2c_init(void);
void dove_i2c_init(void);
void dove_sdio0_init(void);
void dove_sdio1_init(void);


#endif
#endif
+2 −0
Original line number Original line Diff line number Diff line
@@ -82,6 +82,8 @@ static void __init dove_db_init(void)
	dove_ehci0_init();
	dove_ehci0_init();
	dove_ehci1_init();
	dove_ehci1_init();
	dove_sata_init(&dove_db_sata_data);
	dove_sata_init(&dove_db_sata_data);
	dove_sdio0_init();
	dove_sdio1_init();
	dove_spi0_init();
	dove_spi0_init();
	dove_spi1_init();
	dove_spi1_init();
	dove_uart0_init();
	dove_uart0_init();