Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
970a724d
Commit
970a724d
authored
May 28, 2009
by
Tony Lindgren
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'omap3-upstream' into for-next
Conflicts: arch/arm/mach-omap2/serial.c
parents
c81592ba
4a899d5e
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
352 additions
and
30 deletions
+352
-30
arch/arm/mach-omap2/board-3430sdp.c
arch/arm/mach-omap2/board-3430sdp.c
+2
-1
arch/arm/mach-omap2/board-ldp.c
arch/arm/mach-omap2/board-ldp.c
+216
-3
arch/arm/mach-omap2/board-omap3beagle.c
arch/arm/mach-omap2/board-omap3beagle.c
+3
-1
arch/arm/mach-omap2/board-omap3pandora.c
arch/arm/mach-omap2/board-omap3pandora.c
+2
-1
arch/arm/mach-omap2/board-overo.c
arch/arm/mach-omap2/board-overo.c
+2
-1
arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h
arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h
+55
-0
arch/arm/mach-omap2/sdram-qimonda-hyb18m512160af-6.h
arch/arm/mach-omap2/sdram-qimonda-hyb18m512160af-6.h
+54
-0
arch/arm/mach-omap2/serial.c
arch/arm/mach-omap2/serial.c
+14
-19
arch/arm/plat-omap/include/mach/keypad.h
arch/arm/plat-omap/include/mach/keypad.h
+4
-0
arch/arm/plat-omap/include/mach/omap34xx.h
arch/arm/plat-omap/include/mach/omap34xx.h
+0
-4
No files found.
arch/arm/mach-omap2/board-3430sdp.c
View file @
970a724d
...
...
@@ -41,6 +41,7 @@
#include <mach/keypad.h>
#include <mach/gpmc-smc91x.h>
#include "sdram-qimonda-hyb18m512160af-6.h"
#include "mmc-twl4030.h"
#define CONFIG_DISABLE_HFCLK 1
...
...
@@ -168,7 +169,7 @@ static struct platform_device *sdp3430_devices[] __initdata = {
static
void
__init
omap_3430sdp_init_irq
(
void
)
{
omap2_init_common_hw
(
NULL
);
omap2_init_common_hw
(
hyb18m512160af6_sdrc_params
);
omap_init_irq
();
omap_gpio_init
();
}
...
...
arch/arm/mach-omap2/board-ldp.c
View file @
970a724d
...
...
@@ -16,11 +16,13 @@
#include <linux/platform_device.h>
#include <linux/delay.h>
#include <linux/input.h>
#include <linux/gpio_keys.h>
#include <linux/workqueue.h>
#include <linux/err.h>
#include <linux/clk.h>
#include <linux/spi/spi.h>
#include <linux/spi/ads7846.h>
#include <linux/regulator/machine.h>
#include <linux/i2c/twl4030.h>
#include <linux/io.h>
#include <linux/smsc911x.h>
...
...
@@ -39,6 +41,7 @@
#include <asm/delay.h>
#include <mach/control.h>
#include <mach/usb.h>
#include <mach/keypad.h>
#include "mmc-twl4030.h"
...
...
@@ -77,8 +80,163 @@ static struct platform_device ldp_smsc911x_device = {
},
};
static
struct
platform_device
*
ldp_devices
[]
__initdata
=
{
&
ldp_smsc911x_device
,
static
int
ldp_twl4030_keymap
[]
=
{
KEY
(
0
,
0
,
KEY_1
),
KEY
(
1
,
0
,
KEY_2
),
KEY
(
2
,
0
,
KEY_3
),
KEY
(
0
,
1
,
KEY_4
),
KEY
(
1
,
1
,
KEY_5
),
KEY
(
2
,
1
,
KEY_6
),
KEY
(
3
,
1
,
KEY_F5
),
KEY
(
0
,
2
,
KEY_7
),
KEY
(
1
,
2
,
KEY_8
),
KEY
(
2
,
2
,
KEY_9
),
KEY
(
3
,
2
,
KEY_F6
),
KEY
(
0
,
3
,
KEY_F7
),
KEY
(
1
,
3
,
KEY_0
),
KEY
(
2
,
3
,
KEY_F8
),
PERSISTENT_KEY
(
4
,
5
),
KEY
(
4
,
4
,
KEY_VOLUMEUP
),
KEY
(
5
,
5
,
KEY_VOLUMEDOWN
),
0
};
static
struct
twl4030_keypad_data
ldp_kp_twl4030_data
=
{
.
rows
=
6
,
.
cols
=
6
,
.
keymap
=
ldp_twl4030_keymap
,
.
keymapsize
=
ARRAY_SIZE
(
ldp_twl4030_keymap
),
.
rep
=
1
,
};
static
struct
gpio_keys_button
ldp_gpio_keys_buttons
[]
=
{
[
0
]
=
{
.
code
=
KEY_ENTER
,
.
gpio
=
101
,
.
desc
=
"enter sw"
,
.
active_low
=
1
,
.
debounce_interval
=
30
,
},
[
1
]
=
{
.
code
=
KEY_F1
,
.
gpio
=
102
,
.
desc
=
"func 1"
,
.
active_low
=
1
,
.
debounce_interval
=
30
,
},
[
2
]
=
{
.
code
=
KEY_F2
,
.
gpio
=
103
,
.
desc
=
"func 2"
,
.
active_low
=
1
,
.
debounce_interval
=
30
,
},
[
3
]
=
{
.
code
=
KEY_F3
,
.
gpio
=
104
,
.
desc
=
"func 3"
,
.
active_low
=
1
,
.
debounce_interval
=
30
,
},
[
4
]
=
{
.
code
=
KEY_F4
,
.
gpio
=
105
,
.
desc
=
"func 4"
,
.
active_low
=
1
,
.
debounce_interval
=
30
,
},
[
5
]
=
{
.
code
=
KEY_LEFT
,
.
gpio
=
106
,
.
desc
=
"left sw"
,
.
active_low
=
1
,
.
debounce_interval
=
30
,
},
[
6
]
=
{
.
code
=
KEY_RIGHT
,
.
gpio
=
107
,
.
desc
=
"right sw"
,
.
active_low
=
1
,
.
debounce_interval
=
30
,
},
[
7
]
=
{
.
code
=
KEY_UP
,
.
gpio
=
108
,
.
desc
=
"up sw"
,
.
active_low
=
1
,
.
debounce_interval
=
30
,
},
[
8
]
=
{
.
code
=
KEY_DOWN
,
.
gpio
=
109
,
.
desc
=
"down sw"
,
.
active_low
=
1
,
.
debounce_interval
=
30
,
},
};
static
struct
gpio_keys_platform_data
ldp_gpio_keys
=
{
.
buttons
=
ldp_gpio_keys_buttons
,
.
nbuttons
=
ARRAY_SIZE
(
ldp_gpio_keys_buttons
),
.
rep
=
1
,
};
static
struct
platform_device
ldp_gpio_keys_device
=
{
.
name
=
"gpio-keys"
,
.
id
=
-
1
,
.
dev
=
{
.
platform_data
=
&
ldp_gpio_keys
,
},
};
static
int
ts_gpio
;
/**
* @brief ads7846_dev_init : Requests & sets GPIO line for pen-irq
*
* @return - void. If request gpio fails then Flag KERN_ERR.
*/
static
void
ads7846_dev_init
(
void
)
{
if
(
gpio_request
(
ts_gpio
,
"ads7846 irq"
)
<
0
)
{
printk
(
KERN_ERR
"can't get ads746 pen down GPIO
\n
"
);
return
;
}
gpio_direction_input
(
ts_gpio
);
omap_set_gpio_debounce
(
ts_gpio
,
1
);
omap_set_gpio_debounce_time
(
ts_gpio
,
0xa
);
}
static
int
ads7846_get_pendown_state
(
void
)
{
return
!
gpio_get_value
(
ts_gpio
);
}
static
struct
ads7846_platform_data
tsc2046_config
__initdata
=
{
.
get_pendown_state
=
ads7846_get_pendown_state
,
.
keep_vref_on
=
1
,
};
static
struct
omap2_mcspi_device_config
tsc2046_mcspi_config
=
{
.
turbo_mode
=
0
,
.
single_channel
=
1
,
/* 0: slave, 1: master */
};
static
struct
spi_board_info
ldp_spi_board_info
[]
__initdata
=
{
[
0
]
=
{
/*
* TSC2046 operates at a max freqency of 2MHz, so
* operate slightly below at 1.5MHz
*/
.
modalias
=
"ads7846"
,
.
bus_num
=
1
,
.
chip_select
=
0
,
.
max_speed_hz
=
1500000
,
.
controller_data
=
&
tsc2046_mcspi_config
,
.
irq
=
0
,
.
platform_data
=
&
tsc2046_config
,
},
};
static
inline
void
__init
ldp_init_smsc911x
(
void
)
...
...
@@ -122,8 +280,22 @@ static struct omap_uart_config ldp_uart_config __initdata = {
.
enabled_uarts
=
((
1
<<
0
)
|
(
1
<<
1
)
|
(
1
<<
2
)),
};
static
struct
platform_device
ldp_lcd_device
=
{
.
name
=
"ldp_lcd"
,
.
id
=
-
1
,
};
static
struct
omap_lcd_config
ldp_lcd_config
__initdata
=
{
.
ctrl_name
=
"internal"
,
};
static
struct
omap_board_config_kernel
ldp_config
[]
__initdata
=
{
{
OMAP_TAG_UART
,
&
ldp_uart_config
},
{
OMAP_TAG_LCD
,
&
ldp_lcd_config
},
};
static
struct
twl4030_usb_data
ldp_usb_data
=
{
.
usb_mode
=
T2_USB_MODE_ULPI
,
};
static
struct
twl4030_gpio_platform_data
ldp_gpio_data
=
{
...
...
@@ -132,12 +304,39 @@ static struct twl4030_gpio_platform_data ldp_gpio_data = {
.
irq_end
=
TWL4030_GPIO_IRQ_END
,
};
static
struct
twl4030_madc_platform_data
ldp_madc_data
=
{
.
irq_line
=
1
,
};
static
struct
regulator_consumer_supply
ldp_vmmc1_supply
=
{
.
supply
=
"vmmc"
,
};
/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
static
struct
regulator_init_data
ldp_vmmc1
=
{
.
constraints
=
{
.
min_uV
=
1850000
,
.
max_uV
=
3150000
,
.
valid_modes_mask
=
REGULATOR_MODE_NORMAL
|
REGULATOR_MODE_STANDBY
,
.
valid_ops_mask
=
REGULATOR_CHANGE_VOLTAGE
|
REGULATOR_CHANGE_MODE
|
REGULATOR_CHANGE_STATUS
,
},
.
num_consumer_supplies
=
1
,
.
consumer_supplies
=
&
ldp_vmmc1_supply
,
};
static
struct
twl4030_platform_data
ldp_twldata
=
{
.
irq_base
=
TWL4030_IRQ_BASE
,
.
irq_end
=
TWL4030_IRQ_END
,
/* platform_data for children goes here */
.
madc
=
&
ldp_madc_data
,
.
usb
=
&
ldp_usb_data
,
.
vmmc1
=
&
ldp_vmmc1
,
.
gpio
=
&
ldp_gpio_data
,
.
keypad
=
&
ldp_kp_twl4030_data
,
};
static
struct
i2c_board_info
__initdata
ldp_i2c_boardinfo
[]
=
{
...
...
@@ -168,15 +367,29 @@ static struct twl4030_hsmmc_info mmc[] __initdata = {
{}
/* Terminator */
};
static
struct
platform_device
*
ldp_devices
[]
__initdata
=
{
&
ldp_smsc911x_device
,
&
ldp_lcd_device
,
&
ldp_gpio_keys_device
,
};
static
void
__init
omap_ldp_init
(
void
)
{
omap_i2c_init
();
platform_add_devices
(
ldp_devices
,
ARRAY_SIZE
(
ldp_devices
));
omap_board_config
=
ldp_config
;
omap_board_config_size
=
ARRAY_SIZE
(
ldp_config
);
ts_gpio
=
54
;
ldp_spi_board_info
[
0
].
irq
=
gpio_to_irq
(
ts_gpio
);
spi_register_board_info
(
ldp_spi_board_info
,
ARRAY_SIZE
(
ldp_spi_board_info
));
ads7846_dev_init
();
omap_serial_init
();
twl4030_mmc_init
(
mmc
);
usb_musb_init
();
twl4030_mmc_init
(
mmc
);
/* link regulators to MMC adapters */
ldp_vmmc1_supply
.
dev
=
mmc
[
0
].
dev
;
}
static
void
__init
omap_ldp_map_io
(
void
)
...
...
arch/arm/mach-omap2/board-omap3beagle.c
View file @
970a724d
...
...
@@ -105,6 +105,8 @@ static struct platform_device omap3beagle_nand_device = {
.
resource
=
&
omap3beagle_nand_resource
,
};
#include "sdram-micron-mt46h32m32lf-6.h"
static
struct
omap_uart_config
omap3_beagle_uart_config
__initdata
=
{
.
enabled_uarts
=
((
1
<<
0
)
|
(
1
<<
1
)
|
(
1
<<
2
)),
};
...
...
@@ -185,7 +187,7 @@ static int __init omap3_beagle_i2c_init(void)
static
void
__init
omap3_beagle_init_irq
(
void
)
{
omap2_init_common_hw
(
NULL
);
omap2_init_common_hw
(
mt46h32m32lf6_sdrc_params
);
omap_init_irq
();
#ifdef CONFIG_OMAP_32K_TIMER
omap2_gp_clockevent_set_gptimer
(
12
);
...
...
arch/arm/mach-omap2/board-omap3pandora.c
View file @
970a724d
...
...
@@ -36,6 +36,7 @@
#include <mach/mcspi.h>
#include <mach/usb.h>
#include "sdram-micron-mt46h32m32lf-6.h"
#include "mmc-twl4030.h"
#define OMAP3_PANDORA_TS_GPIO 94
...
...
@@ -118,7 +119,7 @@ static int __init omap3pandora_i2c_init(void)
static
void
__init
omap3pandora_init_irq
(
void
)
{
omap2_init_common_hw
(
NULL
);
omap2_init_common_hw
(
mt46h32m32lf6_sdrc_params
);
omap_init_irq
();
omap_gpio_init
();
}
...
...
arch/arm/mach-omap2/board-overo.c
View file @
970a724d
...
...
@@ -45,6 +45,7 @@
#include <mach/nand.h>
#include <mach/usb.h>
#include "sdram-micron-mt46h32m32lf-6.h"
#include "mmc-twl4030.h"
#define OVERO_GPIO_BT_XGATE 15
...
...
@@ -303,7 +304,7 @@ static int __init overo_i2c_init(void)
static
void
__init
overo_init_irq
(
void
)
{
omap2_init_common_hw
(
NULL
);
omap2_init_common_hw
(
mt46h32m32lf6_sdrc_params
);
omap_init_irq
();
omap_gpio_init
();
}
...
...
arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h
0 → 100644
View file @
970a724d
/*
* SDRC register values for the Micron MT46H32M32LF-6
*
* Copyright (C) 2008 Texas Instruments, Inc.
* Copyright (C) 2008-2009 Nokia Corporation
*
* Paul Walmsley
*
* 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_SDRAM_MICRON_MT46H32M32LF
#define ARCH_ARM_MACH_OMAP2_SDRAM_MICRON_MT46H32M32LF
#include <mach/sdrc.h>
/* Micron MT46H32M32LF-6 */
/* XXX Using ARE = 0x1 (no autorefresh burst) -- can this be changed? */
static
struct
omap_sdrc_params
mt46h32m32lf6_sdrc_params
[]
=
{
[
0
]
=
{
.
rate
=
166000000
,
.
actim_ctrla
=
0x9a9db4c6
,
.
actim_ctrlb
=
0x00011217
,
.
rfr_ctrl
=
0x0004dc01
,
.
mr
=
0x00000032
,
},
[
1
]
=
{
.
rate
=
165941176
,
.
actim_ctrla
=
0x9a9db4c6
,
.
actim_ctrlb
=
0x00011217
,
.
rfr_ctrl
=
0x0004dc01
,
.
mr
=
0x00000032
,
},
[
2
]
=
{
.
rate
=
83000000
,
.
actim_ctrla
=
0x51512283
,
.
actim_ctrlb
=
0x0001120c
,
.
rfr_ctrl
=
0x00025501
,
.
mr
=
0x00000032
,
},
[
3
]
=
{
.
rate
=
82970588
,
.
actim_ctrla
=
0x51512283
,
.
actim_ctrlb
=
0x0001120c
,
.
rfr_ctrl
=
0x00025501
,
.
mr
=
0x00000032
,
},
[
4
]
=
{
.
rate
=
0
},
};
#endif
arch/arm/mach-omap2/sdram-qimonda-hyb18m512160af-6.h
0 → 100644
View file @
970a724d
/*
* SDRC register values for the Qimonda HYB18M512160AF-6
*
* Copyright (C) 2008-2009 Texas Instruments, Inc.
* Copyright (C) 2008-2009 Nokia Corporation
*
* Paul Walmsley
*
* 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_SDRAM_QIMONDA_HYB18M512160AF6
#define ARCH_ARM_MACH_OMAP2_SDRAM_QIMONDA_HYB18M512160AF6
#include <mach/sdrc.h>
/* Qimonda HYB18M512160AF-6 */
static
struct
omap_sdrc_params
hyb18m512160af6_sdrc_params
[]
=
{
[
0
]
=
{
.
rate
=
166000000
,
.
actim_ctrla
=
0x629db4c6
,
.
actim_ctrlb
=
0x00012214
,
.
rfr_ctrl
=
0x0004dc01
,
.
mr
=
0x00000032
,
},
[
1
]
=
{
.
rate
=
165941176
,
.
actim_ctrla
=
0x629db4c6
,
.
actim_ctrlb
=
0x00012214
,
.
rfr_ctrl
=
0x0004dc01
,
.
mr
=
0x00000032
,
},
[
2
]
=
{
.
rate
=
83000000
,
.
actim_ctrla
=
0x31512283
,
.
actim_ctrlb
=
0x0001220a
,
.
rfr_ctrl
=
0x00025501
,
.
mr
=
0x00000022
,
},
[
3
]
=
{
.
rate
=
82970588
,
.
actim_ctrla
=
0x31512283
,
.
actim_ctrlb
=
0x0001220a
,
.
rfr_ctrl
=
0x00025501
,
.
mr
=
0x00000022
,
},
[
4
]
=
{
.
rate
=
0
},
};
#endif
arch/arm/mach-omap2/serial.c
View file @
970a724d
...
...
@@ -469,9 +469,17 @@ static struct kobj_attribute sleep_timeout_attr =
static
inline
void
omap_uart_idle_init
(
struct
omap_uart_state
*
uart
)
{}
#endif
/* CONFIG_PM */
static
struct
platform_device
serial_device
=
{
.
name
=
"serial8250"
,
.
id
=
PLAT8250_DEV_PLATFORM
,
.
dev
=
{
.
platform_data
=
serial_platform_data
,
},
};
void
__init
omap_serial_init
(
void
)
{
int
i
;
int
i
,
err
;
const
struct
omap_uart_config
*
info
;
char
name
[
16
];
...
...
@@ -522,27 +530,14 @@ void __init omap_serial_init(void)
omap_uart_reset
(
uart
);
omap_uart_idle_init
(
uart
);
}
}
static
struct
platform_device
serial_device
=
{
.
name
=
"serial8250"
,
.
id
=
PLAT8250_DEV_PLATFORM
,
.
dev
=
{
.
platform_data
=
serial_platform_data
,
},
};
static
int
__init
omap_init
(
void
)
{
int
ret
;
ret
=
platform_device_register
(
&
serial_device
);
err
=
platform_device_register
(
&
serial_device
);
#ifdef CONFIG_PM
if
(
!
ret
)
ret
=
sysfs_create_file
(
&
serial_device
.
dev
.
kobj
,
if
(
!
err
)
err
=
sysfs_create_file
(
&
serial_device
.
dev
.
kobj
,
&
sleep_timeout_attr
.
attr
);
#endif
return
ret
;
}
arch_initcall
(
omap_init
);
arch/arm/plat-omap/include/mach/keypad.h
View file @
970a724d
...
...
@@ -33,7 +33,11 @@ struct omap_kp_platform_data {
#define GROUP_3 (3 << 16)
#define GROUP_MASK GROUP_3
#define KEY_PERSISTENT 0x00800000
#define KEYNUM_MASK 0x00EFFFFF
#define KEY(col, row, val) (((col) << 28) | ((row) << 24) | (val))
#define PERSISTENT_KEY(col, row) (((col) << 28) | ((row) << 24) | \
KEY_PERSISTENT)
#endif
arch/arm/plat-omap/include/mach/omap34xx.h
View file @
970a724d
...
...
@@ -31,13 +31,9 @@
#define L4_34XX_BASE 0x48000000
#define L4_WK_34XX_BASE 0x48300000
#define L4_WK_OMAP_BASE L4_WK_34XX_BASE
#define L4_PER_34XX_BASE 0x49000000
#define L4_PER_OMAP_BASE L4_PER_34XX_BASE
#define L4_EMU_34XX_BASE 0x54000000
#define L4_EMU_BASE L4_EMU_34XX_BASE
#define L3_34XX_BASE 0x68000000
#define L3_OMAP_BASE L3_34XX_BASE
#define OMAP3430_32KSYNCT_BASE 0x48320000
#define OMAP3430_CM_BASE 0x48004800
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment