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
b70c4207
Commit
b70c4207
authored
Nov 24, 2011
by
Arnd Bergmann
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'fixes' of
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap
into fixes
parents
597b97ca
52f3a41e
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
70 additions
and
42 deletions
+70
-42
arch/arm/configs/omap1_defconfig
arch/arm/configs/omap1_defconfig
+0
-1
arch/arm/mach-omap1/Kconfig
arch/arm/mach-omap1/Kconfig
+0
-8
arch/arm/mach-omap1/board-ams-delta.c
arch/arm/mach-omap1/board-ams-delta.c
+7
-3
arch/arm/mach-omap1/clock.h
arch/arm/mach-omap1/clock.h
+2
-1
arch/arm/mach-omap1/clock_data.c
arch/arm/mach-omap1/clock_data.c
+34
-19
arch/arm/mach-omap1/devices.c
arch/arm/mach-omap1/devices.c
+3
-0
arch/arm/mach-omap2/Kconfig
arch/arm/mach-omap2/Kconfig
+1
-0
arch/arm/mach-omap2/cpuidle34xx.c
arch/arm/mach-omap2/cpuidle34xx.c
+1
-0
arch/arm/mach-omap2/io.h
arch/arm/mach-omap2/io.h
+0
-0
arch/arm/mach-omap2/omap_hwmod.c
arch/arm/mach-omap2/omap_hwmod.c
+3
-3
arch/arm/mach-omap2/omap_l3_noc.c
arch/arm/mach-omap2/omap_l3_noc.c
+1
-1
arch/arm/mach-omap2/pm.c
arch/arm/mach-omap2/pm.c
+2
-4
arch/arm/mach-omap2/smartreflex.c
arch/arm/mach-omap2/smartreflex.c
+1
-1
arch/arm/mach-omap2/twl-common.c
arch/arm/mach-omap2/twl-common.c
+11
-0
arch/arm/mach-omap2/twl-common.h
arch/arm/mach-omap2/twl-common.h
+3
-0
arch/arm/plat-omap/include/plat/clock.h
arch/arm/plat-omap/include/plat/clock.h
+1
-1
No files found.
arch/arm/configs/omap1_defconfig
View file @
b70c4207
...
...
@@ -48,7 +48,6 @@ CONFIG_MACH_SX1=y
CONFIG_MACH_NOKIA770=y
CONFIG_MACH_AMS_DELTA=y
CONFIG_MACH_OMAP_GENERIC=y
CONFIG_OMAP_CLOCKS_SET_BY_BOOTLOADER=y
CONFIG_OMAP_ARM_216MHZ=y
CONFIG_OMAP_ARM_195MHZ=y
CONFIG_OMAP_ARM_192MHZ=y
...
...
arch/arm/mach-omap1/Kconfig
View file @
b70c4207
...
...
@@ -171,14 +171,6 @@ config MACH_OMAP_GENERIC
comment "OMAP CPU Speed"
depends on ARCH_OMAP1
config OMAP_CLOCKS_SET_BY_BOOTLOADER
bool "OMAP clocks set by bootloader"
depends on ARCH_OMAP1
help
Enable this option to prevent the kernel from overriding the clock
frequencies programmed by bootloader for MPU, DSP, MMUs, TC,
internal LCD controller and MPU peripherals.
config OMAP_ARM_216MHZ
bool "OMAP ARM 216 MHz CPU (1710 only)"
depends on ARCH_OMAP1 && ARCH_OMAP16XX
...
...
arch/arm/mach-omap1/board-ams-delta.c
View file @
b70c4207
...
...
@@ -302,8 +302,6 @@ static void __init ams_delta_init(void)
omap_cfg_reg
(
J19_1610_CAM_D6
);
omap_cfg_reg
(
J18_1610_CAM_D7
);
iotable_init
(
ams_delta_io_desc
,
ARRAY_SIZE
(
ams_delta_io_desc
));
omap_board_config
=
ams_delta_config
;
omap_board_config_size
=
ARRAY_SIZE
(
ams_delta_config
);
omap_serial_init
();
...
...
@@ -373,10 +371,16 @@ static int __init ams_delta_modem_init(void)
}
arch_initcall
(
ams_delta_modem_init
);
static
void
__init
ams_delta_map_io
(
void
)
{
omap15xx_map_io
();
iotable_init
(
ams_delta_io_desc
,
ARRAY_SIZE
(
ams_delta_io_desc
));
}
MACHINE_START
(
AMS_DELTA
,
"Amstrad E3 (Delta)"
)
/* Maintainer: Jonathan McDowell <noodles@earth.li> */
.
atag_offset
=
0x100
,
.
map_io
=
omap15xx
_map_io
,
.
map_io
=
ams_delta
_map_io
,
.
init_early
=
omap1_init_early
,
.
reserve
=
omap_reserve
,
.
init_irq
=
omap1_init_irq
,
...
...
arch/arm/mach-omap1/clock.h
View file @
b70c4207
...
...
@@ -17,7 +17,8 @@
#include <plat/clock.h>
extern
int
__init
omap1_clk_init
(
void
);
int
omap1_clk_init
(
void
);
void
omap1_clk_late_init
(
void
);
extern
int
omap1_clk_enable
(
struct
clk
*
clk
);
extern
void
omap1_clk_disable
(
struct
clk
*
clk
);
extern
long
omap1_clk_round_rate
(
struct
clk
*
clk
,
unsigned
long
rate
);
...
...
arch/arm/mach-omap1/clock_data.c
View file @
b70c4207
...
...
@@ -767,6 +767,15 @@ static struct clk_functions omap1_clk_functions = {
.
clk_disable_unused
=
omap1_clk_disable_unused
,
};
static
void
__init
omap1_show_rates
(
void
)
{
pr_notice
(
"Clocking rate (xtal/DPLL1/MPU): "
"%ld.%01ld/%ld.%01ld/%ld.%01ld MHz
\n
"
,
ck_ref
.
rate
/
1000000
,
(
ck_ref
.
rate
/
100000
)
%
10
,
ck_dpll1
.
rate
/
1000000
,
(
ck_dpll1
.
rate
/
100000
)
%
10
,
arm_ck
.
rate
/
1000000
,
(
arm_ck
.
rate
/
100000
)
%
10
);
}
int
__init
omap1_clk_init
(
void
)
{
struct
omap_clk
*
c
;
...
...
@@ -835,9 +844,12 @@ int __init omap1_clk_init(void)
/* We want to be in syncronous scalable mode */
omap_writew
(
0x1000
,
ARM_SYSST
);
#ifdef CONFIG_OMAP_CLOCKS_SET_BY_BOOTLOADER
/* Use values set by bootloader. Determine PLL rate and recalculate
* dependent clocks as if kernel had changed PLL or divisors.
/*
* Initially use the values set by bootloader. Determine PLL rate and
* recalculate dependent clocks as if kernel had changed PLL or
* divisors. See also omap1_clk_late_init() that can reprogram dpll1
* after the SRAM is initialized.
*/
{
unsigned
pll_ctl_val
=
omap_readw
(
DPLL_CTL
);
...
...
@@ -862,25 +874,10 @@ int __init omap1_clk_init(void)
}
}
}
#else
/* Find the highest supported frequency and enable it */
if
(
omap1_select_table_rate
(
&
virtual_ck_mpu
,
~
0
))
{
printk
(
KERN_ERR
"System frequencies not set. Check your config.
\n
"
);
/* Guess sane values (60MHz) */
omap_writew
(
0x2290
,
DPLL_CTL
);
omap_writew
(
cpu_is_omap7xx
()
?
0x3005
:
0x1005
,
ARM_CKCTL
);
ck_dpll1
.
rate
=
60000000
;
}
#endif
propagate_rate
(
&
ck_dpll1
);
/* Cache rates for clocks connected to ck_ref (not dpll1) */
propagate_rate
(
&
ck_ref
);
printk
(
KERN_INFO
"Clocking rate (xtal/DPLL1/MPU): "
"%ld.%01ld/%ld.%01ld/%ld.%01ld MHz
\n
"
,
ck_ref
.
rate
/
1000000
,
(
ck_ref
.
rate
/
100000
)
%
10
,
ck_dpll1
.
rate
/
1000000
,
(
ck_dpll1
.
rate
/
100000
)
%
10
,
arm_ck
.
rate
/
1000000
,
(
arm_ck
.
rate
/
100000
)
%
10
);
omap1_show_rates
();
if
(
machine_is_omap_perseus2
()
||
machine_is_omap_fsample
())
{
/* Select slicer output as OMAP input clock */
omap_writew
(
omap_readw
(
OMAP7XX_PCC_UPLD_CTRL
)
&
~
0x1
,
...
...
@@ -925,3 +922,21 @@ int __init omap1_clk_init(void)
return
0
;
}
#define OMAP1_DPLL1_SANE_VALUE 60000000
void
__init
omap1_clk_late_init
(
void
)
{
if
(
ck_dpll1
.
rate
>=
OMAP1_DPLL1_SANE_VALUE
)
return
;
/* Find the highest supported frequency and enable it */
if
(
omap1_select_table_rate
(
&
virtual_ck_mpu
,
~
0
))
{
pr_err
(
"System frequencies not set, using default. Check your config.
\n
"
);
omap_writew
(
0x2290
,
DPLL_CTL
);
omap_writew
(
cpu_is_omap7xx
()
?
0x3005
:
0x1005
,
ARM_CKCTL
);
ck_dpll1
.
rate
=
OMAP1_DPLL1_SANE_VALUE
;
}
propagate_rate
(
&
ck_dpll1
);
omap1_show_rates
();
}
arch/arm/mach-omap1/devices.c
View file @
b70c4207
...
...
@@ -30,6 +30,8 @@
#include <plat/omap7xx.h>
#include <plat/mcbsp.h>
#include "clock.h"
/*-------------------------------------------------------------------------*/
#if defined(CONFIG_RTC_DRV_OMAP) || defined(CONFIG_RTC_DRV_OMAP_MODULE)
...
...
@@ -293,6 +295,7 @@ static int __init omap1_init_devices(void)
return
-
ENODEV
;
omap_sram_init
();
omap1_clk_late_init
();
/* please keep these calls, and their implementations above,
* in alphabetical order so they're easier to sort through.
...
...
arch/arm/mach-omap2/Kconfig
View file @
b70c4207
...
...
@@ -334,6 +334,7 @@ config MACH_OMAP4_PANDA
config OMAP3_EMU
bool "OMAP3 debugging peripherals"
depends on ARCH_OMAP3
select ARM_AMBA
select OC_ETM
help
Say Y here to enable debugging hardware of omap3
...
...
arch/arm/mach-omap2/cpuidle34xx.c
View file @
b70c4207
...
...
@@ -24,6 +24,7 @@
#include <linux/sched.h>
#include <linux/cpuidle.h>
#include <linux/export.h>
#include <plat/prcm.h>
#include <plat/irqs.h>
...
...
arch/arm/mach-omap2/io.h
deleted
100644 → 0
View file @
597b97ca
arch/arm/mach-omap2/omap_hwmod.c
View file @
b70c4207
...
...
@@ -749,7 +749,7 @@ static int _count_mpu_irqs(struct omap_hwmod *oh)
ohii
=
&
oh
->
mpu_irqs
[
i
++
];
}
while
(
ohii
->
irq
!=
-
1
);
return
i
;
return
i
-
1
;
}
/**
...
...
@@ -772,7 +772,7 @@ static int _count_sdma_reqs(struct omap_hwmod *oh)
ohdi
=
&
oh
->
sdma_reqs
[
i
++
];
}
while
(
ohdi
->
dma_req
!=
-
1
);
return
i
;
return
i
-
1
;
}
/**
...
...
@@ -795,7 +795,7 @@ static int _count_ocp_if_addr_spaces(struct omap_hwmod_ocp_if *os)
mem
=
&
os
->
addr
[
i
++
];
}
while
(
mem
->
pa_start
!=
mem
->
pa_end
);
return
i
;
return
i
-
1
;
}
/**
...
...
arch/arm/mach-omap2/omap_l3_noc.c
View file @
b70c4207
...
...
@@ -237,7 +237,7 @@ static int __devexit omap4_l3_remove(struct platform_device *pdev)
static
const
struct
of_device_id
l3_noc_match
[]
=
{
{.
compatible
=
"ti,omap4-l3-noc"
,
},
{},
}
}
;
MODULE_DEVICE_TABLE
(
of
,
l3_noc_match
);
#else
#define l3_noc_match NULL
...
...
arch/arm/mach-omap2/pm.c
View file @
b70c4207
...
...
@@ -24,6 +24,7 @@
#include "powerdomain.h"
#include "clockdomain.h"
#include "pm.h"
#include "twl-common.h"
static
struct
omap_device_pm_latency
*
pm_lats
;
...
...
@@ -226,11 +227,8 @@ postcore_initcall(omap2_common_pm_init);
static
int
__init
omap2_common_pm_late_init
(
void
)
{
/* Init the OMAP TWL parameters */
omap3_twl_init
();
omap4_twl_init
();
/* Init the voltage layer */
omap_pmic_late_init
();
omap_voltage_late_init
();
/* Initialize the voltages */
...
...
arch/arm/mach-omap2/smartreflex.c
View file @
b70c4207
...
...
@@ -139,7 +139,7 @@ static irqreturn_t sr_interrupt(int irq, void *data)
sr_write_reg
(
sr_info
,
ERRCONFIG_V1
,
status
);
}
else
if
(
sr_info
->
ip_type
==
SR_TYPE_V2
)
{
/* Read the status bits */
sr_read_reg
(
sr_info
,
IRQSTATUS
);
s
tatus
=
s
r_read_reg
(
sr_info
,
IRQSTATUS
);
/* Clear them by writing back */
sr_write_reg
(
sr_info
,
IRQSTATUS
,
status
);
...
...
arch/arm/mach-omap2/twl-common.c
View file @
b70c4207
...
...
@@ -30,6 +30,7 @@
#include <plat/usb.h>
#include "twl-common.h"
#include "pm.h"
static
struct
i2c_board_info
__initdata
pmic_i2c_board_info
=
{
.
addr
=
0x48
,
...
...
@@ -48,6 +49,16 @@ void __init omap_pmic_init(int bus, u32 clkrate,
omap_register_i2c_bus
(
bus
,
clkrate
,
&
pmic_i2c_board_info
,
1
);
}
void
__init
omap_pmic_late_init
(
void
)
{
/* Init the OMAP TWL parameters (if PMIC has been registerd) */
if
(
!
pmic_i2c_board_info
.
irq
)
return
;
omap3_twl_init
();
omap4_twl_init
();
}
#if defined(CONFIG_ARCH_OMAP3)
static
struct
twl4030_usb_data
omap3_usb_pdata
=
{
.
usb_mode
=
T2_USB_MODE_ULPI
,
...
...
arch/arm/mach-omap2/twl-common.h
View file @
b70c4207
#ifndef __OMAP_PMIC_COMMON__
#define __OMAP_PMIC_COMMON__
#include <plat/irqs.h>
#define TWL_COMMON_PDATA_USB (1 << 0)
#define TWL_COMMON_PDATA_BCI (1 << 1)
#define TWL_COMMON_PDATA_MADC (1 << 2)
...
...
@@ -30,6 +32,7 @@ struct twl4030_platform_data;
void
omap_pmic_init
(
int
bus
,
u32
clkrate
,
const
char
*
pmic_type
,
int
pmic_irq
,
struct
twl4030_platform_data
*
pmic_data
);
void
omap_pmic_late_init
(
void
);
static
inline
void
omap2_pmic_init
(
const
char
*
pmic_type
,
struct
twl4030_platform_data
*
pmic_data
)
...
...
arch/arm/plat-omap/include/plat/clock.h
View file @
b70c4207
...
...
@@ -165,8 +165,8 @@ struct dpll_data {
u8
auto_recal_bit
;
u8
recal_en_bit
;
u8
recal_st_bit
;
u8
flags
;
# endif
u8
flags
;
};
#endif
...
...
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