jd9365 全志驱动

#if 1
static void jd9365_init(void) 
{

    //JD9365 initial code  jd9365

    //printf("in mipi xxxx%s \n", __func__);
   

    //Page0
    //SSD_Single(0xE0, 0x00);
    


    
    SSD_SEND(0XE1,0x93);
    SSD_SEND(0XE2,0x65);
    SSD_SEND(0XE3,0xF8);
    SSD_SEND(0X80,0x03);
    
    SSD_SEND(0X70,0x10);
    SSD_SEND(0X71,0x13);
    SSD_SEND(0X72,0x06);
    SSD_SEND(0X75,0x03);
    
    SSD_SEND(0XE0,0x04);
    SSD_SEND(0X2D,0x03);
    SSD_SEND(0X2B,0x2B);
    
    
    SSD_SEND(0XE0,0x01);
    
    
    SSD_SEND(0X00,0x00);
    SSD_SEND(0X01,0x33);//
    SSD_SEND(0X03,0x00);
    SSD_SEND(0X04,0x7A);
    
    SSD_SEND(0X17,0x00);
    SSD_SEND(0X18,0xEF);
    SSD_SEND(0X19,0x01);
    SSD_SEND(0X1A,0x00);
    SSD_SEND(0X1B,0xEF);
    SSD_SEND(0X1C,0x01);
    
    SSD_SEND(0X1F,0x6B);
    SSD_SEND(0X20,0x24);
    SSD_SEND(0X21,0x24);
    SSD_SEND(0X22,0x4E);
    SSD_SEND(0X24,0xFD);
    
    SSD_SEND(0X37,0x09);
    
    SSD_SEND(0X38,0x04);
    SSD_SEND(0X39,0x08);
    SSD_SEND(0X3A,0x12);
    SSD_SEND(0X3C,0x78);
    SSD_SEND(0X3D,0xFF);
    SSD_SEND(0X3E,0xFF);
    SSD_SEND(0X3F,0x7F);
    
    
    SSD_SEND(0X40,0x06);
    SSD_SEND(0X41,0xA0);
    SSD_SEND(0X43,0x14);
    SSD_SEND(0X44,0x11);
    SSD_SEND(0X45,0x24);
    
    SSD_SEND(0X55,0x02);
    SSD_SEND(0X56,0x01);
    SSD_SEND(0X57,0x69);
    SSD_SEND(0X58,0x0A);
    SSD_SEND(0X59,0x0A);
    SSD_SEND(0X5A,0x29);
    SSD_SEND(0X5B,0x10);
    
    
    SSD_SEND(0X5D,0x70);
    SSD_SEND(0X5E,0x57);
    SSD_SEND(0X5F,0x47);
    SSD_SEND(0X60,0x3A);
    SSD_SEND(0X61,0x35);
    SSD_SEND(0X62,0x25);
    SSD_SEND(0X63,0x29);
    SSD_SEND(0X64,0x12);
    SSD_SEND(0X65,0x29);
    SSD_SEND(0X66,0x26);
    SSD_SEND(0X67,0x23);
    SSD_SEND(0X68,0x3F);
    SSD_SEND(0X69,0x2B);
    SSD_SEND(0X6A,0x32);
    SSD_SEND(0X6B,0x24);
    SSD_SEND(0X6C,0x22);
    SSD_SEND(0X6D,0x16);
    SSD_SEND(0X6E,0x09);
    SSD_SEND(0X6F,0x02);
    SSD_SEND(0X70,0x70);
    SSD_SEND(0X71,0x57);
    SSD_SEND(0X72,0x47);
    SSD_SEND(0X73,0x3A);
    SSD_SEND(0X74,0x35);
    SSD_SEND(0X75,0x25);
    SSD_SEND(0X76,0x29);
    SSD_SEND(0X77,0x12);
    SSD_SEND(0X78,0x29);
    SSD_SEND(0X79,0x26);
    SSD_SEND(0X7A,0x23);
    SSD_SEND(0X7B,0x3F);
    SSD_SEND(0X7C,0x2B);
    SSD_SEND(0X7D,0x32);
    SSD_SEND(0X7E,0x24);
    SSD_SEND(0X7F,0x22);
    SSD_SEND(0X80,0x16);
    SSD_SEND(0X81,0x09);
    SSD_SEND(0X82,0x02);
    
    
    SSD_SEND(0XE0,0x02);
    
    SSD_SEND(0X00,0x1E);
    SSD_SEND(0X01,0x1F);
    SSD_SEND(0X02,0x57);
    SSD_SEND(0X03,0x58);
    SSD_SEND(0X04,0x48);
    SSD_SEND(0X05,0x4A);
    SSD_SEND(0X06,0x44);
    SSD_SEND(0X07,0x46);
    SSD_SEND(0X08,0x40);
    SSD_SEND(0X09,0x1F);
    SSD_SEND(0X0A,0x1F);
    SSD_SEND(0X0B,0x1F);
    SSD_SEND(0X0C,0x1F);
    SSD_SEND(0X0D,0x1F);
    SSD_SEND(0X0E,0x1F);
    SSD_SEND(0X0F,0x42);
    SSD_SEND(0X10,0x1F);
    SSD_SEND(0X11,0x1F);
    SSD_SEND(0X12,0x1F);
    SSD_SEND(0X13,0x1F);
    SSD_SEND(0X14,0x1F);
    SSD_SEND(0X15,0x1F);
    
    SSD_SEND(0X16,0x1E);
    SSD_SEND(0X17,0x1F);
    SSD_SEND(0X18,0x57);
    SSD_SEND(0X19,0x58);
    SSD_SEND(0X1A,0x49);
    SSD_SEND(0X1B,0x4B);
    SSD_SEND(0X1C,0x45);
    SSD_SEND(0X1D,0x47);
    SSD_SEND(0X1E,0x41);
    SSD_SEND(0X55,0x55);
    SSD_SEND(0X20,0x1F);
    SSD_SEND(0X21,0x55);
    SSD_SEND(0X22,0x55);
    SSD_SEND(0X23,0x55);
    SSD_SEND(0X24,0x55);
    SSD_SEND(0X25,0x43);
    SSD_SEND(0X26,0x55);
    SSD_SEND(0X27,0x55);
    SSD_SEND(0X28,0x55);
    SSD_SEND(0X29,0x55);
    SSD_SEND(0X2A,0x55);
    SSD_SEND(0X2B,0x55);
    
    SSD_SEND(0X2C,0x55);
    SSD_SEND(0X2D,0x1E);
    SSD_SEND(0X2E,0x17);
    SSD_SEND(0X2F,0x18);
    SSD_SEND(0X30,0x07);
    SSD_SEND(0X31,0x05);
    SSD_SEND(0X32,0x0B);
    SSD_SEND(0X33,0x09);
    SSD_SEND(0X34,0x03);
    SSD_SEND(0X35,0x55);
    SSD_SEND(0X36,0x55);
    SSD_SEND(0X37,0x55);
    SSD_SEND(0X38,0x55);
    SSD_SEND(0X39,0x55);
    SSD_SEND(0X3A,0x55);
    SSD_SEND(0X3B,0x01);
    SSD_SEND(0X3C,0x55);
    SSD_SEND(0X3D,0x55);
    SSD_SEND(0X3E,0x55);
    SSD_SEND(0X3F,0x55);
    SSD_SEND(0X40,0x1F);
    SSD_SEND(0X41,0x55);
    
    SSD_SEND(0X42,0x55);
    SSD_SEND(0X43,0x1E);
    SSD_SEND(0X44,0x17);
    SSD_SEND(0X45,0x18);
    SSD_SEND(0X46,0x06);
    SSD_SEND(0X47,0x04);
    SSD_SEND(0X48,0x0A);
    SSD_SEND(0X49,0x08);
    SSD_SEND(0X4A,0x02);
    SSD_SEND(0X4B,0x55);
    SSD_SEND(0X4C,0x55);
    SSD_SEND(0X4D,0x55);
    SSD_SEND(0X4E,0x55);
    SSD_SEND(0X4F,0x55);
    SSD_SEND(0X50,0x1F);
    SSD_SEND(0X51,0x00);
    SSD_SEND(0X52,0x55);
    SSD_SEND(0X53,0x55);
    SSD_SEND(0X54,0x55);
    SSD_SEND(0X55,0x55);
    SSD_SEND(0X56,0x55);
    SSD_SEND(0X57,0x55);
    
    SSD_SEND(0X58,0x40);
    SSD_SEND(0X59,0x00);
    SSD_SEND(0X5A,0x00);
    SSD_SEND(0X5B,0x30);
    SSD_SEND(0X5C,0x07);
    SSD_SEND(0X5D,0x30);
    SSD_SEND(0X5E,0x01);
    SSD_SEND(0X5F,0x02);
    SSD_SEND(0X60,0x30);
    SSD_SEND(0X61,0x03);
    SSD_SEND(0X62,0x04);
    SSD_SEND(0X63,0x6A);
    SSD_SEND(0X64,0x6A);
    SSD_SEND(0X65,0x35);
    SSD_SEND(0X66,0x0D);
    SSD_SEND(0X67,0x73);
    SSD_SEND(0X68,0x0B);
    SSD_SEND(0X69,0x6A);
    SSD_SEND(0X6A,0x6A);
    SSD_SEND(0X6B,0x08);
    SSD_SEND(0X6C,0x00);
    SSD_SEND(0X6D,0x04);
    SSD_SEND(0X6E,0x00);
    SSD_SEND(0X6F,0x88);
    SSD_SEND(0X70,0x00);
    SSD_SEND(0X71,0x00);
    SSD_SEND(0X72,0x06);
    SSD_SEND(0X73,0x7B);
    SSD_SEND(0X74,0x00);
    SSD_SEND(0X75,0xBC);
    SSD_SEND(0X76,0x00);
    SSD_SEND(0X77,0x0D);
    SSD_SEND(0X78,0x1B);
    SSD_SEND(0X79,0x00);
    SSD_SEND(0X7A,0x00);
    SSD_SEND(0X7B,0x00);
    SSD_SEND(0X7C,0x00);
    SSD_SEND(0X7D,0x03);
    SSD_SEND(0X7E,0x7B);
    
    SSD_SEND(0XE0,0x00);
    SSD_SEND(0XE6,0x02);
    SSD_SEND(0XE7,0x06);
    
    
    SSD_SEND(0XE0,0x00);
    
    SSD_SEND(0X11,0x00);
    //REGFLAG_DELAY,120
    //SLP OUT
    //SSD_CMD(0x11);      // SLPOUT
    sunxi_lcd_delay_ms(120);


    
    SSD_SEND(0X29,0x00);
    //REGFLAG_DELAY,5
    //DISP ON
    //SSD_CMD(0x29);        // DSPON
    sunxi_lcd_delay_ms(5);

    //SSD_CMD(0x35);    
    SSD_SEND(0X35,0x00);

    /

    

    //SLP OUT

    //SSD_CMD(0x11);      // SLPOUT
    //sunxi_lcd_delay_ms(120);


    //DISP ON

    //SSD_CMD(0x29);      // DSPON
    //sunxi_lcd_delay_ms(5);
}
#endif
 

 

 

[disp]
disp_init_enable         = 1
disp_mode                = 0

screen0_output_type      = 1
screen0_output_mode      = 4

screen1_output_type      = 1
screen1_output_mode      = 4

fb0_format               = 0
fb0_width                = 0
fb0_height               = 0

fb1_format               = 0
fb1_width                = 0
fb1_height               = 0

lcd0_backlight           = 50
lcd1_backlight           = 50

lcd0_bright              = 50
lcd0_contrast            = 50
lcd0_saturation          = 57
lcd0_hue                 = 50

lcd1_bright              = 50
lcd1_contrast            = 50
lcd1_saturation          = 57
lcd1_hue                 = 50

;----------------------------------------------------------------------------------
;lcd0 configuration

;lcd_if:               0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp; 6:extend dsi
;lcd_x:                lcd horizontal resolution
;lcd_y:                lcd vertical resolution
;lcd_width:            width of lcd in mm
;lcd_height:           height of lcd in mm
;lcd_dclk_freq:        in MHZ unit
;lcd_pwm_freq:         in HZ unit
;lcd_pwm_pol:          lcd backlight PWM polarity
;lcd_pwm_max_limit     lcd backlight PWM max limit(<=255)

;lcd_hbp:              hsync back porch
;lcd_ht:               hsync total cycle
;lcd_vbp:              vsync back porch
;lcd_vt:               vysnc total cycle
;lcd_hspw:             hsync plus width
;lcd_vspw:             vysnc plus width


;lcd_lvds_if:          0:single link;  1:dual link
;lcd_lvds_colordepth:  0:8bit; 1:6bit
;lcd_lvds_mode:        0:NS mode; 1:JEIDA mode
;lcd_frm:              0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither
;lcd_io_phase:         0:noraml; 1:intert phase(0~3bit: vsync phase; 4~7bit:hsync phase;
;                      8~11bit:dclk phase; 12~15bit:de phase)
;lcd_gamma_en          lcd gamma correction enable
;lcd_bright_curve_en   lcd bright curve correction enable
;lcd_cmap_en           lcd color map function enable
;deu_mode              0:smoll lcd screen; 1:large lcd screen(larger than 10inch)
;lcdgamma4iep:         Smart Backlight parameter, lcd gamma vale * 10;
;                      decrease it while lcd is not bright enough; increase while lcd is too bright
;smart_color           90:normal lcd screen 65:retina lcd screen(9.7inch)
;----------------------------------------------------------------------------------


;params->dsi.vertical_sync_active=2

;params->dsi.vertical_backporch=16

;params->dsi.vertical_frontporch=10  ?

;params->dsi.horizontal_sync_active=10

;params->dsi.horizontal_backporch=45
;params->dsi.horizontal_frontporch=45  ?
;params->dsi.PLL_CLOCK=212


[lcd0]
lcd_used            = 1
lcd_driver_name     = "JD9366_BOE7P"

lcd_if              = 4
lcd_x               = 800
lcd_y               = 1280
lcd_width           = 155
lcd_height          = 86

lcd_dclk_freq       = 53
lcd_pwm_used        = 1
lcd_pwm_ch          = 0
lcd_pwm_freq        = 10000
lcd_pwm_pol         = 1
lcd_pwm_max_limit   = 255


lcd_hbp             = 45
lcd_ht              = 900
lcd_hspw            = 20

lcd_vbp             = 16
lcd_vt              = 1340
lcd_vspw            = 9  


;lcd_hbp             = 50
;lcd_ht              = 900
;lcd_hspw            = 25
;lcd_vbp             = 10
;lcd_vt              = 1340 
;lcd_vspw            = 2

lcd_lvds_if         = 0
lcd_lvds_colordepth = 0
lcd_lvds_mode       = 0
lcd_frm             = 1
lcd_hv_clk_phase    = 0
lcd_hv_sync_polarity = 0

lcd_dsi_if          = 0
lcd_dsi_lane        = 4
lcd_dsi_format      = 0
lcd_dsi_te          = 0

lcd_gamma_en        = 0
lcd_bright_curve_en = 0
lcd_cmap_en         = 0

deu_mode            = 0
lcdgamma4iep        = 22
smart_color         = 90

lcd_bl_en           = port:PB08<1><0><default><1>
;reset
lcd_gpio_0          = port:PD22<1><0><default><1>

lcd_power     = "vcc-mipi"
lcd_power1    = "vcc-lcd"  
lcd_pin_power = "vcc-dsi"


 

<think>好的,我现在需要帮用户解决关于全志JD9365驱动程序的问题。用户提到他们想寻找相关的驱动下载和安装方法。首先,我得回顾一下用户提供的引用内容,看看有没有直接相关的信息。 用户引用了三个来源。引用[1]和[2]都提到了全志F133芯片与JD9365液晶屏的驱动配置,特别是引用[2]中提到了具体的项目地址,可能包含驱动文件。引用[3]虽然提到的是JD9366和fx070,但可能配置参数有参考价值,尤其是关于屏幕分辨率和接口的设置,比如mipi接口的参数。不过用户的问题集中在JD9365,所以重点应该放在前两个引用上。 接下来,我需要确定用户需要的驱动类型。全志驱动通常包括硬件接口配置、内核驱动以及可能的显示参数设置。根据引用[1]和[2],驱动配置涉及硬件连接、软件配置和调试步骤,这可能意味着需要修改设备树文件(dts)或者内核配置。用户可能需要下载相关的配置文件或示例代码。 用户的问题是关于下载和安装驱动,所以需要指导他们如何获取这些资源。引用[2]中的项目地址是一个关键点,需要直接提供给用户。同时,安装步骤可能包括下载代码、配置设备树、编译内核模块等。需要注意的是,全志芯片通常使用Linux内核,所以驱动配置可能涉及内核模块的编译和加载,或者修改设备树文件以匹配硬件参数。 另外,用户可能遇到的问题包括硬件连接是否正确、软件配置参数是否匹配屏幕规格(如分辨率、时钟频率等)。引用[3]中的参数如lcd_x、lcd_y、lcd_dclk_freq等可以作为参考,但需要根据JD9365的具体规格调整。例如,JD9365的分辨率可能需要不同的参数设置,用户需要查阅数据手册确认。 可能的步骤包括:1. 从提供的项目地址下载驱动配置文件;2. 根据硬件连接修改设备树中的相关节点;3. 编译内核或模块;4. 加载驱动并测试显示输出。此外,用户可能需要安装全志提供的SDK或工具链来编译驱动。 还需要考虑用户的操作系统环境,是全志提供的Linux版本还是其他系统。如果是Linux,可能需要交叉编译环境。同时,调试过程中可能需要查看内核日志(dmesg)来排查驱动加载的问题,比如接口是否初始化成功、屏幕是否被正确识别。 用户可能还会遇到屏幕不显示、显示异常等问题,这时候需要检查时钟频率、电压配置、GPIO设置是否正确。引用[1]中提到调试过程,可能需要使用示波器或逻辑分析仪验证信号,但对于一般用户来说,可能只能通过软件配置和日志来调整。 最后,要确保用户按照文档步骤操作,并提醒他们注意备份原有配置,避免系统无法启动的情况。如果用户没有相关经验,可能需要更详细的指导或社区支持。</think>### 全志JD9365液晶屏驱动下载与安装指南 #### 1. **驱动资源获取** 根据引用[^2],全志F133与JD9365液晶屏的驱动配置操作流程已在开源平台公开,包含硬件连接、软件配置及调试步骤。 - **项目地址**:https://gitcode.com/Open-source-documentation-tutorial/0ebb6 - **操作流程**:下载后解压资源文件,重点关注以下内容: - `lcd_driver`目录(包含JD9365驱动源码) - `device-tree`目录(设备树配置文件,如`lcd0.dtsi`) - `documentation`目录(配置手册和调试指南) #### 2. **驱动安装与配置** **步骤1:硬件连接验证** 确保JD9365液晶屏与全志F133芯片的物理接口(如MIPI、SPI)正确连接,包括电源、时钟线和数据线[^1]。 **步骤2:修改设备树文件** 在Linux内核设备树中配置屏幕参数,参考引用[^3]中类似屏幕的配置格式,例如: ```c lcd_driver_name = "JD9365"; lcd_if = 4; // MIPI接口类型 lcd_x = 800; // 水平分辨率 lcd_y = 480; // 垂直分辨率 lcd_dclk_freq = 60; // 像素时钟频率(MHz) ``` **步骤3:编译与烧录** - 使用全志提供的编译工具链(如`Tina SDK`)编译内核和设备树。 - 将生成的固件烧录至开发板,并重启系统。 **步骤4:调试与验证** - 通过`dmesg`查看内核日志,确认驱动加载成功。 - 使用`fbset`命令检查屏幕分辨率和刷新率是否匹配配置参数。 #### 3. **常见问题与解决** - **问题1:屏幕无显示** 检查电源电压、背光控制信号及MIPI信号线连接。 - **问题2:显示错位或花屏** 调整设备树中的`lcd_x`、`lcd_y`和`lcd_dclk_freq`参数,确保与屏幕规格书一致。 ####
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值