RK3399 Android7.1在uboot中设置GPIO的电平无效

有一种可能的原因是没有设置uboot中的电源域,解决方式如下:

在主dts文件中添加如下代码:

 #include <dt-bindings/input/input.h>
 #include <dt-bindings/sensor-dev.h>
 #include <dt-bindings/pwm/pwm.h>
+#include <dt-bindings/soc/rockchip-io-domain.h>
 
 / {
        compatible = "rockchip,rk3399-mid", "rockchip,rk3399";
@@ -658,7 +659,7 @@
 
 &io_domains {
        status = "okay";
-
+       uboot-set = <(RK3399_BT656_VDD_1V8 | RK3399_AUDIO_VDD_1V8 | RK3399_GPIO1833_VDD_3V3)>;
        bt656-supply = <&vcc_1v8>;
        audio-supply = <&vcca1v8_codec>;
 //     sdmmc-supply = <&sdmmc_sys>;

上面的“uboot-set”属性并不是固定的,要根据硬件设计的实际情况选择1V8和3V3的电源域配置。宏的定义在kernel/include/dt-bindings/soc/rockchip-io-domain.h中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
hi3516 是海思半导体公司开发的一款高性能、低功耗的嵌入式处理器芯片,常用于视频监控领域。而U-Boot则是一种广泛使用的开源的嵌入式操作系统,在系统启动时负责初始化硬件设备和加载操作系统。 在 hi3516 设置引脚(GPIO)的默认电平可以通过编写 U-Boot 启动脚本来实现。以下是一个简化的示例: 1. 打开 U-Boot 启动脚本文件,通常是在 `uboot` 目录下的 `boot.cmd` 文件。 2. 在文件搜索或定位到 `bdinfo` 命令,该命令用于映射设备的信息。 3. 找到对应的引脚 GPIO 的配置,可以通过 GPIO 物理地址或名称来标识。 4. 在 `setenv` 命令后添加对应引脚的默认电平设置,一般使用 `gpio` 命令进行设置。例如: ``` gpio set <pin> [high|low] ``` 其 `<pin>` 是要设置的引脚标识,`high` 表示设置为高电平,`low` 表示设置为低电平。 请根据实际情况替换 `<pin>` 为要设置的引脚标识,例如 `GPIO1_0`。 5. 保存修改并退出编辑器。 6. 使用 `mkimage` 命令将 `boot.cmd` 转换为 U-Boot 可执行的格式: ``` mkimage -C none -A arm -T script -d boot.cmd boot.scr ``` 7. 将生成的 `boot.scr` 文件烧录到设备启动介质上。 上述步骤完成后,当系统使用 U-Boot 启动时,引脚的默认电平会按照脚本设置进行初始化。请注意,在实际应用,需要根据具体的引脚配置和需求进行相应的修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值