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
ad851bff
Commit
ad851bff
authored
Nov 04, 2010
by
Uwe Kleine-König
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ARM: imx: dynamically register imx-fb devices
Signed-off-by:
Uwe Kleine-König
<
u.kleine-koenig@pengutronix.de
>
parent
fc40d019
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
90 additions
and
50 deletions
+90
-50
arch/arm/mach-imx/Kconfig
arch/arm/mach-imx/Kconfig
+7
-2
arch/arm/mach-imx/devices-imx21.h
arch/arm/mach-imx/devices-imx21.h
+4
-0
arch/arm/mach-imx/devices-imx27.h
arch/arm/mach-imx/devices-imx27.h
+4
-0
arch/arm/mach-imx/devices.c
arch/arm/mach-imx/devices.c
+0
-29
arch/arm/mach-imx/devices.h
arch/arm/mach-imx/devices.h
+0
-1
arch/arm/mach-imx/eukrea_mbimx27-baseboard.c
arch/arm/mach-imx/eukrea_mbimx27-baseboard.c
+2
-3
arch/arm/mach-imx/mach-mx21ads.c
arch/arm/mach-imx/mach-mx21ads.c
+2
-3
arch/arm/mach-imx/mach-mx27ads.c
arch/arm/mach-imx/mach-mx27ads.c
+2
-3
arch/arm/mach-imx/mach-mxt_td60.c
arch/arm/mach-imx/mach-mxt_td60.c
+2
-3
arch/arm/mach-imx/mach-pca100.c
arch/arm/mach-imx/mach-pca100.c
+2
-3
arch/arm/mach-imx/pcm970-baseboard.c
arch/arm/mach-imx/pcm970-baseboard.c
+3
-3
arch/arm/plat-mxc/devices/Kconfig
arch/arm/plat-mxc/devices/Kconfig
+3
-0
arch/arm/plat-mxc/devices/Makefile
arch/arm/plat-mxc/devices/Makefile
+1
-0
arch/arm/plat-mxc/devices/platform-imx-fb.c
arch/arm/plat-mxc/devices/platform-imx-fb.c
+46
-0
arch/arm/plat-mxc/include/mach/devices-common.h
arch/arm/plat-mxc/include/mach/devices-common.h
+9
-0
arch/arm/plat-mxc/include/mach/imxfb.h
arch/arm/plat-mxc/include/mach/imxfb.h
+3
-0
No files found.
arch/arm/mach-imx/Kconfig
View file @
ad851bff
...
@@ -71,6 +71,7 @@ comment "MX21 platforms:"
...
@@ -71,6 +71,7 @@ comment "MX21 platforms:"
config MACH_MX21ADS
config MACH_MX21ADS
bool "MX21ADS platform"
bool "MX21ADS platform"
select IMX_HAVE_PLATFORM_IMX_FB
select IMX_HAVE_PLATFORM_IMX_UART
select IMX_HAVE_PLATFORM_IMX_UART
select IMX_HAVE_PLATFORM_MXC_NAND
select IMX_HAVE_PLATFORM_MXC_NAND
help
help
...
@@ -85,6 +86,7 @@ comment "MX27 platforms:"
...
@@ -85,6 +86,7 @@ comment "MX27 platforms:"
config MACH_MX27ADS
config MACH_MX27ADS
bool "MX27ADS platform"
bool "MX27ADS platform"
select IMX_HAVE_PLATFORM_IMX_FB
select IMX_HAVE_PLATFORM_IMX_I2C
select IMX_HAVE_PLATFORM_IMX_I2C
select IMX_HAVE_PLATFORM_IMX_UART
select IMX_HAVE_PLATFORM_IMX_UART
select IMX_HAVE_PLATFORM_MXC_NAND
select IMX_HAVE_PLATFORM_MXC_NAND
...
@@ -112,8 +114,8 @@ choice
...
@@ -112,8 +114,8 @@ choice
default MACH_PCM970_BASEBOARD
default MACH_PCM970_BASEBOARD
config MACH_PCM970_BASEBOARD
config MACH_PCM970_BASEBOARD
prompt
"PHYTEC PCM970 development board"
bool
"PHYTEC PCM970 development board"
bool
select IMX_HAVE_PLATFORM_IMX_FB
help
help
This adds board specific devices that can be found on Phytec's
This adds board specific devices that can be found on Phytec's
PCM970 evaluation board.
PCM970 evaluation board.
...
@@ -153,6 +155,7 @@ choice
...
@@ -153,6 +155,7 @@ choice
config MACH_EUKREA_MBIMX27_BASEBOARD
config MACH_EUKREA_MBIMX27_BASEBOARD
bool "Eukrea MBIMX27 development board"
bool "Eukrea MBIMX27 development board"
select IMX_HAVE_PLATFORM_IMX_FB
select IMX_HAVE_PLATFORM_IMX_SSI
select IMX_HAVE_PLATFORM_IMX_SSI
select IMX_HAVE_PLATFORM_IMX_UART
select IMX_HAVE_PLATFORM_IMX_UART
select IMX_HAVE_PLATFORM_SPI_IMX
select IMX_HAVE_PLATFORM_SPI_IMX
...
@@ -188,6 +191,7 @@ config MACH_IMX27LITE
...
@@ -188,6 +191,7 @@ config MACH_IMX27LITE
config MACH_PCA100
config MACH_PCA100
bool "Phytec phyCARD-s (pca100)"
bool "Phytec phyCARD-s (pca100)"
select IMX_HAVE_PLATFORM_IMX2_WDT
select IMX_HAVE_PLATFORM_IMX2_WDT
select IMX_HAVE_PLATFORM_IMX_FB
select IMX_HAVE_PLATFORM_IMX_I2C
select IMX_HAVE_PLATFORM_IMX_I2C
select IMX_HAVE_PLATFORM_IMX_SSI
select IMX_HAVE_PLATFORM_IMX_SSI
select IMX_HAVE_PLATFORM_IMX_UART
select IMX_HAVE_PLATFORM_IMX_UART
...
@@ -201,6 +205,7 @@ config MACH_PCA100
...
@@ -201,6 +205,7 @@ config MACH_PCA100
config MACH_MXT_TD60
config MACH_MXT_TD60
bool "Maxtrack i-MXT TD60"
bool "Maxtrack i-MXT TD60"
select IMX_HAVE_PLATFORM_IMX_FB
select IMX_HAVE_PLATFORM_IMX_I2C
select IMX_HAVE_PLATFORM_IMX_I2C
select IMX_HAVE_PLATFORM_IMX_UART
select IMX_HAVE_PLATFORM_IMX_UART
select IMX_HAVE_PLATFORM_MXC_NAND
select IMX_HAVE_PLATFORM_MXC_NAND
...
...
arch/arm/mach-imx/devices-imx21.h
View file @
ad851bff
...
@@ -13,6 +13,10 @@ extern const struct imx_imx2_wdt_data imx21_imx2_wdt_data __initconst;
...
@@ -13,6 +13,10 @@ extern const struct imx_imx2_wdt_data imx21_imx2_wdt_data __initconst;
#define imx21_add_imx2_wdt(pdata) \
#define imx21_add_imx2_wdt(pdata) \
imx_add_imx2_wdt(&imx21_imx2_wdt_data)
imx_add_imx2_wdt(&imx21_imx2_wdt_data)
extern
const
struct
imx_imx_fb_data
imx21_imx_fb_data
__initconst
;
#define imx21_add_imx_fb(pdata) \
imx_add_imx_fb(&imx21_imx_fb_data, pdata)
extern
const
struct
imx_imx_i2c_data
imx21_imx_i2c_data
__initconst
;
extern
const
struct
imx_imx_i2c_data
imx21_imx_i2c_data
__initconst
;
#define imx21_add_imx_i2c(pdata) \
#define imx21_add_imx_i2c(pdata) \
imx_add_imx_i2c(&imx21_imx_i2c_data, pdata)
imx_add_imx_i2c(&imx21_imx_i2c_data, pdata)
...
...
arch/arm/mach-imx/devices-imx27.h
View file @
ad851bff
...
@@ -17,6 +17,10 @@ extern const struct imx_imx2_wdt_data imx27_imx2_wdt_data __initconst;
...
@@ -17,6 +17,10 @@ extern const struct imx_imx2_wdt_data imx27_imx2_wdt_data __initconst;
#define imx27_add_imx2_wdt(pdata) \
#define imx27_add_imx2_wdt(pdata) \
imx_add_imx2_wdt(&imx27_imx2_wdt_data)
imx_add_imx2_wdt(&imx27_imx2_wdt_data)
extern
const
struct
imx_imx_fb_data
imx27_imx_fb_data
__initconst
;
#define imx27_add_imx_fb(pdata) \
imx_add_imx_fb(&imx27_imx_fb_data, pdata)
extern
const
struct
imx_imx_i2c_data
imx27_imx_i2c_data
[]
__initconst
;
extern
const
struct
imx_imx_i2c_data
imx27_imx_i2c_data
[]
__initconst
;
#define imx27_add_imx_i2c(id, pdata) \
#define imx27_add_imx_i2c(id, pdata) \
imx_add_imx_i2c(&imx27_imx_i2c_data[id], pdata)
imx_add_imx_i2c(&imx27_imx_i2c_data[id], pdata)
...
...
arch/arm/mach-imx/devices.c
View file @
ad851bff
...
@@ -77,35 +77,6 @@ int __init imx1_register_gpios(void)
...
@@ -77,35 +77,6 @@ int __init imx1_register_gpios(void)
#endif
#endif
#if defined(CONFIG_MACH_MX21) || defined(CONFIG_MACH_MX27)
#if defined(CONFIG_MACH_MX21) || defined(CONFIG_MACH_MX27)
/*
* lcdc:
* - i.MX1: the basic controller
* - i.MX21: to be checked
* - i.MX27: like i.MX1, with slightly variations
*/
static
struct
resource
mxc_fb
[]
=
{
{
.
start
=
MX2x_LCDC_BASE_ADDR
,
.
end
=
MX2x_LCDC_BASE_ADDR
+
SZ_4K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
{
.
start
=
MX2x_INT_LCDC
,
.
end
=
MX2x_INT_LCDC
,
.
flags
=
IORESOURCE_IRQ
,
}
};
/* mxc lcd driver */
struct
platform_device
mxc_fb_device
=
{
.
name
=
"imx-fb"
,
.
id
=
0
,
.
num_resources
=
ARRAY_SIZE
(
mxc_fb
),
.
resource
=
mxc_fb
,
.
dev
=
{
.
coherent_dma_mask
=
DMA_BIT_MASK
(
32
),
},
};
static
struct
resource
mxc_pwm_resources
[]
=
{
static
struct
resource
mxc_pwm_resources
[]
=
{
{
{
.
start
=
MX2x_PWM_BASE_ADDR
,
.
start
=
MX2x_PWM_BASE_ADDR
,
...
...
arch/arm/mach-imx/devices.h
View file @
ad851bff
#if defined(CONFIG_MACH_MX21) || defined(CONFIG_MACH_MX27)
#if defined(CONFIG_MACH_MX21) || defined(CONFIG_MACH_MX27)
extern
struct
platform_device
mxc_fb_device
;
extern
struct
platform_device
mxc_pwm_device
;
extern
struct
platform_device
mxc_pwm_device
;
extern
struct
platform_device
mxc_sdhc_device0
;
extern
struct
platform_device
mxc_sdhc_device0
;
extern
struct
platform_device
mxc_sdhc_device1
;
extern
struct
platform_device
mxc_sdhc_device1
;
...
...
arch/arm/mach-imx/eukrea_mbimx27-baseboard.c
View file @
ad851bff
...
@@ -32,7 +32,6 @@
...
@@ -32,7 +32,6 @@
#include <mach/common.h>
#include <mach/common.h>
#include <mach/iomux-mx27.h>
#include <mach/iomux-mx27.h>
#include <mach/imxfb.h>
#include <mach/hardware.h>
#include <mach/hardware.h>
#include <mach/mmc.h>
#include <mach/mmc.h>
#include <mach/spi.h>
#include <mach/spi.h>
...
@@ -196,7 +195,7 @@ static struct imx_fb_videomode eukrea_mbimx27_modes[] = {
...
@@ -196,7 +195,7 @@ static struct imx_fb_videomode eukrea_mbimx27_modes[] = {
},
},
};
};
static
struct
imx_fb_platform_data
eukrea_mbimx27_fb_data
=
{
static
const
struct
imx_fb_platform_data
eukrea_mbimx27_fb_data
__initconst
=
{
.
mode
=
eukrea_mbimx27_modes
,
.
mode
=
eukrea_mbimx27_modes
,
.
num_modes
=
ARRAY_SIZE
(
eukrea_mbimx27_modes
),
.
num_modes
=
ARRAY_SIZE
(
eukrea_mbimx27_modes
),
...
@@ -351,7 +350,7 @@ void __init eukrea_mbimx27_baseboard_init(void)
...
@@ -351,7 +350,7 @@ void __init eukrea_mbimx27_baseboard_init(void)
imx27_add_imx_uart3
(
&
uart_pdata
);
imx27_add_imx_uart3
(
&
uart_pdata
);
#endif
#endif
mxc_register_device
(
&
mxc_fb_device
,
&
eukrea_mbimx27_fb_data
);
imx27_add_imx_fb
(
&
eukrea_mbimx27_fb_data
);
mxc_register_device
(
&
mxc_sdhc_device0
,
&
sdhc_pdata
);
mxc_register_device
(
&
mxc_sdhc_device0
,
&
sdhc_pdata
);
i2c_register_board_info
(
0
,
eukrea_mbimx27_i2c_devices
,
i2c_register_board_info
(
0
,
eukrea_mbimx27_i2c_devices
,
...
...
arch/arm/mach-imx/mach-mx21ads.c
View file @
ad851bff
...
@@ -24,7 +24,6 @@
...
@@ -24,7 +24,6 @@
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/time.h>
#include <asm/mach/time.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <mach/imxfb.h>
#include <mach/iomux-mx21.h>
#include <mach/iomux-mx21.h>
#include <mach/mxc_nand.h>
#include <mach/mxc_nand.h>
#include <mach/mmc.h>
#include <mach/mmc.h>
...
@@ -213,7 +212,7 @@ static struct imx_fb_videomode mx21ads_modes[] = {
...
@@ -213,7 +212,7 @@ static struct imx_fb_videomode mx21ads_modes[] = {
},
},
};
};
static
struct
imx_fb_platform_data
mx21ads_fb_data
=
{
static
const
struct
imx_fb_platform_data
mx21ads_fb_data
__initconst
=
{
.
mode
=
mx21ads_modes
,
.
mode
=
mx21ads_modes
,
.
num_modes
=
ARRAY_SIZE
(
mx21ads_modes
),
.
num_modes
=
ARRAY_SIZE
(
mx21ads_modes
),
...
@@ -296,7 +295,7 @@ static void __init mx21ads_board_init(void)
...
@@ -296,7 +295,7 @@ static void __init mx21ads_board_init(void)
imx21_add_imx_uart0
(
&
uart_pdata_rts
);
imx21_add_imx_uart0
(
&
uart_pdata_rts
);
imx21_add_imx_uart2
(
&
uart_pdata_norts
);
imx21_add_imx_uart2
(
&
uart_pdata_norts
);
imx21_add_imx_uart3
(
&
uart_pdata_rts
);
imx21_add_imx_uart3
(
&
uart_pdata_rts
);
mxc_register_device
(
&
mxc_fb_device
,
&
mx21ads_fb_data
);
imx21_add_imx_fb
(
&
mx21ads_fb_data
);
mxc_register_device
(
&
mxc_sdhc_device0
,
&
mx21ads_sdhc_pdata
);
mxc_register_device
(
&
mxc_sdhc_device0
,
&
mx21ads_sdhc_pdata
);
imx21_add_mxc_nand
(
&
mx21ads_nand_board_info
);
imx21_add_mxc_nand
(
&
mx21ads_nand_board_info
);
...
...
arch/arm/mach-imx/mach-mx27ads.c
View file @
ad851bff
...
@@ -30,7 +30,6 @@
...
@@ -30,7 +30,6 @@
#include <mach/gpio.h>
#include <mach/gpio.h>
#include <mach/iomux-mx27.h>
#include <mach/iomux-mx27.h>
#include <mach/mxc_nand.h>
#include <mach/mxc_nand.h>
#include <mach/imxfb.h>
#include <mach/mmc.h>
#include <mach/mmc.h>
#include "devices-imx27.h"
#include "devices-imx27.h"
...
@@ -228,7 +227,7 @@ static struct imx_fb_videomode mx27ads_modes[] = {
...
@@ -228,7 +227,7 @@ static struct imx_fb_videomode mx27ads_modes[] = {
},
},
};
};
static
struct
imx_fb_platform_data
mx27ads_fb_data
=
{
static
const
struct
imx_fb_platform_data
mx27ads_fb_data
__initconst
=
{
.
mode
=
mx27ads_modes
,
.
mode
=
mx27ads_modes
,
.
num_modes
=
ARRAY_SIZE
(
mx27ads_modes
),
.
num_modes
=
ARRAY_SIZE
(
mx27ads_modes
),
...
@@ -307,7 +306,7 @@ static void __init mx27ads_board_init(void)
...
@@ -307,7 +306,7 @@ static void __init mx27ads_board_init(void)
i2c_register_board_info
(
1
,
mx27ads_i2c_devices
,
i2c_register_board_info
(
1
,
mx27ads_i2c_devices
,
ARRAY_SIZE
(
mx27ads_i2c_devices
));
ARRAY_SIZE
(
mx27ads_i2c_devices
));
imx27_add_imx_i2c
(
1
,
&
mx27ads_i2c1_data
);
imx27_add_imx_i2c
(
1
,
&
mx27ads_i2c1_data
);
mxc_register_device
(
&
mxc_fb_device
,
&
mx27ads_fb_data
);
imx27_add_imx_fb
(
&
mx27ads_fb_data
);
mxc_register_device
(
&
mxc_sdhc_device0
,
&
sdhc1_pdata
);
mxc_register_device
(
&
mxc_sdhc_device0
,
&
sdhc1_pdata
);
mxc_register_device
(
&
mxc_sdhc_device1
,
&
sdhc2_pdata
);
mxc_register_device
(
&
mxc_sdhc_device1
,
&
sdhc2_pdata
);
...
...
arch/arm/mach-imx/mach-mxt_td60.c
View file @
ad851bff
...
@@ -31,7 +31,6 @@
...
@@ -31,7 +31,6 @@
#include <mach/iomux-mx27.h>
#include <mach/iomux-mx27.h>
#include <mach/mxc_nand.h>
#include <mach/mxc_nand.h>
#include <linux/i2c/pca953x.h>
#include <linux/i2c/pca953x.h>
#include <mach/imxfb.h>
#include <mach/mmc.h>
#include <mach/mmc.h>
#include "devices-imx27.h"
#include "devices-imx27.h"
...
@@ -196,7 +195,7 @@ static struct imx_fb_videomode mxt_td60_modes[] = {
...
@@ -196,7 +195,7 @@ static struct imx_fb_videomode mxt_td60_modes[] = {
},
},
};
};
static
struct
imx_fb_platform_data
mxt_td60_fb_data
=
{
static
const
struct
imx_fb_platform_data
mxt_td60_fb_data
__initconst
=
{
.
mode
=
mxt_td60_modes
,
.
mode
=
mxt_td60_modes
,
.
num_modes
=
ARRAY_SIZE
(
mxt_td60_modes
),
.
num_modes
=
ARRAY_SIZE
(
mxt_td60_modes
),
...
@@ -253,7 +252,7 @@ static void __init mxt_td60_board_init(void)
...
@@ -253,7 +252,7 @@ static void __init mxt_td60_board_init(void)
imx27_add_imx_i2c
(
0
,
&
mxt_td60_i2c0_data
);
imx27_add_imx_i2c
(
0
,
&
mxt_td60_i2c0_data
);
imx27_add_imx_i2c
(
1
,
&
mxt_td60_i2c1_data
);
imx27_add_imx_i2c
(
1
,
&
mxt_td60_i2c1_data
);
mxc_register_device
(
&
mxc_fb_device
,
&
mxt_td60_fb_data
);
imx27_add_imx_fb
(
&
mxt_td60_fb_data
);
mxc_register_device
(
&
mxc_sdhc_device0
,
&
sdhc1_pdata
);
mxc_register_device
(
&
mxc_sdhc_device0
,
&
sdhc1_pdata
);
imx27_add_fec
(
NULL
);
imx27_add_fec
(
NULL
);
}
}
...
...
arch/arm/mach-imx/mach-pca100.c
View file @
ad851bff
...
@@ -43,7 +43,6 @@
...
@@ -43,7 +43,6 @@
#include <mach/mmc.h>
#include <mach/mmc.h>
#include <mach/mxc_ehci.h>
#include <mach/mxc_ehci.h>
#include <mach/ulpi.h>
#include <mach/ulpi.h>
#include <mach/imxfb.h>
#include "devices-imx27.h"
#include "devices-imx27.h"
#include "devices.h"
#include "devices.h"
...
@@ -350,7 +349,7 @@ static struct imx_fb_videomode pca100_fb_modes[] = {
...
@@ -350,7 +349,7 @@ static struct imx_fb_videomode pca100_fb_modes[] = {
},
},
};
};
static
struct
imx_fb_platform_data
pca100_fb_data
=
{
static
const
struct
imx_fb_platform_data
pca100_fb_data
__initconst
=
{
.
mode
=
pca100_fb_modes
,
.
mode
=
pca100_fb_modes
,
.
num_modes
=
ARRAY_SIZE
(
pca100_fb_modes
),
.
num_modes
=
ARRAY_SIZE
(
pca100_fb_modes
),
...
@@ -425,7 +424,7 @@ static void __init pca100_init(void)
...
@@ -425,7 +424,7 @@ static void __init pca100_init(void)
mxc_register_device
(
&
mxc_otg_udc_device
,
&
otg_device_pdata
);
mxc_register_device
(
&
mxc_otg_udc_device
,
&
otg_device_pdata
);
}
}
mxc_register_device
(
&
mxc_fb_device
,
&
pca100_fb_data
);
imx27_add_imx_fb
(
&
pca100_fb_data
);
imx27_add_fec
(
NULL
);
imx27_add_fec
(
NULL
);
imx27_add_imx2_wdt
(
NULL
);
imx27_add_imx2_wdt
(
NULL
);
...
...
arch/arm/mach-imx/pcm970-baseboard.c
View file @
ad851bff
...
@@ -25,10 +25,10 @@
...
@@ -25,10 +25,10 @@
#include <mach/common.h>
#include <mach/common.h>
#include <mach/iomux-mx27.h>
#include <mach/iomux-mx27.h>
#include <mach/imxfb.h>
#include <mach/hardware.h>
#include <mach/hardware.h>
#include <mach/mmc.h>
#include <mach/mmc.h>
#include "devices-imx27.h"
#include "devices.h"
#include "devices.h"
static
const
int
pcm970_pins
[]
__initconst
=
{
static
const
int
pcm970_pins
[]
__initconst
=
{
...
@@ -179,7 +179,7 @@ static struct imx_fb_videomode pcm970_modes[] = {
...
@@ -179,7 +179,7 @@ static struct imx_fb_videomode pcm970_modes[] = {
},
},
};
};
static
struct
imx_fb_platform_data
pcm038_fb_data
=
{
static
const
struct
imx_fb_platform_data
pcm038_fb_data
__initconst
=
{
.
mode
=
pcm970_modes
,
.
mode
=
pcm970_modes
,
.
num_modes
=
ARRAY_SIZE
(
pcm970_modes
),
.
num_modes
=
ARRAY_SIZE
(
pcm970_modes
),
...
@@ -226,7 +226,7 @@ void __init pcm970_baseboard_init(void)
...
@@ -226,7 +226,7 @@ void __init pcm970_baseboard_init(void)
mxc_gpio_setup_multiple_pins
(
pcm970_pins
,
ARRAY_SIZE
(
pcm970_pins
),
mxc_gpio_setup_multiple_pins
(
pcm970_pins
,
ARRAY_SIZE
(
pcm970_pins
),
"PCM970"
);
"PCM970"
);
mxc_register_device
(
&
mxc_fb_device
,
&
pcm038_fb_data
);
imx27_add_imx_fb
(
&
pcm038_fb_data
);
mxc_gpio_mode
(
GPIO_PORTC
|
28
|
GPIO_GPIO
|
GPIO_IN
);
mxc_gpio_mode
(
GPIO_PORTC
|
28
|
GPIO_GPIO
|
GPIO_IN
);
mxc_register_device
(
&
mxc_sdhc_device1
,
&
sdhc_pdata
);
mxc_register_device
(
&
mxc_sdhc_device1
,
&
sdhc_pdata
);
platform_device_register
(
&
pcm970_sja1000
);
platform_device_register
(
&
pcm970_sja1000
);
...
...
arch/arm/plat-mxc/devices/Kconfig
View file @
ad851bff
...
@@ -16,6 +16,9 @@ config IMX_HAVE_PLATFORM_GPIO_KEYS
...
@@ -16,6 +16,9 @@ config IMX_HAVE_PLATFORM_GPIO_KEYS
config IMX_HAVE_PLATFORM_IMX2_WDT
config IMX_HAVE_PLATFORM_IMX2_WDT
bool
bool
config IMX_HAVE_PLATFORM_IMX_FB
bool
config IMX_HAVE_PLATFORM_IMX_I2C
config IMX_HAVE_PLATFORM_IMX_I2C
bool
bool
...
...
arch/arm/plat-mxc/devices/Makefile
View file @
ad851bff
...
@@ -4,6 +4,7 @@ obj-$(CONFIG_IMX_HAVE_PLATFORM_FLEXCAN) += platform-flexcan.o
...
@@ -4,6 +4,7 @@ obj-$(CONFIG_IMX_HAVE_PLATFORM_FLEXCAN) += platform-flexcan.o
obj-$(CONFIG_IMX_HAVE_PLATFORM_GPIO_KEYS)
+=
platform-gpio_keys.o
obj-$(CONFIG_IMX_HAVE_PLATFORM_GPIO_KEYS)
+=
platform-gpio_keys.o
obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX2_WDT)
+=
platform-imx2-wdt.o
obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX2_WDT)
+=
platform-imx2-wdt.o
obj-y
+=
platform-imx-dma.o
obj-y
+=
platform-imx-dma.o
obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_FB)
+=
platform-imx-fb.o
obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_I2C)
+=
platform-imx-i2c.o
obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_I2C)
+=
platform-imx-i2c.o
obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_SSI)
+=
platform-imx-ssi.o
obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_SSI)
+=
platform-imx-ssi.o
obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_UART)
+=
platform-imx-uart.o
obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_UART)
+=
platform-imx-uart.o
...
...
arch/arm/plat-mxc/devices/platform-imx-fb.c
0 → 100644
View file @
ad851bff
/*
* Copyright (C) 2010 Pengutronix
* Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de>
*
* 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 <mach/hardware.h>
#include <mach/devices-common.h>
#define imx_imx_fb_data_entry_single(soc) \
{ \
.iobase = soc ## _LCDC_BASE_ADDR, \
.irq = soc ## _INT_LCDC, \
}
#ifdef CONFIG_SOC_IMX21
const
struct
imx_imx_fb_data
imx21_imx_fb_data
__initconst
=
imx_imx_fb_data_entry_single
(
MX21
);
#endif
/* ifdef CONFIG_SOC_IMX21 */
#ifdef CONFIG_SOC_IMX27
const
struct
imx_imx_fb_data
imx27_imx_fb_data
__initconst
=
imx_imx_fb_data_entry_single
(
MX27
);
#endif
/* ifdef CONFIG_SOC_IMX27 */
struct
platform_device
*
__init
imx_add_imx_fb
(
const
struct
imx_imx_fb_data
*
data
,
const
struct
imx_fb_platform_data
*
pdata
)
{
struct
resource
res
[]
=
{
{
.
start
=
data
->
iobase
,
.
end
=
data
->
iobase
+
SZ_4K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
{
.
start
=
data
->
irq
,
.
end
=
data
->
irq
,
.
flags
=
IORESOURCE_IRQ
,
},
};
return
imx_add_platform_device_dmamask
(
"imx-fb"
,
0
,
res
,
ARRAY_SIZE
(
res
),
pdata
,
sizeof
(
*
pdata
),
DMA_BIT_MASK
(
32
));
}
arch/arm/plat-mxc/include/mach/devices-common.h
View file @
ad851bff
...
@@ -54,6 +54,15 @@ struct imx_imx2_wdt_data {
...
@@ -54,6 +54,15 @@ struct imx_imx2_wdt_data {
struct
platform_device
*
__init
imx_add_imx2_wdt
(
struct
platform_device
*
__init
imx_add_imx2_wdt
(
const
struct
imx_imx2_wdt_data
*
data
);
const
struct
imx_imx2_wdt_data
*
data
);
#include <mach/imxfb.h>
struct
imx_imx_fb_data
{
resource_size_t
iobase
;
resource_size_t
irq
;
};
struct
platform_device
*
__init
imx_add_imx_fb
(
const
struct
imx_imx_fb_data
*
data
,
const
struct
imx_fb_platform_data
*
pdata
);
#include <mach/i2c.h>
#include <mach/i2c.h>
struct
imx_imx_i2c_data
{
struct
imx_imx_i2c_data
{
int
id
;
int
id
;
...
...
arch/arm/plat-mxc/include/mach/imxfb.h
View file @
ad851bff
/*
/*
* This structure describes the machine which we are running on.
* This structure describes the machine which we are running on.
*/
*/
#ifndef __MACH_IMXFB_H__
#define __MACH_IMXFB_H__
#include <linux/fb.h>
#include <linux/fb.h>
...
@@ -79,3 +81,4 @@ struct imx_fb_platform_data {
...
@@ -79,3 +81,4 @@ struct imx_fb_platform_data {
};
};
void
set_imx_fb_info
(
struct
imx_fb_platform_data
*
);
void
set_imx_fb_info
(
struct
imx_fb_platform_data
*
);
#endif
/* ifndef __MACH_IMXFB_H__ */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment