Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
52aa8c53
K
Kernel
项目概览
openeuler
/
Kernel
大约 2 年 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
52aa8c53
编写于
11月 30, 2010
作者:
T
Tony Lindgren
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'ctrl-wip/mux-omap4-v4' of
git://gitorious.org/omap-pm/linux
into omap-for-linus
上级
55a4e789
032a6424
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
2310 addition
and
147 deletion
+2310
-147
arch/arm/mach-omap2/Kconfig
arch/arm/mach-omap2/Kconfig
+10
-0
arch/arm/mach-omap2/Makefile
arch/arm/mach-omap2/Makefile
+1
-0
arch/arm/mach-omap2/board-4430sdp.c
arch/arm/mach-omap2/board-4430sdp.c
+14
-0
arch/arm/mach-omap2/board-omap4panda.c
arch/arm/mach-omap2/board-omap4panda.c
+16
-0
arch/arm/mach-omap2/board-rx51-peripherals.c
arch/arm/mach-omap2/board-rx51-peripherals.c
+9
-3
arch/arm/mach-omap2/mux.c
arch/arm/mach-omap2/mux.c
+249
-120
arch/arm/mach-omap2/mux.h
arch/arm/mach-omap2/mux.h
+71
-12
arch/arm/mach-omap2/mux2420.c
arch/arm/mach-omap2/mux2420.c
+6
-4
arch/arm/mach-omap2/mux2430.c
arch/arm/mach-omap2/mux2430.c
+6
-4
arch/arm/mach-omap2/mux34xx.c
arch/arm/mach-omap2/mux34xx.c
+5
-4
arch/arm/mach-omap2/mux44xx.c
arch/arm/mach-omap2/mux44xx.c
+1625
-0
arch/arm/mach-omap2/mux44xx.h
arch/arm/mach-omap2/mux44xx.h
+298
-0
未找到文件。
arch/arm/mach-omap2/Kconfig
浏览文件 @
52aa8c53
...
@@ -85,6 +85,12 @@ config OMAP_PACKAGE_CUS
...
@@ -85,6 +85,12 @@ config OMAP_PACKAGE_CUS
config OMAP_PACKAGE_CBP
config OMAP_PACKAGE_CBP
bool
bool
config OMAP_PACKAGE_CBL
bool
config OMAP_PACKAGE_CBS
bool
comment "OMAP Board Type"
comment "OMAP Board Type"
depends on ARCH_OMAP2PLUS
depends on ARCH_OMAP2PLUS
...
@@ -282,11 +288,15 @@ config MACH_OMAP_4430SDP
...
@@ -282,11 +288,15 @@ config MACH_OMAP_4430SDP
bool "OMAP 4430 SDP board"
bool "OMAP 4430 SDP board"
default y
default y
depends on ARCH_OMAP4
depends on ARCH_OMAP4
select OMAP_PACKAGE_CBL
select OMAP_PACKAGE_CBS
config MACH_OMAP4_PANDA
config MACH_OMAP4_PANDA
bool "OMAP4 Panda Board"
bool "OMAP4 Panda Board"
default y
default y
depends on ARCH_OMAP4
depends on ARCH_OMAP4
select OMAP_PACKAGE_CBL
select OMAP_PACKAGE_CBS
config OMAP3_EMU
config OMAP3_EMU
bool "OMAP3 debugging peripherals"
bool "OMAP3 debugging peripherals"
...
...
arch/arm/mach-omap2/Makefile
浏览文件 @
52aa8c53
...
@@ -42,6 +42,7 @@ AFLAGS_sram34xx.o :=-Wa,-march=armv7-a
...
@@ -42,6 +42,7 @@ AFLAGS_sram34xx.o :=-Wa,-march=armv7-a
obj-$(CONFIG_ARCH_OMAP2420)
+=
mux2420.o
obj-$(CONFIG_ARCH_OMAP2420)
+=
mux2420.o
obj-$(CONFIG_ARCH_OMAP2430)
+=
mux2430.o
obj-$(CONFIG_ARCH_OMAP2430)
+=
mux2430.o
obj-$(CONFIG_ARCH_OMAP3)
+=
mux34xx.o
obj-$(CONFIG_ARCH_OMAP3)
+=
mux34xx.o
obj-$(CONFIG_ARCH_OMAP4)
+=
mux44xx.o
# SMS/SDRC
# SMS/SDRC
obj-$(CONFIG_ARCH_OMAP2)
+=
sdrc2xxx.o
obj-$(CONFIG_ARCH_OMAP2)
+=
sdrc2xxx.o
...
...
arch/arm/mach-omap2/board-4430sdp.c
浏览文件 @
52aa8c53
...
@@ -35,6 +35,7 @@
...
@@ -35,6 +35,7 @@
#include <plat/usb.h>
#include <plat/usb.h>
#include <plat/mmc.h>
#include <plat/mmc.h>
#include "mux.h"
#include "hsmmc.h"
#include "hsmmc.h"
#include "timer-gp.h"
#include "timer-gp.h"
#include "control.h"
#include "control.h"
...
@@ -505,9 +506,22 @@ static void __init omap_sfh7741prox_init(void)
...
@@ -505,9 +506,22 @@ static void __init omap_sfh7741prox_init(void)
}
}
}
}
#ifdef CONFIG_OMAP_MUX
static
struct
omap_board_mux
board_mux
[]
__initdata
=
{
{
.
reg_offset
=
OMAP_MUX_TERMINATOR
},
};
#else
#define board_mux NULL
#endif
static
void
__init
omap_4430sdp_init
(
void
)
static
void
__init
omap_4430sdp_init
(
void
)
{
{
int
status
;
int
status
;
int
package
=
OMAP_PACKAGE_CBS
;
if
(
omap_rev
()
==
OMAP4430_REV_ES1_0
)
package
=
OMAP_PACKAGE_CBL
;
omap4_mux_init
(
board_mux
,
package
);
omap4_i2c_init
();
omap4_i2c_init
();
omap_sfh7741prox_init
();
omap_sfh7741prox_init
();
...
...
arch/arm/mach-omap2/board-omap4panda.c
浏览文件 @
52aa8c53
...
@@ -40,6 +40,7 @@
...
@@ -40,6 +40,7 @@
#include "hsmmc.h"
#include "hsmmc.h"
#include "control.h"
#include "control.h"
#include "mux.h"
#define GPIO_HUB_POWER 1
#define GPIO_HUB_POWER 1
#define GPIO_HUB_NRESET 62
#define GPIO_HUB_NRESET 62
...
@@ -368,8 +369,23 @@ static int __init omap4_panda_i2c_init(void)
...
@@ -368,8 +369,23 @@ static int __init omap4_panda_i2c_init(void)
omap_register_i2c_bus
(
4
,
400
,
NULL
,
0
);
omap_register_i2c_bus
(
4
,
400
,
NULL
,
0
);
return
0
;
return
0
;
}
}
#ifdef CONFIG_OMAP_MUX
static
struct
omap_board_mux
board_mux
[]
__initdata
=
{
{
.
reg_offset
=
OMAP_MUX_TERMINATOR
},
};
#else
#define board_mux NULL
#endif
static
void
__init
omap4_panda_init
(
void
)
static
void
__init
omap4_panda_init
(
void
)
{
{
int
package
=
OMAP_PACKAGE_CBS
;
if
(
omap_rev
()
==
OMAP4430_REV_ES1_0
)
package
=
OMAP_PACKAGE_CBL
;
omap4_mux_init
(
board_mux
,
package
);
omap4_panda_i2c_init
();
omap4_panda_i2c_init
();
platform_add_devices
(
panda_devices
,
ARRAY_SIZE
(
panda_devices
));
platform_add_devices
(
panda_devices
,
ARRAY_SIZE
(
panda_devices
));
omap_serial_init
();
omap_serial_init
();
...
...
arch/arm/mach-omap2/board-rx51-peripherals.c
浏览文件 @
52aa8c53
...
@@ -293,6 +293,8 @@ static struct omap_board_mux rx51_mmc2_off_mux[] = {
...
@@ -293,6 +293,8 @@ static struct omap_board_mux rx51_mmc2_off_mux[] = {
{
.
reg_offset
=
OMAP_MUX_TERMINATOR
},
{
.
reg_offset
=
OMAP_MUX_TERMINATOR
},
};
};
static
struct
omap_mux_partition
*
partition
;
/*
/*
* Current flows to eMMC when eMMC is off and the data lines are pulled up,
* Current flows to eMMC when eMMC is off and the data lines are pulled up,
* so pull them down. N.B. we pull 8 lines because we are using 8 lines.
* so pull them down. N.B. we pull 8 lines because we are using 8 lines.
...
@@ -300,9 +302,9 @@ static struct omap_board_mux rx51_mmc2_off_mux[] = {
...
@@ -300,9 +302,9 @@ static struct omap_board_mux rx51_mmc2_off_mux[] = {
static
void
rx51_mmc2_remux
(
struct
device
*
dev
,
int
slot
,
int
power_on
)
static
void
rx51_mmc2_remux
(
struct
device
*
dev
,
int
slot
,
int
power_on
)
{
{
if
(
power_on
)
if
(
power_on
)
omap_mux_write_array
(
rx51_mmc2_on_mux
);
omap_mux_write_array
(
partition
,
rx51_mmc2_on_mux
);
else
else
omap_mux_write_array
(
rx51_mmc2_off_mux
);
omap_mux_write_array
(
partition
,
rx51_mmc2_off_mux
);
}
}
static
struct
omap2_hsmmc_info
mmc
[]
__initdata
=
{
static
struct
omap2_hsmmc_info
mmc
[]
__initdata
=
{
...
@@ -922,7 +924,11 @@ void __init rx51_peripherals_init(void)
...
@@ -922,7 +924,11 @@ void __init rx51_peripherals_init(void)
rx51_init_wl1251
();
rx51_init_wl1251
();
spi_register_board_info
(
rx51_peripherals_spi_board_info
,
spi_register_board_info
(
rx51_peripherals_spi_board_info
,
ARRAY_SIZE
(
rx51_peripherals_spi_board_info
));
ARRAY_SIZE
(
rx51_peripherals_spi_board_info
));
omap2_hsmmc_init
(
mmc
);
partition
=
omap_mux_get
(
"core"
);
if
(
partition
)
omap2_hsmmc_init
(
mmc
);
platform_device_register
(
&
rx51_charger_device
);
platform_device_register
(
&
rx51_charger_device
);
}
}
arch/arm/mach-omap2/mux.c
浏览文件 @
52aa8c53
/*
/*
* linux/arch/arm/mach-omap2/mux.c
* linux/arch/arm/mach-omap2/mux.c
*
*
* OMAP2
and OMAP3
pin multiplexing configurations
* OMAP2
, OMAP3 and OMAP4
pin multiplexing configurations
*
*
* Copyright (C) 2004 - 20
08
Texas Instruments Inc.
* Copyright (C) 2004 - 20
10
Texas Instruments Inc.
* Copyright (C) 2003 - 2008 Nokia Corporation
* Copyright (C) 2003 - 2008 Nokia Corporation
*
*
* Written by Tony Lindgren
* Written by Tony Lindgren
...
@@ -40,60 +40,72 @@
...
@@ -40,60 +40,72 @@
#define OMAP_MUX_BASE_OFFSET 0x30
/* Offset from CTRL_BASE */
#define OMAP_MUX_BASE_OFFSET 0x30
/* Offset from CTRL_BASE */
#define OMAP_MUX_BASE_SZ 0x5ca
#define OMAP_MUX_BASE_SZ 0x5ca
#define MUXABLE_GPIO_MODE3 BIT(0)
struct
omap_mux_entry
{
struct
omap_mux_entry
{
struct
omap_mux
mux
;
struct
omap_mux
mux
;
struct
list_head
node
;
struct
list_head
node
;
};
};
static
unsigned
long
mux_phys
;
static
LIST_HEAD
(
mux_partitions
);
static
void
__iomem
*
mux_base
;
static
DEFINE_MUTEX
(
muxmode_mutex
);
static
u8
omap_mux_flags
;
u16
omap_mux_read
(
u16
reg
)
struct
omap_mux_partition
*
omap_mux_get
(
const
char
*
name
)
{
{
if
(
cpu_is_omap24xx
())
struct
omap_mux_partition
*
partition
;
return
__raw_readb
(
mux_base
+
reg
);
list_for_each_entry
(
partition
,
&
mux_partitions
,
node
)
{
if
(
!
strcmp
(
name
,
partition
->
name
))
return
partition
;
}
return
NULL
;
}
u16
omap_mux_read
(
struct
omap_mux_partition
*
partition
,
u16
reg
)
{
if
(
partition
->
flags
&
OMAP_MUX_REG_8BIT
)
return
__raw_readb
(
partition
->
base
+
reg
);
else
else
return
__raw_readw
(
mux_
base
+
reg
);
return
__raw_readw
(
partition
->
base
+
reg
);
}
}
void
omap_mux_write
(
u16
val
,
u16
reg
)
void
omap_mux_write
(
struct
omap_mux_partition
*
partition
,
u16
val
,
u16
reg
)
{
{
if
(
cpu_is_omap24xx
()
)
if
(
partition
->
flags
&
OMAP_MUX_REG_8BIT
)
__raw_writeb
(
val
,
mux_
base
+
reg
);
__raw_writeb
(
val
,
partition
->
base
+
reg
);
else
else
__raw_writew
(
val
,
mux_
base
+
reg
);
__raw_writew
(
val
,
partition
->
base
+
reg
);
}
}
void
omap_mux_write_array
(
struct
omap_board_mux
*
board_mux
)
void
omap_mux_write_array
(
struct
omap_mux_partition
*
partition
,
struct
omap_board_mux
*
board_mux
)
{
{
while
(
board_mux
->
reg_offset
!=
OMAP_MUX_TERMINATOR
)
{
while
(
board_mux
->
reg_offset
!=
OMAP_MUX_TERMINATOR
)
{
omap_mux_write
(
board_mux
->
value
,
board_mux
->
reg_offset
);
omap_mux_write
(
partition
,
board_mux
->
value
,
board_mux
->
reg_offset
);
board_mux
++
;
board_mux
++
;
}
}
}
}
static
LIST_HEAD
(
muxmodes
);
static
DEFINE_MUTEX
(
muxmode_mutex
);
#ifdef CONFIG_OMAP_MUX
#ifdef CONFIG_OMAP_MUX
static
char
*
omap_mux_options
;
static
char
*
omap_mux_options
;
int
__init
omap_mux_init_gpio
(
int
gpio
,
int
val
)
static
int
__init
_omap_mux_init_gpio
(
struct
omap_mux_partition
*
partition
,
int
gpio
,
int
val
)
{
{
struct
omap_mux_entry
*
e
;
struct
omap_mux_entry
*
e
;
struct
omap_mux
*
gpio_mux
=
NULL
;
struct
omap_mux
*
gpio_mux
=
NULL
;
u16
old_mode
;
u16
old_mode
;
u16
mux_mode
;
u16
mux_mode
;
int
found
=
0
;
int
found
=
0
;
struct
list_head
*
muxmodes
=
&
partition
->
muxmodes
;
if
(
!
gpio
)
if
(
!
gpio
)
return
-
EINVAL
;
return
-
EINVAL
;
list_for_each_entry
(
e
,
&
muxmodes
,
node
)
{
list_for_each_entry
(
e
,
muxmodes
,
node
)
{
struct
omap_mux
*
m
=
&
e
->
mux
;
struct
omap_mux
*
m
=
&
e
->
mux
;
if
(
gpio
==
m
->
gpio
)
{
if
(
gpio
==
m
->
gpio
)
{
gpio_mux
=
m
;
gpio_mux
=
m
;
...
@@ -102,34 +114,50 @@ int __init omap_mux_init_gpio(int gpio, int val)
...
@@ -102,34 +114,50 @@ int __init omap_mux_init_gpio(int gpio, int val)
}
}
if
(
found
==
0
)
{
if
(
found
==
0
)
{
pr
intk
(
KERN_ERR
"mux: Could not set gpio%i
\n
"
,
gpio
);
pr
_err
(
"%s: Could not set gpio%i
\n
"
,
__func__
,
gpio
);
return
-
ENODEV
;
return
-
ENODEV
;
}
}
if
(
found
>
1
)
{
if
(
found
>
1
)
{
pr
intk
(
KERN_INFO
"mux: Multiple gpio paths (%d) for gpio%i
\n
"
,
pr
_info
(
"%s: Multiple gpio paths (%d) for gpio%i
\n
"
,
__func__
,
found
,
gpio
);
found
,
gpio
);
return
-
EINVAL
;
return
-
EINVAL
;
}
}
old_mode
=
omap_mux_read
(
gpio_mux
->
reg_offset
);
old_mode
=
omap_mux_read
(
partition
,
gpio_mux
->
reg_offset
);
mux_mode
=
val
&
~
(
OMAP_MUX_NR_MODES
-
1
);
mux_mode
=
val
&
~
(
OMAP_MUX_NR_MODES
-
1
);
if
(
omap_mux_flags
&
MUXABLE_GPIO
_MODE3
)
if
(
partition
->
flags
&
OMAP_MUX_GPIO_IN
_MODE3
)
mux_mode
|=
OMAP_MUX_MODE3
;
mux_mode
|=
OMAP_MUX_MODE3
;
else
else
mux_mode
|=
OMAP_MUX_MODE4
;
mux_mode
|=
OMAP_MUX_MODE4
;
pr
intk
(
KERN_DEBUG
"mux: Setting signal %s.gpio%i 0x%04x -> 0x%04x
\n
"
,
pr
_debug
(
"%s: Setting signal %s.gpio%i 0x%04x -> 0x%04x
\n
"
,
__func__
,
gpio_mux
->
muxnames
[
0
],
gpio
,
old_mode
,
mux_mode
);
gpio_mux
->
muxnames
[
0
],
gpio
,
old_mode
,
mux_mode
);
omap_mux_write
(
mux_mode
,
gpio_mux
->
reg_offset
);
omap_mux_write
(
partition
,
mux_mode
,
gpio_mux
->
reg_offset
);
return
0
;
return
0
;
}
}
int
__init
omap_mux_init_signal
(
const
char
*
muxname
,
int
val
)
int
__init
omap_mux_init_gpio
(
int
gpio
,
int
val
)
{
struct
omap_mux_partition
*
partition
;
int
ret
;
list_for_each_entry
(
partition
,
&
mux_partitions
,
node
)
{
ret
=
_omap_mux_init_gpio
(
partition
,
gpio
,
val
);
if
(
!
ret
)
return
ret
;
}
return
-
ENODEV
;
}
static
int
__init
_omap_mux_init_signal
(
struct
omap_mux_partition
*
partition
,
const
char
*
muxname
,
int
val
)
{
{
struct
omap_mux_entry
*
e
;
struct
omap_mux_entry
*
e
;
const
char
*
mode_name
;
const
char
*
mode_name
;
int
found
=
0
,
mode0_len
=
0
;
int
found
=
0
,
mode0_len
=
0
;
struct
list_head
*
muxmodes
=
&
partition
->
muxmodes
;
mode_name
=
strchr
(
muxname
,
'.'
);
mode_name
=
strchr
(
muxname
,
'.'
);
if
(
mode_name
)
{
if
(
mode_name
)
{
...
@@ -139,7 +167,7 @@ int __init omap_mux_init_signal(const char *muxname, int val)
...
@@ -139,7 +167,7 @@ int __init omap_mux_init_signal(const char *muxname, int val)
mode_name
=
muxname
;
mode_name
=
muxname
;
}
}
list_for_each_entry
(
e
,
&
muxmodes
,
node
)
{
list_for_each_entry
(
e
,
muxmodes
,
node
)
{
struct
omap_mux
*
m
=
&
e
->
mux
;
struct
omap_mux
*
m
=
&
e
->
mux
;
char
*
m0_entry
=
m
->
muxnames
[
0
];
char
*
m0_entry
=
m
->
muxnames
[
0
];
int
i
;
int
i
;
...
@@ -159,12 +187,14 @@ int __init omap_mux_init_signal(const char *muxname, int val)
...
@@ -159,12 +187,14 @@ int __init omap_mux_init_signal(const char *muxname, int val)
u16
old_mode
;
u16
old_mode
;
u16
mux_mode
;
u16
mux_mode
;
old_mode
=
omap_mux_read
(
m
->
reg_offset
);
old_mode
=
omap_mux_read
(
partition
,
m
->
reg_offset
);
mux_mode
=
val
|
i
;
mux_mode
=
val
|
i
;
printk
(
KERN_DEBUG
"mux: Setting signal "
pr_debug
(
"%s: Setting signal "
"%s.%s 0x%04x -> 0x%04x
\n
"
,
"%s.%s 0x%04x -> 0x%04x
\n
"
,
__func__
,
m0_entry
,
muxname
,
old_mode
,
mux_mode
);
m0_entry
,
muxname
,
old_mode
,
mux_mode
);
omap_mux_write
(
mux_mode
,
m
->
reg_offset
);
omap_mux_write
(
partition
,
mux_mode
,
m
->
reg_offset
);
found
++
;
found
++
;
}
}
}
}
...
@@ -174,16 +204,31 @@ int __init omap_mux_init_signal(const char *muxname, int val)
...
@@ -174,16 +204,31 @@ int __init omap_mux_init_signal(const char *muxname, int val)
return
0
;
return
0
;
if
(
found
>
1
)
{
if
(
found
>
1
)
{
pr
intk
(
KERN_ERR
"mux: Multiple signal paths (%i) for %s
\n
"
,
pr
_err
(
"%s: Multiple signal paths (%i) for %s
\n
"
,
__func__
,
found
,
muxname
);
found
,
muxname
);
return
-
EINVAL
;
return
-
EINVAL
;
}
}
pr
intk
(
KERN_ERR
"mux: Could not set signal %s
\n
"
,
muxname
);
pr
_err
(
"%s: Could not set signal %s
\n
"
,
__func__
,
muxname
);
return
-
ENODEV
;
return
-
ENODEV
;
}
}
int
__init
omap_mux_init_signal
(
const
char
*
muxname
,
int
val
)
{
struct
omap_mux_partition
*
partition
;
int
ret
;
list_for_each_entry
(
partition
,
&
mux_partitions
,
node
)
{
ret
=
_omap_mux_init_signal
(
partition
,
muxname
,
val
);
if
(
!
ret
)
return
ret
;
}
return
-
ENODEV
;
}
#ifdef CONFIG_DEBUG_FS
#ifdef CONFIG_DEBUG_FS
#define OMAP_MUX_MAX_NR_FLAGS 10
#define OMAP_MUX_MAX_NR_FLAGS 10
...
@@ -248,13 +293,15 @@ static inline void omap_mux_decode(struct seq_file *s, u16 val)
...
@@ -248,13 +293,15 @@ static inline void omap_mux_decode(struct seq_file *s, u16 val)
}
while
(
i
--
>
0
);
}
while
(
i
--
>
0
);
}
}
#define OMAP_MUX_DEFNAME_LEN
16
#define OMAP_MUX_DEFNAME_LEN
32
static
int
omap_mux_dbg_board_show
(
struct
seq_file
*
s
,
void
*
unused
)
static
int
omap_mux_dbg_board_show
(
struct
seq_file
*
s
,
void
*
unused
)
{
{
struct
omap_mux_partition
*
partition
=
s
->
private
;
struct
omap_mux_entry
*
e
;
struct
omap_mux_entry
*
e
;
u8
omap_gen
=
omap_rev
()
>>
28
;
list_for_each_entry
(
e
,
&
muxmodes
,
node
)
{
list_for_each_entry
(
e
,
&
partition
->
muxmodes
,
node
)
{
struct
omap_mux
*
m
=
&
e
->
mux
;
struct
omap_mux
*
m
=
&
e
->
mux
;
char
m0_def
[
OMAP_MUX_DEFNAME_LEN
];
char
m0_def
[
OMAP_MUX_DEFNAME_LEN
];
char
*
m0_name
=
m
->
muxnames
[
0
];
char
*
m0_name
=
m
->
muxnames
[
0
];
...
@@ -272,11 +319,16 @@ static int omap_mux_dbg_board_show(struct seq_file *s, void *unused)
...
@@ -272,11 +319,16 @@ static int omap_mux_dbg_board_show(struct seq_file *s, void *unused)
}
}
m0_def
[
i
]
=
toupper
(
m0_name
[
i
]);
m0_def
[
i
]
=
toupper
(
m0_name
[
i
]);
}
}
val
=
omap_mux_read
(
m
->
reg_offset
);
val
=
omap_mux_read
(
partition
,
m
->
reg_offset
);
mode
=
val
&
OMAP_MUX_MODE7
;
mode
=
val
&
OMAP_MUX_MODE7
;
if
(
mode
!=
0
)
seq_printf
(
s
,
"OMAP%i_MUX(%s, "
,
seq_printf
(
s
,
"/* %s */
\n
"
,
m
->
muxnames
[
mode
]);
cpu_is_omap34xx
()
?
3
:
0
,
m0_def
);
/*
* XXX: Might be revisited to support differences accross
* same OMAP generation.
*/
seq_printf
(
s
,
"OMAP%d_MUX(%s, "
,
omap_gen
,
m0_def
);
omap_mux_decode
(
s
,
val
);
omap_mux_decode
(
s
,
val
);
seq_printf
(
s
,
"),
\n
"
);
seq_printf
(
s
,
"),
\n
"
);
}
}
...
@@ -286,7 +338,7 @@ static int omap_mux_dbg_board_show(struct seq_file *s, void *unused)
...
@@ -286,7 +338,7 @@ static int omap_mux_dbg_board_show(struct seq_file *s, void *unused)
static
int
omap_mux_dbg_board_open
(
struct
inode
*
inode
,
struct
file
*
file
)
static
int
omap_mux_dbg_board_open
(
struct
inode
*
inode
,
struct
file
*
file
)
{
{
return
single_open
(
file
,
omap_mux_dbg_board_show
,
&
inode
->
i_private
);
return
single_open
(
file
,
omap_mux_dbg_board_show
,
inode
->
i_private
);
}
}
static
const
struct
file_operations
omap_mux_dbg_board_fops
=
{
static
const
struct
file_operations
omap_mux_dbg_board_fops
=
{
...
@@ -296,19 +348,43 @@ static const struct file_operations omap_mux_dbg_board_fops = {
...
@@ -296,19 +348,43 @@ static const struct file_operations omap_mux_dbg_board_fops = {
.
release
=
single_release
,
.
release
=
single_release
,
};
};
static
struct
omap_mux_partition
*
omap_mux_get_partition
(
struct
omap_mux
*
mux
)
{
struct
omap_mux_partition
*
partition
;
list_for_each_entry
(
partition
,
&
mux_partitions
,
node
)
{
struct
list_head
*
muxmodes
=
&
partition
->
muxmodes
;
struct
omap_mux_entry
*
e
;
list_for_each_entry
(
e
,
muxmodes
,
node
)
{
struct
omap_mux
*
m
=
&
e
->
mux
;
if
(
m
==
mux
)
return
partition
;
}
}
return
NULL
;
}
static
int
omap_mux_dbg_signal_show
(
struct
seq_file
*
s
,
void
*
unused
)
static
int
omap_mux_dbg_signal_show
(
struct
seq_file
*
s
,
void
*
unused
)
{
{
struct
omap_mux
*
m
=
s
->
private
;
struct
omap_mux
*
m
=
s
->
private
;
struct
omap_mux_partition
*
partition
;
const
char
*
none
=
"NA"
;
const
char
*
none
=
"NA"
;
u16
val
;
u16
val
;
int
mode
;
int
mode
;
val
=
omap_mux_read
(
m
->
reg_offset
);
partition
=
omap_mux_get_partition
(
m
);
if
(
!
partition
)
return
0
;
val
=
omap_mux_read
(
partition
,
m
->
reg_offset
);
mode
=
val
&
OMAP_MUX_MODE7
;
mode
=
val
&
OMAP_MUX_MODE7
;
seq_printf
(
s
,
"name: %s.%s (0x%08
l
x/0x%03x = 0x%04x), b %s, t %s
\n
"
,
seq_printf
(
s
,
"name: %s.%s (0x%08x/0x%03x = 0x%04x), b %s, t %s
\n
"
,
m
->
muxnames
[
0
],
m
->
muxnames
[
mode
],
m
->
muxnames
[
0
],
m
->
muxnames
[
mode
],
mux_
phys
+
m
->
reg_offset
,
m
->
reg_offset
,
val
,
partition
->
phys
+
m
->
reg_offset
,
m
->
reg_offset
,
val
,
m
->
balls
[
0
]
?
m
->
balls
[
0
]
:
none
,
m
->
balls
[
0
]
?
m
->
balls
[
0
]
:
none
,
m
->
balls
[
1
]
?
m
->
balls
[
1
]
:
none
);
m
->
balls
[
1
]
?
m
->
balls
[
1
]
:
none
);
seq_printf
(
s
,
"mode: "
);
seq_printf
(
s
,
"mode: "
);
...
@@ -330,14 +406,15 @@ static int omap_mux_dbg_signal_show(struct seq_file *s, void *unused)
...
@@ -330,14 +406,15 @@ static int omap_mux_dbg_signal_show(struct seq_file *s, void *unused)
#define OMAP_MUX_MAX_ARG_CHAR 7
#define OMAP_MUX_MAX_ARG_CHAR 7
static
ssize_t
omap_mux_dbg_signal_write
(
struct
file
*
file
,
static
ssize_t
omap_mux_dbg_signal_write
(
struct
file
*
file
,
const
char
__user
*
user_buf
,
const
char
__user
*
user_buf
,
size_t
count
,
loff_t
*
ppos
)
size_t
count
,
loff_t
*
ppos
)
{
{
char
buf
[
OMAP_MUX_MAX_ARG_CHAR
];
char
buf
[
OMAP_MUX_MAX_ARG_CHAR
];
struct
seq_file
*
seqf
;
struct
seq_file
*
seqf
;
struct
omap_mux
*
m
;
struct
omap_mux
*
m
;
unsigned
long
val
;
unsigned
long
val
;
int
buf_size
,
ret
;
int
buf_size
,
ret
;
struct
omap_mux_partition
*
partition
;
if
(
count
>
OMAP_MUX_MAX_ARG_CHAR
)
if
(
count
>
OMAP_MUX_MAX_ARG_CHAR
)
return
-
EINVAL
;
return
-
EINVAL
;
...
@@ -358,7 +435,11 @@ static ssize_t omap_mux_dbg_signal_write(struct file *file,
...
@@ -358,7 +435,11 @@ static ssize_t omap_mux_dbg_signal_write(struct file *file,
seqf
=
file
->
private_data
;
seqf
=
file
->
private_data
;
m
=
seqf
->
private
;
m
=
seqf
->
private
;
omap_mux_write
((
u16
)
val
,
m
->
reg_offset
);
partition
=
omap_mux_get_partition
(
m
);
if
(
!
partition
)
return
-
ENODEV
;
omap_mux_write
(
partition
,
(
u16
)
val
,
m
->
reg_offset
);
*
ppos
+=
count
;
*
ppos
+=
count
;
return
count
;
return
count
;
...
@@ -379,22 +460,38 @@ static const struct file_operations omap_mux_dbg_signal_fops = {
...
@@ -379,22 +460,38 @@ static const struct file_operations omap_mux_dbg_signal_fops = {
static
struct
dentry
*
mux_dbg_dir
;
static
struct
dentry
*
mux_dbg_dir
;
static
void
__init
omap_mux_dbg_init
(
void
)
static
void
__init
omap_mux_dbg_create_entry
(
struct
omap_mux_partition
*
partition
,
struct
dentry
*
mux_dbg_dir
)
{
{
struct
omap_mux_entry
*
e
;
struct
omap_mux_entry
*
e
;
list_for_each_entry
(
e
,
&
partition
->
muxmodes
,
node
)
{
struct
omap_mux
*
m
=
&
e
->
mux
;
(
void
)
debugfs_create_file
(
m
->
muxnames
[
0
],
S_IWUGO
,
mux_dbg_dir
,
m
,
&
omap_mux_dbg_signal_fops
);
}
}
static
void
__init
omap_mux_dbg_init
(
void
)
{
struct
omap_mux_partition
*
partition
;
static
struct
dentry
*
mux_dbg_board_dir
;
mux_dbg_dir
=
debugfs_create_dir
(
"omap_mux"
,
NULL
);
mux_dbg_dir
=
debugfs_create_dir
(
"omap_mux"
,
NULL
);
if
(
!
mux_dbg_dir
)
if
(
!
mux_dbg_dir
)
return
;
return
;
(
void
)
debugfs_create_file
(
"board"
,
S_IRUGO
,
mux_dbg_dir
,
mux_dbg_board_dir
=
debugfs_create_dir
(
"board"
,
mux_dbg_dir
);
NULL
,
&
omap_mux_dbg_board_fops
);
if
(
!
mux_dbg_board_dir
)
return
;
list_for_each_entry
(
e
,
&
muxmodes
,
node
)
{
struct
omap_mux
*
m
=
&
e
->
mux
;
(
void
)
debugfs_create_file
(
m
->
muxnames
[
0
],
S_IWUGO
,
mux_dbg_dir
,
list_for_each_entry
(
partition
,
&
mux_partitions
,
node
)
{
m
,
&
omap_mux_dbg_signal_fops
);
omap_mux_dbg_create_entry
(
partition
,
mux_dbg_dir
);
(
void
)
debugfs_create_file
(
partition
->
name
,
S_IRUGO
,
mux_dbg_board_dir
,
partition
,
&
omap_mux_dbg_board_fops
);
}
}
}
}
...
@@ -421,23 +518,25 @@ static void __init omap_mux_free_names(struct omap_mux *m)
...
@@ -421,23 +518,25 @@ static void __init omap_mux_free_names(struct omap_mux *m)
/* Free all data except for GPIO pins unless CONFIG_DEBUG_FS is set */
/* Free all data except for GPIO pins unless CONFIG_DEBUG_FS is set */
static
int
__init
omap_mux_late_init
(
void
)
static
int
__init
omap_mux_late_init
(
void
)
{
{
struct
omap_mux_
entry
*
e
,
*
tmp
;
struct
omap_mux_
partition
*
partition
;
list_for_each_entry_safe
(
e
,
tmp
,
&
muxmodes
,
node
)
{
list_for_each_entry
(
partition
,
&
mux_partitions
,
node
)
{
struct
omap_mux
*
m
=
&
e
->
mux
;
struct
omap_mux_entry
*
e
,
*
tmp
;
u16
mode
=
omap_mux_read
(
m
->
reg_offset
);
list_for_each_entry_safe
(
e
,
tmp
,
&
partition
->
muxmodes
,
node
)
{
struct
omap_mux
*
m
=
&
e
->
mux
;
u16
mode
=
omap_mux_read
(
partition
,
m
->
reg_offset
);
if
(
OMAP_MODE_GPIO
(
mode
))
if
(
OMAP_MODE_GPIO
(
mode
))
continue
;
continue
;
#ifndef CONFIG_DEBUG_FS
#ifndef CONFIG_DEBUG_FS
mutex_lock
(
&
muxmode_mutex
);
mutex_lock
(
&
muxmode_mutex
);
list_del
(
&
e
->
node
);
list_del
(
&
e
->
node
);
mutex_unlock
(
&
muxmode_mutex
);
mutex_unlock
(
&
muxmode_mutex
);
omap_mux_free_names
(
m
);
omap_mux_free_names
(
m
);
kfree
(
m
);
kfree
(
m
);
#endif
#endif
}
}
}
omap_mux_dbg_init
();
omap_mux_dbg_init
();
...
@@ -462,8 +561,8 @@ static void __init omap_mux_package_fixup(struct omap_mux *p,
...
@@ -462,8 +561,8 @@ static void __init omap_mux_package_fixup(struct omap_mux *p,
s
++
;
s
++
;
}
}
if
(
!
found
)
if
(
!
found
)
pr
intk
(
KERN_ERR
"mux: Unknown entry offset 0x%x
\n
"
,
pr
_err
(
"%s: Unknown entry offset 0x%x
\n
"
,
__func__
,
p
->
reg_offset
);
p
->
reg_offset
);
p
++
;
p
++
;
}
}
}
}
...
@@ -487,8 +586,8 @@ static void __init omap_mux_package_init_balls(struct omap_ball *b,
...
@@ -487,8 +586,8 @@ static void __init omap_mux_package_init_balls(struct omap_ball *b,
s
++
;
s
++
;
}
}
if
(
!
found
)
if
(
!
found
)
pr
intk
(
KERN_ERR
"mux: Unknown ball offset 0x%x
\n
"
,
pr
_err
(
"%s: Unknown ball offset 0x%x
\n
"
,
__func__
,
b
->
reg_offset
);
b
->
reg_offset
);
b
++
;
b
++
;
}
}
}
}
...
@@ -554,7 +653,7 @@ static void __init omap_mux_set_cmdline_signals(void)
...
@@ -554,7 +653,7 @@ static void __init omap_mux_set_cmdline_signals(void)
}
}
static
int
__init
omap_mux_copy_names
(
struct
omap_mux
*
src
,
static
int
__init
omap_mux_copy_names
(
struct
omap_mux
*
src
,
struct
omap_mux
*
dst
)
struct
omap_mux
*
dst
)
{
{
int
i
;
int
i
;
...
@@ -592,51 +691,63 @@ static int __init omap_mux_copy_names(struct omap_mux *src,
...
@@ -592,51 +691,63 @@ static int __init omap_mux_copy_names(struct omap_mux *src,
#endif
/* CONFIG_OMAP_MUX */
#endif
/* CONFIG_OMAP_MUX */
static
u16
omap_mux_get_by_gpio
(
int
gpio
)
static
struct
omap_mux
*
omap_mux_get_by_gpio
(
struct
omap_mux_partition
*
partition
,
int
gpio
)
{
{
struct
omap_mux_entry
*
e
;
struct
omap_mux_entry
*
e
;
u16
offset
=
OMAP_MUX_TERMINATOR
;
struct
omap_mux
*
ret
=
NULL
;
list_for_each_entry
(
e
,
&
muxmodes
,
node
)
{
list_for_each_entry
(
e
,
&
partition
->
muxmodes
,
node
)
{
struct
omap_mux
*
m
=
&
e
->
mux
;
struct
omap_mux
*
m
=
&
e
->
mux
;
if
(
m
->
gpio
==
gpio
)
{
if
(
m
->
gpio
==
gpio
)
{
offset
=
m
->
reg_offset
;
ret
=
m
;
break
;
break
;
}
}
}
}
return
offs
et
;
return
r
et
;
}
}
/* Needed for dynamic muxing of GPIO pins for off-idle */
/* Needed for dynamic muxing of GPIO pins for off-idle */
u16
omap_mux_get_gpio
(
int
gpio
)
u16
omap_mux_get_gpio
(
int
gpio
)
{
{
u16
offset
;
struct
omap_mux_partition
*
partition
;
struct
omap_mux
*
m
;
offset
=
omap_mux_get_by_gpio
(
gpio
);
list_for_each_entry
(
partition
,
&
mux_partitions
,
node
)
{
if
(
offset
==
OMAP_MUX_TERMINATOR
)
{
m
=
omap_mux_get_by_gpio
(
partition
,
gpio
);
printk
(
KERN_ERR
"mux: Could not get gpio%i
\n
"
,
gpio
);
if
(
m
)
return
offset
;
return
omap_mux_read
(
partition
,
m
->
reg_offset
)
;
}
}
return
omap_mux_read
(
offset
);
if
(
!
m
||
m
->
reg_offset
==
OMAP_MUX_TERMINATOR
)
pr_err
(
"%s: Could not get gpio%i
\n
"
,
__func__
,
gpio
);
return
OMAP_MUX_TERMINATOR
;
}
}
/* Needed for dynamic muxing of GPIO pins for off-idle */
/* Needed for dynamic muxing of GPIO pins for off-idle */
void
omap_mux_set_gpio
(
u16
val
,
int
gpio
)
void
omap_mux_set_gpio
(
u16
val
,
int
gpio
)
{
{
u16
offset
;
struct
omap_mux_partition
*
partition
;
struct
omap_mux
*
m
=
NULL
;
offset
=
omap_mux_get_by_gpio
(
gpio
);
list_for_each_entry
(
partition
,
&
mux_partitions
,
node
)
{
if
(
offset
==
OMAP_MUX_TERMINATOR
)
{
m
=
omap_mux_get_by_gpio
(
partition
,
gpio
);
printk
(
KERN_ERR
"mux: Could not set gpio%i
\n
"
,
gpio
);
if
(
m
)
{
return
;
omap_mux_write
(
partition
,
val
,
m
->
reg_offset
);
return
;
}
}
}
omap_mux_write
(
val
,
offset
);
if
(
!
m
||
m
->
reg_offset
==
OMAP_MUX_TERMINATOR
)
pr_err
(
"%s: Could not set gpio%i
\n
"
,
__func__
,
gpio
);
}
}
static
struct
omap_mux
*
__init
omap_mux_list_add
(
struct
omap_mux
*
src
)
static
struct
omap_mux
*
__init
omap_mux_list_add
(
struct
omap_mux_partition
*
partition
,
struct
omap_mux
*
src
)
{
{
struct
omap_mux_entry
*
entry
;
struct
omap_mux_entry
*
entry
;
struct
omap_mux
*
m
;
struct
omap_mux
*
m
;
...
@@ -656,7 +767,7 @@ static struct omap_mux * __init omap_mux_list_add(struct omap_mux *src)
...
@@ -656,7 +767,7 @@ static struct omap_mux * __init omap_mux_list_add(struct omap_mux *src)
#endif
#endif
mutex_lock
(
&
muxmode_mutex
);
mutex_lock
(
&
muxmode_mutex
);
list_add_tail
(
&
entry
->
node
,
&
muxmodes
);
list_add_tail
(
&
entry
->
node
,
&
partition
->
muxmodes
);
mutex_unlock
(
&
muxmode_mutex
);
mutex_unlock
(
&
muxmode_mutex
);
return
m
;
return
m
;
...
@@ -667,7 +778,8 @@ static struct omap_mux * __init omap_mux_list_add(struct omap_mux *src)
...
@@ -667,7 +778,8 @@ static struct omap_mux * __init omap_mux_list_add(struct omap_mux *src)
* the GPIO to mux offset mapping that is needed for dynamic muxing
* the GPIO to mux offset mapping that is needed for dynamic muxing
* of GPIO pins for off-idle.
* of GPIO pins for off-idle.
*/
*/
static
void
__init
omap_mux_init_list
(
struct
omap_mux
*
superset
)
static
void
__init
omap_mux_init_list
(
struct
omap_mux_partition
*
partition
,
struct
omap_mux
*
superset
)
{
{
while
(
superset
->
reg_offset
!=
OMAP_MUX_TERMINATOR
)
{
while
(
superset
->
reg_offset
!=
OMAP_MUX_TERMINATOR
)
{
struct
omap_mux
*
entry
;
struct
omap_mux
*
entry
;
...
@@ -679,15 +791,16 @@ static void __init omap_mux_init_list(struct omap_mux *superset)
...
@@ -679,15 +791,16 @@ static void __init omap_mux_init_list(struct omap_mux *superset)
}
}
#else
#else
/* Skip pins that are not muxed as GPIO by bootloader */
/* Skip pins that are not muxed as GPIO by bootloader */
if
(
!
OMAP_MODE_GPIO
(
omap_mux_read
(
superset
->
reg_offset
)))
{
if
(
!
OMAP_MODE_GPIO
(
omap_mux_read
(
partition
,
superset
->
reg_offset
)))
{
superset
++
;
superset
++
;
continue
;
continue
;
}
}
#endif
#endif
entry
=
omap_mux_list_add
(
superset
);
entry
=
omap_mux_list_add
(
partition
,
superset
);
if
(
!
entry
)
{
if
(
!
entry
)
{
pr
intk
(
KERN_ERR
"mux: Could not add entry
\n
"
);
pr
_err
(
"%s: Could not add entry
\n
"
,
__func__
);
return
;
return
;
}
}
superset
++
;
superset
++
;
...
@@ -706,10 +819,11 @@ static void omap_mux_init_package(struct omap_mux *superset,
...
@@ -706,10 +819,11 @@ static void omap_mux_init_package(struct omap_mux *superset,
omap_mux_package_init_balls
(
package_balls
,
superset
);
omap_mux_package_init_balls
(
package_balls
,
superset
);
}
}
static
void
omap_mux_init_signals
(
struct
omap_board_mux
*
board_mux
)
static
void
omap_mux_init_signals
(
struct
omap_mux_partition
*
partition
,
struct
omap_board_mux
*
board_mux
)
{
{
omap_mux_set_cmdline_signals
();
omap_mux_set_cmdline_signals
();
omap_mux_write_array
(
board_mux
);
omap_mux_write_array
(
partition
,
board_mux
);
}
}
#else
#else
...
@@ -720,34 +834,49 @@ static void omap_mux_init_package(struct omap_mux *superset,
...
@@ -720,34 +834,49 @@ static void omap_mux_init_package(struct omap_mux *superset,
{
{
}
}
static
void
omap_mux_init_signals
(
struct
omap_board_mux
*
board_mux
)
static
void
omap_mux_init_signals
(
struct
omap_mux_partition
*
partition
,
struct
omap_board_mux
*
board_mux
)
{
{
}
}
#endif
#endif
int
__init
omap_mux_init
(
u32
mux_pbase
,
u32
mux_size
,
static
u32
mux_partitions_cnt
;
struct
omap_mux
*
superset
,
struct
omap_mux
*
package_subset
,
struct
omap_board_mux
*
board_mux
,
struct
omap_ball
*
package_balls
)
{
if
(
mux_base
)
return
-
EBUSY
;
mux_phys
=
mux_pbase
;
int
__init
omap_mux_init
(
const
char
*
name
,
u32
flags
,
mux_base
=
ioremap
(
mux_pbase
,
mux_size
);
u32
mux_pbase
,
u32
mux_size
,
if
(
!
mux_base
)
{
struct
omap_mux
*
superset
,
printk
(
KERN_ERR
"mux: Could not ioremap
\n
"
);
struct
omap_mux
*
package_subset
,
struct
omap_board_mux
*
board_mux
,
struct
omap_ball
*
package_balls
)
{
struct
omap_mux_partition
*
partition
;
partition
=
kzalloc
(
sizeof
(
struct
omap_mux_partition
),
GFP_KERNEL
);
if
(
!
partition
)
return
-
ENOMEM
;
partition
->
name
=
name
;
partition
->
flags
=
flags
;
partition
->
size
=
mux_size
;
partition
->
phys
=
mux_pbase
;
partition
->
base
=
ioremap
(
mux_pbase
,
mux_size
);
if
(
!
partition
->
base
)
{
pr_err
(
"%s: Could not ioremap mux partition at 0x%08x
\n
"
,
__func__
,
partition
->
phys
);
return
-
ENODEV
;
return
-
ENODEV
;
}
}
if
(
cpu_is_omap24xx
())
INIT_LIST_HEAD
(
&
partition
->
muxmodes
);
omap_mux_flags
=
MUXABLE_GPIO_MODE3
;
list_add_tail
(
&
partition
->
node
,
&
mux_partitions
);
mux_partitions_cnt
++
;
pr_info
(
"%s: Add partition: #%d: %s, flags: %x
\n
"
,
__func__
,
mux_partitions_cnt
,
partition
->
name
,
partition
->
flags
);
omap_mux_init_package
(
superset
,
package_subset
,
package_balls
);
omap_mux_init_package
(
superset
,
package_subset
,
package_balls
);
omap_mux_init_list
(
superset
);
omap_mux_init_list
(
partition
,
superset
);
omap_mux_init_signals
(
board_mux
);
omap_mux_init_signals
(
partition
,
board_mux
);
return
0
;
return
0
;
}
}
...
...
arch/arm/mach-omap2/mux.h
浏览文件 @
52aa8c53
/*
/*
* Copyright (C) 2009 Nokia
* Copyright (C) 2009 Nokia
* Copyright (C) 2009 Texas Instruments
* Copyright (C) 2009
-2010
Texas Instruments
*
*
* This program is free software; you can redistribute it and/or modify
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* it under the terms of the GNU General Public License version 2 as
...
@@ -10,6 +10,7 @@
...
@@ -10,6 +10,7 @@
#include "mux2420.h"
#include "mux2420.h"
#include "mux2430.h"
#include "mux2430.h"
#include "mux34xx.h"
#include "mux34xx.h"
#include "mux44xx.h"
#define OMAP_MUX_TERMINATOR 0xffff
#define OMAP_MUX_TERMINATOR 0xffff
...
@@ -37,6 +38,9 @@
...
@@ -37,6 +38,9 @@
#define OMAP_OFF_PULL_UP (1 << 13)
#define OMAP_OFF_PULL_UP (1 << 13)
#define OMAP_WAKEUP_EN (1 << 14)
#define OMAP_WAKEUP_EN (1 << 14)
/* 44xx specific mux bit defines */
#define OMAP_WAKEUP_EVENT (1 << 15)
/* Active pin states */
/* Active pin states */
#define OMAP_PIN_OUTPUT 0
#define OMAP_PIN_OUTPUT 0
#define OMAP_PIN_INPUT OMAP_INPUT_EN
#define OMAP_PIN_INPUT OMAP_INPUT_EN
...
@@ -56,8 +60,10 @@
...
@@ -56,8 +60,10 @@
#define OMAP_MODE_GPIO(x) (((x) & OMAP_MUX_MODE7) == OMAP_MUX_MODE4)
#define OMAP_MODE_GPIO(x) (((x) & OMAP_MUX_MODE7) == OMAP_MUX_MODE4)
/* Flags for omap_mux_init */
/* Flags for omap
X
_mux_init */
#define OMAP_PACKAGE_MASK 0xffff
#define OMAP_PACKAGE_MASK 0xffff
#define OMAP_PACKAGE_CBS 8
/* 547-pin 0.40 0.40 */
#define OMAP_PACKAGE_CBL 7
/* 547-pin 0.40 0.40 */
#define OMAP_PACKAGE_CBP 6
/* 515-pin 0.40 0.50 */
#define OMAP_PACKAGE_CBP 6
/* 515-pin 0.40 0.50 */
#define OMAP_PACKAGE_CUS 5
/* 423-pin 0.65 */
#define OMAP_PACKAGE_CUS 5
/* 423-pin 0.65 */
#define OMAP_PACKAGE_CBB 4
/* 515-pin 0.40 0.50 */
#define OMAP_PACKAGE_CBB 4
/* 515-pin 0.40 0.50 */
...
@@ -66,14 +72,47 @@
...
@@ -66,14 +72,47 @@
#define OMAP_PACKAGE_ZAF 1
/* 2420 447-pin SIP */
#define OMAP_PACKAGE_ZAF 1
/* 2420 447-pin SIP */
#define OMAP_MUX_NR_MODES 8
/* Available modes */
#define OMAP_MUX_NR_MODES 8
/* Available modes */
#define OMAP_MUX_NR_SIDES 2
/* Bottom & top */
#define OMAP_MUX_NR_SIDES 2
/* Bottom & top */
/*
* omap_mux_init flags definition:
*
* OMAP_MUX_REG_8BIT: Ensure that access to padconf is done in 8 bits.
* The default value is 16 bits.
* OMAP_MUX_GPIO_IN_MODE3: The GPIO is selected in mode3.
* The default is mode4.
*/
#define OMAP_MUX_REG_8BIT (1 << 0)
#define OMAP_MUX_GPIO_IN_MODE3 (1 << 1)
/**
* struct mux_partition - contain partition related information
* @name: name of the current partition
* @flags: flags specific to this partition
* @phys: physical address
* @size: partition size
* @base: virtual address after ioremap
* @muxmodes: list of nodes that belong to a partition
* @node: list node for the partitions linked list
*/
struct
omap_mux_partition
{
const
char
*
name
;
u32
flags
;
u32
phys
;
u32
size
;
void
__iomem
*
base
;
struct
list_head
muxmodes
;
struct
list_head
node
;
};
/**
/**
* struct omap_mux - data for omap mux register offset and it's value
* struct omap_mux - data for omap mux register offset and it's value
* @reg_offset: mux register offset from the mux base
* @reg_offset: mux register offset from the mux base
* @gpio: GPIO number
* @gpio: GPIO number
* @muxnames: available signal modes for a ball
* @muxnames: available signal modes for a ball
* @balls: available balls on the package
* @partition: mux partition
*/
*/
struct
omap_mux
{
struct
omap_mux
{
u16
reg_offset
;
u16
reg_offset
;
...
@@ -150,29 +189,40 @@ u16 omap_mux_get_gpio(int gpio);
...
@@ -150,29 +189,40 @@ u16 omap_mux_get_gpio(int gpio);
*/
*/
void
omap_mux_set_gpio
(
u16
val
,
int
gpio
);
void
omap_mux_set_gpio
(
u16
val
,
int
gpio
);
/**
* omap_mux_get() - get a mux partition by name
* @name: Name of the mux partition
*
*/
struct
omap_mux_partition
*
omap_mux_get
(
const
char
*
name
);
/**
/**
* omap_mux_read() - read mux register
* omap_mux_read() - read mux register
* @partition: Mux partition
* @mux_offset: Offset of the mux register
* @mux_offset: Offset of the mux register
*
*
*/
*/
u16
omap_mux_read
(
u16
mux_offset
);
u16
omap_mux_read
(
struct
omap_mux_partition
*
p
,
u16
mux_offset
);
/**
/**
* omap_mux_write() - write mux register
* omap_mux_write() - write mux register
* @partition: Mux partition
* @val: New mux register value
* @val: New mux register value
* @mux_offset: Offset of the mux register
* @mux_offset: Offset of the mux register
*
*
* This should be only needed for dynamic remuxing of non-gpio signals.
* This should be only needed for dynamic remuxing of non-gpio signals.
*/
*/
void
omap_mux_write
(
u16
val
,
u16
mux_offset
);
void
omap_mux_write
(
struct
omap_mux_partition
*
p
,
u16
val
,
u16
mux_offset
);
/**
/**
* omap_mux_write_array() - write an array of mux registers
* omap_mux_write_array() - write an array of mux registers
* @partition: Mux partition
* @board_mux: Array of mux registers terminated by MAP_MUX_TERMINATOR
* @board_mux: Array of mux registers terminated by MAP_MUX_TERMINATOR
*
*
* This should be only needed for dynamic remuxing of non-gpio signals.
* This should be only needed for dynamic remuxing of non-gpio signals.
*/
*/
void
omap_mux_write_array
(
struct
omap_board_mux
*
board_mux
);
void
omap_mux_write_array
(
struct
omap_mux_partition
*
p
,
struct
omap_board_mux
*
board_mux
);
/**
/**
* omap2420_mux_init() - initialize mux system with board specific set
* omap2420_mux_init() - initialize mux system with board specific set
...
@@ -195,11 +245,20 @@ int omap2430_mux_init(struct omap_board_mux *board_mux, int flags);
...
@@ -195,11 +245,20 @@ int omap2430_mux_init(struct omap_board_mux *board_mux, int flags);
*/
*/
int
omap3_mux_init
(
struct
omap_board_mux
*
board_mux
,
int
flags
);
int
omap3_mux_init
(
struct
omap_board_mux
*
board_mux
,
int
flags
);
/**
* omap4_mux_init() - initialize mux system with board specific set
* @board_mux: Board specific mux table
* @flags: OMAP package type used for the board
*/
int
omap4_mux_init
(
struct
omap_board_mux
*
board_mux
,
int
flags
);
/**
/**
* omap_mux_init - private mux init function, do not call
* omap_mux_init - private mux init function, do not call
*/
*/
int
omap_mux_init
(
u32
mux_pbase
,
u32
mux_size
,
int
omap_mux_init
(
const
char
*
name
,
u32
flags
,
struct
omap_mux
*
superset
,
u32
mux_pbase
,
u32
mux_size
,
struct
omap_mux
*
package_subset
,
struct
omap_mux
*
superset
,
struct
omap_board_mux
*
board_mux
,
struct
omap_mux
*
package_subset
,
struct
omap_ball
*
package_balls
);
struct
omap_board_mux
*
board_mux
,
struct
omap_ball
*
package_balls
);
arch/arm/mach-omap2/mux2420.c
浏览文件 @
52aa8c53
...
@@ -678,11 +678,13 @@ int __init omap2420_mux_init(struct omap_board_mux *board_subset, int flags)
...
@@ -678,11 +678,13 @@ int __init omap2420_mux_init(struct omap_board_mux *board_subset, int flags)
case
OMAP_PACKAGE_ZAF
:
case
OMAP_PACKAGE_ZAF
:
/* REVISIT: Please add data */
/* REVISIT: Please add data */
default:
default:
pr_warning
(
"mux: No ball data available for omap2420 package
\n
"
);
pr_warning
(
"%s: No ball data available for omap2420 package
\n
"
,
__func__
);
}
}
return
omap_mux_init
(
OMAP2420_CONTROL_PADCONF_MUX_PBASE
,
return
omap_mux_init
(
"core"
,
OMAP_MUX_REG_8BIT
|
OMAP_MUX_GPIO_IN_MODE3
,
OMAP2420_CONTROL_PADCONF_MUX_PBASE
,
OMAP2420_CONTROL_PADCONF_MUX_SIZE
,
OMAP2420_CONTROL_PADCONF_MUX_SIZE
,
omap2420_muxmodes
,
NULL
,
board_subset
,
omap2420_muxmodes
,
NULL
,
board_subset
,
package_balls
);
package_balls
);
}
}
arch/arm/mach-omap2/mux2430.c
浏览文件 @
52aa8c53
...
@@ -781,11 +781,13 @@ int __init omap2430_mux_init(struct omap_board_mux *board_subset, int flags)
...
@@ -781,11 +781,13 @@ int __init omap2430_mux_init(struct omap_board_mux *board_subset, int flags)
package_balls
=
omap2430_pop_ball
;
package_balls
=
omap2430_pop_ball
;
break
;
break
;
default:
default:
pr_warning
(
"mux: No ball data available for omap2420 package
\n
"
);
pr_warning
(
"%s: No ball data available for omap2420 package
\n
"
,
__func__
);
}
}
return
omap_mux_init
(
OMAP2430_CONTROL_PADCONF_MUX_PBASE
,
return
omap_mux_init
(
"core"
,
OMAP_MUX_REG_8BIT
|
OMAP_MUX_GPIO_IN_MODE3
,
OMAP2430_CONTROL_PADCONF_MUX_PBASE
,
OMAP2430_CONTROL_PADCONF_MUX_SIZE
,
OMAP2430_CONTROL_PADCONF_MUX_SIZE
,
omap2430_muxmodes
,
NULL
,
board_subset
,
omap2430_muxmodes
,
NULL
,
board_subset
,
package_balls
);
package_balls
);
}
}
arch/arm/mach-omap2/mux34xx.c
浏览文件 @
52aa8c53
...
@@ -2049,12 +2049,13 @@ int __init omap3_mux_init(struct omap_board_mux *board_subset, int flags)
...
@@ -2049,12 +2049,13 @@ int __init omap3_mux_init(struct omap_board_mux *board_subset, int flags)
package_balls
=
omap36xx_cbp_ball
;
package_balls
=
omap36xx_cbp_ball
;
break
;
break
;
default:
default:
pr
intk
(
KERN_ERR
"mux: Unknown omap package, mux disabled
\n
"
);
pr
_err
(
"%s Unknown omap package, mux disabled
\n
"
,
__func__
);
return
-
EINVAL
;
return
-
EINVAL
;
}
}
return
omap_mux_init
(
OMAP3_CONTROL_PADCONF_MUX_PBASE
,
return
omap_mux_init
(
"core"
,
0
,
OMAP3_CONTROL_PADCONF_MUX_PBASE
,
OMAP3_CONTROL_PADCONF_MUX_SIZE
,
OMAP3_CONTROL_PADCONF_MUX_SIZE
,
omap3_muxmodes
,
package_subset
,
board_subset
,
omap3_muxmodes
,
package_subset
,
board_subset
,
package_balls
);
package_balls
);
}
}
arch/arm/mach-omap2/mux44xx.c
0 → 100644
浏览文件 @
52aa8c53
/*
* OMAP44xx ES1.0 pin mux definition
*
* Copyright (C) 2010 Texas Instruments, Inc.
*
* Benoit Cousson (b-cousson@ti.com)
*
* - Based on mux34xx.c done by Tony Lindgren <tony@atomide.com>
*
* This file is automatically generated from the OMAP hardware databases.
* We respectfully ask that any modifications to this file be coordinated
* with the public linux-omap@vger.kernel.org mailing list and the
* authors above to ensure that the autogeneration scripts are kept
* up-to-date with the file contents.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include <linux/module.h>
#include <linux/init.h>
#include "mux.h"
#ifdef CONFIG_OMAP_MUX
#define _OMAP4_MUXENTRY(M0, g, m0, m1, m2, m3, m4, m5, m6, m7) \
{ \
.reg_offset = (OMAP4_CTRL_MODULE_PAD_##M0##_OFFSET), \
.gpio = (g), \
.muxnames = { m0, m1, m2, m3, m4, m5, m6, m7 }, \
}
#else
#define _OMAP4_MUXENTRY(M0, g, m0, m1, m2, m3, m4, m5, m6, m7) \
{ \
.reg_offset = (OMAP4_CTRL_MODULE_PAD_##M0##_OFFSET), \
.gpio = (g), \
}
#endif
#define _OMAP4_BALLENTRY(M0, bb, bt) \
{ \
.reg_offset = (OMAP4_CTRL_MODULE_PAD_##M0##_OFFSET), \
.balls = { bb, bt }, \
}
/*
* Superset of all mux modes for omap4 ES1.0
*/
static
struct
omap_mux
__initdata
omap4_core_muxmodes
[]
=
{
_OMAP4_MUXENTRY
(
GPMC_AD0
,
0
,
"gpmc_ad0"
,
"sdmmc2_dat0"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD1
,
0
,
"gpmc_ad1"
,
"sdmmc2_dat1"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD2
,
0
,
"gpmc_ad2"
,
"sdmmc2_dat2"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD3
,
0
,
"gpmc_ad3"
,
"sdmmc2_dat3"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD4
,
0
,
"gpmc_ad4"
,
"sdmmc2_dat4"
,
"sdmmc2_dir_dat0"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD5
,
0
,
"gpmc_ad5"
,
"sdmmc2_dat5"
,
"sdmmc2_dir_dat1"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD6
,
0
,
"gpmc_ad6"
,
"sdmmc2_dat6"
,
"sdmmc2_dir_cmd"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD7
,
0
,
"gpmc_ad7"
,
"sdmmc2_dat7"
,
"sdmmc2_clk_fdbk"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD8
,
32
,
"gpmc_ad8"
,
"kpd_row0"
,
"c2c_data15"
,
"gpio_32"
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD9
,
33
,
"gpmc_ad9"
,
"kpd_row1"
,
"c2c_data14"
,
"gpio_33"
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD10
,
34
,
"gpmc_ad10"
,
"kpd_row2"
,
"c2c_data13"
,
"gpio_34"
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD11
,
35
,
"gpmc_ad11"
,
"kpd_row3"
,
"c2c_data12"
,
"gpio_35"
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD12
,
36
,
"gpmc_ad12"
,
"kpd_col0"
,
"c2c_data11"
,
"gpio_36"
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD13
,
37
,
"gpmc_ad13"
,
"kpd_col1"
,
"c2c_data10"
,
"gpio_37"
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD14
,
38
,
"gpmc_ad14"
,
"kpd_col2"
,
"c2c_data9"
,
"gpio_38"
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD15
,
39
,
"gpmc_ad15"
,
"kpd_col3"
,
"c2c_data8"
,
"gpio_39"
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_A16
,
40
,
"gpmc_a16"
,
"kpd_row4"
,
"c2c_datain0"
,
"gpio_40"
,
"venc_656_data0"
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_A17
,
41
,
"gpmc_a17"
,
"kpd_row5"
,
"c2c_datain1"
,
"gpio_41"
,
"venc_656_data1"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_A18
,
42
,
"gpmc_a18"
,
"kpd_row6"
,
"c2c_datain2"
,
"gpio_42"
,
"venc_656_data2"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_A19
,
43
,
"gpmc_a19"
,
"kpd_row7"
,
"c2c_datain3"
,
"gpio_43"
,
"venc_656_data3"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_A20
,
44
,
"gpmc_a20"
,
"kpd_col4"
,
"c2c_datain4"
,
"gpio_44"
,
"venc_656_data4"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_A21
,
45
,
"gpmc_a21"
,
"kpd_col5"
,
"c2c_datain5"
,
"gpio_45"
,
"venc_656_data5"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_A22
,
46
,
"gpmc_a22"
,
"kpd_col6"
,
"c2c_datain6"
,
"gpio_46"
,
"venc_656_data6"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_A23
,
47
,
"gpmc_a23"
,
"kpd_col7"
,
"c2c_datain7"
,
"gpio_47"
,
"venc_656_data7"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_A24
,
48
,
"gpmc_a24"
,
NULL
,
"c2c_clkout0"
,
"gpio_48"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_A25
,
49
,
"gpmc_a25"
,
NULL
,
"c2c_clkout1"
,
"gpio_49"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_NCS0
,
50
,
"gpmc_ncs0"
,
NULL
,
NULL
,
"gpio_50"
,
"sys_ndmareq0"
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_NCS1
,
51
,
"gpmc_ncs1"
,
NULL
,
"c2c_dataout6"
,
"gpio_51"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_NCS2
,
52
,
"gpmc_ncs2"
,
NULL
,
"c2c_dataout7"
,
"gpio_52"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_NCS3
,
53
,
"gpmc_ncs3"
,
"gpmc_dir"
,
"c2c_dataout4"
,
"gpio_53"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_NWP
,
54
,
"gpmc_nwp"
,
"dsi1_te0"
,
NULL
,
"gpio_54"
,
"sys_ndmareq1"
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_CLK
,
55
,
"gpmc_clk"
,
NULL
,
NULL
,
"gpio_55"
,
"sys_ndmareq2"
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_NADV_ALE
,
56
,
"gpmc_nadv_ale"
,
"dsi1_te1"
,
NULL
,
"gpio_56"
,
"sys_ndmareq3"
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_NOE
,
0
,
"gpmc_noe"
,
"sdmmc2_clk"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_NWE
,
0
,
"gpmc_nwe"
,
"sdmmc2_cmd"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_NBE0_CLE
,
59
,
"gpmc_nbe0_cle"
,
"dsi2_te0"
,
NULL
,
"gpio_59"
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_NBE1
,
60
,
"gpmc_nbe1"
,
NULL
,
"c2c_dataout5"
,
"gpio_60"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_WAIT0
,
61
,
"gpmc_wait0"
,
"dsi2_te1"
,
NULL
,
"gpio_61"
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_WAIT1
,
62
,
"gpmc_wait1"
,
NULL
,
"c2c_dataout2"
,
"gpio_62"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
C2C_DATA11
,
100
,
"c2c_data11"
,
"usbc1_icusb_txen"
,
"c2c_dataout3"
,
"gpio_100"
,
"sys_ndmareq0"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
C2C_DATA12
,
101
,
"c2c_data12"
,
"dsi1_te0"
,
"c2c_clkin0"
,
"gpio_101"
,
"sys_ndmareq1"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
C2C_DATA13
,
102
,
"c2c_data13"
,
"dsi1_te1"
,
"c2c_clkin1"
,
"gpio_102"
,
"sys_ndmareq2"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
C2C_DATA14
,
103
,
"c2c_data14"
,
"dsi2_te0"
,
"c2c_dataout0"
,
"gpio_103"
,
"sys_ndmareq3"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
C2C_DATA15
,
104
,
"c2c_data15"
,
"dsi2_te1"
,
"c2c_dataout1"
,
"gpio_104"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
HDMI_HPD
,
63
,
"hdmi_hpd"
,
NULL
,
NULL
,
"gpio_63"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
HDMI_CEC
,
64
,
"hdmi_cec"
,
NULL
,
NULL
,
"gpio_64"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
HDMI_DDC_SCL
,
65
,
"hdmi_ddc_scl"
,
NULL
,
NULL
,
"gpio_65"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
HDMI_DDC_SDA
,
66
,
"hdmi_ddc_sda"
,
NULL
,
NULL
,
"gpio_66"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI21_DX0
,
0
,
"csi21_dx0"
,
NULL
,
NULL
,
"gpi_67"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI21_DY0
,
0
,
"csi21_dy0"
,
NULL
,
NULL
,
"gpi_68"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI21_DX1
,
0
,
"csi21_dx1"
,
NULL
,
NULL
,
"gpi_69"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI21_DY1
,
0
,
"csi21_dy1"
,
NULL
,
NULL
,
"gpi_70"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI21_DX2
,
0
,
"csi21_dx2"
,
NULL
,
NULL
,
"gpi_71"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI21_DY2
,
0
,
"csi21_dy2"
,
NULL
,
NULL
,
"gpi_72"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI21_DX3
,
0
,
"csi21_dx3"
,
NULL
,
NULL
,
"gpi_73"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI21_DY3
,
0
,
"csi21_dy3"
,
NULL
,
NULL
,
"gpi_74"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI21_DX4
,
0
,
"csi21_dx4"
,
NULL
,
NULL
,
"gpi_75"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI21_DY4
,
0
,
"csi21_dy4"
,
NULL
,
NULL
,
"gpi_76"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI22_DX0
,
0
,
"csi22_dx0"
,
NULL
,
NULL
,
"gpi_77"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI22_DY0
,
0
,
"csi22_dy0"
,
NULL
,
NULL
,
"gpi_78"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI22_DX1
,
0
,
"csi22_dx1"
,
NULL
,
NULL
,
"gpi_79"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI22_DY1
,
0
,
"csi22_dy1"
,
NULL
,
NULL
,
"gpi_80"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CAM_SHUTTER
,
81
,
"cam_shutter"
,
NULL
,
NULL
,
"gpio_81"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CAM_STROBE
,
82
,
"cam_strobe"
,
NULL
,
NULL
,
"gpio_82"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CAM_GLOBALRESET
,
83
,
"cam_globalreset"
,
NULL
,
NULL
,
"gpio_83"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_ULPITLL_CLK
,
84
,
"usbb1_ulpitll_clk"
,
"hsi1_cawake"
,
NULL
,
"gpio_84"
,
"usbb1_ulpiphy_clk"
,
NULL
,
"hw_dbg20"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_ULPITLL_STP
,
85
,
"usbb1_ulpitll_stp"
,
"hsi1_cadata"
,
"mcbsp4_clkr"
,
"gpio_85"
,
"usbb1_ulpiphy_stp"
,
"usbb1_mm_rxdp"
,
"hw_dbg21"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_ULPITLL_DIR
,
86
,
"usbb1_ulpitll_dir"
,
"hsi1_caflag"
,
"mcbsp4_fsr"
,
"gpio_86"
,
"usbb1_ulpiphy_dir"
,
NULL
,
"hw_dbg22"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_ULPITLL_NXT
,
87
,
"usbb1_ulpitll_nxt"
,
"hsi1_acready"
,
"mcbsp4_fsx"
,
"gpio_87"
,
"usbb1_ulpiphy_nxt"
,
"usbb1_mm_rxdm"
,
"hw_dbg23"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_ULPITLL_DAT0
,
88
,
"usbb1_ulpitll_dat0"
,
"hsi1_acwake"
,
"mcbsp4_clkx"
,
"gpio_88"
,
"usbb1_ulpiphy_dat0"
,
"usbb1_mm_rxrcv"
,
"hw_dbg24"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_ULPITLL_DAT1
,
89
,
"usbb1_ulpitll_dat1"
,
"hsi1_acdata"
,
"mcbsp4_dx"
,
"gpio_89"
,
"usbb1_ulpiphy_dat1"
,
"usbb1_mm_txse0"
,
"hw_dbg25"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_ULPITLL_DAT2
,
90
,
"usbb1_ulpitll_dat2"
,
"hsi1_acflag"
,
"mcbsp4_dr"
,
"gpio_90"
,
"usbb1_ulpiphy_dat2"
,
"usbb1_mm_txdat"
,
"hw_dbg26"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_ULPITLL_DAT3
,
91
,
"usbb1_ulpitll_dat3"
,
"hsi1_caready"
,
NULL
,
"gpio_91"
,
"usbb1_ulpiphy_dat3"
,
"usbb1_mm_txen"
,
"hw_dbg27"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_ULPITLL_DAT4
,
92
,
"usbb1_ulpitll_dat4"
,
"dmtimer8_pwm_evt"
,
"abe_mcbsp3_dr"
,
"gpio_92"
,
"usbb1_ulpiphy_dat4"
,
NULL
,
"hw_dbg28"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_ULPITLL_DAT5
,
93
,
"usbb1_ulpitll_dat5"
,
"dmtimer9_pwm_evt"
,
"abe_mcbsp3_dx"
,
"gpio_93"
,
"usbb1_ulpiphy_dat5"
,
NULL
,
"hw_dbg29"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_ULPITLL_DAT6
,
94
,
"usbb1_ulpitll_dat6"
,
"dmtimer10_pwm_evt"
,
"abe_mcbsp3_clkx"
,
"gpio_94"
,
"usbb1_ulpiphy_dat6"
,
"abe_dmic_din3"
,
"hw_dbg30"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_ULPITLL_DAT7
,
95
,
"usbb1_ulpitll_dat7"
,
"dmtimer11_pwm_evt"
,
"abe_mcbsp3_fsx"
,
"gpio_95"
,
"usbb1_ulpiphy_dat7"
,
"abe_dmic_clk3"
,
"hw_dbg31"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_HSIC_DATA
,
96
,
"usbb1_hsic_data"
,
NULL
,
NULL
,
"gpio_96"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_HSIC_STROBE
,
97
,
"usbb1_hsic_strobe"
,
NULL
,
NULL
,
"gpio_97"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBC1_ICUSB_DP
,
98
,
"usbc1_icusb_dp"
,
NULL
,
NULL
,
"gpio_98"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBC1_ICUSB_DM
,
99
,
"usbc1_icusb_dm"
,
NULL
,
NULL
,
"gpio_99"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC1_CLK
,
100
,
"sdmmc1_clk"
,
NULL
,
"dpm_emu19"
,
"gpio_100"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC1_CMD
,
101
,
"sdmmc1_cmd"
,
NULL
,
"uart1_rx"
,
"gpio_101"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC1_DAT0
,
102
,
"sdmmc1_dat0"
,
NULL
,
"dpm_emu18"
,
"gpio_102"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC1_DAT1
,
103
,
"sdmmc1_dat1"
,
NULL
,
"dpm_emu17"
,
"gpio_103"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC1_DAT2
,
104
,
"sdmmc1_dat2"
,
NULL
,
"dpm_emu16"
,
"gpio_104"
,
"jtag_tms_tmsc"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC1_DAT3
,
105
,
"sdmmc1_dat3"
,
NULL
,
"dpm_emu15"
,
"gpio_105"
,
"jtag_tck"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC1_DAT4
,
106
,
"sdmmc1_dat4"
,
NULL
,
NULL
,
"gpio_106"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC1_DAT5
,
107
,
"sdmmc1_dat5"
,
NULL
,
NULL
,
"gpio_107"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC1_DAT6
,
108
,
"sdmmc1_dat6"
,
NULL
,
NULL
,
"gpio_108"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC1_DAT7
,
109
,
"sdmmc1_dat7"
,
NULL
,
NULL
,
"gpio_109"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_MCBSP2_CLKX
,
110
,
"abe_mcbsp2_clkx"
,
"mcspi2_clk"
,
"abe_mcasp_ahclkx"
,
"gpio_110"
,
"usbb2_mm_rxdm"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_MCBSP2_DR
,
111
,
"abe_mcbsp2_dr"
,
"mcspi2_somi"
,
"abe_mcasp_axr"
,
"gpio_111"
,
"usbb2_mm_rxdp"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_MCBSP2_DX
,
112
,
"abe_mcbsp2_dx"
,
"mcspi2_simo"
,
"abe_mcasp_amute"
,
"gpio_112"
,
"usbb2_mm_rxrcv"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_MCBSP2_FSX
,
113
,
"abe_mcbsp2_fsx"
,
"mcspi2_cs0"
,
"abe_mcasp_afsx"
,
"gpio_113"
,
"usbb2_mm_txen"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_MCBSP1_CLKX
,
114
,
"abe_mcbsp1_clkx"
,
"abe_slimbus1_clock"
,
NULL
,
"gpio_114"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_MCBSP1_DR
,
115
,
"abe_mcbsp1_dr"
,
"abe_slimbus1_data"
,
NULL
,
"gpio_115"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_MCBSP1_DX
,
116
,
"abe_mcbsp1_dx"
,
"sdmmc3_dat2"
,
"abe_mcasp_aclkx"
,
"gpio_116"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_MCBSP1_FSX
,
117
,
"abe_mcbsp1_fsx"
,
"sdmmc3_dat3"
,
"abe_mcasp_amutein"
,
"gpio_117"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_PDM_UL_DATA
,
0
,
"abe_pdm_ul_data"
,
"abe_mcbsp3_dr"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_PDM_DL_DATA
,
0
,
"abe_pdm_dl_data"
,
"abe_mcbsp3_dx"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_PDM_FRAME
,
0
,
"abe_pdm_frame"
,
"abe_mcbsp3_clkx"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_PDM_LB_CLK
,
0
,
"abe_pdm_lb_clk"
,
"abe_mcbsp3_fsx"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_CLKS
,
118
,
"abe_clks"
,
NULL
,
NULL
,
"gpio_118"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_DMIC_CLK1
,
119
,
"abe_dmic_clk1"
,
NULL
,
NULL
,
"gpio_119"
,
"usbb2_mm_txse0"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_DMIC_DIN1
,
120
,
"abe_dmic_din1"
,
NULL
,
NULL
,
"gpio_120"
,
"usbb2_mm_txdat"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_DMIC_DIN2
,
121
,
"abe_dmic_din2"
,
"slimbus2_clock"
,
NULL
,
"gpio_121"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_DMIC_DIN3
,
122
,
"abe_dmic_din3"
,
"slimbus2_data"
,
"abe_dmic_clk2"
,
"gpio_122"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UART2_CTS
,
123
,
"uart2_cts"
,
"sdmmc3_clk"
,
NULL
,
"gpio_123"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UART2_RTS
,
124
,
"uart2_rts"
,
"sdmmc3_cmd"
,
NULL
,
"gpio_124"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UART2_RX
,
125
,
"uart2_rx"
,
"sdmmc3_dat0"
,
NULL
,
"gpio_125"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UART2_TX
,
126
,
"uart2_tx"
,
"sdmmc3_dat1"
,
NULL
,
"gpio_126"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
HDQ_SIO
,
127
,
"hdq_sio"
,
"i2c3_sccb"
,
"i2c2_sccb"
,
"gpio_127"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
I2C1_SCL
,
0
,
"i2c1_scl"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
I2C1_SDA
,
0
,
"i2c1_sda"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
I2C2_SCL
,
128
,
"i2c2_scl"
,
"uart1_rx"
,
NULL
,
"gpio_128"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
I2C2_SDA
,
129
,
"i2c2_sda"
,
"uart1_tx"
,
NULL
,
"gpio_129"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
I2C3_SCL
,
130
,
"i2c3_scl"
,
NULL
,
NULL
,
"gpio_130"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
I2C3_SDA
,
131
,
"i2c3_sda"
,
NULL
,
NULL
,
"gpio_131"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
I2C4_SCL
,
132
,
"i2c4_scl"
,
NULL
,
NULL
,
"gpio_132"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
I2C4_SDA
,
133
,
"i2c4_sda"
,
NULL
,
NULL
,
"gpio_133"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
MCSPI1_CLK
,
134
,
"mcspi1_clk"
,
NULL
,
NULL
,
"gpio_134"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
MCSPI1_SOMI
,
135
,
"mcspi1_somi"
,
NULL
,
NULL
,
"gpio_135"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
MCSPI1_SIMO
,
136
,
"mcspi1_simo"
,
NULL
,
NULL
,
"gpio_136"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
MCSPI1_CS0
,
137
,
"mcspi1_cs0"
,
NULL
,
NULL
,
"gpio_137"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
MCSPI1_CS1
,
138
,
"mcspi1_cs1"
,
"uart1_rx"
,
NULL
,
"gpio_138"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
MCSPI1_CS2
,
139
,
"mcspi1_cs2"
,
"uart1_cts"
,
"slimbus2_clock"
,
"gpio_139"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
MCSPI1_CS3
,
140
,
"mcspi1_cs3"
,
"uart1_rts"
,
"slimbus2_data"
,
"gpio_140"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UART3_CTS_RCTX
,
141
,
"uart3_cts_rctx"
,
"uart1_tx"
,
NULL
,
"gpio_141"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UART3_RTS_SD
,
142
,
"uart3_rts_sd"
,
NULL
,
NULL
,
"gpio_142"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UART3_RX_IRRX
,
143
,
"uart3_rx_irrx"
,
"dmtimer8_pwm_evt"
,
NULL
,
"gpio_143"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UART3_TX_IRTX
,
144
,
"uart3_tx_irtx"
,
"dmtimer9_pwm_evt"
,
NULL
,
"gpio_144"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC5_CLK
,
145
,
"sdmmc5_clk"
,
"mcspi2_clk"
,
"usbc1_icusb_dp"
,
"gpio_145"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC5_CMD
,
146
,
"sdmmc5_cmd"
,
"mcspi2_simo"
,
"usbc1_icusb_dm"
,
"gpio_146"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC5_DAT0
,
147
,
"sdmmc5_dat0"
,
"mcspi2_somi"
,
"usbc1_icusb_rcv"
,
"gpio_147"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC5_DAT1
,
148
,
"sdmmc5_dat1"
,
NULL
,
"usbc1_icusb_txen"
,
"gpio_148"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC5_DAT2
,
149
,
"sdmmc5_dat2"
,
"mcspi2_cs1"
,
NULL
,
"gpio_149"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC5_DAT3
,
150
,
"sdmmc5_dat3"
,
"mcspi2_cs0"
,
NULL
,
"gpio_150"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
MCSPI4_CLK
,
151
,
"mcspi4_clk"
,
"sdmmc4_clk"
,
NULL
,
"gpio_151"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
MCSPI4_SIMO
,
152
,
"mcspi4_simo"
,
"sdmmc4_cmd"
,
NULL
,
"gpio_152"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
MCSPI4_SOMI
,
153
,
"mcspi4_somi"
,
"sdmmc4_dat0"
,
NULL
,
"gpio_153"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
MCSPI4_CS0
,
154
,
"mcspi4_cs0"
,
"sdmmc4_dat3"
,
NULL
,
"gpio_154"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UART4_RX
,
155
,
"uart4_rx"
,
"sdmmc4_dat2"
,
NULL
,
"gpio_155"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UART4_TX
,
156
,
"uart4_tx"
,
"sdmmc4_dat1"
,
NULL
,
"gpio_156"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB2_ULPITLL_CLK
,
157
,
"usbb2_ulpitll_clk"
,
"usbb2_ulpiphy_clk"
,
"sdmmc4_cmd"
,
"gpio_157"
,
"hsi2_cawake"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB2_ULPITLL_STP
,
158
,
"usbb2_ulpitll_stp"
,
"usbb2_ulpiphy_stp"
,
"sdmmc4_clk"
,
"gpio_158"
,
"hsi2_cadata"
,
"dispc2_data23"
,
NULL
,
"reserved"
),
_OMAP4_MUXENTRY
(
USBB2_ULPITLL_DIR
,
159
,
"usbb2_ulpitll_dir"
,
"usbb2_ulpiphy_dir"
,
"sdmmc4_dat0"
,
"gpio_159"
,
"hsi2_caflag"
,
"dispc2_data22"
,
NULL
,
"reserved"
),
_OMAP4_MUXENTRY
(
USBB2_ULPITLL_NXT
,
160
,
"usbb2_ulpitll_nxt"
,
"usbb2_ulpiphy_nxt"
,
"sdmmc4_dat1"
,
"gpio_160"
,
"hsi2_acready"
,
"dispc2_data21"
,
NULL
,
"reserved"
),
_OMAP4_MUXENTRY
(
USBB2_ULPITLL_DAT0
,
161
,
"usbb2_ulpitll_dat0"
,
"usbb2_ulpiphy_dat0"
,
"sdmmc4_dat2"
,
"gpio_161"
,
"hsi2_acwake"
,
"dispc2_data20"
,
NULL
,
"reserved"
),
_OMAP4_MUXENTRY
(
USBB2_ULPITLL_DAT1
,
162
,
"usbb2_ulpitll_dat1"
,
"usbb2_ulpiphy_dat1"
,
"sdmmc4_dat3"
,
"gpio_162"
,
"hsi2_acdata"
,
"dispc2_data19"
,
NULL
,
"reserved"
),
_OMAP4_MUXENTRY
(
USBB2_ULPITLL_DAT2
,
163
,
"usbb2_ulpitll_dat2"
,
"usbb2_ulpiphy_dat2"
,
"sdmmc3_dat2"
,
"gpio_163"
,
"hsi2_acflag"
,
"dispc2_data18"
,
NULL
,
"reserved"
),
_OMAP4_MUXENTRY
(
USBB2_ULPITLL_DAT3
,
164
,
"usbb2_ulpitll_dat3"
,
"usbb2_ulpiphy_dat3"
,
"sdmmc3_dat1"
,
"gpio_164"
,
"hsi2_caready"
,
"dispc2_data15"
,
NULL
,
"reserved"
),
_OMAP4_MUXENTRY
(
USBB2_ULPITLL_DAT4
,
165
,
"usbb2_ulpitll_dat4"
,
"usbb2_ulpiphy_dat4"
,
"sdmmc3_dat0"
,
"gpio_165"
,
"mcspi3_somi"
,
"dispc2_data14"
,
NULL
,
"reserved"
),
_OMAP4_MUXENTRY
(
USBB2_ULPITLL_DAT5
,
166
,
"usbb2_ulpitll_dat5"
,
"usbb2_ulpiphy_dat5"
,
"sdmmc3_dat3"
,
"gpio_166"
,
"mcspi3_cs0"
,
"dispc2_data13"
,
NULL
,
"reserved"
),
_OMAP4_MUXENTRY
(
USBB2_ULPITLL_DAT6
,
167
,
"usbb2_ulpitll_dat6"
,
"usbb2_ulpiphy_dat6"
,
"sdmmc3_cmd"
,
"gpio_167"
,
"mcspi3_simo"
,
"dispc2_data12"
,
NULL
,
"reserved"
),
_OMAP4_MUXENTRY
(
USBB2_ULPITLL_DAT7
,
168
,
"usbb2_ulpitll_dat7"
,
"usbb2_ulpiphy_dat7"
,
"sdmmc3_clk"
,
"gpio_168"
,
"mcspi3_clk"
,
"dispc2_data11"
,
NULL
,
"reserved"
),
_OMAP4_MUXENTRY
(
USBB2_HSIC_DATA
,
169
,
"usbb2_hsic_data"
,
NULL
,
NULL
,
"gpio_169"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB2_HSIC_STROBE
,
170
,
"usbb2_hsic_strobe"
,
NULL
,
NULL
,
"gpio_170"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UNIPRO_TX0
,
171
,
"unipro_tx0"
,
"kpd_col0"
,
NULL
,
"gpio_171"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UNIPRO_TY0
,
172
,
"unipro_ty0"
,
"kpd_col1"
,
NULL
,
"gpio_172"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UNIPRO_TX1
,
173
,
"unipro_tx1"
,
"kpd_col2"
,
NULL
,
"gpio_173"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UNIPRO_TY1
,
174
,
"unipro_ty1"
,
"kpd_col3"
,
NULL
,
"gpio_174"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UNIPRO_TX2
,
0
,
"unipro_tx2"
,
"kpd_col4"
,
NULL
,
"gpio_0"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UNIPRO_TY2
,
1
,
"unipro_ty2"
,
"kpd_col5"
,
NULL
,
"gpio_1"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UNIPRO_RX0
,
0
,
"unipro_rx0"
,
"kpd_row0"
,
NULL
,
"gpi_175"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UNIPRO_RY0
,
0
,
"unipro_ry0"
,
"kpd_row1"
,
NULL
,
"gpi_176"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UNIPRO_RX1
,
0
,
"unipro_rx1"
,
"kpd_row2"
,
NULL
,
"gpi_177"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UNIPRO_RY1
,
0
,
"unipro_ry1"
,
"kpd_row3"
,
NULL
,
"gpi_178"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UNIPRO_RX2
,
0
,
"unipro_rx2"
,
"kpd_row4"
,
NULL
,
"gpi_2"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UNIPRO_RY2
,
0
,
"unipro_ry2"
,
"kpd_row5"
,
NULL
,
"gpi_3"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBA0_OTG_CE
,
0
,
"usba0_otg_ce"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
USBA0_OTG_DP
,
179
,
"usba0_otg_dp"
,
"uart3_rx_irrx"
,
"uart2_rx"
,
"gpio_179"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBA0_OTG_DM
,
180
,
"usba0_otg_dm"
,
"uart3_tx_irtx"
,
"uart2_tx"
,
"gpio_180"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
FREF_CLK1_OUT
,
181
,
"fref_clk1_out"
,
NULL
,
NULL
,
"gpio_181"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
FREF_CLK2_OUT
,
182
,
"fref_clk2_out"
,
NULL
,
NULL
,
"gpio_182"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SYS_NIRQ1
,
0
,
"sys_nirq1"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SYS_NIRQ2
,
183
,
"sys_nirq2"
,
NULL
,
NULL
,
"gpio_183"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SYS_BOOT0
,
184
,
"sys_boot0"
,
NULL
,
NULL
,
"gpio_184"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SYS_BOOT1
,
185
,
"sys_boot1"
,
NULL
,
NULL
,
"gpio_185"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SYS_BOOT2
,
186
,
"sys_boot2"
,
NULL
,
NULL
,
"gpio_186"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SYS_BOOT3
,
187
,
"sys_boot3"
,
NULL
,
NULL
,
"gpio_187"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SYS_BOOT4
,
188
,
"sys_boot4"
,
NULL
,
NULL
,
"gpio_188"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SYS_BOOT5
,
189
,
"sys_boot5"
,
NULL
,
NULL
,
"gpio_189"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
DPM_EMU0
,
11
,
"dpm_emu0"
,
NULL
,
NULL
,
"gpio_11"
,
NULL
,
NULL
,
"hw_dbg0"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
DPM_EMU1
,
12
,
"dpm_emu1"
,
NULL
,
NULL
,
"gpio_12"
,
NULL
,
NULL
,
"hw_dbg1"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
DPM_EMU2
,
13
,
"dpm_emu2"
,
"usba0_ulpiphy_clk"
,
NULL
,
"gpio_13"
,
NULL
,
"dispc2_fid"
,
"hw_dbg2"
,
"reserved"
),
_OMAP4_MUXENTRY
(
DPM_EMU3
,
14
,
"dpm_emu3"
,
"usba0_ulpiphy_stp"
,
NULL
,
"gpio_14"
,
NULL
,
"dispc2_data10"
,
"hw_dbg3"
,
"reserved"
),
_OMAP4_MUXENTRY
(
DPM_EMU4
,
15
,
"dpm_emu4"
,
"usba0_ulpiphy_dir"
,
NULL
,
"gpio_15"
,
NULL
,
"dispc2_data9"
,
"hw_dbg4"
,
"reserved"
),
_OMAP4_MUXENTRY
(
DPM_EMU5
,
16
,
"dpm_emu5"
,
"usba0_ulpiphy_nxt"
,
NULL
,
"gpio_16"
,
"rfbi_te_vsync0"
,
"dispc2_data16"
,
"hw_dbg5"
,
"reserved"
),
_OMAP4_MUXENTRY
(
DPM_EMU6
,
17
,
"dpm_emu6"
,
"usba0_ulpiphy_dat0"
,
"uart3_tx_irtx"
,
"gpio_17"
,
"rfbi_hsync0"
,
"dispc2_data17"
,
"hw_dbg6"
,
"reserved"
),
_OMAP4_MUXENTRY
(
DPM_EMU7
,
18
,
"dpm_emu7"
,
"usba0_ulpiphy_dat1"
,
"uart3_rx_irrx"
,
"gpio_18"
,
"rfbi_cs0"
,
"dispc2_hsync"
,
"hw_dbg7"
,
"reserved"
),
_OMAP4_MUXENTRY
(
DPM_EMU8
,
19
,
"dpm_emu8"
,
"usba0_ulpiphy_dat2"
,
"uart3_rts_sd"
,
"gpio_19"
,
"rfbi_re"
,
"dispc2_pclk"
,
"hw_dbg8"
,
"reserved"
),
_OMAP4_MUXENTRY
(
DPM_EMU9
,
20
,
"dpm_emu9"
,
"usba0_ulpiphy_dat3"
,
"uart3_cts_rctx"
,
"gpio_20"
,
"rfbi_we"
,
"dispc2_vsync"
,
"hw_dbg9"
,
"reserved"
),
_OMAP4_MUXENTRY
(
DPM_EMU10
,
21
,
"dpm_emu10"
,
"usba0_ulpiphy_dat4"
,
NULL
,
"gpio_21"
,
"rfbi_a0"
,
"dispc2_de"
,
"hw_dbg10"
,
"reserved"
),
_OMAP4_MUXENTRY
(
DPM_EMU11
,
22
,
"dpm_emu11"
,
"usba0_ulpiphy_dat5"
,
NULL
,
"gpio_22"
,
"rfbi_data8"
,
"dispc2_data8"
,
"hw_dbg11"
,
"reserved"
),
_OMAP4_MUXENTRY
(
DPM_EMU12
,
23
,
"dpm_emu12"
,
"usba0_ulpiphy_dat6"
,
NULL
,
"gpio_23"
,
"rfbi_data7"
,
"dispc2_data7"
,
"hw_dbg12"
,
"reserved"
),
_OMAP4_MUXENTRY
(
DPM_EMU13
,
24
,
"dpm_emu13"
,
"usba0_ulpiphy_dat7"
,
NULL
,
"gpio_24"
,
"rfbi_data6"
,
"dispc2_data6"
,
"hw_dbg13"
,
"reserved"
),
_OMAP4_MUXENTRY
(
DPM_EMU14
,
25
,
"dpm_emu14"
,
"sys_drm_msecure"
,
"uart1_rx"
,
"gpio_25"
,
"rfbi_data5"
,
"dispc2_data5"
,
"hw_dbg14"
,
"reserved"
),
_OMAP4_MUXENTRY
(
DPM_EMU15
,
26
,
"dpm_emu15"
,
"sys_secure_indicator"
,
NULL
,
"gpio_26"
,
"rfbi_data4"
,
"dispc2_data4"
,
"hw_dbg15"
,
"reserved"
),
_OMAP4_MUXENTRY
(
DPM_EMU16
,
27
,
"dpm_emu16"
,
"dmtimer8_pwm_evt"
,
"dsi1_te0"
,
"gpio_27"
,
"rfbi_data3"
,
"dispc2_data3"
,
"hw_dbg16"
,
"reserved"
),
_OMAP4_MUXENTRY
(
DPM_EMU17
,
28
,
"dpm_emu17"
,
"dmtimer9_pwm_evt"
,
"dsi1_te1"
,
"gpio_28"
,
"rfbi_data2"
,
"dispc2_data2"
,
"hw_dbg17"
,
"reserved"
),
_OMAP4_MUXENTRY
(
DPM_EMU18
,
190
,
"dpm_emu18"
,
"dmtimer10_pwm_evt"
,
"dsi2_te0"
,
"gpio_190"
,
"rfbi_data1"
,
"dispc2_data1"
,
"hw_dbg18"
,
"reserved"
),
_OMAP4_MUXENTRY
(
DPM_EMU19
,
191
,
"dpm_emu19"
,
"dmtimer11_pwm_evt"
,
"dsi2_te1"
,
"gpio_191"
,
"rfbi_data0"
,
"dispc2_data0"
,
"hw_dbg19"
,
"reserved"
),
{
.
reg_offset
=
OMAP_MUX_TERMINATOR
},
};
/*
* Balls for 44XX CBL package
* 547-pin CBL ES1.0 S-FPGA-N547, 0.40mm Ball Pitch (Top),
* 0.40mm Ball Pitch (Bottom)
*/
#if defined(CONFIG_OMAP_MUX) && defined(CONFIG_DEBUG_FS) \
&& defined(CONFIG_OMAP_PACKAGE_CBL)
struct
omap_ball
__initdata
omap4_core_cbl_ball
[]
=
{
_OMAP4_BALLENTRY
(
GPMC_AD0
,
"c12"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD1
,
"d12"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD2
,
"c13"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD3
,
"d13"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD4
,
"c15"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD5
,
"d15"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD6
,
"a16"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD7
,
"b16"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD8
,
"c16"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD9
,
"d16"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD10
,
"c17"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD11
,
"d17"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD12
,
"c18"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD13
,
"d18"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD14
,
"c19"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD15
,
"d19"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_A16
,
"b17"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_A17
,
"a18"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_A18
,
"b18"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_A19
,
"a19"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_A20
,
"b19"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_A21
,
"b20"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_A22
,
"a21"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_A23
,
"b21"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_A24
,
"c20"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_A25
,
"d20"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_NCS0
,
"b25"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_NCS1
,
"c21"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_NCS2
,
"d21"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_NCS3
,
"c22"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_NWP
,
"c25"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_CLK
,
"b22"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_NADV_ALE
,
"d25"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_NOE
,
"b11"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_NWE
,
"b12"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_NBE0_CLE
,
"c23"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_NBE1
,
"d22"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_WAIT0
,
"b26"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_WAIT1
,
"b23"
,
NULL
),
_OMAP4_BALLENTRY
(
C2C_DATA11
,
"d23"
,
NULL
),
_OMAP4_BALLENTRY
(
C2C_DATA12
,
"a24"
,
NULL
),
_OMAP4_BALLENTRY
(
C2C_DATA13
,
"b24"
,
NULL
),
_OMAP4_BALLENTRY
(
C2C_DATA14
,
"c24"
,
NULL
),
_OMAP4_BALLENTRY
(
C2C_DATA15
,
"d24"
,
NULL
),
_OMAP4_BALLENTRY
(
HDMI_HPD
,
"b9"
,
NULL
),
_OMAP4_BALLENTRY
(
HDMI_CEC
,
"b10"
,
NULL
),
_OMAP4_BALLENTRY
(
HDMI_DDC_SCL
,
"a8"
,
NULL
),
_OMAP4_BALLENTRY
(
HDMI_DDC_SDA
,
"b8"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI21_DX0
,
"r26"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI21_DY0
,
"r25"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI21_DX1
,
"t26"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI21_DY1
,
"t25"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI21_DX2
,
"u26"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI21_DY2
,
"u25"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI21_DX3
,
"v26"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI21_DY3
,
"v25"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI21_DX4
,
"w26"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI21_DY4
,
"w25"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI22_DX0
,
"m26"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI22_DY0
,
"m25"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI22_DX1
,
"n26"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI22_DY1
,
"n25"
,
NULL
),
_OMAP4_BALLENTRY
(
CAM_SHUTTER
,
"t27"
,
NULL
),
_OMAP4_BALLENTRY
(
CAM_STROBE
,
"u27"
,
NULL
),
_OMAP4_BALLENTRY
(
CAM_GLOBALRESET
,
"v27"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_ULPITLL_CLK
,
"ae18"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_ULPITLL_STP
,
"ag19"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_ULPITLL_DIR
,
"af19"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_ULPITLL_NXT
,
"ae19"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_ULPITLL_DAT0
,
"af18"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_ULPITLL_DAT1
,
"ag18"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_ULPITLL_DAT2
,
"ae17"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_ULPITLL_DAT3
,
"af17"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_ULPITLL_DAT4
,
"ah17"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_ULPITLL_DAT5
,
"ae16"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_ULPITLL_DAT6
,
"af16"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_ULPITLL_DAT7
,
"ag16"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_HSIC_DATA
,
"af14"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_HSIC_STROBE
,
"ae14"
,
NULL
),
_OMAP4_BALLENTRY
(
USBC1_ICUSB_DP
,
"h2"
,
NULL
),
_OMAP4_BALLENTRY
(
USBC1_ICUSB_DM
,
"h3"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC1_CLK
,
"d2"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC1_CMD
,
"e3"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC1_DAT0
,
"e4"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC1_DAT1
,
"e2"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC1_DAT2
,
"e1"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC1_DAT3
,
"f4"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC1_DAT4
,
"f3"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC1_DAT5
,
"f1"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC1_DAT6
,
"g4"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC1_DAT7
,
"g3"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_MCBSP2_CLKX
,
"ad27"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_MCBSP2_DR
,
"ad26"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_MCBSP2_DX
,
"ad25"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_MCBSP2_FSX
,
"ac28"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_MCBSP1_CLKX
,
"ac26"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_MCBSP1_DR
,
"ac25"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_MCBSP1_DX
,
"ab25"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_MCBSP1_FSX
,
"ac27"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_PDM_UL_DATA
,
"ag25"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_PDM_DL_DATA
,
"af25"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_PDM_FRAME
,
"ae25"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_PDM_LB_CLK
,
"af26"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_CLKS
,
"ah26"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_DMIC_CLK1
,
"ae24"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_DMIC_DIN1
,
"af24"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_DMIC_DIN2
,
"ag24"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_DMIC_DIN3
,
"ah24"
,
NULL
),
_OMAP4_BALLENTRY
(
UART2_CTS
,
"ab26"
,
NULL
),
_OMAP4_BALLENTRY
(
UART2_RTS
,
"ab27"
,
NULL
),
_OMAP4_BALLENTRY
(
UART2_RX
,
"aa25"
,
NULL
),
_OMAP4_BALLENTRY
(
UART2_TX
,
"aa26"
,
NULL
),
_OMAP4_BALLENTRY
(
HDQ_SIO
,
"aa27"
,
NULL
),
_OMAP4_BALLENTRY
(
I2C1_SCL
,
"ae28"
,
NULL
),
_OMAP4_BALLENTRY
(
I2C1_SDA
,
"ae26"
,
NULL
),
_OMAP4_BALLENTRY
(
I2C2_SCL
,
"c26"
,
NULL
),
_OMAP4_BALLENTRY
(
I2C2_SDA
,
"d26"
,
NULL
),
_OMAP4_BALLENTRY
(
I2C3_SCL
,
"w27"
,
NULL
),
_OMAP4_BALLENTRY
(
I2C3_SDA
,
"y27"
,
NULL
),
_OMAP4_BALLENTRY
(
I2C4_SCL
,
"ag21"
,
NULL
),
_OMAP4_BALLENTRY
(
I2C4_SDA
,
"ah22"
,
NULL
),
_OMAP4_BALLENTRY
(
MCSPI1_CLK
,
"af22"
,
NULL
),
_OMAP4_BALLENTRY
(
MCSPI1_SOMI
,
"ae22"
,
NULL
),
_OMAP4_BALLENTRY
(
MCSPI1_SIMO
,
"ag22"
,
NULL
),
_OMAP4_BALLENTRY
(
MCSPI1_CS0
,
"ae23"
,
NULL
),
_OMAP4_BALLENTRY
(
MCSPI1_CS1
,
"af23"
,
NULL
),
_OMAP4_BALLENTRY
(
MCSPI1_CS2
,
"ag23"
,
NULL
),
_OMAP4_BALLENTRY
(
MCSPI1_CS3
,
"ah23"
,
NULL
),
_OMAP4_BALLENTRY
(
UART3_CTS_RCTX
,
"f27"
,
NULL
),
_OMAP4_BALLENTRY
(
UART3_RTS_SD
,
"f28"
,
NULL
),
_OMAP4_BALLENTRY
(
UART3_RX_IRRX
,
"g27"
,
NULL
),
_OMAP4_BALLENTRY
(
UART3_TX_IRTX
,
"g28"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC5_CLK
,
"ae5"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC5_CMD
,
"af5"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC5_DAT0
,
"ae4"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC5_DAT1
,
"af4"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC5_DAT2
,
"ag3"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC5_DAT3
,
"af3"
,
NULL
),
_OMAP4_BALLENTRY
(
MCSPI4_CLK
,
"ae21"
,
NULL
),
_OMAP4_BALLENTRY
(
MCSPI4_SIMO
,
"af20"
,
NULL
),
_OMAP4_BALLENTRY
(
MCSPI4_SOMI
,
"af21"
,
NULL
),
_OMAP4_BALLENTRY
(
MCSPI4_CS0
,
"ae20"
,
NULL
),
_OMAP4_BALLENTRY
(
UART4_RX
,
"ag20"
,
NULL
),
_OMAP4_BALLENTRY
(
UART4_TX
,
"ah19"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_ULPITLL_CLK
,
"ag12"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_ULPITLL_STP
,
"af12"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_ULPITLL_DIR
,
"ae12"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_ULPITLL_NXT
,
"ag13"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_ULPITLL_DAT0
,
"ae11"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_ULPITLL_DAT1
,
"af11"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_ULPITLL_DAT2
,
"ag11"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_ULPITLL_DAT3
,
"ah11"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_ULPITLL_DAT4
,
"ae10"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_ULPITLL_DAT5
,
"af10"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_ULPITLL_DAT6
,
"ag10"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_ULPITLL_DAT7
,
"ae9"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_HSIC_DATA
,
"af13"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_HSIC_STROBE
,
"ae13"
,
NULL
),
_OMAP4_BALLENTRY
(
UNIPRO_TX0
,
"g26"
,
NULL
),
_OMAP4_BALLENTRY
(
UNIPRO_TY0
,
"g25"
,
NULL
),
_OMAP4_BALLENTRY
(
UNIPRO_TX1
,
"h26"
,
NULL
),
_OMAP4_BALLENTRY
(
UNIPRO_TY1
,
"h25"
,
NULL
),
_OMAP4_BALLENTRY
(
UNIPRO_TX2
,
"j27"
,
NULL
),
_OMAP4_BALLENTRY
(
UNIPRO_TY2
,
"h27"
,
NULL
),
_OMAP4_BALLENTRY
(
UNIPRO_RX0
,
"j26"
,
NULL
),
_OMAP4_BALLENTRY
(
UNIPRO_RY0
,
"j25"
,
NULL
),
_OMAP4_BALLENTRY
(
UNIPRO_RX1
,
"k26"
,
NULL
),
_OMAP4_BALLENTRY
(
UNIPRO_RY1
,
"k25"
,
NULL
),
_OMAP4_BALLENTRY
(
UNIPRO_RX2
,
"l27"
,
NULL
),
_OMAP4_BALLENTRY
(
UNIPRO_RY2
,
"k27"
,
NULL
),
_OMAP4_BALLENTRY
(
USBA0_OTG_CE
,
"c3"
,
NULL
),
_OMAP4_BALLENTRY
(
USBA0_OTG_DP
,
"b5"
,
NULL
),
_OMAP4_BALLENTRY
(
USBA0_OTG_DM
,
"b4"
,
NULL
),
_OMAP4_BALLENTRY
(
FREF_CLK1_OUT
,
"aa28"
,
NULL
),
_OMAP4_BALLENTRY
(
FREF_CLK2_OUT
,
"y28"
,
NULL
),
_OMAP4_BALLENTRY
(
SYS_NIRQ1
,
"ae6"
,
NULL
),
_OMAP4_BALLENTRY
(
SYS_NIRQ2
,
"af6"
,
NULL
),
_OMAP4_BALLENTRY
(
SYS_BOOT0
,
"f26"
,
NULL
),
_OMAP4_BALLENTRY
(
SYS_BOOT1
,
"e27"
,
NULL
),
_OMAP4_BALLENTRY
(
SYS_BOOT2
,
"e26"
,
NULL
),
_OMAP4_BALLENTRY
(
SYS_BOOT3
,
"e25"
,
NULL
),
_OMAP4_BALLENTRY
(
SYS_BOOT4
,
"d28"
,
NULL
),
_OMAP4_BALLENTRY
(
SYS_BOOT5
,
"d27"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU0
,
"m2"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU1
,
"n2"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU2
,
"p2"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU3
,
"v1"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU4
,
"v2"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU5
,
"w1"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU6
,
"w2"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU7
,
"w3"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU8
,
"w4"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU9
,
"y2"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU10
,
"y3"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU11
,
"y4"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU12
,
"aa1"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU13
,
"aa2"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU14
,
"aa3"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU15
,
"aa4"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU16
,
"ab2"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU17
,
"ab3"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU18
,
"ab4"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU19
,
"ac4"
,
NULL
),
{
.
reg_offset
=
OMAP_MUX_TERMINATOR
},
};
#else
#define omap4_core_cbl_ball NULL
#endif
/*
* Superset of all mux modes for omap4 ES2.0
*/
static
struct
omap_mux
__initdata
omap4_es2_core_muxmodes
[]
=
{
_OMAP4_MUXENTRY
(
GPMC_AD0
,
0
,
"gpmc_ad0"
,
"sdmmc2_dat0"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD1
,
0
,
"gpmc_ad1"
,
"sdmmc2_dat1"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD2
,
0
,
"gpmc_ad2"
,
"sdmmc2_dat2"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD3
,
0
,
"gpmc_ad3"
,
"sdmmc2_dat3"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD4
,
0
,
"gpmc_ad4"
,
"sdmmc2_dat4"
,
"sdmmc2_dir_dat0"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD5
,
0
,
"gpmc_ad5"
,
"sdmmc2_dat5"
,
"sdmmc2_dir_dat1"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD6
,
0
,
"gpmc_ad6"
,
"sdmmc2_dat6"
,
"sdmmc2_dir_cmd"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD7
,
0
,
"gpmc_ad7"
,
"sdmmc2_dat7"
,
"sdmmc2_clk_fdbk"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD8
,
32
,
"gpmc_ad8"
,
"kpd_row0"
,
"c2c_data15"
,
"gpio_32"
,
NULL
,
"sdmmc1_dat0"
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD9
,
33
,
"gpmc_ad9"
,
"kpd_row1"
,
"c2c_data14"
,
"gpio_33"
,
NULL
,
"sdmmc1_dat1"
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD10
,
34
,
"gpmc_ad10"
,
"kpd_row2"
,
"c2c_data13"
,
"gpio_34"
,
NULL
,
"sdmmc1_dat2"
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD11
,
35
,
"gpmc_ad11"
,
"kpd_row3"
,
"c2c_data12"
,
"gpio_35"
,
NULL
,
"sdmmc1_dat3"
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD12
,
36
,
"gpmc_ad12"
,
"kpd_col0"
,
"c2c_data11"
,
"gpio_36"
,
NULL
,
"sdmmc1_dat4"
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD13
,
37
,
"gpmc_ad13"
,
"kpd_col1"
,
"c2c_data10"
,
"gpio_37"
,
NULL
,
"sdmmc1_dat5"
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD14
,
38
,
"gpmc_ad14"
,
"kpd_col2"
,
"c2c_data9"
,
"gpio_38"
,
NULL
,
"sdmmc1_dat6"
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_AD15
,
39
,
"gpmc_ad15"
,
"kpd_col3"
,
"c2c_data8"
,
"gpio_39"
,
NULL
,
"sdmmc1_dat7"
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_A16
,
40
,
"gpmc_a16"
,
"kpd_row4"
,
"c2c_datain0"
,
"gpio_40"
,
"venc_656_data0"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_A17
,
41
,
"gpmc_a17"
,
"kpd_row5"
,
"c2c_datain1"
,
"gpio_41"
,
"venc_656_data1"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_A18
,
42
,
"gpmc_a18"
,
"kpd_row6"
,
"c2c_datain2"
,
"gpio_42"
,
"venc_656_data2"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_A19
,
43
,
"gpmc_a19"
,
"kpd_row7"
,
"c2c_datain3"
,
"gpio_43"
,
"venc_656_data3"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_A20
,
44
,
"gpmc_a20"
,
"kpd_col4"
,
"c2c_datain4"
,
"gpio_44"
,
"venc_656_data4"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_A21
,
45
,
"gpmc_a21"
,
"kpd_col5"
,
"c2c_datain5"
,
"gpio_45"
,
"venc_656_data5"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_A22
,
46
,
"gpmc_a22"
,
"kpd_col6"
,
"c2c_datain6"
,
"gpio_46"
,
"venc_656_data6"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_A23
,
47
,
"gpmc_a23"
,
"kpd_col7"
,
"c2c_datain7"
,
"gpio_47"
,
"venc_656_data7"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_A24
,
48
,
"gpmc_a24"
,
"kpd_col8"
,
"c2c_clkout0"
,
"gpio_48"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_A25
,
49
,
"gpmc_a25"
,
NULL
,
"c2c_clkout1"
,
"gpio_49"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_NCS0
,
50
,
"gpmc_ncs0"
,
NULL
,
NULL
,
"gpio_50"
,
"sys_ndmareq0"
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_NCS1
,
51
,
"gpmc_ncs1"
,
NULL
,
"c2c_dataout6"
,
"gpio_51"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_NCS2
,
52
,
"gpmc_ncs2"
,
"kpd_row8"
,
"c2c_dataout7"
,
"gpio_52"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_NCS3
,
53
,
"gpmc_ncs3"
,
"gpmc_dir"
,
"c2c_dataout4"
,
"gpio_53"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_NWP
,
54
,
"gpmc_nwp"
,
"dsi1_te0"
,
NULL
,
"gpio_54"
,
"sys_ndmareq1"
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_CLK
,
55
,
"gpmc_clk"
,
NULL
,
NULL
,
"gpio_55"
,
"sys_ndmareq2"
,
"sdmmc1_cmd"
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_NADV_ALE
,
56
,
"gpmc_nadv_ale"
,
"dsi1_te1"
,
NULL
,
"gpio_56"
,
"sys_ndmareq3"
,
"sdmmc1_clk"
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_NOE
,
0
,
"gpmc_noe"
,
"sdmmc2_clk"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_NWE
,
0
,
"gpmc_nwe"
,
"sdmmc2_cmd"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_NBE0_CLE
,
59
,
"gpmc_nbe0_cle"
,
"dsi2_te0"
,
NULL
,
"gpio_59"
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_NBE1
,
60
,
"gpmc_nbe1"
,
NULL
,
"c2c_dataout5"
,
"gpio_60"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_WAIT0
,
61
,
"gpmc_wait0"
,
"dsi2_te1"
,
NULL
,
"gpio_61"
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
GPMC_WAIT1
,
62
,
"gpmc_wait1"
,
NULL
,
"c2c_dataout2"
,
"gpio_62"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_WAIT2
,
100
,
"gpmc_wait2"
,
"usbc1_icusb_txen"
,
"c2c_dataout3"
,
"gpio_100"
,
"sys_ndmareq0"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_NCS4
,
101
,
"gpmc_ncs4"
,
"dsi1_te0"
,
"c2c_clkin0"
,
"gpio_101"
,
"sys_ndmareq1"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_NCS5
,
102
,
"gpmc_ncs5"
,
"dsi1_te1"
,
"c2c_clkin1"
,
"gpio_102"
,
"sys_ndmareq2"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_NCS6
,
103
,
"gpmc_ncs6"
,
"dsi2_te0"
,
"c2c_dataout0"
,
"gpio_103"
,
"sys_ndmareq3"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
GPMC_NCS7
,
104
,
"gpmc_ncs7"
,
"dsi2_te1"
,
"c2c_dataout1"
,
"gpio_104"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
HDMI_HPD
,
63
,
"hdmi_hpd"
,
NULL
,
NULL
,
"gpio_63"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
HDMI_CEC
,
64
,
"hdmi_cec"
,
NULL
,
NULL
,
"gpio_64"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
HDMI_DDC_SCL
,
65
,
"hdmi_ddc_scl"
,
NULL
,
NULL
,
"gpio_65"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
HDMI_DDC_SDA
,
66
,
"hdmi_ddc_sda"
,
NULL
,
NULL
,
"gpio_66"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI21_DX0
,
0
,
"csi21_dx0"
,
NULL
,
NULL
,
"gpi_67"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI21_DY0
,
0
,
"csi21_dy0"
,
NULL
,
NULL
,
"gpi_68"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI21_DX1
,
0
,
"csi21_dx1"
,
NULL
,
NULL
,
"gpi_69"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI21_DY1
,
0
,
"csi21_dy1"
,
NULL
,
NULL
,
"gpi_70"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI21_DX2
,
0
,
"csi21_dx2"
,
NULL
,
NULL
,
"gpi_71"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI21_DY2
,
0
,
"csi21_dy2"
,
NULL
,
NULL
,
"gpi_72"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI21_DX3
,
0
,
"csi21_dx3"
,
NULL
,
NULL
,
"gpi_73"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI21_DY3
,
0
,
"csi21_dy3"
,
NULL
,
NULL
,
"gpi_74"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI21_DX4
,
0
,
"csi21_dx4"
,
NULL
,
NULL
,
"gpi_75"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI21_DY4
,
0
,
"csi21_dy4"
,
NULL
,
NULL
,
"gpi_76"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI22_DX0
,
0
,
"csi22_dx0"
,
NULL
,
NULL
,
"gpi_77"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI22_DY0
,
0
,
"csi22_dy0"
,
NULL
,
NULL
,
"gpi_78"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI22_DX1
,
0
,
"csi22_dx1"
,
NULL
,
NULL
,
"gpi_79"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CSI22_DY1
,
0
,
"csi22_dy1"
,
NULL
,
NULL
,
"gpi_80"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CAM_SHUTTER
,
81
,
"cam_shutter"
,
NULL
,
NULL
,
"gpio_81"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CAM_STROBE
,
82
,
"cam_strobe"
,
NULL
,
NULL
,
"gpio_82"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
CAM_GLOBALRESET
,
83
,
"cam_globalreset"
,
NULL
,
NULL
,
"gpio_83"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_ULPITLL_CLK
,
84
,
"usbb1_ulpitll_clk"
,
"hsi1_cawake"
,
NULL
,
"gpio_84"
,
"usbb1_ulpiphy_clk"
,
NULL
,
"hw_dbg20"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_ULPITLL_STP
,
85
,
"usbb1_ulpitll_stp"
,
"hsi1_cadata"
,
"mcbsp4_clkr"
,
"gpio_85"
,
"usbb1_ulpiphy_stp"
,
"usbb1_mm_rxdp"
,
"hw_dbg21"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_ULPITLL_DIR
,
86
,
"usbb1_ulpitll_dir"
,
"hsi1_caflag"
,
"mcbsp4_fsr"
,
"gpio_86"
,
"usbb1_ulpiphy_dir"
,
NULL
,
"hw_dbg22"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_ULPITLL_NXT
,
87
,
"usbb1_ulpitll_nxt"
,
"hsi1_acready"
,
"mcbsp4_fsx"
,
"gpio_87"
,
"usbb1_ulpiphy_nxt"
,
"usbb1_mm_rxdm"
,
"hw_dbg23"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_ULPITLL_DAT0
,
88
,
"usbb1_ulpitll_dat0"
,
"hsi1_acwake"
,
"mcbsp4_clkx"
,
"gpio_88"
,
"usbb1_ulpiphy_dat0"
,
"usbb1_mm_txen"
,
"hw_dbg24"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_ULPITLL_DAT1
,
89
,
"usbb1_ulpitll_dat1"
,
"hsi1_acdata"
,
"mcbsp4_dx"
,
"gpio_89"
,
"usbb1_ulpiphy_dat1"
,
"usbb1_mm_txdat"
,
"hw_dbg25"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_ULPITLL_DAT2
,
90
,
"usbb1_ulpitll_dat2"
,
"hsi1_acflag"
,
"mcbsp4_dr"
,
"gpio_90"
,
"usbb1_ulpiphy_dat2"
,
"usbb1_mm_txse0"
,
"hw_dbg26"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_ULPITLL_DAT3
,
91
,
"usbb1_ulpitll_dat3"
,
"hsi1_caready"
,
NULL
,
"gpio_91"
,
"usbb1_ulpiphy_dat3"
,
"usbb1_mm_rxrcv"
,
"hw_dbg27"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_ULPITLL_DAT4
,
92
,
"usbb1_ulpitll_dat4"
,
"dmtimer8_pwm_evt"
,
"abe_mcbsp3_dr"
,
"gpio_92"
,
"usbb1_ulpiphy_dat4"
,
NULL
,
"hw_dbg28"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_ULPITLL_DAT5
,
93
,
"usbb1_ulpitll_dat5"
,
"dmtimer9_pwm_evt"
,
"abe_mcbsp3_dx"
,
"gpio_93"
,
"usbb1_ulpiphy_dat5"
,
NULL
,
"hw_dbg29"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_ULPITLL_DAT6
,
94
,
"usbb1_ulpitll_dat6"
,
"dmtimer10_pwm_evt"
,
"abe_mcbsp3_clkx"
,
"gpio_94"
,
"usbb1_ulpiphy_dat6"
,
"abe_dmic_din3"
,
"hw_dbg30"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_ULPITLL_DAT7
,
95
,
"usbb1_ulpitll_dat7"
,
"dmtimer11_pwm_evt"
,
"abe_mcbsp3_fsx"
,
"gpio_95"
,
"usbb1_ulpiphy_dat7"
,
"abe_dmic_clk3"
,
"hw_dbg31"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_HSIC_DATA
,
96
,
"usbb1_hsic_data"
,
NULL
,
NULL
,
"gpio_96"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB1_HSIC_STROBE
,
97
,
"usbb1_hsic_strobe"
,
NULL
,
NULL
,
"gpio_97"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBC1_ICUSB_DP
,
98
,
"usbc1_icusb_dp"
,
NULL
,
NULL
,
"gpio_98"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBC1_ICUSB_DM
,
99
,
"usbc1_icusb_dm"
,
NULL
,
NULL
,
"gpio_99"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC1_CLK
,
100
,
"sdmmc1_clk"
,
NULL
,
"dpm_emu19"
,
"gpio_100"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC1_CMD
,
101
,
"sdmmc1_cmd"
,
NULL
,
"uart1_rx"
,
"gpio_101"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC1_DAT0
,
102
,
"sdmmc1_dat0"
,
NULL
,
"dpm_emu18"
,
"gpio_102"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC1_DAT1
,
103
,
"sdmmc1_dat1"
,
NULL
,
"dpm_emu17"
,
"gpio_103"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC1_DAT2
,
104
,
"sdmmc1_dat2"
,
NULL
,
"dpm_emu16"
,
"gpio_104"
,
"jtag_tms_tmsc"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC1_DAT3
,
105
,
"sdmmc1_dat3"
,
NULL
,
"dpm_emu15"
,
"gpio_105"
,
"jtag_tck"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC1_DAT4
,
106
,
"sdmmc1_dat4"
,
NULL
,
NULL
,
"gpio_106"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC1_DAT5
,
107
,
"sdmmc1_dat5"
,
NULL
,
NULL
,
"gpio_107"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC1_DAT6
,
108
,
"sdmmc1_dat6"
,
NULL
,
NULL
,
"gpio_108"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC1_DAT7
,
109
,
"sdmmc1_dat7"
,
NULL
,
NULL
,
"gpio_109"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_MCBSP2_CLKX
,
110
,
"abe_mcbsp2_clkx"
,
"mcspi2_clk"
,
"abe_mcasp_ahclkx"
,
"gpio_110"
,
"usbb2_mm_rxdm"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_MCBSP2_DR
,
111
,
"abe_mcbsp2_dr"
,
"mcspi2_somi"
,
"abe_mcasp_axr"
,
"gpio_111"
,
"usbb2_mm_rxdp"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_MCBSP2_DX
,
112
,
"abe_mcbsp2_dx"
,
"mcspi2_simo"
,
"abe_mcasp_amute"
,
"gpio_112"
,
"usbb2_mm_rxrcv"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_MCBSP2_FSX
,
113
,
"abe_mcbsp2_fsx"
,
"mcspi2_cs0"
,
"abe_mcasp_afsx"
,
"gpio_113"
,
"usbb2_mm_txen"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_MCBSP1_CLKX
,
114
,
"abe_mcbsp1_clkx"
,
"abe_slimbus1_clock"
,
NULL
,
"gpio_114"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_MCBSP1_DR
,
115
,
"abe_mcbsp1_dr"
,
"abe_slimbus1_data"
,
NULL
,
"gpio_115"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_MCBSP1_DX
,
116
,
"abe_mcbsp1_dx"
,
"sdmmc3_dat2"
,
"abe_mcasp_aclkx"
,
"gpio_116"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_MCBSP1_FSX
,
117
,
"abe_mcbsp1_fsx"
,
"sdmmc3_dat3"
,
"abe_mcasp_amutein"
,
"gpio_117"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_PDM_UL_DATA
,
0
,
"abe_pdm_ul_data"
,
"abe_mcbsp3_dr"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_PDM_DL_DATA
,
0
,
"abe_pdm_dl_data"
,
"abe_mcbsp3_dx"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_PDM_FRAME
,
0
,
"abe_pdm_frame"
,
"abe_mcbsp3_clkx"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_PDM_LB_CLK
,
0
,
"abe_pdm_lb_clk"
,
"abe_mcbsp3_fsx"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_CLKS
,
118
,
"abe_clks"
,
NULL
,
NULL
,
"gpio_118"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_DMIC_CLK1
,
119
,
"abe_dmic_clk1"
,
NULL
,
NULL
,
"gpio_119"
,
"usbb2_mm_txse0"
,
"uart4_cts"
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_DMIC_DIN1
,
120
,
"abe_dmic_din1"
,
NULL
,
NULL
,
"gpio_120"
,
"usbb2_mm_txdat"
,
"uart4_rts"
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_DMIC_DIN2
,
121
,
"abe_dmic_din2"
,
"slimbus2_clock"
,
"abe_mcasp_axr"
,
"gpio_121"
,
NULL
,
"dmtimer11_pwm_evt"
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
ABE_DMIC_DIN3
,
122
,
"abe_dmic_din3"
,
"slimbus2_data"
,
"abe_dmic_clk2"
,
"gpio_122"
,
NULL
,
"dmtimer9_pwm_evt"
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UART2_CTS
,
123
,
"uart2_cts"
,
"sdmmc3_clk"
,
NULL
,
"gpio_123"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UART2_RTS
,
124
,
"uart2_rts"
,
"sdmmc3_cmd"
,
NULL
,
"gpio_124"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UART2_RX
,
125
,
"uart2_rx"
,
"sdmmc3_dat0"
,
NULL
,
"gpio_125"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UART2_TX
,
126
,
"uart2_tx"
,
"sdmmc3_dat1"
,
NULL
,
"gpio_126"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
HDQ_SIO
,
127
,
"hdq_sio"
,
"i2c3_sccb"
,
"i2c2_sccb"
,
"gpio_127"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
I2C1_SCL
,
0
,
"i2c1_scl"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
I2C1_SDA
,
0
,
"i2c1_sda"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
I2C2_SCL
,
128
,
"i2c2_scl"
,
"uart1_rx"
,
NULL
,
"gpio_128"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
I2C2_SDA
,
129
,
"i2c2_sda"
,
"uart1_tx"
,
NULL
,
"gpio_129"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
I2C3_SCL
,
130
,
"i2c3_scl"
,
NULL
,
NULL
,
"gpio_130"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
I2C3_SDA
,
131
,
"i2c3_sda"
,
NULL
,
NULL
,
"gpio_131"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
I2C4_SCL
,
132
,
"i2c4_scl"
,
NULL
,
NULL
,
"gpio_132"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
I2C4_SDA
,
133
,
"i2c4_sda"
,
NULL
,
NULL
,
"gpio_133"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
MCSPI1_CLK
,
134
,
"mcspi1_clk"
,
NULL
,
NULL
,
"gpio_134"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
MCSPI1_SOMI
,
135
,
"mcspi1_somi"
,
NULL
,
NULL
,
"gpio_135"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
MCSPI1_SIMO
,
136
,
"mcspi1_simo"
,
NULL
,
NULL
,
"gpio_136"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
MCSPI1_CS0
,
137
,
"mcspi1_cs0"
,
NULL
,
NULL
,
"gpio_137"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
MCSPI1_CS1
,
138
,
"mcspi1_cs1"
,
"uart1_rx"
,
NULL
,
"gpio_138"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
MCSPI1_CS2
,
139
,
"mcspi1_cs2"
,
"uart1_cts"
,
"slimbus2_clock"
,
"gpio_139"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
MCSPI1_CS3
,
140
,
"mcspi1_cs3"
,
"uart1_rts"
,
"slimbus2_data"
,
"gpio_140"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UART3_CTS_RCTX
,
141
,
"uart3_cts_rctx"
,
"uart1_tx"
,
NULL
,
"gpio_141"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UART3_RTS_SD
,
142
,
"uart3_rts_sd"
,
NULL
,
NULL
,
"gpio_142"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UART3_RX_IRRX
,
143
,
"uart3_rx_irrx"
,
"dmtimer8_pwm_evt"
,
NULL
,
"gpio_143"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UART3_TX_IRTX
,
144
,
"uart3_tx_irtx"
,
"dmtimer9_pwm_evt"
,
NULL
,
"gpio_144"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC5_CLK
,
145
,
"sdmmc5_clk"
,
"mcspi2_clk"
,
"usbc1_icusb_dp"
,
"gpio_145"
,
NULL
,
"sdmmc2_clk"
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC5_CMD
,
146
,
"sdmmc5_cmd"
,
"mcspi2_simo"
,
"usbc1_icusb_dm"
,
"gpio_146"
,
NULL
,
"sdmmc2_cmd"
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC5_DAT0
,
147
,
"sdmmc5_dat0"
,
"mcspi2_somi"
,
"usbc1_icusb_rcv"
,
"gpio_147"
,
NULL
,
"sdmmc2_dat0"
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC5_DAT1
,
148
,
"sdmmc5_dat1"
,
NULL
,
"usbc1_icusb_txen"
,
"gpio_148"
,
NULL
,
"sdmmc2_dat1"
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC5_DAT2
,
149
,
"sdmmc5_dat2"
,
"mcspi2_cs1"
,
NULL
,
"gpio_149"
,
NULL
,
"sdmmc2_dat2"
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SDMMC5_DAT3
,
150
,
"sdmmc5_dat3"
,
"mcspi2_cs0"
,
NULL
,
"gpio_150"
,
NULL
,
"sdmmc2_dat3"
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
MCSPI4_CLK
,
151
,
"mcspi4_clk"
,
"sdmmc4_clk"
,
"kpd_col6"
,
"gpio_151"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
MCSPI4_SIMO
,
152
,
"mcspi4_simo"
,
"sdmmc4_cmd"
,
"kpd_col7"
,
"gpio_152"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
MCSPI4_SOMI
,
153
,
"mcspi4_somi"
,
"sdmmc4_dat0"
,
"kpd_row6"
,
"gpio_153"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
MCSPI4_CS0
,
154
,
"mcspi4_cs0"
,
"sdmmc4_dat3"
,
"kpd_row7"
,
"gpio_154"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UART4_RX
,
155
,
"uart4_rx"
,
"sdmmc4_dat2"
,
"kpd_row8"
,
"gpio_155"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
UART4_TX
,
156
,
"uart4_tx"
,
"sdmmc4_dat1"
,
"kpd_col8"
,
"gpio_156"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB2_ULPITLL_CLK
,
157
,
"usbb2_ulpitll_clk"
,
"usbb2_ulpiphy_clk"
,
"sdmmc4_cmd"
,
"gpio_157"
,
"hsi2_cawake"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB2_ULPITLL_STP
,
158
,
"usbb2_ulpitll_stp"
,
"usbb2_ulpiphy_stp"
,
"sdmmc4_clk"
,
"gpio_158"
,
"hsi2_cadata"
,
"dispc2_data23"
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB2_ULPITLL_DIR
,
159
,
"usbb2_ulpitll_dir"
,
"usbb2_ulpiphy_dir"
,
"sdmmc4_dat0"
,
"gpio_159"
,
"hsi2_caflag"
,
"dispc2_data22"
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB2_ULPITLL_NXT
,
160
,
"usbb2_ulpitll_nxt"
,
"usbb2_ulpiphy_nxt"
,
"sdmmc4_dat1"
,
"gpio_160"
,
"hsi2_acready"
,
"dispc2_data21"
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB2_ULPITLL_DAT0
,
161
,
"usbb2_ulpitll_dat0"
,
"usbb2_ulpiphy_dat0"
,
"sdmmc4_dat2"
,
"gpio_161"
,
"hsi2_acwake"
,
"dispc2_data20"
,
"usbb2_mm_txen"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB2_ULPITLL_DAT1
,
162
,
"usbb2_ulpitll_dat1"
,
"usbb2_ulpiphy_dat1"
,
"sdmmc4_dat3"
,
"gpio_162"
,
"hsi2_acdata"
,
"dispc2_data19"
,
"usbb2_mm_txdat"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB2_ULPITLL_DAT2
,
163
,
"usbb2_ulpitll_dat2"
,
"usbb2_ulpiphy_dat2"
,
"sdmmc3_dat2"
,
"gpio_163"
,
"hsi2_acflag"
,
"dispc2_data18"
,
"usbb2_mm_txse0"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB2_ULPITLL_DAT3
,
164
,
"usbb2_ulpitll_dat3"
,
"usbb2_ulpiphy_dat3"
,
"sdmmc3_dat1"
,
"gpio_164"
,
"hsi2_caready"
,
"dispc2_data15"
,
"rfbi_data15"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB2_ULPITLL_DAT4
,
165
,
"usbb2_ulpitll_dat4"
,
"usbb2_ulpiphy_dat4"
,
"sdmmc3_dat0"
,
"gpio_165"
,
"mcspi3_somi"
,
"dispc2_data14"
,
"rfbi_data14"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB2_ULPITLL_DAT5
,
166
,
"usbb2_ulpitll_dat5"
,
"usbb2_ulpiphy_dat5"
,
"sdmmc3_dat3"
,
"gpio_166"
,
"mcspi3_cs0"
,
"dispc2_data13"
,
"rfbi_data13"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB2_ULPITLL_DAT6
,
167
,
"usbb2_ulpitll_dat6"
,
"usbb2_ulpiphy_dat6"
,
"sdmmc3_cmd"
,
"gpio_167"
,
"mcspi3_simo"
,
"dispc2_data12"
,
"rfbi_data12"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB2_ULPITLL_DAT7
,
168
,
"usbb2_ulpitll_dat7"
,
"usbb2_ulpiphy_dat7"
,
"sdmmc3_clk"
,
"gpio_168"
,
"mcspi3_clk"
,
"dispc2_data11"
,
"rfbi_data11"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB2_HSIC_DATA
,
169
,
"usbb2_hsic_data"
,
NULL
,
NULL
,
"gpio_169"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBB2_HSIC_STROBE
,
170
,
"usbb2_hsic_strobe"
,
NULL
,
NULL
,
"gpio_170"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
KPD_COL3
,
171
,
"kpd_col3"
,
"kpd_col0"
,
NULL
,
"gpio_171"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
KPD_COL4
,
172
,
"kpd_col4"
,
"kpd_col1"
,
NULL
,
"gpio_172"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
KPD_COL5
,
173
,
"kpd_col5"
,
"kpd_col2"
,
NULL
,
"gpio_173"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
KPD_COL0
,
174
,
"kpd_col0"
,
"kpd_col3"
,
NULL
,
"gpio_174"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
KPD_COL1
,
0
,
"kpd_col1"
,
"kpd_col4"
,
NULL
,
"gpio_0"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
KPD_COL2
,
1
,
"kpd_col2"
,
"kpd_col5"
,
NULL
,
"gpio_1"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
KPD_ROW3
,
175
,
"kpd_row3"
,
"kpd_row0"
,
NULL
,
"gpio_175"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
KPD_ROW4
,
176
,
"kpd_row4"
,
"kpd_row1"
,
NULL
,
"gpio_176"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
KPD_ROW5
,
177
,
"kpd_row5"
,
"kpd_row2"
,
NULL
,
"gpio_177"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
KPD_ROW0
,
178
,
"kpd_row0"
,
"kpd_row3"
,
NULL
,
"gpio_178"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
KPD_ROW1
,
2
,
"kpd_row1"
,
"kpd_row4"
,
NULL
,
"gpio_2"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
KPD_ROW2
,
3
,
"kpd_row2"
,
"kpd_row5"
,
NULL
,
"gpio_3"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBA0_OTG_CE
,
0
,
"usba0_otg_ce"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
USBA0_OTG_DP
,
0
,
"usba0_otg_dp"
,
"uart3_rx_irrx"
,
"uart2_rx"
,
NULL
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
USBA0_OTG_DM
,
0
,
"usba0_otg_dm"
,
"uart3_tx_irtx"
,
"uart2_tx"
,
NULL
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
FREF_CLK1_OUT
,
181
,
"fref_clk1_out"
,
NULL
,
NULL
,
"gpio_181"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
FREF_CLK2_OUT
,
182
,
"fref_clk2_out"
,
NULL
,
NULL
,
"gpio_182"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SYS_NIRQ1
,
0
,
"sys_nirq1"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SYS_NIRQ2
,
183
,
"sys_nirq2"
,
NULL
,
NULL
,
"gpio_183"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SYS_BOOT0
,
184
,
"sys_boot0"
,
NULL
,
NULL
,
"gpio_184"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SYS_BOOT1
,
185
,
"sys_boot1"
,
NULL
,
NULL
,
"gpio_185"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SYS_BOOT2
,
186
,
"sys_boot2"
,
NULL
,
NULL
,
"gpio_186"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SYS_BOOT3
,
187
,
"sys_boot3"
,
NULL
,
NULL
,
"gpio_187"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SYS_BOOT4
,
188
,
"sys_boot4"
,
NULL
,
NULL
,
"gpio_188"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SYS_BOOT5
,
189
,
"sys_boot5"
,
NULL
,
NULL
,
"gpio_189"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
DPM_EMU0
,
11
,
"dpm_emu0"
,
NULL
,
NULL
,
"gpio_11"
,
NULL
,
NULL
,
"hw_dbg0"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
DPM_EMU1
,
12
,
"dpm_emu1"
,
NULL
,
NULL
,
"gpio_12"
,
NULL
,
NULL
,
"hw_dbg1"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
DPM_EMU2
,
13
,
"dpm_emu2"
,
"usba0_ulpiphy_clk"
,
NULL
,
"gpio_13"
,
NULL
,
"dispc2_fid"
,
"hw_dbg2"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
DPM_EMU3
,
14
,
"dpm_emu3"
,
"usba0_ulpiphy_stp"
,
NULL
,
"gpio_14"
,
"rfbi_data10"
,
"dispc2_data10"
,
"hw_dbg3"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
DPM_EMU4
,
15
,
"dpm_emu4"
,
"usba0_ulpiphy_dir"
,
NULL
,
"gpio_15"
,
"rfbi_data9"
,
"dispc2_data9"
,
"hw_dbg4"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
DPM_EMU5
,
16
,
"dpm_emu5"
,
"usba0_ulpiphy_nxt"
,
NULL
,
"gpio_16"
,
"rfbi_te_vsync0"
,
"dispc2_data16"
,
"hw_dbg5"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
DPM_EMU6
,
17
,
"dpm_emu6"
,
"usba0_ulpiphy_dat0"
,
"uart3_tx_irtx"
,
"gpio_17"
,
"rfbi_hsync0"
,
"dispc2_data17"
,
"hw_dbg6"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
DPM_EMU7
,
18
,
"dpm_emu7"
,
"usba0_ulpiphy_dat1"
,
"uart3_rx_irrx"
,
"gpio_18"
,
"rfbi_cs0"
,
"dispc2_hsync"
,
"hw_dbg7"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
DPM_EMU8
,
19
,
"dpm_emu8"
,
"usba0_ulpiphy_dat2"
,
"uart3_rts_sd"
,
"gpio_19"
,
"rfbi_re"
,
"dispc2_pclk"
,
"hw_dbg8"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
DPM_EMU9
,
20
,
"dpm_emu9"
,
"usba0_ulpiphy_dat3"
,
"uart3_cts_rctx"
,
"gpio_20"
,
"rfbi_we"
,
"dispc2_vsync"
,
"hw_dbg9"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
DPM_EMU10
,
21
,
"dpm_emu10"
,
"usba0_ulpiphy_dat4"
,
NULL
,
"gpio_21"
,
"rfbi_a0"
,
"dispc2_de"
,
"hw_dbg10"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
DPM_EMU11
,
22
,
"dpm_emu11"
,
"usba0_ulpiphy_dat5"
,
NULL
,
"gpio_22"
,
"rfbi_data8"
,
"dispc2_data8"
,
"hw_dbg11"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
DPM_EMU12
,
23
,
"dpm_emu12"
,
"usba0_ulpiphy_dat6"
,
NULL
,
"gpio_23"
,
"rfbi_data7"
,
"dispc2_data7"
,
"hw_dbg12"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
DPM_EMU13
,
24
,
"dpm_emu13"
,
"usba0_ulpiphy_dat7"
,
NULL
,
"gpio_24"
,
"rfbi_data6"
,
"dispc2_data6"
,
"hw_dbg13"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
DPM_EMU14
,
25
,
"dpm_emu14"
,
"sys_drm_msecure"
,
"uart1_rx"
,
"gpio_25"
,
"rfbi_data5"
,
"dispc2_data5"
,
"hw_dbg14"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
DPM_EMU15
,
26
,
"dpm_emu15"
,
"sys_secure_indicator"
,
NULL
,
"gpio_26"
,
"rfbi_data4"
,
"dispc2_data4"
,
"hw_dbg15"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
DPM_EMU16
,
27
,
"dpm_emu16"
,
"dmtimer8_pwm_evt"
,
"dsi1_te0"
,
"gpio_27"
,
"rfbi_data3"
,
"dispc2_data3"
,
"hw_dbg16"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
DPM_EMU17
,
28
,
"dpm_emu17"
,
"dmtimer9_pwm_evt"
,
"dsi1_te1"
,
"gpio_28"
,
"rfbi_data2"
,
"dispc2_data2"
,
"hw_dbg17"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
DPM_EMU18
,
190
,
"dpm_emu18"
,
"dmtimer10_pwm_evt"
,
"dsi2_te0"
,
"gpio_190"
,
"rfbi_data1"
,
"dispc2_data1"
,
"hw_dbg18"
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
DPM_EMU19
,
191
,
"dpm_emu19"
,
"dmtimer11_pwm_evt"
,
"dsi2_te1"
,
"gpio_191"
,
"rfbi_data0"
,
"dispc2_data0"
,
"hw_dbg19"
,
"safe_mode"
),
{
.
reg_offset
=
OMAP_MUX_TERMINATOR
},
};
/*
* Balls for 44XX CBS package
* 547-pin CBL ES2.0 S-FPGA-N547, 0.40mm Ball Pitch (Top),
* 0.40mm Ball Pitch (Bottom)
*/
#if defined(CONFIG_OMAP_MUX) && defined(CONFIG_DEBUG_FS) \
&& defined(CONFIG_OMAP_PACKAGE_CBS)
struct
omap_ball
__initdata
omap4_core_cbs_ball
[]
=
{
_OMAP4_BALLENTRY
(
GPMC_AD0
,
"c12"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD1
,
"d12"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD2
,
"c13"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD3
,
"d13"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD4
,
"c15"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD5
,
"d15"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD6
,
"a16"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD7
,
"b16"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD8
,
"c16"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD9
,
"d16"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD10
,
"c17"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD11
,
"d17"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD12
,
"c18"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD13
,
"d18"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD14
,
"c19"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_AD15
,
"d19"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_A16
,
"b17"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_A17
,
"a18"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_A18
,
"b18"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_A19
,
"a19"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_A20
,
"b19"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_A21
,
"b20"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_A22
,
"a21"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_A23
,
"b21"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_A24
,
"c20"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_A25
,
"d20"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_NCS0
,
"b25"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_NCS1
,
"c21"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_NCS2
,
"d21"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_NCS3
,
"c22"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_NWP
,
"c25"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_CLK
,
"b22"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_NADV_ALE
,
"d25"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_NOE
,
"b11"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_NWE
,
"b12"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_NBE0_CLE
,
"c23"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_NBE1
,
"d22"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_WAIT0
,
"b26"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_WAIT1
,
"b23"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_WAIT2
,
"d23"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_NCS4
,
"a24"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_NCS5
,
"b24"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_NCS6
,
"c24"
,
NULL
),
_OMAP4_BALLENTRY
(
GPMC_NCS7
,
"d24"
,
NULL
),
_OMAP4_BALLENTRY
(
HDMI_HPD
,
"b9"
,
NULL
),
_OMAP4_BALLENTRY
(
HDMI_CEC
,
"b10"
,
NULL
),
_OMAP4_BALLENTRY
(
HDMI_DDC_SCL
,
"a8"
,
NULL
),
_OMAP4_BALLENTRY
(
HDMI_DDC_SDA
,
"b8"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI21_DX0
,
"r26"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI21_DY0
,
"r25"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI21_DX1
,
"t26"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI21_DY1
,
"t25"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI21_DX2
,
"u26"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI21_DY2
,
"u25"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI21_DX3
,
"v26"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI21_DY3
,
"v25"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI21_DX4
,
"w26"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI21_DY4
,
"w25"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI22_DX0
,
"m26"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI22_DY0
,
"m25"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI22_DX1
,
"n26"
,
NULL
),
_OMAP4_BALLENTRY
(
CSI22_DY1
,
"n25"
,
NULL
),
_OMAP4_BALLENTRY
(
CAM_SHUTTER
,
"t27"
,
NULL
),
_OMAP4_BALLENTRY
(
CAM_STROBE
,
"u27"
,
NULL
),
_OMAP4_BALLENTRY
(
CAM_GLOBALRESET
,
"v27"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_ULPITLL_CLK
,
"ae18"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_ULPITLL_STP
,
"ag19"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_ULPITLL_DIR
,
"af19"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_ULPITLL_NXT
,
"ae19"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_ULPITLL_DAT0
,
"af18"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_ULPITLL_DAT1
,
"ag18"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_ULPITLL_DAT2
,
"ae17"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_ULPITLL_DAT3
,
"af17"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_ULPITLL_DAT4
,
"ah17"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_ULPITLL_DAT5
,
"ae16"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_ULPITLL_DAT6
,
"af16"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_ULPITLL_DAT7
,
"ag16"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_HSIC_DATA
,
"af14"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB1_HSIC_STROBE
,
"ae14"
,
NULL
),
_OMAP4_BALLENTRY
(
USBC1_ICUSB_DP
,
"h2"
,
NULL
),
_OMAP4_BALLENTRY
(
USBC1_ICUSB_DM
,
"h3"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC1_CLK
,
"d2"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC1_CMD
,
"e3"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC1_DAT0
,
"e4"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC1_DAT1
,
"e2"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC1_DAT2
,
"e1"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC1_DAT3
,
"f4"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC1_DAT4
,
"f3"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC1_DAT5
,
"f1"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC1_DAT6
,
"g4"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC1_DAT7
,
"g3"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_MCBSP2_CLKX
,
"ad27"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_MCBSP2_DR
,
"ad26"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_MCBSP2_DX
,
"ad25"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_MCBSP2_FSX
,
"ac28"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_MCBSP1_CLKX
,
"ac26"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_MCBSP1_DR
,
"ac25"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_MCBSP1_DX
,
"ab25"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_MCBSP1_FSX
,
"ac27"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_PDM_UL_DATA
,
"ag25"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_PDM_DL_DATA
,
"af25"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_PDM_FRAME
,
"ae25"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_PDM_LB_CLK
,
"af26"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_CLKS
,
"ah26"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_DMIC_CLK1
,
"ae24"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_DMIC_DIN1
,
"af24"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_DMIC_DIN2
,
"ag24"
,
NULL
),
_OMAP4_BALLENTRY
(
ABE_DMIC_DIN3
,
"ah24"
,
NULL
),
_OMAP4_BALLENTRY
(
UART2_CTS
,
"ab26"
,
NULL
),
_OMAP4_BALLENTRY
(
UART2_RTS
,
"ab27"
,
NULL
),
_OMAP4_BALLENTRY
(
UART2_RX
,
"aa25"
,
NULL
),
_OMAP4_BALLENTRY
(
UART2_TX
,
"aa26"
,
NULL
),
_OMAP4_BALLENTRY
(
HDQ_SIO
,
"aa27"
,
NULL
),
_OMAP4_BALLENTRY
(
I2C1_SCL
,
"ae28"
,
NULL
),
_OMAP4_BALLENTRY
(
I2C1_SDA
,
"ae26"
,
NULL
),
_OMAP4_BALLENTRY
(
I2C2_SCL
,
"c26"
,
NULL
),
_OMAP4_BALLENTRY
(
I2C2_SDA
,
"d26"
,
NULL
),
_OMAP4_BALLENTRY
(
I2C3_SCL
,
"w27"
,
NULL
),
_OMAP4_BALLENTRY
(
I2C3_SDA
,
"y27"
,
NULL
),
_OMAP4_BALLENTRY
(
I2C4_SCL
,
"ag21"
,
NULL
),
_OMAP4_BALLENTRY
(
I2C4_SDA
,
"ah22"
,
NULL
),
_OMAP4_BALLENTRY
(
MCSPI1_CLK
,
"af22"
,
NULL
),
_OMAP4_BALLENTRY
(
MCSPI1_SOMI
,
"ae22"
,
NULL
),
_OMAP4_BALLENTRY
(
MCSPI1_SIMO
,
"ag22"
,
NULL
),
_OMAP4_BALLENTRY
(
MCSPI1_CS0
,
"ae23"
,
NULL
),
_OMAP4_BALLENTRY
(
MCSPI1_CS1
,
"af23"
,
NULL
),
_OMAP4_BALLENTRY
(
MCSPI1_CS2
,
"ag23"
,
NULL
),
_OMAP4_BALLENTRY
(
MCSPI1_CS3
,
"ah23"
,
NULL
),
_OMAP4_BALLENTRY
(
UART3_CTS_RCTX
,
"f27"
,
NULL
),
_OMAP4_BALLENTRY
(
UART3_RTS_SD
,
"f28"
,
NULL
),
_OMAP4_BALLENTRY
(
UART3_RX_IRRX
,
"g27"
,
NULL
),
_OMAP4_BALLENTRY
(
UART3_TX_IRTX
,
"g28"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC5_CLK
,
"ae5"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC5_CMD
,
"af5"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC5_DAT0
,
"ae4"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC5_DAT1
,
"af4"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC5_DAT2
,
"ag3"
,
NULL
),
_OMAP4_BALLENTRY
(
SDMMC5_DAT3
,
"af3"
,
NULL
),
_OMAP4_BALLENTRY
(
MCSPI4_CLK
,
"ae21"
,
NULL
),
_OMAP4_BALLENTRY
(
MCSPI4_SIMO
,
"af20"
,
NULL
),
_OMAP4_BALLENTRY
(
MCSPI4_SOMI
,
"af21"
,
NULL
),
_OMAP4_BALLENTRY
(
MCSPI4_CS0
,
"ae20"
,
NULL
),
_OMAP4_BALLENTRY
(
UART4_RX
,
"ag20"
,
NULL
),
_OMAP4_BALLENTRY
(
UART4_TX
,
"ah19"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_ULPITLL_CLK
,
"ag12"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_ULPITLL_STP
,
"af12"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_ULPITLL_DIR
,
"ae12"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_ULPITLL_NXT
,
"ag13"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_ULPITLL_DAT0
,
"ae11"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_ULPITLL_DAT1
,
"af11"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_ULPITLL_DAT2
,
"ag11"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_ULPITLL_DAT3
,
"ah11"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_ULPITLL_DAT4
,
"ae10"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_ULPITLL_DAT5
,
"af10"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_ULPITLL_DAT6
,
"ag10"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_ULPITLL_DAT7
,
"ae9"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_HSIC_DATA
,
"af13"
,
NULL
),
_OMAP4_BALLENTRY
(
USBB2_HSIC_STROBE
,
"ae13"
,
NULL
),
_OMAP4_BALLENTRY
(
KPD_COL3
,
"g26"
,
NULL
),
_OMAP4_BALLENTRY
(
KPD_COL4
,
"g25"
,
NULL
),
_OMAP4_BALLENTRY
(
KPD_COL5
,
"h26"
,
NULL
),
_OMAP4_BALLENTRY
(
KPD_COL0
,
"h25"
,
NULL
),
_OMAP4_BALLENTRY
(
KPD_COL1
,
"j27"
,
NULL
),
_OMAP4_BALLENTRY
(
KPD_COL2
,
"h27"
,
NULL
),
_OMAP4_BALLENTRY
(
KPD_ROW3
,
"j26"
,
NULL
),
_OMAP4_BALLENTRY
(
KPD_ROW4
,
"j25"
,
NULL
),
_OMAP4_BALLENTRY
(
KPD_ROW5
,
"k26"
,
NULL
),
_OMAP4_BALLENTRY
(
KPD_ROW0
,
"k25"
,
NULL
),
_OMAP4_BALLENTRY
(
KPD_ROW1
,
"l27"
,
NULL
),
_OMAP4_BALLENTRY
(
KPD_ROW2
,
"k27"
,
NULL
),
_OMAP4_BALLENTRY
(
USBA0_OTG_CE
,
"c3"
,
NULL
),
_OMAP4_BALLENTRY
(
USBA0_OTG_DP
,
"b5"
,
NULL
),
_OMAP4_BALLENTRY
(
USBA0_OTG_DM
,
"b4"
,
NULL
),
_OMAP4_BALLENTRY
(
FREF_CLK1_OUT
,
"aa28"
,
NULL
),
_OMAP4_BALLENTRY
(
FREF_CLK2_OUT
,
"y28"
,
NULL
),
_OMAP4_BALLENTRY
(
SYS_NIRQ1
,
"ae6"
,
NULL
),
_OMAP4_BALLENTRY
(
SYS_NIRQ2
,
"af6"
,
NULL
),
_OMAP4_BALLENTRY
(
SYS_BOOT0
,
"f26"
,
NULL
),
_OMAP4_BALLENTRY
(
SYS_BOOT1
,
"e27"
,
NULL
),
_OMAP4_BALLENTRY
(
SYS_BOOT2
,
"e26"
,
NULL
),
_OMAP4_BALLENTRY
(
SYS_BOOT3
,
"e25"
,
NULL
),
_OMAP4_BALLENTRY
(
SYS_BOOT4
,
"d28"
,
NULL
),
_OMAP4_BALLENTRY
(
SYS_BOOT5
,
"d27"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU0
,
"m2"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU1
,
"n2"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU2
,
"p2"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU3
,
"v1"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU4
,
"v2"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU5
,
"w1"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU6
,
"w2"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU7
,
"w3"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU8
,
"w4"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU9
,
"y2"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU10
,
"y3"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU11
,
"y4"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU12
,
"aa1"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU13
,
"aa2"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU14
,
"aa3"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU15
,
"aa4"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU16
,
"ab2"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU17
,
"ab3"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU18
,
"ab4"
,
NULL
),
_OMAP4_BALLENTRY
(
DPM_EMU19
,
"ac4"
,
NULL
),
{
.
reg_offset
=
OMAP_MUX_TERMINATOR
},
};
#else
#define omap4_core_cbs_ball NULL
#endif
/*
* Superset of all mux modes for omap4
*/
static
struct
omap_mux
__initdata
omap4_wkup_muxmodes
[]
=
{
_OMAP4_MUXENTRY
(
SIM_IO
,
0
,
"sim_io"
,
NULL
,
NULL
,
"gpio_wk0"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SIM_CLK
,
1
,
"sim_clk"
,
NULL
,
NULL
,
"gpio_wk1"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SIM_RESET
,
2
,
"sim_reset"
,
NULL
,
NULL
,
"gpio_wk2"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SIM_CD
,
3
,
"sim_cd"
,
NULL
,
NULL
,
"gpio_wk3"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SIM_PWRCTRL
,
4
,
"sim_pwrctrl"
,
NULL
,
NULL
,
"gpio_wk4"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SR_SCL
,
0
,
"sr_scl"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
SR_SDA
,
0
,
"sr_sda"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
FREF_XTAL_IN
,
0
,
"fref_xtal_in"
,
NULL
,
NULL
,
NULL
,
"c2c_wakereqin"
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
FREF_SLICER_IN
,
0
,
"fref_slicer_in"
,
NULL
,
NULL
,
"gpi_wk5"
,
"c2c_wakereqin"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
FREF_CLK_IOREQ
,
0
,
"fref_clk_ioreq"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
FREF_CLK0_OUT
,
6
,
"fref_clk0_out"
,
"fref_clk1_req"
,
"sys_drm_msecure"
,
"gpio_wk6"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
FREF_CLK3_REQ
,
30
,
"fref_clk3_req"
,
"fref_clk1_req"
,
"sys_drm_msecure"
,
"gpio_wk30"
,
"c2c_wakereqin"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
FREF_CLK3_OUT
,
31
,
"fref_clk3_out"
,
"fref_clk2_req"
,
"sys_secure_indicator"
,
"gpio_wk31"
,
"c2c_wakereqout"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
FREF_CLK4_REQ
,
7
,
"fref_clk4_req"
,
"fref_clk5_out"
,
NULL
,
"gpio_wk7"
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
FREF_CLK4_OUT
,
8
,
"fref_clk4_out"
,
NULL
,
NULL
,
"gpio_wk8"
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
SYS_32K
,
0
,
"sys_32k"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
SYS_NRESPWRON
,
0
,
"sys_nrespwron"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
SYS_NRESWARM
,
0
,
"sys_nreswarm"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
SYS_PWR_REQ
,
0
,
"sys_pwr_req"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
SYS_PWRON_RESET_OUT
,
29
,
"sys_pwron_reset_out"
,
NULL
,
NULL
,
"gpio_wk29"
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
SYS_BOOT6
,
9
,
"sys_boot6"
,
"dpm_emu18"
,
NULL
,
"gpio_wk9"
,
"c2c_wakereqout"
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
SYS_BOOT7
,
10
,
"sys_boot7"
,
"dpm_emu19"
,
NULL
,
"gpio_wk10"
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
JTAG_NTRST
,
0
,
"jtag_ntrst"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
JTAG_TCK
,
0
,
"jtag_tck"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
JTAG_RTCK
,
0
,
"jtag_rtck"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
JTAG_TMS_TMSC
,
0
,
"jtag_tms_tmsc"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
"safe_mode"
),
_OMAP4_MUXENTRY
(
JTAG_TDI
,
0
,
"jtag_tdi"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
_OMAP4_MUXENTRY
(
JTAG_TDO
,
0
,
"jtag_tdo"
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
),
{
.
reg_offset
=
OMAP_MUX_TERMINATOR
},
};
/*
* Balls for 44XX CBL & CBS package - wakeup partition
* 547-pin CBL ES1.0 S-FPGA-N547, 0.40mm Ball Pitch (Top),
* 0.40mm Ball Pitch (Bottom)
*/
#if defined(CONFIG_OMAP_MUX) && defined(CONFIG_DEBUG_FS) \
&& defined(CONFIG_OMAP_PACKAGE_CBL)
struct
omap_ball
__initdata
omap4_wkup_cbl_cbs_ball
[]
=
{
_OMAP4_BALLENTRY
(
SIM_IO
,
"h4"
,
NULL
),
_OMAP4_BALLENTRY
(
SIM_CLK
,
"j2"
,
NULL
),
_OMAP4_BALLENTRY
(
SIM_RESET
,
"g2"
,
NULL
),
_OMAP4_BALLENTRY
(
SIM_CD
,
"j1"
,
NULL
),
_OMAP4_BALLENTRY
(
SIM_PWRCTRL
,
"k1"
,
NULL
),
_OMAP4_BALLENTRY
(
SR_SCL
,
"ag9"
,
NULL
),
_OMAP4_BALLENTRY
(
SR_SDA
,
"af9"
,
NULL
),
_OMAP4_BALLENTRY
(
FREF_XTAL_IN
,
"ah6"
,
NULL
),
_OMAP4_BALLENTRY
(
FREF_SLICER_IN
,
"ag8"
,
NULL
),
_OMAP4_BALLENTRY
(
FREF_CLK_IOREQ
,
"ad1"
,
NULL
),
_OMAP4_BALLENTRY
(
FREF_CLK0_OUT
,
"ad2"
,
NULL
),
_OMAP4_BALLENTRY
(
FREF_CLK3_REQ
,
"ad3"
,
NULL
),
_OMAP4_BALLENTRY
(
FREF_CLK3_OUT
,
"ad4"
,
NULL
),
_OMAP4_BALLENTRY
(
FREF_CLK4_REQ
,
"ac2"
,
NULL
),
_OMAP4_BALLENTRY
(
FREF_CLK4_OUT
,
"ac3"
,
NULL
),
_OMAP4_BALLENTRY
(
SYS_32K
,
"ag7"
,
NULL
),
_OMAP4_BALLENTRY
(
SYS_NRESPWRON
,
"ae7"
,
NULL
),
_OMAP4_BALLENTRY
(
SYS_NRESWARM
,
"af7"
,
NULL
),
_OMAP4_BALLENTRY
(
SYS_PWR_REQ
,
"ah7"
,
NULL
),
_OMAP4_BALLENTRY
(
SYS_PWRON_RESET_OUT
,
"ag6"
,
NULL
),
_OMAP4_BALLENTRY
(
SYS_BOOT6
,
"af8"
,
NULL
),
_OMAP4_BALLENTRY
(
SYS_BOOT7
,
"ae8"
,
NULL
),
_OMAP4_BALLENTRY
(
JTAG_NTRST
,
"ah2"
,
NULL
),
_OMAP4_BALLENTRY
(
JTAG_TCK
,
"ag1"
,
NULL
),
_OMAP4_BALLENTRY
(
JTAG_RTCK
,
"ae3"
,
NULL
),
_OMAP4_BALLENTRY
(
JTAG_TMS_TMSC
,
"ah1"
,
NULL
),
_OMAP4_BALLENTRY
(
JTAG_TDI
,
"ae1"
,
NULL
),
_OMAP4_BALLENTRY
(
JTAG_TDO
,
"ae2"
,
NULL
),
{
.
reg_offset
=
OMAP_MUX_TERMINATOR
},
};
#else
#define omap4_wkup_cbl_cbs_ball NULL
#endif
int
__init
omap4_mux_init
(
struct
omap_board_mux
*
board_subset
,
int
flags
)
{
struct
omap_ball
*
package_balls_core
;
struct
omap_ball
*
package_balls_wkup
=
omap4_wkup_cbl_cbs_ball
;
struct
omap_mux
*
core_muxmodes
;
int
ret
;
switch
(
flags
&
OMAP_PACKAGE_MASK
)
{
case
OMAP_PACKAGE_CBL
:
pr_debug
(
"%s: OMAP4430 ES1.0 -> OMAP_PACKAGE_CBL
\n
"
,
__func__
);
package_balls_core
=
omap4_core_cbl_ball
;
core_muxmodes
=
omap4_core_muxmodes
;
break
;
case
OMAP_PACKAGE_CBS
:
pr_debug
(
"%s: OMAP4430 ES2.X -> OMAP_PACKAGE_CBS
\n
"
,
__func__
);
package_balls_core
=
omap4_core_cbs_ball
;
core_muxmodes
=
omap4_es2_core_muxmodes
;
break
;
default:
pr_err
(
"%s: Unknown omap package, mux disabled
\n
"
,
__func__
);
return
-
EINVAL
;
}
ret
=
omap_mux_init
(
"core"
,
OMAP_MUX_GPIO_IN_MODE3
,
OMAP4_CTRL_MODULE_PAD_CORE_MUX_PBASE
,
OMAP4_CTRL_MODULE_PAD_CORE_MUX_SIZE
,
core_muxmodes
,
NULL
,
board_subset
,
package_balls_core
);
if
(
ret
)
return
ret
;
ret
=
omap_mux_init
(
"wkup"
,
OMAP_MUX_GPIO_IN_MODE3
,
OMAP4_CTRL_MODULE_PAD_WKUP_MUX_PBASE
,
OMAP4_CTRL_MODULE_PAD_WKUP_MUX_SIZE
,
omap4_wkup_muxmodes
,
NULL
,
board_subset
,
package_balls_wkup
);
return
ret
;
}
arch/arm/mach-omap2/mux44xx.h
0 → 100644
浏览文件 @
52aa8c53
/*
* OMAP44xx MUX registers and bitfields
*
* Copyright (C) 2009-2010 Texas Instruments, Inc.
*
* Benoit Cousson (b-cousson@ti.com)
*
* This file is automatically generated from the OMAP hardware databases.
* We respectfully ask that any modifications to this file be coordinated
* with the public linux-omap@vger.kernel.org mailing list and the
* authors above to ensure that the autogeneration scripts are kept
* up-to-date with the file contents.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef __ARCH_ARM_MACH_OMAP2_MUX_44XX_H
#define __ARCH_ARM_MACH_OMAP2_MUX_44XX_H
#define OMAP4_MUX(M0, mux_value) \
{ \
.reg_offset = (OMAP4_CTRL_MODULE_PAD_##M0##_OFFSET), \
.value = (mux_value), \
}
/* ctrl_module_pad_core base address */
#define OMAP4_CTRL_MODULE_PAD_CORE_MUX_PBASE 0x4a100000
/* ctrl_module_pad_core registers offset */
#define OMAP4_CTRL_MODULE_PAD_GPMC_AD0_OFFSET 0x0040
#define OMAP4_CTRL_MODULE_PAD_GPMC_AD1_OFFSET 0x0042
#define OMAP4_CTRL_MODULE_PAD_GPMC_AD2_OFFSET 0x0044
#define OMAP4_CTRL_MODULE_PAD_GPMC_AD3_OFFSET 0x0046
#define OMAP4_CTRL_MODULE_PAD_GPMC_AD4_OFFSET 0x0048
#define OMAP4_CTRL_MODULE_PAD_GPMC_AD5_OFFSET 0x004a
#define OMAP4_CTRL_MODULE_PAD_GPMC_AD6_OFFSET 0x004c
#define OMAP4_CTRL_MODULE_PAD_GPMC_AD7_OFFSET 0x004e
#define OMAP4_CTRL_MODULE_PAD_GPMC_AD8_OFFSET 0x0050
#define OMAP4_CTRL_MODULE_PAD_GPMC_AD9_OFFSET 0x0052
#define OMAP4_CTRL_MODULE_PAD_GPMC_AD10_OFFSET 0x0054
#define OMAP4_CTRL_MODULE_PAD_GPMC_AD11_OFFSET 0x0056
#define OMAP4_CTRL_MODULE_PAD_GPMC_AD12_OFFSET 0x0058
#define OMAP4_CTRL_MODULE_PAD_GPMC_AD13_OFFSET 0x005a
#define OMAP4_CTRL_MODULE_PAD_GPMC_AD14_OFFSET 0x005c
#define OMAP4_CTRL_MODULE_PAD_GPMC_AD15_OFFSET 0x005e
#define OMAP4_CTRL_MODULE_PAD_GPMC_A16_OFFSET 0x0060
#define OMAP4_CTRL_MODULE_PAD_GPMC_A17_OFFSET 0x0062
#define OMAP4_CTRL_MODULE_PAD_GPMC_A18_OFFSET 0x0064
#define OMAP4_CTRL_MODULE_PAD_GPMC_A19_OFFSET 0x0066
#define OMAP4_CTRL_MODULE_PAD_GPMC_A20_OFFSET 0x0068
#define OMAP4_CTRL_MODULE_PAD_GPMC_A21_OFFSET 0x006a
#define OMAP4_CTRL_MODULE_PAD_GPMC_A22_OFFSET 0x006c
#define OMAP4_CTRL_MODULE_PAD_GPMC_A23_OFFSET 0x006e
#define OMAP4_CTRL_MODULE_PAD_GPMC_A24_OFFSET 0x0070
#define OMAP4_CTRL_MODULE_PAD_GPMC_A25_OFFSET 0x0072
#define OMAP4_CTRL_MODULE_PAD_GPMC_NCS0_OFFSET 0x0074
#define OMAP4_CTRL_MODULE_PAD_GPMC_NCS1_OFFSET 0x0076
#define OMAP4_CTRL_MODULE_PAD_GPMC_NCS2_OFFSET 0x0078
#define OMAP4_CTRL_MODULE_PAD_GPMC_NCS3_OFFSET 0x007a
#define OMAP4_CTRL_MODULE_PAD_GPMC_NWP_OFFSET 0x007c
#define OMAP4_CTRL_MODULE_PAD_GPMC_CLK_OFFSET 0x007e
#define OMAP4_CTRL_MODULE_PAD_GPMC_NADV_ALE_OFFSET 0x0080
#define OMAP4_CTRL_MODULE_PAD_GPMC_NOE_OFFSET 0x0082
#define OMAP4_CTRL_MODULE_PAD_GPMC_NWE_OFFSET 0x0084
#define OMAP4_CTRL_MODULE_PAD_GPMC_NBE0_CLE_OFFSET 0x0086
#define OMAP4_CTRL_MODULE_PAD_GPMC_NBE1_OFFSET 0x0088
#define OMAP4_CTRL_MODULE_PAD_GPMC_WAIT0_OFFSET 0x008a
#define OMAP4_CTRL_MODULE_PAD_GPMC_WAIT1_OFFSET 0x008c
#define OMAP4_CTRL_MODULE_PAD_C2C_DATA11_OFFSET 0x008e
#define OMAP4_CTRL_MODULE_PAD_C2C_DATA12_OFFSET 0x0090
#define OMAP4_CTRL_MODULE_PAD_C2C_DATA13_OFFSET 0x0092
#define OMAP4_CTRL_MODULE_PAD_C2C_DATA14_OFFSET 0x0094
#define OMAP4_CTRL_MODULE_PAD_C2C_DATA15_OFFSET 0x0096
#define OMAP4_CTRL_MODULE_PAD_HDMI_HPD_OFFSET 0x0098
#define OMAP4_CTRL_MODULE_PAD_HDMI_CEC_OFFSET 0x009a
#define OMAP4_CTRL_MODULE_PAD_HDMI_DDC_SCL_OFFSET 0x009c
#define OMAP4_CTRL_MODULE_PAD_HDMI_DDC_SDA_OFFSET 0x009e
#define OMAP4_CTRL_MODULE_PAD_CSI21_DX0_OFFSET 0x00a0
#define OMAP4_CTRL_MODULE_PAD_CSI21_DY0_OFFSET 0x00a2
#define OMAP4_CTRL_MODULE_PAD_CSI21_DX1_OFFSET 0x00a4
#define OMAP4_CTRL_MODULE_PAD_CSI21_DY1_OFFSET 0x00a6
#define OMAP4_CTRL_MODULE_PAD_CSI21_DX2_OFFSET 0x00a8
#define OMAP4_CTRL_MODULE_PAD_CSI21_DY2_OFFSET 0x00aa
#define OMAP4_CTRL_MODULE_PAD_CSI21_DX3_OFFSET 0x00ac
#define OMAP4_CTRL_MODULE_PAD_CSI21_DY3_OFFSET 0x00ae
#define OMAP4_CTRL_MODULE_PAD_CSI21_DX4_OFFSET 0x00b0
#define OMAP4_CTRL_MODULE_PAD_CSI21_DY4_OFFSET 0x00b2
#define OMAP4_CTRL_MODULE_PAD_CSI22_DX0_OFFSET 0x00b4
#define OMAP4_CTRL_MODULE_PAD_CSI22_DY0_OFFSET 0x00b6
#define OMAP4_CTRL_MODULE_PAD_CSI22_DX1_OFFSET 0x00b8
#define OMAP4_CTRL_MODULE_PAD_CSI22_DY1_OFFSET 0x00ba
#define OMAP4_CTRL_MODULE_PAD_CAM_SHUTTER_OFFSET 0x00bc
#define OMAP4_CTRL_MODULE_PAD_CAM_STROBE_OFFSET 0x00be
#define OMAP4_CTRL_MODULE_PAD_CAM_GLOBALRESET_OFFSET 0x00c0
#define OMAP4_CTRL_MODULE_PAD_USBB1_ULPITLL_CLK_OFFSET 0x00c2
#define OMAP4_CTRL_MODULE_PAD_USBB1_ULPITLL_STP_OFFSET 0x00c4
#define OMAP4_CTRL_MODULE_PAD_USBB1_ULPITLL_DIR_OFFSET 0x00c6
#define OMAP4_CTRL_MODULE_PAD_USBB1_ULPITLL_NXT_OFFSET 0x00c8
#define OMAP4_CTRL_MODULE_PAD_USBB1_ULPITLL_DAT0_OFFSET 0x00ca
#define OMAP4_CTRL_MODULE_PAD_USBB1_ULPITLL_DAT1_OFFSET 0x00cc
#define OMAP4_CTRL_MODULE_PAD_USBB1_ULPITLL_DAT2_OFFSET 0x00ce
#define OMAP4_CTRL_MODULE_PAD_USBB1_ULPITLL_DAT3_OFFSET 0x00d0
#define OMAP4_CTRL_MODULE_PAD_USBB1_ULPITLL_DAT4_OFFSET 0x00d2
#define OMAP4_CTRL_MODULE_PAD_USBB1_ULPITLL_DAT5_OFFSET 0x00d4
#define OMAP4_CTRL_MODULE_PAD_USBB1_ULPITLL_DAT6_OFFSET 0x00d6
#define OMAP4_CTRL_MODULE_PAD_USBB1_ULPITLL_DAT7_OFFSET 0x00d8
#define OMAP4_CTRL_MODULE_PAD_USBB1_HSIC_DATA_OFFSET 0x00da
#define OMAP4_CTRL_MODULE_PAD_USBB1_HSIC_STROBE_OFFSET 0x00dc
#define OMAP4_CTRL_MODULE_PAD_USBC1_ICUSB_DP_OFFSET 0x00de
#define OMAP4_CTRL_MODULE_PAD_USBC1_ICUSB_DM_OFFSET 0x00e0
#define OMAP4_CTRL_MODULE_PAD_SDMMC1_CLK_OFFSET 0x00e2
#define OMAP4_CTRL_MODULE_PAD_SDMMC1_CMD_OFFSET 0x00e4
#define OMAP4_CTRL_MODULE_PAD_SDMMC1_DAT0_OFFSET 0x00e6
#define OMAP4_CTRL_MODULE_PAD_SDMMC1_DAT1_OFFSET 0x00e8
#define OMAP4_CTRL_MODULE_PAD_SDMMC1_DAT2_OFFSET 0x00ea
#define OMAP4_CTRL_MODULE_PAD_SDMMC1_DAT3_OFFSET 0x00ec
#define OMAP4_CTRL_MODULE_PAD_SDMMC1_DAT4_OFFSET 0x00ee
#define OMAP4_CTRL_MODULE_PAD_SDMMC1_DAT5_OFFSET 0x00f0
#define OMAP4_CTRL_MODULE_PAD_SDMMC1_DAT6_OFFSET 0x00f2
#define OMAP4_CTRL_MODULE_PAD_SDMMC1_DAT7_OFFSET 0x00f4
#define OMAP4_CTRL_MODULE_PAD_ABE_MCBSP2_CLKX_OFFSET 0x00f6
#define OMAP4_CTRL_MODULE_PAD_ABE_MCBSP2_DR_OFFSET 0x00f8
#define OMAP4_CTRL_MODULE_PAD_ABE_MCBSP2_DX_OFFSET 0x00fa
#define OMAP4_CTRL_MODULE_PAD_ABE_MCBSP2_FSX_OFFSET 0x00fc
#define OMAP4_CTRL_MODULE_PAD_ABE_MCBSP1_CLKX_OFFSET 0x00fe
#define OMAP4_CTRL_MODULE_PAD_ABE_MCBSP1_DR_OFFSET 0x0100
#define OMAP4_CTRL_MODULE_PAD_ABE_MCBSP1_DX_OFFSET 0x0102
#define OMAP4_CTRL_MODULE_PAD_ABE_MCBSP1_FSX_OFFSET 0x0104
#define OMAP4_CTRL_MODULE_PAD_ABE_PDM_UL_DATA_OFFSET 0x0106
#define OMAP4_CTRL_MODULE_PAD_ABE_PDM_DL_DATA_OFFSET 0x0108
#define OMAP4_CTRL_MODULE_PAD_ABE_PDM_FRAME_OFFSET 0x010a
#define OMAP4_CTRL_MODULE_PAD_ABE_PDM_LB_CLK_OFFSET 0x010c
#define OMAP4_CTRL_MODULE_PAD_ABE_CLKS_OFFSET 0x010e
#define OMAP4_CTRL_MODULE_PAD_ABE_DMIC_CLK1_OFFSET 0x0110
#define OMAP4_CTRL_MODULE_PAD_ABE_DMIC_DIN1_OFFSET 0x0112
#define OMAP4_CTRL_MODULE_PAD_ABE_DMIC_DIN2_OFFSET 0x0114
#define OMAP4_CTRL_MODULE_PAD_ABE_DMIC_DIN3_OFFSET 0x0116
#define OMAP4_CTRL_MODULE_PAD_UART2_CTS_OFFSET 0x0118
#define OMAP4_CTRL_MODULE_PAD_UART2_RTS_OFFSET 0x011a
#define OMAP4_CTRL_MODULE_PAD_UART2_RX_OFFSET 0x011c
#define OMAP4_CTRL_MODULE_PAD_UART2_TX_OFFSET 0x011e
#define OMAP4_CTRL_MODULE_PAD_HDQ_SIO_OFFSET 0x0120
#define OMAP4_CTRL_MODULE_PAD_I2C1_SCL_OFFSET 0x0122
#define OMAP4_CTRL_MODULE_PAD_I2C1_SDA_OFFSET 0x0124
#define OMAP4_CTRL_MODULE_PAD_I2C2_SCL_OFFSET 0x0126
#define OMAP4_CTRL_MODULE_PAD_I2C2_SDA_OFFSET 0x0128
#define OMAP4_CTRL_MODULE_PAD_I2C3_SCL_OFFSET 0x012a
#define OMAP4_CTRL_MODULE_PAD_I2C3_SDA_OFFSET 0x012c
#define OMAP4_CTRL_MODULE_PAD_I2C4_SCL_OFFSET 0x012e
#define OMAP4_CTRL_MODULE_PAD_I2C4_SDA_OFFSET 0x0130
#define OMAP4_CTRL_MODULE_PAD_MCSPI1_CLK_OFFSET 0x0132
#define OMAP4_CTRL_MODULE_PAD_MCSPI1_SOMI_OFFSET 0x0134
#define OMAP4_CTRL_MODULE_PAD_MCSPI1_SIMO_OFFSET 0x0136
#define OMAP4_CTRL_MODULE_PAD_MCSPI1_CS0_OFFSET 0x0138
#define OMAP4_CTRL_MODULE_PAD_MCSPI1_CS1_OFFSET 0x013a
#define OMAP4_CTRL_MODULE_PAD_MCSPI1_CS2_OFFSET 0x013c
#define OMAP4_CTRL_MODULE_PAD_MCSPI1_CS3_OFFSET 0x013e
#define OMAP4_CTRL_MODULE_PAD_UART3_CTS_RCTX_OFFSET 0x0140
#define OMAP4_CTRL_MODULE_PAD_UART3_RTS_SD_OFFSET 0x0142
#define OMAP4_CTRL_MODULE_PAD_UART3_RX_IRRX_OFFSET 0x0144
#define OMAP4_CTRL_MODULE_PAD_UART3_TX_IRTX_OFFSET 0x0146
#define OMAP4_CTRL_MODULE_PAD_SDMMC5_CLK_OFFSET 0x0148
#define OMAP4_CTRL_MODULE_PAD_SDMMC5_CMD_OFFSET 0x014a
#define OMAP4_CTRL_MODULE_PAD_SDMMC5_DAT0_OFFSET 0x014c
#define OMAP4_CTRL_MODULE_PAD_SDMMC5_DAT1_OFFSET 0x014e
#define OMAP4_CTRL_MODULE_PAD_SDMMC5_DAT2_OFFSET 0x0150
#define OMAP4_CTRL_MODULE_PAD_SDMMC5_DAT3_OFFSET 0x0152
#define OMAP4_CTRL_MODULE_PAD_MCSPI4_CLK_OFFSET 0x0154
#define OMAP4_CTRL_MODULE_PAD_MCSPI4_SIMO_OFFSET 0x0156
#define OMAP4_CTRL_MODULE_PAD_MCSPI4_SOMI_OFFSET 0x0158
#define OMAP4_CTRL_MODULE_PAD_MCSPI4_CS0_OFFSET 0x015a
#define OMAP4_CTRL_MODULE_PAD_UART4_RX_OFFSET 0x015c
#define OMAP4_CTRL_MODULE_PAD_UART4_TX_OFFSET 0x015e
#define OMAP4_CTRL_MODULE_PAD_USBB2_ULPITLL_CLK_OFFSET 0x0160
#define OMAP4_CTRL_MODULE_PAD_USBB2_ULPITLL_STP_OFFSET 0x0162
#define OMAP4_CTRL_MODULE_PAD_USBB2_ULPITLL_DIR_OFFSET 0x0164
#define OMAP4_CTRL_MODULE_PAD_USBB2_ULPITLL_NXT_OFFSET 0x0166
#define OMAP4_CTRL_MODULE_PAD_USBB2_ULPITLL_DAT0_OFFSET 0x0168
#define OMAP4_CTRL_MODULE_PAD_USBB2_ULPITLL_DAT1_OFFSET 0x016a
#define OMAP4_CTRL_MODULE_PAD_USBB2_ULPITLL_DAT2_OFFSET 0x016c
#define OMAP4_CTRL_MODULE_PAD_USBB2_ULPITLL_DAT3_OFFSET 0x016e
#define OMAP4_CTRL_MODULE_PAD_USBB2_ULPITLL_DAT4_OFFSET 0x0170
#define OMAP4_CTRL_MODULE_PAD_USBB2_ULPITLL_DAT5_OFFSET 0x0172
#define OMAP4_CTRL_MODULE_PAD_USBB2_ULPITLL_DAT6_OFFSET 0x0174
#define OMAP4_CTRL_MODULE_PAD_USBB2_ULPITLL_DAT7_OFFSET 0x0176
#define OMAP4_CTRL_MODULE_PAD_USBB2_HSIC_DATA_OFFSET 0x0178
#define OMAP4_CTRL_MODULE_PAD_USBB2_HSIC_STROBE_OFFSET 0x017a
#define OMAP4_CTRL_MODULE_PAD_UNIPRO_TX0_OFFSET 0x017c
#define OMAP4_CTRL_MODULE_PAD_UNIPRO_TY0_OFFSET 0x017e
#define OMAP4_CTRL_MODULE_PAD_UNIPRO_TX1_OFFSET 0x0180
#define OMAP4_CTRL_MODULE_PAD_UNIPRO_TY1_OFFSET 0x0182
#define OMAP4_CTRL_MODULE_PAD_UNIPRO_TX2_OFFSET 0x0184
#define OMAP4_CTRL_MODULE_PAD_UNIPRO_TY2_OFFSET 0x0186
#define OMAP4_CTRL_MODULE_PAD_UNIPRO_RX0_OFFSET 0x0188
#define OMAP4_CTRL_MODULE_PAD_UNIPRO_RY0_OFFSET 0x018a
#define OMAP4_CTRL_MODULE_PAD_UNIPRO_RX1_OFFSET 0x018c
#define OMAP4_CTRL_MODULE_PAD_UNIPRO_RY1_OFFSET 0x018e
#define OMAP4_CTRL_MODULE_PAD_UNIPRO_RX2_OFFSET 0x0190
#define OMAP4_CTRL_MODULE_PAD_UNIPRO_RY2_OFFSET 0x0192
#define OMAP4_CTRL_MODULE_PAD_USBA0_OTG_CE_OFFSET 0x0194
#define OMAP4_CTRL_MODULE_PAD_USBA0_OTG_DP_OFFSET 0x0196
#define OMAP4_CTRL_MODULE_PAD_USBA0_OTG_DM_OFFSET 0x0198
#define OMAP4_CTRL_MODULE_PAD_FREF_CLK1_OUT_OFFSET 0x019a
#define OMAP4_CTRL_MODULE_PAD_FREF_CLK2_OUT_OFFSET 0x019c
#define OMAP4_CTRL_MODULE_PAD_SYS_NIRQ1_OFFSET 0x019e
#define OMAP4_CTRL_MODULE_PAD_SYS_NIRQ2_OFFSET 0x01a0
#define OMAP4_CTRL_MODULE_PAD_SYS_BOOT0_OFFSET 0x01a2
#define OMAP4_CTRL_MODULE_PAD_SYS_BOOT1_OFFSET 0x01a4
#define OMAP4_CTRL_MODULE_PAD_SYS_BOOT2_OFFSET 0x01a6
#define OMAP4_CTRL_MODULE_PAD_SYS_BOOT3_OFFSET 0x01a8
#define OMAP4_CTRL_MODULE_PAD_SYS_BOOT4_OFFSET 0x01aa
#define OMAP4_CTRL_MODULE_PAD_SYS_BOOT5_OFFSET 0x01ac
#define OMAP4_CTRL_MODULE_PAD_DPM_EMU0_OFFSET 0x01ae
#define OMAP4_CTRL_MODULE_PAD_DPM_EMU1_OFFSET 0x01b0
#define OMAP4_CTRL_MODULE_PAD_DPM_EMU2_OFFSET 0x01b2
#define OMAP4_CTRL_MODULE_PAD_DPM_EMU3_OFFSET 0x01b4
#define OMAP4_CTRL_MODULE_PAD_DPM_EMU4_OFFSET 0x01b6
#define OMAP4_CTRL_MODULE_PAD_DPM_EMU5_OFFSET 0x01b8
#define OMAP4_CTRL_MODULE_PAD_DPM_EMU6_OFFSET 0x01ba
#define OMAP4_CTRL_MODULE_PAD_DPM_EMU7_OFFSET 0x01bc
#define OMAP4_CTRL_MODULE_PAD_DPM_EMU8_OFFSET 0x01be
#define OMAP4_CTRL_MODULE_PAD_DPM_EMU9_OFFSET 0x01c0
#define OMAP4_CTRL_MODULE_PAD_DPM_EMU10_OFFSET 0x01c2
#define OMAP4_CTRL_MODULE_PAD_DPM_EMU11_OFFSET 0x01c4
#define OMAP4_CTRL_MODULE_PAD_DPM_EMU12_OFFSET 0x01c6
#define OMAP4_CTRL_MODULE_PAD_DPM_EMU13_OFFSET 0x01c8
#define OMAP4_CTRL_MODULE_PAD_DPM_EMU14_OFFSET 0x01ca
#define OMAP4_CTRL_MODULE_PAD_DPM_EMU15_OFFSET 0x01cc
#define OMAP4_CTRL_MODULE_PAD_DPM_EMU16_OFFSET 0x01ce
#define OMAP4_CTRL_MODULE_PAD_DPM_EMU17_OFFSET 0x01d0
#define OMAP4_CTRL_MODULE_PAD_DPM_EMU18_OFFSET 0x01d2
#define OMAP4_CTRL_MODULE_PAD_DPM_EMU19_OFFSET 0x01d4
/* ES2.0 only */
#define OMAP4_CTRL_MODULE_PAD_GPMC_WAIT2_OFFSET 0x008e
#define OMAP4_CTRL_MODULE_PAD_GPMC_NCS4_OFFSET 0x0090
#define OMAP4_CTRL_MODULE_PAD_GPMC_NCS5_OFFSET 0x0092
#define OMAP4_CTRL_MODULE_PAD_GPMC_NCS6_OFFSET 0x0094
#define OMAP4_CTRL_MODULE_PAD_GPMC_NCS7_OFFSET 0x0096
#define OMAP4_CTRL_MODULE_PAD_KPD_COL3_OFFSET 0x017c
#define OMAP4_CTRL_MODULE_PAD_KPD_COL4_OFFSET 0x017e
#define OMAP4_CTRL_MODULE_PAD_KPD_COL5_OFFSET 0x0180
#define OMAP4_CTRL_MODULE_PAD_KPD_COL0_OFFSET 0x0182
#define OMAP4_CTRL_MODULE_PAD_KPD_COL1_OFFSET 0x0184
#define OMAP4_CTRL_MODULE_PAD_KPD_COL2_OFFSET 0x0186
#define OMAP4_CTRL_MODULE_PAD_KPD_ROW3_OFFSET 0x0188
#define OMAP4_CTRL_MODULE_PAD_KPD_ROW4_OFFSET 0x018a
#define OMAP4_CTRL_MODULE_PAD_KPD_ROW5_OFFSET 0x018c
#define OMAP4_CTRL_MODULE_PAD_KPD_ROW0_OFFSET 0x018e
#define OMAP4_CTRL_MODULE_PAD_KPD_ROW1_OFFSET 0x0190
#define OMAP4_CTRL_MODULE_PAD_KPD_ROW2_OFFSET 0x0192
#define OMAP4_CTRL_MODULE_PAD_CORE_MUX_SIZE \
(OMAP4_CTRL_MODULE_PAD_DPM_EMU19_OFFSET \
- OMAP4_CTRL_MODULE_PAD_GPMC_AD0_OFFSET + 2)
/* ctrl_module_pad_wkup base address */
#define OMAP4_CTRL_MODULE_PAD_WKUP_MUX_PBASE 0x4a31e000
/* ctrl_module_pad_wkup registers offset */
#define OMAP4_CTRL_MODULE_PAD_SIM_IO_OFFSET 0x0040
#define OMAP4_CTRL_MODULE_PAD_SIM_CLK_OFFSET 0x0042
#define OMAP4_CTRL_MODULE_PAD_SIM_RESET_OFFSET 0x0044
#define OMAP4_CTRL_MODULE_PAD_SIM_CD_OFFSET 0x0046
#define OMAP4_CTRL_MODULE_PAD_SIM_PWRCTRL_OFFSET 0x0048
#define OMAP4_CTRL_MODULE_PAD_SR_SCL_OFFSET 0x004a
#define OMAP4_CTRL_MODULE_PAD_SR_SDA_OFFSET 0x004c
#define OMAP4_CTRL_MODULE_PAD_FREF_XTAL_IN_OFFSET 0x004e
#define OMAP4_CTRL_MODULE_PAD_FREF_SLICER_IN_OFFSET 0x0050
#define OMAP4_CTRL_MODULE_PAD_FREF_CLK_IOREQ_OFFSET 0x0052
#define OMAP4_CTRL_MODULE_PAD_FREF_CLK0_OUT_OFFSET 0x0054
#define OMAP4_CTRL_MODULE_PAD_FREF_CLK3_REQ_OFFSET 0x0056
#define OMAP4_CTRL_MODULE_PAD_FREF_CLK3_OUT_OFFSET 0x0058
#define OMAP4_CTRL_MODULE_PAD_FREF_CLK4_REQ_OFFSET 0x005a
#define OMAP4_CTRL_MODULE_PAD_FREF_CLK4_OUT_OFFSET 0x005c
#define OMAP4_CTRL_MODULE_PAD_SYS_32K_OFFSET 0x005e
#define OMAP4_CTRL_MODULE_PAD_SYS_NRESPWRON_OFFSET 0x0060
#define OMAP4_CTRL_MODULE_PAD_SYS_NRESWARM_OFFSET 0x0062
#define OMAP4_CTRL_MODULE_PAD_SYS_PWR_REQ_OFFSET 0x0064
#define OMAP4_CTRL_MODULE_PAD_SYS_PWRON_RESET_OUT_OFFSET 0x0066
#define OMAP4_CTRL_MODULE_PAD_SYS_BOOT6_OFFSET 0x0068
#define OMAP4_CTRL_MODULE_PAD_SYS_BOOT7_OFFSET 0x006a
#define OMAP4_CTRL_MODULE_PAD_JTAG_NTRST_OFFSET 0x006c
#define OMAP4_CTRL_MODULE_PAD_JTAG_TCK_OFFSET 0x006e
#define OMAP4_CTRL_MODULE_PAD_JTAG_RTCK_OFFSET 0x0070
#define OMAP4_CTRL_MODULE_PAD_JTAG_TMS_TMSC_OFFSET 0x0072
#define OMAP4_CTRL_MODULE_PAD_JTAG_TDI_OFFSET 0x0074
#define OMAP4_CTRL_MODULE_PAD_JTAG_TDO_OFFSET 0x0076
#define OMAP4_CTRL_MODULE_PAD_WKUP_MUX_SIZE \
(OMAP4_CTRL_MODULE_PAD_JTAG_TDO_OFFSET \
- OMAP4_CTRL_MODULE_PAD_SIM_IO_OFFSET + 2)
#endif
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录