当前位置: 首页 > news >正文

20250912在荣品RD-RK3588-MID开发板的Android13系统下在接电脑的时候禁止充电

20250912在荣品RD-RK3588-MID开发板的Android13系统下在接电脑的时候禁止充电
2025/9/12 10:21


缘起:某人的电脑接荣品RD-RK3588-MID开发板的时候做APK开发板的时候,通过Android Studio连接荣品RD-RK3588-MID开发板。
经常断联/时断时续。投诉了/抱怨了好久。


我司APK应用开发的电脑的USB口的电压不稳,每次 接他的电脑,android13 的LCD屏就不停的出现 水波纹。这个时候他的电脑ADB会断掉

这时候 我只能 给 bq25703配置成为 80度,禁止充电。

请问 如何 在RD-RK3588-MID为device 的时候禁止充电。
或者 是 +5V输入的时候 禁止充电??@DreamSky

在dts配置25703里有PD配置,把5V配置为0mA或注释掉。
请问是这里吧:
ti,otg-current = <3000000>;//<6350000>;


不是,我记错了,在fusb302那里
5000


搜索到2个5000

这次应该找对地方了。
5V/9V/12V/20V?
就是这里了


这里有2个5000,改哪个?
我改了上面面哪一个。还是显示 满速充电?

注释掉type-c里的5000


Z:\rk-android13-20250818RD-RK3588-MID\kernel-5.10\arch\arm64\boot\dts\rockchip\rk3588\rp-usb-typec-rk3588.dtsi
根据 名字,只有 rp-usb-typec-rk3588.dtsi 这个 DTSI文件 是 配置 type-C的。
查找 之后,根据csdn博文。注释了一个。但是 出现 慢速充电/未在充电支架反复横跳。
不知道 是 现实问题?还是没有配置好。【ADB可用】

你最终是需要使用5V充电的,当前只是为是适配ADB,ADB处理好了就可以开放5V充电。
我们的板子连电脑USB,ADB是不会断开或反复充电的。


我司 APK应用开发的电脑 只有他的电脑有问题。
估计是 USB的电压不稳。

请问 我改哪一个5000?我找到4个5000了


目前只是开发应用的电脑处理好了就行了,加上其他电脑是正常的,你不应该为了一些不正常的东西去浪费时间,PD就是配置充电电压与充电过流,去掉5V就可以了。

很多电脑也会这样
不止是一台电脑
上次不是给你看了吗?有三台电脑也会这样

这样可以改充电电流,之前针对这个问题说明了,检测到是ADB状态,设置充电电流为0。


Y:\MID_MX_RK3588_android13-20250818\kernel-5.10\arch\arm64\boot\dts\rockchip\rk3588\rp-usb-typec-rk3588.dtsi
Z:\rk-android13-20250818RD-RK3588-MID\kernel-5.10\arch\arm64\boot\dts\rockchip\rk3588\rp-usb-typec-rk3588.dtsi

#ifdef RD_RK3588_MID
&i2c2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c2m0_xfer>;
#else
&i2c4 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c4m1_xfer>;
#endif
usbc0: fusb302@22 {
compatible = "fcs,fusb302";
reg = <0x22>;
#ifdef RD_RK3588_MID
interrupt-parent = <&gpio4>;
interrupts = <RK_PB4 IRQ_TYPE_LEVEL_LOW>;
#else
interrupt-parent = <&gpio0>;
interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>;
#endif        
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, 6000, PDO_FIXED_USB_COMM)
PDO_FIXED(9000, 6000, PDO_FIXED_USB_COMM)
PDO_FIXED(12000, 6000, PDO_FIXED_USB_COMM)
PDO_FIXED(20000, 6000, 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>;
};
};
};
};
};
};

修改为:

#ifdef RD_RK3588_MID
&i2c2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c2m0_xfer>;
#else
&i2c4 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c4m1_xfer>;
#endif
usbc0: fusb302@22 {
compatible = "fcs,fusb302";
reg = <0x22>;
#ifdef RD_RK3588_MID
interrupt-parent = <&gpio4>;
interrupts = <RK_PB4 IRQ_TYPE_LEVEL_LOW>;
#else
interrupt-parent = <&gpio0>;
interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>;
#endif        
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, 0, PDO_FIXED_USB_COMM)
PDO_FIXED(9000, 6000, PDO_FIXED_USB_COMM)
PDO_FIXED(12000, 6000, PDO_FIXED_USB_COMM)
PDO_FIXED(20000, 6000, PDO_FIXED_USB_COMM)>;
source-pdos =
<PDO_FIXED(5000, 0, 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>;
};
};
};
};
};
};

注释掉异常:【这么做就异常了,不能这样干的!】
#ifdef RD_RK3588_MID
&i2c2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c2m0_xfer>;
#else
&i2c4 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c4m1_xfer>;
#endif
usbc0: fusb302@22 {
compatible = "fcs,fusb302";
reg = <0x22>;
#ifdef RD_RK3588_MID
interrupt-parent = <&gpio4>;
interrupts = <RK_PB4 IRQ_TYPE_LEVEL_LOW>;
#else
interrupt-parent = <&gpio0>;
interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>;
#endif        
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, 6000, PDO_FIXED_USB_COMM)
<PDO_FIXED(9000, 6000, PDO_FIXED_USB_COMM)
PDO_FIXED(12000, 6000, PDO_FIXED_USB_COMM)
PDO_FIXED(20000, 6000, 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>;
};
};
};
};
};
};


参考资料:
百度:PDO_FIXED(5000, 0, PDO_FIXED_USB_COMM)

https://blog.csdn.net/junwua/article/details/126381554
PD充电调试问题解析(一)

三、代码跟踪的过程
3-1、DTS配置及修改

Dsti修改电流电压
sink-pdos =
<PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM)
PDO_FIXED(9000, 2000, PDO_FIXED_USB_COMM)>;
//PDO_FIXED(12000, 2000, PDO_FIXED_USB_COMM)>;
source-pdos =
<PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;

sink-pdos是指我们做sink(耗电方,即外接充电器)时候的充电能力,一般包括电压和电流。
source-pods是指我们做充电方对外充电的时候支持的pd充电能力,这个5000和1000是代表5v-1a。


https://blog.csdn.net/hezhensheng007/article/details/148220745
RK3562 Linux-5.10 内核HUSB311 Type-C 控制器芯片调试记录


文章转载自:

http://1Ogtk9WW.xwbwm.cn
http://LT3uqyd4.xwbwm.cn
http://1P7EVqcc.xwbwm.cn
http://Rz3SwfED.xwbwm.cn
http://vVpU0u0e.xwbwm.cn
http://iUxcOjBW.xwbwm.cn
http://adyFDsGh.xwbwm.cn
http://IlaXelwL.xwbwm.cn
http://rzuzEYJ0.xwbwm.cn
http://JbkRDWyz.xwbwm.cn
http://xDnfJ4xu.xwbwm.cn
http://S3x9hUUU.xwbwm.cn
http://JlBEDeHO.xwbwm.cn
http://kIcpVGUd.xwbwm.cn
http://RDFh58kx.xwbwm.cn
http://PY0d6ntD.xwbwm.cn
http://svNJeJym.xwbwm.cn
http://LC8XeoGn.xwbwm.cn
http://FB8tm77F.xwbwm.cn
http://kbi75FxD.xwbwm.cn
http://1CrupOQO.xwbwm.cn
http://vnxLQz69.xwbwm.cn
http://PMaqNg7W.xwbwm.cn
http://oZrPnxbB.xwbwm.cn
http://pmAgYNLP.xwbwm.cn
http://lPZsx7gc.xwbwm.cn
http://NQXphxaa.xwbwm.cn
http://A0I3xYxr.xwbwm.cn
http://ODuqgBIx.xwbwm.cn
http://UXfIFSKy.xwbwm.cn
http://www.dtcms.com/a/380291.html

相关文章:

  • Linux笔记---基于HTTP协议搭建一个简单的Web服务器
  • 【ARM-day05-led实验】
  • 低版本Chrome 内核兼容性问题的优美解决
  • 模型部署:(四)安卓端部署Yolov8-v8.2.99实例分割项目全流程记录
  • 使用自定义LLM和Embedding模型部署Vanna:基于RAG的Text-to-SQL生成
  • DataCollatorForCompletionOnlyLM解析(93)
  • 淘宝RecGPT:通过LLM增强推荐
  • Vue3 中使用 DOMPurify 对渲染动态 HTML 进行安全净化处理
  • 比较 iPhone:全面比较 iPhone 17 系列
  • 【Doris】集群介绍
  • 从“能写”到“能干活”:大模型工具调用(Function-Calling)的工程化落地指南
  • golang程序内存泄漏分析方法论
  • Go 语言 MQTT 消息队列学习指导文档
  • 基于数据挖掘技术构建电信5G客户预测模型的研究与应用
  • 【AI】pickle模块常见用途
  • 智慧园区,智启未来 —— 重塑高效、绿色、安全的产业新生态
  • MySQL 8新特性
  • 腾讯开源Youtu-GraphRAG
  • QT M/V架构开发实战:QStringListModel介绍
  • 【数据结构】Java集合框架:List与ArrayList
  • 开发避坑指南(48):Java Stream 判断List元素的属性是否包含指定的值
  • postgresql 数据库备份、重新构建容器
  • 大数据电商流量分析项目实战:Spark SQL 基础(四)
  • vmware ubuntu18设置共享文件夹的几个重要点
  • 每日一题(5)
  • Lumerical licence center 无法连接的问题
  • Java网络编程(2):(socket API编程:UDP协议的 socket API -- 回显程序)
  • Java 类加载机制双亲委派与自定义类加载器
  • OpenLayers数据源集成 -- 章节九:必应地图集成详解
  • 前端调试工具有哪些?常用前端调试工具推荐、前端调试工具对比与最佳实践