| .. | .. |
|---|
| 1 | | -Rockchip SoCs LVDS interface |
|---|
| 1 | +Rockchip RK3288 LVDS interface |
|---|
| 2 | 2 | ================================ |
|---|
| 3 | 3 | |
|---|
| 4 | 4 | Required properties: |
|---|
| 5 | 5 | - compatible: matching the soc type, one of |
|---|
| 6 | | - - "rockchip,px30-lvds", |
|---|
| 7 | | - - "rockchip,rk3126-lvds", |
|---|
| 8 | | - - "rockchip,rk3288-lvds", |
|---|
| 9 | | - - "rockchip,rk3368-lvds"; |
|---|
| 10 | | - - "rockchip,rk3568-lvds"; |
|---|
| 11 | | -- phys : phandle for the PHY device |
|---|
| 12 | | -- phy-names : should be "phy" |
|---|
| 6 | + - "rockchip,rk3288-lvds"; |
|---|
| 7 | + - "rockchip,px30-lvds"; |
|---|
| 8 | + |
|---|
| 9 | +- reg: physical base address of the controller and length |
|---|
| 10 | + of memory mapped region. |
|---|
| 11 | +- clocks: must include clock specifiers corresponding to entries in the |
|---|
| 12 | + clock-names property. |
|---|
| 13 | +- clock-names: must contain "pclk_lvds" |
|---|
| 14 | + |
|---|
| 15 | +- avdd1v0-supply: regulator phandle for 1.0V analog power |
|---|
| 16 | +- avdd1v8-supply: regulator phandle for 1.8V analog power |
|---|
| 17 | +- avdd3v3-supply: regulator phandle for 3.3V analog power |
|---|
| 18 | + |
|---|
| 19 | +- rockchip,grf: phandle to the general register files syscon |
|---|
| 20 | +- rockchip,output: "rgb", "lvds" or "duallvds", This describes the output interface |
|---|
| 21 | + |
|---|
| 22 | +- phys: LVDS/DSI DPHY (px30 only) |
|---|
| 23 | +- phy-names: name of the PHY, must be "dphy" (px30 only) |
|---|
| 13 | 24 | |
|---|
| 14 | 25 | Optional properties: |
|---|
| 15 | | -- dual-channel: boolean. if it exists, enable dual channel mode |
|---|
| 16 | | -- rockchip,data-swap: boolean to enable odd/even data swap in dual channel mode |
|---|
| 26 | +- pinctrl-names: must contain a "lcdc" entry. |
|---|
| 27 | +- pinctrl-0: pin control group to be used for this controller. |
|---|
| 17 | 28 | |
|---|
| 18 | 29 | Required nodes: |
|---|
| 19 | 30 | |
|---|
| .. | .. |
|---|
| 27 | 38 | |
|---|
| 28 | 39 | Example: |
|---|
| 29 | 40 | |
|---|
| 30 | | -&grf { |
|---|
| 31 | | - status = "okay"; |
|---|
| 41 | +lvds_panel: lvds-panel { |
|---|
| 42 | + compatible = "auo,b101ean01"; |
|---|
| 43 | + enable-gpios = <&gpio7 21 GPIO_ACTIVE_HIGH>; |
|---|
| 44 | + data-mapping = "jeida-24"; |
|---|
| 32 | 45 | |
|---|
| 33 | | - lvds: lvds { |
|---|
| 46 | + ports { |
|---|
| 47 | + panel_in_lvds: endpoint { |
|---|
| 48 | + remote-endpoint = <&lvds_out_panel>; |
|---|
| 49 | + }; |
|---|
| 50 | + }; |
|---|
| 51 | +}; |
|---|
| 52 | + |
|---|
| 53 | +For Rockchip RK3288: |
|---|
| 54 | + |
|---|
| 55 | + lvds: lvds@ff96c000 { |
|---|
| 34 | 56 | compatible = "rockchip,rk3288-lvds"; |
|---|
| 35 | | - phys = <&video_phy>; |
|---|
| 36 | | - phy-names = "phy"; |
|---|
| 37 | | - status = "disabled"; |
|---|
| 38 | | - |
|---|
| 57 | + rockchip,grf = <&grf>; |
|---|
| 58 | + reg = <0xff96c000 0x4000>; |
|---|
| 59 | + clocks = <&cru PCLK_LVDS_PHY>; |
|---|
| 60 | + clock-names = "pclk_lvds"; |
|---|
| 61 | + pinctrl-names = "lcdc"; |
|---|
| 62 | + pinctrl-0 = <&lcdc_ctl>; |
|---|
| 63 | + avdd1v0-supply = <&vdd10_lcd>; |
|---|
| 64 | + avdd1v8-supply = <&vcc18_lcd>; |
|---|
| 65 | + avdd3v3-supply = <&vcca_33>; |
|---|
| 66 | + rockchip,output = "rgb"; |
|---|
| 39 | 67 | ports { |
|---|
| 40 | 68 | #address-cells = <1>; |
|---|
| 41 | 69 | #size-cells = <0>; |
|---|
| 42 | 70 | |
|---|
| 43 | | - port@0 { |
|---|
| 71 | + lvds_in: port@0 { |
|---|
| 44 | 72 | reg = <0>; |
|---|
| 45 | | - #address-cells = <1>; |
|---|
| 46 | | - #size-cells = <0>; |
|---|
| 47 | 73 | |
|---|
| 48 | 74 | lvds_in_vopb: endpoint@0 { |
|---|
| 49 | 75 | reg = <0>; |
|---|
| 50 | 76 | remote-endpoint = <&vopb_out_lvds>; |
|---|
| 51 | 77 | }; |
|---|
| 52 | | - |
|---|
| 53 | 78 | lvds_in_vopl: endpoint@1 { |
|---|
| 54 | 79 | reg = <1>; |
|---|
| 55 | 80 | remote-endpoint = <&vopl_out_lvds>; |
|---|
| 56 | 81 | }; |
|---|
| 57 | 82 | }; |
|---|
| 83 | + |
|---|
| 84 | + lvds_out: port@1 { |
|---|
| 85 | + reg = <1>; |
|---|
| 86 | + |
|---|
| 87 | + lvds_out_panel: endpoint { |
|---|
| 88 | + remote-endpoint = <&panel_in_lvds>; |
|---|
| 89 | + }; |
|---|
| 90 | + }; |
|---|
| 58 | 91 | }; |
|---|
| 59 | 92 | }; |
|---|
| 60 | | -}; |
|---|