mirror of https://gitee.com/openkylin/linux.git
Merge branch 'for_2.6.33rc_c' of git://git.pwsan.com/linux-2.6 into omap-fixes-for-linus
This commit is contained in:
commit
27dba4bcf8
|
@ -599,7 +599,7 @@ static struct clk i2c_ick = {
|
|||
static struct omap_clk omap_clks[] = {
|
||||
/* non-ULPD clocks */
|
||||
CLK(NULL, "ck_ref", &ck_ref, CK_16XX | CK_1510 | CK_310 | CK_7XX),
|
||||
CLK(NULL, "ck_dpll1", &ck_dpll1, CK_16XX | CK_1510 | CK_310),
|
||||
CLK(NULL, "ck_dpll1", &ck_dpll1, CK_16XX | CK_1510 | CK_310 | CK_7XX),
|
||||
/* CK_GEN1 clocks */
|
||||
CLK(NULL, "ck_dpll1out", &ck_dpll1out.clk, CK_16XX),
|
||||
CLK(NULL, "ck_sossi", &sossi_ck, CK_16XX),
|
||||
|
@ -627,7 +627,7 @@ static struct omap_clk omap_clks[] = {
|
|||
CLK(NULL, "tc2_ck", &tc2_ck, CK_16XX),
|
||||
CLK(NULL, "dma_ck", &dma_ck, CK_16XX | CK_1510 | CK_310),
|
||||
CLK(NULL, "dma_lcdfree_ck", &dma_lcdfree_ck, CK_16XX),
|
||||
CLK(NULL, "api_ck", &api_ck.clk, CK_16XX | CK_1510 | CK_310),
|
||||
CLK(NULL, "api_ck", &api_ck.clk, CK_16XX | CK_1510 | CK_310 | CK_7XX),
|
||||
CLK(NULL, "lb_ck", &lb_ck.clk, CK_1510 | CK_310),
|
||||
CLK(NULL, "rhea1_ck", &rhea1_ck, CK_16XX),
|
||||
CLK(NULL, "rhea2_ck", &rhea2_ck, CK_16XX),
|
||||
|
@ -678,7 +678,7 @@ static struct omap_clk omap_clks[] = {
|
|||
* init
|
||||
*/
|
||||
|
||||
static struct clk_functions omap1_clk_functions __initdata = {
|
||||
static struct clk_functions omap1_clk_functions = {
|
||||
.clk_enable = omap1_clk_enable,
|
||||
.clk_disable = omap1_clk_disable,
|
||||
.clk_round_rate = omap1_clk_round_rate,
|
||||
|
|
|
@ -449,18 +449,56 @@ int omap2_select_table_rate(struct clk *clk, unsigned long rate)
|
|||
#ifdef CONFIG_CPU_FREQ
|
||||
/*
|
||||
* Walk PRCM rate table and fillout cpufreq freq_table
|
||||
* XXX This should be replaced by an OPP layer in the near future
|
||||
*/
|
||||
static struct cpufreq_frequency_table freq_table[ARRAY_SIZE(rate_table)];
|
||||
static struct cpufreq_frequency_table *freq_table;
|
||||
|
||||
void omap2_clk_init_cpufreq_table(struct cpufreq_frequency_table **table)
|
||||
{
|
||||
struct prcm_config *prcm;
|
||||
const struct prcm_config *prcm;
|
||||
long sys_ck_rate;
|
||||
int i = 0;
|
||||
int tbl_sz = 0;
|
||||
|
||||
sys_ck_rate = clk_get_rate(sclk);
|
||||
|
||||
for (prcm = rate_table; prcm->mpu_speed; prcm++) {
|
||||
if (!(prcm->flags & cpu_mask))
|
||||
continue;
|
||||
if (prcm->xtal_speed != sys_ck.rate)
|
||||
if (prcm->xtal_speed != sys_ck_rate)
|
||||
continue;
|
||||
|
||||
/* don't put bypass rates in table */
|
||||
if (prcm->dpll_speed == prcm->xtal_speed)
|
||||
continue;
|
||||
|
||||
tbl_sz++;
|
||||
}
|
||||
|
||||
/*
|
||||
* XXX Ensure that we're doing what CPUFreq expects for this error
|
||||
* case and the following one
|
||||
*/
|
||||
if (tbl_sz == 0) {
|
||||
pr_warning("%s: no matching entries in rate_table\n",
|
||||
__func__);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Include the CPUFREQ_TABLE_END terminator entry */
|
||||
tbl_sz++;
|
||||
|
||||
freq_table = kzalloc(sizeof(struct cpufreq_frequency_table) * tbl_sz,
|
||||
GFP_ATOMIC);
|
||||
if (!freq_table) {
|
||||
pr_err("%s: could not kzalloc frequency table\n", __func__);
|
||||
return;
|
||||
}
|
||||
|
||||
for (prcm = rate_table; prcm->mpu_speed; prcm++) {
|
||||
if (!(prcm->flags & cpu_mask))
|
||||
continue;
|
||||
if (prcm->xtal_speed != sys_ck_rate)
|
||||
continue;
|
||||
|
||||
/* don't put bypass rates in table */
|
||||
|
@ -472,17 +510,17 @@ void omap2_clk_init_cpufreq_table(struct cpufreq_frequency_table **table)
|
|||
i++;
|
||||
}
|
||||
|
||||
if (i == 0) {
|
||||
printk(KERN_WARNING "%s: failed to initialize frequency "
|
||||
"table\n", __func__);
|
||||
return;
|
||||
}
|
||||
|
||||
freq_table[i].index = i;
|
||||
freq_table[i].frequency = CPUFREQ_TABLE_END;
|
||||
|
||||
*table = &freq_table[0];
|
||||
}
|
||||
|
||||
void omap2_clk_exit_cpufreq_table(struct cpufreq_frequency_table **table)
|
||||
{
|
||||
kfree(freq_table);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
struct clk_functions omap2_clk_functions = {
|
||||
|
@ -494,6 +532,7 @@ struct clk_functions omap2_clk_functions = {
|
|||
.clk_disable_unused = omap2_clk_disable_unused,
|
||||
#ifdef CONFIG_CPU_FREQ
|
||||
.clk_init_cpufreq_table = omap2_clk_init_cpufreq_table,
|
||||
.clk_exit_cpufreq_table = omap2_clk_exit_cpufreq_table,
|
||||
#endif
|
||||
};
|
||||
|
||||
|
|
|
@ -34,7 +34,6 @@
|
|||
#include <asm/div64.h>
|
||||
#include <asm/clkdev.h>
|
||||
|
||||
#include <plat/sdrc.h>
|
||||
#include "clock.h"
|
||||
#include "clock34xx.h"
|
||||
#include "sdrc.h"
|
||||
|
|
|
@ -776,6 +776,8 @@ static struct clk dpll4_m5_ck = {
|
|||
.clksel_mask = OMAP3430_CLKSEL_CAM_MASK,
|
||||
.clksel = div16_dpll4_clksel,
|
||||
.clkdm_name = "dpll4_clkdm",
|
||||
.set_rate = &omap2_clksel_set_rate,
|
||||
.round_rate = &omap2_clksel_round_rate,
|
||||
.recalc = &omap2_clksel_recalc,
|
||||
};
|
||||
|
||||
|
@ -1500,6 +1502,7 @@ static struct clk uart2_fck = {
|
|||
.parent = &core_48m_fck,
|
||||
.enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1),
|
||||
.enable_bit = OMAP3430_EN_UART2_SHIFT,
|
||||
.clkdm_name = "core_l4_clkdm",
|
||||
.recalc = &followparent_recalc,
|
||||
};
|
||||
|
||||
|
@ -1509,6 +1512,7 @@ static struct clk uart1_fck = {
|
|||
.parent = &core_48m_fck,
|
||||
.enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1),
|
||||
.enable_bit = OMAP3430_EN_UART1_SHIFT,
|
||||
.clkdm_name = "core_l4_clkdm",
|
||||
.recalc = &followparent_recalc,
|
||||
};
|
||||
|
||||
|
@ -2745,7 +2749,7 @@ static struct clk mcbsp4_ick = {
|
|||
};
|
||||
|
||||
static const struct clksel mcbsp_234_clksel[] = {
|
||||
{ .parent = &core_96m_fck, .rates = common_mcbsp_96m_rates },
|
||||
{ .parent = &per_96m_fck, .rates = common_mcbsp_96m_rates },
|
||||
{ .parent = &mcbsp_clks, .rates = common_mcbsp_mcbsp_rates },
|
||||
{ .parent = NULL }
|
||||
};
|
||||
|
|
|
@ -559,7 +559,7 @@ int omap2_clkdm_clk_enable(struct clockdomain *clkdm, struct clk *clk)
|
|||
* downstream clocks for debugging purposes?
|
||||
*/
|
||||
|
||||
if (!clkdm || !clk)
|
||||
if (!clkdm || !clk || !clkdm->clktrctrl_mask)
|
||||
return -EINVAL;
|
||||
|
||||
if (atomic_inc_return(&clkdm->usecount) > 1)
|
||||
|
@ -610,7 +610,7 @@ int omap2_clkdm_clk_disable(struct clockdomain *clkdm, struct clk *clk)
|
|||
* downstream clocks for debugging purposes?
|
||||
*/
|
||||
|
||||
if (!clkdm || !clk)
|
||||
if (!clkdm || !clk || !clkdm->clktrctrl_mask)
|
||||
return -EINVAL;
|
||||
|
||||
#ifdef DEBUG
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <plat/sdrc.h>
|
||||
#include <plat/gpmc.h>
|
||||
#include <plat/serial.h>
|
||||
#include <plat/mux.h>
|
||||
#include <plat/vram.h>
|
||||
|
||||
#include "clock.h"
|
||||
|
@ -73,21 +72,21 @@ static struct map_desc omap24xx_io_desc[] __initdata = {
|
|||
#ifdef CONFIG_ARCH_OMAP2420
|
||||
static struct map_desc omap242x_io_desc[] __initdata = {
|
||||
{
|
||||
.virtual = DSP_MEM_24XX_VIRT,
|
||||
.pfn = __phys_to_pfn(DSP_MEM_24XX_PHYS),
|
||||
.length = DSP_MEM_24XX_SIZE,
|
||||
.virtual = DSP_MEM_2420_VIRT,
|
||||
.pfn = __phys_to_pfn(DSP_MEM_2420_PHYS),
|
||||
.length = DSP_MEM_2420_SIZE,
|
||||
.type = MT_DEVICE
|
||||
},
|
||||
{
|
||||
.virtual = DSP_IPI_24XX_VIRT,
|
||||
.pfn = __phys_to_pfn(DSP_IPI_24XX_PHYS),
|
||||
.length = DSP_IPI_24XX_SIZE,
|
||||
.virtual = DSP_IPI_2420_VIRT,
|
||||
.pfn = __phys_to_pfn(DSP_IPI_2420_PHYS),
|
||||
.length = DSP_IPI_2420_SIZE,
|
||||
.type = MT_DEVICE
|
||||
},
|
||||
{
|
||||
.virtual = DSP_MMU_24XX_VIRT,
|
||||
.pfn = __phys_to_pfn(DSP_MMU_24XX_PHYS),
|
||||
.length = DSP_MMU_24XX_SIZE,
|
||||
.virtual = DSP_MMU_2420_VIRT,
|
||||
.pfn = __phys_to_pfn(DSP_MMU_2420_PHYS),
|
||||
.length = DSP_MMU_2420_SIZE,
|
||||
.type = MT_DEVICE
|
||||
},
|
||||
};
|
||||
|
|
|
@ -9,45 +9,47 @@
|
|||
* The OMAP2 processor can be run at several discrete 'PRCM configurations'.
|
||||
* These configurations are characterized by voltage and speed for clocks.
|
||||
* The device is only validated for certain combinations. One way to express
|
||||
* these combinations is via the 'ratio's' which the clocks operate with
|
||||
* these combinations is via the 'ratios' which the clocks operate with
|
||||
* respect to each other. These ratio sets are for a given voltage/DPLL
|
||||
* setting. All configurations can be described by a DPLL setting and a ratio
|
||||
* There are 3 ratio sets for the 2430 and X ratio sets for 2420.
|
||||
*
|
||||
* 2430 differs from 2420 in that there are no more phase synchronizers used.
|
||||
* They both have a slightly different clock domain setup. 2420(iva1,dsp) vs
|
||||
* 2430 (iva2.1, NOdsp, mdm)
|
||||
* setting. All configurations can be described by a DPLL setting and a ratio.
|
||||
*
|
||||
* XXX Missing voltage data.
|
||||
* XXX Missing 19.2MHz sys_clk rate sets (needed for N800/N810)
|
||||
*
|
||||
* THe format described in this file is deprecated. Once a reasonable
|
||||
* OPP API exists, the data in this file should be converted to use it.
|
||||
*
|
||||
* This is technically part of the OMAP2xxx clock code.
|
||||
*
|
||||
* Considerable work is still needed to fully support dynamic frequency
|
||||
* changes on OMAP2xxx-series chips. Readers interested in such a
|
||||
* project are encouraged to review the Maemo Diablo RX-34 and RX-44
|
||||
* kernel source at:
|
||||
* http://repository.maemo.org/pool/diablo/free/k/kernel-source-diablo/
|
||||
*/
|
||||
|
||||
#include "opp2xxx.h"
|
||||
#include "sdrc.h"
|
||||
#include "clock.h"
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Key dividers which make up a PRCM set. Ratio's for a PRCM are mandated.
|
||||
/*
|
||||
* Key dividers which make up a PRCM set. Ratios for a PRCM are mandated.
|
||||
* xtal_speed, dpll_speed, mpu_speed, CM_CLKSEL_MPU,
|
||||
* CM_CLKSEL_DSP, CM_CLKSEL_GFX, CM_CLKSEL1_CORE, CM_CLKSEL1_PLL,
|
||||
* CM_CLKSEL2_PLL, CM_CLKSEL_MDM
|
||||
*
|
||||
* Filling in table based on H4 boards and 2430-SDPs variants available.
|
||||
* There are quite a few more rates combinations which could be defined.
|
||||
* Filling in table based on H4 boards available. There are quite a
|
||||
* few more rate combinations which could be defined.
|
||||
*
|
||||
* When multiple values are defined the start up will try and choose the
|
||||
* fastest one. If a 'fast' value is defined, then automatically, the /2
|
||||
* one should be included as it can be used. Generally having more that
|
||||
* one fast set does not make sense, as static timings need to be changed
|
||||
* to change the set. The exception is the bypass setting which is
|
||||
* availble for low power bypass.
|
||||
* When multiple values are defined the start up will try and choose
|
||||
* the fastest one. If a 'fast' value is defined, then automatically,
|
||||
* the /2 one should be included as it can be used. Generally having
|
||||
* more than one fast set does not make sense, as static timings need
|
||||
* to be changed to change the set. The exception is the bypass
|
||||
* setting which is available for low power bypass.
|
||||
*
|
||||
* Note: This table needs to be sorted, fastest to slowest.
|
||||
*-------------------------------------------------------------------------*/
|
||||
**/
|
||||
const struct prcm_config omap2420_rate_table[] = {
|
||||
/* PRCM I - FAST */
|
||||
{S12M, S660M, S330M, RI_CM_CLKSEL_MPU_VAL, /* 330MHz ARM */
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* opp2420_data.c - old-style "OPP" table for OMAP2420
|
||||
* opp2430_data.c - old-style "OPP" table for OMAP2430
|
||||
*
|
||||
* Copyright (C) 2005-2009 Texas Instruments, Inc.
|
||||
* Copyright (C) 2004-2009 Nokia Corporation
|
||||
|
@ -9,16 +9,16 @@
|
|||
* The OMAP2 processor can be run at several discrete 'PRCM configurations'.
|
||||
* These configurations are characterized by voltage and speed for clocks.
|
||||
* The device is only validated for certain combinations. One way to express
|
||||
* these combinations is via the 'ratio's' which the clocks operate with
|
||||
* these combinations is via the 'ratios' which the clocks operate with
|
||||
* respect to each other. These ratio sets are for a given voltage/DPLL
|
||||
* setting. All configurations can be described by a DPLL setting and a ratio
|
||||
* There are 3 ratio sets for the 2430 and X ratio sets for 2420.
|
||||
* setting. All configurations can be described by a DPLL setting and a ratio.
|
||||
*
|
||||
* 2430 differs from 2420 in that there are no more phase synchronizers used.
|
||||
* They both have a slightly different clock domain setup. 2420(iva1,dsp) vs
|
||||
* 2430 (iva2.1, NOdsp, mdm)
|
||||
*
|
||||
* XXX Missing voltage data.
|
||||
* XXX Missing 19.2MHz sys_clk rate sets.
|
||||
*
|
||||
* THe format described in this file is deprecated. Once a reasonable
|
||||
* OPP API exists, the data in this file should be converted to use it.
|
||||
|
@ -30,24 +30,24 @@
|
|||
#include "sdrc.h"
|
||||
#include "clock.h"
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Key dividers which make up a PRCM set. Ratio's for a PRCM are mandated.
|
||||
/*
|
||||
* Key dividers which make up a PRCM set. Ratios for a PRCM are mandated.
|
||||
* xtal_speed, dpll_speed, mpu_speed, CM_CLKSEL_MPU,
|
||||
* CM_CLKSEL_DSP, CM_CLKSEL_GFX, CM_CLKSEL1_CORE, CM_CLKSEL1_PLL,
|
||||
* CM_CLKSEL2_PLL, CM_CLKSEL_MDM
|
||||
*
|
||||
* Filling in table based on H4 boards and 2430-SDPs variants available.
|
||||
* There are quite a few more rates combinations which could be defined.
|
||||
* Filling in table based on 2430-SDPs variants available. There are
|
||||
* quite a few more rate combinations which could be defined.
|
||||
*
|
||||
* When multiple values are defined the start up will try and choose the
|
||||
* fastest one. If a 'fast' value is defined, then automatically, the /2
|
||||
* one should be included as it can be used. Generally having more that
|
||||
* one fast set does not make sense, as static timings need to be changed
|
||||
* to change the set. The exception is the bypass setting which is
|
||||
* availble for low power bypass.
|
||||
* When multiple values are defined the start up will try and choose
|
||||
* the fastest one. If a 'fast' value is defined, then automatically,
|
||||
* the /2 one should be included as it can be used. Generally having
|
||||
* more than one fast set does not make sense, as static timings need
|
||||
* to be changed to change the set. The exception is the bypass
|
||||
* setting which is available for low power bypass.
|
||||
*
|
||||
* Note: This table needs to be sorted, fastest to slowest.
|
||||
*-------------------------------------------------------------------------*/
|
||||
*/
|
||||
const struct prcm_config omap2430_rate_table[] = {
|
||||
/* PRCM #4 - ratio2 (ES2.1) - FAST */
|
||||
{S13M, S798M, S399M, R2_CM_CLKSEL_MPU_VAL, /* 399MHz ARM */
|
||||
|
|
|
@ -36,10 +36,6 @@ static struct clk_functions *arch_clock;
|
|||
* Standard clock functions defined in include/linux/clk.h
|
||||
*-------------------------------------------------------------------------*/
|
||||
|
||||
/* This functions is moved to arch/arm/common/clkdev.c. For OMAP4 since
|
||||
* clock framework is not up , it is defined here to avoid rework in
|
||||
* every driver. Also dummy prcm reset function is added */
|
||||
|
||||
int clk_enable(struct clk *clk)
|
||||
{
|
||||
unsigned long flags;
|
||||
|
@ -305,7 +301,6 @@ void clk_enable_init_clocks(void)
|
|||
clk_enable(clkp);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(clk_enable_init_clocks);
|
||||
|
||||
/*
|
||||
* Low level helpers
|
||||
|
@ -334,7 +329,16 @@ void clk_init_cpufreq_table(struct cpufreq_frequency_table **table)
|
|||
arch_clock->clk_init_cpufreq_table(table);
|
||||
spin_unlock_irqrestore(&clockfw_lock, flags);
|
||||
}
|
||||
EXPORT_SYMBOL(clk_init_cpufreq_table);
|
||||
|
||||
void clk_exit_cpufreq_table(struct cpufreq_frequency_table **table)
|
||||
{
|
||||
unsigned long flags;
|
||||
|
||||
spin_lock_irqsave(&clockfw_lock, flags);
|
||||
if (arch_clock->clk_exit_cpufreq_table)
|
||||
arch_clock->clk_exit_cpufreq_table(table);
|
||||
spin_unlock_irqrestore(&clockfw_lock, flags);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
|
|
@ -134,6 +134,7 @@ static int __init omap_cpu_init(struct cpufreq_policy *policy)
|
|||
|
||||
static int omap_cpu_exit(struct cpufreq_policy *policy)
|
||||
{
|
||||
clk_exit_cpufreq_table(&freq_table);
|
||||
clk_put(mpu_clk);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -119,6 +119,7 @@ struct clk_functions {
|
|||
void (*clk_disable_unused)(struct clk *clk);
|
||||
#ifdef CONFIG_CPU_FREQ
|
||||
void (*clk_init_cpufreq_table)(struct cpufreq_frequency_table **);
|
||||
void (*clk_exit_cpufreq_table)(struct cpufreq_frequency_table **);
|
||||
#endif
|
||||
};
|
||||
|
||||
|
@ -135,6 +136,7 @@ extern unsigned long followparent_recalc(struct clk *clk);
|
|||
extern void clk_enable_init_clocks(void);
|
||||
#ifdef CONFIG_CPU_FREQ
|
||||
extern void clk_init_cpufreq_table(struct cpufreq_frequency_table **table);
|
||||
extern void clk_exit_cpufreq_table(struct cpufreq_frequency_table **table);
|
||||
#endif
|
||||
|
||||
extern const struct clkops clkops_null;
|
||||
|
|
|
@ -122,16 +122,21 @@
|
|||
#define OMAP243X_SMS_VIRT (OMAP243X_SMS_PHYS + OMAP2_L3_IO_OFFSET)
|
||||
#define OMAP243X_SMS_SIZE SZ_1M
|
||||
|
||||
/* DSP */
|
||||
#define DSP_MEM_24XX_PHYS OMAP2420_DSP_MEM_BASE /* 0x58000000 */
|
||||
#define DSP_MEM_24XX_VIRT 0xe0000000
|
||||
#define DSP_MEM_24XX_SIZE 0x28000
|
||||
#define DSP_IPI_24XX_PHYS OMAP2420_DSP_IPI_BASE /* 0x59000000 */
|
||||
#define DSP_IPI_24XX_VIRT 0xe1000000
|
||||
#define DSP_IPI_24XX_SIZE SZ_4K
|
||||
#define DSP_MMU_24XX_PHYS OMAP2420_DSP_MMU_BASE /* 0x5a000000 */
|
||||
#define DSP_MMU_24XX_VIRT 0xe2000000
|
||||
#define DSP_MMU_24XX_SIZE SZ_4K
|
||||
/* 2420 IVA */
|
||||
#define DSP_MEM_2420_PHYS OMAP2420_DSP_MEM_BASE
|
||||
/* 0x58000000 --> 0xfc100000 */
|
||||
#define DSP_MEM_2420_VIRT 0xfc100000
|
||||
#define DSP_MEM_2420_SIZE 0x28000
|
||||
#define DSP_IPI_2420_PHYS OMAP2420_DSP_IPI_BASE
|
||||
/* 0x59000000 --> 0xfc128000 */
|
||||
#define DSP_IPI_2420_VIRT 0xfc128000
|
||||
#define DSP_IPI_2420_SIZE SZ_4K
|
||||
#define DSP_MMU_2420_PHYS OMAP2420_DSP_MMU_BASE
|
||||
/* 0x5a000000 --> 0xfc129000 */
|
||||
#define DSP_MMU_2420_VIRT 0xfc129000
|
||||
#define DSP_MMU_2420_SIZE SZ_4K
|
||||
|
||||
/* 2430 IVA2.1 - currently unmapped */
|
||||
|
||||
/*
|
||||
* ----------------------------------------------------------------------------
|
||||
|
@ -182,16 +187,7 @@
|
|||
#define OMAP343X_SDRC_VIRT (OMAP343X_SDRC_PHYS + OMAP2_L3_IO_OFFSET)
|
||||
#define OMAP343X_SDRC_SIZE SZ_1M
|
||||
|
||||
/* DSP */
|
||||
#define DSP_MEM_34XX_PHYS OMAP34XX_DSP_MEM_BASE /* 0x58000000 */
|
||||
#define DSP_MEM_34XX_VIRT 0xe0000000
|
||||
#define DSP_MEM_34XX_SIZE 0x28000
|
||||
#define DSP_IPI_34XX_PHYS OMAP34XX_DSP_IPI_BASE /* 0x59000000 */
|
||||
#define DSP_IPI_34XX_VIRT 0xe1000000
|
||||
#define DSP_IPI_34XX_SIZE SZ_4K
|
||||
#define DSP_MMU_34XX_PHYS OMAP34XX_DSP_MMU_BASE /* 0x5a000000 */
|
||||
#define DSP_MMU_34XX_VIRT 0xe2000000
|
||||
#define DSP_MMU_34XX_SIZE SZ_4K
|
||||
/* 3430 IVA - currently unmapped */
|
||||
|
||||
/*
|
||||
* ----------------------------------------------------------------------------
|
||||
|
|
|
@ -66,12 +66,12 @@ void __iomem *omap_ioremap(unsigned long p, size_t size, unsigned int type)
|
|||
return XLATE(p, L4_24XX_PHYS, L4_24XX_VIRT);
|
||||
}
|
||||
if (cpu_is_omap2420()) {
|
||||
if (BETWEEN(p, DSP_MEM_24XX_PHYS, DSP_MEM_24XX_SIZE))
|
||||
return XLATE(p, DSP_MEM_24XX_PHYS, DSP_MEM_24XX_VIRT);
|
||||
if (BETWEEN(p, DSP_IPI_24XX_PHYS, DSP_IPI_24XX_SIZE))
|
||||
return XLATE(p, DSP_IPI_24XX_PHYS, DSP_IPI_24XX_SIZE);
|
||||
if (BETWEEN(p, DSP_MMU_24XX_PHYS, DSP_MMU_24XX_SIZE))
|
||||
return XLATE(p, DSP_MMU_24XX_PHYS, DSP_MMU_24XX_VIRT);
|
||||
if (BETWEEN(p, DSP_MEM_2420_PHYS, DSP_MEM_2420_SIZE))
|
||||
return XLATE(p, DSP_MEM_2420_PHYS, DSP_MEM_2420_VIRT);
|
||||
if (BETWEEN(p, DSP_IPI_2420_PHYS, DSP_IPI_2420_SIZE))
|
||||
return XLATE(p, DSP_IPI_2420_PHYS, DSP_IPI_2420_SIZE);
|
||||
if (BETWEEN(p, DSP_MMU_2420_PHYS, DSP_MMU_2420_SIZE))
|
||||
return XLATE(p, DSP_MMU_2420_PHYS, DSP_MMU_2420_VIRT);
|
||||
}
|
||||
if (cpu_is_omap2430()) {
|
||||
if (BETWEEN(p, L4_WK_243X_PHYS, L4_WK_243X_SIZE))
|
||||
|
|
Loading…
Reference in New Issue