mirror of
				https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux
				synced 2025-10-28 01:15:45 +10:00 
			
		
		
		
	MSM DSI host driver actually parses "data-lanes" in DT and compare it with the number of DSI lanes the bridge driver sets for mipi_dsi_device. So we need to always specify "data-lanes" for the DSI host output. As of now, "data-lanes" is added to ti-sn65dsi86 dts fragment, but missing in parade-ps8640 dts fragment, which requires a fixup. Since we'll do 4-lane DSI regardless of which bridge chip is used, instead of adding "data-lanes" to parade-ps8640 dts fragment, let's just move "data-lanes" from the bridge dts to sc7180-trogdor.dtsi. Signed-off-by: Philip Chen <philipchen@chromium.org> Reviewed-by: Stephen Boyd <swboyd@chromium.org> Reviewed-by: Douglas Anderson <dianders@chromium.org> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Link: https://lore.kernel.org/r/20211029152647.v3.2.If23c83a786fc4d318a1986f43803f22b4b1d82cd@changeid
		
			
				
	
	
		
			92 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
 | |
| /*
 | |
|  * Google Trogdor dts fragment for the boards with TI sn65dsi86 edp bridge
 | |
|  *
 | |
|  * Copyright 2021 Google LLC.
 | |
|  */
 | |
| 
 | |
| #include <dt-bindings/gpio/gpio.h>
 | |
| 
 | |
| &dsi0_out {
 | |
| 	remote-endpoint = <&sn65dsi86_in>;
 | |
| };
 | |
| 
 | |
| edp_brij_i2c: &i2c2 {
 | |
| 	status = "okay";
 | |
| 	clock-frequency = <400000>;
 | |
| 
 | |
| 	sn65dsi86_bridge: bridge@2d {
 | |
| 		compatible = "ti,sn65dsi86";
 | |
| 		reg = <0x2d>;
 | |
| 		pinctrl-names = "default";
 | |
| 		pinctrl-0 = <&edp_brij_en>, <&edp_brij_irq>;
 | |
| 		gpio-controller;
 | |
| 		#gpio-cells = <2>;
 | |
| 
 | |
| 		interrupt-parent = <&tlmm>;
 | |
| 		interrupts = <11 IRQ_TYPE_LEVEL_HIGH>;
 | |
| 
 | |
| 		enable-gpios = <&tlmm 104 GPIO_ACTIVE_HIGH>;
 | |
| 
 | |
| 		vpll-supply = <&pp1800_edp_vpll>;
 | |
| 		vccio-supply = <&pp1800_brij_vccio>;
 | |
| 		vcca-supply = <&pp1200_brij>;
 | |
| 		vcc-supply = <&pp1200_brij>;
 | |
| 
 | |
| 		clocks = <&rpmhcc RPMH_LN_BB_CLK3>;
 | |
| 		clock-names = "refclk";
 | |
| 
 | |
| 		no-hpd;
 | |
| 
 | |
| 		ports {
 | |
| 			#address-cells = <1>;
 | |
| 			#size-cells = <0>;
 | |
| 
 | |
| 			port@0 {
 | |
| 				reg = <0>;
 | |
| 				sn65dsi86_in: endpoint {
 | |
| 					remote-endpoint = <&dsi0_out>;
 | |
| 				};
 | |
| 			};
 | |
| 
 | |
| 			port@1 {
 | |
| 				reg = <1>;
 | |
| 				sn65dsi86_out: endpoint {
 | |
| 					data-lanes = <0 1>;
 | |
| 					remote-endpoint = <&panel_in_edp>;
 | |
| 				};
 | |
| 			};
 | |
| 		};
 | |
| 
 | |
| 		aux-bus {
 | |
| 			panel: panel {
 | |
| 				/* Compatible will be filled in per-board */
 | |
| 				power-supply = <&pp3300_dx_edp>;
 | |
| 				backlight = <&backlight>;
 | |
| 				hpd-gpios = <&sn65dsi86_bridge 2 GPIO_ACTIVE_HIGH>;
 | |
| 
 | |
| 				port {
 | |
| 					panel_in_edp: endpoint {
 | |
| 						remote-endpoint = <&sn65dsi86_out>;
 | |
| 					};
 | |
| 				};
 | |
| 			};
 | |
| 		};
 | |
| 	};
 | |
| };
 | |
| 
 | |
| &tlmm {
 | |
| 	edp_brij_irq: edp-brij-irq {
 | |
| 		pinmux {
 | |
| 			pins = "gpio11";
 | |
| 			function = "gpio";
 | |
| 		};
 | |
| 
 | |
| 		pinconf {
 | |
| 			pins = "gpio11";
 | |
| 			drive-strength = <2>;
 | |
| 			bias-pull-down;
 | |
| 		};
 | |
| 	};
 | |
| };
 |