.. | .. |
---|
4 | 4 | Required properties: |
---|
5 | 5 | - #address-cells: Should be <1>. |
---|
6 | 6 | - #size-cells: Should be <0>. |
---|
7 | | -- compatible: must be one of: |
---|
8 | | - "rockchip,px30-mipi-dsi", "snps,dw-mipi-dsi". |
---|
9 | | - "rockchip,rk1808-mipi-dsi", "snps,dw-mipi-dsi". |
---|
10 | | - "rockchip,rk3128-mipi-dsi", "snps,dw-mipi-dsi". |
---|
11 | | - "rockchip,rk3288-mipi-dsi", "snps,dw-mipi-dsi". |
---|
12 | | - "rockchip,rk3368-mipi-dsi", "snps,dw-mipi-dsi". |
---|
13 | | - "rockchip,rk3399-mipi-dsi", "snps,dw-mipi-dsi". |
---|
14 | | - "rockchip,rk3568-mipi-dsi", "snps,dw-mipi-dsi". |
---|
15 | | - "rockchip,rv1126-mipi-dsi", "snps,dw-mipi-dsi". |
---|
| 7 | +- compatible: one of |
---|
| 8 | + "rockchip,px30-mipi-dsi", "snps,dw-mipi-dsi" |
---|
| 9 | + "rockchip,rk3288-mipi-dsi", "snps,dw-mipi-dsi" |
---|
| 10 | + "rockchip,rk3399-mipi-dsi", "snps,dw-mipi-dsi" |
---|
16 | 11 | - reg: Represent the physical address range of the controller. |
---|
17 | 12 | - interrupts: Represent the controller's interrupt to the CPU(s). |
---|
18 | | -- power-domains: a phandle to mipi dsi power domain node. |
---|
19 | | -- resets: list of phandle + reset specifier pairs, as described in [3]. |
---|
20 | | -- reset-names: string reset name, must be "apb". |
---|
21 | | -- clocks, clock-names: Phandles to the controller's APB clock(pclk), |
---|
22 | | - As described in [1]. |
---|
| 13 | +- clocks, clock-names: Phandles to the controller's pll reference |
---|
| 14 | + clock(ref) when using an internal dphy and APB clock(pclk). |
---|
| 15 | + For RK3399, a phy config clock (phy_cfg) and a grf clock(grf) |
---|
| 16 | + are required. As described in [1]. |
---|
23 | 17 | - rockchip,grf: this soc should set GRF regs to mux vopl/vopb. |
---|
24 | 18 | - ports: contain a port node with endpoint definitions as defined in [2]. |
---|
25 | 19 | For vopb,set the reg = <0> and set the reg = <1> for vopl. |
---|
| 20 | +- video port 0 for the VOP input, the remote endpoint maybe vopb or vopl |
---|
| 21 | +- video port 1 for either a panel or subsequent encoder |
---|
26 | 22 | |
---|
27 | 23 | Optional properties: |
---|
28 | | -- clocks, clock-names: |
---|
29 | | - phandle to the SNPS-PHY config clock, name should be "phy_cfg". |
---|
30 | | - phandle to the SNPS-PHY PLL reference clock, name should be "ref". |
---|
31 | | - phandle to the Non-SNPS PHY high speed clock, name should be "hs_clk". |
---|
32 | | -- phys: phandle to Non-SNPS PHY node |
---|
33 | | -- phy-names: the string "mipi_dphy" when is found in a node, along with "phys" |
---|
34 | | - attribute, provides phandle to MIPI PHY node |
---|
35 | | -- rockchip,lane-rate: optional override of the desired bandwidth. |
---|
36 | | -- rockchip,dual-channel: for dual-channel mode, phandle to the slave channel. |
---|
37 | | -- rockchip,data-swap: for dual-channel mode, swap two channel data of MIPI. |
---|
| 24 | +- phys: from general PHY binding: the phandle for the PHY device. |
---|
| 25 | +- phy-names: Should be "dphy" if phys references an external phy. |
---|
| 26 | +- power-domains: a phandle to mipi dsi power domain node. |
---|
| 27 | +- resets: list of phandle + reset specifier pairs, as described in [3]. |
---|
| 28 | +- reset-names: string reset name, must be "apb". |
---|
38 | 29 | |
---|
39 | 30 | [1] Documentation/devicetree/bindings/clock/clock-bindings.txt |
---|
40 | 31 | [2] Documentation/devicetree/bindings/media/video-interfaces.txt |
---|
41 | 32 | [3] Documentation/devicetree/bindings/reset/reset.txt |
---|
42 | 33 | |
---|
43 | 34 | Example: |
---|
44 | | - dsi: dsi@ff960000 { |
---|
| 35 | + mipi_dsi: mipi@ff960000 { |
---|
45 | 36 | #address-cells = <1>; |
---|
46 | 37 | #size-cells = <0>; |
---|
47 | 38 | compatible = "rockchip,rk3288-mipi-dsi", "snps,dw-mipi-dsi"; |
---|
.. | .. |
---|
56 | 47 | ports { |
---|
57 | 48 | #address-cells = <1>; |
---|
58 | 49 | #size-cells = <0>; |
---|
59 | | - reg = <1>; |
---|
60 | 50 | |
---|
61 | | - port { |
---|
| 51 | + mipi_in: port@0 { |
---|
| 52 | + reg = <0>; |
---|
62 | 53 | #address-cells = <1>; |
---|
63 | 54 | #size-cells = <0>; |
---|
64 | 55 | |
---|
65 | | - dsi_in_vopb: endpoint@0 { |
---|
| 56 | + mipi_in_vopb: endpoint@0 { |
---|
66 | 57 | reg = <0>; |
---|
67 | | - remote-endpoint = <&vopb_out_dsi>; |
---|
| 58 | + remote-endpoint = <&vopb_out_mipi>; |
---|
68 | 59 | }; |
---|
69 | | - |
---|
70 | | - dsi_in_vopl: endpoint@1 { |
---|
| 60 | + mipi_in_vopl: endpoint@1 { |
---|
71 | 61 | reg = <1>; |
---|
72 | | - remote-endpoint = <&vopl_out_dsi>; |
---|
| 62 | + remote-endpoint = <&vopl_out_mipi>; |
---|
| 63 | + }; |
---|
| 64 | + }; |
---|
| 65 | + |
---|
| 66 | + mipi_out: port@1 { |
---|
| 67 | + reg = <1>; |
---|
| 68 | + #address-cells = <1>; |
---|
| 69 | + #size-cells = <0>; |
---|
| 70 | + |
---|
| 71 | + mipi_out_panel: endpoint { |
---|
| 72 | + remote-endpoint = <&panel_in_mipi>; |
---|
73 | 73 | }; |
---|
74 | 74 | }; |
---|
75 | 75 | }; |
---|
.. | .. |
---|
82 | 82 | pinctrl-names = "default"; |
---|
83 | 83 | pinctrl-0 = <&lcd_en>; |
---|
84 | 84 | backlight = <&backlight>; |
---|
| 85 | + |
---|
| 86 | + port { |
---|
| 87 | + panel_in_mipi: endpoint { |
---|
| 88 | + remote-endpoint = <&mipi_out_panel>; |
---|
| 89 | + }; |
---|
| 90 | + }; |
---|
85 | 91 | }; |
---|
86 | 92 | }; |
---|