Device Tree Configuration
A DTS/DTSI file is used to store all the device tree configuration.
vout DTS Port
In the file
starfive_devkits.dts
, to configure
vout
dts port, you can find the device tree
configuration of vout
DSI as the following code
block:/u-boot/arch/riscv/dts/starfive_devkits.dts &dc8200 { status = "okay"; vopb_out: port { #address-cells = <1>; #size-cells = <0>; vopb_out_mipi: endpoint@0 { reg = <0>; remote-endpoint = <&mipi_in_vopb>; }; vopb_out_hdmi: endpoint@1 { reg = <1>; remote-endpoint = <&hdmi_in_vopb>; }; }; }; &mipi_dsi0 { status = "okay"; starfive,panel = <&seeed_panel>; data-lanes-num = <1>; status = "okay"; ports { mipi_in: port { #address-cells = <1>; #size-cells = <0>; mipi_in_vopb: endpoint@0 { reg = <0>; remote-endpoint = <&vopb_out_mipi>; }; }; }; }; &hdmi{ pinctrl-names = "default"; pinctrl-0 = <&hdmi_pins>; status = "okay"; ports { hdmi_in: port { #address-cells = <1>; #size-cells = <0>; hdmi_in_vopb: endpoint@0 { reg = <0>; remote-endpoint = <&vopb_out_hdmi>; }; }; }; };The following list provides explanations for the parameters included in the above code block.
- status: The work status of the LCD module. To enable the module, set this bit as "okay" or to disable the module, set this bit as "disabled".
- reg: Register base address "0x295e0000" and range "0x10000".
- port: The port(s) used by the LCD driver.
- data-lanes-num: The number of data lanes.
I2C2
In the file
jh7110-devkits.dts
, to configure
lt8911exb
, the lt8911exb
dts port should be added into i2c2
. You can find
the device tree configuration of i2c2
as the
following code
block:linux/arch/riscv/boot/dts/starfive/jh7110-devkits.dts: &i2c2 { clock-frequency = <100000>; i2c-sda-hold-time-ns = <300>; i2c-sda-falling-time-ns = <510>; i2c-scl-falling-time-ns = <510>; auto_calc_scl_lhcnt; pinctrl-names = "default"; pinctrl-0 = <&i2c2_pins>; status = "okay"; lt8911exb_i2c@29 { compatible = "lontium,lt8911exb"; reg = <0x29>; reset-gpio = <&gpio 41 1>; pwm-gpio = <&gpio 33 1>; bl-gpio = <&ext_gpio 6 GPIO_ACTIVE_LOW>; port { lt8911exb_in: endpoint { remote-endpoint = <&dsi0_output>; }; }; }; };
In the above code block, the parameters of pinctrl-names and
pinctrl-0 are used to configure the i2c2
pin configuration settings.
&MIPI DST
In the file
jh7110-devkits.dts
, configure remote-end point for
connecting DSI and panel. You can find the device tree configuration
of &MIPI DST as the following code
block:linux/arch/riscv/boot/dts/starfive/jh7110-devkits.dts: &mipi_dsi { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; #address-cells = <1>; #size-cells = <0>; dsi0_output: endpoint@0 { reg = <0>; remote-endpoint = <<8911exb_in>; }; dsi1_output: endpoint@1 { reg = <1>; remote-endpoint = <&panel_dsi_port>; }; dsi2_output: endpoint@2 { reg = <2>; remote-endpoint = <&radxa_in>; }; }; port@1{ reg = <1>; dsi_in_port: endpoint { remote-endpoint = <&mipi_out>; }; }; }; };