RK3588使能UART串口设备,并生成/dev/ttySx设备节点,GPIO控制

本文详细介绍了如何在rk3588平台的Linux环境中配置UART设备,包括在DTS文件中添加节点,调整GPIO引脚,以及编写驱动代码以生成/dev/ttySx设备节点并设置波特率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、如何在rk3588使能uart设备,并生成/dev/ttySx设备节点

1.1 dts中添加对应的节点

1.1.1 在Y:\rk3588_android\kernel-5.10\arch\arm64\boot\dts\rockchip\rk3588s.dtsi找到串口3肯串口9的名称

    uart3: serial@feb60000 {
        compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
        reg = <0x0 0xfeb60000 0x0 0x100>;
        interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
        clock-names = "baudclk", "apb_pclk";
        reg-shift = <2>;
        reg-io-width = <4>;
        dmas = <&dmac0 12>, <&dmac0 13>;
        pinctrl-names = "default";
        pinctrl-0 = <&uart3m1_xfer>;
        status = "disabled";
    };
    uart9: serial@febc0000 {
        compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
        reg = <0x0 0xfebc0000 0x0 0x100>;
        interrupts = <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>;
        clock-names = "baudclk", "apb_pclk";
        reg-shift = <2>;
        reg-io-width = <4>;
        dmas = <&dmac2 11>, <&dmac2 12>;
        pinctrl-names = "default";
        pinctrl-0 = <&uart9m1_xfer>;
        status = "disabled";
    };

由此可知名称为uart3、uart9.

1.1.2 在Y:\rk3588_android\kernel-5.10\arch\arm64\boot\dts\rockchip\rk3588s-pinctrl.dtsi查找RK_PA6、RK_PA5对应哪个节点,可知对应uart3m2_xfer,所以下面pinctrl的节点应该写uart3m2_xfer。uart9类似

        /omit-if-no-ref/
        uart3m2_xfer: uart3m2-xfer {
            rockchip,pins =
                /* uart3_rx_m2 */
                <4 RK_PA6 10 &pcfg
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值