]> git.karo-electronics.de Git - karo-tx-uboot.git/blobdiff - board/karo/common/karo.h
karo: tx6: Finalize support for TX6Q-1020
[karo-tx-uboot.git] / board / karo / common / karo.h
index 0ea4e194e300b5bd9d46817d84bae4e88a3a756a..4aee30257d5114bd1fff0982602f7add68b9b72b 100644 (file)
 */
 struct fb_videomode;
 
+#ifdef CONFIG_SYS_LVDS_IF
+#define is_lvds()                      1
+#else
+#define is_lvds()                      0
+#endif
+
 #ifdef CONFIG_OF_LIBFDT
 void karo_fdt_remove_node(void *blob, const char *node);
 void karo_fdt_move_fdt(void);
@@ -31,9 +37,7 @@ int karo_fdt_get_fb_mode(void *blob, const char *name,
 int karo_fdt_update_fb_mode(void *blob, const char *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)
 {
@@ -75,6 +79,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;
@@ -100,4 +115,39 @@ static inline const char *karo_get_vmode(const char *video_mode)
        return vmode ? vmode + 1 : video_mode;
 }
 
+#ifdef CONFIG_SPLASH_SCREEN
 int karo_load_splashimage(int mode);
+#else
+static inline int karo_load_splashimage(int mode)
+{
+       return 0;
+}
+#endif
+
+#ifdef CONFIG_CMD_NAND
+int karo_load_nand_part(const char *part, void *addr, size_t len);
+#else
+static inline int karo_load_nand_part(const char *part, void *addr, size_t len)
+{
+       return -EOPNOTSUPP;
+}
+#endif
+
+#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)
+{
+       return -EOPNOTSUPP;
+}
+#endif
+
+static inline int karo_load_part(const char *part, void *addr, size_t len)
+{
+       int ret;
+
+       ret = karo_load_nand_part(part, addr, len);
+       if (ret == -EOPNOTSUPP)
+               return karo_load_mmc_part(part, addr, len);
+       return ret;
+}