[PATCH 2/4] dt-bindings: Document the Raspberry Pi Touchscreen nodes.

Eric Anholt
2017-05-11T23:57:05Z

The Raspberry Pi 7" Touchscreen is a DPI touchscreen panel with
DSI->DPI bridge and touchscreen controller integrated, that connects
to the Raspberry Pi through its 15-pin "DSI" connector (some lines are
DSI, some lines are I2C).

This device is represented in the DT as three nodes (DSI device, I2C
device, panel). Input will be left to a separate binding later, as it
will be a basic I2C client device.

Signed-off-by: Eric Anholt <eric@anholt.net>
---
.../raspberrypi,7inch-touchscreen-bridge.txt | 68 ++++++++++++++++++++++
.../panel/raspberrypi,7inch-touchscreen-panel.txt | 7 +++
2 files changed, 75 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/bridge/raspberrypi,7inch-touchscreen-bridge.txt
create mode 100644 Documentation/devicetree/bindings/display/panel/raspberrypi,7inch-touchscreen-panel.txt

diff --git a/Documentation/devicetree/bindings/display/bridge/raspberrypi,7inch-touchscreen-bridge.txt b/Documentation/devicetree/bindings/display/bridge/raspberrypi,7inch-touchscreen-bridge.txt
new file mode 100644
index 000000000000..a5669beaf68f
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/bridge/raspberrypi,7inch-touchscreen-bridge.txt
@@ -0,0 +1,68 @@
+Official 7" (800x480) Raspberry Pi touchscreen panel's bridge.
+
+This DSI panel contains:
+
+- TC358762 DSI->DPI bridge
+- Atmel microcontroller on I2C for power sequencing the DSI bridge and
+ controlling backlight
+- Touchscreen controller on I2C for touch input
+
+and this covers the TC358762 bridge and Atmel microcontroller, while
+../panel/raspberrypi,7inch-touchscreen-panel.txt covers the panel.
+
+Required properties:
+- compatible: Must be "raspberrypi,7inch-touchscreen-bridge"
+- raspberrypi,touchscreen-bridge:
+ Handle to the I2C device for Atmel microcontroller
+
+Example:
+
+dsi1: dsi@7e700000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ <...>
+
+ lcd-bridge@0 {
+ compatible = "raspberrypi,7inch-touchscreen-bridge";
+ reg = <0>;
+
+ raspberrypi,touchscreen-bridge = <&pitouchscreen_bridge>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
+ reg = <0>;
+ pitouchscreen_bridge_port: endpoint {
+ remote-endpoint = <&pitouchscreen_panel_port>;
+ };
+ };
+ };
+ };
+};
+
+i2c_dsi: i2c {
+ compatible = "i2c-gpio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ gpios = <&gpio 28 0
+ &gpio 29 0>;
+
+ pitouchscreen_bridge: bridge@45 {
+ compatible = "raspberrypi,touchscreen-bridge-i2c";
+ reg = <0x45>;
+ };
+};
+
+lcd {
+ compatible = "raspberrypi,7inch-touchscreen-panel";
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
+ reg = <0>;
+ pitouchscreen_panel_port: endpoint {
+ remote-endpoint = <&pitouchscreen_bridge_port>;
+ };
+ };
+ };
+};
diff --git a/Documentation/devicetree/bindings/display/panel/raspberrypi,7inch-touchscreen-panel.txt b/Documentation/devicetree/bindings/display/panel/raspberrypi,7inch-touchscreen-panel.txt
new file mode 100644
index 000000000000..1e84f97b3b20
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/panel/raspberrypi,7inch-touchscreen-panel.txt
@@ -0,0 +1,7 @@
+Official 7" (800x480) Raspberry Pi touchscreen panel's panel.
+
+This binding is compatible with the simple-panel binding, which is specified
+in simple-panel.txt in this directory.
+
+Required properties:
+- compatible: Must be "raspberrypi,7inch-touchscreen-panel"
--
2.11.0