xref: /linux/arch/powerpc/sysdev/fsl_soc.h (revision f7511d5f66f01fc451747b24e79f3ada7a3af9af)
1 #ifndef __PPC_FSL_SOC_H
2 #define __PPC_FSL_SOC_H
3 #ifdef __KERNEL__
4 
5 #include <asm/mmu.h>
6 
7 extern phys_addr_t get_immrbase(void);
8 extern u32 get_brgfreq(void);
9 extern u32 get_baudrate(void);
10 extern u32 fsl_get_sys_freq(void);
11 
12 struct spi_board_info;
13 
14 extern int fsl_spi_init(struct spi_board_info *board_infos,
15 			unsigned int num_board_infos,
16 			void (*activate_cs)(u8 cs, u8 polarity),
17 			void (*deactivate_cs)(u8 cs, u8 polarity));
18 
19 extern void fsl_rstcr_restart(char *cmd);
20 
21 #if defined(CONFIG_FB_FSL_DIU) || defined(CONFIG_FB_FSL_DIU_MODULE)
22 #include <linux/bootmem.h>
23 #include <asm/rheap.h>
24 struct platform_diu_data_ops {
25 	rh_block_t diu_rh_block[16];
26 	rh_info_t diu_rh_info;
27 	unsigned long diu_size;
28 	void *diu_mem;
29 
30 	unsigned int (*get_pixel_format) (unsigned int bits_per_pixel,
31 		int monitor_port);
32 	void (*set_gamma_table) (int monitor_port, char *gamma_table_base);
33 	void (*set_monitor_port) (int monitor_port);
34 	void (*set_pixel_clock) (unsigned int pixclock);
35 	ssize_t (*show_monitor_port) (int monitor_port, char *buf);
36 	int (*set_sysfs_monitor_port) (int val);
37 };
38 
39 extern struct platform_diu_data_ops diu_ops;
40 int __init preallocate_diu_videomemory(void);
41 #endif
42 
43 #endif
44 #endif
45