root/arch/arm/mach-mmp/pxa168.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. pxa168_add_uart
  2. pxa168_add_twsi
  3. pxa168_add_pwm
  4. pxa168_add_ssp
  5. pxa168_add_nand
  6. pxa168_add_fb
  7. pxa168_add_keypad
  8. pxa168_add_eth

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef __ASM_MACH_PXA168_H
   3 #define __ASM_MACH_PXA168_H
   4 
   5 #include <linux/reboot.h>
   6 
   7 extern void pxa168_timer_init(void);
   8 extern void __init icu_init_irq(void);
   9 extern void __init pxa168_init_irq(void);
  10 extern void pxa168_restart(enum reboot_mode, const char *);
  11 extern void pxa168_clear_keypad_wakeup(void);
  12 
  13 #include <linux/i2c.h>
  14 #include <linux/platform_data/i2c-pxa.h>
  15 #include <linux/platform_data/mtd-nand-pxa3xx.h>
  16 #include <video/pxa168fb.h>
  17 #include <linux/platform_data/keypad-pxa27x.h>
  18 #include <linux/pxa168_eth.h>
  19 #include <linux/platform_data/mv_usb.h>
  20 
  21 #include "devices.h"
  22 #include "cputype.h"
  23 
  24 extern struct pxa_device_desc pxa168_device_uart1;
  25 extern struct pxa_device_desc pxa168_device_uart2;
  26 extern struct pxa_device_desc pxa168_device_uart3;
  27 extern struct pxa_device_desc pxa168_device_twsi0;
  28 extern struct pxa_device_desc pxa168_device_twsi1;
  29 extern struct pxa_device_desc pxa168_device_pwm1;
  30 extern struct pxa_device_desc pxa168_device_pwm2;
  31 extern struct pxa_device_desc pxa168_device_pwm3;
  32 extern struct pxa_device_desc pxa168_device_pwm4;
  33 extern struct pxa_device_desc pxa168_device_ssp1;
  34 extern struct pxa_device_desc pxa168_device_ssp2;
  35 extern struct pxa_device_desc pxa168_device_ssp3;
  36 extern struct pxa_device_desc pxa168_device_ssp4;
  37 extern struct pxa_device_desc pxa168_device_ssp5;
  38 extern struct pxa_device_desc pxa168_device_nand;
  39 extern struct pxa_device_desc pxa168_device_fb;
  40 extern struct pxa_device_desc pxa168_device_keypad;
  41 extern struct pxa_device_desc pxa168_device_eth;
  42 
  43 /* pdata can be NULL */
  44 extern int __init pxa168_add_usb_host(struct mv_usb_platform_data *pdata);
  45 
  46 
  47 extern struct platform_device pxa168_device_gpio;
  48 
  49 static inline int pxa168_add_uart(int id)
  50 {
  51         struct pxa_device_desc *d = NULL;
  52 
  53         switch (id) {
  54         case 1: d = &pxa168_device_uart1; break;
  55         case 2: d = &pxa168_device_uart2; break;
  56         case 3: d = &pxa168_device_uart3; break;
  57         }
  58 
  59         if (d == NULL)
  60                 return -EINVAL;
  61 
  62         return pxa_register_device(d, NULL, 0);
  63 }
  64 
  65 static inline int pxa168_add_twsi(int id, struct i2c_pxa_platform_data *data,
  66                                   struct i2c_board_info *info, unsigned size)
  67 {
  68         struct pxa_device_desc *d = NULL;
  69         int ret;
  70 
  71         switch (id) {
  72         case 0: d = &pxa168_device_twsi0; break;
  73         case 1: d = &pxa168_device_twsi1; break;
  74         default:
  75                 return -EINVAL;
  76         }
  77 
  78         ret = i2c_register_board_info(id, info, size);
  79         if (ret)
  80                 return ret;
  81 
  82         return pxa_register_device(d, data, sizeof(*data));
  83 }
  84 
  85 static inline int pxa168_add_pwm(int id)
  86 {
  87         struct pxa_device_desc *d = NULL;
  88 
  89         switch (id) {
  90         case 1: d = &pxa168_device_pwm1; break;
  91         case 2: d = &pxa168_device_pwm2; break;
  92         case 3: d = &pxa168_device_pwm3; break;
  93         case 4: d = &pxa168_device_pwm4; break;
  94         default:
  95                 return -EINVAL;
  96         }
  97 
  98         return pxa_register_device(d, NULL, 0);
  99 }
 100 
 101 static inline int pxa168_add_ssp(int id)
 102 {
 103         struct pxa_device_desc *d = NULL;
 104 
 105         switch (id) {
 106         case 1: d = &pxa168_device_ssp1; break;
 107         case 2: d = &pxa168_device_ssp2; break;
 108         case 3: d = &pxa168_device_ssp3; break;
 109         case 4: d = &pxa168_device_ssp4; break;
 110         case 5: d = &pxa168_device_ssp5; break;
 111         default:
 112                 return -EINVAL;
 113         }
 114         return pxa_register_device(d, NULL, 0);
 115 }
 116 
 117 static inline int pxa168_add_nand(struct pxa3xx_nand_platform_data *info)
 118 {
 119         return pxa_register_device(&pxa168_device_nand, info, sizeof(*info));
 120 }
 121 
 122 static inline int pxa168_add_fb(struct pxa168fb_mach_info *mi)
 123 {
 124         return pxa_register_device(&pxa168_device_fb, mi, sizeof(*mi));
 125 }
 126 
 127 static inline int pxa168_add_keypad(struct pxa27x_keypad_platform_data *data)
 128 {
 129         if (cpu_is_pxa168())
 130                 data->clear_wakeup_event = pxa168_clear_keypad_wakeup;
 131 
 132         return pxa_register_device(&pxa168_device_keypad, data, sizeof(*data));
 133 }
 134 
 135 static inline int pxa168_add_eth(struct pxa168_eth_platform_data *data)
 136 {
 137         return pxa_register_device(&pxa168_device_eth, data, sizeof(*data));
 138 }
 139 #endif /* __ASM_MACH_PXA168_H */

/* [<][>][^][v][top][bottom][index][help] */