• Philipp Zabel's avatar
    drm/imx: imx-ldb: add drm_panel support · 751e2676
    Philipp Zabel authored
    This patch allows to optionally attach the lvds-channel to a panel
    supported by a drm_panel driver using of-graph bindings, instead of
    supplying the modes via display-timings in the device tree.
    
    This depends on of_graph_get_port_by_id and uses the OF graph to
    link the optional DRM panel to the LDB lvds-channel. The output
    port number is 1 on devices without the 4-port input multiplexer
    (i.MX5) and 4 on devices with the mux (i.MX6).
    
    Before:
    
    	ldb {
    		...
    
    		lvds-channel@0 {
    			...
    
    			display-timings {
    				native-timing = <&timing1>;
    				timing1: etm0700g0dh6 {
    					hactive = <800>;
    					vactive = <480>;
    					clock-frequency = <33260000>;
    					hsync-len = <128>;
    					hback-porch = <88>;
    					hfront-porch = <40>;
    					vsync-len = <2>;
    					vback-porch = <33>;
    					vfront-porch = <10>;
    					hsync-active = <0>;
    					vsync-active = <0>;
    					...
    				};
    			};
    			...
    		};
    	};
    
    After:
    	ldb {
    		...
    
    		lvds-channel@0 {
    			...
    
    			port@4 {
    				reg = <4>;
    
    				lvds_out: endpoint {
    					remote_endpoint = <&panel_in>;
    				};
    			};
    		};
    	};
    
    	panel {
    		compatible = "edt,etm0700g0dh6", "simple-panel";
    		...
    
    		port {
    			panel_in: endpoint {
    				remote-endpoint = <&lvds_out>;
    			};
    		};
    	};
    
    [Fixed build error due to missing select on DRM_PANEL --rmk]
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    Signed-off-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
    751e2676
Kconfig 1.45 KB