下冰雹 · 2022年01月02日

全志R329如何在Tina安全应用程序调试?

请问全志R329如何在Tina安全应用程序调试?

1 个回答 得票排序 · 时间排序
极术小姐姐 · 2022年01月03日
本回答来源全志R329如何在Tina安全应用程序调试?

问题背景

客户同一款产品,一供模拟功放和二供模拟功放使用不同的PIN脚来使能PA,客户想在dtbo中根据硬件版本类型配置不同的pin脚。但是在dtbo中根据dts的方法配置的时候会报syntax error。如当时按以下方法配置成PM8的情况,会提示syntax error

&codec_ex {
  gpio-spk = <&r_pio PM 8 1 1 1 1>;
};

问题分析

在dts中,如果要使用gpio.h中定义的pin脚,那么可以直接用#include <dt-bindings/gpio/gpio.h>这句话把gpio.h头文件包含之后就可以使用里面定义的宏了。但dtbo的语法不支持这种include的方式,也不支持直接在dtbo中定义宏的方式,因此要配置PM8这个pin时,不能写PM这个符号,只能写PM实际定义的数字。所有pin定义的数字定义在lichee/linux-4.9/include/dt-bindings/gpio/gpio.h,如下所示:

/* sunxi gpio arg */
#define  PA  0
#define  PB  1
#define  PC  2
#define  PD  3
#define  PE  4
#define  PF  5
#define  PG  6
#define  PH  7
#define  PI  8
#define  PJ  9
#define  PK  10
#define  PL  11
#define  PM  12
#define  PN  13
#define  PO  14
#define  PP  15
#define  default 0xffffffff

解决方法

在device/config/chips/r329/configs/xxx/dtbo/xxx.dts中根据实际要配置的pin脚加入以下代码,如配置使能脚为PM8,则根据lichee/linux-4.9/include/dt-bindings/gpio/gpio.h中的宏定义把PM改成12,改动如下:

&codec_ex {
  gpio-spk = <&r_pio 12 8 1 1 1 1>;
};
你的回答
关注数
1
收藏数
0
浏览数
3071
极术小姐姐
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息