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 14167c5898Swdenk int video_init (void *videobase); 15167c5898Swdenk void video_putc (const char c); 16167c5898Swdenk void video_puts (const char *s); 17167c5898Swdenk 18f674f7cfSStefan Reinauer /** 19f674f7cfSStefan Reinauer * Display a BMP format bitmap on the screen 20f674f7cfSStefan Reinauer * 21f674f7cfSStefan Reinauer * @param bmp_image Address of BMP image 22f674f7cfSStefan Reinauer * @param x X position to draw image 23f674f7cfSStefan Reinauer * @param y Y position to draw image 24f674f7cfSStefan Reinauer */ 25f674f7cfSStefan Reinauer int video_display_bitmap(ulong bmp_image, int x, int y); 26f674f7cfSStefan Reinauer 27f674f7cfSStefan Reinauer /** 28f674f7cfSStefan Reinauer * Get the width of the screen in pixels 29f674f7cfSStefan Reinauer * 30f674f7cfSStefan Reinauer * @return width of screen in pixels 31f674f7cfSStefan Reinauer */ 32f674f7cfSStefan Reinauer int video_get_pixel_width(void); 33f674f7cfSStefan Reinauer 34f674f7cfSStefan Reinauer /** 35f674f7cfSStefan Reinauer * Get the height of the screen in pixels 36f674f7cfSStefan Reinauer * 37f674f7cfSStefan Reinauer * @return height of screen in pixels 38f674f7cfSStefan Reinauer */ 39f674f7cfSStefan Reinauer int video_get_pixel_height(void); 40f674f7cfSStefan Reinauer 41f674f7cfSStefan Reinauer /** 42f674f7cfSStefan Reinauer * Get the number of text lines/rows on the screen 43f674f7cfSStefan Reinauer * 44f674f7cfSStefan Reinauer * @return number of rows 45f674f7cfSStefan Reinauer */ 46f674f7cfSStefan Reinauer int video_get_screen_rows(void); 47f674f7cfSStefan Reinauer 48f674f7cfSStefan Reinauer /** 49f674f7cfSStefan Reinauer * Get the number of text columns on the screen 50f674f7cfSStefan Reinauer * 51f674f7cfSStefan Reinauer * @return number of columns 52f674f7cfSStefan Reinauer */ 53f674f7cfSStefan Reinauer int video_get_screen_columns(void); 54f674f7cfSStefan Reinauer 55f674f7cfSStefan Reinauer /** 56f674f7cfSStefan Reinauer * Set the position of the text cursor 57f674f7cfSStefan Reinauer * 58f674f7cfSStefan Reinauer * @param col Column to place cursor (0 = left side) 59f674f7cfSStefan Reinauer * @param row Row to place cursor (0 = top line) 60f674f7cfSStefan Reinauer */ 61f674f7cfSStefan Reinauer void video_position_cursor(unsigned col, unsigned row); 62f674f7cfSStefan Reinauer 63f674f7cfSStefan Reinauer /* Clear the display */ 64f674f7cfSStefan Reinauer void video_clear(void); 65f674f7cfSStefan Reinauer 66*b26354cfSHeiko Schocher #if defined(CONFIG_FORMIKE) 67*b26354cfSHeiko Schocher int kwh043st20_f01_spi_startup(unsigned int bus, unsigned int cs, 68*b26354cfSHeiko Schocher unsigned int max_hz, unsigned int spi_mode); 69*b26354cfSHeiko Schocher #endif 70167c5898Swdenk #endif 71