2009-03-20 12:50:22 +08:00
# ifndef __ASM_MACH_PXA910_H
# define __ASM_MACH_PXA910_H
2012-11-08 12:40:59 -07:00
extern void pxa910_timer_init ( void ) ;
2013-04-21 13:21:48 +08:00
extern void __init icu_init_irq ( void ) ;
2010-07-15 22:22:33 +08:00
extern void __init pxa910_init_irq ( void ) ;
2009-04-13 15:34:54 +08:00
# include <linux/i2c.h>
2011-02-23 12:38:16 +01:00
# include <linux/i2c/pxa-i2c.h>
2012-08-24 15:16:48 +02:00
# include <linux/platform_data/mtd-nand-pxa3xx.h>
2013-02-21 16:42:20 -08:00
# include <video/mmp_disp.h>
2009-03-20 12:50:22 +08:00
2014-04-15 20:38:32 +02:00
# include "devices.h"
2009-03-20 12:50:22 +08:00
extern struct pxa_device_desc pxa910_device_uart1 ;
extern struct pxa_device_desc pxa910_device_uart2 ;
2009-04-13 15:34:54 +08:00
extern struct pxa_device_desc pxa910_device_twsi0 ;
extern struct pxa_device_desc pxa910_device_twsi1 ;
2009-04-13 18:29:52 +08:00
extern struct pxa_device_desc pxa910_device_pwm1 ;
extern struct pxa_device_desc pxa910_device_pwm2 ;
extern struct pxa_device_desc pxa910_device_pwm3 ;
extern struct pxa_device_desc pxa910_device_pwm4 ;
2009-10-13 15:24:55 +08:00
extern struct pxa_device_desc pxa910_device_nand ;
2012-05-03 14:19:13 +08:00
extern struct platform_device pxa168_device_u2o ;
extern struct platform_device pxa168_device_u2ootg ;
extern struct platform_device pxa168_device_u2oehci ;
2013-02-21 16:42:20 -08:00
extern struct pxa_device_desc pxa910_device_disp ;
extern struct pxa_device_desc pxa910_device_fb ;
extern struct pxa_device_desc pxa910_device_panel ;
2011-10-17 20:37:52 +08:00
extern struct platform_device pxa910_device_gpio ;
2012-02-23 23:37:33 +08:00
extern struct platform_device pxa910_device_rtc ;
2011-10-17 20:37:52 +08:00
2009-03-20 12:50:22 +08:00
static inline int pxa910_add_uart ( int id )
{
struct pxa_device_desc * d = NULL ;
switch ( id ) {
case 1 : d = & pxa910_device_uart1 ; break ;
case 2 : d = & pxa910_device_uart2 ; break ;
}
if ( d = = NULL )
return - EINVAL ;
return pxa_register_device ( d , NULL , 0 ) ;
}
2009-04-13 15:34:54 +08:00
static inline int pxa910_add_twsi ( int id , struct i2c_pxa_platform_data * data ,
struct i2c_board_info * info , unsigned size )
{
struct pxa_device_desc * d = NULL ;
int ret ;
switch ( id ) {
case 0 : d = & pxa910_device_twsi0 ; break ;
case 1 : d = & pxa910_device_twsi1 ; break ;
default :
return - EINVAL ;
}
ret = i2c_register_board_info ( id , info , size ) ;
if ( ret )
return ret ;
return pxa_register_device ( d , data , sizeof ( * data ) ) ;
}
2009-04-13 18:29:52 +08:00
static inline int pxa910_add_pwm ( int id )
{
struct pxa_device_desc * d = NULL ;
switch ( id ) {
case 1 : d = & pxa910_device_pwm1 ; break ;
case 2 : d = & pxa910_device_pwm2 ; break ;
case 3 : d = & pxa910_device_pwm3 ; break ;
case 4 : d = & pxa910_device_pwm4 ; break ;
default :
return - EINVAL ;
}
return pxa_register_device ( d , NULL , 0 ) ;
}
2009-10-13 15:24:55 +08:00
static inline int pxa910_add_nand ( struct pxa3xx_nand_platform_data * info )
{
return pxa_register_device ( & pxa910_device_nand , info , sizeof ( * info ) ) ;
}
2009-03-20 12:50:22 +08:00
# endif /* __ASM_MACH_PXA910_H */