1167c5898Swdenk /* 2167c5898Swdenk ** MPC823 Video Controller 3167c5898Swdenk ** ======================= 4167c5898Swdenk ** (C) 2000 by Paolo Scaffardi (arsenio@tin.it) 5167c5898Swdenk ** AIRVENT SAM s.p.a - RIMINI(ITALY) 6167c5898Swdenk ** 7167c5898Swdenk */ 8167c5898Swdenk 9167c5898Swdenk #ifndef _VIDEO_H_ 10167c5898Swdenk #define _VIDEO_H_ 11167c5898Swdenk 12167c5898Swdenk /* Video functions */ 13167c5898Swdenk 14709ea543SSimon Glass struct stdio_dev; 15709ea543SSimon Glass 16167c5898Swdenk int video_init(void *videobase); 17709ea543SSimon Glass void video_putc(struct stdio_dev *dev, const char c); 18709ea543SSimon Glass void video_puts(struct stdio_dev *dev, const char *s); 19167c5898Swdenk 20f674f7cfSStefan Reinauer /** 21f674f7cfSStefan Reinauer * Display a BMP format bitmap on the screen 22f674f7cfSStefan Reinauer * 23f674f7cfSStefan Reinauer * @param bmp_image Address of BMP image 24f674f7cfSStefan Reinauer * @param x X position to draw image 25f674f7cfSStefan Reinauer * @param y Y position to draw image 26f674f7cfSStefan Reinauer */ 27f674f7cfSStefan Reinauer int video_display_bitmap(ulong bmp_image, int x, int y); 28f674f7cfSStefan Reinauer 29f674f7cfSStefan Reinauer /** 30f674f7cfSStefan Reinauer * Get the width of the screen in pixels 31f674f7cfSStefan Reinauer * 32f674f7cfSStefan Reinauer * @return width of screen in pixels 33f674f7cfSStefan Reinauer */ 34f674f7cfSStefan Reinauer int video_get_pixel_width(void); 35f674f7cfSStefan Reinauer 36f674f7cfSStefan Reinauer /** 37f674f7cfSStefan Reinauer * Get the height of the screen in pixels 38f674f7cfSStefan Reinauer * 39f674f7cfSStefan Reinauer * @return height of screen in pixels 40f674f7cfSStefan Reinauer */ 41f674f7cfSStefan Reinauer int video_get_pixel_height(void); 42f674f7cfSStefan Reinauer 43f674f7cfSStefan Reinauer /** 44f674f7cfSStefan Reinauer * Get the number of text lines/rows on the screen 45f674f7cfSStefan Reinauer * 46f674f7cfSStefan Reinauer * @return number of rows 47f674f7cfSStefan Reinauer */ 48f674f7cfSStefan Reinauer int video_get_screen_rows(void); 49f674f7cfSStefan Reinauer 50f674f7cfSStefan Reinauer /** 51f674f7cfSStefan Reinauer * Get the number of text columns on the screen 52f674f7cfSStefan Reinauer * 53f674f7cfSStefan Reinauer * @return number of columns 54f674f7cfSStefan Reinauer */ 55f674f7cfSStefan Reinauer int video_get_screen_columns(void); 56f674f7cfSStefan Reinauer 57f674f7cfSStefan Reinauer /** 58f674f7cfSStefan Reinauer * Set the position of the text cursor 59f674f7cfSStefan Reinauer * 60f674f7cfSStefan Reinauer * @param col Column to place cursor (0 = left side) 61f674f7cfSStefan Reinauer * @param row Row to place cursor (0 = top line) 62f674f7cfSStefan Reinauer */ 63f674f7cfSStefan Reinauer void video_position_cursor(unsigned col, unsigned row); 64f674f7cfSStefan Reinauer 65f674f7cfSStefan Reinauer /* Clear the display */ 66f674f7cfSStefan Reinauer void video_clear(void); 67f674f7cfSStefan Reinauer 68b26354cfSHeiko Schocher #if defined(CONFIG_FORMIKE) 69b26354cfSHeiko Schocher int kwh043st20_f01_spi_startup(unsigned int bus, unsigned int cs, 70b26354cfSHeiko Schocher unsigned int max_hz, unsigned int spi_mode); 71b26354cfSHeiko Schocher #endif 72*fc1a79d9SHeiko Schocher #if defined(CONFIG_LG4573) 73*fc1a79d9SHeiko Schocher int lg4573_spi_startup(unsigned int bus, unsigned int cs, 74*fc1a79d9SHeiko Schocher unsigned int max_hz, unsigned int spi_mode); 75*fc1a79d9SHeiko Schocher #endif 76167c5898Swdenk #endif 77