mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (45 commits)
ARM: 6945/1: Add unwinding support for division functions
ARM: kill pmd_off()
ARM: 6944/1: mm: allow ASID 0 to be allocated to tasks
ARM: 6943/1: mm: use TTBR1 instead of reserved context ID
ARM: 6942/1: mm: make TTBR1 always point to swapper_pg_dir on ARMv6/7
ARM: 6941/1: cache: ensure MVA is cacheline aligned in flush_kern_dcache_area
ARM: add sendmmsg syscall
ARM: 6863/1: allow hotplug on msm
ARM: 6832/1: mmci: support for ST-Ericsson db8500v2
ARM: 6830/1: mach-ux500: force PrimeCell revisions
ARM: 6829/1: amba: make hardcoded periphid override hardware
ARM: 6828/1: mach-ux500: delete SSP PrimeCell ID
ARM: 6827/1: mach-netx: delete hardcoded periphid
ARM: 6940/1: fiq: Briefly document driver responsibilities for suspend/resume
ARM: 6938/1: fiq: Refactor {get,set}_fiq_regs() for Thumb-2
ARM: 6914/1: sparsemem: fix highmem detection when using SPARSEMEM
ARM: 6913/1: sparsemem: allow pfn_valid to be overridden when using SPARSEMEM
at91: drop at572d940hf support
at91rm9200: introduce at91rm9200_set_type to specficy cpu package
at91: drop boot_params and PLAT_PHYS_OFFSET
...
This commit is contained in:
commit
2a56d22202
200 changed files with 1611 additions and 6135 deletions
|
|
@ -51,6 +51,7 @@ static unsigned int fmax = 515633;
|
|||
* is asserted (likewise for RX)
|
||||
* @sdio: variant supports SDIO
|
||||
* @st_clkdiv: true if using a ST-specific clock divider algorithm
|
||||
* @blksz_datactrl16: true if Block size is at b16..b30 position in datactrl register
|
||||
*/
|
||||
struct variant_data {
|
||||
unsigned int clkreg;
|
||||
|
|
@ -60,6 +61,7 @@ struct variant_data {
|
|||
unsigned int fifohalfsize;
|
||||
bool sdio;
|
||||
bool st_clkdiv;
|
||||
bool blksz_datactrl16;
|
||||
};
|
||||
|
||||
static struct variant_data variant_arm = {
|
||||
|
|
@ -92,6 +94,17 @@ static struct variant_data variant_ux500 = {
|
|||
.st_clkdiv = true,
|
||||
};
|
||||
|
||||
static struct variant_data variant_ux500v2 = {
|
||||
.fifosize = 30 * 4,
|
||||
.fifohalfsize = 8 * 4,
|
||||
.clkreg = MCI_CLK_ENABLE,
|
||||
.clkreg_enable = MCI_ST_UX500_HWFCEN,
|
||||
.datalength_bits = 24,
|
||||
.sdio = true,
|
||||
.st_clkdiv = true,
|
||||
.blksz_datactrl16 = true,
|
||||
};
|
||||
|
||||
/*
|
||||
* This must be called with host->lock held
|
||||
*/
|
||||
|
|
@ -465,7 +478,10 @@ static void mmci_start_data(struct mmci_host *host, struct mmc_data *data)
|
|||
blksz_bits = ffs(data->blksz) - 1;
|
||||
BUG_ON(1 << blksz_bits != data->blksz);
|
||||
|
||||
datactrl = MCI_DPSM_ENABLE | blksz_bits << 4;
|
||||
if (variant->blksz_datactrl16)
|
||||
datactrl = MCI_DPSM_ENABLE | (data->blksz << 16);
|
||||
else
|
||||
datactrl = MCI_DPSM_ENABLE | blksz_bits << 4;
|
||||
|
||||
if (data->flags & MMC_DATA_READ)
|
||||
datactrl |= MCI_DPSM_DIRECTION;
|
||||
|
|
@ -1311,9 +1327,14 @@ static struct amba_id mmci_ids[] = {
|
|||
},
|
||||
{
|
||||
.id = 0x00480180,
|
||||
.mask = 0x00ffffff,
|
||||
.mask = 0xf0ffffff,
|
||||
.data = &variant_ux500,
|
||||
},
|
||||
{
|
||||
.id = 0x10480180,
|
||||
.mask = 0xf0ffffff,
|
||||
.data = &variant_ux500v2,
|
||||
},
|
||||
{ 0, 0 },
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue