aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-ppc/ppc_sys.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-ppc/ppc_sys.h')
-rw-r--r--include/asm-ppc/ppc_sys.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/include/asm-ppc/ppc_sys.h b/include/asm-ppc/ppc_sys.h
index 83d8c77c124d..4b94f7059ebe 100644
--- a/include/asm-ppc/ppc_sys.h
+++ b/include/asm-ppc/ppc_sys.h
@@ -33,6 +33,8 @@
33#include <asm/mpc52xx.h> 33#include <asm/mpc52xx.h>
34#elif defined(CONFIG_MPC10X_BRIDGE) 34#elif defined(CONFIG_MPC10X_BRIDGE)
35#include <asm/mpc10x.h> 35#include <asm/mpc10x.h>
36#elif defined(CONFIG_XILINX_VIRTEX)
37#include <platforms/4xx/virtex.h>
36#else 38#else
37#error "need definition of ppc_sys_devices" 39#error "need definition of ppc_sys_devices"
38#endif 40#endif
@@ -44,9 +46,26 @@ struct ppc_sys_spec {
44 u32 value; 46 u32 value;
45 u32 num_devices; 47 u32 num_devices;
46 char *ppc_sys_name; 48 char *ppc_sys_name;
49 u8 config[NUM_PPC_SYS_DEVS];
47 enum ppc_sys_devices *device_list; 50 enum ppc_sys_devices *device_list;
48}; 51};
49 52
53struct platform_notify_dev_map {
54 const char *bus_id;
55 void (*rtn)(struct platform_device * pdev, int idx);
56};
57
58enum platform_device_func {
59 PPC_SYS_FUNC_DUMMY = 0,
60 PPC_SYS_FUNC_ETH = 1,
61 PPC_SYS_FUNC_UART = 2,
62 PPC_SYS_FUNC_HLDC = 3,
63 PPC_SYS_FUNC_USB = 4,
64 PPC_SYS_FUNC_IRDA = 5,
65};
66
67#define PPC_SYS_CONFIG_DISABLED 1
68
50/* describes all specific chips and which devices they have on them */ 69/* describes all specific chips and which devices they have on them */
51extern struct ppc_sys_spec ppc_sys_specs[]; 70extern struct ppc_sys_spec ppc_sys_specs[];
52extern struct ppc_sys_spec *cur_ppc_sys_spec; 71extern struct ppc_sys_spec *cur_ppc_sys_spec;
@@ -72,5 +91,20 @@ extern void *ppc_sys_get_pdata(enum ppc_sys_devices dev) __init;
72/* remove a device from the system */ 91/* remove a device from the system */
73extern void ppc_sys_device_remove(enum ppc_sys_devices dev); 92extern void ppc_sys_device_remove(enum ppc_sys_devices dev);
74 93
94/* Function assignment stuff */
95void ppc_sys_device_initfunc(void);
96void ppc_sys_device_setfunc(enum ppc_sys_devices dev,
97 enum platform_device_func func);
98void ppc_sys_device_set_func_all(enum platform_device_func func);
99
100void platform_notify_map(const struct platform_notify_dev_map *map,
101 struct device *dev);
102
103/* Enable / disable stuff */
104void ppc_sys_device_disable(enum ppc_sys_devices dev);
105void ppc_sys_device_enable(enum ppc_sys_devices dev);
106void ppc_sys_device_enable_all(void);
107void ppc_sys_device_disable_all(void);
108
75#endif /* __ASM_PPC_SYS_H */ 109#endif /* __ASM_PPC_SYS_H */
76#endif /* __KERNEL__ */ 110#endif /* __KERNEL__ */