瑞芯微Rockchip开发者社区
直播中

张红

8年用户 1348经验值
私信 关注
[问答]

介绍HDMI显示的两套流程框架

HDMI显示有几套流程框架呢?DRM标准HDMI框架是怎样的?RK HDMI框架又是怎样的呢?


回帖(1)

刘永杰

2022-3-4 15:12:54
Platform: RK3399
OS: Android 7.1 industry
Kernel: v4.4.83

HDMI显示有两套流程框架。一套是基于DRM显示标准的HDMI框架;另外一套是RK自定义的HDMI框架。
那么对应地,HDMI Audio部分也对应的是有两套流程框架。

DRM标准HDMI框架
显示部分配置:

        hdmi: hdmi@ff940000 {
                compatible = "rockchip,rk3399-dw-hdmi";
                reg = <0x0 0xff940000 0x0 0x20000>;
                reg-io-width = <4>;
                rockchip,grf = <&grf>;
                pinctrl-names = "default";
                pinctrl-0 = <&hdmi_i2c_xfer>;
                power-domains = <&power RK3399_PD_HDCP>;
                interrupts = ;
                clocks = <&cru PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_SFR>,
                         <&cru PLL_VPLL>, <&cru PCLK_VIO_GRF>,
                         <&cru SCLK_HDMI_CEC>;
                clock-names = "iahb", "isfr", "vpll", "grf", "cec";
                status = "disabled";

        ......
        };

音频部分配置:

        hdmi_codec: hdmi-codec {
                compatible = "simple-audio-card";
                simple-audio-card,format = "i2s";
                simple-audio-card,mclk-fs = <256>;
                simple-audio-card,name = "HDMI-CODEC";

                simple-audio-card,cpu {
                        sound-dai = <&i2s2>;
                };

                simple-audio-card,codec {
                        sound-dai = <&hdmi>;
                };
        };

RK HDMI框架
显示部分配置:

hdmi_rk_fb: hdmi-rk-fb@ff940000 {
                status = "disabled";
                compatible = "rockchip,rk3399-hdmi";
                reg = <0x0 0xff940000 0x0 0x20000>;
                interrupts = ,
                             ;
                clocks = <&cru PCLK_HDMI_CTRL>,
                         <&cru HCLK_HDCP>,
                         <&cru SCLK_HDMI_CEC>,
                         <&cru PLL_VPLL>,
                         <&cru SCLK_HDMI_SFR>;
                clock-names = "pclk_hdmi",
                              "hdcp_clk_hdmi",
                              "cec_clk_hdmi",
                              "dclk_hdmi_phy",
                              "sclk_hdmi_sfr";
                resets = <&cru SRST_HDMI_CTRL>;
                reset-names = "hdmi";
                pinctrl-names = "default", "gpio";
                pinctrl-0 = <&hdmi_i2c_xfer &hdmi_cec>;
                pinctrl-1 = <&i2c3_gpio>;
                rockchip,grf = <&grf>;
                power-domains = <&power RK3399_PD_HDCP>;
        };

音频部分配置:

        hdmi_sound: hdmi-sound {
                status = "okay";
                compatible = "simple-audio-card";
                simple-audio-card,format = "i2s";
                simple-audio-card,mclk-fs = <256>;
                simple-audio-card,name = "rockchip,hdmi";

                simple-audio-card,cpu {
                        sound-dai = <&i2s2>;
                };
                simple-audio-card,codec {
                        sound-dai = <&dw_hdmi_audio>;
                };
        };
举报

更多回帖

发帖
×
20
完善资料,
赚取积分