summaryrefslogtreecommitdiff
path: root/meta-lmp-bsp/recipes-bsp/device-tree/lmp-device-tree/overlays_rpi-7inch.dts
blob: eadd4cbf94f591e492d3c42636d65b6bb0576bc4 (plain)
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
#include <dt-bindings/clock/bcm2835.h>
#include <dt-bindings/power/raspberrypi-power.h>

/* Device Tree overlay for RaspberryPi 7" Touchscreen panel */
/dts-v1/;
/plugin/;

/ {
	compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709";

	fragment@0 {
		target = <&soc>;
		__overlay__ {
			dsi@7e700000 {
				compatible = "brcm,bcm2835-dsi1";
				reg = <0x7e700000 0x8c>;
				interrupts = <2 12>;
				#address-cells = <1>;
				#size-cells = <0>;

				#clock-cells = <1>;
				clocks = <&clocks BCM2835_PLLD_DSI1>,
					 <&clocks BCM2835_CLOCK_DSI1E>,
					 <&clocks BCM2835_CLOCK_DSI1P>;
				clock-output-names = "dsi1_byte", "dsi1_ddr2", "dsi1_ddr";
				clock-names = "phy", "escape", "pixel";

				status = "okay";
				port {
					dsi_out_port: endpoint {
						remote-endpoint = <&panel_dsi_port>;
					};
				};
			};
		};
	};

	fragment@1 {
		target = <&soc>;
		__overlay__ {
			i2cdsi {
				/* We have to use i2c-gpio because the firmware is also polling another device
				 * using the only hardware I2C bus that could connect to these pins.
				 */
				compatible = "i2c-gpio";
				#address-cells = <1>;
				#size-cells = <0>;
				status = "okay";
				gpios = <&gpio 44 0
					 &gpio 45 0>;
				lcdpi: lcd@45 {
					compatible = "raspberrypi,7inch-touchscreen-panel";
					reg = <0x45>;
					port {
						panel_dsi_port: endpoint {
							remote-endpoint = <&dsi_out_port>;
						};
					};
				};
			};
		};
	};

	fragment@2 {
		target-path = "/";
		__overlay__ {
			rpi_backlight: rpi_backlight {
				compatible = "raspberrypi,rpi-backlight";
				firmware = <&firmware>;
				status = "okay";
			};
		};
	};

	fragment@3 {
		target-path = "/";
		__overlay__ {
			rpi_ft5406: rpi_ft5406 {
				compatible = "rpi,rpi-ft5406";
				firmware = <&firmware>;
				status = "okay";
				touchscreen-size-x = <800>;
				touchscreen-size-y = <480>;
				touchscreen-inverted-x = <0>;
				touchscreen-inverted-y = <0>;
				touchscreen-swapped-x-y = <0>;
			};
		};
	};

	__overrides__ {
		touchscreen-size-x = <&rpi_ft5406>,"touchscreen-size-x:0";
		touchscreen-size-y = <&rpi_ft5406>,"touchscreen-size-y:0";
		touchscreen-inverted-x = <&rpi_ft5406>,"touchscreen-inverted-x:0";
		touchscreen-inverted-y = <&rpi_ft5406>,"touchscreen-inverted-y:0";
		touchscreen-swapped-x-y = <&rpi_ft5406>,"touchscreen-swapped-x-y:0";
	};
};