2 * (C) Copyright 2012 Lothar Waßmann <LW@KARO-electronics.de>
4 * See file CREDITS for list of people who contributed to this
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * version 2 as published by the Free Software Foundation.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
19 #ifdef CONFIG_OF_LIBFDT
20 void karo_fdt_remove_node(void *blob, const char *node);
21 void karo_fdt_move_fdt(void);
22 void karo_fdt_fixup_touchpanel(void *blob, const char *panels[],
24 void karo_fdt_fixup_usb_otg(void *blob, const char *node, const char *phy);
25 void karo_fdt_fixup_flexcan(void *blob, int xcvr_present);
26 void karo_fdt_del_prop(void *blob, const char *compat, phys_addr_t offs,
28 void karo_fdt_enable_node(void *blob, const char *node, int enable);
29 int karo_fdt_get_fb_mode(void *blob, const char *name,
30 struct fb_videomode *fb_mode);
31 int karo_fdt_update_fb_mode(void *blob, const char *name);
32 int karo_fdt_create_fb_mode(void *blob, const char *name,
33 struct fb_videomode *mode);
34 int karo_fdt_get_lcd_bus_width(const void *blob, int default_width);
35 int karo_fdt_get_lvds_mapping(const void *blob, int default_mapping);
36 u8 karo_fdt_get_lvds_channels(const void *blob);
38 static inline void karo_fdt_remove_node(void *blob, const char *node)
41 static inline void karo_fdt_move_fdt(void)
44 static inline void karo_fdt_fixup_touchpanel(void *blob, const char *panels[],
48 static inline void karo_fdt_fixup_usb_otg(void *blob, const char *node,
52 static inline void karo_fdt_fixup_flexcan(void *blob, int xcvr_present)
55 static inline void karo_fdt_del_prop(void *blob, const char *compat,
56 phys_addr_t offs, const char *prop)
59 static inline void karo_fdt_enable_node(void *blob, const char *node,
63 static inline int karo_fdt_get_fb_mode(void *blob, const char *name,
64 struct fb_videomode *fb_mode)
68 static inline int karo_fdt_update_fb_mode(void *blob, const char *name)
72 static inline int karo_fdt_create_fb_mode(void *blob,
74 struct fb_videomode *mode)
78 int karo_fdt_get_lcd_bus_width(const void *blob, int default_width)
82 int karo_fdt_get_lvds_mapping(const void *blob, int default_mapping)
84 return default_mapping;
86 u8 karo_fdt_get_lvds_channels(const void *blob)
92 static inline const char *karo_get_vmode(const char *video_mode)
94 const char *vmode = NULL;
96 if (video_mode == NULL || strlen(video_mode) == 0)
99 vmode = strchr(video_mode, ':');
100 return vmode ? vmode + 1 : video_mode;
103 int karo_load_splashimage(int mode);