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
b0efb424
Commit
b0efb424
authored
Jun 10, 2009
by
Russell King
Committed by
Russell King
Jun 10, 2009
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'ep93xx' into devel
parents
bd78512e
40702432
Changes
17
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
898 additions
and
858 deletions
+898
-858
arch/arm/configs/ep93xx_defconfig
arch/arm/configs/ep93xx_defconfig
+547
-306
arch/arm/mach-ep93xx/Kconfig
arch/arm/mach-ep93xx/Kconfig
+65
-17
arch/arm/mach-ep93xx/Makefile
arch/arm/mach-ep93xx/Makefile
+1
-7
arch/arm/mach-ep93xx/Makefile.boot
arch/arm/mach-ep93xx/Makefile.boot
+5
-2
arch/arm/mach-ep93xx/clock.c
arch/arm/mach-ep93xx/clock.c
+27
-27
arch/arm/mach-ep93xx/core.c
arch/arm/mach-ep93xx/core.c
+4
-4
arch/arm/mach-ep93xx/edb9302.c
arch/arm/mach-ep93xx/edb9302.c
+0
-68
arch/arm/mach-ep93xx/edb9302a.c
arch/arm/mach-ep93xx/edb9302a.c
+0
-68
arch/arm/mach-ep93xx/edb9307.c
arch/arm/mach-ep93xx/edb9307.c
+0
-68
arch/arm/mach-ep93xx/edb9307a.c
arch/arm/mach-ep93xx/edb9307a.c
+0
-80
arch/arm/mach-ep93xx/edb9312.c
arch/arm/mach-ep93xx/edb9312.c
+0
-69
arch/arm/mach-ep93xx/edb9315.c
arch/arm/mach-ep93xx/edb9315.c
+0
-68
arch/arm/mach-ep93xx/edb9315a.c
arch/arm/mach-ep93xx/edb9315a.c
+0
-68
arch/arm/mach-ep93xx/edb93xx.c
arch/arm/mach-ep93xx/edb93xx.c
+217
-0
arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h
arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h
+16
-3
arch/arm/mach-ep93xx/include/mach/memory.h
arch/arm/mach-ep93xx/include/mach/memory.h
+6
-0
drivers/usb/host/ohci-ep93xx.c
drivers/usb/host/ohci-ep93xx.c
+10
-3
No files found.
arch/arm/configs/ep93xx_defconfig
View file @
b0efb424
This diff is collapsed.
Click to expand it.
arch/arm/mach-ep93xx/Kconfig
View file @
b0efb424
...
...
@@ -9,55 +9,100 @@ config CRUNCH
comment "EP93xx Platforms"
choice
prompt "EP93xx first SDRAM bank selection"
default EP93XX_SDCE3_SYNC_PHYS_OFFSET
config EP93XX_SDCE3_SYNC_PHYS_OFFSET
bool "0x00000000 - SDCE3/SyncBoot"
help
Select this option if you want support for EP93xx boards with the
first SDRAM bank at 0x00000000
config EP93XX_SDCE0_PHYS_OFFSET
bool "0xc0000000 - SDCEO"
help
Select this option if you want support for EP93xx boards with the
first SDRAM bank at 0xc0000000
endchoice
config MACH_ADSSPHERE
bool "Support ADS Sphere"
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
help
Say 'Y' here if you want your kernel to support the ADS
Sphere board.
config MACH_EDB93XX
bool
config MACH_EDB9301
bool "Support Cirrus Logic EDB9301"
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
select MACH_EDB93XX
help
Say 'Y' here if you want your kernel to support the Cirrus
Logic EDB9301 Evaluation Board.
config MACH_EDB9302
bool "Support Cirrus Logic EDB9302"
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
select MACH_EDB93XX
help
Say 'Y' here if you want your kernel to support the Cirrus
Logic EDB9302 Evaluation Board.
config MACH_EDB9302A
bool "Support Cirrus Logic EDB9302A"
depends on EP93XX_SDCE0_PHYS_OFFSET
select MACH_EDB93XX
help
Say 'Y' here if you want your kernel to support the Cirrus
Logic EDB9302A Evaluation Board.
config MACH_EDB9307
bool "Support Cirrus Logic EDB9307"
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
select MACH_EDB93XX
help
Say 'Y' here if you want your kernel to support the Cirrus
Logic EDB9307 Evaluation Board.
config MACH_EDB9307A
bool "Support Cirrus Logic EDB9307A"
depends on EP93XX_SDCE0_PHYS_OFFSET
select MACH_EDB93XX
help
Say 'Y' here if you want your kernel to support the Cirrus
Logic EDB9307A Evaluation Board.
config MACH_EDB9312
bool "Support Cirrus Logic EDB9312"
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
select MACH_EDB93XX
help
Say 'Y' here if you want your kernel to support the Cirrus
Logic EDB9312 Evaluation Board.
config MACH_EDB9315
bool "Support Cirrus Logic EDB9315"
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
select MACH_EDB93XX
help
Say 'Y' here if you want your kernel to support the Cirrus
Logic EDB9315 Evaluation Board.
config MACH_EDB9315A
bool "Support Cirrus Logic EDB9315A"
depends on EP93XX_SDCE0_PHYS_OFFSET
select MACH_EDB93XX
help
Say 'Y' here if you want your kernel to support the Cirrus
Logic EDB9315A Evaluation Board.
config MACH_GESBC9312
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
bool "Support Glomation GESBC-9312-sx"
help
Say 'Y' here if you want your kernel to support the Glomation
...
...
@@ -65,10 +110,10 @@ config MACH_GESBC9312
config MACH_MICRO9
bool
default n
config MACH_MICRO9H
bool "Support Contec Hypercontrol Micro9-H"
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
select MACH_MICRO9
help
Say 'Y' here if you want your kernel to support the
...
...
@@ -76,6 +121,7 @@ config MACH_MICRO9H
config MACH_MICRO9M
bool "Support Contec Hypercontrol Micro9-M"
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
select MACH_MICRO9
help
Say 'Y' here if you want your kernel to support the
...
...
@@ -83,6 +129,7 @@ config MACH_MICRO9M
config MACH_MICRO9L
bool "Support Contec Hypercontrol Micro9-L"
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
select MACH_MICRO9
help
Say 'Y' here if you want your kernel to support the
...
...
@@ -90,6 +137,7 @@ config MACH_MICRO9L
config MACH_TS72XX
bool "Support Technologic Systems TS-72xx SBC"
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
help
Say 'Y' here if you want your kernel to support the
Technologic Systems TS-72xx board.
...
...
arch/arm/mach-ep93xx/Makefile
View file @
b0efb424
...
...
@@ -7,13 +7,7 @@ obj-n :=
obj-
:=
obj-$(CONFIG_MACH_ADSSPHERE)
+=
adssphere.o
obj-$(CONFIG_MACH_EDB9302)
+=
edb9302.o
obj-$(CONFIG_MACH_EDB9302A)
+=
edb9302a.o
obj-$(CONFIG_MACH_EDB9307)
+=
edb9307.o
obj-$(CONFIG_MACH_EDB9307A)
+=
edb9307a.o
obj-$(CONFIG_MACH_EDB9312)
+=
edb9312.o
obj-$(CONFIG_MACH_EDB9315)
+=
edb9315.o
obj-$(CONFIG_MACH_EDB9315A)
+=
edb9315a.o
obj-$(CONFIG_MACH_EDB93XX)
+=
edb93xx.o
obj-$(CONFIG_MACH_GESBC9312)
+=
gesbc9312.o
obj-$(CONFIG_MACH_MICRO9)
+=
micro9.o
obj-$(CONFIG_MACH_TS72XX)
+=
ts72xx.o
arch/arm/mach-ep93xx/Makefile.boot
View file @
b0efb424
zreladdr-y
:=
0x00008000
params_phys-y
:=
0x00000100
zreladdr-$(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET)
:=
0x00008000
params_phys-$(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET)
:=
0x00000100
zreladdr-$(CONFIG_EP93XX_SDCE0_PHYS_OFFSET)
:=
0xc0008000
params_phys-$(CONFIG_EP93XX_SDCE0_PHYS_OFFSET)
:=
0xc0000100
arch/arm/mach-ep93xx/clock.c
View file @
b0efb424
...
...
@@ -72,58 +72,58 @@ static struct clk clk_h;
static
struct
clk
clk_p
;
static
struct
clk
clk_pll2
;
static
struct
clk
clk_usb_host
=
{
.
enable_reg
=
EP93XX_SYSCON_
CLOCK_CONTROL
,
.
enable_mask
=
EP93XX_SYSCON_
CLOCK
_USH_EN
,
.
enable_reg
=
EP93XX_SYSCON_
PWRCNT
,
.
enable_mask
=
EP93XX_SYSCON_
PWRCNT
_USH_EN
,
};
/* DMA Clocks */
static
struct
clk
clk_m2p0
=
{
.
enable_reg
=
EP93XX_SYSCON_
CLOCK_CONTROL
,
.
enable_mask
=
0x0002000
0
,
.
enable_reg
=
EP93XX_SYSCON_
PWRCNT
,
.
enable_mask
=
EP93XX_SYSCON_PWRCNT_DMA_M2P
0
,
};
static
struct
clk
clk_m2p1
=
{
.
enable_reg
=
EP93XX_SYSCON_
CLOCK_CONTROL
,
.
enable_mask
=
0x00010000
,
.
enable_reg
=
EP93XX_SYSCON_
PWRCNT
,
.
enable_mask
=
EP93XX_SYSCON_PWRCNT_DMA_M2P1
,
};
static
struct
clk
clk_m2p2
=
{
.
enable_reg
=
EP93XX_SYSCON_
CLOCK_CONTROL
,
.
enable_mask
=
0x00080000
,
.
enable_reg
=
EP93XX_SYSCON_
PWRCNT
,
.
enable_mask
=
EP93XX_SYSCON_PWRCNT_DMA_M2P2
,
};
static
struct
clk
clk_m2p3
=
{
.
enable_reg
=
EP93XX_SYSCON_
CLOCK_CONTROL
,
.
enable_mask
=
0x00040000
,
.
enable_reg
=
EP93XX_SYSCON_
PWRCNT
,
.
enable_mask
=
EP93XX_SYSCON_PWRCNT_DMA_M2P3
,
};
static
struct
clk
clk_m2p4
=
{
.
enable_reg
=
EP93XX_SYSCON_
CLOCK_CONTROL
,
.
enable_mask
=
0x00200000
,
.
enable_reg
=
EP93XX_SYSCON_
PWRCNT
,
.
enable_mask
=
EP93XX_SYSCON_PWRCNT_DMA_M2P4
,
};
static
struct
clk
clk_m2p5
=
{
.
enable_reg
=
EP93XX_SYSCON_
CLOCK_CONTROL
,
.
enable_mask
=
0x00100000
,
.
enable_reg
=
EP93XX_SYSCON_
PWRCNT
,
.
enable_mask
=
EP93XX_SYSCON_PWRCNT_DMA_M2P5
,
};
static
struct
clk
clk_m2p6
=
{
.
enable_reg
=
EP93XX_SYSCON_
CLOCK_CONTROL
,
.
enable_mask
=
0x00800000
,
.
enable_reg
=
EP93XX_SYSCON_
PWRCNT
,
.
enable_mask
=
EP93XX_SYSCON_PWRCNT_DMA_M2P6
,
};
static
struct
clk
clk_m2p7
=
{
.
enable_reg
=
EP93XX_SYSCON_
CLOCK_CONTROL
,
.
enable_mask
=
0x00400000
,
.
enable_reg
=
EP93XX_SYSCON_
PWRCNT
,
.
enable_mask
=
EP93XX_SYSCON_PWRCNT_DMA_M2P7
,
};
static
struct
clk
clk_m2p8
=
{
.
enable_reg
=
EP93XX_SYSCON_
CLOCK_CONTROL
,
.
enable_mask
=
0x02000000
,
.
enable_reg
=
EP93XX_SYSCON_
PWRCNT
,
.
enable_mask
=
EP93XX_SYSCON_PWRCNT_DMA_M2P8
,
};
static
struct
clk
clk_m2p9
=
{
.
enable_reg
=
EP93XX_SYSCON_
CLOCK_CONTROL
,
.
enable_mask
=
0x01000000
,
.
enable_reg
=
EP93XX_SYSCON_
PWRCNT
,
.
enable_mask
=
EP93XX_SYSCON_PWRCNT_DMA_M2P9
,
};
static
struct
clk
clk_m2m0
=
{
.
enable_reg
=
EP93XX_SYSCON_
CLOCK_CONTROL
,
.
enable_mask
=
0x0400000
0
,
.
enable_reg
=
EP93XX_SYSCON_
PWRCNT
,
.
enable_mask
=
EP93XX_SYSCON_PWRCNT_DMA_M2M
0
,
};
static
struct
clk
clk_m2m1
=
{
.
enable_reg
=
EP93XX_SYSCON_
CLOCK_CONTROL
,
.
enable_mask
=
0x08000000
,
.
enable_reg
=
EP93XX_SYSCON_
PWRCNT
,
.
enable_mask
=
EP93XX_SYSCON_PWRCNT_DMA_M2M1
,
};
#define INIT_CK(dev,con,ck) \
...
...
@@ -138,7 +138,7 @@ static struct clk_lookup clocks[] = {
INIT_CK
(
NULL
,
"hclk"
,
&
clk_h
),
INIT_CK
(
NULL
,
"pclk"
,
&
clk_p
),
INIT_CK
(
NULL
,
"pll2"
,
&
clk_pll2
),
INIT_CK
(
NULL
,
"usb_host"
,
&
clk_usb_host
),
INIT_CK
(
"ep93xx-ohci"
,
NULL
,
&
clk_usb_host
),
INIT_CK
(
NULL
,
"m2p0"
,
&
clk_m2p0
),
INIT_CK
(
NULL
,
"m2p1"
,
&
clk_m2p1
),
INIT_CK
(
NULL
,
"m2p2"
,
&
clk_m2p2
),
...
...
arch/arm/mach-ep93xx/core.c
View file @
b0efb424
...
...
@@ -155,7 +155,7 @@ static unsigned char gpio_int_unmasked[3];
static
unsigned
char
gpio_int_enabled
[
3
];
static
unsigned
char
gpio_int_type1
[
3
];
static
unsigned
char
gpio_int_type2
[
3
];
static
unsigned
char
gpio_int_debouce
[
3
];
static
unsigned
char
gpio_int_debou
n
ce
[
3
];
/* Port ordering is: A B F */
static
const
u8
int_type1_register_offset
[
3
]
=
{
0x90
,
0xac
,
0x4c
};
...
...
@@ -192,11 +192,11 @@ void ep93xx_gpio_int_debounce(unsigned int irq, int enable)
int
port_mask
=
1
<<
(
line
&
7
);
if
(
enable
)
gpio_int_debouce
[
port
]
|=
port_mask
;
gpio_int_debou
n
ce
[
port
]
|=
port_mask
;
else
gpio_int_debouce
[
port
]
&=
~
port_mask
;
gpio_int_debou
n
ce
[
port
]
&=
~
port_mask
;
__raw_writeb
(
gpio_int_debouce
[
port
],
__raw_writeb
(
gpio_int_debou
n
ce
[
port
],
EP93XX_GPIO_REG
(
int_debounce_register_offset
[
port
]));
}
EXPORT_SYMBOL
(
ep93xx_gpio_int_debounce
);
...
...
arch/arm/mach-ep93xx/edb9302.c
deleted
100644 → 0
View file @
bd78512e
/*
* arch/arm/mach-ep93xx/edb9302.c
* Cirrus Logic EDB9302 support.
*
* Copyright (C) 2006 George Kashperko <george@chas.com.ua>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/mm.h>
#include <linux/sched.h>
#include <linux/interrupt.h>
#include <linux/ioport.h>
#include <linux/mtd/physmap.h>
#include <linux/platform_device.h>
#include <linux/io.h>
#include <linux/i2c.h>
#include <mach/hardware.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
static
struct
physmap_flash_data
edb9302_flash_data
=
{
.
width
=
2
,
};
static
struct
resource
edb9302_flash_resource
=
{
.
start
=
EP93XX_CS6_PHYS_BASE
,
.
end
=
EP93XX_CS6_PHYS_BASE
+
SZ_16M
-
1
,
.
flags
=
IORESOURCE_MEM
,
};
static
struct
platform_device
edb9302_flash
=
{
.
name
=
"physmap-flash"
,
.
id
=
0
,
.
dev
=
{
.
platform_data
=
&
edb9302_flash_data
,
},
.
num_resources
=
1
,
.
resource
=
&
edb9302_flash_resource
,
};
static
struct
ep93xx_eth_data
edb9302_eth_data
=
{
.
phy_id
=
1
,
};
static
void
__init
edb9302_init_machine
(
void
)
{
ep93xx_init_devices
();
platform_device_register
(
&
edb9302_flash
);
ep93xx_register_eth
(
&
edb9302_eth_data
,
1
);
}
MACHINE_START
(
EDB9302
,
"Cirrus Logic EDB9302 Evaluation Board"
)
/* Maintainer: George Kashperko <george@chas.com.ua> */
.
phys_io
=
EP93XX_APB_PHYS_BASE
,
.
io_pg_offst
=
((
EP93XX_APB_VIRT_BASE
)
>>
18
)
&
0xfffc
,
.
boot_params
=
EP93XX_SDCE3_PHYS_BASE_SYNC
+
0x100
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
edb9302_init_machine
,
MACHINE_END
arch/arm/mach-ep93xx/edb9302a.c
deleted
100644 → 0
View file @
bd78512e
/*
* arch/arm/mach-ep93xx/edb9302a.c
* Cirrus Logic EDB9302A support.
*
* Copyright (C) 2006 Lennert Buytenhek <buytenh@wantstofly.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/mm.h>
#include <linux/sched.h>
#include <linux/interrupt.h>
#include <linux/ioport.h>
#include <linux/mtd/physmap.h>
#include <linux/platform_device.h>
#include <linux/io.h>
#include <linux/i2c.h>
#include <mach/hardware.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
static
struct
physmap_flash_data
edb9302a_flash_data
=
{
.
width
=
2
,
};
static
struct
resource
edb9302a_flash_resource
=
{
.
start
=
EP93XX_CS6_PHYS_BASE
,
.
end
=
EP93XX_CS6_PHYS_BASE
+
SZ_16M
-
1
,
.
flags
=
IORESOURCE_MEM
,
};
static
struct
platform_device
edb9302a_flash
=
{
.
name
=
"physmap-flash"
,
.
id
=
0
,
.
dev
=
{
.
platform_data
=
&
edb9302a_flash_data
,
},
.
num_resources
=
1
,
.
resource
=
&
edb9302a_flash_resource
,
};
static
struct
ep93xx_eth_data
edb9302a_eth_data
=
{
.
phy_id
=
1
,
};
static
void
__init
edb9302a_init_machine
(
void
)
{
ep93xx_init_devices
();
platform_device_register
(
&
edb9302a_flash
);
ep93xx_register_eth
(
&
edb9302a_eth_data
,
1
);
}
MACHINE_START
(
EDB9302A
,
"Cirrus Logic EDB9302A Evaluation Board"
)
/* Maintainer: Lennert Buytenhek <buytenh@wantstofly.org> */
.
phys_io
=
EP93XX_APB_PHYS_BASE
,
.
io_pg_offst
=
((
EP93XX_APB_VIRT_BASE
)
>>
18
)
&
0xfffc
,
.
boot_params
=
EP93XX_SDCE0_PHYS_BASE
+
0x100
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
edb9302a_init_machine
,
MACHINE_END
arch/arm/mach-ep93xx/edb9307.c
deleted
100644 → 0
View file @
bd78512e
/*
* arch/arm/mach-ep93xx/edb9307.c
* Cirrus Logic EDB9307 support.
*
* Copyright (C) 2007 Herbert Valerio Riedel <hvr@gnu.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/mm.h>
#include <linux/sched.h>
#include <linux/interrupt.h>
#include <linux/ioport.h>
#include <linux/mtd/physmap.h>
#include <linux/platform_device.h>
#include <linux/io.h>
#include <linux/i2c.h>
#include <mach/hardware.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
static
struct
physmap_flash_data
edb9307_flash_data
=
{
.
width
=
4
,
};
static
struct
resource
edb9307_flash_resource
=
{
.
start
=
EP93XX_CS6_PHYS_BASE
,
.
end
=
EP93XX_CS6_PHYS_BASE
+
SZ_32M
-
1
,
.
flags
=
IORESOURCE_MEM
,
};
static
struct
platform_device
edb9307_flash
=
{
.
name
=
"physmap-flash"
,
.
id
=
0
,
.
dev
=
{
.
platform_data
=
&
edb9307_flash_data
,
},
.
num_resources
=
1
,
.
resource
=
&
edb9307_flash_resource
,
};
static
struct
ep93xx_eth_data
edb9307_eth_data
=
{
.
phy_id
=
1
,
};
static
void
__init
edb9307_init_machine
(
void
)
{
ep93xx_init_devices
();
platform_device_register
(
&
edb9307_flash
);
ep93xx_register_eth
(
&
edb9307_eth_data
,
1
);
}
MACHINE_START
(
EDB9307
,
"Cirrus Logic EDB9307 Evaluation Board"
)
/* Maintainer: Herbert Valerio Riedel <hvr@gnu.org> */
.
phys_io
=
EP93XX_APB_PHYS_BASE
,
.
io_pg_offst
=
((
EP93XX_APB_VIRT_BASE
)
>>
18
)
&
0xfffc
,
.
boot_params
=
EP93XX_SDCE3_PHYS_BASE_SYNC
+
0x100
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
edb9307_init_machine
,
MACHINE_END
arch/arm/mach-ep93xx/edb9307a.c
deleted
100644 → 0
View file @
bd78512e
/*
* arch/arm/mach-ep93xx/edb9307a.c
* Cirrus Logic EDB9307A support.
*
* Copyright (C) 2008 H Hartley Sweeten <hsweeten@visionengravers.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/mm.h>
#include <linux/sched.h>
#include <linux/interrupt.h>
#include <linux/ioport.h>
#include <linux/mtd/physmap.h>
#include <linux/platform_device.h>
#include <linux/io.h>
#include <linux/i2c.h>
#include <mach/hardware.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
static
struct
physmap_flash_data
edb9307a_flash_data
=
{
.
width
=
2
,
};
static
struct
resource
edb9307a_flash_resource
=
{
.
start
=
EP93XX_CS6_PHYS_BASE
,
.
end
=
EP93XX_CS6_PHYS_BASE
+
SZ_16M
-
1
,
.
flags
=
IORESOURCE_MEM
,
};
static
struct
platform_device
edb9307a_flash
=
{
.
name
=
"physmap-flash"
,
.
id
=
0
,
.
dev
=
{
.
platform_data
=
&
edb9307a_flash_data
,
},
.
num_resources
=
1
,
.
resource
=
&
edb9307a_flash_resource
,
};
static
struct
ep93xx_eth_data
edb9307a_eth_data
=
{
.
phy_id
=
1
,
};
static
struct
i2c_board_info
__initdata
edb9307a_i2c_data
[]
=
{
{
/* On-board battery backed RTC */
I2C_BOARD_INFO
(
"isl1208"
,
0x6f
),
},
/*
* The I2C signals are also routed to the Expansion Connector (J4)
*/
};
static
void
__init
edb9307a_init_machine
(
void
)
{
ep93xx_init_devices
();
platform_device_register
(
&
edb9307a_flash
);
ep93xx_register_eth
(
&
edb9307a_eth_data
,
1
);
ep93xx_init_i2c
(
edb9307a_i2c_data
,
ARRAY_SIZE
(
edb9307a_i2c_data
));
}
MACHINE_START
(
EDB9307A
,
"Cirrus Logic EDB9307A Evaluation Board"
)
/* Maintainer: H Hartley Sweeten <hsweeten@visionengravers.com> */
.
phys_io
=
EP93XX_APB_PHYS_BASE
,
.
io_pg_offst
=
((
EP93XX_APB_VIRT_BASE
)
>>
18
)
&
0xfffc
,
.
boot_params
=
EP93XX_SDCE0_PHYS_BASE
+
0x100
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
edb9307a_init_machine
,
MACHINE_END
arch/arm/mach-ep93xx/edb9312.c
deleted
100644 → 0
View file @
bd78512e
/*
* arch/arm/mach-ep93xx/edb9312.c
* Cirrus Logic EDB9312 support.
*
* Copyright (C) 2006 Infosys Technologies Limited
* Toufeeq Hussain <toufeeq_hussain@infosys.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/mm.h>
#include <linux/sched.h>
#include <linux/interrupt.h>
#include <linux/ioport.h>
#include <linux/mtd/physmap.h>
#include <linux/platform_device.h>
#include <linux/io.h>
#include <linux/i2c.h>
#include <mach/hardware.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
static
struct
physmap_flash_data
edb9312_flash_data
=
{
.
width
=
4
,
};
static
struct
resource
edb9312_flash_resource
=
{
.
start
=
EP93XX_CS6_PHYS_BASE
,
.
end
=
EP93XX_CS6_PHYS_BASE
+
SZ_32M
-
1
,
.
flags
=
IORESOURCE_MEM
,
};
static
struct
platform_device
edb9312_flash
=
{
.
name
=
"physmap-flash"
,
.
id
=
0
,
.
dev
=
{
.
platform_data
=
&
edb9312_flash_data
,
},
.
num_resources
=
1
,
.
resource
=
&
edb9312_flash_resource
,
};
static
struct
ep93xx_eth_data
edb9312_eth_data
=
{
.
phy_id
=
1
,
};
static
void
__init
edb9312_init_machine
(
void
)
{
ep93xx_init_devices
();
platform_device_register
(
&
edb9312_flash
);
ep93xx_register_eth
(
&
edb9312_eth_data
,
1
);
}
MACHINE_START
(
EDB9312
,
"Cirrus Logic EDB9312 Evaluation Board"
)
/* Maintainer: Toufeeq Hussain <toufeeq_hussain@infosys.com> */
.
phys_io
=
EP93XX_APB_PHYS_BASE
,
.
io_pg_offst
=
((
EP93XX_APB_VIRT_BASE
)
>>
18
)
&
0xfffc
,
.
boot_params
=
EP93XX_SDCE3_PHYS_BASE_SYNC
+
0x100
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
edb9312_init_machine
,
MACHINE_END
arch/arm/mach-ep93xx/edb9315.c
deleted
100644 → 0
View file @
bd78512e
/*
* arch/arm/mach-ep93xx/edb9315.c
* Cirrus Logic EDB9315 support.
*
* Copyright (C) 2006 Lennert Buytenhek <buytenh@wantstofly.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/mm.h>
#include <linux/sched.h>
#include <linux/interrupt.h>
#include <linux/ioport.h>
#include <linux/mtd/physmap.h>
#include <linux/platform_device.h>
#include <linux/io.h>
#include <linux/i2c.h>
#include <mach/hardware.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
static
struct
physmap_flash_data
edb9315_flash_data
=
{
.
width
=
4
,
};
static
struct
resource
edb9315_flash_resource
=
{
.
start
=
EP93XX_CS6_PHYS_BASE
,
.
end
=
EP93XX_CS6_PHYS_BASE
+
SZ_32M
-
1
,
.
flags
=
IORESOURCE_MEM
,
};
static
struct
platform_device
edb9315_flash
=
{
.
name
=
"physmap-flash"
,
.
id
=
0
,
.
dev
=
{
.
platform_data
=
&
edb9315_flash_data
,
},
.
num_resources
=
1
,
.
resource
=
&
edb9315_flash_resource
,
};
static
struct
ep93xx_eth_data
edb9315_eth_data
=
{
.
phy_id
=
1
,
};
static
void
__init
edb9315_init_machine
(
void
)
{
ep93xx_init_devices
();
platform_device_register
(
&
edb9315_flash
);
ep93xx_register_eth
(
&
edb9315_eth_data
,
1
);
}
MACHINE_START
(
EDB9315
,
"Cirrus Logic EDB9315 Evaluation Board"
)
/* Maintainer: Lennert Buytenhek <buytenh@wantstofly.org> */
.
phys_io
=
EP93XX_APB_PHYS_BASE
,
.
io_pg_offst
=
((
EP93XX_APB_VIRT_BASE
)
>>
18
)
&
0xfffc
,
.
boot_params
=
EP93XX_SDCE3_PHYS_BASE_SYNC
+
0x100
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
edb9315_init_machine
,
MACHINE_END
arch/arm/mach-ep93xx/edb9315a.c
deleted
100644 → 0
View file @
bd78512e
/*
* arch/arm/mach-ep93xx/edb9315a.c
* Cirrus Logic EDB9315A support.
*
* Copyright (C) 2006 Lennert Buytenhek <buytenh@wantstofly.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/mm.h>
#include <linux/sched.h>
#include <linux/interrupt.h>
#include <linux/ioport.h>
#include <linux/mtd/physmap.h>
#include <linux/platform_device.h>
#include <linux/io.h>
#include <linux/i2c.h>
#include <mach/hardware.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
static
struct
physmap_flash_data
edb9315a_flash_data
=
{
.
width
=
2
,
};
static
struct
resource
edb9315a_flash_resource
=
{
.
start
=
EP93XX_CS6_PHYS_BASE
,
.
end
=
EP93XX_CS6_PHYS_BASE
+
SZ_16M
-
1
,
.
flags
=
IORESOURCE_MEM
,
};
static
struct
platform_device
edb9315a_flash
=
{
.
name
=
"physmap-flash"
,
.
id
=
0
,
.
dev
=
{
.
platform_data
=
&
edb9315a_flash_data
,
},
.
num_resources
=
1
,
.
resource
=
&
edb9315a_flash_resource
,
};
static
struct
ep93xx_eth_data
edb9315a_eth_data
=
{
.
phy_id
=
1
,
};
static
void
__init
edb9315a_init_machine
(
void
)
{
ep93xx_init_devices
();
platform_device_register
(
&
edb9315a_flash
);
ep93xx_register_eth
(
&
edb9315a_eth_data
,
1
);
}
MACHINE_START
(
EDB9315A
,
"Cirrus Logic EDB9315A Evaluation Board"
)
/* Maintainer: Lennert Buytenhek <buytenh@wantstofly.org> */
.
phys_io
=
EP93XX_APB_PHYS_BASE
,
.
io_pg_offst
=
((
EP93XX_APB_VIRT_BASE
)
>>
18
)
&
0xfffc
,
.
boot_params
=
EP93XX_SDCE0_PHYS_BASE
+
0x100
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
edb9315a_init_machine
,
MACHINE_END
arch/arm/mach-ep93xx/edb93xx.c
0 → 100644
View file @
b0efb424
/*
* arch/arm/mach-ep93xx/edb93xx.c
* Cirrus Logic EDB93xx Development Board support.
*
* EDB93XX, EDB9301, EDB9307A
* Copyright (C) 2008-2009 H Hartley Sweeten <hsweeten@visionengravers.com>
*
* EDB9302
* Copyright (C) 2006 George Kashperko <george@chas.com.ua>
*
* EDB9302A, EDB9315, EDB9315A
* Copyright (C) 2006 Lennert Buytenhek <buytenh@wantstofly.org>
*
* EDB9307
* Copyright (C) 2007 Herbert Valerio Riedel <hvr@gnu.org>
*
* EDB9312
* Copyright (C) 2006 Infosys Technologies Limited
* Toufeeq Hussain <toufeeq_hussain@infosys.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/mm.h>
#include <linux/sched.h>
#include <linux/interrupt.h>
#include <linux/ioport.h>
#include <linux/mtd/physmap.h>
#include <linux/platform_device.h>
#include <linux/io.h>
#include <linux/i2c.h>
#include <mach/hardware.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
static
struct
physmap_flash_data
edb93xx_flash_data
;
static
struct
resource
edb93xx_flash_resource
=
{
.
flags
=
IORESOURCE_MEM
,
};
static
struct
platform_device
edb93xx_flash
=
{
.
name
=
"physmap-flash"
,
.
id
=
0
,
.
dev
=
{
.
platform_data
=
&
edb93xx_flash_data
,
},
.
num_resources
=
1
,
.
resource
=
&
edb93xx_flash_resource
,
};
static
void
__init
__edb93xx_register_flash
(
unsigned
int
width
,
resource_size_t
start
,
resource_size_t
size
)
{
edb93xx_flash_data
.
width
=
width
;
edb93xx_flash_resource
.
start
=
start
;
edb93xx_flash_resource
.
end
=
start
+
size
-
1
;
platform_device_register
(
&
edb93xx_flash
);
}
static
void
__init
edb93xx_register_flash
(
void
)
{
if
(
machine_is_edb9307
()
||
machine_is_edb9312
()
||
machine_is_edb9315
())
{
__edb93xx_register_flash
(
4
,
EP93XX_CS6_PHYS_BASE
,
SZ_32M
);
}
else
{
__edb93xx_register_flash
(
2
,
EP93XX_CS6_PHYS_BASE
,
SZ_16M
);
}
}
static
struct
ep93xx_eth_data
edb93xx_eth_data
=
{
.
phy_id
=
1
,
};
static
struct
i2c_board_info
__initdata
edb93xxa_i2c_data
[]
=
{
{
I2C_BOARD_INFO
(
"isl1208"
,
0x6f
),
},
};
static
struct
i2c_board_info
__initdata
edb93xx_i2c_data
[]
=
{
{
I2C_BOARD_INFO
(
"ds1337"
,
0x68
),
},
};
static
void
__init
edb93xx_register_i2c
(
void
)
{
if
(
machine_is_edb9302a
()
||
machine_is_edb9307a
()
||
machine_is_edb9315a
())
{
ep93xx_register_i2c
(
edb93xxa_i2c_data
,
ARRAY_SIZE
(
edb93xxa_i2c_data
));
}
else
if
(
machine_is_edb9307
()
||
machine_is_edb9312
()
||
machine_is_edb9315
())
{
ep93xx_register_i2c
(
edb93xx_i2c_data
,
ARRAY_SIZE
(
edb93xx_i2c_data
));
}
}
static
void
__init
edb93xx_init_machine
(
void
)
{
ep93xx_init_devices
();
edb93xx_register_flash
();
ep93xx_register_eth
(
&
edb93xx_eth_data
,
1
);
edb93xx_register_i2c
();
}
#ifdef CONFIG_MACH_EDB9301
MACHINE_START
(
EDB9301
,
"Cirrus Logic EDB9301 Evaluation Board"
)
/* Maintainer: H Hartley Sweeten <hsweeten@visionengravers.com> */
.
phys_io
=
EP93XX_APB_PHYS_BASE
,
.
io_pg_offst
=
((
EP93XX_APB_VIRT_BASE
)
>>
18
)
&
0xfffc
,
.
boot_params
=
EP93XX_SDCE3_PHYS_BASE_SYNC
+
0x100
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
edb93xx_init_machine
,
MACHINE_END
#endif
#ifdef CONFIG_MACH_EDB9302
MACHINE_START
(
EDB9302
,
"Cirrus Logic EDB9302 Evaluation Board"
)
/* Maintainer: George Kashperko <george@chas.com.ua> */
.
phys_io
=
EP93XX_APB_PHYS_BASE
,
.
io_pg_offst
=
((
EP93XX_APB_VIRT_BASE
)
>>
18
)
&
0xfffc
,
.
boot_params
=
EP93XX_SDCE3_PHYS_BASE_SYNC
+
0x100
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
edb93xx_init_machine
,
MACHINE_END
#endif
#ifdef CONFIG_MACH_EDB9302A
MACHINE_START
(
EDB9302A
,
"Cirrus Logic EDB9302A Evaluation Board"
)
/* Maintainer: Lennert Buytenhek <buytenh@wantstofly.org> */
.
phys_io
=
EP93XX_APB_PHYS_BASE
,
.
io_pg_offst
=
((
EP93XX_APB_VIRT_BASE
)
>>
18
)
&
0xfffc
,
.
boot_params
=
EP93XX_SDCE0_PHYS_BASE
+
0x100
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
edb93xx_init_machine
,
MACHINE_END
#endif
#ifdef CONFIG_MACH_EDB9307
MACHINE_START
(
EDB9307
,
"Cirrus Logic EDB9307 Evaluation Board"
)
/* Maintainer: Herbert Valerio Riedel <hvr@gnu.org> */
.
phys_io
=
EP93XX_APB_PHYS_BASE
,
.
io_pg_offst
=
((
EP93XX_APB_VIRT_BASE
)
>>
18
)
&
0xfffc
,
.
boot_params
=
EP93XX_SDCE3_PHYS_BASE_SYNC
+
0x100
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
edb93xx_init_machine
,
MACHINE_END
#endif
#ifdef CONFIG_MACH_EDB9307A
MACHINE_START
(
EDB9307A
,
"Cirrus Logic EDB9307A Evaluation Board"
)
/* Maintainer: H Hartley Sweeten <hsweeten@visionengravers.com> */
.
phys_io
=
EP93XX_APB_PHYS_BASE
,
.
io_pg_offst
=
((
EP93XX_APB_VIRT_BASE
)
>>
18
)
&
0xfffc
,
.
boot_params
=
EP93XX_SDCE0_PHYS_BASE
+
0x100
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
edb93xx_init_machine
,
MACHINE_END
#endif
#ifdef CONFIG_MACH_EDB9312
MACHINE_START
(
EDB9312
,
"Cirrus Logic EDB9312 Evaluation Board"
)
/* Maintainer: Toufeeq Hussain <toufeeq_hussain@infosys.com> */
.
phys_io
=
EP93XX_APB_PHYS_BASE
,
.
io_pg_offst
=
((
EP93XX_APB_VIRT_BASE
)
>>
18
)
&
0xfffc
,
.
boot_params
=
EP93XX_SDCE3_PHYS_BASE_SYNC
+
0x100
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
edb93xx_init_machine
,
MACHINE_END
#endif
#ifdef CONFIG_MACH_EDB9315
MACHINE_START
(
EDB9315
,
"Cirrus Logic EDB9315 Evaluation Board"
)
/* Maintainer: Lennert Buytenhek <buytenh@wantstofly.org> */
.
phys_io
=
EP93XX_APB_PHYS_BASE
,
.
io_pg_offst
=
((
EP93XX_APB_VIRT_BASE
)
>>
18
)
&
0xfffc
,
.
boot_params
=
EP93XX_SDCE3_PHYS_BASE_SYNC
+
0x100
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
edb93xx_init_machine
,
MACHINE_END
#endif
#ifdef CONFIG_MACH_EDB9315A
MACHINE_START
(
EDB9315A
,
"Cirrus Logic EDB9315A Evaluation Board"
)
/* Maintainer: Lennert Buytenhek <buytenh@wantstofly.org> */
.
phys_io
=
EP93XX_APB_PHYS_BASE
,
.
io_pg_offst
=
((
EP93XX_APB_VIRT_BASE
)
>>
18
)
&
0xfffc
,
.
boot_params
=
EP93XX_SDCE0_PHYS_BASE
+
0x100
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
edb93xx_init_machine
,
MACHINE_END
#endif
arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h
View file @
b0efb424
...
...
@@ -152,9 +152,22 @@
#define EP93XX_SYSCON_BASE (EP93XX_APB_VIRT_BASE + 0x00130000)
#define EP93XX_SYSCON_REG(x) (EP93XX_SYSCON_BASE + (x))
#define EP93XX_SYSCON_POWER_STATE EP93XX_SYSCON_REG(0x00)
#define EP93XX_SYSCON_CLOCK_CONTROL EP93XX_SYSCON_REG(0x04)
#define EP93XX_SYSCON_CLOCK_UARTBAUD 0x20000000
#define EP93XX_SYSCON_CLOCK_USH_EN 0x10000000
#define EP93XX_SYSCON_PWRCNT EP93XX_SYSCON_REG(0x04)
#define EP93XX_SYSCON_PWRCNT_FIR_EN (1<<31)
#define EP93XX_SYSCON_PWRCNT_UARTBAUD (1<<29)
#define EP93XX_SYSCON_PWRCNT_USH_EN (1<<28)
#define EP93XX_SYSCON_PWRCNT_DMA_M2M1 (1<<27)
#define EP93XX_SYSCON_PWRCNT_DMA_M2M0 (1<<26)
#define EP93XX_SYSCON_PWRCNT_DMA_M2P8 (1<<25)
#define EP93XX_SYSCON_PWRCNT_DMA_M2P9 (1<<24)
#define EP93XX_SYSCON_PWRCNT_DMA_M2P6 (1<<23)
#define EP93XX_SYSCON_PWRCNT_DMA_M2P7 (1<<22)
#define EP93XX_SYSCON_PWRCNT_DMA_M2P4 (1<<21)
#define EP93XX_SYSCON_PWRCNT_DMA_M2P5 (1<<20)
#define EP93XX_SYSCON_PWRCNT_DMA_M2P2 (1<<19)
#define EP93XX_SYSCON_PWRCNT_DMA_M2P3 (1<<18)
#define EP93XX_SYSCON_PWRCNT_DMA_M2P0 (1<<17)
#define EP93XX_SYSCON_PWRCNT_DMA_M2P1 (1<<16)
#define EP93XX_SYSCON_HALT EP93XX_SYSCON_REG(0x08)
#define EP93XX_SYSCON_STANDBY EP93XX_SYSCON_REG(0x0c)
#define EP93XX_SYSCON_CLOCK_SET1 EP93XX_SYSCON_REG(0x20)
...
...
arch/arm/mach-ep93xx/include/mach/memory.h
View file @
b0efb424
...
...
@@ -5,6 +5,12 @@
#ifndef __ASM_ARCH_MEMORY_H
#define __ASM_ARCH_MEMORY_H
#if defined(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET)
#define PHYS_OFFSET UL(0x00000000)
#elif defined(CONFIG_EP93XX_SDCE0_PHYS_OFFSET)
#define PHYS_OFFSET UL(0xc0000000)
#else
#error "Kconfig bug: No EP93xx PHYS_OFFSET set"
#endif
#endif
drivers/usb/host/ohci-ep93xx.c
View file @
b0efb424
...
...
@@ -47,7 +47,7 @@ static int usb_hcd_ep93xx_probe(const struct hc_driver *driver,
struct
usb_hcd
*
hcd
;
if
(
pdev
->
resource
[
1
].
flags
!=
IORESOURCE_IRQ
)
{
pr_debu
g
(
"resource[1] is not IORESOURCE_IRQ"
);
db
g
(
"resource[1] is not IORESOURCE_IRQ"
);
return
-
ENOMEM
;
}
...
...
@@ -65,12 +65,18 @@ static int usb_hcd_ep93xx_probe(const struct hc_driver *driver,
hcd
->
regs
=
ioremap
(
hcd
->
rsrc_start
,
hcd
->
rsrc_len
);
if
(
hcd
->
regs
==
NULL
)
{
pr_debu
g
(
"ioremap failed"
);
db
g
(
"ioremap failed"
);
retval
=
-
ENOMEM
;
goto
err2
;
}
usb_host_clock
=
clk_get
(
&
pdev
->
dev
,
"usb_host"
);
usb_host_clock
=
clk_get
(
&
pdev
->
dev
,
NULL
);
if
(
IS_ERR
(
usb_host_clock
))
{
dbg
(
"clk_get failed"
);
retval
=
PTR_ERR
(
usb_host_clock
);
goto
err3
;
}
ep93xx_start_hc
(
&
pdev
->
dev
);
ohci_hcd_init
(
hcd_to_ohci
(
hcd
));
...
...
@@ -80,6 +86,7 @@ static int usb_hcd_ep93xx_probe(const struct hc_driver *driver,
return
retval
;
ep93xx_stop_hc
(
&
pdev
->
dev
);
err3:
iounmap
(
hcd
->
regs
);
err2:
release_mem_region
(
hcd
->
rsrc_start
,
hcd
->
rsrc_len
);
...
...
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