SDK:orangepizero3 6.1.31
一、硬件连接
orangepi zero3 | ips显示屏 |
GND | GND |
3.3V | 3.3V |
SPI0_CLK(PH6) | SCL |
SPI0_MOSI(PH7) | SDA |
PC14 | RES |
PC15 | DC |
PC9 | BLK |
二、移植
1.1修改设备树,添加st7789v节点
文件路径:arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero3.dts
&spi0 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins>;
st7789v@0{
compatible = "sitronix,st7789v";
reg = <0>;
status="okay";
spi-max-frequency = <48000000>;
rotate = <0>;
fps = <60>;
buswidth = <8>;
dc = <&pio 2 15 GPIO_ACTIVE_HIGH>;
reset = <&pio 2 14 GPIO_ACTIVE_HIGH>;
led = <&pio 2 9 GPIO_ACTIVE_HIGH>;
debug = <0>;
};
};
1.2HDMI输出关闭,不关闭spi屏不会有显示
文件路径:arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero3.dts
&hdmi {
//hvcc-supply = <®_bldo1>;
status = "disabled";
};
1.3配置spi管脚,并上拉管脚
文件路径:arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
spi0_pins: spi0-pins {
pins = "PH6", "PH7";
function = "spi1";
bias-pull-up; //管脚上拉
};
spi0: spi@5010000 {
compatible = "allwinner,sun50i-h616-spi",
"allwinner,sun8i-h3-spi";
reg = <0x05011000 0x1000>;
interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
clocks