20230210使AIO-3568J开发板在Android12下调通3个USB

news2024/11/27 12:55:59

20230210使AIO-3568J开发板在Android12下调通3个USB
2023/2/10 10:00


0、默认编译RK3568的Andorid12的rk3568-evb2-lp4x-v10.dts,2个USB2.0接口的鼠标可以用。
并列USB3.0接口的上面的鼠标不能用。USB3.0接口下面可以连接ADB。
    vcc5v0_host: vcc5v0-host-regulator {
        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 = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
        vin-supply = <&vcc5v0_usb>;
        pinctrl-names = "default";
        pinctrl-0 = <&vcc5v0_host_en>;
    };

    vcc5v0_otg: vcc5v0-otg-regulator {
        compatible = "regulator-fixed";
        regulator-name = "vcc5v0_otg";
        regulator-min-microvolt = <5000000>;
        regulator-max-microvolt = <5000000>;
        enable-active-high;
        gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
        vin-supply = <&vcc5v0_usb>;
        pinctrl-names = "default";
        pinctrl-0 = <&vcc5v0_otg_en>;
    };


1、配置USB3.0接口
Z:\ap6275s-rk3568-android12\kernel-4.19\arch\arm64\boot\dts\rockchip\rk3568-evb.dtsi
    vcc5v0_host: vcc5v0-host-regulator {
        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 = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
        vin-supply = <&vcc5v0_usb>;
        pinctrl-names = "default";
        pinctrl-0 = <&vcc5v0_host_en>;
    };
修改为:
    vcc5v0_host: vcc5v0-host-regulator {
        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 = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
        gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_HIGH>;

        vin-supply = <&vcc5v0_usb>;
        pinctrl-names = "default";
        pinctrl-0 = <&vcc5v0_host_en>;
    };


&pinctrl {
    mxc6655xa {
        mxc6655xa_irq_gpio: mxc6655xa_irq_gpio {
            rockchip,pins = <3 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
        };
    };

    pmic {
        pmic_int: pmic_int {
            rockchip,pins =
                <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
        };

        soc_slppin_gpio: soc_slppin_gpio {
            rockchip,pins =
                <0 RK_PA2 RK_FUNC_GPIO &pcfg_output_low_pull_down>;
        };

        soc_slppin_slp: soc_slppin_slp {
            rockchip,pins =
                <0 RK_PA2 RK_FUNC_1 &pcfg_pull_up>;
        };

        soc_slppin_rst: soc_slppin_rst {
            rockchip,pins =
                <0 RK_PA2 RK_FUNC_2 &pcfg_pull_none>;
        };
    };

    touch {
        touch_gpio: touch-gpio {
            rockchip,pins =
                <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>,
                <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
        };
    };

    sdio-pwrseq {
        wifi_enable_h: wifi-enable-h {
            rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
        };
    };

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

        vcc5v0_otg_en: vcc5v0-otg-en {
            rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
        };
    };

    wireless-bluetooth {
        uart8_gpios: uart8-gpios {
            rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
        };
    };
};
修改为:
&pinctrl {
    mxc6655xa {
        mxc6655xa_irq_gpio: mxc6655xa_irq_gpio {
            rockchip,pins = <3 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
        };
    };

    pmic {
        pmic_int: pmic_int {
            rockchip,pins =
                <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
        };

        soc_slppin_gpio: soc_slppin_gpio {
            rockchip,pins =
                <0 RK_PA2 RK_FUNC_GPIO &pcfg_output_low_pull_down>;
        };

        soc_slppin_slp: soc_slppin_slp {
            rockchip,pins =
                <0 RK_PA2 1 &pcfg_pull_up>;
        };

        soc_slppin_rst: soc_slppin_rst {
            rockchip,pins =
                <0 RK_PA2 2 &pcfg_pull_none>;
        };
    };

    touch {
        touch_gpio: touch-gpio {
            rockchip,pins =
                <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>,
                <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
        };
    };

    sdio-pwrseq {
        wifi_enable_h: wifi-enable-h {
            rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
        };
    };

    usb {
        vcc5v0_host_en: vcc5v0-host-en {
            //rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
            rockchip,pins = <0 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;

        };

        vcc5v0_otg_en: vcc5v0-otg-en {
            rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
        };
    };

    wireless-bluetooth {
        uart8_gpios: uart8-gpios {
            rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
        };
    };
};

编译内核之后,并列USB3.0接口的上面的鼠标可以用了,但是2个USB2.0接口都不能用了!
编译 kernel:
make ARCH=arm64 rockchip_defconfig android-11.config
make ARCH=arm64 BOOT_IMG=../rockdev/Image-rk3568_s/boot.img rk3568-evb2-lp4x-v10.img -j16

USB3的原理图:

 

 

 

 

 

USB2原理图:

 

 

 

 


2、配置USB2.0接口
由于根据rk3568-firefly-aioj.dts配置rk3568-evb2-lp4x-v10.dts,配置全部3个USB接口老是异常。
于是将firefly修改的rk3568-firefly-aioj.dts收拾/还原成为rk3568-evb2-lp4x-v10.dts
很容易/艰难地知道控制2个USB2.0接口的代码块!

rk3568-firefly-aioj.dts修改为:rk3568-evb2-lp4x-v10.dts
rk3568-firefly-aioj.dtsi修改为:rk3568-evb2-lp4x-v10.dtsi
rk3568-firefly-port.dtsi和rk3568-firefly-core.dtsi修改为:rk3568-evb2-lp4x-v10.dtsi

rk3568-firefly-aioj.dts
#include "rk3568-firefly-aioj.dtsi"

rk3568-firefly-port.dtsi
#include "rk3568-firefly-core.dtsi"
#include "rk356x-firefly-demo.dtsi"(这里不需要)

rk3568-firefly-core.dtsi


firefly_defconfig和firefly_wifi.config修改为:rockchip_defconfig


Z:\ap6275s-rk3568-android12\kernel-4.19\arch\arm64\boot\dts\rockchip\rk3568-evb2-lp4x-v10.dtsi

    vcc3v3_pcie: gpio-regulator {
        compatible = "regulator-fixed";
        regulator-name = "vcc3v3_pcie";
        regulator-min-microvolt = <3300000>;
        regulator-max-microvolt = <3300000>;
        enable-active-high;
        gpio = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
        startup-delay-us = <5000>;
        vin-supply = <&dc_12v>;
    };

// USB2
    vcc3v3_vga: vcc3v3-vga {
        compatible = "regulator-fixed";
        regulator-name = "vcc3v3_vga";
        regulator-always-on;
        regulator-boot-on;
        gpio = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>;
        enable-active-high;
        vin-supply = <&vcc3v3_sys>;
    };

// USB2

    qsgmii_3v3: gpio-regulator {
        compatible = "regulator-gpio";
        regulator-name = "qsgmii_3v3";
        regulator-min-microvolt = <0100000>;
        regulator-max-microvolt = <3300000>;
        gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
        gpios-states = <0x1>;
        states = <0100000 0x0
              3300000 0x1>;
    };


 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/336006.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

邀您参赛!DCIC 2023「科技金融欺诈风险识别」算法赛正在报名中

近年来&#xff0c;跨境赌博、电信网络诈骗、黑产等外部欺诈违法犯罪形势日益严峻&#xff0c;呈现线上化、产业化、团伙化等特征&#xff0c;国家、监管机构及银行自身都高度重视反欺诈治理工作&#xff0c;坚决守护人民群众的财产安全。 为进一步打击外部欺诈违法犯罪行为&am…

CentOS7 ifconfig(或 ip addr)命令不显示IP地址

问题&#xff08;因为当时没有存图 所以这个图上是网上找的 &#xff09;解决办法第一&#xff1a;可能是本地服务没有开启&#xff0c;检查本地服务。如图所示&#xff0c;检查这两个服务是否开启。注&#xff1a;如何快速找到服务 可以把光标放在其中一个上面 然后按下VM就可…

硬盘分类及挂载硬盘知识补充和介绍

一、硬盘介绍Linux硬盘分IDE硬盘和SCSI硬盘&#xff0c;目前基本上是SCSI硬盘1.对于IDE硬盘&#xff0c;驱动器标识符为"hdx~"&#xff0c;其中"hd"表明分区所在设备的类型&#xff0c;这里是指IDE硬盘了。"x"为盘号(a为基本盘&#xff0c;b为基…

endo-BCN-PEG4-Palmitic,环丙烷环辛炔四聚乙二醇-Palmitic包装灵活

endo-BCN-PEG4-Palmitic&#xff0c;endo环丙烷环辛炔四聚乙二醇-Palmitic反应特点&#xff1a;endo-BCN-PEG4-Palmitic 酯在其末端含有一个 Palmitic基和一个 BCN 基。对点击试剂来说同样会通过不同的小分子PEG进行连接&#xff0c;BCN-PEG-acid、BCN-PEG-NHS ester、BCN-PEG-…

软件测试—对职业生涯发展的一些感想

目录&#xff1a;导读 职场生涯 1、短期规划 2、长期规划 自身定位 1、你在哪儿&#xff1f; 2、你想要什么&#xff1f; 3、你拥有什么&#xff1f; 4、你需要做什么&#xff1f;什么时候做&#xff1f; 5、淡定啊淡定 最近工作不是很忙&#xff0c;有空都是在看书&a…

多传感器融合定位十一-基于滤波的融合方法Ⅱ

多传感器融合定位十一-基于滤波的融合方法Ⅱ1. 编码器运动模型及标定1.1 编码器基础知识1.2 编码器运动模型1.2.1 旋转半径求解1.2.2 角速度求解1.2.3 线速度求解1.2.4 位姿求解1.3 编码器的标定1.3.1 轮子半径标定1.3.2 轮子与底盘中心距离标定2. 融合编码器的滤波方法2.1 核心…

调用chatgpt的api, 必须知道的三件事

牙叔教程 简单易懂 调用api的代码 let url "https://api.openai.com/v1/completions"; let answer await axios // 使用axios发送post请求.post(url, data, { headers: headers }).then((res) > {return res.data.choices[0].text.trim();}).catch((err) >…

谈谈会话管理

客户端和服务器之间进行数据传输遵循的是HTTP协议, 此协议属于无状态协议(一次请求对应一次响应, 响应完之后断开连接), 服务器是无法跟踪客户端的请求, 通过cookie技术可以给客户端添加一个标识, 客户端之后发出的每次请求都会带着这个标识从而让服务器识别此客户端, 但由于co…

PostgreSQL入门

PostgreSQL入门 简介 PostgreSQL是以加州大学伯克利分校计算机系开发的POSTGRES&#xff0c; 版本 4.2为基础的对象关系型数据库管理系统&#xff08;ORDBMS&#xff09; 支持大部分SQL标准并且提供了许多现代特性 复杂查询外键触发器可更新视图事务完整性多版本并发控制 …

引导滤波code

文章目录1. 原理概述2. 实验环节2.1 验证与opencv 库函数的结果一致2.2 与 双边滤波比较2.3 引导滤波应用&#xff0c;fathering2.3 引导滤波应用&#xff0c;图像增强2.4 灰度图引导&#xff0c;和各自通道引导的效果差异2.5 不同参数设置影响3. 参考引导滤波1. 原理概述 引导…

VHDL语言基础-状态机设计-ASM图法状态机设计

目录 有限状态机的描述方法&#xff1a; ASM图&#xff1a; 状态转移图&#xff1a; 状态转移列表&#xff1a; MDS图&#xff1a; ASM图法状态机设计&#xff1a; ASM图的组成&#xff1a; 状态框&#xff1a; 判断框&#xff1a; 条件框&#xff1a; 状态框与条件框…

Python之FileNotFoundError: [Errno 2] No such file or directory问题处理

错误信息&#xff1a;FileNotFoundError: [Errno 2] No such file or directory: ../AutoFrame/temp/report.xlsx相对于当前文件夹的路径&#xff0c;其实就是你写的py文件所在的文件夹路径&#xff01;python在对文件的操作时&#xff0c;需要特别注意文件地址的书写。文件的路…

上海亚商投顾:三大指数集体调整 消费板块逆市活跃

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。市场情绪三大指数今日集体调整&#xff0c;沪指全天弱势震荡&#xff0c;创业板指盘中跌超1%。旅游、食品、乳业等大消费板块…

渗透测试 -- 网站信息收集

数据来源 01 网站指纹识别 网站的最基本组成&#xff1a;服务器&#xff08;操作系统&#xff09;、中间件(web容器)、脚本语言&#xff08;php、java、...&#xff09;、数据库&#xff08;Mysql、...&#xff09;为什么要了解这些&#xff1f; 举个例子&#xff1a;发现了一…

vue3组件库项目学习笔记(八):Git 使用总结

目前组件库的开发已经接近尾声&#xff0c;因为这次是使用 git 进行协作的开发模式&#xff0c;在团队协作的时候遇到很多的问题&#xff0c;开发过程中发现小伙伴们对于 git 的使用还不是很熟练&#xff0c;这里就简单总结一下常用的 git 的操作&#xff0c;大致有&#xff1a…

Revit快速材质切换:同一墙面赋予不同材质的方法

一、Revit中对同一墙面赋予不同材质的方法 方法1&#xff1a;零件法 重点&#xff1a;通过工作平面面板上的设置工作平面命令选取正确的面取消勾选通过原始分类的材质&#xff0c;如图1所示 方法2&#xff1a;拆分构造层绘制一道墙体&#xff0c;选择创建的墙体&#xff0c;单击…

判断元素是否在可视区域

前言 在日常开发中&#xff0c;我们经常需要判断目标元素是否在视窗之内或者和视窗的距离小于一个值&#xff08;例如 100 px&#xff09;&#xff0c;从而实现一些常用的功能&#xff0c;例如&#xff1a; 图片的懒加载列表的无限滚动计算广告元素的曝光情况可点击链接的预加…

关于TL431和光耦PC817反馈控制部分电阻取值计算

计算R4和R3。TL431的R端流入电流2uA&#xff0c;为了保证取样精度&#xff0c;即不让TL431的R端吸取电流参与R3和R4的分压&#xff0c;可以设置R4的电流大于TL431的R端吸取电流的100倍&#xff0c;此时工程实践上基本可以忽略掉TL431的R端吸取电流的影响了。R4电流最小为2uA*10…

CSS基础:选择器和声明样式

CSS概念 CSS&#xff08;Cascading Style Sheets&#xff09;层叠样式表&#xff0c;又叫级联样式表&#xff0c;简称样式表 CSS用于HTML文档中元素样式的定义 使用css让网页具有美观一致的页面 语法 CSS 规则由两个主要的部分构成&#xff1a;选择器和声明样式 选择器通常…

DaVinci:色度 - 亮度网格应用

调色页面&#xff1a;色彩扭曲器 Color&#xff1a;Color Warper色彩扭曲器中的色度 - 亮度 Chroma - Luma网格提供了强大且直观的调色功能&#xff0c;相对于色相 - 饱和度网格&#xff0c;色度 - 亮度网格在颜色的亮度控制上更具优势。在使用网格调色之前&#xff0c;最好先确…