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";
};
};
|