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
Kirill Smelkov
linux
Commits
003e6348
Commit
003e6348
authored
Feb 27, 2012
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
3e343d7a
655850ed
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
110 additions
and
22 deletions
+110
-22
arch/arm/mach-omap1/board-innovator.c
arch/arm/mach-omap1/board-innovator.c
+2
-2
arch/arm/mach-omap2/Kconfig
arch/arm/mach-omap2/Kconfig
+2
-2
arch/arm/mach-omap2/board-n8x0.c
arch/arm/mach-omap2/board-n8x0.c
+4
-0
arch/arm/mach-omap2/board-omap3evm.c
arch/arm/mach-omap2/board-omap3evm.c
+1
-1
arch/arm/mach-omap2/common.h
arch/arm/mach-omap2/common.h
+1
-0
arch/arm/mach-omap2/cpuidle44xx.c
arch/arm/mach-omap2/cpuidle44xx.c
+2
-3
arch/arm/mach-omap2/gpmc-smsc911x.c
arch/arm/mach-omap2/gpmc-smsc911x.c
+52
-0
arch/arm/mach-omap2/hsmmc.c
arch/arm/mach-omap2/hsmmc.c
+6
-0
arch/arm/mach-omap2/io.c
arch/arm/mach-omap2/io.c
+1
-0
arch/arm/mach-omap2/mailbox.c
arch/arm/mach-omap2/mailbox.c
+9
-1
arch/arm/mach-omap2/mux.c
arch/arm/mach-omap2/mux.c
+1
-1
arch/arm/mach-omap2/omap4-common.c
arch/arm/mach-omap2/omap4-common.c
+16
-9
arch/arm/mach-omap2/pm.c
arch/arm/mach-omap2/pm.c
+3
-0
arch/arm/mach-omap2/usb-host.c
arch/arm/mach-omap2/usb-host.c
+3
-3
arch/arm/plat-omap/common.c
arch/arm/plat-omap/common.c
+1
-0
arch/arm/plat-omap/include/plat/omap-secure.h
arch/arm/plat-omap/include/plat/omap-secure.h
+6
-0
No files found.
arch/arm/mach-omap1/board-innovator.c
View file @
003e6348
...
...
@@ -416,13 +416,13 @@ static void __init innovator_init(void)
#ifdef CONFIG_ARCH_OMAP15XX
if
(
cpu_is_omap1510
())
{
omap1_usb_init
(
&
innovator1510_usb_config
);
innovator_config
[
1
].
data
=
&
innovator1510_lcd_config
;
innovator_config
[
0
].
data
=
&
innovator1510_lcd_config
;
}
#endif
#ifdef CONFIG_ARCH_OMAP16XX
if
(
cpu_is_omap1610
())
{
omap1_usb_init
(
&
h2_usb_config
);
innovator_config
[
1
].
data
=
&
innovator1610_lcd_config
;
innovator_config
[
0
].
data
=
&
innovator1610_lcd_config
;
}
#endif
omap_board_config
=
innovator_config
;
...
...
arch/arm/mach-omap2/Kconfig
View file @
003e6348
...
...
@@ -364,8 +364,8 @@ config OMAP3_SDRC_AC_TIMING
going on could result in system crashes;
config OMAP4_ERRATA_I688
bool "OMAP4 errata: Async Bridge Corruption
(BROKEN)
"
depends on ARCH_OMAP4
&& BROKEN
bool "OMAP4 errata: Async Bridge Corruption"
depends on ARCH_OMAP4
select ARCH_HAS_BARRIERS
help
If a data is stalled inside asynchronous bridge because of back
...
...
arch/arm/mach-omap2/board-n8x0.c
View file @
003e6348
...
...
@@ -371,7 +371,11 @@ static void n8x0_mmc_callback(void *data, u8 card_mask)
else
*
openp
=
0
;
#ifdef CONFIG_MMC_OMAP
omap_mmc_notify_cover_event
(
mmc_device
,
index
,
*
openp
);
#else
pr_warn
(
"MMC: notify cover event not available
\n
"
);
#endif
}
static
int
n8x0_mmc_late_init
(
struct
device
*
dev
)
...
...
arch/arm/mach-omap2/board-omap3evm.c
View file @
003e6348
...
...
@@ -381,7 +381,7 @@ static int omap3evm_twl_gpio_setup(struct device *dev,
gpio_request_one
(
gpio
+
7
,
GPIOF_OUT_INIT_LOW
,
"EN_DVI"
);
/* TWL4030_GPIO_MAX + 1 == ledB (out, active low LED) */
gpio_leds
[
2
].
gpio
=
gpio
+
TWL4030_GPIO_MAX
+
1
;
gpio_leds
[
0
].
gpio
=
gpio
+
TWL4030_GPIO_MAX
+
1
;
platform_device_register
(
&
leds_gpio
);
...
...
arch/arm/mach-omap2/common.h
View file @
003e6348
...
...
@@ -132,6 +132,7 @@ void omap3_map_io(void);
void
am33xx_map_io
(
void
);
void
omap4_map_io
(
void
);
void
ti81xx_map_io
(
void
);
void
omap_barriers_init
(
void
);
/**
* omap_test_timeout - busy-loop, testing a condition
...
...
arch/arm/mach-omap2/cpuidle44xx.c
View file @
003e6348
...
...
@@ -65,7 +65,6 @@ static int omap4_enter_idle(struct cpuidle_device *dev,
struct
timespec
ts_preidle
,
ts_postidle
,
ts_idle
;
u32
cpu1_state
;
int
idle_time
;
int
new_state_idx
;
int
cpu_id
=
smp_processor_id
();
/* Used to keep track of the total time in idle */
...
...
@@ -84,8 +83,8 @@ static int omap4_enter_idle(struct cpuidle_device *dev,
*/
cpu1_state
=
pwrdm_read_pwrst
(
cpu1_pd
);
if
(
cpu1_state
!=
PWRDM_POWER_OFF
)
{
new_state_id
x
=
drv
->
safe_state_index
;
cx
=
cpuidle_get_statedata
(
&
dev
->
states_usage
[
new_state_id
x
]);
inde
x
=
drv
->
safe_state_index
;
cx
=
cpuidle_get_statedata
(
&
dev
->
states_usage
[
inde
x
]);
}
if
(
index
>
0
)
...
...
arch/arm/mach-omap2/gpmc-smsc911x.c
View file @
003e6348
...
...
@@ -19,6 +19,8 @@
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/smsc911x.h>
#include <linux/regulator/fixed.h>
#include <linux/regulator/machine.h>
#include <plat/board.h>
#include <plat/gpmc.h>
...
...
@@ -42,6 +44,50 @@ static struct smsc911x_platform_config gpmc_smsc911x_config = {
.
flags
=
SMSC911X_USE_16BIT
,
};
static
struct
regulator_consumer_supply
gpmc_smsc911x_supply
[]
=
{
REGULATOR_SUPPLY
(
"vddvario"
,
"smsc911x.0"
),
REGULATOR_SUPPLY
(
"vdd33a"
,
"smsc911x.0"
),
};
/* Generic regulator definition to satisfy smsc911x */
static
struct
regulator_init_data
gpmc_smsc911x_reg_init_data
=
{
.
constraints
=
{
.
min_uV
=
3300000
,
.
max_uV
=
3300000
,
.
valid_modes_mask
=
REGULATOR_MODE_NORMAL
|
REGULATOR_MODE_STANDBY
,
.
valid_ops_mask
=
REGULATOR_CHANGE_MODE
|
REGULATOR_CHANGE_STATUS
,
},
.
num_consumer_supplies
=
ARRAY_SIZE
(
gpmc_smsc911x_supply
),
.
consumer_supplies
=
gpmc_smsc911x_supply
,
};
static
struct
fixed_voltage_config
gpmc_smsc911x_fixed_reg_data
=
{
.
supply_name
=
"gpmc_smsc911x"
,
.
microvolts
=
3300000
,
.
gpio
=
-
EINVAL
,
.
startup_delay
=
0
,
.
enable_high
=
0
,
.
enabled_at_boot
=
1
,
.
init_data
=
&
gpmc_smsc911x_reg_init_data
,
};
/*
* Platform device id of 42 is a temporary fix to avoid conflicts
* with other reg-fixed-voltage devices. The real fix should
* involve the driver core providing a way of dynamically
* assigning a unique id on registration for platform devices
* in the same name space.
*/
static
struct
platform_device
gpmc_smsc911x_regulator
=
{
.
name
=
"reg-fixed-voltage"
,
.
id
=
42
,
.
dev
=
{
.
platform_data
=
&
gpmc_smsc911x_fixed_reg_data
,
},
};
/*
* Initialize smsc911x device connected to the GPMC. Note that we
* assume that pin multiplexing is done in the board-*.c file,
...
...
@@ -55,6 +101,12 @@ void __init gpmc_smsc911x_init(struct omap_smsc911x_platform_data *board_data)
gpmc_cfg
=
board_data
;
ret
=
platform_device_register
(
&
gpmc_smsc911x_regulator
);
if
(
ret
<
0
)
{
pr_err
(
"Unable to register smsc911x regulators: %d
\n
"
,
ret
);
return
;
}
if
(
gpmc_cs_request
(
gpmc_cfg
->
cs
,
SZ_16M
,
&
cs_mem_base
)
<
0
)
{
pr_err
(
"Failed to request GPMC mem region
\n
"
);
return
;
...
...
arch/arm/mach-omap2/hsmmc.c
View file @
003e6348
...
...
@@ -428,6 +428,7 @@ static int omap_hsmmc_pdata_init(struct omap2_hsmmc_info *c,
return
0
;
}
static
int
omap_hsmmc_done
;
#define MAX_OMAP_MMC_HWMOD_NAME_LEN 16
void
omap_init_hsmmc
(
struct
omap2_hsmmc_info
*
hsmmcinfo
,
int
ctrl_nr
)
...
...
@@ -491,6 +492,11 @@ void omap2_hsmmc_init(struct omap2_hsmmc_info *controllers)
{
u32
reg
;
if
(
omap_hsmmc_done
)
return
;
omap_hsmmc_done
=
1
;
if
(
!
cpu_is_omap44xx
())
{
if
(
cpu_is_omap2430
())
{
control_pbias_offset
=
OMAP243X_CONTROL_PBIAS_LITE
;
...
...
arch/arm/mach-omap2/io.c
View file @
003e6348
...
...
@@ -307,6 +307,7 @@ void __init omapam33xx_map_common_io(void)
void
__init
omap44xx_map_common_io
(
void
)
{
iotable_init
(
omap44xx_io_desc
,
ARRAY_SIZE
(
omap44xx_io_desc
));
omap_barriers_init
();
}
#endif
...
...
arch/arm/mach-omap2/mailbox.c
View file @
003e6348
...
...
@@ -281,8 +281,16 @@ static struct omap_mbox mbox_iva_info = {
.
ops
=
&
omap2_mbox_ops
,
.
priv
=
&
omap2_mbox_iva_priv
,
};
#endif
struct
omap_mbox
*
omap2_mboxes
[]
=
{
&
mbox_dsp_info
,
&
mbox_iva_info
,
NULL
};
#ifdef CONFIG_ARCH_OMAP2
struct
omap_mbox
*
omap2_mboxes
[]
=
{
&
mbox_dsp_info
,
#ifdef CONFIG_SOC_OMAP2420
&
mbox_iva_info
,
#endif
NULL
};
#endif
#if defined(CONFIG_ARCH_OMAP4)
...
...
arch/arm/mach-omap2/mux.c
View file @
003e6348
...
...
@@ -218,7 +218,7 @@ static int _omap_mux_get_by_name(struct omap_mux_partition *partition,
return
-
ENODEV
;
}
static
int
__init
static
int
omap_mux_get_by_name
(
const
char
*
muxname
,
struct
omap_mux_partition
**
found_partition
,
struct
omap_mux
**
found_mux
)
...
...
arch/arm/mach-omap2/omap4-common.c
View file @
003e6348
...
...
@@ -24,6 +24,7 @@
#include <plat/irqs.h>
#include <plat/sram.h>
#include <plat/omap-secure.h>
#include <mach/hardware.h>
#include <mach/omap-wakeupgen.h>
...
...
@@ -43,6 +44,9 @@ static void __iomem *sar_ram_base;
void
__iomem
*
dram_sync
,
*
sram_sync
;
static
phys_addr_t
paddr
;
static
u32
size
;
void
omap_bus_sync
(
void
)
{
if
(
dram_sync
&&
sram_sync
)
{
...
...
@@ -52,18 +56,20 @@ void omap_bus_sync(void)
}
}
static
int
__init
omap_barriers_init
(
void
)
/* Steal one page physical memory for barrier implementation */
int
__init
omap_barrier_reserve_memblock
(
void
)
{
struct
map_desc
dram_io_desc
[
1
];
phys_addr_t
paddr
;
u32
size
;
if
(
!
cpu_is_omap44xx
())
return
-
ENODEV
;
size
=
ALIGN
(
PAGE_SIZE
,
SZ_1M
);
paddr
=
arm_memblock_steal
(
size
,
SZ_1M
);
return
0
;
}
void
__init
omap_barriers_init
(
void
)
{
struct
map_desc
dram_io_desc
[
1
];
dram_io_desc
[
0
].
virtual
=
OMAP4_DRAM_BARRIER_VA
;
dram_io_desc
[
0
].
pfn
=
__phys_to_pfn
(
paddr
);
dram_io_desc
[
0
].
length
=
size
;
...
...
@@ -75,9 +81,10 @@ static int __init omap_barriers_init(void)
pr_info
(
"OMAP4: Map 0x%08llx to 0x%08lx for dram barrier
\n
"
,
(
long
long
)
paddr
,
dram_io_desc
[
0
].
virtual
);
return
0
;
}
core_initcall
(
omap_barriers_init
);
#else
void
__init
omap_barriers_init
(
void
)
{}
#endif
void
__init
gic_init_irq
(
void
)
...
...
arch/arm/mach-omap2/pm.c
View file @
003e6348
...
...
@@ -174,14 +174,17 @@ static int __init omap2_set_init_voltage(char *vdd_name, char *clk_name,
freq
=
clk
->
rate
;
clk_put
(
clk
);
rcu_read_lock
();
opp
=
opp_find_freq_ceil
(
dev
,
&
freq
);
if
(
IS_ERR
(
opp
))
{
rcu_read_unlock
();
pr_err
(
"%s: unable to find boot up OPP for vdd_%s
\n
"
,
__func__
,
vdd_name
);
goto
exit
;
}
bootup_volt
=
opp_get_voltage
(
opp
);
rcu_read_unlock
();
if
(
!
bootup_volt
)
{
pr_err
(
"%s: unable to find voltage corresponding "
"to the bootup OPP for vdd_%s
\n
"
,
__func__
,
vdd_name
);
...
...
arch/arm/mach-omap2/usb-host.c
View file @
003e6348
...
...
@@ -486,7 +486,7 @@ static void setup_4430ohci_io_mux(const enum usbhs_omap_port_mode *port_mode)
void
__init
usbhs_init
(
const
struct
usbhs_omap_board_data
*
pdata
)
{
struct
omap_hwmod
*
oh
[
2
];
struct
omap_device
*
od
;
struct
platform_device
*
pdev
;
int
bus_id
=
-
1
;
int
i
;
...
...
@@ -522,11 +522,11 @@ void __init usbhs_init(const struct usbhs_omap_board_data *pdata)
return
;
}
od
=
omap_device_build_ss
(
OMAP_USBHS_DEVICE
,
bus_id
,
oh
,
2
,
pdev
=
omap_device_build_ss
(
OMAP_USBHS_DEVICE
,
bus_id
,
oh
,
2
,
(
void
*
)
&
usbhs_data
,
sizeof
(
usbhs_data
),
omap_uhhtll_latency
,
ARRAY_SIZE
(
omap_uhhtll_latency
),
false
);
if
(
IS_ERR
(
od
))
{
if
(
IS_ERR
(
pdev
))
{
pr_err
(
"Could not build hwmod devices %s,%s
\n
"
,
USBHS_UHH_HWMODNAME
,
USBHS_TLL_HWMODNAME
);
return
;
...
...
arch/arm/plat-omap/common.c
View file @
003e6348
...
...
@@ -69,6 +69,7 @@ void __init omap_reserve(void)
omap_vram_reserve_sdram_memblock
();
omap_dsp_reserve_sdram_memblock
();
omap_secure_ram_reserve_memblock
();
omap_barrier_reserve_memblock
();
}
void
__init
omap_init_consistent_dma_size
(
void
)
...
...
arch/arm/plat-omap/include/plat/omap-secure.h
View file @
003e6348
...
...
@@ -10,4 +10,10 @@ static inline void omap_secure_ram_reserve_memblock(void)
{
}
#endif
#ifdef CONFIG_OMAP4_ERRATA_I688
extern
int
omap_barrier_reserve_memblock
(
void
);
#else
static
inline
void
omap_barrier_reserve_memblock
(
void
)
{
}
#endif
#endif
/* __OMAP_SECURE_H__ */
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