您尚未登录。

楼主 #1 2020-11-03 10:37:22

xpf170702031
会员
注册时间: 2020-10-28
已发帖子: 11
积分: 11

F1C200S使用panel_simple驱动SPI+RGB液晶控制芯片

控制芯片型号ST7701S,接口使用
第一种方式:
1.使用panel-sitronix-st7789v.c仿造一个7701s出来,并且编译成模块
static const struct drm_display_mode default_mode = {
    .clock = 27500,
    .hdisplay = 960,
    .hsync_start = 960 + 38,
    .hsync_end = 960 + 38 + 12,
    .htotal = 960 + 38 + 12 + 12,
    .vdisplay = 320,
    .vsync_start = 320 + 18,
    .vsync_end = 320 + 18 + 8,
    .vtotal = 320 + 18 + 8 + 4,
    .vrefresh = 60,
};

static int st7789v_prepare(struct drm_panel *panel)
{
    struct st7789v *ctx = panel_to_st7789v(panel);
    int ret;

    ret = regulator_enable(ctx->power);
    if (ret)
        return ret;
    gpiod_set_value(ctx->reset, 1);
    msleep(20);
    gpiod_set_value(ctx->reset, 0);
    msleep(20);
    gpiod_set_value(ctx->reset, 1);
    msleep(120);
    /* We need to wait 120ms after a sleep out command */

    ST7789V_TEST(ret, st7789v_write_command(ctx,0xff));
    ST7789V_TEST(ret, st7789v_write_data(ctx, 0x77));
    ST7789V_TEST(ret, st7789v_write_data(ctx, 0x01));
    ST7789V_TEST(ret, st7789v_write_data(ctx, 0x00));
    ST7789V_TEST(ret, st7789v_write_data(ctx, 0x00));
    ST7789V_TEST(ret, st7789v_write_data(ctx, 0x13));
..........省略初始化命令和数据

dts修改(在spi设备节点里面增加):
st7701s@0x01 {
        compatible = "sitronix,st7701s";
        reg = <1>;
        spi-max-frequency = <32000000>;
        buswidth = <8>;
        reset-gpios = <&pio 4 11 GPIO_ACTIVE_LOW>;
        backlight = <&pwm_bl>;
        status = "okay";
        port {
            panel_input: endpoint {
                        remote-endpoint = <&tcon0_out_lcd>;
                    };
            };
        };

结果:
不能驱动出fb0,原因未知,请各路大神给点意见,分析分析
FluxBB bbcode 测试

离线

#2 2020-11-03 10:53:54

孤星泪
会员
注册时间: 2020-03-18
已发帖子: 235
积分: 231

Re: F1C200S使用panel_simple驱动SPI+RGB液晶控制芯片

前面那个方框应该是mtp服务程序导致usb的log,和这个没有关系。

建议挂逻辑分析仪看下时序对不对,

顺便把屏幕的手册上传一下,

是spi 9bit 下降沿吗?

离线

楼主 #3 2020-11-03 19:23:29

xpf170702031
会员
注册时间: 2020-10-28
已发帖子: 11
积分: 11

Re: F1C200S使用panel_simple驱动SPI+RGB液晶控制芯片

孤星泪 说:

前面那个方框应该是mtp服务程序导致usb的log,和这个没有关系。

建议挂逻辑分析仪看下时序对不对,

顺便把屏幕的手册上传一下,

是spi 9bit 下降沿吗?

是RGB+SPI 3线9bit 上升沿

芯片手册如下
https://whycan.com/files/members/5375/ST7701S_SPEC_%20V1_3.pdf

离线

#4 2020-12-05 14:00:58

sjshe3326
会员
注册时间: 2020-10-19
已发帖子: 57
积分: 54.5

Re: F1C200S使用panel_simple驱动SPI+RGB液晶控制芯片

我调试SPI的LCD可以显示,SPI输出感觉会有点数据错误

离线

楼主 #5 2020-12-05 16:42:31

xpf170702031
会员
注册时间: 2020-10-28
已发帖子: 11
积分: 11

Re: F1C200S使用panel_simple驱动SPI+RGB液晶控制芯片

我已经调试好了,用gpio模拟时序实现的,但是侧边界有2mm不能显示,不知道是不是要设置偏移量

离线

#6 2020-12-05 16:56:40

sjshe3326
会员
注册时间: 2020-10-19
已发帖子: 57
积分: 54.5

Re: F1C200S使用panel_simple驱动SPI+RGB液晶控制芯片

对的 我也发现SPI输出数据显示上会有偏移一点。

离线

#7 2021-10-26 15:01:51

HongSang
会员
注册时间: 2021-08-12
已发帖子: 41
积分: 15.5

Re: F1C200S使用panel_simple驱动SPI+RGB液晶控制芯片

xpf170702031 说:

我已经调试好了,用gpio模拟时序实现的,但是侧边界有2mm不能显示,不知道是不是要设置偏移量

楼主能分享下f1c100s如何用gpio模拟spi吗求指导

离线

#8 2021-10-31 18:06:33

HongSang
会员
注册时间: 2021-08-12
已发帖子: 41
积分: 15.5

Re: F1C200S使用panel_simple驱动SPI+RGB液晶控制芯片

xpf170702031 说:

我已经调试好了,用gpio模拟时序实现的,但是侧边界有2mm不能显示,不知道是不是要设置偏移量

请问gpio模拟时序是在panel-sitronix-st7701.c里实现的吗

离线

#9 2022-05-24 17:33:00

leo chung
会员
注册时间: 2022-05-24
已发帖子: 5
积分: 5

Re: F1C200S使用panel_simple驱动SPI+RGB液晶控制芯片

我是在uboot里参考了drivers/video/hitachi_tx18d42vm_lcd.c写了一个gpio 模拟9bitspi 初始化了液晶屏函数,然后在drivers/video/sunxi/sunxi_display.c 里初始化LCD前调用这个函数。

离线

#10 2022-06-20 20:00:42

go369
会员
注册时间: 2022-06-07
已发帖子: 11
积分: 37

Re: F1C200S使用panel_simple驱动SPI+RGB液晶控制芯片

帧率和速度有测试结果了吗?

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn