// SPDX-License-Identifier: (GPL-2.0-only OR MIT)
/*
 * Copyright 2017 Lothar Waßmann <LW@KARO-electronics.de>
 */

/ {
	aliases {
		display = &lvds0;
		lvds0 = &lvds0;
		lvds1 = &lvds1;
	};

	backlight0: backlight0 {
		compatible = "pwm-backlight";
		pwms = <&pwm2 0 500000 0>;
		power-supply = <&reg_lcd0_pwr>;
		brightness-levels = < 0  1  2  3  4  5  6  7  8  9
				     10 11 12 13 14 15 16 17 18 19
				     20 21 22 23 24 25 26 27 28 29
				     30 31 32 33 34 35 36 37 38 39
				     40 41 42 43 44 45 46 47 48 49
				     50 51 52 53 54 55 56 57 58 59
				     60 61 62 63 64 65 66 67 68 69
				     70 71 72 73 74 75 76 77 78 79
				     80 81 82 83 84 85 86 87 88 89
				     90 91 92 93 94 95 96 97 98 99
				    100>;
		default-brightness-level = <50>;
	};

	backlight1: backlight1 {
		compatible = "pwm-backlight";
		pwms = <&pwm1 0 500000 0>;
		power-supply = <&reg_lcd1_pwr>;
		brightness-levels = < 0  1  2  3  4  5  6  7  8  9
				     10 11 12 13 14 15 16 17 18 19
				     20 21 22 23 24 25 26 27 28 29
				     30 31 32 33 34 35 36 37 38 39
				     40 41 42 43 44 45 46 47 48 49
				     50 51 52 53 54 55 56 57 58 59
				     60 61 62 63 64 65 66 67 68 69
				     70 71 72 73 74 75 76 77 78 79
				     80 81 82 83 84 85 86 87 88 89
				     90 91 92 93 94 95 96 97 98 99
				    100>;
		default-brightness-level = <50>;
	};

	lvds0_panel: lvds0-panel {
		compatible = "nlt,nl12880bc20-spwg-24";
		backlight = <&backlight0>;
		power-supply = <&reg_3v3>;

		port {
			panel_in_lvds0: endpoint {
				remote-endpoint = <&lvds0_out>;
			};
		};
	};

	lvds1_panel: lvds1-panel {
		compatible = "nlt,nl12880bc20-spwg-24";
		backlight = <&backlight1>;
		power-supply = <&reg_3v3>;

		port {
			panel_in_lvds1: endpoint {
				remote-endpoint = <&lvds1_out>;
			};
		};
	};
};

&kpp {
	status = "disabled"; /* pad conflict with backlight1 PWM */
};

&ldb {
	status = "okay";

	lvds0: lvds-channel@0 {
		fsl,data-width = <18>;
		status = "okay";

		port@4 {
			reg = <4>;

			lvds0_out: endpoint {
				remote-endpoint = <&panel_in_lvds0>;
			};
		};

		display-timings {
			timing-hsd100pxn1 {
				clock-frequency = <65000000>;
				hactive = <1024>;
				vactive = <768>;
				hback-porch = <220>;
				hfront-porch = <40>;
				vback-porch = <21>;
				vfront-porch = <7>;
				hsync-len = <60>;
				vsync-len = <10>;
				de-active = <1>;
				pixelclk-active = <1>;
			};

			timing-vga {
				clock-frequency = <25200000>;
				hactive = <640>;
				vactive = <480>;
				hback-porch = <48>;
				hfront-porch = <16>;
				vback-porch = <31>;
				vfront-porch = <12>;
				hsync-len = <96>;
				vsync-len = <2>;
				hsync-active = <0>;
				vsync-active = <0>;
				de-active = <1>;
				pixelclk-active = <0>;
			};

			timing-nl12880bc20 {
				clock-frequency = <71000000>;
				hactive = <1280>;
				vactive = <800>;
				hback-porch = <50>;
				hfront-porch = <50>;
				vback-porch = <5>;
				vfront-porch = <5>;
				hsync-len = <60>;
				vsync-len = <13>;
				hsync-active = <0>;
				vsync-active = <0>;
				de-active = <1>;
				pixelclk-active = <1>;
			};

			timing-et0700 {
				clock-frequency = <33264000>;
				hactive = <800>;
				vactive = <480>;
				hback-porch = <88>;
				hsync-len = <128>;
				hfront-porch = <40>;
				vback-porch = <33>;
				vsync-len = <2>;
				vfront-porch = <10>;
				hsync-active = <0>;
				vsync-active = <0>;
				de-active = <1>;
				pixelclk-active = <0>;
			};

			timing-etv570 {
				clock-frequency = <25200000>;
				hactive = <640>;
				vactive = <480>;
				hback-porch = <114>;
				hsync-len = <30>;
				hfront-porch = <16>;
				vback-porch = <32>;
				vsync-len = <3>;
				vfront-porch = <10>;
				hsync-active = <0>;
				vsync-active = <0>;
				de-active = <1>;
				pixelclk-active = <0>;
			};
		};
	};

	lvds1: lvds-channel@1 {
		fsl,data-width = <18>;
		status = "okay";

		port@4 {
			reg = <4>;

			lvds1_out: endpoint {
				remote-endpoint = <&panel_in_lvds1>;
			};
		};

		display-timings {
			timing-hsd100pxn1 {
				clock-frequency = <65000000>;
				hactive = <1024>;
				vactive = <768>;
				hback-porch = <220>;
				hfront-porch = <40>;
				vback-porch = <21>;
				vfront-porch = <7>;
				hsync-len = <60>;
				vsync-len = <10>;
				de-active = <1>;
				pixelclk-active = <1>;
			};

			timing-vga {
				clock-frequency = <25200000>;
				hactive = <640>;
				vactive = <480>;
				hback-porch = <48>;
				hfront-porch = <16>;
				vback-porch = <31>;
				vfront-porch = <12>;
				hsync-len = <96>;
				vsync-len = <2>;
				hsync-active = <0>;
				vsync-active = <0>;
				de-active = <1>;
				pixelclk-active = <0>;
			};

			timing-nl12880bc20 {
				clock-frequency = <71000000>;
				hactive = <1280>;
				vactive = <800>;
				hback-porch = <50>;
				hfront-porch = <50>;
				vback-porch = <5>;
				vfront-porch = <5>;
				hsync-len = <60>;
				vsync-len = <13>;
				hsync-active = <0>;
				vsync-active = <0>;
				de-active = <1>;
				pixelclk-active = <1>;
			};
		};
	};
};

&pwm1 {
	status = "okay";
};

&reg_lcd0_pwr {
	status = "okay";
};

&reg_lcd1_pwr {
	status = "okay";
};
