X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=board%2Fkaro%2Fcommon%2Fkaro.h;h=06427e49d48ba5bd39aed79bf16a84de8d3d4333;hb=63652ce377ee8ce60a6217aefe238313d0989c60;hp=dd2a723501c00a80b782b693f1c2e2dbd5c8e855;hpb=2cfbedd368c4ee10261521ba869516864f325580;p=karo-tx-uboot.git diff --git a/board/karo/common/karo.h b/board/karo/common/karo.h index dd2a723501..06427e49d4 100644 --- a/board/karo/common/karo.h +++ b/board/karo/common/karo.h @@ -14,6 +14,9 @@ * GNU General Public License for more details. * */ + +#include + struct fb_videomode; #ifdef CONFIG_SYS_LVDS_IF @@ -22,24 +25,25 @@ struct fb_videomode; #define is_lvds() 0 #endif +void env_cleanup(void); + #ifdef CONFIG_OF_LIBFDT void karo_fdt_remove_node(void *blob, const char *node); void karo_fdt_move_fdt(void); void karo_fdt_fixup_touchpanel(void *blob, const char *panels[], size_t num_panels); -void karo_fdt_fixup_usb_otg(void *blob, const char *node, const char *phy); +void karo_fdt_fixup_usb_otg(void *blob, const char *node, const char *phy, + const char *phy_supply); void karo_fdt_fixup_flexcan(void *blob, int xcvr_present); -void karo_fdt_del_prop(void *blob, const char *compat, phys_addr_t offs, +void karo_fdt_del_prop(void *blob, const char *compat, u32 offs, const char *prop); void karo_fdt_enable_node(void *blob, const char *node, int enable); int karo_fdt_get_fb_mode(void *blob, const char *name, struct fb_videomode *fb_mode); -int karo_fdt_update_fb_mode(void *blob, const char *name); +int karo_fdt_update_fb_mode(void *blob, const char *name, + const char *panel_name); int karo_fdt_create_fb_mode(void *blob, const char *name, struct fb_videomode *mode); -int karo_fdt_get_lcd_bus_width(const void *blob, int default_width); -int karo_fdt_get_lvds_mapping(const void *blob, int default_mapping); -u8 karo_fdt_get_lvds_channels(const void *blob); int karo_fdt_get_backlight_polarity(const void *blob); #else static inline void karo_fdt_remove_node(void *blob, const char *node) @@ -53,14 +57,15 @@ static inline void karo_fdt_fixup_touchpanel(void *blob, const char *panels[], { } static inline void karo_fdt_fixup_usb_otg(void *blob, const char *node, - const char *phy) + const char *phy, + const char *phy_supply) { } static inline void karo_fdt_fixup_flexcan(void *blob, int xcvr_present) { } static inline void karo_fdt_del_prop(void *blob, const char *compat, - phys_addr_t offs, const char *prop) + u32 offs, const char *prop) { } static inline void karo_fdt_enable_node(void *blob, const char *node, @@ -82,6 +87,17 @@ static inline int karo_fdt_create_fb_mode(void *blob, { return 0; } +static inline int karo_fdt_get_backlight_polarity(const void *blob) +{ + return getenv_yesno("backlight_polarity"); +} +#endif + +#if defined(CONFIG_SYS_LVDS_IF) && defined(CONFIG_OF_LIBFDT) +int karo_fdt_get_lcd_bus_width(const void *blob, int default_width); +int karo_fdt_get_lvds_mapping(const void *blob, int default_mapping); +u8 karo_fdt_get_lvds_channels(const void *blob); +#else static inline int karo_fdt_get_lcd_bus_width(const void *blob, int default_width) { return default_width; @@ -94,10 +110,6 @@ static inline u8 karo_fdt_get_lvds_channels(const void *blob) { return 0; } -static inline int karo_fdt_get_backlight_polarity(const void *blob) -{ - return getenv_yesno("backlight_polarity"); -} #endif static inline const char *karo_get_vmode(const char *video_mode) @@ -129,7 +141,7 @@ static inline int karo_load_nand_part(const char *part, void *addr, size_t len) } #endif -#ifdef CONFIG_CMD_MMC +#ifdef CONFIG_ENV_IS_IN_MMC int karo_load_mmc_part(const char *part, void *addr, size_t len); #else static inline int karo_load_mmc_part(const char *part, void *addr, size_t len) @@ -147,3 +159,5 @@ static inline int karo_load_part(const char *part, void *addr, size_t len) return karo_load_mmc_part(part, addr, len); return ret; } + +#define DIV_ROUND(n, d) (((n) + (d) / 2) / (d))