news 2026/6/10 5:05:12

20251222给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-6.1】系统时拿掉type-C0的fusb302时适配adb功能dr_mode = “periph

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
20251222给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-6.1】系统时拿掉type-C0的fusb302时适配adb功能dr_mode = “periph

20251222给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-6.1】系统时拿掉type-C0的fusb302时适配adb功能dr_mode = "peripheral";
2025/12/22 20:28


缘起:给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-6.1】后,type-C0口改成4线的USB2.0口了。
可以刷机,由于没有fusb302芯片,相关DTS也需要做响应的修改以便使用adb功能!

虽然DEBUG能用,adb的功能属于锦上添花的功能,但是有些时候adb不能用还是特别不得劲!


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


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


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


1、根据前面的调试的适配type-C1的USB3.0功能【接热像仪】的经验。
可以知道:type-C0拿掉type-C0的fusb302时适配adb功能,可能只需要如下【飞凌linux R4/Buildroot】3个代码块!

E:\fpga_OK3588_Linux_fs\kernel\arch\arm64\boot\dts\rockchip\OK3588-C-common.dtsi

&usbdp_phy0_u3 {
status = "okay";
};

&usbdrd3_0 {
status = "okay";
};

&usbdrd_dwc3_0 {
dr_mode = "peripheral";
usb-role-switch;
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
dwc3_0_role_switch: endpoint@0 {
reg = <0>;
remote-endpoint = <&usbc0_role_sw>;
};
};
};


2、使用Rockchip瑞芯微原厂的SDK,先适配好OK3588-C开发板,暂时先拼比了type-C0。
Y:\new_disk_4t\wyb\A8\rk3588_linux6.1_release_v1.2.0_20241220\kernel-6.1\arch\arm64\boot\dts\rockchip\rk3588-evb7-v11.dtsi
//&usbdrd_dwc3_0 {
// dr_mode = "otg";
// usb-role-switch;
// port {
// #address-cells = <1>;
// #size-cells = <0>;
// dwc3_0_role_switch: endpoint@0 {
// reg = <0>;
// remote-endpoint = <&usbc0_role_sw>;
// };
// };
//};

修改为:

&usbdp_phy0_u3 {
status = "okay";
};

&usbdrd3_0 {
status = "okay";
};

&usbdrd_dwc3_0 {
dr_mode = "peripheral";
usb-role-switch;
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
dwc3_0_role_switch: endpoint@0 {
reg = <0>;
//remote-endpoint = <&usbc0_role_sw>;
};
};
};


3、
&u2phy3_host {
phy-supply = <&vcc5v0_host>;
};

&usbdp_phy0 {
orientation-switch;
svid = <0xff01>;
sbu1-dc-gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_HIGH>;
sbu2-dc-gpios = <&gpio4 RK_PA1 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>;
};
};
};

&usbdp_phy1 {
rockchip,dp-lane-mux = <0 1 2 3>;
};

&usbdrd_dwc3_0 {
dr_mode = "otg";
usb-role-switch;
port {
#address-cells = <1>;
#size-cells = <0>;
dwc3_0_role_switch: endpoint@0 {
reg = <0>;
remote-endpoint = <&usbc0_role_sw>;
};
};
};

修改为:

&u2phy3_host {
phy-supply = <&vcc5v0_host>;
};

//&usbdp_phy0 {
// orientation-switch;
// svid = <0xff01>;
// sbu1-dc-gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_HIGH>;
// sbu2-dc-gpios = <&gpio4 RK_PA1 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>;
// };
// };
//};

&usbdp_phy1 {
status = "okay";
orientation-switch;
rockchip,dp-lane-mux = <2 3>;
svid = <0xff01>;
sbu1-dc-gpios = <&gpio4 RK_PA1 GPIO_ACTIVE_HIGH>;
sbu2-dc-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;

port {
#address-cells = <1>;
#size-cells = <0>;
usbdp_phy1_orientation_switch: endpoint@0 {
reg = <0>;
//remote-endpoint = <&usbc1_orien_sw>;
};

usbdp_phy1_dp_altmode_mux: endpoint@1 {
reg = <1>;
//remote-endpoint = <&dp1_altmode_mux>;
};
};
};


&usbdp_phy0_u3 {
status = "okay";
};

&usbdrd3_0 {
status = "okay";
};

&usbdrd_dwc3_0 {
dr_mode = "peripheral";
usb-role-switch;
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
dwc3_0_role_switch: endpoint@0 {
reg = <0>;
//remote-endpoint = <&usbc0_role_sw>;
};
};
};


//&u2phy0 {
// status = "okay";
//};


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 10:14:08

ESP32 IDF STA模式连接稳定性优化实践

ESP32 IDF STA模式连接稳定性优化实践&#xff1a;从“断网失联”到“永不掉线”的实战之路你有没有遇到过这样的场景&#xff1f;设备通电&#xff0c;Wi-Fi顺利连上&#xff0c;数据正常上报。可一旦路由器重启、信号波动&#xff0c;或者家里有人开了微波炉——你的ESP32就像…

作者头像 李华
网站建设 2026/6/10 11:58:28

原子操作(Atomic Operations)

原子操作&#xff08;Atomic Operations&#xff09;是并发编程和系统底层开发中的核心概念&#xff0c;指不可被中断的、要么全部执行成功、要么完全不执行的操作。在多线程或多处理器环境中&#xff0c;原子操作确保对共享数据的访问是线程安全的&#xff0c;无需额外加锁。一…

作者头像 李华
网站建设 2026/6/10 13:54:34

ESP32开发环境搭建:Arduino IDE手把手教程

从零开始玩转ESP32&#xff1a;手把手教你用Arduino IDE点亮第一盏灯 你是不是也曾在物联网项目中看到别人轻松实现Wi-Fi控制、蓝牙通信&#xff0c;而自己却卡在“环境怎么都配不好”这一步&#xff1f;别急&#xff0c;今天我们就来彻底解决这个让人头疼的入门难题。 我们不…

作者头像 李华
网站建设 2026/6/10 11:44:15

Windows上的AirPods智能管家:让千元耳机物超所值

还在为Windows电脑上使用AirPods的各种不便而烦恼吗&#xff1f;AirPodsDesktop这款开源工具&#xff0c;就像给你的AirPods配了一位贴心的智能管家&#xff0c;让你的使用体验焕然一新。 【免费下载链接】AirPodsDesktop ☄️ AirPods desktop user experience enhancement pr…

作者头像 李华
网站建设 2026/6/9 23:30:11

WorkshopDL终极指南:解锁Steam创意工坊模组下载新体验

WorkshopDL终极指南&#xff1a;解锁Steam创意工坊模组下载新体验 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否曾经遇到过这样的困境&#xff1a;在其他平台购买了心仪…

作者头像 李华
网站建设 2026/6/10 11:40:23

buuctf中的jarvisoj_fm

首先checksec检查保护机制&#xff1a;-32位程序-开启了栈溢出保护和栈不可执行保护接下来使用反汇编工具IDA进行分析&#xff1a;发现没有后门函数&#xff0c;不过有printf函数&#xff0c;可触发格式化字符串漏洞&#xff0c;再看下面&#xff0c;只要让x的值等于4&#xff…

作者头像 李华