Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
27dba4bc
Commit
27dba4bc
authored
Jan 08, 2010
by
Tony Lindgren
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'for_2.6.33rc_c' of
git://git.pwsan.com/linux-2.6
into omap-fixes-for-linus
parents
342aa2c1
cdf1a915
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
137 additions
and
91 deletions
+137
-91
arch/arm/mach-omap1/clock_data.c
arch/arm/mach-omap1/clock_data.c
+3
-3
arch/arm/mach-omap2/clock2xxx.c
arch/arm/mach-omap2/clock2xxx.c
+48
-9
arch/arm/mach-omap2/clock34xx.c
arch/arm/mach-omap2/clock34xx.c
+0
-1
arch/arm/mach-omap2/clock34xx_data.c
arch/arm/mach-omap2/clock34xx_data.c
+5
-1
arch/arm/mach-omap2/clockdomain.c
arch/arm/mach-omap2/clockdomain.c
+2
-2
arch/arm/mach-omap2/io.c
arch/arm/mach-omap2/io.c
+9
-10
arch/arm/mach-omap2/opp2420_data.c
arch/arm/mach-omap2/opp2420_data.c
+20
-18
arch/arm/mach-omap2/opp2430_data.c
arch/arm/mach-omap2/opp2430_data.c
+15
-15
arch/arm/plat-omap/clock.c
arch/arm/plat-omap/clock.c
+10
-6
arch/arm/plat-omap/cpu-omap.c
arch/arm/plat-omap/cpu-omap.c
+1
-0
arch/arm/plat-omap/include/plat/clock.h
arch/arm/plat-omap/include/plat/clock.h
+2
-0
arch/arm/plat-omap/include/plat/io.h
arch/arm/plat-omap/include/plat/io.h
+16
-20
arch/arm/plat-omap/io.c
arch/arm/plat-omap/io.c
+6
-6
No files found.
arch/arm/mach-omap1/clock_data.c
View file @
27dba4bc
...
...
@@ -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
,
...
...
arch/arm/mach-omap2/clock2xxx.c
View file @
27dba4bc
...
...
@@ -449,40 +449,78 @@ 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
;
freq_table
[
i
].
index
=
i
;
freq_table
[
i
].
frequency
=
prcm
->
mpu_speed
/
1000
;
i
++
;
tbl_sz
++
;
}
if
(
i
==
0
)
{
printk
(
KERN_WARNING
"%s: failed to initialize frequency "
"table
\n
"
,
__func__
);
/*
* 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 */
if
(
prcm
->
dpll_speed
==
prcm
->
xtal_speed
)
continue
;
freq_table
[
i
].
index
=
i
;
freq_table
[
i
].
frequency
=
prcm
->
mpu_speed
/
1000
;
i
++
;
}
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
};
...
...
arch/arm/mach-omap2/clock34xx.c
View file @
27dba4bc
...
...
@@ -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"
...
...
arch/arm/mach-omap2/clock34xx_data.c
View file @
27dba4bc
...
...
@@ -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
}
};
...
...
arch/arm/mach-omap2/clockdomain.c
View file @
27dba4bc
...
...
@@ -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
...
...
arch/arm/mach-omap2/io.c
View file @
27dba4bc
...
...
@@ -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_24
XX
_VIRT
,
.
pfn
=
__phys_to_pfn
(
DSP_MEM_24
XX
_PHYS
),
.
length
=
DSP_MEM_24
XX
_SIZE
,
.
virtual
=
DSP_MEM_24
20
_VIRT
,
.
pfn
=
__phys_to_pfn
(
DSP_MEM_24
20
_PHYS
),
.
length
=
DSP_MEM_24
20
_SIZE
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
DSP_IPI_24
XX
_VIRT
,
.
pfn
=
__phys_to_pfn
(
DSP_IPI_24
XX
_PHYS
),
.
length
=
DSP_IPI_24
XX
_SIZE
,
.
virtual
=
DSP_IPI_24
20
_VIRT
,
.
pfn
=
__phys_to_pfn
(
DSP_IPI_24
20
_PHYS
),
.
length
=
DSP_IPI_24
20
_SIZE
,
.
type
=
MT_DEVICE
},
{
.
virtual
=
DSP_MMU_24
XX
_VIRT
,
.
pfn
=
__phys_to_pfn
(
DSP_MMU_24
XX
_PHYS
),
.
length
=
DSP_MMU_24
XX
_SIZE
,
.
virtual
=
DSP_MMU_24
20
_VIRT
,
.
pfn
=
__phys_to_pfn
(
DSP_MMU_24
20
_PHYS
),
.
length
=
DSP_MMU_24
20
_SIZE
,
.
type
=
MT_DEVICE
},
};
...
...
arch/arm/mach-omap2/opp2420_data.c
View file @
27dba4bc
...
...
@@ -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 a
nd 2430-SDPs variants available.
*
There are quite a few more rates
combinations which could be defined.
* Filling in table based on H4 boards a
vailable. 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 chang
ed
* to
change the set. The exception is the bypass setting which i
s
*
avail
ble 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 ne
ed
* to
be changed to change the set. The exception is the bypas
s
*
setting which is availa
ble 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 */
...
...
arch/arm/mach-omap2/opp2430_data.c
View file @
27dba4bc
/*
* opp24
20_data.c - old-style "OPP" table for OMAP242
0
* opp24
30_data.c - old-style "OPP" table for OMAP243
0
*
* 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 chang
ed
* to
change the set. The exception is the bypass setting which i
s
*
avail
ble 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 ne
ed
* to
be changed to change the set. The exception is the bypas
s
*
setting which is availa
ble 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 */
...
...
arch/arm/plat-omap/clock.c
View file @
27dba4bc
...
...
@@ -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
/*-------------------------------------------------------------------------*/
...
...
arch/arm/plat-omap/cpu-omap.c
View file @
27dba4bc
...
...
@@ -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
;
}
...
...
arch/arm/plat-omap/include/plat/clock.h
View file @
27dba4bc
...
...
@@ -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
;
...
...
arch/arm/plat-omap/include/plat/io.h
View file @
27dba4bc
...
...
@@ -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 */
/*
* ----------------------------------------------------------------------------
...
...
arch/arm/plat-omap/io.c
View file @
27dba4bc
...
...
@@ -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_24
XX_PHYS
,
DSP_MEM_24XX
_SIZE
))
return
XLATE
(
p
,
DSP_MEM_24
XX_PHYS
,
DSP_MEM_24XX
_VIRT
);
if
(
BETWEEN
(
p
,
DSP_IPI_24
XX_PHYS
,
DSP_IPI_24XX
_SIZE
))
return
XLATE
(
p
,
DSP_IPI_24
XX_PHYS
,
DSP_IPI_24XX
_SIZE
);
if
(
BETWEEN
(
p
,
DSP_MMU_24
XX_PHYS
,
DSP_MMU_24XX
_SIZE
))
return
XLATE
(
p
,
DSP_MMU_24
XX_PHYS
,
DSP_MMU_24XX
_VIRT
);
if
(
BETWEEN
(
p
,
DSP_MEM_24
20_PHYS
,
DSP_MEM_2420
_SIZE
))
return
XLATE
(
p
,
DSP_MEM_24
20_PHYS
,
DSP_MEM_2420
_VIRT
);
if
(
BETWEEN
(
p
,
DSP_IPI_24
20_PHYS
,
DSP_IPI_2420
_SIZE
))
return
XLATE
(
p
,
DSP_IPI_24
20_PHYS
,
DSP_IPI_2420
_SIZE
);
if
(
BETWEEN
(
p
,
DSP_MMU_24
20_PHYS
,
DSP_MMU_2420
_SIZE
))
return
XLATE
(
p
,
DSP_MMU_24
20_PHYS
,
DSP_MMU_2420
_VIRT
);
}
if
(
cpu_is_omap2430
())
{
if
(
BETWEEN
(
p
,
L4_WK_243X_PHYS
,
L4_WK_243X_SIZE
))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment