您尚未登录。

楼主 #1 2019-10-12 14:41:15

xbgzy
会员
注册时间: 2019-10-07
已发帖子: 19
积分: 19

f1c100s驱动st7789v的问题

刚接触f1c100s,画了一个f1c100s板子(附件为原理图),液晶屏接口接的LCD分辨率240*320,驱动为ST7789V,驱动接口是SPI+RGB,SPI负责初始化,SPI为3线制(没有命令/数据管脚),SPI接到SPI0的SPI_MOSI(PC3)、SPI_SCK(PC0)和CS(PE4),PE4是普通GPIO,RGB接口接的管脚与荔枝派NANO一样。通过论坛得知ST7789V可以用SPI驱动,查阅官方指导SPI TFT都是SPI四线驱动,而这个是3线,于是参考网站驱动ili9341教程把它配置为SPI TFT。
设备树修改的部分如下:

        spi0: spi@1c05000 {
            compatible = "allwinner,suniv-f1c100s-spi",
                     "allwinner,sun8i-h3-spi";
            reg = <0x01c05000 0x1000>;
            interrupts = <10>;
            clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_BUS_SPI0>;
            clock-names = "ahb", "mod";       
                       num-cs = <2>;
                       cs-gpios = <0>,<&pio 4 4 GPIO_ACTIVE_LOW>;
               
            resets = <&ccu RST_BUS_SPI0>;
            status = "disabled";
            #address-cells = <1>;
            #size-cells = <0>;
        };

&spi0 {
    pinctrl-names = "default";
    pinctrl-0 = <&spi0_pins_a>;
    status = "okay";

    flash@0 {
        #address-cells = <1>;
        #size-cells = <1>;
        compatible = "winbond,w25q128", "jedec,spi-nor";
        reg = <0>;
        spi-max-frequency = <15000000>;
    };

    st7789v@1 {
        compatible = "sitronix,st7789v";
        reg = <1>;
        reset-gpios = <&pio 4 10 GPIO_ACTIVE_LOW>;/*上电复位,此处选的是一个空闲管脚*/
        dc-gpios = <&pio 0 0 GPIO_ACTIVE_LOW>;/*没有DC管脚,此处选的是一个空闲管脚*/
        /*backlight = <&pwm_bl>;*/
        spi-max-frequency = <15000000>;
        spi-cpol;
        spi-cpha;
        spi-3wire;
        /*bgr;*/
        buswidth = <8>;
        rotate = <270>;
        fps = <10>;
    };

};
很惭愧,目前我按照指导搭的环境编译linux一直报错:
FluxBB bbcode 测试
设备树文件编译不过去,查资料应该是头文件路径的问题,要建一个软连接到include/dt-bindings下,回头试一下。

目前先把lcd点亮,这样信心也足一点,所以问一下,我能不能用我修改的这个设备树文件编译生成dtb,替换掉荔枝派NANO资料包里打包好的TF卡的烧录文件中的dtb文件,通过TF卡启动从而点亮LCD?就是不知道荔枝派的内核文件里有没有把SPI-TFT驱动添加进去?

没找到如何上传pdf文件方法,先传上原理图的截图吧
FluxBB bbcode 测试

最近编辑记录 xbgzy (2019-10-12 14:45:14)

离线

楼主 #3 2019-10-12 15:09:07

xbgzy
会员
注册时间: 2019-10-07
已发帖子: 19
积分: 19

Re: f1c100s驱动st7789v的问题

晕哥 说:

建议在 u-boot 里面初始化 模拟/硬件 spi 初始化 SS7789V, 然后 SYNC RGB 就可以驱动液晶了。

晕哥,是不是在uboot里模拟spi接口方式初始化lcd,把它配置为mcu或rgb模式,然后把参数传给内核,内核直接用,就不需要再初始化lcd?

离线

楼主 #6 2019-10-12 16:06:56

xbgzy
会员
注册时间: 2019-10-07
已发帖子: 19
积分: 19

Re: f1c100s驱动st7789v的问题

晕哥 说:

配置成 RGB 不用传递给内核了, 按原来的流程走就可以, SYNC RGB 就是单向数据发送, PCLK, HSYNC/VSYNC, RGB666 都是 soc 给的。

嗯,明白,荔枝派的LCD应该也是单向数据发送吧

最近编辑记录 xbgzy (2019-10-12 16:08:49)

离线

楼主 #8 2019-10-12 16:21:04

xbgzy
会员
注册时间: 2019-10-07
已发帖子: 19
积分: 19

Re: f1c100s驱动st7789v的问题

晕哥 说:

对的, 这种接口就是单向的。

谢谢晕哥,我先解决编译错误的问题

离线

楼主 #10 2019-10-18 15:27:04

xbgzy
会员
注册时间: 2019-10-07
已发帖子: 19
积分: 19

Re: f1c100s驱动st7789v的问题

tobunto 说:

楼主搞定驱动st7789v问题没有,我也在弄,没法用设备树,不知道该怎么让驱动注册

目前没有,我觉得晕哥提供的方向是对的,可以在uboot里用spi初始化7789,用gpio模拟spi最直接

离线

页脚

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

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