RK3399 ALC5640芯片配置

2023-05-16

说明:本文适用于 RK3399 linux 4.4 内核系列SDK。硬件上,音频外部 codec 芯片 i2s 引脚与 RK3399 i2s1连接。软件上需要加下述patch解决噪声问题(以 rt5640 为例)

arch/arm64/boot/dts/rockchip/rk3399-firefly-linux.dts

/ {
    rt5640-sound {
        status = "okay";    
        compatible = "simple-audio-card";
        simple-audio-card,format = "i2s";
        simple-audio-card,name = "rockchip,rt5640-codec";
        simple-audio-card,mclk-fs = <256>;
        simple-audio-card,widgets =
            "Microphone", "Mic Jack",
            "Headphone", "Headphone Jack";
        simple-audio-card,routing =
            "Mic Jack", "MICBIAS1",
            "IN1P", "Mic Jack",
            "Headphone Jack", "HPOL",
            "Headphone Jack", "HPOR";    
        simple-audio-card,cpu {
                sound-dai = <&i2s1>;
        };
        simple-audio-card,codec {
                sound-dai = <&rt5640>;
        };
    };
};

&i2s1 {
    status = "okay";
    #sound-dai-cells = <0>;
    rockchip,i2s-broken-burst-len;
    rockchip,playback-channels = <2>;
    rockchip,capture-channels = <2>;
    //assigned-clocks = <&cru SCLK_I2S_8CH>;
    //assigned-clock-parents =<&cru SCLK_I2S1_8CH>;
};

&i2c1 {
    status = "okay";
    rt5640: rt5640@1c {
        #sound-dai-cells = <0>;
        compatible = "realtek,rt5640";
        reg = <0x1c>;
        clocks = <&cru SCLK_I2S_8CH_OUT>;
        clock-names = "mclk";
        realtek,in1-differential;
        realtek,in2-differential;
        pinctrl-names = "default";
        pinctrl-0 = <&i2s_8ch_mclk>;
        status = "okay";
    };
};

arch/arm64/boot/dts/rockchip/rk3399-vop-clk-set.dtsi 

/*
&i2s1 {
        assigned-clocks = <&cru SCLK_I2S1_DIV>;
        assigned-clock-parents = <&cru PLL_GPLL>;
};
*/

&i2s1 {
        assigned-clocks = <&cru SCLK_I2S_8CH>;
        assigned-clock-parents =<&cru SCLK_I2S1_8CH>;
};

时钟配置
diff --git a/drivers/clk/rockchip/clk-rk3399.c b/drivers/clk/rockchip/clk-rk3399.c
index f434454..f5822f0 100644
--- a/drivers/clk/rockchip/clk-rk3399.c
+++ b/drivers/clk/rockchip/clk-rk3399.c

@@ -712,7 +712,7 @@ static struct rockchip_clk_branch rk3399_clk_branches[] __initdata = {
     GATE(SCLK_I2S2_8CH, "clk_i2s2", "clk_i2s2_mux", CLK_SET_RATE_PARENT,
             RK3399_CLKGATE_CON(8), 11, GFLAGS),
 
-    MUX(0, "clk_i2sout_src", mux_i2sch_p, CLK_SET_RATE_PARENT,
+    MUX(SCLK_I2S_8CH, "clk_i2sout_src", mux_i2sch_p, CLK_SET_RATE_PARENT,
             RK3399_CLKSEL_CON(31), 0, 2, MFLAGS),
     COMPOSITE_NODIV(SCLK_I2S_8CH_OUT, "clk_i2sout", mux_i2sout_p, CLK_SET_RATE_PARENT,
             RK3399_CLKSEL_CON(30), 8, 2, MFLAGS,

   
diff --git a/include/dt-bindings/clock/rk3399-cru.h b/include/dt-bindings/clock/rk3399-cru.h
index d32ce01..710d610 100644
--- a/include/dt-bindings/clock/rk3399-cru.h
+++ b/include/dt-bindings/clock/rk3399-cru.h

@@ -226,6 +226,7 @@
 #define ACLK_GIC_PRE             262
 #define ACLK_VOP0_PRE             263
 #define ACLK_VOP1_PRE             264
+#define SCLK_I2S_8CH            265
 
 /* pclk gates */
 #define PCLK_PERIHP            320


 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RK3399 ALC5640芯片配置 的相关文章

  • RK3399 9.0 Setting修改一级菜单和二级菜单

    RK3399 9 0 Setting去掉一级菜单以及网络下二级菜单 xff0c 留下以太网二级菜单 rk3399 9 span class token punctuation span span class token number 0 s
  • 20230318解决编译友善之臂的RK3399的Android7.1.2的ninja_wrapper出错

    20230318解决编译友善之臂的RK3399的Android7 1 2的ninja wrapper出错 2023 3 18 9 08 1 刚开始编译就出现ninja wrapper出错 xff1a export LC ALL 61 C i
  • 基于RK3399的LED驱动开发

    1 添加设备树 在设备树 arch arm64 boot dts rockchip rk3399 firefly linux dts 中添加 gpio span class token operator span led span clas
  • RK3399 ALC5640芯片配置

    说明 xff1a 本文适用于 RK3399 linux 4 4 内核系列SDK 硬件上 xff0c 音频外部 codec 芯片 i2s 引脚与 RK3399 i2s1连接 软件上需要加下述patch解决噪声问题 xff08 以 rt5640
  • Linux下传感器驱动。rk3399

    基于rk3399的Linux下的陀螺仪mpu9250传感器驱动 mpu6050 bh1750传感器 xff0c sht30 35温湿度传感器驱动 已经成功移植 xff0c 通过iic驱动获取到数据 Linux驱动开发
  • 52、人脸检测部署RK3399 PRO,完成RKNN的人脸检测

    基本思想 xff1a 帮助好友部署一个人脸检测模型 xff0c 也是自己业务需求 xff0c 部分代码来自好友陈同学 xff0c 自己改了改c 43 43 的代码可以部署rk3399pro上了 xff0c 其它资料见附录吧 xff0c 官方
  • rk3399下spi驱动

    SPI 使用 Note xff1a 本文从firefly wiki截取 SPI是一种高速的 xff0c 全双工 xff0c 同步串行通信接口 xff0c 用于连接微控制器 传感器 存储设备等 Firefly RK3399 开发板提供了 SP
  • 制作Station主机的Armbian启动卡

    Station主机支持很多种操作系统 烧录系统可以连接电脑进行线刷 也可以制作TF卡启动卡 方便系统的切换 本文介绍了制作Armbian启动卡的方法 见视频 视频演示 通过TF卡启动的时候需要先擦除EMMC里面的系统或者暂时拆掉EMMC模块
  • RK3399 Linux-SDK mipi屏幕驱动及调试

    一 流程及通路 我接触到的三款mipi屏幕 基本的点亮流程都是很一致的 就是背光使能 背光点亮 屏幕使能 reset引脚按指定时序 波形拉高或拉低 初始化序列命令发送 3399的linuxSDK中 包含一种类似通用的屏幕驱动 本文档以使用此
  • RK3399:WSL-Ubuntu16.04编译Android7.1 Industry

    RK3399 WSL Ubuntu16 04编译Android7 1 Industry 文章目录 RK3399 WSL Ubuntu16 04编译Android7 1 Industry 一 搭建WSL Ubuntu16 04 二 编译过程
  • 【RK3399】I3399烧写Debian系统详解

    00 目录 文章目录 00 目录 01 驱动安装 02 镜像文件烧写 03 问题讨论 04 附录 01 驱动安装 1 1 没有安装驱动的时候 显示感叹号 1 2 解压DriverAssitant v5 1 1 zip 1 3 双击Drive
  • EDK2编译记录

    EDK2 EDK2 PLATFORM EDK2 NON OSI 以上三个仓库 EDK2是主仓库 EDK2 PLATFORM是和EDK2版本对应的板子和CPU相关的仓库 比如树莓派的就在这个里面 EDK2 NON OSI是有一些license
  • 网络服务(2)——以太网配置IPV4和IPV6

    测试 网络拓扑 开发板 RK3399 lt gt 交换机 lt gt 我的电脑 虚拟机 配置指令 设置IP ip 6 addr add 1001 2001 2001 2001 159 64 dev eth0 ip 6 addr del 10
  • RV1126 isp开发文档记录

    Rockchip IQ Tools Guide ISP2x v1 3 pdf 主要介绍 RKISP2 x Tuner 以下简称 Tuner 提供了一套便于用户调试 ISP 参数的工具 用户可以在 Tuner 中对所有 ISP 模块开展标定
  • you need to install ‘unbuffer‘ (from package expect or expect-dev)

    在下载完RK3399 Linux SDK后的第一次编译时 报以下错误 you need to install unbuffer from package expect or expect dev log saved on home user
  • 【技术案例】Firefly-RK3399多路视频编解码

    Firefly RK3399开源板拥有强大的视像处理器 VPU 能够流畅的实现H 264编解码功能 可以同时进行两路视频编码和五路视频解码 在应用方面 多路编解码功能可以更优秀地应用于同时录像和播放多个视频的场景 1分钟视频 一起先来了解下
  • TB-RK3399pro成砖后Typec无法连接电脑的方法

    TB RK3399pro 即为toybrick的3399pro板 成砖原因 强行刷友善之臂的3399固件 且失败 解决方法 1 断开所有连接 2 用Typec连接电脑 3 按下板子正面的 maskrom 按键 在散热片固定钉旁的一个小按键
  • rk3399 Android9.0 ota升级失败

    rk3399 Android9 0 ota升级失败 问题 在rk3399 Android9 0 项目中需要 ota 功能 user版本编译完ota升级包后 在同版本整包升级时遇到如下问题 抓到的logcat内容如下 1044 2343 D
  • 钉钉F1 RK3399 咸鱼80元板子使用记录

    1 简单介绍 12V电源 建议2A 默认插电不开机 有大佬找到金属罩下的焊盘 短接可上电开机 在usb旁边的旁边有个端子接口 短接就可以开机 建议找个一样大的接口接个开关 到目前为止还未测试需要哪种接口 其它接口暂时不知 谁舍得拆一个钉钉F
  • [RK-Linux] 移植Linux-5.10到RK3399(二)| 检查系统电源域

    检查电源域 Power Domain 是确保供电电源的稳定和正确 也能避免防止出现莫名其妙的 BUG 造成问题难以排查 具体作用大致如下 供电稳定性 检查电源域可以确保芯片和各个功能模块得到稳定的电源供应 稳定的供电对于芯片的 常运行和各个

随机推荐