2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
अयं लेखः आधारितः अस्तिRockPI 4A
लिबासDebian
सिस्टम् लिनक्स ४.४ कर्नेल् परिचयःDRM
आबन्धHDMI
अन्तरफलकम्DTS
विन्यासः ।
अस्तिDTS
मुख्यतया कार्यान्वितः : १.HDMI
सक्रियं करोतु,VOP
बन्धनम्, २.IOMUX
पिन विन्यासः चHDMI
नियन्त्रकविन्यासः।
प्रलेख:
arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
- #include "rk3399.dtsi"
- #include "rk3399-linux.dtsi"
- #include "rk3399-opp.dtsi"
-
- ## 1. HDMI使能
- &hdmi {
- #address-cells = <1>;
- #size-cells = <0>;
- #sound-dai-cells = <0>;
- pinctrl-names = "default";
- pinctrl-0 = <&hdmi_i2c_xfer>, <&hdmi_cec>; ## 配置HDMI IOMUX,细节见下面
- status = "okay"; ## 使能HDMI,驱动可执行probe()。status的值覆盖include的其他dtsi文件中status的值
- };
-
- ## 2.设置HDMI绑定vopb
- ## 2.1 禁止vopl
- &hdmi_in_vopl {
- status = "disabled";
- };
-
- ## 2.2 使能vopb
- &hdmi_in_vopb {
- status = "okay";
- };
-
- ## 2.3 绑定到vopb
- &route_hdmi {
- status = "okay";
- connect = <&vopb_out_hdmi>;
- };
RK3399 HDMI
अन्तरफलके कुलम् ३ पिनाः सन्ति येषां सेट् करणीयम्IOMUX
कार्याणि, विशेषतः निम्नलिखितरूपेण : १.
1)IO_I2C3HDMIsda_UART2DBGBsin_HDMII2Csda_GPIO1830gpio4c0
2)IO_I2C3HDMIscl_UART2DBGBsout_HDMII2Cscl_GPIO1830gpio4c1
3)IO_HDMIcecinout_EDPhotplug_GPIO1830gpio4c7
प्रलेख:
arch/arm64/boot/dts/rockchip/rk3399.dtsi
- hdmi {
- ## 1.设置HDMI I2C功能
- hdmi_i2c_xfer: hdmi-i2c-xfer {
- rockchip,pins =
- <4 17 RK_FUNC_3 &pcfg_pull_none>,
- <4 16 RK_FUNC_3 &pcfg_pull_none>;
- };
-
- ## 2.设置HDMI-CEC功能
- hdmi_cec: hdmi-cec {
- rockchip,pins =
- <4 23 RK_FUNC_1 &pcfg_pull_none>;
- };
- };
<4 16 RK_FUNC_3 &pcfg_pull_none>
अर्थः यथा, --
1) 4: प्रतिनिधित्वम्GPIO4
。
२) १६: सूचयतिGPIO4C0
,यतःGPIOA
तथाGPIOB
प्रत्येकं ८ पिनः सन्ति, गणना च अस्ति :GPIO4C0、GPIO4C1和GPIO4C7
क्रमशः १६, १७, २३ च ।
3)RK_FUNC_3
:व्यक्तIOMUX
फंक्शन् ३ चिनोतु अर्थात् ।hdmii2c_sda
,अधः पश्यन्तु।
4)pcfg_pull_none
: उपरि/अधः कोऽपि आकर्षणं नास्ति इति सूचयति।
प्रलेख:
arch/arm64/boot/dts/rockchip/rk3399.dtsi
- hdmi: hdmi@ff940000 {
- # 1.与HDMI平台驱动匹配(实现了DRM框架中的encoder和connector初始化)
- compatible = "rockchip,rk3399-dw-hdmi";
-
- # 2.寄存器物理基地址和内存映射长度(0x20000)
- reg = <0x0 0xff940000 0x0 0x20000>;
-
- ## 3.IOMUX配置,见本文第二部分
- pinctrl-names = "default";
- pinctrl-0 = <&hdmi_i2c_xfer>;
-
- # 4.中断配置,见"Linux内核中断之获取中断号"
- interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH 0>;
-
- # 5. 时钟配置
- 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";
-
- # 6.电源域(后续介绍)
- power-domains = <&power RK3399_PD_HDCP>;
-
- # 7.寄存器读写访问宽度(4字节)
- reg-io-width = <4>;
-
- # 8.指向GRF(通用寄存器文件)
- rockchip,grf = <&grf>;
-
- # 9.禁止状态,rk3399-rock-pi-4.dtsi中使能
- status = "disabled";
-
- # 10.配置绑定vop的hdmi接口的端节点
- ports {
- hdmi_in: port {
- #address-cells = <1>;
- #size-cells = <0>;
- hdmi_in_vopb: endpoint@0 {
- reg = <0>;
- remote-endpoint = <&vopb_out_hdmi>;
- };
- hdmi_in_vopl: endpoint@1 {
- reg = <1>;
- remote-endpoint = <&vopl_out_hdmi>;
- };
- };
- };
- };
-
-