news 2026/4/15 21:21:40

20251213给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-6.1】系统时适配type-C0

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
20251213给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-6.1】系统时适配type-C0

cat /sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/pinmux-pins
cat /sys/kernel/debug/gpio


20251213给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-6.1】系统时适配type-C0
2025/12/13 19:03


缘起:飞凌OK3588-C开发板跑Rockchip原厂的Buildroot【linux-6.1】系统时,adb可以用。
但是接USB3.0的U盘异常!
通过OTG接头接鼠标,灯不亮==鼠标不能用!


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


https://chat.deepseek.com/a/chat/s/f7616ef1-c874-4085-91dd-4ec693b7fcfe
RK3588适配Buildroot内核排查步骤
RK3588 适配buildroot linux-6.1内核
type-C0接口找不到,是什么远近?


1、
Y:\new_disk_4t\wyb\RD-RK3588\rk3588_linux6.1_release_v1.2.0_20241220\kernel-6.1\arch\arm64\boot\dts\rockchip\rk3588-evb7-v11.dtsi
【本来想尽量少改动,但是以前的EVB7V11里面内置的DTSI搞出问题了!】
//vbus5v0_typec: vbus5v0-typec {
// compatible = "regulator-fixed";
// regulator-name = "vbus5v0_typec";
// regulator-min-microvolt = <5000000>;
// regulator-max-microvolt = <5000000>;
// enable-active-high;
// gpio = <&gpio3 RK_PA6 GPIO_ACTIVE_HIGH>;
// vin-supply = <&vcc5v0_usb>;
// pinctrl-names = "default";
// pinctrl-0 = <&typec5v_pwren>;
//};

vcc3v3_lcd_n: vcc3v3-lcd0-n {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_lcd0_n";
regulator-boot-on;
enable-active-high;
//gpio = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc_1v8_s0>;
};

vcc3v3_pcie30: vcc3v3-pcie30 {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_pcie30";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
enable-active-high;
gpios = <&gpio2 RK_PC5 GPIO_ACTIVE_HIGH>;
startup-delay-us = <5000>;
vin-supply = <&vcc12v_dcin>;
};

vcc5v0_host: vcc5v0-host {
compatible = "regulator-fixed";
regulator-name = "vcc5v0_host";
regulator-boot-on;
regulator-always-on;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc5v0_usb>;
pinctrl-names = "default";
pinctrl-0 = <&vcc5v0_host_en>;
};

vbus5v0_typec0: vbus5v0-typec {
compatible = "regulator-fixed";
regulator-name = "vbus5v0_typec0";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
gpio = <&gpio0 RK_PD0 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc5v0_usb>;
pinctrl-names = "default";
pinctrl-0 = <&typec5v_pwren0>;
};

vbus5v0_typec1: vbus5v0-typec1 {
compatible = "regulator-fixed";
regulator-name = "vbus5v0_typec1";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
gpio = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc5v0_sys>;
pinctrl-names = "default";
pinctrl-0 = <&typec5v_pwren1>;
};

vcc_mipicsi0: vcc-mipicsi0-regulator {
compatible = "regulator-fixed";
gpio = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&mipicsi0_pwr>;
regulator-name = "vcc_mipicsi0";
enable-active-high;
};


2、
Y:\new_disk_4t\wyb\RD-RK3588\rk3588_linux6.1_release_v1.2.0_20241220\kernel-6.1\arch\arm64\boot\dts\rockchip\rk3588-evb7-v11.dtsi
【本来想尽量少改动,但是以前的EVB7V11里面内置的DTSI搞出问题了!】

&pinctrl {

touch {
touch_gpio: touch-gpio {
rockchip,pins =
<3 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>,
<3 RK_PC0 RK_FUNC_GPIO &pcfg_pull_up>;
};
};

usb-typec {
usbc0_int: usbc0-int {
rockchip,pins = <1 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
};

typec5v_pwren0: typec5v-pwren0 {
rockchip,pins = <0 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
};

usbc1_int: usbc1-int {
rockchip,pins = <1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>;
};

typec5v_pwren1: typec5v-pwren1 {
rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
};
};

usb {
vcc5v0_host_en: vcc5v0-host-en {
rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
};
};

//usb-typec {
// usbc0_int: usbc0-int {
// rockchip,pins = <3 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>;
// };
//
// typec5v_pwren: typec5v-pwren {
// rockchip,pins = <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
// };
//};

wireless-bluetooth {
uart9_gpios: uart9-gpios {
rockchip,pins = <4 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
};

bt_reset_gpio: bt-reset-gpio {
rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
};

bt_wake_gpio: bt-wake-gpio {
rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
};

bt_irq_gpio: bt-irq-gpio {
rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
};
};


3、核实/确认检测到USB3.0的U盘:
root@rk3588-buildroot:/# lsusb
Bus 005 Device 001: ID 1d6b:0001
Bus 003 Device 001: ID 1d6b:0001
Bus 001 Device 001: ID 1d6b:0002
Bus 004 Device 001: ID 1d6b:0002
Bus 002 Device 001: ID 1d6b:0002
root@rk3588-buildroot:/#
root@rk3588-buildroot:/# [ 2944.007550] dwc3 fc000000.usb: request 00000000d51ac3d7 was not queued to ep0out
[ 2944.007622] android_work: did not send uevent (0 0 0000000000000000)
[ 2944.113965] xhci-hcd xhci-hcd.14.auto: xHCI Host Controller
[ 2944.114475] xhci-hcd xhci-hcd.14.auto: new USB bus registered, assigned bus number 6
[ 2944.114634] xhci-hcd xhci-hcd.14.auto: hcc params 0x0220fe64 hci version 0x110 quirks 0x0000800002010010
[ 2944.114677] xhci-hcd xhci-hcd.14.auto: irq 141, io mem 0xfc000000
[ 2944.114804] xhci-hcd xhci-hcd.14.auto: xHCI Host Controller
[ 2944.115117] xhci-hcd xhci-hcd.14.auto: new USB bus registered, assigned bus number 7
[ 2944.115136] xhci-hcd xhci-hcd.14.auto: Host supports USB 3.0 SuperSpeed
[ 2944.115267] usb usb6: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.01
[ 2944.115283] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2944.115297] usb usb6: Product: xHCI Host Controller
[ 2944.115308] usb usb6: Manufacturer: Linux 6.1.75 xhci-hcd
[ 2944.115319] usb usb6: SerialNumber: xhci-hcd.14.auto
[ 2944.115869] hub 6-0:1.0: USB hub found
[ 2944.115900] hub 6-0:1.0: 1 port detected
[ 2944.116214] usb usb7: We don't know the algorithms for LPM for this host, disabling LPM.
[ 2944.116304] usb usb7: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.01
[ 2944.116320] usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2944.116332] usb usb7: Product: xHCI Host Controller
[ 2944.116343] usb usb7: Manufacturer: Linux 6.1.75 xhci-hcd
[ 2944.116353] usb usb7: SerialNumber: xhci-hcd.14.auto
[ 2944.116832] hub 7-0:1.0: USB hub found
[ 2944.116862] hub 7-0:1.0: 1 port detected
[ 2944.766180] usb 7-1: new SuperSpeed USB device number 2 using xhci-hcd
[ 2944.799400] usb 7-1: New USB device found, idVendor=0951, idProduct=1666, bcdDevice= 0.01
[ 2944.799484] usb 7-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2944.799517] usb 7-1: Product: DataTraveler 3.0
[ 2944.799545] usb 7-1: Manufacturer: Kingston
[ 2944.799571] usb 7-1: SerialNumber: E0D55EA573CDF830C93D1F6C
[ 2944.887296] usb-storage 7-1:1.0: USB Mass Storage device detected
[ 2944.888929] scsi host1: usb-storage 7-1:1.0
[ 2945.918961] scsi 1:0:0:0: Direct-Access Kingston DataTraveler 3.0 PQ: 0 ANSI: 6
[ 2945.922597] sd 1:0:0:0: [sda] 120845300 512-byte logical blocks: (61.9 GB/57.6 GiB)
[ 2945.923666] sd 1:0:0:0: [sda] Write Protect is off
[ 2945.924401] sd 1:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[ 2945.931677] sda: sda1
[ 2945.932083] sd 1:0:0:0: [sda] Attached SCSI removable disk
[ 2946.035514] FAT-fs (sda1): utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
[ 2946.037968] FAT-fs (sda1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.

root@rk3588-buildroot:/#
root@rk3588-buildroot:/# lusb
sh: lusb: command not found
root@rk3588-buildroot:/# lsusb
Bus 005 Device 001: ID 1d6b:0001
Bus 003 Device 001: ID 1d6b:0001
Bus 001 Device 001: ID 1d6b:0002
Bus 006 Device 001: ID 1d6b:0002
Bus 004 Device 001: ID 1d6b:0002
Bus 002 Device 001: ID 1d6b:0002
Bus 007 Device 002: ID 0951:1666
Bus 007 Device 001: ID 1d6b:0003

root@rk3588-buildroot:/#

反插:


接入USB2.0的鼠标:
root@rk3588-buildroot:/#
root@rk3588-buildroot:/# lsusb
Bus 005 Device 001: ID 1d6b:0001
Bus 003 Device 001: ID 1d6b:0001
Bus 001 Device 001: ID 1d6b:0002
Bus 004 Device 001: ID 1d6b:0002
Bus 002 Device 001: ID 1d6b:0002
root@rk3588-buildroot:/#
root@rk3588-buildroot:/#
root@rk3588-buildroot:/# [ 3034.421192] dwc3 fc000000.usb: request 000000006e3aae22 was not queued to ep0out
[ 3034.421214] android_work: did not send uevent (0 0 0000000000000000)
[ 3034.528266] xhci-hcd xhci-hcd.14.auto: xHCI Host Controller
[ 3034.528673] xhci-hcd xhci-hcd.14.auto: new USB bus registered, assigned bus number 6
[ 3034.528837] xhci-hcd xhci-hcd.14.auto: hcc params 0x0220fe64 hci version 0x110 quirks 0x0000800002010010
[ 3034.528879] xhci-hcd xhci-hcd.14.auto: irq 141, io mem 0xfc000000
[ 3034.528999] xhci-hcd xhci-hcd.14.auto: xHCI Host Controller
[ 3034.529335] xhci-hcd xhci-hcd.14.auto: new USB bus registered, assigned bus number 7
[ 3034.529366] xhci-hcd xhci-hcd.14.auto: Host supports USB 3.0 SuperSpeed
[ 3034.529503] usb usb6: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.01
[ 3034.529521] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 3034.529534] usb usb6: Product: xHCI Host Controller
[ 3034.529546] usb usb6: Manufacturer: Linux 6.1.75 xhci-hcd
[ 3034.529557] usb usb6: SerialNumber: xhci-hcd.14.auto
[ 3034.530066] hub 6-0:1.0: USB hub found
[ 3034.530098] hub 6-0:1.0: 1 port detected
[ 3034.530413] usb usb7: We don't know the algorithms for LPM for this host, disabling LPM.
[ 3034.530505] usb usb7: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.01
[ 3034.530521] usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 3034.530534] usb usb7: Product: xHCI Host Controller
[ 3034.530545] usb usb7: Manufacturer: Linux 6.1.75 xhci-hcd
[ 3034.530556] usb usb7: SerialNumber: xhci-hcd.14.auto
[ 3034.530951] hub 7-0:1.0: USB hub found
[ 3034.530981] hub 7-0:1.0: 1 port detected
[ 3034.783874] usb 6-1: new low-speed USB device number 2 using xhci-hcd
[ 3034.936734] usb 6-1: New USB device found, idVendor=046d, idProduct=c05a, bcdDevice=63.00
[ 3034.936816] usb 6-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 3034.936850] usb 6-1: Product: USB Optical Mouse
[ 3034.936878] usb 6-1: Manufacturer: Logitech
[ 3034.955490] input: Logitech USB Optical Mouse as /devices/platform/usbdrd3_0/fc000000.usb/xhci-hcd.14.auto/usb6/6-1/6-1:1.0/0003:046D:C05A.0003/input/input8
[ 3034.955739] hid-generic 0003:046D:C05A.0003: input,hidraw0: USB HID v1.11 Mouse [Logitech USB Optical Mouse] on usb-xhci-hcd.14.auto-1/input0
[11:31:51.123] event6 - Logitech USB Optical Mouse: is tagged by udev as: Mouse
[11:31:51.123] event6 - Logitech USB Optical Mouse: device set to 1000 DPI
[11:31:51.124] event6 - Logitech USB Optical Mouse: device is a pointer
[11:31:51.124] libinput: configuring device "Logitech USB Optical Mouse".
[11:31:51.124] associating input device event6 with output DSI-1 (none by udev)

root@rk3588-buildroot:/#
root@rk3588-buildroot:/# lsusb
Bus 005 Device 001: ID 1d6b:0001
Bus 003 Device 001: ID 1d6b:0001
Bus 001 Device 001: ID 1d6b:0002
Bus 006 Device 001: ID 1d6b:0002
Bus 004 Device 001: ID 1d6b:0002
Bus 002 Device 001: ID 1d6b:0002
Bus 007 Device 001: ID 1d6b:0003
Bus 006 Device 002: ID 046d:c05a

root@rk3588-buildroot:/#
root@rk3588-buildroot:/#

4、和原理图严重对不上呀!
Y:\new_disk_4t\wyb\RD-RK3588\rk3588_linux6.1_release_v1.2.0_20241220\kernel-6.1\arch\arm64\boot\dts\rockchip\rk3588-evb7-v11.dtsi

&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>;
};
};
};

TYPEC0_SBU1_DC 4A0 128+0 GPIO128
TYPEC0_SBU2_DC 4B0 128+8 GPIO136

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

AgentScope终极指南:快速上手多智能体应用开发

AgentScope终极指南&#xff1a;快速上手多智能体应用开发 【免费下载链接】agentscope 项目地址: https://gitcode.com/GitHub_Trending/ag/agentscope 想要构建功能强大的多智能体应用&#xff0c;却苦于技术门槛太高&#xff1f;AgentScope就是为你量身打造的解决方…

作者头像 李华
网站建设 2026/4/5 20:19:56

python装饰器

python装饰器装饰器示例代码装饰器应用示例实战应用示例装饰器示例代码 def 外func(被装饰func):"""这是一个装饰器示例&#xff0c;展示如何使用中文命名函数和变量。被装饰func: 这是将被装饰的函数"""def 内func(*args, **kwargs):"&qu…

作者头像 李华
网站建设 2026/4/10 20:00:23

我对防抖(Debounce)的一点理解与实践:从基础到立即执行

我对防抖&#xff08;Debounce&#xff09;的一点理解与实践这篇文章主要是我在项目中使用防抖过程中的一些总结&#xff0c;只代表个人理解&#xff0c;如果有不严谨或可以优化的地方&#xff0c;欢迎指出和讨论。一、防抖的概念 防抖&#xff08;Debounce&#xff09; &#…

作者头像 李华
网站建设 2026/4/2 5:44:04

重构 Flutter 状态管理:从 Provider 到 Riverpod 2.0 的无痛迁移与性能飞跃

欢迎大家加入[开源鸿蒙跨平台开发者社区](https://openharmonycrossplatform.csdn.net)&#xff0c;一起共建开源鸿蒙跨平台生态。 在 Flutter 开发的迭代长河中&#xff0c;状态管理始终是绕不开的核心命题。Provider 曾凭借简洁的 API 和低学习成本成为主流选择&#xff0c;…

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

AI大模型之Agent,RAG,LangChain(三)

前面分享了项目的大致流程,这篇主要分享一下LangChain这个框架的个人简单理解.看懂这篇必须要看我之前发的二,这样便于更好的理解这个框架.一.简述1.什么是LangChain简单来说,LangChain是LLMs的开发框架,他为不同的LLMs提供统一的接口,并且把和LLMs相关的内部组件连接在一起.2.…

作者头像 李华
网站建设 2026/4/13 3:49:31

css3如何引入外部字体

如果需要外部字体&#xff0c;电脑上没有&#xff0c;这时候可以用css3上新引入的font-face属性它的语法格式是font-face {font-family:自定义字体名称src:url(字体路径);}比如需要使用叫字体家AI北京长城体.ttf的字体&#xff0c;代码如下font-face {/*定义字体的名称*/font-f…

作者头像 李华