...
...
Expand | ||
---|---|---|
| ||
&pinctrl { du_pins: du { data { pinmux = <RZG2L_PORT_PINMUX(7, 2, 1)>, <RZG2L_PORT_PINMUX(8, 0, 1)>, <RZG2L_PORT_PINMUX(8, 1, 1)>, <RZG2L_PORT_PINMUX(8, 2, 1)>, <RZG2L_PORT_PINMUX(9, 0, 1)>, <RZG2L_PORT_PINMUX(9, 1, 1)>, <RZG2L_PORT_PINMUX(10, 0, 1)>, <RZG2L_PORT_PINMUX(10, 1, 1)>, <RZG2L_PORT_PINMUX(11, 0, 1)>, <RZG2L_PORT_PINMUX(11, 1, 1)>, <RZG2L_PORT_PINMUX(12, 0, 1)>, <RZG2L_PORT_PINMUX(12, 1, 1)>, <RZG2L_PORT_PINMUX(13, 0, 1)>, <RZG2L_PORT_PINMUX(13, 1, 1)>, <RZG2L_PORT_PINMUX(13, 2, 1)>, <RZG2L_PORT_PINMUX(14, 0, 1)>, <RZG2L_PORT_PINMUX(14, 1, 1)>, <RZG2L_PORT_PINMUX(15, 0, 1)>, <RZG2L_PORT_PINMUX(15, 1, 1)>, <RZG2L_PORT_PINMUX(16, 0, 1)>, <RZG2L_PORT_PINMUX(16, 1, 1)>, <RZG2L_PORT_PINMUX(17, 0, 1)>, <RZG2L_PORT_PINMUX(17, 1, 1)>, <RZG2L_PORT_PINMUX(17, 2, 1)>; }; sync { pinmux = <RZG2L_PORT_PINMUX(6, 1, 1)>, /* HSYNC */ <RZG2L_PORT_PINMUX(7, 0, 1)>; /* VSYNC */ }; de { pinmux = <RZG2L_PORT_PINMUX(7, 1, 1)>; /* DE */ }; clk { pinmux = <RZG2L_PORT_PINMUX(6, 0, 1)>; /* CLK */ }; }; };
panel_rgb: panel-rgb { compatible = "arm,rtsm-display"; //<-- this property "arm,rtsm-display" is an example. // please fill in the correct information based on your panel spec. port { panel_in_rgb: endpoint { remote-endpoint = <&du_out_rgb>; }; }; };
&du { pinctrl-0 = <&du_pins>; pinctrl-names = "default"; status = "okay"; ports { port@0 { du_out_rgb: endpoint { remote-endpoint = <&panel_in_rgb>; }; }; }; };
&dsi0 {
status = "disabled";
}; |
Expand | ||
---|---|---|
| ||
If you do not want to edit the panel-simple.c file, you can use compatible = "panel-dpi" and then enter your LCD timings in the Device Tree. Here is an example of attaching a parallel RGB LCD to a RZ/G2L and using "panel-dpi" and only using the Device Tree. The driver panel-simple.c does not have to be modified. Remember, the kernel configuration CONFIG_DRM_PANEL_SIMPLE=y must be set. / { |
Expand | ||
---|---|---|
| ||
&pinctrl { du_pins: du { data { pinmux = <RZG2L_PORT_PINMUX(7, 2, 1)>, <RZG2L_PORT_PINMUX(8, 0, 1)>, <RZG2L_PORT_PINMUX(8, 1, 1)>, <RZG2L_PORT_PINMUX(8, 2, 1)>, <RZG2L_PORT_PINMUX(9, 0, 1)>, <RZG2L_PORT_PINMUX(9, 1, 1)>, <RZG2L_PORT_PINMUX(10, 0, 1)>, <RZG2L_PORT_PINMUX(10, 1, 1)>, <RZG2L_PORT_PINMUX(11, 0, 1)>, <RZG2L_PORT_PINMUX(11, 1, 1)>, <RZG2L_PORT_PINMUX(12, 0, 1)>, <RZG2L_PORT_PINMUX(12, 1, 1)>, <RZG2L_PORT_PINMUX(13, 0, 1)>, <RZG2L_PORT_PINMUX(13, 1, 1)>, <RZG2L_PORT_PINMUX(13, 2, 1)>, <RZG2L_PORT_PINMUX(14, 0, 1)>, <RZG2L_PORT_PINMUX(14, 1, 1)>, <RZG2L_PORT_PINMUX(15, 0, 1)>, <RZG2L_PORT_PINMUX(15, 1, 1)>, <RZG2L_PORT_PINMUX(16, 0, 1)>, <RZG2L_PORT_PINMUX(16, 1, 1)>, <RZG2L_PORT_PINMUX(17, 0, 1)>, <RZG2L_PORT_PINMUX(17, 1, 1)>, <RZG2L_PORT_PINMUX(17, 2, 1)>; }; sync { pinmux = <RZG2L_PORT_PINMUX(6, 1, 1)>, /* HSYNC */ <RZG2L_PORT_PINMUX(7, 0, 1)>; /* VSYNC */ }; de { pinmux = <RZG2L_PORT_PINMUX(7, 1, 1)>; /* DE */ }; clk { pinmux = <RZG2L_PORT_PINMUX(6, 0, 1)>; /* CLK */ }; }; };
rgb-dummy { compatible = "renesas,rgb-dummy"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; rgb_in: endpoint { remote-endpoint = <&du_out_rgb>; }; }; port@1 { reg = <1>; rgb_out: endpoint { remote-endpoint = <&panel_in>; }; }; }; };
panel { /* * Define code for panel here such as compatible, backlight, power,... * Can refer drivers/gpu/drm/panel/panel-simple.c */ port { panel_in: endpoint { remote-endpoint = <&rgb_out>; }; }; };
&dsi0 { status = "disabled"; };
&du { pinctrl-0 = <&du_pins>; pinctrl-names = "default"; ports { port@0 { du_out_rgb: endpoint { remote-endpoint = <&rgb_in>; }; }; }; }; |
...