博主手里有一块正点原子 STM32F103 单片机开发板,一块基于三星 S3C2440 的 JZ2440 开发板,一块 NXP 的 IMX6ULL 开发板,缺一...
RK 的处理器 Rockchip 在江湖中简称 RK,是一家总部坐落于福建福州的 SOC 设计公司。...rockchip 官方开源网站 http://opensource.rock-chips.com/wiki_Main_Page ?...Graphics 和 Multimedia 描述了 Rockchip 平台图形图形以及多媒体编解码的软件框架。...github https://github.com/rockchip-linux ?...Collabora Collabora 是一个著名的开源组织,他们为 Rockchip 平台向 Linux Kernel mainline 提交了大量代码,为 Rockchip 平台的 GPU 图形加速和多媒体提供了大量的支持
//模组名称 rockchip,camera-module-name = "CMK-OT2022-PX1"; //IR CUT设备 rockchip,camera-module-lens-name...,camera-module-index = ; rockchip,camera-module-facing = "back"; rockchip,camera-module-name =...,camera-module-index = ; rockchip,camera-module-facing = "back"; rockchip,camera-module-name =...,camera-module-index = ; rockchip,camera-module-facing = "back"; rockchip,camera-module-name =...,camera-module-index = ; rockchip,camera-module-facing = "back"; rockchip,camera-module-name =
最外层的兼容属性为"rockchip,rk3399-dwc3",为rockchip定义的属性,有时钟、电源、复位、extcon等。...3.1.rockchip USB初始化驱动分析 rockchip提供的USB初始化驱动是一个platform_driver,设备树匹配的属性为"rockchip,rk3399-dwc3",入口函数为dwc3..._rockchip_probe。...= dwc3_rockchip_host_notifier; rockchip->edev = edev; // 异步执行dwc3_rockchip_async_probe...dwc3_rockchip_device_notifier // 获取dwc3_rockchip结构体 rockchip = container_of(nb, struct
/rockchip_drm_drv.c static const struct component_master_ops rockchip_drm_ops = { .bind = rockchip_drm_bind..., .unbind = rockchip_drm_unbind, }; static int rockchip_drm_platform_probe(struct platform_device *...rockchip_drm_platform_driver = { .probe = rockchip_drm_platform_probe, .remove = rockchip_drm_platform_remove...= rockchip_drm_dt_ids, .pm = &rockchip_drm_pm_ops, }, }; 3、RK3399 实例 博主手里的是 MIPI DSI 屏幕,设备树配置如下:...在 rockchip 提供的显示驱动代码中,也有模拟 FB 设备的相关代码,参见 drivers/gpu/drm/rockchip/rockchip_drm_fb.c 文件,最终效果就是设备目录下,出现熟悉的身影
概述 618 买了几个便宜的 Purple PI OH 开发板[1] (500 块多一点买了 3 个), 这个开发板类似树莓派,是基于 Rockchip(瑞芯微) 的 rx3566 arm64 芯片。...修改内核配置并编译 Linux SDK 官方一般都会提供,基于 Rockchip 芯片系列的 Linux SDK 文件目录结构大差不差。...我这里以 Purple Pi OH 为例,相信如果您也正好有相关需求,且是 Rockchip 的其他开发板,也能很快找到对应目录。...然后利用 Rockchip 提供的烧录工具:RKDevTool.exe, 单独将 boot.img 烧录即可。...总结 玩了一周末的 Rockchip arm64 开发板,现在 2G 内存的板子上终于可以跑 docker,k3s,tailscale,cilium 了。
/host/bin/aarch64-buildroot-linux-gnu- 32位系统:buildroot/output/rockchip_rk356x/host/usr/arm-linux-gcc.../build.sh recovery 编译后在 Buildroot 目录 output/rockchip芯片型号recovery/images 生成 recovery.img。.../build.sh rootfs 编译后在 Buildroot 目录 output/rockchip_芯片型号/images下生成 rootfs.ext4 app 和 external 里的工程编译方法...$source envsetup.sh rockchip_rv1126_rv1109_libs $make -j12 编译BSP生成的目录 buildroot/output/rockchip_rv1126..._rv1109_libs/BSP tree buildroot/output/rockchip_rv1126_rv1109_libs/BSP/ buildroot/output/rockchip_rv1126
RK3399 FPGA Board"; compatible = "rockchip,fpga", "rockchip,rk3399"; //根节点兼容性分析,下面具体分析...,fpga", "rockchip,rk3399"; 上面是根节点的兼容属性,定义了整个系统(设备级别)的名称,通过这个属性就可以判断出它启动的是什么设备。...它的组织形式是<manufacture><model>,在实际中一般包括两个或两个以上的兼容字符串,上面第一个是"rockchip,fpga",第二个是"rockchip,rk3399...dts,可以看出第一个兼容字符串的model不同,第二个完全相同 rk3399-firefly-linux.dts compatible = "rockchip,rk3399-firefly-linux...", "rockchip,rk3399"; rk3399-fpga.dts compatible = "rockchip,fpga", "rockchip,rk3399"; 3.2节点名 理论个节点名只要是长度不超过
1、关于uart5节点pinctrl配置的描述 uart5 { /omit-if-no-ref/ uart5m0_xfer: uart5m0-xfer { rockchip,pins =..._tx_m0 */ ; }; /omit-if-no-ref/ uart5m0_ctsn: uart5m0-ctsn { rockchip...,pins = ; }; /omit-if-no-ref/ uart5m0_rtsn: uart5m0-rtsn { rockchip...,pins = ; }; /omit-if-no-ref/ uart5m1_xfer: uart5m1-xfer { rockchip..._tx_m1 */ ; }; /omit-if-no-ref/ uart5m1_ctsn: uart5m1-ctsn { rockchip
b/drivers/i2c/busses/i2c-rockchip.c index 3f64ff0..db28071 100644 --- a/drivers/i2c/busses/i2c-rockchip.c...+++ b/drivers/i2c/busses/i2c-rockchip.c @@ -716,12 +716,17 @@ static int rockchip_i2c_doxfer(struct...rockchip_i2c *i2c, i2c_writel(I2C_IPD_ALL_CLEAN, i2c->regs + I2C_IPD); rockchip_i2c_disable_irq...(i2c); - rockchip_i2c_disable(i2c); spin_unlock_irqrestore(&i2c->lock, flags); - if (error =...(i2c); + msleep(5); + } + + rockchip_i2c_disable(i2c); return error; } diff --git a
stdout-path也改为 uart0 2)修改rv1126.dtsi fiq_debugger: fiq-debugger { compatible = "rockchip...,fiq-debugger"; - rockchip,serial-id = ; + rockchip,serial-id = ;...rockchip,wake-irq = ; rockchip,irq-mode-enable = ; rockchip,baudrate
我们新建一个 dtsi 文件特意放屏 幕相关的:kernel/arch/arm64/boot/dts/rockchip/topeet_rk3568_lcds.dtsi 然后在 kernel/arch/arm64.../boot/dts/rockchip/rk3568-evb1-ddr4-v10.dts 文件中加入这个头文 件,如下图所示: 另注意,由于 DTS 文件设计到层层包含(DTS 文件可以包含后缀为.dtsi...2.1 dsi节点 mipi 屏幕我们使用 dsi1 接口,所以需要在设备树里面查找 dsi 节点,如下图所示: kernel/arch/arm64/boot/dts/rockchip/rk3568.dtsi...(瑞芯微写好的) kernel/arch/arm64/boot/dts/rockchip/rk3568.dtsi (瑞芯微写好的) dsi1: dsi@fe070000 { compatible =...配置文件,增加如下 所示: CONFIG_DRM_ROCKCHIP=y CONFIG_ROCKCHIP_DW_MIPI_DSI=y CONFIG_DRM_PANEL_SIMPLE=y 4烧写验证 4.1
3、RK3399 实例分析 RK 平台 pwm driver 目录如下: /kernel/drivers/input/remotectl/rockchip_pwm_remotectl.c /kernel.../drivers/pwm/pwm-rockchip.c 红外接收器有很多,如 LF0038GKLL-1、HS0038B、VS1838B 等,博主手里 RK3399 带的是 HS0038B,硬件原理图如下...,usercode = ; rockchip,key_table = ...rockchip,usercode 表示 NEC 里面的地址。 这里将红外编码值映射成 Linux 下标准键。...如下图所示: echo 1 > sys/module/rockchip_pwm_remotectl/parameters/code_print 4、驱动源码分析 rockchip_pwm_remotectl.c
gpio_chip 的注册过程: drivers/pinctrl/pinctrl-rockchip.c rockchip_pinctrl_probe() { // rockchip 用于管理 gpio...struct rockchip_pin_ctrl *ctrl = & rk3399_pin_ctrl; info->ctrl = ctrl; rockchip_gpiolib_register...= { .request = gpiochip_generic_request, .free = gpiochip_generic_free, .set = rockchip_gpio_set,....get = rockchip_gpio_get, .get_direction = rockchip_gpio_get_direction, .direction_input = rockchip_gpio_direction_input..., .direction_output = rockchip_gpio_direction_output, .set_config = rockchip_gpio_set_config, .to_irq
前面聊的 最近在调试项目的亮屏速度,我们希望在按下power键后到亮屏这个时间能达到500MS以内,在Rockchip 3399和3288上面的时间都不能达到要求,因此引发了一系列的调试之路。...[ 1211.293492] rockchip-vop ff930000.vop: wait win close timeout [ 1211.293514] rockchip-vop ff930000...[ 1216.423283] rockchip-vop ff930000.vop: [drm:vop_crtc_enable] Update mode to 12001920, close all win...[ 1234.386252] rockchip-vop ff930000.vop: [drm:vop_crtc_enable] Update mode to 1200*1920, close all...win 代码如下 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
MYD-LR3568驱动列表模块描述源码路径MMCemmc驱动程序kernel/drivers/mmc/host/dw_mmc-rockchip.cSPISPI 驱动程序kernel/drivers/spi.../spi-rockchip.cI2Ci2c 驱动程序kernel/drivers/i2c/busses/i2c-rk3x.cUSB HostUSB 驱动程序kernel/drivers/usb/dwc3.../phy-rockchip-csi2-dphy.cGPIO keyKey驱动程序kernel/drivers/input/keyboard/gpio_keys.cRTCRTC驱动程序kernel/drivers.../dw_hdmi-rockchip.cTouch触摸屏驱动程序kernel/drivers/input/touchscreen/edt-ft5x06.cWIFI/BTWiFi/BT驱动程序external.../rkwifibt/drivers/bcmdhd/SOUND音频驱动程序kernel/sound/soc/rockchip/rockchip_multicodecs.cLVDSLVDS驱动程序kernel
图1.2选择SDK配置文件配置完后,直接查看device/rockchip/rk356x/BoardConfig-rk3568-evb1-ddr4-v10.mk文件,由RK_KERNEL_DEFCONFIG...1.3 kernel修改配置首先导入上面指定的默认配置,操作命令如下:cd kernelmake ARCH=arm64rockchip_linux_defconfig进入menuconfig修改内核,命令如下所示...make ARCH=arm64 savedefconfigcp defconfig arch/arm64/configs/rockchip_linux_defconfig注:建议覆盖前备份一下原始rockchip_linux_defconfig
1、Rockchip SDK架构图 2、RV1126_RV1109开发环境搭建 2.1、搭建过程中遇到的问题 我用的是韦东山老师的ubuntu18.04虚拟机来编译的。...apt-get update sudo apt-get upgrade 2.3、安装QT开发环境 sudo apt-get install cmake qt5-default qtcreator 2.4、安装编译rockchip.../build.sh device/rockchip/rv1126_rv1109/BoardConfig-aybering.mk cd kernel make ARCH=arm rv1126_defconfig.../build.sh -h rootfs source envsetup.sh rockchip_rv1126_rv1109 make menuconfig make savedefconfig #...RK平台的dts文件存放于: ARM:arch/arm/boot/dts/ ARM64 :arch/arm64/boot/dts/rockchip 一般 dts 文件的命名规则为soc-board_name.dts
gedit kernel/arch/arm/boot/dts/rv1126.dtsi & 打开后我们可以看到设备树的支持情况如下: i2c0: i2c@ff3f0000 { compatible = "rockchip...,rv1126-i2c", "rockchip,rk3399-i2c"; reg = ; interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH...default"; pinctrl-0 = ; status = "disabled"; }; i2c1: i2c@ff510000 { compatible = "<em>rockchip</em>...,rv1126-i2c", "rockchip,rk3399-i2c"; reg = ; interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH...default"; pinctrl-0 = ; status = "disabled"; }; i2c3: i2c@ff520000 { compatible = "<em>rockchip</em>
要在uboot阶段显示logo,需要先在dts中打开配置 rockchip,uboot-logo-on = ; 然后替换源码SDK中kernel目录下的logo.bmp;重新编译resource.img...步骤1:支持关机充电: uboot-charge { compatible = “rockchip,uboot-charge”; rockchip,uboot-charge-on = ; rockchip...bootanimation.zip system/media/完全替换 在板级配置文件rk3399.mk中增加如下内容 #for bootanimation PRODUCT_COPY_FILES += \ device/rockchip.../rk3399/bootanimation.zip:system/media/bootanimation.zip 在rk3399中还需要更改另外一处地方: 替换device/rockchip/common
领取专属 10元无门槛券
手把手带您无忧上云