diff options
Diffstat (limited to 'include/asm-ppc')
-rw-r--r-- | include/asm-ppc/mpc10x.h | 1 | ||||
-rw-r--r-- | include/asm-ppc/mpc52xx.h | 1 | ||||
-rw-r--r-- | include/asm-ppc/mpc8260.h | 1 | ||||
-rw-r--r-- | include/asm-ppc/mpc83xx.h | 1 | ||||
-rw-r--r-- | include/asm-ppc/mpc85xx.h | 1 | ||||
-rw-r--r-- | include/asm-ppc/mpc8xx.h | 1 | ||||
-rw-r--r-- | include/asm-ppc/ppc_sys.h | 32 |
7 files changed, 38 insertions, 0 deletions
diff --git a/include/asm-ppc/mpc10x.h b/include/asm-ppc/mpc10x.h index 77b1e092c206..976ad3d94f27 100644 --- a/include/asm-ppc/mpc10x.h +++ b/include/asm-ppc/mpc10x.h | |||
@@ -165,6 +165,7 @@ enum ppc_sys_devices { | |||
165 | MPC10X_DMA1, | 165 | MPC10X_DMA1, |
166 | MPC10X_UART0, | 166 | MPC10X_UART0, |
167 | MPC10X_UART1, | 167 | MPC10X_UART1, |
168 | NUM_PPC_SYS_DEVS, | ||
168 | }; | 169 | }; |
169 | 170 | ||
170 | int mpc10x_bridge_init(struct pci_controller *hose, | 171 | int mpc10x_bridge_init(struct pci_controller *hose, |
diff --git a/include/asm-ppc/mpc52xx.h b/include/asm-ppc/mpc52xx.h index a055e0756b9d..6167f74635f7 100644 --- a/include/asm-ppc/mpc52xx.h +++ b/include/asm-ppc/mpc52xx.h | |||
@@ -60,6 +60,7 @@ enum ppc_sys_devices { | |||
60 | MPC52xx_ATA, | 60 | MPC52xx_ATA, |
61 | MPC52xx_I2C1, | 61 | MPC52xx_I2C1, |
62 | MPC52xx_I2C2, | 62 | MPC52xx_I2C2, |
63 | NUM_PPC_SYS_DEVS, | ||
63 | }; | 64 | }; |
64 | 65 | ||
65 | 66 | ||
diff --git a/include/asm-ppc/mpc8260.h b/include/asm-ppc/mpc8260.h index 321452695039..6ba69a86b9dd 100644 --- a/include/asm-ppc/mpc8260.h +++ b/include/asm-ppc/mpc8260.h | |||
@@ -83,6 +83,7 @@ enum ppc_sys_devices { | |||
83 | MPC82xx_CPM_SMC2, | 83 | MPC82xx_CPM_SMC2, |
84 | MPC82xx_CPM_USB, | 84 | MPC82xx_CPM_USB, |
85 | MPC82xx_SEC1, | 85 | MPC82xx_SEC1, |
86 | NUM_PPC_SYS_DEVS, | ||
86 | }; | 87 | }; |
87 | 88 | ||
88 | #ifndef __ASSEMBLY__ | 89 | #ifndef __ASSEMBLY__ |
diff --git a/include/asm-ppc/mpc83xx.h b/include/asm-ppc/mpc83xx.h index 7cdf60fa69b6..3c23fc43bfbc 100644 --- a/include/asm-ppc/mpc83xx.h +++ b/include/asm-ppc/mpc83xx.h | |||
@@ -108,6 +108,7 @@ enum ppc_sys_devices { | |||
108 | MPC83xx_USB2_DR, | 108 | MPC83xx_USB2_DR, |
109 | MPC83xx_USB2_MPH, | 109 | MPC83xx_USB2_MPH, |
110 | MPC83xx_MDIO, | 110 | MPC83xx_MDIO, |
111 | NUM_PPC_SYS_DEVS, | ||
111 | }; | 112 | }; |
112 | 113 | ||
113 | #endif /* CONFIG_83xx */ | 114 | #endif /* CONFIG_83xx */ |
diff --git a/include/asm-ppc/mpc85xx.h b/include/asm-ppc/mpc85xx.h index c8a96aa44fb7..f47002a60edf 100644 --- a/include/asm-ppc/mpc85xx.h +++ b/include/asm-ppc/mpc85xx.h | |||
@@ -139,6 +139,7 @@ enum ppc_sys_devices { | |||
139 | MPC85xx_eTSEC4, | 139 | MPC85xx_eTSEC4, |
140 | MPC85xx_IIC2, | 140 | MPC85xx_IIC2, |
141 | MPC85xx_MDIO, | 141 | MPC85xx_MDIO, |
142 | NUM_PPC_SYS_DEVS, | ||
142 | }; | 143 | }; |
143 | 144 | ||
144 | /* Internal interrupts are all Level Sensitive, and Positive Polarity */ | 145 | /* Internal interrupts are all Level Sensitive, and Positive Polarity */ |
diff --git a/include/asm-ppc/mpc8xx.h b/include/asm-ppc/mpc8xx.h index 73ec9a6db0b1..3515a7fa6c89 100644 --- a/include/asm-ppc/mpc8xx.h +++ b/include/asm-ppc/mpc8xx.h | |||
@@ -111,6 +111,7 @@ enum ppc_sys_devices { | |||
111 | MPC8xx_CPM_SMC1, | 111 | MPC8xx_CPM_SMC1, |
112 | MPC8xx_CPM_SMC2, | 112 | MPC8xx_CPM_SMC2, |
113 | MPC8xx_CPM_USB, | 113 | MPC8xx_CPM_USB, |
114 | NUM_PPC_SYS_DEVS, | ||
114 | }; | 115 | }; |
115 | 116 | ||
116 | #define PPC_PIN_SIZE (24 * 1024 * 1024) /* 24Mbytes of data pinned */ | 117 | #define PPC_PIN_SIZE (24 * 1024 * 1024) /* 24Mbytes of data pinned */ |
diff --git a/include/asm-ppc/ppc_sys.h b/include/asm-ppc/ppc_sys.h index bdc4dde35edd..4b94f7059ebe 100644 --- a/include/asm-ppc/ppc_sys.h +++ b/include/asm-ppc/ppc_sys.h | |||
@@ -46,9 +46,26 @@ struct ppc_sys_spec { | |||
46 | u32 value; | 46 | u32 value; |
47 | u32 num_devices; | 47 | u32 num_devices; |
48 | char *ppc_sys_name; | 48 | char *ppc_sys_name; |
49 | u8 config[NUM_PPC_SYS_DEVS]; | ||
49 | enum ppc_sys_devices *device_list; | 50 | enum ppc_sys_devices *device_list; |
50 | }; | 51 | }; |
51 | 52 | ||
53 | struct platform_notify_dev_map { | ||
54 | const char *bus_id; | ||
55 | void (*rtn)(struct platform_device * pdev, int idx); | ||
56 | }; | ||
57 | |||
58 | enum 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 | |||
52 | /* describes all specific chips and which devices they have on them */ | 69 | /* describes all specific chips and which devices they have on them */ |
53 | extern struct ppc_sys_spec ppc_sys_specs[]; | 70 | extern struct ppc_sys_spec ppc_sys_specs[]; |
54 | extern struct ppc_sys_spec *cur_ppc_sys_spec; | 71 | extern struct ppc_sys_spec *cur_ppc_sys_spec; |
@@ -74,5 +91,20 @@ extern void *ppc_sys_get_pdata(enum ppc_sys_devices dev) __init; | |||
74 | /* remove a device from the system */ | 91 | /* remove a device from the system */ |
75 | extern void ppc_sys_device_remove(enum ppc_sys_devices dev); | 92 | extern void ppc_sys_device_remove(enum ppc_sys_devices dev); |
76 | 93 | ||
94 | /* Function assignment stuff */ | ||
95 | void ppc_sys_device_initfunc(void); | ||
96 | void ppc_sys_device_setfunc(enum ppc_sys_devices dev, | ||
97 | enum platform_device_func func); | ||
98 | void ppc_sys_device_set_func_all(enum platform_device_func func); | ||
99 | |||
100 | void platform_notify_map(const struct platform_notify_dev_map *map, | ||
101 | struct device *dev); | ||
102 | |||
103 | /* Enable / disable stuff */ | ||
104 | void ppc_sys_device_disable(enum ppc_sys_devices dev); | ||
105 | void ppc_sys_device_enable(enum ppc_sys_devices dev); | ||
106 | void ppc_sys_device_enable_all(void); | ||
107 | void ppc_sys_device_disable_all(void); | ||
108 | |||
77 | #endif /* __ASM_PPC_SYS_H */ | 109 | #endif /* __ASM_PPC_SYS_H */ |
78 | #endif /* __KERNEL__ */ | 110 | #endif /* __KERNEL__ */ |