您尚未登录。

楼主 #1 2019-05-09 11:48:56

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,191
积分: 9197

H5的spi控制器驱动, 可以通过 gpio 控制 spi 片选 (转载)

离线

楼主 #2 2019-05-09 11:50:52

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,191
积分: 9197

Re: H5的spi控制器驱动, 可以通过 gpio 控制 spi 片选 (转载)

在设备树的文件 arch/arm64/boot/dts/allwinner/sunxi-h3-h5.dtsi里,厂家已写好两个spi控制器相关的设备节点:

    spi0_pins: spi0 {
        pins = "PC0", "PC1", "PC2", "PC3";
        function = "spi0";
    };

    spi1_pins: spi1 {
        pins = "PA15", "PA16", "PA14", "PA13";
        function = "spi1";
    };


spi0: spi@01c68000 {
    compatible = "allwinner,sun8i-h3-spi";
    reg = <0x01c68000 0x1000>;
    interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
    clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>;
    clock-names = "ahb", "mod";
    dmas = <&dma 23>, <&dma 23>;
    dma-names = "rx", "tx";
    pinctrl-names = "default";
    pinctrl-0 = <&spi0_pins>;
    resets = <&ccu RST_BUS_SPI0>;
    status = "disabled";
    #address-cells = <1>;
    #size-cells = <0>;
};

spi1: spi@01c69000 {
    compatible = "allwinner,sun8i-h3-spi";
    reg = <0x01c69000 0x1000>;
    interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
    clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>;
    clock-names = "ahb", "mod";
    dmas = <&dma 24>, <&dma 24>;
    dma-names = "rx", "tx";
    pinctrl-names = "default";
    pinctrl-0 = <&spi1_pins>;
    resets = <&ccu RST_BUS_SPI1>;
    status = "disabled";
    #address-cells = <1>;
    #size-cells = <0>;
};



在板级主要的设备树文件 arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts:

&pio {
...
    spi0_cs_pins: spi0_cs_pins {
        pins = "PC3", "PA6";
        function = "gpio_out";
    };
};

&spi0 {
    /* needed to avoid dtc warning */
    #address-cells = <1>;
    #size-cells = <0>;

    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&spi0_pins &spi0_cs_pins>;
    cs-gpios = <&pio 2 3 GPIO_ACTIVE_HIGH>, <&pio 0 6 GPIO_ACTIVE_HIGH>;
...

离线

楼主 #3 2019-05-09 11:51:52

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,191
积分: 9197

Re: H5的spi控制器驱动, 可以通过 gpio 控制 spi 片选 (转载)

也就说,理论上V3s也 可以通过配置设备树, 使用 gpio 完成片选, 实现 SPI 复用。

未测试
未测试
未测试

离线

楼主 #4 2019-07-09 17:34:38

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,191
积分: 9197

Re: H5的spi控制器驱动, 可以通过 gpio 控制 spi 片选 (转载)

手动 up,路过有闲钱有闲心的大神可以测试一下

离线

楼主 #5 2019-07-12 13:45:35

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,191
积分: 9197

Re: H5的spi控制器驱动, 可以通过 gpio 控制 spi 片选 (转载)

QQ20190712134352.jpg

QQ20190712134356.png


感谢QQ群的 @龙涎香 网友, ta 在 2019/07/09 18:27:40

验证过了,是可以的,多路复用.

离线

#6 2019-11-09 11:33:43

ifree64
会员
注册时间: 2019-06-27
已发帖子: 66
积分: 66

Re: H5的spi控制器驱动, 可以通过 gpio 控制 spi 片选 (转载)

我看了韦东山的SPI驱动视频,不知道是否视频使用的版本太老了,没有用到设备树,我在内核代码里也没有找到(不会找)V3s的SPI驱动代码。不知道现在的内核版本,想使用SPI来驱动一个外设芯片,该怎么做。
期待大神能指点一二。

离线

#7 2019-11-09 11:53:41

jimmy
会员
注册时间: 2017-10-29
已发帖子: 316
积分: 315

Re: H5的spi控制器驱动, 可以通过 gpio 控制 spi 片选 (转载)

是什么芯片?如果linux已有驱动配置驱动和dts就可以了。

离线

#8 2020-04-16 15:10:43

歌以咏志
会员
注册时间: 2019-09-21
已发帖子: 215
积分: 206

Re: H5的spi控制器驱动, 可以通过 gpio 控制 spi 片选 (转载)

也就是说,我现在用SPI FLASH作为S3/V3s的存储器, 还能挂一个ST7789这种SPI LCD吗?

离线

#9 2020-07-02 16:46:05

哇酷小二
管理员
注册时间: 2020-04-22
已发帖子: 2,452
积分: 1902

Re: H5的spi控制器驱动, 可以通过 gpio 控制 spi 片选 (转载)

歌以咏志 说:

也就是说,我现在用SPI FLASH作为S3/V3s的存储器, 还能挂一个ST7789这种SPI LCD吗?


可以, 亲测可用。

https://whycan.cn/t_4774.html#p48764

&pio {
        spi0_cs_pins: spi0_cs_pins {
                pins = "PC3", "PH6";
                function = "gpio_out";
        };
};

&spi0 {
        status ="okay";

        pinctrl-names = "default";
        pinctrl-0 = <&spi0_pins &spi0_cs_pins>;
        cs-gpios = <&pio 2 3 GPIO_ACTIVE_HIGH>, <&pio 7 6 GPIO_ACTIVE_HIGH>;

        mx25l25635e:mx25l25635e@0 {
                compatible = "jedec,spi-nor";
                reg = <0x0>;
                spi-max-frequency = <50000000>;
                #address-cells = <1>;
                #size-cells = <1>;
        };


    panel@0 {
            compatible = "sitronix,st7789v";
            reg = <1>;
            reset-gpios = <&pio 2 4 GPIO_ACTIVE_HIGH>;//PC4
            dc-gpios = <&pio 2 7 GPIO_ACTIVE_LOW>;//PC7
            /*backlight = <&pwm_bl>;*/
            led-gpios = <&pio 7 0 GPIO_ACTIVE_LOW>;//PH0
            spi-max-frequency = <50000000>;
            spi-cpol;
            spi-cpha;
            buswidth = <8>;
            rotate = <270>;
            rgb;
            fps = <30>;
            debug = <1>;
    };

离线

#10 2021-07-12 17:12:41

树先生
会员
注册时间: 2021-03-04
已发帖子: 12
积分: 7.5

Re: H5的spi控制器驱动, 可以通过 gpio 控制 spi 片选 (转载)

该评论内容与本帖子无关,鼓励各位坑友积极发言讨论与帖子有关的内容!

离线

  • 不通过:与技术无关

#11 2021-07-14 13:30:04

sunxiang
会员
注册时间: 2021-05-05
已发帖子: 96
积分: 43

Re: H5的spi控制器驱动, 可以通过 gpio 控制 spi 片选 (转载)

晕哥,H5是不是和H3硬件兼容呀,还有就是带设备树的LINUX是从哪一版本开始的呀?全志V3S,带设备树LINUX主流版本版本是哪一个呀?

离线

#12 2021-07-14 13:59:37

哇酷小二
管理员
注册时间: 2020-04-22
已发帖子: 2,452
积分: 1902

Re: H5的spi控制器驱动, 可以通过 gpio 控制 spi 片选 (转载)

sunxiang 说:

晕哥,H5是不是和H3硬件兼容呀,还有就是带设备树的LINUX是从哪一版本开始的呀?全志V3S,带设备树LINUX主流版本版本是哪一个呀?

① 不清楚是否兼容
② linux3.10

离线

页脚

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

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