xref: /openbmc/linux/scripts/dtc/include-prefixes/arm64/qcom/sc7180-trogdor-parade-ps8640.dtsi (revision 2612e3bbc0386368a850140a6c9b990cd496a5ec)
10faf297cSPhilip Chen// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
20faf297cSPhilip Chen/*
30faf297cSPhilip Chen * Google Trogdor dts fragment for the boards with Parade ps8640 edp bridge
40faf297cSPhilip Chen *
50faf297cSPhilip Chen * Copyright 2021 Google LLC.
60faf297cSPhilip Chen */
70faf297cSPhilip Chen
8963070f7SPhilip Chen#include <dt-bindings/gpio/gpio.h>
9963070f7SPhilip Chen
100faf297cSPhilip Chen/ {
11b62dfbf8SKrzysztof Kozlowski	pp3300_brij_ps8640: pp3300-brij-ps8640-regulator {
120faf297cSPhilip Chen		compatible = "regulator-fixed";
130faf297cSPhilip Chen		status = "okay";
140faf297cSPhilip Chen		regulator-name = "pp3300_brij_ps8640";
150faf297cSPhilip Chen
160faf297cSPhilip Chen		regulator-min-microvolt = <3300000>;
170faf297cSPhilip Chen		regulator-max-microvolt = <3300000>;
180faf297cSPhilip Chen
190faf297cSPhilip Chen		gpio = <&tlmm 32 GPIO_ACTIVE_HIGH>;
200faf297cSPhilip Chen		enable-active-high;
210faf297cSPhilip Chen
220faf297cSPhilip Chen		pinctrl-names = "default";
230faf297cSPhilip Chen		pinctrl-0 = <&en_pp3300_edp_brij_ps8640>;
240faf297cSPhilip Chen
250faf297cSPhilip Chen		vin-supply = <&pp3300_a>;
260faf297cSPhilip Chen	};
270faf297cSPhilip Chen};
280faf297cSPhilip Chen
29f5b4811eSDouglas Anderson/*
30f5b4811eSDouglas Anderson * ADDITIONS TO FIXED REGULATORS DEFINED IN PARENT DEVICE TREE FILES
31f5b4811eSDouglas Anderson *
32f5b4811eSDouglas Anderson * Sort order matches the order in the parent files (parents before children).
33f5b4811eSDouglas Anderson */
34f5b4811eSDouglas Anderson
35f5b4811eSDouglas Anderson&pp3300_dx_edp {
36f5b4811eSDouglas Anderson	off-on-delay-us = <500000>;
3723ff8669SDouglas Anderson
3823ff8669SDouglas Anderson	/*
3923ff8669SDouglas Anderson	 * It's nicer to start with this regulator enabled. The
4023ff8669SDouglas Anderson	 * bootloader may have left it on and it's nice not to cause an
4123ff8669SDouglas Anderson	 * extra power cycle of the touchscreen and eDP panel at bootup.
4223ff8669SDouglas Anderson	 * This should help speed bootup because we have off-on-delay-us.
4323ff8669SDouglas Anderson	 */
4423ff8669SDouglas Anderson	regulator-boot-on;
45f5b4811eSDouglas Anderson};
46f5b4811eSDouglas Anderson
47f5b4811eSDouglas Anderson/* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */
48f5b4811eSDouglas Anderson
490faf297cSPhilip Chenedp_brij_i2c: &i2c2 {
500faf297cSPhilip Chen	status = "okay";
510faf297cSPhilip Chen	clock-frequency = <400000>;
520faf297cSPhilip Chen
530faf297cSPhilip Chen	ps8640_bridge: bridge@8 {
540faf297cSPhilip Chen		compatible = "parade,ps8640";
550faf297cSPhilip Chen		reg = <0x8>;
560faf297cSPhilip Chen
570faf297cSPhilip Chen		powerdown-gpios = <&tlmm 104 GPIO_ACTIVE_LOW>;
580faf297cSPhilip Chen		reset-gpios = <&tlmm 11 GPIO_ACTIVE_LOW>;
590faf297cSPhilip Chen
600faf297cSPhilip Chen		pinctrl-names = "default";
610faf297cSPhilip Chen		pinctrl-0 = <&edp_brij_en>, <&edp_brij_ps8640_rst>;
620faf297cSPhilip Chen
630faf297cSPhilip Chen		vdd12-supply = <&pp1200_brij>;
640faf297cSPhilip Chen		vdd33-supply = <&pp3300_brij_ps8640>;
650faf297cSPhilip Chen
660faf297cSPhilip Chen		ports {
670faf297cSPhilip Chen			#address-cells = <1>;
680faf297cSPhilip Chen			#size-cells = <0>;
690faf297cSPhilip Chen
700faf297cSPhilip Chen			port@0 {
710faf297cSPhilip Chen				reg = <0>;
720faf297cSPhilip Chen				ps8640_in: endpoint {
73*2b616f86SDmitry Baryshkov					remote-endpoint = <&mdss_dsi0_out>;
740faf297cSPhilip Chen				};
750faf297cSPhilip Chen			};
760faf297cSPhilip Chen
770faf297cSPhilip Chen			port@1 {
780faf297cSPhilip Chen				reg = <1>;
790faf297cSPhilip Chen				ps8640_out: endpoint {
800faf297cSPhilip Chen					remote-endpoint = <&panel_in_edp>;
810faf297cSPhilip Chen				};
820faf297cSPhilip Chen			};
830faf297cSPhilip Chen		};
840faf297cSPhilip Chen
850faf297cSPhilip Chen		aux-bus {
860faf297cSPhilip Chen			panel: panel {
870faf297cSPhilip Chen				/* Compatible will be filled in per-board */
880faf297cSPhilip Chen				power-supply = <&pp3300_dx_edp>;
890faf297cSPhilip Chen				backlight = <&backlight>;
900faf297cSPhilip Chen
910faf297cSPhilip Chen				port {
920faf297cSPhilip Chen					panel_in_edp: endpoint {
930faf297cSPhilip Chen						remote-endpoint = <&ps8640_out>;
940faf297cSPhilip Chen					};
950faf297cSPhilip Chen				};
960faf297cSPhilip Chen			};
970faf297cSPhilip Chen		};
980faf297cSPhilip Chen	};
990faf297cSPhilip Chen};
1000faf297cSPhilip Chen
101*2b616f86SDmitry Baryshkov&mdss_dsi0_out {
102*2b616f86SDmitry Baryshkov	remote-endpoint = <&ps8640_in>;
103*2b616f86SDmitry Baryshkov};
104*2b616f86SDmitry Baryshkov
1050faf297cSPhilip Chen&tlmm {
1062f0300a6SKrzysztof Kozlowski	edp_brij_ps8640_rst: edp-brij-ps8640-rst-state {
1070faf297cSPhilip Chen		pins = "gpio11";
1080faf297cSPhilip Chen		function = "gpio";
1090faf297cSPhilip Chen		drive-strength = <2>;
1100faf297cSPhilip Chen		bias-disable;
1110faf297cSPhilip Chen	};
1120faf297cSPhilip Chen
1132f0300a6SKrzysztof Kozlowski	en_pp3300_edp_brij_ps8640: en-pp3300-edp-brij-ps8640-state {
1140faf297cSPhilip Chen		pins = "gpio32";
1150faf297cSPhilip Chen		function = "gpio";
1160faf297cSPhilip Chen		drive-strength = <2>;
1170faf297cSPhilip Chen		bias-disable;
1180faf297cSPhilip Chen	};
1190faf297cSPhilip Chen};
120