Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- LCD_NVIDIA_Interface_Init:
- X1=4
- X2=4
- X3=0
- Y1=1
- Y2=3
- Y3=5
- 0x600600C |= 0x1000000 (DEV_EN)
- 0x60060DC = (24000000/4895360) <= (240+X2+X3+X1)*(320+Y3+Y2+Y1)*60 /* z zaokr czy bez */
- _backlight_off();
- 0x70009224 bics 0x70 or 0x30 /* 18 BPP */
- 0x70009224 bics 0x02
- 0x7000924C bics 0x8000
- 0x7000924C bics 0x1F00
- 0x7000924C bics 0xF0000
- 0x7000924C or 0x4000
- 0x7000924C bics 0x0FF or 0x08
- 0x7000924C bics 0x100000
- 0x7000924C bics 0x800000
- 0x7000924C bics 0x400000
- 0x70009200 bic 0x7FF or X2
- 0x70009200 and 0xF800FFFF or ((240-1+X2) << 16)
- 0x70009208 bic 0x7FF or (X2-1)
- 0x70009208 and 0x7800FFFF or ((240+1+(X2-1)) << 16)
- 0x70009204 bic 0x0FFFF or (X1-1)
- 0x70009204 and 0xF800FFFF or ((240-1+X2+X3) << 16)
- 0x7000920C bic 0x7FF or Y2
- 0x7000920C and 0xF800FFFF or ((320-1+Y2) << 16)
- 0x70009214 bic 0x7FF or (Y2-1)
- 0x70009214 and 0x07800FFFF or ((320+1+(Y2-1)) << 16)
- 0x70009210 bic 0x0FFFF or (Y1-1)
- 0x70009210 and 0x0F800FFFF or ((320+Y2+Y3) << 16)
- 0x70009234 and 0x0F800F800
- 0x70009238 and 0x0F800FFFF or ((240-1) << 16)
- 0x70009238 and 0x7FF or (320-1)
- 0x70009220 or 0x80
- 0x70009220 or 0x40
- 0x70009220 or 0x20
- 0x70009228 = 0
- 0x70009240 = 0
- 0x70009224 or 0x01
- 0x70009224 or 0x0C
- 0x70009224 bic 0x80
- 0x70009224 bics 0x300
- 0x70009224 bics 0x400
- 0x70009224 bics 0x800
- 0x70009224 bics 0x1000
- 0x70009224 bics 0x2000
- 0x70009224 bics 0x4000
- 0x70009224 bics 0x8000
- 0x70009224 bics 0x70000
- 0x70009224 bics 0x80000
- 0x70009224 and 0x803FFFFF
- 0x60010000 bics 0x380000 or 0x100000
- 0x60010080 bics 0x0000ffff or (240 >> 4)
- 0x60010080 bics 0xffff0000 or ((320 >> 4) << 16)
- 0x60010000 bics 0x7ffff or 0x4E000
- 0x60010000 bics 0x400000
- 0x60010000 bics 0x1800000 or 0x800000
- 0x60010000 bics 0x6000000 or 0x2000000
- LCD_Init();
- 0x70009280 = 0xABCD
- LCD_Init:
- outl(inl(0x70000010) | 0xFC000000, 0x70000010);
- outl(inl(0x70000014) | 0xC300000, 0x70000014);
- GPIOE_ENABLE = 0;
- GPIOM_ENABLE &= ~0x3;
- GPIOF_ENABLE = 0;
- GPIOJ_ENABLE &= ~0x1a;
- GPIOB_ENABLE &= ~0x8;
- // LCD_Init_SPI
- GPIOH_OUTPUT_VAL |= 0x80;
- GPIOH_ENABLE |= 0x80;
- GPIOH_OUTPUT_EN |= 0x80;
- GPIOH_OUTPUT_VAL |= 0x40;
- GPIOH_ENABLE |= 0x40;
- GPIOH_OUTPUT_EN |= 0x40;
- GPIOH_OUTPUT_VAL |= 0x20;
- GPIOH_ENABLE |= 0x20;
- GPIOH_OUTPUT_EN |= 0x20;
- GPIOH_OUTPUT_VAL |= 0x10;
- GPIOH_ENABLE |= 0x10;
- GPIOH_OUTPUT_EN |= 0x10;
- sleep(HZ/10); //delay 100ms
- //continuation
- GPIOH_OUTPUT_VAL &= ~0x01;
- GPIOH_ENABLE |= 0x01;
- GPIOH_OUTPUT_EN |= 0x01;
- GPIOF_OUTPUT_VAL |= 0x04;
- GPIOF_ENABLE |= 0x04;
- GPIOF_OUTPUT_EN |= 0x04;
- DEV_INIT2 = 0x42000000;
- // lcd_reset
- GPIOB_OUTPUT_VAL |= 4; // GPIOB => nRESET pin
- sleep(HZ/1000); /* 1ms */
- GPIOB_OUTPUT_VAL &= ~4;
- sleep(HZ/20); /* 50ms */
- GPIOB_OUTPUT_VAL |= 4;
- sleep(HZ/1000); /* 1ms */
- GPIOG_ENABLE |= 0x8;
- GPIOG_OUTPUT_EN &= ~0x8;
- if (GPIOG_INPUT_VAL & 0x8) lcd_type = 0;
- else lcd_type = 1;
- lcd_write_reg(0xE5, 0x8000);
- lcd_write_reg(0x0, 0x1);
- lcd_write_reg(0x1, 0x100);
- lcd_write_reg(0x2, 0x700);
- lcd_write_reg(0x3, 0x1230);
- lcd_write_reg(0x4, 0x0);
- lcd_write_reg(0x8, 0x408);
- lcd_write_reg(0x9, 0x0);
- lcd_write_reg(0xa, 0x0);
- lcd_write_reg(0xd, 0x0);
- lcd_write_reg(0xf, 0x2);
- lcd_write_reg(0x10, 0x0);
- lcd_write_reg(0x11, 0x0);
- lcd_write_reg(0x12, 0x0);
- lcd_write_reg(0x13, 0x0);
- sleep(HZ/5);
- lcd_write_reg(0x10, 0x17B0);
- lcd_write_reg(0x11, 0x7);
- sleep(HZ/20);
- lcd_write_reg(0x12, 0x13c);
- sleep(HZ/20);
- if (lcd_type==0)
- {
- lcd_write_reg(0x13, 0x1700);
- lcd_write_reg(0x29, 0x10);
- sleep(HZ/20);
- lcd_write_reg(0x20, 0x0);
- lcd_write_reg(0x21, 0x0);
- lcd_write_reg(0x30, 0x7);
- lcd_write_reg(0x31, 0x403);
- lcd_write_reg(0x32, 0x400);
- lcd_write_reg(0x35, 0x3);
- lcd_write_reg(0x36, 0xF07);
- lcd_write_reg(0x37, 0x606);
- lcd_write_reg(0x38, 0x106);
- }
- else
- {
- lcd_write_reg(0x13, 0x1800);
- lcd_write_reg(0x29, 0x13);
- sleep(HZ/20);
- lcd_write_reg(0x20, 0x0);
- lcd_write_reg(0x21, 0x0);
- lcd_write_reg(0x30, 0x2);
- lcd_write_reg(0x31, 0x606);
- lcd_write_reg(0x32, 0x501);
- lcd_write_reg(0x35, 0x206);
- lcd_write_reg(0x36, 0x504);
- lcd_write_reg(0x37, 0x707);
- lcd_write_reg(0x38, 0x306);
- }
- lcd_write_reg(0x39, 0x7);
- lcd_write_reg(0x3c, 0x700);
- lcd_write_reg(0x3d, 0x700);
- lcd_write_reg(0x50, 0x0);
- lcd_write_reg(0x51, 0xef); /* 239 - LCD_WIDTH */
- lcd_write_reg(0x52, 0x0);
- lcd_write_reg(0x53, 0x13f); /* 319 - LCD_HEIGHT */
- lcd_write_reg(0x60, 0x2700);
- lcd_write_reg(0x61, 0x1);
- lcd_write_reg(0x6a, 0x0);
- lcd_write_reg(0x80, 0x0);
- lcd_write_reg(0x81, 0x0);
- lcd_write_reg(0x82, 0x0);
- lcd_write_reg(0x83, 0x0);
- lcd_write_reg(0x84, 0x0);
- lcd_write_reg(0x85, 0x0);
- lcd_write_reg(0x90, 0x10);
- lcd_write_reg(0x92, 0x0);
- lcd_write_reg(0x93, 0x3);
- lcd_write_reg(0x95, 0x110);
- lcd_write_reg(0x97, 0x0);
- lcd_write_reg(0x98, 0x0);
- lcd_write_reg(0xc, 0x110);
- lcd_write_reg(0x7, 0x173);
- sleep(HZ/100);
- /*--------------------------------------------------------------------------*/
- LCD_Display_On:
- LCD_Init_SPI
- lcd_write_reg(0x10, 0x17B0); //SAP, BT[3:0], AP, DSTB, SLP, STB
- sleep(HZ/10000);
- lcd_write_reg(0x7, 0x173); //262K color and display ON
- /*--------------------------------------------------------------------------*/
- LCD_Display_Off:
- in OF 01.03.02:
- empty proc !!!
- in OF 01.01.06, 01.02.09:
- lcd_write_reg(0x7, 0x160); // display OFF ??? - partially wrong
- lcd_write_reg(0x10, 0x17B1); //SAP, BT[3:0], AP, DSTB, SLP, STB - wrong !!!
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement