aboutsummaryrefslogtreecommitdiffstats
blob: 010012e40065bc991f54b84f02c83280ee2b85d7 (plain) (blame)
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
101
102
103
104
105
106
107
108
109
110
111
112
/*
 * Copyright (C) 2016 Texas Instruments Incorporated - http://www.ti.com/
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * Display panel details:
 * The base display is Apollo UP-02-096.
 * http://store.apollodisplays.com/store/Resources/en/ItemDocuments/UP_02_096/UP-02-096_Datasheet.pdf
 */

/ {
	aliases {
		display0 = &lcd;
		display1 = &hdmi0;
	};

	backlight {
		compatible = "led-backlight";
		leds = <&backlight_led>;
		brightness-levels = <0 2 38 74 110 146 182 218 255>;
		default-brightness-level = <8>;

		enable-gpios = <&pcf_display_board 0 GPIO_ACTIVE_LOW>;
	};

	lcd: display {
		compatible = "auo,g101evn01.0", "panel-dpi";

		enable-gpios = <&pcf_lcd 13 GPIO_ACTIVE_LOW>; /* P15, CON_LCD_PWR_DN */

		label = "lcd";

		panel-timing {
			clock-frequency = <68930000>;
			hactive = <1280>;
			vactive = <800>;

			hfront-porch = <48>;
			hsync-len = <32>;
			hback-porch = <48>;

			vfront-porch = <4>;
			vsync-len = <4>;
			vback-porch = <8>;

			hsync-active = <0>;
			vsync-active = <0>;
			de-active = <1>;
			pixelclk-active = <1>;
		};

		port {
			lcd_in: endpoint {
				remote-endpoint = <&dpi_out>;
			};
		};
	};
};

&i2c1 {
	pcf_display_board: gpio@27 {
		compatible = "nxp,pcf8575";
		reg = <0x27>;
		gpio-controller;
		#gpio-cells = <2>;
	};

	touchscreen: goodix-gt9271@14 {
		status = "okay";
		compatible = "goodix,gt9271";
		reg = <0x14>;

		interrupt-parent = <&gpio1>;
		interrupts = <15 IRQ_TYPE_LEVEL_HIGH>;
		touchscreen-size-x = <1280>;
		touchscreen-size-y = <800>;
		touchscreen-inverted-y;

		/* Reset gpio line is inverted before going to touch panel */
		reset-gpios = <&pcf_display_board 5 GPIO_ACTIVE_LOW>;
		irq-gpios = <&pcf_display_board 6 GPIO_ACTIVE_HIGH>;
	};

	/* TLC chip for LCD panel power and backlight */
	tlc59108@40 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "ti,tlc59108";
		reg = <0x40>;

		backlight_led: bl@2 {
			label = "backlight";
			reg = <0x2>;
		};
	};
};

&dss {
	ports {
		#address-cells = <1>;
		#size-cells = <0>;

		dss_port: port {
			dpi_out: endpoint {
				remote-endpoint = <&lcd_in>;
				data-lines = <24>;
			};
		};
	};
};