|
Подключение LCD к NGW100 |
|
|
|
Jul 31 2008, 03:03
|
Группа: Новичок
Сообщений: 3
Регистрация: 29-07-08
Пользователь №: 39 265

|
Имею NGW100, монитор LQ104V1DG61, JTAG II, buildroot. Физически LCD подключил к ngw100 по схеме, указаной в datasheet на сайте производителя. В buildroot'e набираю make atngw100_defconfig menuconfig , указываю необходимые пакеты. Далее make linux26-menuconfig - выбираю поддержку графики, монитора
<*>Blacklight & LCD device support <M> Samsung LTV350QV LCD Panel <M>Lowlevel video output switch controls <*>Support for frame buffer devices <*>AT91/AT32 LCD Controller support [*]Boot logo Smile Далее сохраняю конфигурацию. Теперь, как я понял, необходимо переписать конфиг LTV350QV для моего монитора, но конфигурации LCD для NGW100 в файле arch/avr32/boards/atngw100/setup.c нет. Оное дело находится в arch/avr32/boards/atstk1000/setup.c Код: static struct fb_videomode __initdata ltv350qv_modes[] = { { .name = "320x240 @ 75", .refresh = 75, .xres = 320, .yres = 240, .pixclock = KHZ2PICOS(6891),
.left_margin = 17, .right_margin = 33, .upper_margin = 10, .lower_margin = 10, .hsync_len = 16, .vsync_len = 1,
.sync = 0, .vmode = FB_VMODE_NONINTERLACED, }, };
static struct fb_monspecs __initdata atstk1000_default_monspecs = { .manufacturer = "SNG", .monitor = "LTV350QV", .modedb = ltv350qv_modes, .modedb_len = ARRAY_SIZE(ltv350qv_modes), .hfmin = 14820, .hfmax = 22230, .vfmin = 60, .vfmax = 90, .dclkmax = 30000000, };
struct atmel_lcdfb_info __initdata atstk1000_lcdc_data = { .default_bpp = 24, .default_dmacon = ATMEL_LCDC_DMAEN | ATMEL_LCDC_DMA2DEN, .default_lcdcon2 = (ATMEL_LCDC_DISTYPE_TFT | ATMEL_LCDC_INVCLK | ATMEL_LCDC_CLKMOD_ALWAYSACTIVE | ATMEL_LCDC_MEMOR_BIG), .default_monspecs = &atstk1000_default_monspecs, .guard_time = 2, };
Подскажите что и куда необходимо дописать, чтобы подключить LCD к NGW100.
|
|
|
|
|
 |
Ответов
|
Aug 3 2008, 23:27
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(ypbi4 @ Jul 31 2008, 07:03)  Подскажите что и куда необходимо дописать, чтобы подключить LCD к NGW100. Для начала лучше всего убедиться что у Вас все правильно с физическим соединением и выборами режимов(параметрами) панели. Скачайте аппноут AVR32114 и просто настроив все параметры экранчика, выведите картинку, правда там в аппноуте была небольшая бага с настройкой SDRAM. Вобщем если пойдете по этому пути, наверное смогу Вам подсказать....
|
|
|
|
|
Aug 5 2008, 09:49
|
Группа: Новичок
Сообщений: 3
Регистрация: 29-07-08
Пользователь №: 39 265

|
Цитата(singlskv @ Aug 4 2008, 02:27)  Для начала лучше всего убедиться что у Вас все правильно с физическим соединением и выборами режимов(параметрами) панели. Скачайте аппноут AVR32114 и просто настроив все параметры экранчика, выведите картинку, правда там в аппноуте была небольшая бага с настройкой SDRAM. Вобщем если пойдете по этому пути, наверное смогу Вам подсказать.... Еще раз проверил физическое подключение LCD к ngw100. Но проблема видимо в том что не могу правильно ядро скомпилировать, чтоб поддерживал lcd. На avrfreaks я нашел так/ую ссылку где есть пример с lcd_example.elf и avr32.bmp http://www.avrfreaks.net/index.php?module=...amp;item_id=837. Но ни загрузить bmp (выдается ошибка "Programming 230454 bytes in 1 segment. Failed programming 65536 bytes of flash memory at 0x00400000. Attempted to program unerased word"), ни откомпилировать проет не удается ((.Тем более данный проект для stk1000. А мне необходимо подключить LCD к ngw. понимаю что ошибка где то в днк... Но хотелось бы услышать пошаговое пояснение как подключить мой девайс )
|
|
|
|
|
Aug 5 2008, 11:09
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(ypbi4 @ Aug 5 2008, 13:49)  Тем более данный проект для stk1000. А мне необходимо подключить LCD к ngw. Я правил эту аппноуту под ngw, у меня все заработало и с LCD и с VGA монитором там нужно подправить настройки памяти : Код /* Define the on-board memory sizes */ #define SDRAM_SIZE 32
static const struct sdram_info sdram = { .phys_addr = AVR32_EBI1_ADDRESS, .bus_width = 16, .rows = 13, .cols = 9, .banks = 2, .cas = 3, .twr = 2, .trc = 7, .trp = 2, .trcd = 2, .tras = 5, .txsr = 5, }; настройки пинов: Код void lcdc_pio_config(void){ /* CC and MOD signals are not used for the video DAC and are not connected to * the monitor interface */ avr32_piomap_t piomap = { { AVR32_LCDC_DVAL_0_1_PIN, AVR32_LCDC_DVAL_0_1_FUNCTION }, { AVR32_LCDC_HSYNC_0_PIN, AVR32_LCDC_HSYNC_0_FUNCTION }, { AVR32_LCDC_MODE_0_1_PIN, AVR32_LCDC_MODE_0_1_FUNCTION }, { AVR32_LCDC_PCLK_0_PIN, AVR32_LCDC_PCLK_0_FUNCTION }, { AVR32_LCDC_VSYNC_0_PIN, AVR32_LCDC_VSYNC_0_FUNCTION }, { AVR32_LCDC_DATA_0_1_PIN, AVR32_LCDC_DATA_0_1_FUNCTION }, { AVR32_LCDC_DATA_1_1_PIN, AVR32_LCDC_DATA_1_1_FUNCTION }, { AVR32_LCDC_DATA_2_1_PIN, AVR32_LCDC_DATA_1_1_FUNCTION }, { AVR32_LCDC_DATA_3_1_PIN, AVR32_LCDC_DATA_1_1_FUNCTION }, { AVR32_LCDC_DATA_4_1_PIN, AVR32_LCDC_DATA_1_1_FUNCTION }, { AVR32_LCDC_DATA_5_PIN, AVR32_LCDC_DATA_5_FUNCTION }, { AVR32_LCDC_DATA_6_PIN, AVR32_LCDC_DATA_6_FUNCTION }, { AVR32_LCDC_DATA_7_PIN, AVR32_LCDC_DATA_7_FUNCTION }, { AVR32_LCDC_DATA_8_1_PIN, AVR32_LCDC_DATA_8_1_FUNCTION }, { AVR32_LCDC_DATA_9_1_PIN, AVR32_LCDC_DATA_9_1_FUNCTION }, { AVR32_LCDC_DATA_10_1_PIN, AVR32_LCDC_DATA_10_1_FUNCTION }, { AVR32_LCDC_DATA_11_1_PIN, AVR32_LCDC_DATA_11_1_FUNCTION }, { AVR32_LCDC_DATA_12_1_PIN, AVR32_LCDC_DATA_12_1_FUNCTION }, { AVR32_LCDC_DATA_13_PIN, AVR32_LCDC_DATA_13_FUNCTION }, { AVR32_LCDC_DATA_14_PIN, AVR32_LCDC_DATA_14_FUNCTION }, { AVR32_LCDC_DATA_15_PIN, AVR32_LCDC_DATA_15_FUNCTION }, { AVR32_LCDC_DATA_16_1_PIN, AVR32_LCDC_DATA_16_1_FUNCTION }, { AVR32_LCDC_DATA_17_1_PIN, AVR32_LCDC_DATA_17_1_FUNCTION }, { AVR32_LCDC_DATA_18_1_PIN, AVR32_LCDC_DATA_18_1_FUNCTION }, { AVR32_LCDC_DATA_19_1_PIN, AVR32_LCDC_DATA_19_1_FUNCTION }, { AVR32_LCDC_DATA_20_1_PIN, AVR32_LCDC_DATA_20_1_FUNCTION }, { AVR32_LCDC_DATA_21_1_PIN, AVR32_LCDC_DATA_21_1_FUNCTION }, { AVR32_LCDC_DATA_22_PIN, AVR32_LCDC_DATA_22_FUNCTION }, { AVR32_LCDC_DATA_23_PIN, AVR32_LCDC_DATA_23_FUNCTION } }; отредактировать структуру lcdc_conf_t под свой тип LCD отредактировать функцию void ltv350qv_power_on(volatile avr32_spi_t * spi, unsigned char chip_select) под свой тип LCD исправить ошибку при инициализации памяти: Код if(info->bus_width == 16 ){ sdram->cr |= (1<<AVR32_SDRAMC_CR_DBW_OFFSET); вроде все...
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|