20240607给Toybrick的TB-RK3588开发板在Buildroot下适配瑞芯微7.86寸QXGATFT-LCD EDP屏幕1536x2048

news2024/11/23 15:20:32

20240607给Toybrick的TB-RK3588开发板在Buildroot下适配瑞芯微7.86寸QXGATFT-LCD EDP屏幕1536x2048
2024/6/7 13:59


1、背光部分:
&backlight {
    pwms = <&pwm2 0 25000 0>;
    status = "okay";
};

&pwm2 {
    status = "okay";
};


2、DTS部分
Z:\rk3588-toybrick-x0-linux20240508\kernel\arch\arm64\boot\dts\rockchip\rk3588-evb7-v11-linux.dts
Z:\repo_RK3588_Buildroot20240508\kernel\arch\arm64\boot\dts\rockchip\rk3588-toybrick-x0-linux.dts

// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
 *
 */

/dts-v1/;

//#include "rk3588-toybrick-x0.dtsi"
//Z:\rk3588-toybrick-x0-linux20240508\kernel\arch\arm64\boot\dts\rockchip\rk3588-toybrick-edp-x0.dtsi
#include "rk3588-toybrick-edp-x0.dtsi"

#include "rk3588-linux.dtsi"
//#include "rk3588-toybrick-imx258.dtsi"
/ {
    model = "Rockchip RK3588 TOYBRICK X10 Board";
    compatible = "rockchip,rk3588-toybrick-x10-linux", "rockchip,rk3588";
};


3、EDP的部分和TP部分:
Z:\rk3588-toybrick-x0-linux20240508\kernel\arch\arm64\boot\dts\rockchip\rk3588-toybrick-x0.dtsi
Z:\rk3588-toybrick-x0-linux20240508\kernel\arch\arm64\boot\dts\rockchip\rk3588-toybrick-edp-x0.dtsi

// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
 *
 */

#include "dt-bindings/usb/pd.h"
#include "rk3588.dtsi"
#include "rk3588-toybrick.dtsi"
#include "rk3588-rk806-single.dtsi"

/ {
    es8388_sound: es8388-sound {
        status = "okay";
        compatible = "simple-audio-card";
        simple-audio-card,format = "i2s";
        simple-audio-card,mclk-fs = <256>;
        simple-audio-card,name = "rockchip,es8388-codec";
        simple-audio-card,dai-link@0 {
            format = "i2s";
            cpu {
                sound-dai = <&i2s0_8ch>;
            };
            codec {
                sound-dai = <&es8388>;
            };
        };
    };

    pcie20_avdd0v85: pcie20-avdd0v85 {
        compatible = "regulator-fixed";
        regulator-name = "pcie20_avdd0v85";
        regulator-boot-on;
        regulator-min-microvolt = <850000>;
        regulator-max-microvolt = <850000>;
        vin-supply = <&vdd_0v85_s0>;//csq
    };

    pcie20_avdd1v8: pcie20-avdd1v8 {
        compatible = "regulator-fixed";
        regulator-name = "pcie20_avdd1v8";
        regulator-boot-on;
        regulator-min-microvolt = <1800000>;
        regulator-max-microvolt = <1800000>;
        vin-supply = <&avcc_1v8_s0>;
    };

    pcie30_avdd0v75: pcie30-avdd0v75 {
        compatible = "regulator-fixed";
        regulator-name = "pcie30_avdd0v75";
        regulator-boot-on;
        regulator-min-microvolt = <750000>;
        regulator-max-microvolt = <750000>;
        vin-supply = <&avdd_0v75_s0>;
    };

    pcie30_avdd1v8: pcie30-avdd1v8 {
        compatible = "regulator-fixed";
        regulator-name = "pcie30_avdd1v8";
        regulator-boot-on;
        regulator-min-microvolt = <1800000>;
        regulator-max-microvolt = <1800000>;
        vin-supply = <&avcc_1v8_s0>;
    };

    rk_headset: rk-headset {
        status = "okay";
        compatible = "rockchip_headset";
        headset_gpio = <&gpio1 RK_PD5 GPIO_ACTIVE_LOW>;
        pinctrl-names = "default";
        pinctrl-0 = <&hp_det>;
        io-channels = <&saradc 3>;
    };

    vbus5v0_typec: vbus5v0-typec {
        compatible = "regulator-fixed";
        regulator-name = "vbus5v0_typec";
        regulator-min-microvolt = <5000000>;
        regulator-max-microvolt = <5000000>;
        enable-active-high;
        gpio = <&gpio4 RK_PD0 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 = <&gpio1 RK_PC4 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 = <&gpio3 RK_PC3 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>;
    };

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

    vcc_mipicsi1: vcc-mipicsi1-regulator {
        compatible = "regulator-fixed";
        gpio = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>;
        pinctrl-names = "default";
        pinctrl-0 = <&mipicsi1_pwr>;
        regulator-name = "vcc_mipicsi1";
        enable-active-high;
    };

    vcc_mipidcphy0: vcc-mipidcphy0-regulator {
        compatible = "regulator-fixed";
        gpio = <&gpio2 RK_PC4 GPIO_ACTIVE_HIGH>;
        pinctrl-names = "default";
        pinctrl-0 = <&mipidcphy0_pwr>;
        regulator-name = "vcc_mipicsi1";
        enable-active-high;
    };

    wireless_bluetooth: wireless-bluetooth {
        compatible = "bluetooth-platdata";
        clocks = <&hym8563>;
        clock-names = "ext_clock";
        uart_rts_gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_LOW>;
        pinctrl-names = "default", "rts_gpio";
        pinctrl-0 = <&uart8m1_rtsn>, <&bt_reset_gpio>, <&bt_wake_gpio>, <&bt_irq_gpio>;
        pinctrl-1 = <&uart8_gpios>;
        BT,reset_gpio    = <&gpio3 RK_PA6 GPIO_ACTIVE_HIGH>;
        BT,wake_gpio     = <&gpio3 RK_PA1 GPIO_ACTIVE_HIGH>;
        BT,wake_host_irq = <&gpio3 RK_PA0 GPIO_ACTIVE_HIGH>;
        status = "okay";
    };

    wireless_wlan: wireless-wlan {
        compatible = "wlan-platdata";
        wifi_chip_type = "ap6255";
        pinctrl-names = "default";
        pinctrl-0 = <&wifi_host_wake_irq>, <&wifi_poweren_gpio>;
        WIFI,host_wake_irq = <&gpio3 RK_PA7 GPIO_ACTIVE_HIGH>;
        WIFI,poweren_gpio = <&gpio3 RK_PB1 GPIO_ACTIVE_HIGH>;
        status = "okay";
    };

    panel-edp {
        compatible = "innolux,p120zdg-bf4", "simple-panel";
        backlight = <&backlight>;
        power-supply = <&vcc3v3_lcd_edp>;
        prepare-delay-ms = <120>;
        enable-delay-ms = <120>;
        unprepare-delay-ms = <500>;
        disable-delay-ms = <120>;
        width-mm = <254>;
        height-mm = <169>;
        panel-timing {
            clock-frequency = <200000000>;
            hactive = <1536>;
            vactive = <2048>;
            hfront-porch = <12>;
            hsync-len = <16>;
            hback-porch = <48>;
            vfront-porch = <8>;
            vsync-len = <4>;
            vback-porch = <8>;
            hsync-active = <0>;
            vsync-active = <0>;
            de-active = <0>;
            pixelclk-active = <0>;
        };

        port {
            panel_in_edp: endpoint {
                remote-endpoint = <&edp_out_panel>;
            };
        };
    };

    vcc3v3_lcd_edp: vcc3v3-lcd-edp {
        compatible = "regulator-fixed";
        regulator-name = "vcc3v3_lcd_edp";
        gpio = <&gpio1 RK_PA5 GPIO_ACTIVE_HIGH>;
        enable-active-high;
        vin-supply = <&vcc_3v3_s3>;
    };
};


&dsi0_in_vp2 {
    status = "disabled";
};

&dsi0_in_vp3 {
    status = "disabled";
};

&edp1 {
    force-hpd;
    status = "okay";
    ports {
        port@1 {
            reg = <1>;
            edp_out_panel: endpoint {
            remote-endpoint = <&panel_in_edp>;
            };
        };
    };
};

&edp1_in_vp2 {
    status = "okay";
};

&hdptxphy1 {
    status = "okay";
};

&dsi0_panel {
    power-supply = <&vcc3v3_lcd_n>;
    reset-gpios = <&gpio2 RK_PB4 GPIO_ACTIVE_LOW>;
    pinctrl-names = "default";
    pinctrl-0 = <&lcd_rst_gpio>;
};


&i2c6 {
    status = "okay";
    gt1x: gt1x@14 {
        compatible = "goodix,gt1x";
        reg = <0x14>;
        pinctrl-names = "default";
        pinctrl-0 = <&touch_gpio>;
        goodix,rst-gpio = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>;
        goodix,irq-gpio = <&gpio0 RK_PB0 IRQ_TYPE_LEVEL_LOW>;
    };

    gsl3673: gsl3673@40 {
        compatible = "GSL,GSL3673";
        reg = <0x40>;
        screen_max_x = <1536>;
        screen_max_y = <2048>;
        irq_gpio_number = <&gpio1 RK_PA6 IRQ_TYPE_LEVEL_LOW>;
        rst_gpio_number = <&gpio3 RK_PC6 GPIO_ACTIVE_HIGH>;
    };

};

Buildroot下的效果图:(HDMI+EDP双显示:)


4、Toybrick的TB-RK3588开发板在Android12下适配瑞芯微7.86寸QXGATFT-LCD EDP屏幕于此类似:
Y:\android12-rk-outside\kernel-5.10\arch\arm64\boot\dts\rockchip\rk3588-toybrick-x0-android.dts
Y:\repo_toybrick_android12\kernel-5.10\arch\arm64\boot\dts\rockchip\rk3588-toybrick-x0-android.dts

// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
 *
 */

/dts-v1/;

//#include "rk3588-toybrick-x0.dtsi"
#include "rk3588-toybrick-edp-x0.dtsi"

#include "rk3588-android.dtsi"
#include "rk3588-toybrick-imx258.dtsi"

/ {
    model = "Rockchip RK3588 TOYBRICK LP4 X10 Board";
    compatible = "rockchip,rk3588-toybrick-x10-android", "rockchip,rk3588";
};


【请参考Buildroot,貌似完全一样的!】
Y:\android12-rk-outside\kernel-5.10\arch\arm64\boot\dts\rockchip\rk3588-toybrick-edp-x0.dtsi
Y:\android12-rk-outside\kernel-5.10\arch\arm64\boot\dts\rockchip\rk3588-toybrick-x0.dtsi

Android12下的效果图:(HDMI+EDP双显示:)


参考资料:
https://blog.csdn.net/RYF6666/article/details/134603713
RK3588调试EDP


https://item.taobao.com/item.htm?_u=7ju3ku5a4e&id=655311470417&spm=a1z09.2.0.0.2ede2e8deLzeFJ
瑞芯微7.86寸QXGATFT-LCD EDP屏幕1536x2048适配3568x开发板


https://t.rock-chips.com/wiki/CN/tb-rk3588x/01%E5%BF%AB%E9%80%9F%E4%B8%8A%E6%89%8B.html
开发板概况?
TB-RK3588X采用瑞芯微最新旗舰SOC芯片RK3588。RK3588是一款采用ARM架构的通用型SoC,集成了四核Cortex-A76和四核Cortex-A55 CPU,G610 MP4 GPU,以及6 TOPs算力的NPU。


https://t.rock-chips.com/wiki.php?filename=%E6%9D%BF%E7%BA%A7%E6%8C%87%E5%8D%97/TB-RK3588X
一、产品简介
TB-RK3588X采用瑞芯微最新旗舰SOC芯片RK3588。RK3588是一款采用ARM架构的通用型SoC,集成了四核Cortex-A76和四核Cortex-A55 CPU,G610 MP4 GPU,以及6 TOPs算力的NPU。内置多种功能强大的嵌入式硬件引擎,支持8K@60fps的H.265 和VP9解码器、8K@30fps的H.264 解码器和4K@60fps的AV1解码器;支持8K@30fps 的H.264和H.265编码器,高质量的JPEG编码器/解码器,专门的图像预处理器和后处理器。RK3588还引入了新一代完全基于硬件的最大4800万像素ISP(图像信号处理器),实现了许多算法加速器,如HDR、3A、LSC、3DNR、2DNR、锐化、dehaze、鱼眼校正、伽马校正等,在图形后期处理方面拥有广泛应用。RK3588集成了瑞芯微自研的第三代NPU处理器,可支持 INT4/INT8/INT16/FP16 混合运算,其强大的兼容性,可以轻松转换基于TensorFlow / MXNet/PyTorch/Caffe 等一系列框架的网络模型。

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

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

相关文章

计算机网络(网络原理及应用)之路由器的基本配置(详细~)

路由器的基本配置 实验目的 熟悉路由各接口的外观、接口的功能、接口的表示方法&#xff1b;掌握带外的管理方法&#xff1a;通过接口console配置&#xff1b;掌握带内的管理方法&#xff1a;通过方式telnet配置&#xff1b;掌握带内的管理方法&#xff1a;通过方式web配置&…

机器学习之数学基础(六)~时间复杂度和空间复杂度

目录 算法背景 background 1. 时间复杂度 Time Complexity 1.1 时间复杂度分类 1.1.1 O(1) 常数阶 1.1.2 O(n) 线性阶 1.1.3 O(n^2) 平方阶 1.1.4 O(logn) 对数阶 1.1.5 O(nlogn) 线性对数阶 1.1.6 O(2^n) 指数阶 1.1.7 O(n!) 阶乘阶 1.1.8 时间复杂度分类 1.2 时…

python的line[:-1]和line[-1]

line[:-1]其实就是去除了这行文本的最后一个字符(换行符)后剩下的部分。 line = "abcde" line[:-1] 结果为:abcd line = "abcde" line[::-1] 结果为:edcba 示例3 [m : ] 代表列表中的第m+1项到最后一项 [ : n] 代表列表中的第一项到第n项 [-1] 代…

Facebook:社交世界的引领者

导语 在当今数字化时代&#xff0c;Facebook已经成为了人们社交生活的重要一环。然而&#xff0c;除了成为社交媒体的象征外&#xff0c;它还在不断探索并领导着社交世界的新方向。 1. 社交平台的发展者 Facebook不仅仅是一个社交平台&#xff0c;更是社交方式的引领者。从其…

世界坐标系和WGS84坐标系相互转换(2024-06-07)

WGS84弧度坐标系转世界坐标 const handelCartographic ()>{const a new Cesium.Cartesian3.fromDegrees(104.1, 30.6, 200);console.log("世界坐标",a);const b new Cesium.Cartographic.fromDegrees(104.1, 30.6, 200);console.log("WGS84弧度坐标系&qu…

什么是ESG?

什么是ESG&#xff1f; ESG的实施和发展是企业应对全球和国内环境、社会和治理挑战的关键路径。《ESG入门一本通》详细阐述了ESG的概念、发展历程和评价体系&#xff0c;并结合中国的实际情况&#xff0c;强调了ESG的重要性和必要性。企业需重视ESG管理和信息披露&#xff0c;…

视觉SLAM十四讲:从理论到实践(Chapter9:后端1)

前言 学习笔记&#xff0c;仅供学习&#xff0c;不做商用&#xff0c;如有侵权&#xff0c;联系我删除即可 一、目标 1.理解后端的概念。 2.理解以EKF为代表的滤波器后端的工作原理。 3.理解非线性优化的后端&#xff0c;明白稀疏性是如何利用的。 4.使用g2o和Ceres实际操作…

C# 集成 C++ 的方法和实践 - P/Invoke(平台调用)- 1

环境&#xff1a; 1 P/Invoke&#xff08;平台调用&#xff09;&#xff1a; C#可以通过P/Invoke调用C编写的DLL中的函数。 1.1 适用范围&#xff1a; P/Invoke 是一种在 C# 程序中调用非托管代码&#xff08;如 C 动态链接库&#xff09;的方式。这种方法适用于函数调用相对…

一文了解AI绘画两大鼻祖 Midjourney 和 Stable Diffusion的区别,超详细讲解小白入门必看教程!

大家好&#xff0c;我是画画的小强 要说AI绘画软件哪家强&#xff1f;有人说Midjoureny (MJ), 有人说Stable Diffuion(SD)&#xff0c;那他们到底有什么区别&#xff1f;应该选择哪款软件学习&#xff1f;今天带大家全面了解一下&#xff01;文末可白嫖AI资料哦&#xff5e; 一…

PVE安装CENTOS9提示“Fatal glibc error: CPU does not support x86-64-v2”

问题描述&#xff1a;PVE安装CENTOS9提示“Fatal glibc error: CPU does not support x86-64-v2” RHEL 9要求x86_64的CPU支持x86-64-v2&#xff0c;x86-64-v2需要处理器支持 CMPXCHG16B、LAHF-SAHF、POPCNT、SSE3、SSE4.1、SSE4.2、SSSE3 等现代指令集 解决方法&#xff1a;…

API接口测试工具:jmeter的安装、汉化、Jmeter桌面快捷图标和基本使用

文章目录 测试工具&#xff1a;JmeterJmeter安装和配置Jmeter汉化设置中文语言&#xff1a;永久方式设置中文语言&#xff1a;临时方式 设置Jmeter桌面快捷图标jmeter基本用法Jmeter无法保存测试问题解决 测试工具&#xff1a;Jmeter Jmeter依赖于JDK&#xff0c;所以必须确保…

SwiftUI获取用户的位置信息(CLLocationManager,CLLocationManagerDelegate)

本篇文章将会介绍一下在SwiftUI中如何通过CorLocation框架获取用户的位置信息&#xff0c;因为获取位置信息属于用户的隐私信息&#xff0c;所以需要在Info.plist文件里面加上访问位置权限的说明。 关于位置信息&#xff0c;可以请求两种级别的许可&#xff1a;always和when i…

项目经理进入职场都会经历的三个阶段

对于项目经理而言&#xff0c;进入职场是一个不断学习和成长的过程。在这个过程中&#xff0c;项目经理通常会经历三个主要阶段&#xff0c;每个阶段都有其独特的特点和挑战。 一、基础建设与学习阶段 对于新入行的项目经理来说&#xff0c;最初的阶段主要是基础技能的积累和…

AI绘画中的色彩空间转换技术

在数字艺术的广阔天地中&#xff0c;AI绘画作为一种新兴的创作方式&#xff0c;正以其独特的魅力吸引着越来越多的关注。它不仅仅是一种技术&#xff0c;更是一种全新的艺术表现形式。而在AI绘画的背后&#xff0c;色彩空间转换技术起着至关重要的作用。今天&#xff0c;我们就…

政安晨【零基础玩转各类开源AI项目】:解析开源项目:Champ 利用三维参数指导制作可控且一致的人体图像动画

目录 论文题目 Champ: 利用三维参数指导制作可控且一致的人体图像动画 安装 创建 conda 环境&#xff1a; 使用 pip 安装软件包 推理 1. 下载预训练模型 2. 准备准备引导动作数据 运行推理 训练模型 准备数据集 运行训练脚本 数据集 政安晨的个人主页&#xff1a;…

Web LLM 攻击技术

概述 在ChatGPT问世以来&#xff0c;我也尝试挖掘过ChatGPT的漏洞&#xff0c;不过仅仅发现过一些小问题&#xff1a;无法显示xml的bug和错误信息泄露&#xff0c;虽然也挖到过一些开源LLM的漏洞&#xff0c;比如前段时间发现的Jan的漏洞&#xff0c;但是不得不说传统漏洞越来…

抖音外卖区域代理需要多少钱?入局成本如何计算?

随着抖音外卖的日益火爆和抖音外卖平台全国代理的退场&#xff0c;想要申请抖音外卖平台区域代理的人数不断上涨。但是&#xff0c;创业毕竟不是儿戏&#xff0c;每一个决定都需要经过权衡利弊。而就做抖音外卖区域代理这一项目而言&#xff0c;抖音外卖平台区域代理需要多少钱…

洛杉矶裸机云多IP服务器网线路测评

在当今日益数字化的世界中&#xff0c;服务器的网络线路质量对于企业的运营效率和用户体验具有至关重要的作用。特别是对于那些寻求在洛杉矶部署裸机云多IP服务器的企业来说&#xff0c;了解服务器的网络线路质量显得尤为重要。本文将对洛杉矶裸机云多IP服务器的网络线路进行测…

Idea解决堆栈溢出

废话不说了&#xff0c;这问题搞了我两天&#xff0c;最近在用内网办公&#xff0c;没用公网&#xff0c;所以博客暂时没更新

QA | 关于智能座舱SusPIS-ATx系统常见问题答疑

前沿 在上一期《基于SusPIS-ATx的座舱仿真系统搭建与评估方法创意研讨会》中&#xff0c;我们围绕汽车智能座舱仿真测试相关评价规范和法规&#xff08;如C-ICAP&#xff09;&#xff0c;引入了智能座舱测试行业难点及次生问题&#xff0c;介绍了基于SusPIS-ATx的智能座舱全域…