static int init_display(struct fbtft_par *par)
{
par->fbtftops.reset(par);
mdelay(50);
write_reg(par, 0x36, 0x00);
write_reg(par, 0x3A, 0x05);
write_reg(par, 0xB2, 0x0C, 0x0C, 0x00, 0x33, 0x33);
write_reg(par, 0xB7, 0x35);
write_reg(par, 0xBB, 0x19);
write_reg(par, 0xC0, 0x2C);
write_reg(par, 0xC2, 0x01);
write_reg(par, 0xC3, 0x12);
write_reg(par, 0xC4, 0x20);
write_reg(par, 0xC6, 0x0F);
write_reg(par, 0xD0, 0xA4, 0xA1);
write_reg(par, 0xE0, 0xD0, 0x04, 0x0D, 0x11, 0x13, 0x2B, 0x3F, 0x54, 0x4C, 0x18, 0x0D, 0x0B, 0x1F, 0x23);
write_reg(par, 0xE1, 0xD0, 0x04, 0x0C, 0x11, 0x13, 0x2C, 0x3F, 0x44, 0x51, 0x2F, 0x1F, 0x1F, 0x20, 0x23);
write_reg(par, 0x21);
write_reg(par, 0x11);
mdelay(50);
write_reg(par, 0x29);
mdelay(200);
// 设置列地址范围 (x 起始位置, x 结束位置)
write_reg(par, 0x2A, 0x00, 0x23, 0x00, 0xCC); // 起始位置 35 (0x23), 结束位置 204 (170 + 35 - 1 = 204 = 0xCC)
// 设置行地址范围 (y 起始位置, y 结束位置)
write_reg(par, 0x2B, 0x00, 0x00, 0x01, 0x3F); // 320 - 1 = 319, 319 = 0x13F
return 0;
}