20260106给荣品RD-RK3588S-AHD开发板适配Rockchip原厂的Buildroot【linux-6.1】系统时适配USB3.0接口的adb功能
2026/1/6 17:20


缘起:荣品PRO-RK3566开发板适配Rockchip原厂的Buildroot【linux-5.10】系统时,eth0是默认隐藏的。
查询/询问DeepSeek之后,可以在DEBUG口/adb口通过修改/etc/network/interfaces可以在荣品PRO-RK3566开发板启动的时候默认打开eth0。
但是不想每次刷机之后都要手工改一次,想直接将修改部分编译进IMG固件中。
Buildroot【linux-6.1】系统中的eth0是可以默认启动/打开的。
只能对 Rockchip原厂的Buildroot【linux-5.10】系统 进行特别处理了!


给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-6.1】后,需要配置ssh。
驱动调试的时候DEBUG口就足够了。最多再打开一个USB接口的adb功能。【有些时候需要多一个口^_】
但是产品给客户暴露的借口就是TF卡的卡槽和以太网接口了!【应用工程师需要的ssh功能】


想实测一下TF卡的读写速度。
4线USB2.0通过adb直接拿到电脑上的速度是:31.3 MB/s
写入TF卡的速度略微低于31.3 MB/s【大概为25.56MB/s】


需要实测开发板丝印ETH1芯片RTL8211F-CG的网速。
通过ifconfig确认为eth0。

需要使用ov5645的驱动框架来适配LVDS接口的105机芯。
按照以前的经验,首先关闭I2C的读写!
结果,肯定会出现某些地方遗漏的,只能通过编译器来检查问题了!


当你把荣品RD-RK3588开发板重新适配一把,就相当于从头做了一个项目:【荣品RD-RK3588开发板】。
当然,开发板的功能都是好的,你免除了调试的过程,也就没有解决相关硬件出错的经验/机会了!


1、
Y:\new_disk_4t\wyb\RD-RK3588S-AHD\source\kernel\arch\arm64\boot\dts\rockchip98rd3588s_ahd\rk3588\rp-usb-typea-rk3588.dtsi
Y:\new_disk_4t\wyb\RD-RK3588S-AHD\rk3588_linux6.1_release_v1.2.0_20241220\kernel-6.1\arch\arm64\boot\dts\rockchip荣品\rk3588\rp-usb-typea-rk3588.dtsi

&usbdrd_dwc3_0 {
     dr_mode = "otg";
     extcon=<&u2phy0>;
     status="okay";
};
  
&u2phy0 {
     status = "okay";
};


2、
Y:\new_disk_4t\wyb\RD-RK3588S-AHD\rk3588_linux6.1_release_v1.2.0_20241220\kernel-6.1\arch\arm64\boot\dts\rockchip\rk3588s-evb.dtsi

&usbdrd_dwc3_0 {
    dr_mode = "otg";
    status = "okay";
};

修改为:

&usbdrd_dwc3_0 {
     dr_mode = "otg";
     extcon=<&u2phy0>;
     status="okay";
};


3、
Y:\new_disk_4t\wyb\RD-RK3588S-AHD\rk3588_linux6.1_release_v1.2.0_20241220\kernel-6.1\arch\arm64\boot\dts\rockchip\rk3588s-evb4-lp4x.dtsi

    mpu6500_gyro: mpu_gyro@68 {
        compatible = "mpu6500_gyro";
        reg = <0x68>;
        irq_enable = <0>;
        poll_delay_ms = <30>;
        type = <SENSOR_TYPE_GYROSCOPE>;
        layout = <8>;
    };
};

&i2c8 {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&i2c8m2_xfer>;

    //usbc0: fusb302@22 {
    //    compatible = "fcs,fusb302";
    //    reg = <0x22>;
    //    interrupt-parent = <&gpio0>;
    //    interrupts = <RK_PC6 IRQ_TYPE_LEVEL_LOW>;
    //    pinctrl-names = "default";
    //    pinctrl-0 = <&usbc0_int>;
    //    vbus-supply = <&vbus5v0_typec>;
    //    status = "okay";
        //
    //    ports {
    //        #address-cells = <1>;
    //        #size-cells = <0>;
        //
    //        port@0 {
    //            reg = <0>;
    //            usbc0_role_sw: endpoint@0 {
    //                remote-endpoint = <&dwc3_0_role_switch>;
    //            };
    //        };
    //    };
        //
    //    usb_con: connector {
    //        compatible = "usb-c-connector";
    //        label = "USB-C";
    //        data-role = "dual";
    //        power-role = "dual";
    //        try-power-role = "sink";
    //        op-sink-microwatt = <1000000>;
    //        sink-pdos =
    //            <PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>;
    //        source-pdos =
    //            <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
        //
    //        altmodes {
    //            #address-cells = <1>;
    //            #size-cells = <0>;
        //
    //            altmode@0 {
    //                reg = <0>;
    //                svid = <0xff01>;
    //                vdo = <0xffffffff>;
    //            };
    //        };
        //
    //        ports {
    //            #address-cells = <1>;
    //            #size-cells = <0>;
        //
    //            port@0 {
    //                reg = <0>;
    //                usbc0_orien_sw: endpoint {
    //                    remote-endpoint = <&usbdp_phy0_orientation_switch>;
    //                };
    //            };
        //
    //            port@1 {
    //                reg = <1>;
    //                dp_altmode_mux: endpoint {
    //                    remote-endpoint = <&usbdp_phy0_dp_altmode_mux>;
    //                };
    //            };
    //        };
    //    };
    //};

    hym8563: hym8563@51 {
        compatible = "haoyu,hym8563";
        reg = <0x51>;
        #clock-cells = <0>;
        clock-frequency = <32768>;
        clock-output-names = "hym8563";
        pinctrl-names = "default";
        pinctrl-0 = <&hym8563_int>;
        interrupt-parent = <&gpio0>;
        interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
        wakeup-source;
        status = "okay";
    };
};

&mipi_dcphy0 {
    status = "okay";
};


&uart8 {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&uart8m1_xfer &uart8m1_ctsn>;
};

//&usbdp_phy0 {
//    orientation-switch;
//    svid = <0xff01>;
//    sbu1-dc-gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_HIGH>;
//    sbu2-dc-gpios = <&gpio1 RK_PB7 GPIO_ACTIVE_HIGH>;
//
//    port {
//        #address-cells = <1>;
//        #size-cells = <0>;
//        usbdp_phy0_orientation_switch: endpoint@0 {
//            reg = <0>;
//            remote-endpoint = <&usbc0_orien_sw>;
//        };
//
//        usbdp_phy0_dp_altmode_mux: endpoint@1 {
//            reg = <1>;
//            remote-endpoint = <&dp_altmode_mux>;
//        };
//    };
//};
//
//&usbdrd_dwc3_0 {
//    usb-role-switch;
//    port {
//        #address-cells = <1>;
//        #size-cells = <0>;
//        dwc3_0_role_switch: endpoint@0 {
//            reg = <0>;
//            remote-endpoint = <&usbc0_role_sw>;
//        };
//    };
//};

&usbhost3_0 {
    status = "disabled";
};


4、刷机验证:
Microsoft Windows [版本 10.0.19045.6466]
(c) Microsoft Corporation。保留所有权利。

C:\Users\QQ>adb shell
root@rk3588s-buildroot:/#
root@rk3588s-buildroot:/# ll
bash: ll: command not found
root@rk3588s-buildroot:/# ls -l
total 68
lrwxrwxrwx   1 root root     7 Jan  2 01:42 bin -> usr/bin
-rw-r--r--   1 root root   489 Jul 18 12:30 busybox.fragment
lrwxrwxrwx   1 root root     8 Jan  6 09:29 data -> userdata
drwxr-xr-x  13 root root  3300 Jan  6 09:33 dev
drwxr-xr-x  25 root root  4096 Jan  6 09:32 etc
drwxr-xr-x   2 root root  4096 Jan  6 09:29 info
lrwxrwxrwx   1 root root     7 Jan  2 01:42 lib -> usr/lib
lrwxrwxrwx   1 root root     3 Jan  2 01:42 lib64 -> lib
lrwxrwxrwx   1 root root    11 Jan  2 01:51 linuxrc -> bin/busybox
drwx------   2 root root 16384 Jan  6 09:30 lost+found
drwxr-xr-x  11 root root  4096 Jan  2 02:02 media
drwxr-xr-x   5 root root  4096 Jan  6 09:29 mnt
drwxr-xr-x   3 root root  4096 Jan  6 09:33 oem
drwxr-xr-x   3 root root  4096 Jan  2 02:02 opt
dr-xr-xr-x 265 root root     0 Jan  6 09:33 proc
drwxr-xr-x  17 root root  4096 Jan  6 09:29 rockchip-test
drwx------   2 root root  4096 Jan  6 09:33 root
drwxr-xr-x  11 root root   540 Jan  6 09:33 run
lrwxrwxrwx   1 root root     8 Jan  2 01:42 sbin -> usr/sbin
lrwxrwxrwx   1 root root    10 Jan  6 09:29 sdcard -> mnt/sdcard
dr-xr-xr-x  14 root root     0 Jan  6 09:33 sys
drwxr-xr-x   3 root root  4096 Jan  6 09:29 system
drwxrwxrwt   5 root root   160 Jan  6 09:33 tmp
lrwxrwxrwx   1 root root     9 Jan  6 09:29 udisk -> mnt/udisk
drwxr-xr-x   4 root root  4096 Jan  6 09:33 userdata
drwxr-xr-x   7 root root  4096 Jan  6 09:29 usr
drwxr-xr-x   6 root root  4096 Jan  6 09:30 var
lrwxrwxrwx   1 root root     6 Jan  6 09:29 vendor -> system
root@rk3588s-buildroot:/#
root@rk3588s-buildroot:/# lsusb
Bus 003 Device 001: ID 1d6b:0002
Bus 001 Device 001: ID 1d6b:0002
Bus 004 Device 001: ID 1d6b:0001
Bus 002 Device 001: ID 1d6b:0001

root@rk3588s-buildroot:/#
root@rk3588s-buildroot:/#

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐