目录
案例
临滴科技
瑞芯微官方战略合作伙伴。
RK家的SDK 看起来分为两个版本,一个带AMP的,一个不带AMP的。
LPB3588 | NeardiNeardi LPB3588 WIKI.
https://wiki.neardi.net/zh-Hans/docs/category/lpb3588/
如何在Neardi LPB3588上面运行多核异构Linux + RT-Thread系统
如何在Neardi LPB3588上面运行多核异构Linux + RT-Thread系统 - Neardi 开源论坛
翼辉
AMC3000
https://docs.acoinfo.com/quickamp/overview/products/amc3000.htmlAMC3000 是翼辉基于瑞芯微(Rockchip)RK3588 应用 QuickAMP 的智能算控单元产品
翼辉的 QuickAMP 产品
产品介绍
https://docs.acoinfo.com/quickamp/overview/intro.html#%E4%BA%A7%E5%93%81%E8%AF%B4%E6%98%8E
-
仅需单颗高性能 SoC 即可替代异构多处理器场景,减少硬件采购;提供工业级芯驰 D9-Pro 和瑞芯微 RK3588 核心板,可快速实现控制器系统硬件搭建。
官方文档
https://docs.xniupi.cn/7_More_SDK_Development/2_common/AMP/index.html
此链接为2024年版本,带有3588的使用
按键配置
DTS配置
#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/pinctrl/rockchip.h>
/ {
gpio-keys {
compatible = "gpio-keys";
autorepeat; // 可选,支持长按连发
pinctrl-names = "default";
pinctrl-0 = <&button_up_pin>, <&button_down_pin>;
status = "okay";
brightness-up {
label = "Brightness Up";
linux,code = <KEY_BRIGHTNESSUP>;
gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_LOW>;
interrupt-parent = <&gpio1>;
interrupts = <RK_PB4 IRQ_TYPE_EDGE_FALLING>;
debounce-interval = <30>;
};
brightness-down {
label = "Brightness Down";
linux,code = <KEY_BRIGHTNESSDOWN>;
gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_LOW>;
interrupt-parent = <&gpio1>;
interrupts = <RK_PB5 IRQ_TYPE_EDGE_FALLING>;
debounce-interval = <30>;
};
};
};
&pinctrl {
gpio-keys {
button_up_pin: button-up-pin {
rockchip,pins = <1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>;
};
button_down_pin: button-down-pin {
rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
};
pinctrl 的作用:pinctrl 部分明确地将 GPIO1_B4 和 GPIO1_B5 配置为普通的GPIO功能(RK_FUNC_GPIO),并启用了内部上拉电阻(&pcfg_pull_up)。这是确保按键电路稳定、防止误触发的关键步骤。
测试
增加DTS前后的对比
ls -l /dev/input/
by-id/ by-path/ event0 event1 event2 event3 event4 event5 event6
增加DTS后
ls /dev/input/
by-id by-path event0 event1 event2 event3 event4 event5 event6 event7
evtest
evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: rk805 pwrkey
/dev/input/event1: rockchip-hdmi0 rockchip-hdmi0
/dev/input/event2: adc-keys
/dev/input/event3: gpio-keys
/dev/input/event4: SIGMACHIP USB Keyboard
/dev/input/event5: SIGMACHIP USB Keyboard Consumer Control
/dev/input/event6: SIGMACHIP USB Keyboard System Control
/dev/input/event7: SIGMACHIP Usb Mouse
Select the device event number [0-7]: 3
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x1 product 0x1 version 0x100
Input device name: "gpio-keys"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 224 (KEY_BRIGHTNESSDOWN)
Event code 225 (KEY_BRIGHTNESSUP)
Key repeat handling:
Repeat type 20 (EV_REP)
Repeat code 0 (REP_DELAY)
Value 250
Repeat code 1 (REP_PERIOD)
Value 33
Properties:
Testing ... (interrupt to exit)
Event: time 1782266272.617710, type 1 (EV_KEY), code 225 (KEY_BRIGHTNESSUP), value 1
Event: time 1782266272.617710, -------------- SYN_REPORT ------------
Event: time 1782266272.810798, type 1 (EV_KEY), code 225 (KEY_BRIGHTNESSUP), value 0
Event: time 1782266272.810798, -------------- SYN_REPORT ------------
Event: time 1782266276.111073, type 1 (EV_KEY), code 224 (KEY_BRIGHTNESSDOWN), value 1
Event: time 1782266276.111073, -------------- SYN_REPORT ------------
Event: time 1782266276.320916, type 1 (EV_KEY), code 224 (KEY_BRIGHTNESSDOWN), value 0
驱动路径
gpio-keys驱动是Linux内核为通过GPIO引脚连接的按键设备设计的通用驱动,属于输入子系统的一部分。 其核心作用是:监测GPIO引脚的电平变化(高/低电平切换),将其转换为输入子系统可识别的按键事件(如KEY_PRESS、KEY_RELEASE),并上报给用户空间,最终被应用程序捕获处理。
驱动路径: kernel\drivers\input\keyboard\gpio_keys.c
背光与控制器的关联
HDMI 背光控制,实际测试下来,背光节点生成后,如何和控制器关联看起来比较随意,比如下面的位置也可以。
&route_hdmi0 {
status = "okay";
// connect = <&vp0_out_hdmi0>;
backlight = <&lvdsbacklight>;
};
2064

被折叠的 条评论
为什么被折叠?



