radxa / rockchip-bsp

Linux BSP for ROCK Pi
http://rockpi.org
87 stars 43 forks source link

waveshare35b-v2 如何旋转 #16

Open put346 opened 2 years ago

put346 commented 2 years ago

/boot/hw_intfc.conf 文件中 支持 waveshare35b-v2 显示. 但是可以旋转吗? 比如添加旋转参数

intfc:dtoverlay=spi1-waveshare35b-v2:rotate=2 去旋转180度显示 ??

或者 有 spi1-waveshare35b-v2.dts 文件吗 ? 我自己去旋转 .

put346 commented 2 years ago

QAQ ???

StephenInVamrs commented 2 years ago

/boot/hw_intfc.conf 文件中 支持 waveshare35b-v2 显示. 但是可以旋转吗? 比如添加旋转参数

之前尝试用 xrandr,但是没成功。

intfc:dtoverlay=spi1-waveshare35b-v2:rotate=2 去旋转180度显示 ??

这样子是不行的。这一行并不是 kernel 参数。

或者 有 spi1-waveshare35b-v2.dts 文件吗 ? 我自己去旋转 .

这一个是源文件。https://github.com/radxa/kernel/blob/release-4.4-rockpi4/arch/arm64/boot/dts/rockchip/overlays-rockpi4/spi1-waveshare35b-v2-overlay.dts

put346 commented 2 years ago

你好找到方法旋转了 DTS文件修改方向重新生产 dtbo文件就行了 rotate = <270>; 这个地方旋转角度

put346 commented 2 years ago

请问有办法实现触摸吗 ? cs管脚没有cs1的话. 可以用目前的管脚 指定到cs1上去就行了 ? 这个驱动上没法实现 ? 或者通过 dts 文件里面代码 指定 到 cs1的触摸 ?

put346 commented 2 years ago

https://gist.github.com/mcbridejc/d060602e892f6879e7bc8b93aa3f85be 这里是 树莓派增加spi cs 管脚的 dts . 是否可以参考这个 . 让 rock4 增加触摸那个管脚设置为 cs reg1 ?

jack-ma commented 2 years ago

可以试一下,可能是可行的。

put346 commented 2 years ago

如何映射 gpio 为 SPI的 cs reg1 是否可以帮忙做一个 dts 文件我自己试试 ?

我自己对 rock 不熟悉

put346 commented 2 years ago

???? 可以帮忙搞一个吗 ?

vamrs-feng commented 1 year ago

@put346 在 stable-4.4-rk3399 分支下,你可以看到有个提交(Commit:485e4a4a34c7647503c0db923e1859d7056b1632)是支持将GPIO映射到SPI片选脚的。下面是一个例子,你可以参考一下。


例程使用的SPI2总线,采用 GPIO4_A4,GPIO4_A6 两个GPIO作为CS引脚,驱动使用内核自带的spidev

1.切换 stable-4.4-rk3399 分支 2.修改 arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4b.dts 如下,主要是cs-gpios 属性以及reg 属性

&spi2 {
    status = "okay";
    //配置 cs-gpios 属性如下
    cs-gpios = <&gpio4 4 GPIO_ACTIVE_LOW
            &gpio4 6 GPIO_ACTIVE_LOW >;

    spidev@0 {
        compatible = "rockchip,spidev";
        status = "okay";
        reg = <0>;//配置对应的reg属性
        spi-max-frequency = <500000>;
    };

    spidev@1 {
        compatible = "rockchip,spidev";
        status = "okay";
        reg = <1>;//配置对应的reg属性
        spi-max-frequency = <500000>;
    };
};

3.修改完成后在/dev 路径下有两个节点 spidev2.0 spidev2.1 分别打开测试可以看到对应的片选信号。