aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorMark F. Brown <mark.brown314@gmail.com>2010-08-25 23:51:54 -0400
committerEric Miao <eric.y.miao@gmail.com>2010-10-08 04:21:17 -0400
commit58cf68b88ce3fc48e345e756c07770e1d6e4cbe9 (patch)
treea385bb20b90d5d1a863f25212a96d10a60739dd5 /arch
parent6ac6b817f3f4c23c5febd960d8deb343e13af5f3 (diff)
ARM: pxa168: added framebuffer support code
Signed-off-by: Mark F. Brown <mark.brown314@gmail.com> Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-mmp/include/mach/pxa168.h8
-rw-r--r--arch/arm/mach-mmp/pxa168.c3
2 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/mach-mmp/include/mach/pxa168.h b/arch/arm/mach-mmp/include/mach/pxa168.h
index 27e1bc758623..220738f9c5e0 100644
--- a/arch/arm/mach-mmp/include/mach/pxa168.h
+++ b/arch/arm/mach-mmp/include/mach/pxa168.h
@@ -10,6 +10,7 @@ extern void __init pxa168_init_irq(void);
10#include <mach/devices.h> 10#include <mach/devices.h>
11#include <plat/i2c.h> 11#include <plat/i2c.h>
12#include <plat/pxa3xx_nand.h> 12#include <plat/pxa3xx_nand.h>
13#include <video/pxa168fb.h>
13 14
14extern struct pxa_device_desc pxa168_device_uart1; 15extern struct pxa_device_desc pxa168_device_uart1;
15extern struct pxa_device_desc pxa168_device_uart2; 16extern struct pxa_device_desc pxa168_device_uart2;
@@ -25,6 +26,7 @@ extern struct pxa_device_desc pxa168_device_ssp3;
25extern struct pxa_device_desc pxa168_device_ssp4; 26extern struct pxa_device_desc pxa168_device_ssp4;
26extern struct pxa_device_desc pxa168_device_ssp5; 27extern struct pxa_device_desc pxa168_device_ssp5;
27extern struct pxa_device_desc pxa168_device_nand; 28extern struct pxa_device_desc pxa168_device_nand;
29extern struct pxa_device_desc pxa168_device_fb;
28 30
29static inline int pxa168_add_uart(int id) 31static inline int pxa168_add_uart(int id)
30{ 32{
@@ -97,4 +99,10 @@ static inline int pxa168_add_nand(struct pxa3xx_nand_platform_data *info)
97{ 99{
98 return pxa_register_device(&pxa168_device_nand, info, sizeof(*info)); 100 return pxa_register_device(&pxa168_device_nand, info, sizeof(*info));
99} 101}
102
103static inline int pxa168_add_fb(struct pxa168fb_mach_info *mi)
104{
105 return pxa_register_device(&pxa168_device_fb, mi, sizeof(*mi));
106}
107
100#endif /* __ASM_MACH_PXA168_H */ 108#endif /* __ASM_MACH_PXA168_H */
diff --git a/arch/arm/mach-mmp/pxa168.c b/arch/arm/mach-mmp/pxa168.c
index 652ae660634c..eaebf6621415 100644
--- a/arch/arm/mach-mmp/pxa168.c
+++ b/arch/arm/mach-mmp/pxa168.c
@@ -79,6 +79,7 @@ static APBC_CLK(ssp4, PXA168_SSP4, 4, 0);
79static APBC_CLK(ssp5, PXA168_SSP5, 4, 0); 79static APBC_CLK(ssp5, PXA168_SSP5, 4, 0);
80 80
81static APMU_CLK(nand, NAND, 0x01db, 208000000); 81static APMU_CLK(nand, NAND, 0x01db, 208000000);
82static APMU_CLK(lcd, LCD, 0x7f, 312000000);
82 83
83/* device and clock bindings */ 84/* device and clock bindings */
84static struct clk_lookup pxa168_clkregs[] = { 85static struct clk_lookup pxa168_clkregs[] = {
@@ -96,6 +97,7 @@ static struct clk_lookup pxa168_clkregs[] = {
96 INIT_CLKREG(&clk_ssp4, "pxa168-ssp.3", NULL), 97 INIT_CLKREG(&clk_ssp4, "pxa168-ssp.3", NULL),
97 INIT_CLKREG(&clk_ssp5, "pxa168-ssp.4", NULL), 98 INIT_CLKREG(&clk_ssp5, "pxa168-ssp.4", NULL),
98 INIT_CLKREG(&clk_nand, "pxa3xx-nand", NULL), 99 INIT_CLKREG(&clk_nand, "pxa3xx-nand", NULL),
100 INIT_CLKREG(&clk_lcd, "pxa168-fb", NULL),
99}; 101};
100 102
101static int __init pxa168_init(void) 103static int __init pxa168_init(void)
@@ -147,3 +149,4 @@ PXA168_DEVICE(ssp2, "pxa168-ssp", 1, SSP2, 0xd401c000, 0x40, 54, 55);
147PXA168_DEVICE(ssp3, "pxa168-ssp", 2, SSP3, 0xd401f000, 0x40, 56, 57); 149PXA168_DEVICE(ssp3, "pxa168-ssp", 2, SSP3, 0xd401f000, 0x40, 56, 57);
148PXA168_DEVICE(ssp4, "pxa168-ssp", 3, SSP4, 0xd4020000, 0x40, 58, 59); 150PXA168_DEVICE(ssp4, "pxa168-ssp", 3, SSP4, 0xd4020000, 0x40, 58, 59);
149PXA168_DEVICE(ssp5, "pxa168-ssp", 4, SSP5, 0xd4021000, 0x40, 60, 61); 151PXA168_DEVICE(ssp5, "pxa168-ssp", 4, SSP5, 0xd4021000, 0x40, 60, 61);
152PXA168_DEVICE(fb, "pxa168-fb", -1, LCD, 0xd420b000, 0x1c8);