Ux500 core changes:
- Fixes for size and location of PRCMU TCDM - SD/MMC/SDIO caps updates to boardfiles - Misc fixes -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iQIcBAABAgAGBQJRrczYAAoJEEEQszewGV1zJBkQAJFfwih887ovhsty6dZH/rk9 5XRbe3GSKzKqXnFodRkVcATbpF+FiGQzLtEf2XQSst3EjlHSSmYUFKfj8N9cXq5q aPS18Fd7veKKMP5hy+t3+RpHiMJrLn+9wWdLZwevwpC6FGxH00gKWjM4ptB3DMmp X17SHwn+HgWpvYH2Jl3LbfHgtFH1jo40yBnY1VzkX8mGk8g+HKMbLezSKejDhcuo UT3TIT6a7JR+d/MwJhRx+z7Q2QYNZMNJWfycJH5mCglRZRz9qaHTgTzasGFveOuY o7W+Z5htsWfU2kj/YVFZvBOAw0a6wDESrYoL6KelY+K8AN4wMpHpdNvqyngDJC4A DbHRMOqSa9SykRhzJybBHAPPmdEAMTcdhzdJ9PygcQEidOX882wnGZMq3PWaa12q sBBMCdcxNAAu63xmxYpQ8G8ldc0RHKx/oFvOBmI4yVy3Ef8Cf7PxS1AcUMhLDPA/ Z1mxGqV7lzQf+MefCGbA9auy34nZhqWET9S894MD8cgo5NXskJG+a8FfT1FFDlFz PhmfA2aAFQ+ESvKuV7G04wfaCx5IadjfMv7g64mJvxnjm33qWD8m2yed6fI1wpAH NjBfshIgDbDhhIrt9JF6mwYRBVpotGlPRDBu7uirO/vSBKTPoutClHh6Hs5drsOe 6yHGICQZMgrrsji5FBSR =mgXj -----END PGP SIGNATURE----- Merge tag 'ux500-core-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/boards From Linus Walleij, a set of core patches for ux500. Most of them are actually board changes, so I sort them into here. Ux500 core changes: - Fixes for size and location of PRCMU TCDM - SD/MMC/SDIO caps updates to boardfiles - Misc fixes * tag 'ux500-core-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson: ARM: ux500: avoid warning in ux500_read_asicid ARM: ux500: regulators: Remove misleading comment ARM: ux500: Enable support for UHS-I SD-cards ARM: ux500: Set eMMC and WLAN card slot as non-removable ARM: ux500: Enable support for discard for MMC/SD ARM: ux500: Enable support for RPMB and Reliable Write for eMMC ARM: ux500: Don't set plf ocr mask for SD/MMC device ARM: ux500: Enable 100MHz for SD/SDIO/MMC devices ARM: ux500: Remove incorrect DB9540 PRCMU TCDM base location ARM: ux500: Increase the size of the PRCMU's TCPM size Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
commit
c094474d0b
@ -996,7 +996,6 @@ struct ab8500_regulator_platform_data ab8500_regulator_plat_data = {
|
||||
.num_ext_regulator = ARRAY_SIZE(ab8500_ext_regulators),
|
||||
};
|
||||
|
||||
/* Use the AB8500 init settings for AB8505 as they are the same right now */
|
||||
struct ab8500_regulator_platform_data ab8505_regulator_plat_data = {
|
||||
.reg_init = ab8505_reg_init,
|
||||
.num_reg_init = ARRAY_SIZE(ab8505_reg_init),
|
||||
|
@ -52,11 +52,13 @@ static struct stedma40_chan_cfg mop500_sdi0_dma_cfg_tx = {
|
||||
#endif
|
||||
|
||||
struct mmci_platform_data mop500_sdi0_data = {
|
||||
.ocr_mask = MMC_VDD_29_30,
|
||||
.f_max = 50000000,
|
||||
.f_max = 100000000,
|
||||
.capabilities = MMC_CAP_4_BIT_DATA |
|
||||
MMC_CAP_SD_HIGHSPEED |
|
||||
MMC_CAP_MMC_HIGHSPEED,
|
||||
MMC_CAP_MMC_HIGHSPEED |
|
||||
MMC_CAP_ERASE |
|
||||
MMC_CAP_UHS_SDR12 |
|
||||
MMC_CAP_UHS_SDR25,
|
||||
.gpio_wp = -1,
|
||||
.sigdir = MCI_ST_FBCLKEN |
|
||||
MCI_ST_CMDDIREN |
|
||||
@ -106,8 +108,9 @@ static struct stedma40_chan_cfg sdi1_dma_cfg_tx = {
|
||||
|
||||
struct mmci_platform_data mop500_sdi1_data = {
|
||||
.ocr_mask = MMC_VDD_29_30,
|
||||
.f_max = 50000000,
|
||||
.capabilities = MMC_CAP_4_BIT_DATA,
|
||||
.f_max = 100000000,
|
||||
.capabilities = MMC_CAP_4_BIT_DATA |
|
||||
MMC_CAP_NONREMOVABLE,
|
||||
.gpio_cd = -1,
|
||||
.gpio_wp = -1,
|
||||
#ifdef CONFIG_STE_DMA40
|
||||
@ -143,9 +146,13 @@ static struct stedma40_chan_cfg mop500_sdi2_dma_cfg_tx = {
|
||||
|
||||
struct mmci_platform_data mop500_sdi2_data = {
|
||||
.ocr_mask = MMC_VDD_165_195,
|
||||
.f_max = 50000000,
|
||||
.capabilities = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA |
|
||||
MMC_CAP_MMC_HIGHSPEED,
|
||||
.f_max = 100000000,
|
||||
.capabilities = MMC_CAP_4_BIT_DATA |
|
||||
MMC_CAP_8_BIT_DATA |
|
||||
MMC_CAP_NONREMOVABLE |
|
||||
MMC_CAP_MMC_HIGHSPEED |
|
||||
MMC_CAP_ERASE |
|
||||
MMC_CAP_CMD23,
|
||||
.gpio_cd = -1,
|
||||
.gpio_wp = -1,
|
||||
#ifdef CONFIG_STE_DMA40
|
||||
@ -180,10 +187,13 @@ static struct stedma40_chan_cfg mop500_sdi4_dma_cfg_tx = {
|
||||
#endif
|
||||
|
||||
struct mmci_platform_data mop500_sdi4_data = {
|
||||
.ocr_mask = MMC_VDD_29_30,
|
||||
.f_max = 50000000,
|
||||
.capabilities = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA |
|
||||
MMC_CAP_MMC_HIGHSPEED,
|
||||
.f_max = 100000000,
|
||||
.capabilities = MMC_CAP_4_BIT_DATA |
|
||||
MMC_CAP_8_BIT_DATA |
|
||||
MMC_CAP_NONREMOVABLE |
|
||||
MMC_CAP_MMC_HIGHSPEED |
|
||||
MMC_CAP_ERASE |
|
||||
MMC_CAP_CMD23,
|
||||
.gpio_cd = -1,
|
||||
.gpio_wp = -1,
|
||||
#ifdef CONFIG_STE_DMA40
|
||||
|
@ -102,7 +102,6 @@
|
||||
#define U8500_PRCMU_BASE (U8500_PER4_BASE + 0x07000)
|
||||
#define U9540_DMC1_BASE (U8500_PER4_BASE + 0x0A000)
|
||||
#define U8500_PRCMU_TCDM_BASE (U8500_PER4_BASE + 0x68000)
|
||||
#define U9540_PRCMU_TCDM_BASE (U8500_PER4_BASE + 0x6A000)
|
||||
#define U8500_PRCMU_TCPM_BASE (U8500_PER4_BASE + 0x60000)
|
||||
#define U8500_PRCMU_TIMER_3_BASE (U8500_PER4_BASE + 0x07338)
|
||||
#define U8500_PRCMU_TIMER_4_BASE (U8500_PER4_BASE + 0x07450)
|
||||
@ -184,7 +183,7 @@
|
||||
#define U8500_IO_VIRTUAL 0xf0000000
|
||||
#define U8500_IO_PHYSICAL 0xa0000000
|
||||
/* This is where we map in the ROM to check ASIC IDs */
|
||||
#define UX500_VIRT_ROM 0xf0000000
|
||||
#define UX500_VIRT_ROM IOMEM(0xf0000000)
|
||||
|
||||
/* This macro is used in assembly, so no cast */
|
||||
#define IO_ADDRESS(x) \
|
||||
|
@ -227,7 +227,7 @@ static struct resource db8500_prcmu_res[] = {
|
||||
{
|
||||
.name = "prcmu-tcpm",
|
||||
.start = U8500_PRCMU_TCPM_BASE,
|
||||
.end = U8500_PRCMU_TCPM_BASE + SZ_4K - 1,
|
||||
.end = U8500_PRCMU_TCPM_BASE + SZ_32K - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
};
|
||||
|
@ -21,11 +21,11 @@
|
||||
|
||||
struct dbx500_asic_id dbx500_id;
|
||||
|
||||
static unsigned int ux500_read_asicid(phys_addr_t addr)
|
||||
static unsigned int __init ux500_read_asicid(phys_addr_t addr)
|
||||
{
|
||||
phys_addr_t base = addr & ~0xfff;
|
||||
struct map_desc desc = {
|
||||
.virtual = UX500_VIRT_ROM,
|
||||
.virtual = (unsigned long)UX500_VIRT_ROM,
|
||||
.pfn = __phys_to_pfn(base),
|
||||
.length = SZ_16K,
|
||||
.type = MT_DEVICE,
|
||||
@ -37,7 +37,7 @@ static unsigned int ux500_read_asicid(phys_addr_t addr)
|
||||
local_flush_tlb_all();
|
||||
flush_cache_all();
|
||||
|
||||
return readl(IOMEM(UX500_VIRT_ROM + (addr & 0xfff)));
|
||||
return readl(UX500_VIRT_ROM + (addr & 0xfff));
|
||||
}
|
||||
|
||||
static void ux500_print_soc_info(unsigned int asicid)
|
||||
|
Loading…
x
Reference in New Issue
Block a user