162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Google Trogdor dts fragment for the boards with TI sn65dsi86 edp bridge
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright 2021 Google LLC.
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci/*
1162306a36Sopenharmony_ci * ADDITIONS TO FIXED REGULATORS DEFINED IN PARENT DEVICE TREE FILES
1262306a36Sopenharmony_ci *
1362306a36Sopenharmony_ci * Sort order matches the order in the parent files (parents before children).
1462306a36Sopenharmony_ci */
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci&pp3300_dx_edp {
1762306a36Sopenharmony_ci	off-on-delay-us = <500000>;
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci	/*
2062306a36Sopenharmony_ci	 * It's nicer to start with this regulator enabled. The
2162306a36Sopenharmony_ci	 * bootloader may have left it on and it's nice not to cause an
2262306a36Sopenharmony_ci	 * extra power cycle of the touchscreen and eDP panel at bootup.
2362306a36Sopenharmony_ci	 * This should help speed bootup because we have off-on-delay-us.
2462306a36Sopenharmony_ci	 */
2562306a36Sopenharmony_ci	regulator-boot-on;
2662306a36Sopenharmony_ci};
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci/* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciedp_brij_i2c: &i2c2 {
3162306a36Sopenharmony_ci	status = "okay";
3262306a36Sopenharmony_ci	clock-frequency = <400000>;
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci	sn65dsi86_bridge: bridge@2d {
3562306a36Sopenharmony_ci		compatible = "ti,sn65dsi86";
3662306a36Sopenharmony_ci		reg = <0x2d>;
3762306a36Sopenharmony_ci		pinctrl-names = "default";
3862306a36Sopenharmony_ci		pinctrl-0 = <&edp_brij_en>, <&edp_brij_irq>;
3962306a36Sopenharmony_ci		gpio-controller;
4062306a36Sopenharmony_ci		#gpio-cells = <2>;
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci		interrupt-parent = <&tlmm>;
4362306a36Sopenharmony_ci		interrupts = <11 IRQ_TYPE_LEVEL_HIGH>;
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci		enable-gpios = <&tlmm 104 GPIO_ACTIVE_HIGH>;
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci		vpll-supply = <&pp1800_edp_vpll>;
4862306a36Sopenharmony_ci		vccio-supply = <&pp1800_brij_vccio>;
4962306a36Sopenharmony_ci		vcca-supply = <&pp1200_brij>;
5062306a36Sopenharmony_ci		vcc-supply = <&pp1200_brij>;
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci		clocks = <&rpmhcc RPMH_LN_BB_CLK3>;
5362306a36Sopenharmony_ci		clock-names = "refclk";
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci		no-hpd;
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci		ports {
5862306a36Sopenharmony_ci			#address-cells = <1>;
5962306a36Sopenharmony_ci			#size-cells = <0>;
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci			port@0 {
6262306a36Sopenharmony_ci				reg = <0>;
6362306a36Sopenharmony_ci				sn65dsi86_in: endpoint {
6462306a36Sopenharmony_ci					remote-endpoint = <&mdss_dsi0_out>;
6562306a36Sopenharmony_ci				};
6662306a36Sopenharmony_ci			};
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci			port@1 {
6962306a36Sopenharmony_ci				reg = <1>;
7062306a36Sopenharmony_ci				sn65dsi86_out: endpoint {
7162306a36Sopenharmony_ci					data-lanes = <0 1>;
7262306a36Sopenharmony_ci					remote-endpoint = <&panel_in_edp>;
7362306a36Sopenharmony_ci				};
7462306a36Sopenharmony_ci			};
7562306a36Sopenharmony_ci		};
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci		aux-bus {
7862306a36Sopenharmony_ci			panel: panel {
7962306a36Sopenharmony_ci				/* Compatible will be filled in per-board */
8062306a36Sopenharmony_ci				power-supply = <&pp3300_dx_edp>;
8162306a36Sopenharmony_ci				backlight = <&backlight>;
8262306a36Sopenharmony_ci				hpd-gpios = <&sn65dsi86_bridge 2 GPIO_ACTIVE_HIGH>;
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci				port {
8562306a36Sopenharmony_ci					panel_in_edp: endpoint {
8662306a36Sopenharmony_ci						remote-endpoint = <&sn65dsi86_out>;
8762306a36Sopenharmony_ci					};
8862306a36Sopenharmony_ci				};
8962306a36Sopenharmony_ci			};
9062306a36Sopenharmony_ci		};
9162306a36Sopenharmony_ci	};
9262306a36Sopenharmony_ci};
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci&mdss_dsi0_out {
9562306a36Sopenharmony_ci	remote-endpoint = <&sn65dsi86_in>;
9662306a36Sopenharmony_ci};
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ci&tlmm {
9962306a36Sopenharmony_ci	edp_brij_irq: edp-brij-irq-state {
10062306a36Sopenharmony_ci		pins = "gpio11";
10162306a36Sopenharmony_ci		function = "gpio";
10262306a36Sopenharmony_ci		drive-strength = <2>;
10362306a36Sopenharmony_ci		bias-pull-down;
10462306a36Sopenharmony_ci	};
10562306a36Sopenharmony_ci};
106