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
7063c88c
Commit
7063c88c
authored
Aug 10, 2009
by
Russell King
Committed by
Russell King
Aug 10, 2009
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'omap-fixes' of
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6
parents
f4b9a988
4177662e
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
110 additions
and
44 deletions
+110
-44
arch/arm/configs/rx51_defconfig
arch/arm/configs/rx51_defconfig
+4
-3
arch/arm/mach-omap2/board-overo.c
arch/arm/mach-omap2/board-overo.c
+1
-1
arch/arm/mach-omap2/board-rx51-peripherals.c
arch/arm/mach-omap2/board-rx51-peripherals.c
+5
-0
arch/arm/mach-omap2/mmc-twl4030.c
arch/arm/mach-omap2/mmc-twl4030.c
+6
-0
arch/arm/plat-omap/dma.c
arch/arm/plat-omap/dma.c
+3
-1
arch/arm/plat-omap/gpio.c
arch/arm/plat-omap/gpio.c
+89
-32
arch/arm/plat-omap/include/mach/cpu.h
arch/arm/plat-omap/include/mach/cpu.h
+0
-5
arch/arm/plat-omap/sram.c
arch/arm/plat-omap/sram.c
+2
-2
No files found.
arch/arm/configs/rx51_defconfig
View file @
7063c88c
...
...
@@ -282,7 +282,7 @@ CONFIG_ALIGNMENT_TRAP=y
#
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_CMDLINE="init=/sbin/preinit ubi.mtd=rootfs root=ubi0:rootfs rootfstype=ubifs rootflags=bulk_read,no_chk_data_crc rw console=ttyMTD,log console=tty0"
CONFIG_CMDLINE="init=/sbin/preinit ubi.mtd=rootfs root=ubi0:rootfs rootfstype=ubifs rootflags=bulk_read,no_chk_data_crc rw console=ttyMTD,log console=tty0
console=ttyS2,115200n8
"
# CONFIG_XIP_KERNEL is not set
# CONFIG_KEXEC is not set
...
...
@@ -1354,7 +1354,7 @@ CONFIG_USB_OTG_UTILS=y
# CONFIG_USB_GPIO_VBUS is not set
# CONFIG_ISP1301_OMAP is not set
CONFIG_TWL4030_USB=y
CONFIG_MMC=
m
CONFIG_MMC=
y
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_UNSAFE_RESUME is not set
...
...
@@ -1449,7 +1449,8 @@ CONFIG_RTC_DRV_TWL4030=m
# on-CPU RTC drivers
#
# CONFIG_DMADEVICES is not set
# CONFIG_REGULATOR is not set
CONFIG_REGULATOR=y
CONFIG_REGULATOR_TWL4030=y
# CONFIG_UIO is not set
# CONFIG_STAGING is not set
...
...
arch/arm/mach-omap2/board-overo.c
View file @
7063c88c
...
...
@@ -146,7 +146,7 @@ static struct platform_device overo_smsc911x_device = {
.
name
=
"smsc911x"
,
.
id
=
-
1
,
.
num_resources
=
ARRAY_SIZE
(
overo_smsc911x_resources
),
.
resource
=
&
overo_smsc911x_resources
,
.
resource
=
overo_smsc911x_resources
,
.
dev
=
{
.
platform_data
=
&
overo_smsc911x_config
,
},
...
...
arch/arm/mach-omap2/board-rx51-peripherals.c
View file @
7063c88c
...
...
@@ -278,6 +278,10 @@ static struct twl4030_gpio_platform_data rx51_gpio_data = {
.
setup
=
rx51_twlgpio_setup
,
};
static
struct
twl4030_usb_data
rx51_usb_data
=
{
.
usb_mode
=
T2_USB_MODE_ULPI
,
};
static
struct
twl4030_platform_data
rx51_twldata
=
{
.
irq_base
=
TWL4030_IRQ_BASE
,
.
irq_end
=
TWL4030_IRQ_END
,
...
...
@@ -286,6 +290,7 @@ static struct twl4030_platform_data rx51_twldata = {
.
gpio
=
&
rx51_gpio_data
,
.
keypad
=
&
rx51_kp_data
,
.
madc
=
&
rx51_madc_data
,
.
usb
=
&
rx51_usb_data
,
.
vaux1
=
&
rx51_vaux1
,
.
vaux2
=
&
rx51_vaux2
,
...
...
arch/arm/mach-omap2/mmc-twl4030.c
View file @
7063c88c
...
...
@@ -119,6 +119,7 @@ static int twl_mmc_late_init(struct device *dev)
if
(
i
!=
0
)
break
;
ret
=
PTR_ERR
(
reg
);
hsmmc
[
i
].
vcc
=
NULL
;
goto
err
;
}
hsmmc
[
i
].
vcc
=
reg
;
...
...
@@ -165,8 +166,13 @@ static int twl_mmc_late_init(struct device *dev)
static
void
twl_mmc_cleanup
(
struct
device
*
dev
)
{
struct
omap_mmc_platform_data
*
mmc
=
dev
->
platform_data
;
int
i
;
gpio_free
(
mmc
->
slots
[
0
].
switch_pin
);
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
hsmmc
);
i
++
)
{
regulator_put
(
hsmmc
[
i
].
vcc
);
regulator_put
(
hsmmc
[
i
].
vcc_aux
);
}
}
#ifdef CONFIG_PM
...
...
arch/arm/plat-omap/dma.c
View file @
7063c88c
...
...
@@ -946,7 +946,9 @@ void omap_start_dma(int lch)
cur_lch
=
next_lch
;
}
while
(
next_lch
!=
-
1
);
}
else
if
(
cpu_class_is_omap2
())
{
}
else
if
(
cpu_is_omap242x
()
||
(
cpu_is_omap243x
()
&&
omap_type
()
<=
OMAP2430_REV_ES1_0
))
{
/* Errata: Need to write lch even if not using chaining */
dma_write
(
lch
,
CLNK_CTRL
(
lch
));
}
...
...
arch/arm/plat-omap/gpio.c
View file @
7063c88c
...
...
@@ -476,14 +476,12 @@ static void _set_gpio_dataout(struct gpio_bank *bank, int gpio, int enable)
__raw_writel
(
l
,
reg
);
}
static
int
_
_omap_get_gpio_datain
(
int
gpio
)
static
int
_
get_gpio_datain
(
struct
gpio_bank
*
bank
,
int
gpio
)
{
struct
gpio_bank
*
bank
;
void
__iomem
*
reg
;
if
(
check_gpio
(
gpio
)
<
0
)
return
-
EINVAL
;
bank
=
get_gpio_bank
(
gpio
);
reg
=
bank
->
base
;
switch
(
bank
->
method
)
{
#ifdef CONFIG_ARCH_OMAP1
...
...
@@ -524,6 +522,53 @@ static int __omap_get_gpio_datain(int gpio)
&
(
1
<<
get_gpio_index
(
gpio
)))
!=
0
;
}
static
int
_get_gpio_dataout
(
struct
gpio_bank
*
bank
,
int
gpio
)
{
void
__iomem
*
reg
;
if
(
check_gpio
(
gpio
)
<
0
)
return
-
EINVAL
;
reg
=
bank
->
base
;
switch
(
bank
->
method
)
{
#ifdef CONFIG_ARCH_OMAP1
case
METHOD_MPUIO
:
reg
+=
OMAP_MPUIO_OUTPUT
;
break
;
#endif
#ifdef CONFIG_ARCH_OMAP15XX
case
METHOD_GPIO_1510
:
reg
+=
OMAP1510_GPIO_DATA_OUTPUT
;
break
;
#endif
#ifdef CONFIG_ARCH_OMAP16XX
case
METHOD_GPIO_1610
:
reg
+=
OMAP1610_GPIO_DATAOUT
;
break
;
#endif
#ifdef CONFIG_ARCH_OMAP730
case
METHOD_GPIO_730
:
reg
+=
OMAP730_GPIO_DATA_OUTPUT
;
break
;
#endif
#ifdef CONFIG_ARCH_OMAP850
case
METHOD_GPIO_850
:
reg
+=
OMAP850_GPIO_DATA_OUTPUT
;
break
;
#endif
#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) || \
defined(CONFIG_ARCH_OMAP4)
case
METHOD_GPIO_24XX
:
reg
+=
OMAP24XX_GPIO_DATAOUT
;
break
;
#endif
default:
return
-
EINVAL
;
}
return
(
__raw_readl
(
reg
)
&
(
1
<<
get_gpio_index
(
gpio
)))
!=
0
;
}
#define MOD_REG_BIT(reg, bit_mask, set) \
do { \
int l = __raw_readl(base + reg); \
...
...
@@ -1350,9 +1395,49 @@ static int gpio_input(struct gpio_chip *chip, unsigned offset)
return
0
;
}
static
int
gpio_is_input
(
struct
gpio_bank
*
bank
,
int
mask
)
{
void
__iomem
*
reg
=
bank
->
base
;
switch
(
bank
->
method
)
{
case
METHOD_MPUIO
:
reg
+=
OMAP_MPUIO_IO_CNTL
;
break
;
case
METHOD_GPIO_1510
:
reg
+=
OMAP1510_GPIO_DIR_CONTROL
;
break
;
case
METHOD_GPIO_1610
:
reg
+=
OMAP1610_GPIO_DIRECTION
;
break
;
case
METHOD_GPIO_730
:
reg
+=
OMAP730_GPIO_DIR_CONTROL
;
break
;
case
METHOD_GPIO_850
:
reg
+=
OMAP850_GPIO_DIR_CONTROL
;
break
;
case
METHOD_GPIO_24XX
:
reg
+=
OMAP24XX_GPIO_OE
;
break
;
}
return
__raw_readl
(
reg
)
&
mask
;
}
static
int
gpio_get
(
struct
gpio_chip
*
chip
,
unsigned
offset
)
{
return
__omap_get_gpio_datain
(
chip
->
base
+
offset
);
struct
gpio_bank
*
bank
;
void
__iomem
*
reg
;
int
gpio
;
u32
mask
;
gpio
=
chip
->
base
+
offset
;
bank
=
get_gpio_bank
(
gpio
);
reg
=
bank
->
base
;
mask
=
1
<<
get_gpio_index
(
gpio
);
if
(
gpio_is_input
(
bank
,
mask
))
return
_get_gpio_datain
(
bank
,
gpio
);
else
return
_get_gpio_dataout
(
bank
,
gpio
);
}
static
int
gpio_output
(
struct
gpio_chip
*
chip
,
unsigned
offset
,
int
value
)
...
...
@@ -1886,34 +1971,6 @@ arch_initcall(omap_gpio_sysinit);
#include <linux/debugfs.h>
#include <linux/seq_file.h>
static
int
gpio_is_input
(
struct
gpio_bank
*
bank
,
int
mask
)
{
void
__iomem
*
reg
=
bank
->
base
;
switch
(
bank
->
method
)
{
case
METHOD_MPUIO
:
reg
+=
OMAP_MPUIO_IO_CNTL
;
break
;
case
METHOD_GPIO_1510
:
reg
+=
OMAP1510_GPIO_DIR_CONTROL
;
break
;
case
METHOD_GPIO_1610
:
reg
+=
OMAP1610_GPIO_DIRECTION
;
break
;
case
METHOD_GPIO_730
:
reg
+=
OMAP730_GPIO_DIR_CONTROL
;
break
;
case
METHOD_GPIO_850
:
reg
+=
OMAP850_GPIO_DIR_CONTROL
;
break
;
case
METHOD_GPIO_24XX
:
reg
+=
OMAP24XX_GPIO_OE
;
break
;
}
return
__raw_readl
(
reg
)
&
mask
;
}
static
int
dbg_gpio_show
(
struct
seq_file
*
s
,
void
*
unused
)
{
unsigned
i
,
j
,
gpio
;
...
...
arch/arm/plat-omap/include/mach/cpu.h
View file @
7063c88c
...
...
@@ -378,9 +378,6 @@ IS_OMAP_TYPE(3430, 0x3430)
#define cpu_class_is_omap2() (cpu_is_omap24xx() || cpu_is_omap34xx() || \
cpu_is_omap44xx())
#if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) || \
defined(CONFIG_ARCH_OMAP4)
/* Various silicon revisions for omap2 */
#define OMAP242X_CLASS 0x24200024
#define OMAP2420_REV_ES1_0 0x24200024
...
...
@@ -436,5 +433,3 @@ IS_OMAP_TYPE(3430, 0x3430)
int
omap_chip_is
(
struct
omap_chip_id
oci
);
void
omap2_check_revision
(
void
);
#endif
/* defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) */
arch/arm/plat-omap/sram.c
View file @
7063c88c
...
...
@@ -44,9 +44,9 @@
#define OMAP2_SRAM_VA 0xe3000000
#define OMAP2_SRAM_PUB_VA (OMAP2_SRAM_VA + 0x800)
#define OMAP3_SRAM_PA 0x40200000
#define OMAP3_SRAM_VA 0x
d7
000000
#define OMAP3_SRAM_VA 0x
e3
000000
#define OMAP3_SRAM_PUB_PA 0x40208000
#define OMAP3_SRAM_PUB_VA
0xd7008000
#define OMAP3_SRAM_PUB_VA
(OMAP3_SRAM_VA + 0x8000)
#define OMAP4_SRAM_PA 0x40200000
/*0x402f0000*/
#define OMAP4_SRAM_VA 0xd7000000
/*0xd70f0000*/
...
...
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